Sounds editor ā keyboard reference
The Sounds tab is a tracker-style pattern editor. Click any cell in the 32Ć5 pattern grid to place the cursor, then use the keymap below to write notes, instruments, volumes, and stops. The cursor's sub-column (Note / Inst / Vol) determines which keys are active.
Notes ā FT2 two-octave keymap
Two rows on the keyboard map to two consecutive octaves, anchored on the editor's current octave (default 4). The lower row (ZāM plus ", L .") covers C through D# of the next octave; the upper row (QāU plus 2-7) covers C through B of the next octave; IāP plus 9 0 reach the third octave's C through E.
| Key | Note | Octave offset |
|---|---|---|
Z | C | +0 |
S | C# | +0 |
X | D | +0 |
D | D# | +0 |
C | E | +0 |
V | F | +0 |
G | F# | +0 |
B | G | +0 |
H | G# | +0 |
N | A | +0 |
J | A# | +0 |
M | B | +0 |
, | C | +1 |
L | C# | +1 |
. | D | +1 |
Q | C | +1 |
2 | C# | +1 |
W | D | +1 |
3 | D# | +1 |
E | E | +1 |
R | F | +1 |
5 | F# | +1 |
T | G | +1 |
6 | G# | +1 |
Y | A | +1 |
7 | A# | +1 |
U | B | +1 |
I | C | +2 |
9 | C# | +2 |
O | D | +2 |
0 | D# | +2 |
P | E | +2 |
Pressing a note key writes the note at the cursor, advances the cursor down one row, and live-previews the note via the cell's instrument.
Stop / clear
| Key | Effect |
|---|---|
= | Note-off ā triggers ADSR release; voice rings through release phase, then silences. |
- | Note-cut ā immediate silence, no release ramp. |
Backspace / Delete | Clear the active sub-column at the cursor (Note / Inst / Vol). |
Octave shift
| Key | Effect |
|---|---|
< | Lower the editor's base octave (clamped to 0). |
> | Raise the editor's base octave (clamped to 8). |
The current octave is shown in the transport bar at the bottom of the Sounds tab. Default is 4 (so Z = C4).
Hex digits ā Inst and Vol sub-columns
When the cursor is on the Inst or Vol sub-column, 0ā9 and AāF write hex values.
| Sub-column | Behavior |
|---|---|
| Inst (2 hex digits) | Shift-register: each keypress shifts the existing value left and appends the new digit. Type 0 then 5 to enter 05. Cursor does NOT auto-advance, so you can build a 2-digit instrument id without losing the row. |
| Vol (1 hex digit) | Replace: each keypress overwrites the current value. Cursor does NOT auto-advance. |
Navigation
| Key | Effect |
|---|---|
ā / ā | Move cursor up / down one row. |
ā / ā | Move cursor left / right one sub-column (wraps across channel boundaries). |
Tab | Move cursor right (same as ā). |
Shift+Tab | Move cursor left (same as ā). |
Home | Jump to row 0, channel 0, Note sub-column. |
End | Jump to last row of the current channel + sub-column. |
PageUp / PageDown | Jump 8 rows up / down. |
Undo / redo
| Key | Effect |
|---|---|
Ctrl+Z / ā+Z | Undo. |
Ctrl+Shift+Z / ā+Shift+Z | Redo. |
Ctrl+Y | Redo (alternate). |
Undo snapshots the entire SOND data on each meaningful change. Typing bursts are debounced with a 250 ms window so a sequence of note keypresses collapses into one undo step. The undo stack is capped at 50 snapshots; older snapshots drop FIFO.
Transport buttons
Below the pattern grid the transport bar shows the current pattern, row, and BPM. Buttons:
| Button | Effect |
|---|---|
ā¶ Play | Start the host engine on the active pattern (loops; same as cart-Forth's play-pattern). |
ā Stop | Halt the engine (same as cart-Forth's stop-music). |
ā Follow | Toggle whether the cursor tracks the playhead row while the engine is running. |