This guide outlines a practical, offline‑ready workflow for using ABC notation to generate drum and bass backing tracks for live band performance. It focuses on the components you need and how to get them working together efficiently.
Use one ABC file per song, with at least two voices:
X:1
T:Example Backing
M:4/4
L:1/16
Q:1/4=170
K:C
V:DRUMS clef=perc
%%MIDI channel 10
[V:DRUMS] C,,8 D,,8 | C,,8 D,,8 |
V:BASS
%%MIDI channel 1
[V:BASS] C,4 E,4 G,4 E,4 | C,4 E,4 G,4 E,4 |
C,,) trigger different kit pieces depending on your drum sound source.
abc2midi song.abc -o song.mid01_Song.abc) for fast navigation on stage.
Q: lineOnce your workflow is set, updating songs becomes a matter of editing a few lines of text and regenerating the MIDI.
| Tool / Workflow | Needs Internet | Exports to MP3 | Works on Smartphone | Requires Smartphone | Accurate Playback Engine | Notes |
|---|---|---|---|---|---|---|
| ABC + abcMIDI + DAW | No | Yes | No | No | Yes | Fully offline; text‑based; highly editable |
| EasyABC | No | No (MIDI only) | No | No | Yes | Good editor; uses abc2midi for playback |
| Draw The Dots | Yes | No | Yes | No | No | Excellent notation renderer; playback is simplified and not fully accurate |
| Band‑in‑a‑Box (2021) | No | Yes | No | No | Yes | Large library; auto‑arranger; commercial |
| RealBand (BIAB companion) | No | Yes | No | No | Yes | DAW‑style; integrates with BIAB tracks |
| Smartphone Drum Apps | Varies | Varies | Yes | Sometimes | Varies | Often limited; not ideal for full songs |
MIDI is not audio. It is a set of instructions: which notes to play, when, how loud, and which instrument number to use. The actual sound comes from your synth, sound module, or software instrument. This appendix explains how to make those sounds predictable and stop your device from turning pianos into squeaky onions.
| Program | GM Instrument | Typical Use |
|---|---|---|
| 1 | Acoustic Grand Piano | Default piano voice |
| 33 | Acoustic Bass | Jazz / upright bass |
| 34 | Electric Bass (finger) | Pop / rock bass lines |
| 49 | String Ensemble 1 | Pad-like strings |
The device is not guessing or being clever. It is obediently following whatever bank and program numbers it receives.
You can explicitly tell your synth: "Use the default GM piano in the default bank." Add this inside the relevant voice in your ABC file:
V:PIANO
%%MIDI channel 1
%%MIDI control 0 0 % Bank Select MSB = 0
%%MIDI control 32 0 % Bank Select LSB = 0
%%MIDI program 1 % Acoustic Grand Piano (GM)
For a bass voice using the standard GM electric bass:
V:BASS
%%MIDI channel 2
%%MIDI control 0 0
%%MIDI control 32 0
%%MIDI program 34 % Electric Bass (finger)
%%MIDI lines in your template so every song starts from a known,
safe state. This keeps your synth from wandering into strange banks or user patches.
General MIDI reserves channel 10 for drums. In ABC:
V:DRUMS clef=perc
%%MIDI channel 10
Then use the standard drum notes (e.g., 36 = kick, 38 = snare, 42 = closed hat). Your synth will use its default GM drum kit, which is usually stable and predictable.
Once your synth is in GM mode and your ABC files explicitly set bank and program numbers, the "magic box" stops being a trickster. It becomes a reliable, obedient backing band, leaving you free to be a musician again.