The practice of learning tabla cycle rhythms like Teental and Jhaptaal inspired BeatGrid, a purely silent rhythmic geometric composition studio that treats rhythm composition as modular combinatorics and not as audio loops. This is implemented using a zero-dependency UMD kernel (rhythm.js) that runs in browsers from local file open and Node.js, with up to eight voices of parameterized percussion with parameters such as k pulses, n steps, rotation rot, and General MIDI note, or manual step matrix pads. It comes with five Euclidean defaults: Tresillo E(3,8), Cinquillo E(5,8), Bossa Nova E(5,16), West African Bell E(7,12), and Aksak 9/8 E(4,9). The BeatGrid module draws concentric Euclidean phase polygons on top of the whole LCM, pairwise coincidence, Hamming distance matrices, and syncopation scores. It builds Standard MIDI Format 0 binary files (MThd, MTrk, 480 PPQ, base-128 VLQ deltas) with a hex inspector and exports multi-staff LilyPond percussion scores, which pass all 97 automated tests.
Built With
- combinatorics
- css3
- euclidean-rhythm
- html5
- javascript
- lilypond
- midi.js
- node.js
- step-sequencer
- svg