arpeggigo
cute, right? is a command-line MIDI sequencer.
- PortMIDI - available on apt and homebrew.
interval
(int
) - Number of milliseconds between notes. (default100
)notes
(string
) - JSON array of objects with keys"note"
(int
),"velocity"
(int
), and"duration"
(int
). Duration value represents milliseconds. (default"[]"
)
Given a file notes.json
with the contents:
[
{"note": 60, "velocity": 100, "duration": 50},
{"note": 64, "velocity": 75, "duration": 100},
{"note": 67, "velocity": 50, "duration": 150},
{"note": 72, "velocity": 25, "duration": 200}
]
Execute the following command to loop over the notes defined in notes.json
with 500 milliseconds between each note:
./arpeggigo -notes "$(< notes.json)" -interval 500