MIDI Out
ElkTracker can drive an external synth or MIDI module by adding a MIDI instrument and sending its notes out over a class-compliant USB MIDI interface - useful for triggering hardware synths from your handheld.
Setup
- Plug in a class-compliant USB MIDI interface. Most modern USB audio/MIDI interfaces need no extra driver on Linux.
- Settings → MIDI OUT — A+←→ cycles through
NONEand every detected port; pick yours. The selection is saved and reopens automatically the next time you launch. - Settings → DIAGNOSTICS — dive in, then A on
MIDI TEST >to confirm ElkTracker can see your interface. AKERNEL MODULESsection is shown for reference only — some devices build USB MIDI support directly into the kernel rather than as a loadable module, so those rows readingn/ais normal and doesn't mean anything's wrong. Trust theMIDI PORTScount and the verdict at the bottom (MIDI READY/NO MIDI PORTS FOUND) instead. The same report is written toMIDI.login your data root for reference.
Creating a MIDI instrument
Open an instrument slot and cycle TYPE to MIDI (the last of the engine types). Five fields are available:
- CHAN: the MIDI output channel, 1–16.
- BANK: bank select MSB (CC 0), 1–128, or
---to skip. - PROG: program change (0xC0), 1–128, or
---to skip. - SCALE: scale quantize mode, same as other engines: see Scale Mode.
- ROOT: scale root note (C–B), active when SCALE is set to a specific scale (not PROJECT or OFF).
BANK and PROG are independent, so you can set either one without the other. Neither is sent if it is ---.
Write notes into a phrase against this instrument exactly like any other engine. A note plus this instrument in the INSTR column sends a Note On on CHAN; a Note Off is sent first if the channel's previous MIDI note is still sounding.
Selecting a preset with BANK and PROG
Most synths that respond to bank select follow this sequence:
- CC 0 value 0–127 (Bank Select MSB) - specifies bank group
- CC 32 value 0 (Bank Select LSB) - ElkTracker always sends 0 here
- Program Change value 0–127 - specifies preset within that bank
If your synth only has 128 presets in a single bank, set BANK to --- and
just use PROG. If it has more, check the synth manual for which Bank MSB
value corresponds to the bank you want.
The bank/program change is sent on every note trigger, so you can switch presets mid-sequence by assigning different MIDI instruments to different phrase steps. Be careful when using this, though - spamming lots of fast program changes is a good way to lock up your MIDI interface! If this happens, just restart ElkTracker.
Usage example
- Instrument
01: TYPE →MIDI, CHAN →1, BANK →---, PROG →5. - On channel 2 of a phrase, set INSTR to
01and enterC-4on row00. - Press Start; with an external synth listening on MIDI channel 1, it switches to preset 5 and plays the note in time with the rest of the project.
What works, and what doesn't
MIDI instruments have no built-in voice, so only the commands that make sense for triggering an external device do anything:
| Works | No effect |
|---|---|
| Note trigger (NOTE column) | PAN, SDA, SDB |
VOL → sets Note On velocity |
PIT, OFS, REV, SLC |
KIL (note off on tick) |
GLI, ARP |
RTG (retrigger) |
LFO1, LFO2, MOD1–4 |
Note OFF |
|
CHD chord shapes |
|
| Chain transpose |
A few things worth knowing:
VOLsets velocity. Write aVOLFX command on the same row as a note to set the Note On velocity, and the 0x00–0xFF range maps to MIDI velocity 0–127. Without aVOLcommand, velocity defaults to 127.RTGretriggers on the same row also use theVOLvalue from that row.- Chain transpose shifts the sent MIDI note number up or down by the chain step's transpose value, exactly like any other engine.
CHDsends additional Note On messages for each chord tone on the same MIDI channel, and Note Offs when the note ends. The external synth needs to be polyphonic (or in poly mode) to sound all the voices.- SCALE / ROOT control which notes the phrase editor steps through when entering notes, they don't re-quantize notes at playback time. Set to
PROJECTto follow the song's global scale, or pick a specific scale and root for this instrument.
Panic
Select+Start (or Settings → PANIC) sends MIDI All Notes Off on every channel, alongside silencing local voices.