Habe über das Wochenende erstmal den Parser von tilt_sequencer komplettiert.
Kommanozeilen-Syntax:
tilt_sequencer DATAFILE [MIDI_PORT [INITIAL_BPM]]
Argumente:
- DATAFILE:
String: Datei mit Events. - MIDI_PORT:
String: Name des zu öffnenden virtuellen MIDI-Ausgabe-Ports;
Default: „tilt_sequencer“. - INITIAL_BPM:
Float: Wenn nicht von JACK-Transport mitgeteilt, verwende dieses Temp in beats-per-minute;
Default: 120.
Syntax der Event-Datei:
Leere Zeilen werden ignoriert.
Jede nicht-leere Zeile besteht aus einem oder mehreren „Token“. Ein „Token“ ist entweder ein Schlüsselwort oder ein numerischer Wert.
Float-Beat:
beats [byte1 [byte2 [byte3]]
Float-Value beats, gefolgt von 0 bis 3 MIDI-Message-Bytes.
Fractional-Beat:
beats/beat_r [byte1 [byte2 [byte3]]
Float-Value beats, gefolgt von Integer-Value beat_r, gefolgt von 0 bis 3 MIDI-Message-Bytes.
Control:
CTRL ctrl_num ctrl_val
Schlüsselwort „CTRL“ gefolgt von Byte-Wert ctrl_num, gefolgt von Byte-Wert ctrl_val.
Beispiel:
CTRL 1 0
CTRL 2 0
CTRL 3 0
1/3 144 80 100
0 128 80 127
CTRL 1 20
CTRL 2 35
CTRL 3 45
1/3 144 80 100
0 128 80 127
CTRL 1 35
CTRL 2 55
CTRL 3 70
1/3
1/3 144 80 100
0 128 80 127
In diesem Beispiel werden die Controller 1 bis 3 nacheinander auf die Werte (0,0,0), (20,35,45) und schließlich (35, 55, 70) gesetzt. Nach jeder Änderung wird einen Drittel-Beat lang die Note 80 auf Kanal 0 mit Velocity 100 angeschlagen und mit Velocity 127 beendet.
Download:
Wie immer per SVN:
svn co svn://linuxfoo.de/tilt_sequencer
Enjoy. 🙂