GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - fourstringmate/drumscript: Write drum patterns without VST lock-in

BranchesTags
Open more actions menu

Latest commit

 

History

5 Commits
5 Commits

Folders and files

NameName
Last commit message
Last commit date
bin
bin
 
 
docs
docs
 
 
libexec
libexec
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 

Repository files navigation

drumscript

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.

Why drumscript?

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.

System Requirements

  • A recent version of LilyPond
  • A recent version of Ruby

Usage

$ drumscript drum-pattern.txt

This 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.

Drum Pattern Notation

Basic Symbols

  • bd (bass drum)
  • sn (snare)
  • hh (hi-hat)
  • tomh
  • tomml
  • toml
  • tomfl

The naming loosely follows Weinberg drum notation.

Structures

  • hh4
  • sn4
  • hh8
  • r4 (rest)

Example

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.

Command-Line Options

  • -v, --version — Show version information and exit
  • -h, --help — Show help message and exit
  • -o, --output — Specify output file name (without extension)

Contributing

Contributions are welcome.

Packaging the program for platforms such as Homebrew or Chocolatey would be especially helpful.

License

The program is licensed under MIT.

You retain full rights to your drum patterns and any generated artifacts.

About

Write drum patterns without VST lock-in

Topics

domain-specific-languagedrumdslmidimusic-notationmusic-techpattern-languagepercussionpiano-rollvst

Resources

Readme
MIT license
Activity

Stars

1 star

Watchers

0 watching

Forks

0 forks
Report repository

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.