MIDI Libraries & Tools, compared
All 9 midi tools tools in the directory, side by side — language, license, and platforms. Open any tool for install steps and a code example.
| Tool | Language | License | Platforms |
|---|---|---|---|
| html-midi-playerWeb components (<midi-player>, <midi-visualizer>) for playing and visualizing MIDI files on a page. | HTML/JavaScript | BSD-2-Clause | Web |
| MIDIUtilinactivePure-Python library for programmatically creating and writing multi-track MIDI files. | Python | MIT | macOS Windows Linux |
| MidiWriterJSTypeScript library for programmatically building and exporting multi-track Standard MIDI files. | JavaScript | MIT | macOS Windows Linux |
| MidoLibrary for working with MIDI messages, ports, and files via convenient message objects. | Python | MIT | macOS Windows Linux |
| pretty_midiUtility library for handling MIDI data intuitively for analysis and MIR workflows. | Python | MIT | macOS Windows Linux |
| pyFluidSynthPython bindings for FluidSynth to render MIDI notes through SoundFont instruments. | Python | LGPL-2.1-or-later | macOS Windows Linux |
| python-rtmidiPython binding to the RtMidi C++ library for real-time MIDI input and output. | Python | MIT | macOS Windows Linux |
| ScribbletuneWrite musical patterns as JS strings and export them to MIDI files or play them live via Tone.js. | JavaScript | MIT | macOS Windows Linux |
| WebMidi.jsFriendly wrapper over the Web MIDI API for sending and receiving MIDI in the browser and Node. | JavaScript | Apache-2.0 | Web macOS Windows |