More actions
m (Text replacement - "Category:Music homebrews on GBA" to "") |
m (Text replacement - "Category:GBA homebrew applications" to "") |
||
Line 110: | Line 110: | ||
* Reddit - https://www.reddit.com/r/synthesizers/comments/12co28b/stepper_a_new_16step_sequencer_for_the_gba/ | * Reddit - https://www.reddit.com/r/synthesizers/comments/12co28b/stepper_a_new_16step_sequencer_for_the_gba/ | ||
[[Category:Support the author]] | [[Category:Support the author]] |
Latest revision as of 09:34, 10 Mayıs 2024
STEPPER | |
---|---|
General | |
Author | Bad Diode |
Type | Music Apps |
Version | 1.8 |
License | MIT License |
Last Updated | 2024/02/10 |
Links | |
Download on itch.io | |
Website | |
Source | |
STEPPER is an open source 16-step sequencer for the Game Boy Advance (GBA).
It features an intuitive workflow inspired by Elektron instruments with per-trigger parametrization that allows access to the 4 DMG sound channels in the console (2 square waves channels, 1 custom wave channel and 1 noise channel). Supports 4 banks of 8 patterns that can be queued for live performance.
User guide
Save/Load
STEPPER allows for up to 4 banks, each containing 8 patterns.
The current bank is saved automatically when switching or selecting it in the bank section. The banks are stored in the SRAM, and the last saved state is loaded when launching STEPPER.
Use "Select + Start" to quick save the current bank.
Patterns
Patterns can be modified by using the cursor to navigate the left column. Pressing the B button adds a pattern to the queue for the next cycle, which is highlighted in blue. Currently, only one pattern can be chained.
You can edit different patterns, including the one not currently playing. The pattern being edited is indicated by a grey/blue cursor, while the playing pattern is highlighted in white.
Each pattern stores data about active channels, trigger notes, and parameters. Additionally, BPM can be independently stored for each pattern.
Note selection
You can change the notes pressing "L" or "R" over an active trigger. If the cursor is in channel selection mode, "L" and "R" will transpose all trigger notes instead.
By holding down the "Select" button while adjusting notes, they will jump by an octave instead of a semitone.
Parameters
In STEPPER, each channel has specific controls and functions:
Channel 1 and 2 - These channels allow control over the square wave duty cycle and envelope (Initial volume, direction and time). Channel 1 also has access to "sweep" parameters, which can create interesting effects when the time is not set to zero.
Channel 3 - Known as the wave channel, it provides access to two programmable waves that can be manually edited or selected from four available presets (sine, saw, square, random). The waves can be played independently (Mode A or B) or sequentially (Mode A + B). Unlike other channels, there is no volume envelope, so a note will continue playing until encountering an active trigger with zero volume or a different pitch.
Channel 4 - This is the noise channel primarily used for percussive effects. It utilizes an envelope to shape the sound and offers two modes of operation: Mode A, which produces rounder tones, and Mode B, which has a more metallic sound.
Adjusting parameters is done by holding the "A" button while hovering over a trigger. Parameters are stored individually for each trigger and can be adjusted per trigger. In channel selection mode, adjusting channel parameters will apply the changes to all 16 triggers. However, note that this global adjustment is not saved when saving banks and patterns. The grey color distinction helps differentiate between trigger-specific and channel parameters. It is also possible to paste a compatible trigger or parameter into a channel to apply it to all triggers.
Copy/Paste
STEPPER incorporates a contextual clipboard to enhance the editing workflow. The "Select + B" combination can be used to copy, and "Select + A" to paste, enabling clipboard operations.
When selecting a pattern, copying will include all active channels, triggers, and parameters. However, patterns can only be pasted into other patterns.
Channels can be copied and pasted across patterns or other channels. If the destination channel differs from the original one, only the notes and active triggers will be copied. However, if the channels are of the same type, all parameters will also be carried over.
Copying a trigger involves transferring its pitch (note), active state (on/off), and parameter settings (provided the target is compatible). To copy only the parameters, hold "A" to enter parameter select mode and press "Select" to copy them. These copied parameters can then be pasted onto any compatible trigger.
Using other gear and synchronization
There are several analog sync modes available, depending on your needs and gear available. STEPPER can use audio and link cable clock out and link cable clock in for syncronizing with external gear. Link cable sync modes use 3.3V to send and receive clock events. This voltage can be used as a sync signal (for Pocket Operators or CV gates or to control modulation in CV enabled instruments). Note that this 3.3V signal may need amplification in order to work with certain modules or devices. You can find an example of a potential voltage upshifter circuit here if you want to build one yourself.
Furthermore, when on "Sync In" mode, any 3.3V signal on any of the link ports will move the STEPPER sequencer forward while the sequencer is set to "Play". If paused or stopped, all sound will be killed. _A word of caution:_ be careful when using "Sync in", as you probably don’t want to burn your precious GBA down, so make sure the sync signal doesn’t exceed 3.3-5V. If your are building your own sync adapter using a voltage regulator is recommended.
When "Audio sync" is active, a click sound will be sent to the left channel and the mono audio signal to the right channel. Using a stereo splitter cable we can route the click track to audio sync enabled devices, like Volcas and Pocket Operators. Note that the volume of your console can be too low to trigger audio sync and sometimes additional amplification may be needed. Audio sync enables emulators and devices that lack a link cable port, such as the 3DS to play well with external gear.
Both "audio out" and "link out" signals can be sent simultaneously and configured to be sent every trig (16), every other trig (8) and every 4 trigs (4). This acts as a sort of clock divider, but some devices (like the POs) require sync signals at specific intervals.
Stepper uses both the Serial Out and Serial Clock pins for sync out, and on sync in, any of the serial pins (SO, SC, SD, SI) can be used as input, though SI is recommended. This should make any link cable that fits on the GBA to be compatible with STEPPER, if you want to learn more about making your own link cables and adapters, you can find more information here.
As a last resort, STEPPER can work with other gear by manually timing the playing head using a click/metronome or sampling patterns from STEPPER to later arrange it into a full song in your DAW or sampler of choice.
Controls
D-Pad - Move the cursor
Start - Start/Stop the sequence
Select - Quick saving the current bank, Copy pasting, Adjusting notes by octaves, Adjusting bpm by multiples of 10
B - Toggle channels/triggers and play/pause/stop, switches banks and patterns.
A - Hold it to adjust trigger parameters.
L/R - Change trigger notes/parameter values/BPM
Screenshots
Media
STEPPER tutorial - how to use the Game Boy Advance 16-step sequencer (Joe Bleeps)
STEPPER v1.4 is out! A 16-step sequencer for the Game Boy Advance (Bad Diode)
STEPPER v1.4 // 3DS + PO-20 audio sync (Bad Diode)