A programmable cross-platform sequencer for the Game Boy Advance sound chip
See the codeA programmable cross-platform sequencer for the Game Boy Advance sound chip.
Each song carries a little WebAssembly program that converts sequenced notes to Game Boy Advance sound
commands.
This gives almost complete control over the sound chip to each song.
Basic MIDI support in the desktop version
Runs natively on the Game Boy Advance
It can also be run on the 3DS through open_agb_firm
Master Sync Mode to send clock signals to a Pocket Operator or Volca
On the GBA the output volume is too low and it won't trigger unless amplified.
On the 3DS this can be worked around with open_agb_firm by setting audioOut=2 and volume=36 to override the physical volume slider.
| Function | Desktop | Game Boy Advance |
|---|---|---|
| Move cursor | ←|↑|→|↓ | ←|↑|→|↓ |
| Switch panel (Patterns, Steps, Instruments) | Shift + (←|→) | (L|R) + (←|→) |
| Select previous/next song pattern | B + (↑/↓) | B + (↑/↓) |
| Select previous/next pattern non-empty instruments | Z + (←/→) | B + (←/→) |
| Cycle the selected pattern/note/param value | X + (←|→) | A + (←|→) |
| Copy | X | A |
| Cut | Z + X | B + A |
| Paste (on empty slot) | X | A |
| Play song | Enter | Start |
| Play pattern | Ctrl + Enter | Select + Start |
| Reset sound channels | Esc | Select |
| Save | Ctrl + S | N/A |
| Export song to GBA save file | Ctrl + G | N/A |
| Toggle recording mode | . | N/A |
| Black notes | W|E|T|YU | N/A |
| White notes | A|S|D|F|G|H|J|K | N/A |
| Erase step (or hold during playback) | Backspace | N/A |
| Function | Desktop | Game Boy Advance |
|---|---|---|
| Cycle pattern | X + (←|→) | A + (←|→) |
| Duplicate pattern | Shift + (Z, X) | (L|R) + (B, A) |
| Copy | X | A |
| Cut (only on the last non-empty slot ) | Z + X | B + A |
| Paste (only on the placeholder slot) | X | A |
| Insert an empty pattern instead of pasting | X, X | A, A |
| Function | Desktop | Game Boy Advance |
|---|---|---|
| Cycle note/param | X + (←|→) | A + (←|→) |
| Cycle note/param (large amount) | X + (↓|↑) | A + (↓|↑) |
| Enter selection mode | Shift + Z | (L|R) + B |
| Select all rows (in selection) | Shift + Z | (L|R) + B |
| Copy (in selection) | Z | B |
| Cut (in or not in selection) | Z + X | B + A |
| Cancel selection | Shift | L|R |
| Paste selection clipboard | Shift + X | (L|R) + A |
| Paste edit clipboard (on empty slot) | X | A |
Notes:
The source code is available under the terms of the MIT license (See LICENSE-MIT for details).
However, because of the use of GPL dependencies, Chiptrack compiled binaries are licensed under the terms of the GPLv3 (See LICENSE-GPL).
Rust
53.7%
WebAssembly
20.4%
Slint
13.7%
Zig
11.4%
A programmable cross-platform sequencer for the Game Boy Advance sound chip
See the codeA programmable cross-platform sequencer for the Game Boy Advance sound chip.
Each song carries a little WebAssembly program that converts sequenced notes to Game Boy Advance sound
commands.
This gives almost complete control over the sound chip to each song.
Basic MIDI support in the desktop version
Runs natively on the Game Boy Advance
It can also be run on the 3DS through open_agb_firm
Master Sync Mode to send clock signals to a Pocket Operator or Volca
On the GBA the output volume is too low and it won't trigger unless amplified.
On the 3DS this can be worked around with open_agb_firm by setting audioOut=2 and volume=36 to override the physical volume slider.
| Function | Desktop | Game Boy Advance |
|---|---|---|
| Move cursor | ←|↑|→|↓ | ←|↑|→|↓ |
| Switch panel (Patterns, Steps, Instruments) | Shift + (←|→) | (L|R) + (←|→) |
| Select previous/next song pattern | B + (↑/↓) | B + (↑/↓) |
| Select previous/next pattern non-empty instruments | Z + (←/→) | B + (←/→) |
| Cycle the selected pattern/note/param value | X + (←|→) | A + (←|→) |
| Copy | X | A |
| Cut | Z + X | B + A |
| Paste (on empty slot) | X | A |
| Play song | Enter | Start |
| Play pattern | Ctrl + Enter | Select + Start |
| Reset sound channels | Esc | Select |
| Save | Ctrl + S | N/A |
| Export song to GBA save file | Ctrl + G | N/A |
| Toggle recording mode | . | N/A |
| Black notes | W|E|T|YU | N/A |
| White notes | A|S|D|F|G|H|J|K | N/A |
| Erase step (or hold during playback) | Backspace | N/A |
| Function | Desktop | Game Boy Advance |
|---|---|---|
| Cycle pattern | X + (←|→) | A + (←|→) |
| Duplicate pattern | Shift + (Z, X) | (L|R) + (B, A) |
| Copy | X | A |
| Cut (only on the last non-empty slot ) | Z + X | B + A |
| Paste (only on the placeholder slot) | X | A |
| Insert an empty pattern instead of pasting | X, X | A, A |
| Function | Desktop | Game Boy Advance |
|---|---|---|
| Cycle note/param | X + (←|→) | A + (←|→) |
| Cycle note/param (large amount) | X + (↓|↑) | A + (↓|↑) |
| Enter selection mode | Shift + Z | (L|R) + B |
| Select all rows (in selection) | Shift + Z | (L|R) + B |
| Copy (in selection) | Z | B |
| Cut (in or not in selection) | Z + X | B + A |
| Cancel selection | Shift | L|R |
| Paste selection clipboard | Shift + X | (L|R) + A |
| Paste edit clipboard (on empty slot) | X | A |
Notes:
The source code is available under the terms of the MIT license (See LICENSE-MIT for details).
However, because of the use of GPL dependencies, Chiptrack compiled binaries are licensed under the terms of the GPLv3 (See LICENSE-GPL).
Rust
53.7%
WebAssembly
20.4%
Slint
13.7%
Zig
11.4%