Write drum patterns without VST lock-in.
Disclaimer: This DSL idea is released under CC0. Anyone is free to use, modify, or implement it without restriction.
Piano rolls are designed around pitch, not percussion.
In most drum VSTs, instruments such as kick, snare, and hi-hat are mapped to arbitrary MIDI notes (e.g. C2, D2, F2). These mappings are not standardized and vary between VSTs.
As a result, drum patterns written in a piano roll are often tied to a specific VST and are not portable. Musical intent becomes mixed with implementation details.
drumscript separates these concerns.
It treats drum patterns as notation first, and mapping as a backend detail. The same pattern can then be rendered as sheet music or compiled into VST-specific MIDI.
$ drumscript drum-pattern.txtThis generates:
- drum-pattern.pdf (sheet music)
- drum-pattern.ly (LilyPond source)
- drum-pattern.mid (MIDI)
The generated MIDI file can be imported into any DAW and used with your preferred drum VST.
bd(bass drum)sn(snare)hh(hi-hat)tomhtommltomltomfl
The naming loosely follows Weinberg drum notation.
hh4sn4hh8r4(rest)
hh8 hh8 hh8 hh8 hh8 hh8 hh8 hh8
bd4 sn4 bd4 sn4
---
bd c2
sn d2
hh f2
The pattern is written using instrument symbols (bd, sn, hh) and durations.
The mapping section (---) defines how instruments map to MIDI notes.
-v,--version— Show version information and exit-h,--help— Show help message and exit-o,--output— Specify output file name (without extension)
Contributions are welcome.
Packaging the program for platforms such as Homebrew or Chocolatey would be especially helpful.
The program is licensed under MIT.
You retain full rights to your drum patterns and any generated artifacts.