Erlang MIDI Library
Include one of the following in your project's rebar.config
:
%% Latest Release
{deps, [
{midilib, "0.5.0"}
]}.
or
%% Development
{deps, [
{midilib, {git, "https://github.com/erlsci/midilib", {branch, "release/0.6.x"}}}
]}.
Support for the decoding and encoding of device-ready binary MIDI messages. Note that Erlang term messages (which are encoded to binary, and which are created when decoding binary) are of the same form as those in the midimsg
module.
Functions for creating Erlang term versions of MIDI messages. All messages are wrapped in a {midi, ...}
tuple to support parallel use in multi-purpose genservers, avoiding tuple collisions.
Reads and writes type 1 MIDI files (note that type 1 files may contain any number of tracks that would be performed synchronously.
Utility functions for handling note lengths, beats, quantization, and note names, and more.
Perform any checks / tests:
$ rebar3 as test check
- MIDI on WikiPedia
- MIDI 1.0 Specification
- MIDI File Format Specification
MIT License