Catalog
Open-source MIDI libraries
346 projects across 13 categories. Every entry is checked against the GitHub API for existence, stars, license, and activity (last checked ). Also available as a plain awesome list on GitHub.
346 shown
-
MuseScore
Stars: 15kmusescore/MuseScore
Full-featured music notation software with MIDI import/export.
-
Tone.js
Stars: 15kTonejs/Tone.js
Web Audio framework for interactive music: synths, effects, and a transport.
-
Sonic Pi
Stars: 12ksonic-pi-net/sonic-pi
Code-based live-coding synth with MIDI in/out.
-
AudioKit
Stars: 11kAudioKit/AudioKit
Audio synthesis, processing, and MIDI framework for Apple platforms.
-
LMMS
Stars: 10kLMMS/lmms
Cross-platform music production software with piano-roll and MIDI support.
-
JUCE
Stars: 9.0kjuce-framework/JUCE
The cross-platform C++ framework for audio apps and plugins, with full MIDI and MPE.
-
Mixxx
Stars: 7.2kmixxxdj/mixxx
DJ software with a large library of MIDI controller mappings.
-
TinyUSB
Stars: 7.2khathach/tinyusb
Embedded USB host/device stack with class-compliant USB-MIDI support.
-
SuperCollider
Stars: 6.8ksupercollider/supercollider
Audio server and language for real-time synthesis and algorithmic composition.
-
NAudio
Stars: 6.2knaudio/NAudio
.NET audio and MIDI library for Windows, including MIDI in/out and file support.
-
Overtone
Stars: 6.2kovertone/overtone
Collaborative programmable music built on SuperCollider, with MIDI.
-
Basic Pitch
Stars: 5.9kspotify/basic-pitch
Lightweight polyphonic audio-to-MIDI transcription with pitch bends.
-
Ardour
Stars: 5.3kArdour/ardour
Professional open-source DAW with full MIDI recording and editing.
-
ORCA
Stars: 5.1khundredrabbits/Orca
Esoteric live-coding grid that sequences MIDI, OSC, and UDP.
-
Bespoke Synth
Stars: 4.7kBespokeSynth/BespokeSynth
Modular DAW for live patching, with extensive MIDI controller mapping.
-
VCV Rack
Stars: 4.4kVCVRack/Rack
Virtual Eurorack modular synthesizer platform with MIDI modules.
-
OpenUtau
Stars: 4.4kopenutau/OpenUtau
Singing synthesis editor with MIDI import.
-
Tonal
Stars: 4.3ktonaljs/tonal
Functional music-theory library: notes, intervals, chords, scales, MIDI numbers.
-
Surge XT
Stars: 4.1ksurge-synthesizer/surge
Hybrid synthesizer with full MPE and microtuning support.
-
Furnace
Stars: 3.9ktildearrow/furnace
Multi-system chiptune tracker with MIDI input.
-
Scribbletune
Stars: 3.8kscribbletune/scribbletune
Create clips and patterns with code and export them as MIDI files.
-
Dexed
Stars: 3.6kasb2m10/dexed
DX7 FM plugin synth that reads original DX7 SysEx cartridges.
-
Helio
Stars: 3.6khelio-fm/helio-sequencer
Lightweight, minimalist music sequencer for desktop and mobile.
-
Cardinal
Stars: 3.2kDISTRHO/Cardinal
VCV Rack modules packaged as a self-contained plugin with MIDI.
-
Mutable Instruments Eurorack
Stars: 3.2kpichenettes/eurorack
Firmware for Mutable Instruments modules, including MIDI interfaces.
-
Faust
Stars: 3.2kgrame-cncm/faust
Functional DSP language for synths and effects, with MIDI-driven polyphony.
-
Zrythm
Stars: 3.2kzrythm/zrythm
Highly automated, intuitive digital audio workstation.
-
nih-plug
Stars: 3.0krobbert-vdh/nih-plug
Rust audio plugin framework with note events and MIDI support.
-
Audiveris
Stars: 2.9kAudiveris/audiveris
Optical music recognition: scanned scores to MusicXML.
-
music21
Stars: 2.6kcuthbertLab/music21
Toolkit for computer-aided musicology with MIDI, MusicXML and more.
-
FluidSynth
Stars: 2.5kFluidSynth/fluidsynth
Real-time SoundFont 2 synthesizer: library, CLI, and the reference open-source GM player.
-
JACK2
Stars: 2.5kjackaudio/jack2
JACK Audio Connection Kit: low-latency audio and MIDI routing between applications.
-
iPlug2
Stars: 2.4kiPlug2/iPlug2
Audio plugin framework for desktop, mobile, and web.
-
Signal
Stars: 2.4kryohey/signal
Full-featured online MIDI editor and sequencer that runs in the browser.
-
Plugdata
Stars: 2.4kplugdata-team/plugdata
Pure Data as a plugin with a modern UI and MIDI I/O.
-
abcjs
Stars: 2.4kpaulrosen/abcjs
Renders ABC notation and plays it back via MIDI or Web Audio.
-
CLAP
Stars: 2.4kfree-audio/clap
Open audio plugin API with first-class note expressions and MIDI 2.0 support.
-
openDAW
Stars: 2.3kandremichelle/openDAW
Open-source, browser-based DAW with MIDI support.
-
Carla
Stars: 2.2kfalkTX/Carla
Fully-featured audio plugin host with MIDI routing.
-
Vital
Stars: 2.2kmtytel/vital
Spectral warping wavetable synthesizer (source release).
-
Magenta.js
Stars: 2.1kmagenta/magenta-js
Music and art generation models running in the browser.
-
MilkyTracker
Stars: 2.1kmilkytracker/MilkyTracker
FastTracker II-inspired music tracker with MIDI input.
-
Pure Data
Stars: 2.1kpure-data/pure-data
Visual programming language for interactive audio and MIDI.
-
Giada
Stars: 2.1kmonocasual/giada
Minimal live-looping tool with MIDI learn.
-
ossia score
Stars: 2.1kossia/score
Intermedia sequencer for MIDI, OSC, audio, and more.
-
MuseGAN
Stars: 2.0ksalu133445/musegan
Multi-track symbolic music generation with GANs.
-
Omnizart
Stars: 2.0kMusic-and-Culture-Technology-Lab/omnizart
Automatic music transcription for piano, drums, vocals, and chords.
-
OpenSheetMusicDisplay
Stars: 2.0kopensheetmusicdisplay/opensheetmusicdisplay
Renders MusicXML sheet music in the browser.
-
GridSound
Stars: 1.9kgridsound/daw
Open-source DAW that runs in the browser.
-
alphaTab
Stars: 1.9kCoderLine/alphaTab
Guitar tablature and notation rendering with built-in SoundFont playback.
-
Arduino MIDI Library
Stars: 1.8kFortySevenEffects/arduino_midi_library
The standard MIDI I/O library for Arduino serial MIDI.
-
MT3
Stars: 1.8kmagenta/mt3
Multi-task, multitrack music transcription (audio to MIDI).
-
Element
Stars: 1.7kkushview/element
Modular audio plugin host with MIDI routing.
-
WEBMIDI.js
Stars: 1.7kdjipco/webmidi
Friendly wrapper for the Web MIDI API: named notes, channels, and events.
-
Chataigne
Stars: 1.7kbenkuper/Chataigne
Show-control software bridging MIDI, OSC, DMX, and more.
-
Control Surface
Stars: 1.7ktttapa/Control-Surface
Arduino library for building MIDI controllers: buttons, pots, encoders, displays.
-
mido
Stars: 1.6kmido/mido
Pythonic MIDI messages, ports, and Standard MIDI File reading/writing.
-
Schism Tracker
Stars: 1.6kschismtracker/schismtracker
Impulse Tracker clone with MIDI in/out.
-
Neothesia
Stars: 1.6kPolyMeilex/Neothesia
Flashy Synthesia-like piano visualizer and learning tool.
-
TuxGuitar
Stars: 1.6khelge17/tuxguitar
Multitrack tablature editor and player with MIDI support.
-
python-midi
Stars: 1.6kvishnubob/python-midi
Classic low-level Python toolkit for reading and writing MIDI files.
-
Csound
Stars: 1.5kcsound/csound
Sound and music computing system with deep MIDI integration.
-
musicpy
Stars: 1.5kRainbow-Dreamer/musicpy
Music-theory-aware language for writing and analysing music that reads and writes MIDI.
-
Tracktion Engine
Stars: 1.5kTracktion/tracktion_engine
High-level JUCE module for building sequencer and DAW apps.
-
teoria
Stars: 1.4ksaebekassebil/teoria
Music theory for JavaScript with MIDI note and frequency helpers.
-
Ableton Link
Stars: 1.3kAbleton/link
Tempo, beat, and phase sync over a local network; a common companion to MIDI clock.
-
Hydrogen
Stars: 1.3khydrogen-music/hydrogen
Advanced drum machine with MIDI in/out.
-
Mozzi
Stars: 1.3ksensorium/Mozzi
Sound synthesis library for Arduino and other microcontrollers.
-
MIDIVisualizer
Stars: 1.3kkosua20/MIDIVisualizer
Small MIDI piano-roll visualizer, ready for video export.
-
DaisySP
Stars: 1.3kdaisyaudio/DaisySP
Portable DSP library for building synths and effects on Daisy and beyond.
-
RtMidi
Stars: 1.2kthestk/rtmidi
The classic cross-platform realtime MIDI I/O API (CoreMIDI, ALSA, JACK, WinMM).
-
BeepBox
Stars: 1.2kjohnnesky/beepbox
Online chiptune sketchpad with MIDI export.
-
ZynAddSubFX
Stars: 1.2kzynaddsubfx/zynaddsubfx
Fully featured open-source software synthesizer.
-
FoxDot
Stars: 1.2kQirky/FoxDot
Live-coding environment in Python for SuperCollider and MIDI.
-
LUFA
Stars: 1.1kabcminiuser/lufa
USB framework for AVR microcontrollers, with MIDI class drivers and demos.
-
Radium
Stars: 1.1kkmatheussen/radium
Music editor with a tracker interface and MIDI support.
-
ChucK
Stars: 1.0kccrma/chuck
Strongly-timed music programming language with MIDI I/O.
-
pretty_midi
Stars: 1.0kcraffel/pretty-midi
High-level MIDI analysis and manipulation: notes, instruments, piano rolls, and synthesis.
-
@tonejs/midi
Stars: 1.0kTonejs/Midi
Convert MIDI files to and from a friendly JSON format in the browser or Node.
-
webaudiofont
Stars: 991surikov/webaudiofont
Large GM-compatible instrument and drum library and player for Web Audio.
-
Gibber
Stars: 976gibber-cc/gibber
Browser live-coding environment with Web MIDI output.
-
OpenDeck
Stars: 957shanteacontrols/OpenDeck
Firmware platform for building MIDI controllers, configurable from a web UI.
-
Frescobaldi
Stars: 954frescobaldi/frescobaldi
LilyPond music score editor with MIDI playback.
-
Verovio
Stars: 943rism-digital/verovio
Fast engraving library for MEI, MusicXML, Humdrum and ABC with MIDI output.
-
python-mingus
Stars: 928bspaans/python-mingus
Music theory and notation package with MIDI and LilyPond output.
-
html-midi-player
Stars: 910cifkao/html-midi-player
Web components for playing and visualizing MIDI files on any web page.
-
MidiTok
Stars: 904Natooz/MidiTok
MIDI tokenizers (REMI, CP Word, Octuple, MIDILike...) for sequence models.
-
ShowMIDI
Stars: 903gbevin/ShowMIDI
Multi-platform GUI and plugin to visualize MIDI 1.0 and 2.0 activity at a glance.
-
midifile
Stars: 897craigsapp/midifile
C++ classes for reading and writing Standard MIDI Files.
-
pianoplayer
Stars: 895marcomusy/pianoplayer
Automatic piano fingering generator for MusicXML and MIDI.
-
TinySoundFont
Stars: 887schellingb/TinySoundFont
Single-header SoundFont2 synthesizer and MIDI file player.
-
Stargate
Stars: 880stargatedaw/stargate
All-in-one DAW and plugin suite.
-
DPF
Stars: 874DISTRHO/DPF
DISTRHO Plugin Framework for LV2, VST, CLAP, and JACK.
-
SendMIDI
Stars: 852gbevin/SendMIDI
Command-line tool to send MIDI messages to any MIDI output.
-
midir
Stars: 829Boddlnagg/midir
Cross-platform realtime MIDI processing in Rust.
-
MIDIApps
Stars: 823krevis/MIDIApps
Source for MIDI Monitor and SysEx Librarian on macOS.
-
Odin 2
Stars: 821TheWaveWarden/odin2
Polyphonic synthesizer plugin with MPE support.
-
Munt
Stars: 818munt/munt
Roland MT-32, CM-32L, and LAPC-I synthesizer emulator.
-
MusE
Stars: 807muse-sequencer/muse
MIDI/audio sequencer with recording and editing capabilities.
-
Calf Studio Gear
Stars: 805calf-studio-gear/calf
Audio plugin suite for Linux, including MIDI-driven synths.
-
DrivenByMoss
Stars: 805git-moss/DrivenByMoss
Bitwig Studio extensions for many MIDI controllers (Push, APC, Launchpad, MCU…).
-
midi-js-soundfonts
Stars: 790gleitz/midi-js-soundfonts
Pre-rendered General MIDI SoundFonts packaged for MIDI.js and the web.
-
OpenMPT
Stars: 787OpenMPT/openmpt
Tracker and MIDI-capable module editor (official mirror).
-
MIDI2LR
Stars: 775rsjaffe/MIDI2LR
Control Adobe Lightroom Classic from MIDI controllers.
-
node-midi
Stars: 760justinlatimer/node-midi
Node.js wrapper around RtMidi for realtime MIDI ports.
-
norns
Stars: 734monome/norns
Sound computer platform with Lua scripting and MIDI device support.
-
MidiJack
Stars: 730keijiro/MidiJack
MIDI input plugin for Unity.
-
Edisyn
Stars: 722eclab/edisyn
Synthesizer patch editor and librarian supporting many hardware synths.
-
Minis
Stars: 721keijiro/Minis
MIDI input via the Unity Input System.
-
libremidi
Stars: 712celtera/libremidi
Modern C++20 MIDI 1.0 and MIDI 2.0 realtime and file I/O library.
-
DryWetMIDI
Stars: 704melanchall/drywetmidi
Comprehensive .NET library for MIDI files, devices, playback, and recording.
-
Windows MIDI Services
Stars: 692microsoft/MIDI
Microsoft's next-generation Windows MIDI stack with MIDI 2.0 and UMP.
-
LilyPond
Stars: 688lilypond/lilypond
Text-based music engraving that can also output MIDI.
-
Ctrlr
Stars: 684RomanKubiak/ctrlr
Build custom editors and panels for any MIDI hardware.
-
Adafruit TinyUSB Arduino
Stars: 651adafruit/Adafruit_TinyUSB_Arduino
TinyUSB for Arduino cores, enabling USB-MIDI on RP2040, SAMD, nRF52, ESP32-S2/S3.
-
MusicXML
Stars: 611w3c-cg/musicxml
The W3C MusicXML specification source.
-
MidiWriterJS
Stars: 608grimmdude/MidiWriterJS
Fluent API for generating multi-track MIDI files in JavaScript.
-
Qtractor
Stars: 607rncbc/qtractor
Audio/MIDI multi-track sequencer for Linux.
-
REMI
Stars: 606YatingMusic/remi
Pop Music Transformer and the REMI event representation.
-
MIDIMonster
Stars: 606cbdevnet/midimonster
Translates between MIDI, OSC, ArtNet, sACN, and more.
-
JJazzLab
Stars: 602jjazzboss/JJazzLab
Application for generating MIDI backing tracks from chord charts.
-
JZZ
Stars: 595jazz-soft/JZZ
MIDI library for Node.js and browsers with Web MIDI polyfill and MIDI 2.0 support.
-
PianoBooster
Stars: 584pianobooster/PianoBooster
Interactive piano learning that plays along with MIDI files.
-
Teensy cores
Stars: 578PaulStoffregen/cores
Teensy core libraries, including the usbMIDI device implementation.
-
MIDIUSB
Stars: 573arduino-libraries/MIDIUSB
Native USB-MIDI device support for Arduino boards with USB (32u4, SAMD, etc.).
-
MidiEditor
Stars: 565markusschwenk/midieditor
Free MIDI file editor for recording, editing, and playback.
-
MusicAutobot
Stars: 551bearpelican/musicautobot
Transformer-based music generation and harmonization on MIDI.
-
Bela
Stars: 540BelaPlatform/Bela
Ultra-low-latency audio and sensor platform with MIDI support.
-
ORCA (C)
Stars: 538hundredrabbits/Orca-c
Terminal version of the ORCA live-coding grid with MIDI output.
-
ADLplug
Stars: 532jpcima/ADLplug
FM chip synthesizer plugin (OPL3/OPN2) built on libADLMIDI.
-
DaisyExamples
Stars: 529daisyaudio/DaisyExamples
Example projects for the Daisy platform, including MIDI.
-
MusPy
Stars: 525salu133445/muspy
Toolkit for symbolic music generation: datasets, representations, and metrics.
-
amsynth
Stars: 506amsynth/amsynth
Analog-modelling software synthesizer.
-
alsa-lib
Stars: 499alsa-project/alsa-lib
ALSA userspace library, including the Linux sequencer and rawmidi APIs.
-
Axoloti
Stars: 495axoloti/axoloti
Patcher and firmware for a standalone digital audio/MIDI board.
-
libDaisy
Stars: 484daisyaudio/libDaisy
Hardware abstraction library for the Daisy audio platform, with MIDI handlers.
-
Polyphone
Stars: 480davy7125/polyphone
SoundFont (sf2/sf3/sfz) editor.
-
MIDI2CV
Stars: 472elkayem/midi2cv
Arduino-based MIDI to CV/gate converter.
-
MidiAnimationTrack
Stars: 467keijiro/MidiAnimationTrack
Unity Timeline track that plays MIDI files as animation.
-
Transkun
Stars: 459Yujia-Yan/Transkun
Piano transcription with pedal and velocity, audio to MIDI.
-
isobar
Stars: 439ideoforms/isobar
Algorithmic composition and pattern sequencing over MIDI and OSC.
-
midis2jam2
Stars: 433wyskoj/midis2jam2
3D MIDI file visualizer, a remaster of MIDIJam.
-
Elektroid
Stars: 425dagargo/elektroid
Sample and preset transfer for Elektron devices and others over SysEx.
-
ReaScripts
Stars: 422ReaTeam/ReaScripts
Community script repository for REAPER, with many MIDI editing tools.
-
python-rtmidi
Stars: 413SpotlightKid/python-rtmidi
Python bindings for RtMidi with a Pythonic API.
-
POP909
Stars: 411music-x-lab/POP909-Dataset
909 pop songs as piano arrangements with melody, chords, and beats.
-
SpessaSynth
Stars: 408spessasus/SpessaSynth
SoundFont2/DLS synthesizer and MIDI player for the web.
-
MidiPlayerJS
Stars: 397grimmdude/MidiPlayerJS
MIDI file player that emits events for each message as it plays.
-
WebMIDIAPIShim
Stars: 387cwilso/WebMIDIAPIShim
Polyfill that bridges the Web MIDI API to plugins or native modules.
-
16n Faderbank
Stars: 38416n-faderbank/16n
Open-source 16-fader MIDI/CV/I2C controller (Teensy).
-
ReceiveMIDI
Stars: 379gbevin/ReceiveMIDI
Command-line tool to monitor and log incoming MIDI.
-
midi-model
Stars: 378SkyTNT/midi-model
Transformer for MIDI event generation with a tokenizer and web UI.
-
Partitura
Stars: 377CPJKU/partitura
Symbolic music processing for MusicXML, MEI, and MIDI.
-
webaudio-controls
Stars: 372g200kg/webaudio-controls
Knob, slider, switch, and keyboard web components with MIDI learn.
-
gomidi
Stars: 360gomidi/midi
Modular MIDI library for Go: messages, SMF read/write, and pluggable realtime drivers.
-
LakhNES
Stars: 357chrisdonahue/LakhNES
Multi-instrument music generation pre-trained on Lakh MIDI.
-
ESP32-BLE-MIDI
Stars: 354max22-/ESP32-BLE-MIDI
BLE-MIDI host and client library for the ESP32.
-
picostepseq
Stars: 352todbot/picostepseq
MIDI step sequencer for the Raspberry Pi Pico.
-
MIDIKit
Stars: 351orchetect/swift-midi
Modern Swift CoreMIDI wrapper with MIDI 1.0 and 2.0 support.
-
Web MIDI API spec
Stars: 341WebAudio/web-midi-api
The W3C Web MIDI API specification source.
-
Moppy2
Stars: 331samphonic/Moppy2
Play MIDI on floppy drives and other hardware ("Musical flOPPY controller").
-
Arduino-AppleMIDI-Library
Stars: 328lathoub/Arduino-AppleMIDI-Library
RTP-MIDI (AppleMIDI) over Ethernet and Wi-Fi for Arduino.
-
smplr
Stars: 327danigb/smplr
Sampled instruments (piano, drums, SoundFonts) for Web Audio.
-
Sardine
Stars: 325Bubobubobubobubo/sardine
Python live-coding library for MIDI, OSC, and SuperDirt.
-
polyrhythmix
Stars: 309dredozubov/polyrhythmix
Command-line polyrhythmic MIDI drum generator.
-
USB-MIDI-Driver
Stars: 305kshoji/USB-MIDI-Driver
USB MIDI host driver for Android (works without android.media.midi).
-
Arduino-BLE-MIDI
Stars: 305lathoub/Arduino-BLE-MIDI
BLE-MIDI transport for the Arduino MIDI Library (ESP32, nRF52, and more).
-
Tegridy MIDI Dataset
Stars: 297asigalov61/Tegridy-MIDI-Dataset
Curated MIDI datasets for symbolic music AI.
-
Yoshimi
Stars: 292Yoshimi/yoshimi
Software synthesizer derived from ZynAddSubFX.
-
KnobKraft Orm
Stars: 292christofmuc/KnobKraft-orm
Modern, cross-platform librarian for MIDI synthesizers.
-
portmidi (Go)
Stars: 290rakyll/portmidi
Go bindings for PortMidi.
-
Luppp
Stars: 288openAVproductions/openAV-Luppp
Live-performance looping tool with MIDI controller support.
-
miditoolkit
Stars: 285YatingMusic/miditoolkit
MIDI file toolkit with tick-level precision, piano-roll and chord utilities.
-
Bitwig extensions
Stars: 282bitwig/bitwig-extensions
Source of Bitwig Studio's official controller extensions.
-
ASAP dataset
Stars: 281fosfrancesco/asap-dataset
Aligned scores and performances of classical piano music (MIDI and MusicXML).
-
Compound Word Transformer
Stars: 280YatingMusic/compound-word-transformer
Full-song symbolic music generation using compound-word tokens.
-
ReaLearn / Helgobox
Stars: 278helgoboss/helgobox
MIDI/OSC controller mapping for REAPER (ReaLearn).
-
staff
Stars: 275staff-rs/staff
Music-theory and score-rendering library with MIDI support.
-
MIDIUtil
Stars: 272MarkCWirt/MIDIUtil
Pure-Python library for writing multi-track MIDI files.
-
webaudio-tinysynth
Stars: 270g200kg/webaudio-tinysynth
Tiny GM-compatible synthesizer built on Web Audio, with SMF playback.
-
Abjad
Stars: 267Abjad/abjad
Python API for building LilyPond scores.
-
android-midi-lib
Stars: 265LeffelMania/android-midi-lib
Lightweight library for reading, editing and writing MIDI files on Android/Java.
-
signls
Stars: 265emprcl/signls
Non-linear, generative MIDI sequencer in the terminal.
-
uClock
Stars: 264midilab/uClock
Tight BPM clock generator for Arduino, Teensy, ESP32 and RP2040 with MIDI sync.
-
MusicTransformer-Pytorch
Stars: 262gwinndr/MusicTransformer-Pytorch
PyTorch reimplementation of Music Transformer.
-
MIDIcontroller
Stars: 257joshnishikawa/MIDIcontroller
Library for building class-compliant MIDI controllers with Teensy.
-
unimidi
Stars: 256arirusso/unimidi
Platform-independent realtime MIDI input and output for Ruby.
-
Sequencer64
Stars: 255ahlstromcj/sequencer64
Pattern-based live MIDI sequencer (predecessor of Seq66).
-
pyFluidSynth
Stars: 253amberwhitehead/pyfluidsynth
Python bindings for FluidSynth.
-
miditui
Stars: 253minimaxir/miditui
Interactive terminal UI for MIDI composing, mixing, and playback.
-
rtpmidid
Stars: 252davidmoreno/rtpmidid
RTP-MIDI (AppleMIDI) daemon for Linux that exposes peers as ALSA ports.
-
alsa-utils
Stars: 252alsa-project/alsa-utils
ALSA command-line tools including aconnect, aseqdump, and amidi.
-
VexFlow
Stars: 247vexflow/vexflow
Music notation and guitar tab rendering for the web.
-
rust-jack
Stars: 247RustAudio/rust-jack
Rust bindings for JACK, with MIDI ports.
-
midi-parser-js
Stars: 246colxi/midi-parser-js
Parse MIDI files (from base64, ArrayBuffer, or file input) into JSON.
-
WildMIDI
Stars: 245Mindwerks/wildmidi
Software synthesizer library that plays MIDI with GUS patches.
-
libADLMIDI
Stars: 238Wohlstand/libADLMIDI
MIDI player library with OPL3 (FM) emulation.
-
jsmidgen
Stars: 237dingram/jsmidgen
Small library for generating MIDI files in JavaScript.
-
setBfree
Stars: 235pantherb/setBfree
DSP tonewheel organ with MIDI control.
-
Euterpea
Stars: 234Euterpea/Euterpea2
Haskell library for music composition with MIDI I/O.
-
RustySynth
Stars: 233sinshu/rustysynth
SoundFont MIDI synthesizer written in pure Rust.
-
MNX
Stars: 230w3c-cg/mnx
W3C draft next-generation music notation format.
-
truce
Stars: 225truce-audio/truce
Cross-platform audio and MIDI plugin framework in Rust.
-
QjackCtl
Stars: 223rncbc/qjackctl
JACK control panel and ALSA/JACK MIDI patchbay.
-
MeltySynth
Stars: 219sinshu/meltysynth
SoundFont MIDI synthesizer for .NET with no dependencies.
-
managed-midi
Stars: 217atsushieno/managed-midi
Cross-platform .NET MIDI device access and SMF support.
-
Zynthian
Stars: 216zynthian/zynthian-ui
UI for the Zynthian open synth platform (Raspberry Pi based MIDI sound module).
-
Zenith MIDI
Stars: 216arduano/Zenith-MIDI
Fast GPU-based MIDI renderer for extremely dense ("black") MIDIs.
-
USBHost_t36
Stars: 213PaulStoffregen/USBHost_t36
USB host library for Teensy 3.6/4.x, including USB-MIDI host.
-
Melrōse
Stars: 213emicklei/melrose
Interactive language for programming melodies that plays over MIDI.
-
PortMidi
Stars: 212PortMidi/portmidi
Portable realtime MIDI I/O library used by many audio applications.
-
Piano (Tone.js)
Stars: 210tambien/Piano
Multi-sampled Salamander grand piano for Tone.js with pedal and velocity.
-
Tonic
Stars: 208AudioKit/Tonic
Swift music-theory library: notes, intervals, chords, and keys.
-
Arduino-USBMIDI
Stars: 204lathoub/Arduino-USBMIDI
USB-MIDI transport for the Arduino MIDI Library.
-
Anticipatory Music Transformer
Stars: 203jthickstun/anticipation
Controllable symbolic-music generation with anticipation.
-
midly
Stars: 199kovaxis/midly
Fast, zero-allocation-capable MIDI file and stream parser for Rust (no_std friendly).
-
midi2usbhost
Stars: 199rppicomidi/midi2usbhost
Raspberry Pi Pico bridge from a USB-MIDI device to a serial MIDI port.
-
easymidi
Stars: 196dinchak/node-easymidi
Simple event-based MIDI messaging for Node.js.
-
musicaiz
Stars: 193carlosholivan/musicaiz
Symbolic music generation, evaluation and analysis framework.
-
Seq66
Stars: 192ahlstromcj/seq66
Live-looping, pattern-based MIDI sequencer.
-
mididriver
Stars: 191billthefarmer/mididriver
Android MIDI driver using the Sonivox EAS synthesizer.
-
symusic
Stars: 189Yikai-Liao/symusic
Very fast MIDI file parsing and processing with a C++ core and Python bindings.
-
midilib
Stars: 188jimm/midilib
Pure-Ruby MIDI file and event manipulation library.
-
The MidiBus
Stars: 188sparks/themidibus
Simple MIDI library for Processing.
-
GeneralUser GS
Stars: 184mrbumpy409/GeneralUser-GS
Compact, freely licensed GM/GS SoundFont bank.
-
miti
Stars: 184schollz/miti
Musical instrument textual interface: write MIDI sequences as text.
-
raveloxmidi
Stars: 183ravelox/pimidi
RTP-MIDI network service for Linux and Raspberry Pi.
-
Sushi
Stars: 182elk-audio/sushi
Headless plugin host for embedded Linux with MIDI and OSC control.
-
obs-midi
Stars: 181cpyarger/obs-midi
Control OBS Studio with MIDI devices.
-
Lakh MIDI tools
Stars: 177craffel/midi-dataset
Code behind the Lakh MIDI Dataset: matching and aligning MIDI to audio.
-
Sanford.Multimedia.Midi
Stars: 176tebjan/Sanford.Multimedia.Midi
.NET toolkit for MIDI files, sequencing, and device I/O.
-
OPL3 Bank Editor
Stars: 174Wohlstand/OPL3BankEditor
Editor for OPL3 FM banks with MIDI playback.
-
android-midisuite
Stars: 167philburk/android-midisuite
Android MIDI test programs and examples (MIDI keyboard, scope, synth).
-
Keyboard (AudioKit)
Stars: 165AudioKit/Keyboard
SwiftUI piano keyboard with MIDI-friendly layouts.
-
alsa-rs
Stars: 163diwic/alsa-rs
Rust bindings for ALSA, including the sequencer and rawmidi APIs.
-
USBMidiKliK4x4
Stars: 160TheKikGen/USBMidiKliK4x4
Firmware for a multi-port USB-MIDI interface on STM32 "Blue Pill" boards.
-
midi-file
Stars: 158carter-thaxton/midi-file
Small, dependency-free MIDI file parser and writer for Node and browsers.
-
MetaMIDI Dataset
Stars: 157jeffreyjohnens/MetaMIDIDataset
Large MIDI collection with metadata matched to audio and MusicBrainz.
-
PDMX
Stars: 157pnlong/PDMX
Public-domain MusicXML dataset for symbolic music processing.
-
Multitrack Music Transformer
Stars: 155salu133445/mmt
Multitrack symbolic music generation.
-
SCAMP
Stars: 154MarcTheSpark/scamp
Composition framework that plays via SoundFonts/MIDI and exports notation.
-
Nottingham dataset
Stars: 150jukedeck/nottingham-dataset
Cleaned Nottingham folk-tune dataset with MIDI.
-
pypianoroll
Stars: 148salu133445/pypianoroll
Multitrack piano-roll representation with MIDI I/O and visualization.
-
AAP (Android Audio Plugin)
Stars: 140atsushieno/aap-core
Audio plugin format and framework for Android that uses MIDI 2.0 UMP for events.
-
micromidi
Stars: 138arirusso/micromidi
Ruby DSL for live MIDI messaging and scripting.
-
Midica
Stars: 135truj/midica
Music programming language that compiles to MIDI, with a player.
-
BLE-MIDI for Android
Stars: 134kshoji/BLE-MIDI-for-Android
BLE MIDI central and peripheral implementation for Android.
-
midi2audio
Stars: 134bzamecnik/midi2audio
Render MIDI to audio with FluidSynth from Python or the command line.
-
Symbolic music datasets
Stars: 134wayne391/symbolic-music-datasets
Curated list of symbolic music datasets.
-
midi-json-parser
Stars: 133chrisguttandin/midi-json-parser
Parses MIDI files into JSON, running the work in a Web Worker.
-
osmd-audio-player
Stars: 133jimutt/osmd-audio-player
Playback for OpenSheetMusicDisplay scores.
-
midi-sounds-react
Stars: 131surikov/midi-sounds-react
React component for playing MIDI instruments with WebAudioFont.
-
libOPNMIDI
Stars: 130Wohlstand/libOPNMIDI
MIDI player library with OPN2 (YM2612) FM emulation.
-
ESP32_Host_MIDI
Stars: 128sauloverissimo/ESP32_Host_MIDI
MIDI 1.0 and 2.0 host transports for ESP32 (USB host, BLE, and more) for Arduino and ESP-IDF.
-
Reaticulate
Stars: 128jtackaberry/reaticulate
Articulation management for orchestral libraries in REAPER.
-
flutter_midi_command
Stars: 121InvisibleWrench/FlutterMidiCommand
Flutter plugin for MIDI over USB and BLE on iOS, Android, macOS, and Linux.
-
usb_midi_host
Stars: 119rppicomidi/usb_midi_host
USB-MIDI host driver for TinyUSB on the Raspberry Pi Pico (RP2040).
-
Aria
Stars: 119EleutherAI/aria
Pretrained autoregressive piano model on symbolic MIDI.
-
tegridy-tools
Stars: 117asigalov61/tegridy-tools
Symbolic-music AI tools including the TMIDIX MIDI processing module.
-
JSB Chorales
Stars: 115czhuang/JSB-Chorales-dataset
Bach chorales dataset in pickled and JSON form for sequence modelling.
-
USBMidiKliK
Stars: 107TheKikGen/USBMidiKliK
Firmware turning cheap USB-MIDI cables into robust MIDI interfaces.
-
MIDI2ScoreTransformer
Stars: 106TimFelixBeyer/MIDI2ScoreTransformer
End-to-end piano performance-MIDI to score (MusicXML) conversion (ISMIR 2024).
-
ktmidi
Stars: 104atsushieno/ktmidi
Kotlin Multiplatform MIDI 1.0/2.0 library with UMP and MIDI-CI.
-
orca (norns)
Stars: 102itsyourbedtime/orca
Lua port of ORCA for monome norns, with MIDI output.
-
Pigiron
Stars: 98plewto/Pigiron
MIDI routing utility controlled over OSC.
-
MIOS32
Stars: 95midibox/mios32
MIDIbox operating system for STM32/LPC microcontrollers.
-
GigaMIDI
Stars: 94Metacreation-Lab/GigaMIDI-Dataset
Very large MIDI dataset with expressive-performance annotations.
-
node-rtpmidi
Stars: 93jdachtera/node-rtpmidi
RTP-MIDI / AppleMIDI implementation for Node.js.
-
sektron
Stars: 92emprcl/sektron
Terminal MIDI step sequencer for live performance.
-
Giant Music Transformer
Stars: 89asigalov61/Giant-Music-Transformer
Large multi-instrument symbolic music transformer.
-
MIDI 2.0 Workbench
Stars: 87midi2-dev/MIDI2.0Workbench
Testing and development tool for MIDI 2.0 and MIDI-CI devices.
-
coremidi (Rust)
Stars: 87chris-zen/coremidi
Safe Rust bindings for Apple's CoreMIDI.
-
PM2S
Stars: 87cheriell/PM2S
Performance-MIDI-to-score conversion with deep learning (beats, key, time signature).
-
ZiggySynth
Stars: 87sinshu/ziggysynth
SoundFont MIDI synthesizer written in pure Zig.
-
rimd
Stars: 84RustAudio/rimd
Rust library for reading, writing, and manipulating MIDI files.
-
x42 MIDI filters
Stars: 82x42/midifilter.lv2
Collection of LV2 MIDI filter plugins.
-
VMPK
Stars: 81pedrolcl/VMPK
Virtual MIDI Piano Keyboard.
-
musictheory (Go)
Stars: 81brettbuddin/musictheory
Music-theory concepts (intervals, scales, chords) in Go.
-
go-meltysynth
Stars: 80sinshu/go-meltysynth
SoundFont MIDI synthesizer written in pure Go.
-
javax.sound.midi for Android
Stars: 79kshoji/javax.sound.midi-for-Android
javax.sound.midi API implementation for Android.
-
js-synthesizer
Stars: 78jet2jet/js-synthesizer
FluidSynth compiled to WebAssembly with an AudioWorklet player.
-
abcMIDI
Stars: 78sshlien/abcmidi
abc2midi, midi2abc, and related tools for converting between ABC and MIDI.
-
Slakh utils
Stars: 77ethman/slakh-utils
Utilities for Slakh2100, multitrack audio synthesized from Lakh MIDI.
-
Pagan
Stars: 75quintinfsmith/pagan
Music sequencer for Android.
-
AM_MIDI2.0Lib
Stars: 72midi2-dev/AM_MIDI2.0Lib
MIDI 2.0 UMP and MIDI-CI library for embedded and desktop.
-
pico-usb-midi-processor
Stars: 70rppicomidi/pico-usb-midi-processor
Raspberry Pi Pico USB-MIDI pass-through processor with configurable transforms.
-
Los Angeles MIDI Dataset
Stars: 70asigalov61/Los-Angeles-MIDI-Dataset
Large deduplicated MIDI dataset with metadata and tooling.
-
midigrid
Stars: 70miker2049/midigrid
Use MIDI grid controllers (e.g. Launchpad) as monome grids on norns.
-
cmidi2
Stars: 68atsushieno/cmidi2
Header-only MIDI 2.0 UMP and MIDI-CI library in C.
-
MIDI.jl
Stars: 66JuliaMusic/MIDI.jl
Read, write, and manipulate MIDI files in Julia.
-
Organelle OS
Stars: 66critterandguitari/Organelle_OS
Operating system for the Organelle Pd-based instrument.
-
Swami
Stars: 64swami/swami
Instrument patch editor for SoundFont files.
-
usbd-midi
Stars: 63rust-embedded-community/usbd-midi
USB-MIDI device class for embedded Rust (usb-device).
-
Renoise tools
Stars: 63renoise/xrnx
Official Renoise Lua tools and API docs, including MIDI utilities.
-
LuaMidi
Stars: 62PedroAlvesV/LuaMidi
Pure-Lua library for reading and writing MIDI files.
-
midish
Stars: 61ratchov/midish
Command-line MIDI sequencer and filter.
-
Humdrum tools
Stars: 61humdrum-tools/humdrum-tools
Humdrum Toolkit and extras, including MIDI conversion utilities.
-
ni-midi2
Stars: 58midi2-dev/ni-midi2
Native Instruments' MIDI 2.0 foundation library (UMP, MIDI-CI, SysEx).
-
CircuitPython MIDI
Stars: 57adafruit/Adafruit_CircuitPython_MIDI
MIDI over USB and serial for CircuitPython boards.
-
MicroDexed
Stars: 57dcoredump/MicroDexed
Dexed (DX7) FM synth engine running on a Teensy.
-
pymidi
Stars: 53mik3y/pymidi
Python RTP-MIDI / AppleMIDI implementation.
-
midiminder
Stars: 53mzero/midiminder
Keeps ALSA MIDI connections in place across device replugs and reboots.
-
bl-midi2-rs
Stars: 53midi2-dev/bl-midi2-rs
Strongly typed MIDI 2.0 (UMP) message library for Rust, no_std friendly.
-
MusicManipulations.jl
Stars: 52JuliaMusic/MusicManipulations.jl
Quantization, humanization and analysis of MIDI note data in Julia.
-
a2jmidid
Stars: 50jackaudio/a2jmidid
Bridge that exposes ALSA sequencer MIDI ports to JACK.
-
JZZ-midi-SMF
Stars: 48jazz-soft/JZZ-midi-SMF
Standard MIDI File read/write/play add-on for JZZ.
-
mididings
Stars: 47mididings/mididings
MIDI router and processor with a Python-based filter language.
-
midi_synth
Stars: 44fhunleth/midi_synth
Play music from Elixir through a FluidSynth-backed synthesizer.
-
midi-msg
Stars: 43AlexCharlton/midi-msg
Complete MIDI 1.0 message (and SMF) parsing and serialization for Rust, no_std friendly.
-
pico-usb-midi-filter
Stars: 42rppicomidi/pico-usb-midi-filter
Raspberry Pi Pico that sits between a USB-MIDI device and host and filters messages.
-
RtMidi.Core
Stars: 41micdah/RtMidi.Core
Managed .NET wrapper around RtMidi.
-
humlib
Stars: 39craigsapp/humlib
Humdrum file parsing library with MIDI conversion tools.
-
@julusian/midi
Stars: 38Julusian/node-midi
Maintained fork of node-midi with prebuilt binaries.
-
Notochord
Stars: 37Intelligent-Instruments-Lab/notochord
Probabilistic real-time MIDI performance model.
-
ex-portmidi
Stars: 35lucidstack/ex-portmidi
Elixir bindings to PortMidi for realtime MIDI I/O.
-
uapmd
Stars: 34atsushieno/uapmd
Plugin hosting library (VST3/AU/LV2/CLAP) with MIDI 2.0 UMP support.
-
QmidiNet
Stars: 31rncbc/qmidinet
MIDI network gateway over UDP/IP multicast (ipMIDI compatible).
-
tusb_ump
Stars: 29midi2-dev/tusb_ump
TinyUSB class driver for USB MIDI 2.0 (UMP) devices.
-
midi-player (chrisguttandin)
Stars: 29chrisguttandin/midi-player
MIDI file player that sends to Web MIDI outputs with accurate scheduling.
-
amidiauto
Stars: 25BlokasLabs/amidiauto
Automatically connects ALSA MIDI devices on Linux (used by Blokas Pisound).
-
Midiex
Stars: 24haubie/midiex
Cross-platform MIDI for Elixir built on midir via Rustler.
-
midi2 (portable core)
Stars: 18sauloverissimo/midi2
Portable C infrastructure for building MIDI 2.0 devices and hosts.
-
CircuitPython BLE MIDI
Stars: 17adafruit/Adafruit_CircuitPython_BLE_MIDI
BLE-MIDI service for CircuitPython.
-
drumstick
Stars: 16pedrolcl/drumstick
C++/Qt MIDI libraries: ALSA sequencer, file I/O, and realtime backends.
-
go-coremidi
Stars: 15youpy/go-coremidi
CoreMIDI bindings for Go.
-
tenpin_scope
Stars: 12bgporter/tenpin_scope
Debugging monitor for MIDI 2.0 data.
-
USB MIDI 2.0 Descriptor Builder
Stars: 10midi2-dev/usbMIDI2DescriptorBuilder
Generates USB MIDI 2.0 descriptors for device firmware.
-
Adafruit CircuitPython USB Host MIDI
Stars: 9adafruit/Adafruit_CircuitPython_USB_Host_MIDI
USB host MIDI for CircuitPython boards.
-
elixir-midifile
Stars: 8jimm/elixir-midifile
MIDI file reader and writer for Elixir.
-
sonivox
Stars: 6EmbeddedSynth/sonivox
Sonivox EAS wavetable GM synthesizer (from Android), as a standalone library.
-
midi2usbdev
Stars: 5rppicomidi/midi2usbdev
Raspberry Pi Pico as a USB-MIDI device bridging serial MIDI ports.
-
Magenta
Stars: 20kmagenta/magenta
Google research project on ML for music and art (archived models and tools).
-
Muzic
Stars: 5.0kmicrosoft/muzic
Microsoft research on AI music: understanding and generation.
-
MIDI.js
Stars: 3.9kmudcube/MIDI.js
Early, widely-used library for playing MIDI with SoundFonts in the browser.
-
Strudel
Stars: 3.0ktidalcycles/strudel
Tidal patterns in the browser, with Web MIDI output. Development continues on Codeberg.
-
Tidal
Stars: 2.8ktidalcycles/Tidal
Live-coding pattern language that can drive MIDI devices. Development continues on Codeberg.
-
Helm
Stars: 2.5kmtytel/helm
Polyphonic software synthesizer with many modulation sources.
-
Piano transcription
Stars: 2.0kbytedance/piano_transcription
High-resolution piano transcription with pedals (audio to MIDI).
-
GiantMIDI-Piano
Stars: 1.9kbytedance/GiantMIDI-Piano
Large classical piano MIDI dataset transcribed from recordings.
-
Nuked-SC55
Stars: 757nukeykt/Nuked-SC55
Low-level emulation of the Roland SC-55 sound module.
-
sfizz
Stars: 531sfztools/sfizz
SFZ sample-player library, LV2 and VST plugin.
-
soundfont-player
Stars: 476danigb/soundfont-player
Lightweight sample-based instrument player for the browser.
-
OmniMIDI
Stars: 401KaleidonKep99/OmniMIDI
Low-latency SoundFont-based MIDI synthesizer driver for Windows.
-
Cadence
Stars: 375falkTX/Cadence
Linux audio tools including the Catia JACK/ALSA MIDI patchbay.
-
note-seq
Stars: 237magenta/note-seq
NoteSequence protobuf utilities: MIDI and MusicXML conversion for ML.
-
Open Stage Control
Stars: 7jean-emmanuel/open-stage-control
Customizable control surfaces for MIDI and OSC, in the browser.
No libraries match. Try clearing a filter, or suggest one.