Octavia is an event-driven multi-standard MIDI state-tracking library.


  • Free, libre and open-source, under GNU LGPL v3.0.
  • Behaves like a real MIDI module.
  • Developed with Firefox and an open Web in mind.
  • Supports 8 ports, 128 channels, 512-voice polyphony maximum.
  • Built-in support of several standards, multiple plug-in cards, and tons of devices.
  • Tells when MIDI programming errors are spotted, reducing chances of faulty programming.
  • Available in JavaScript (browser and Deno).
  • No modification required to run in Tor Browser, Bromite and LibreWolf.
  • Wide support of bank mapping and bitmaps via midi-db.

Dev Talks

We're now hosting a new place to handle development talks! If you don't have a GitHub account, or just prefer to report bugs or give suggestions in a more casual way, feel free to chat with us with links below!

Further documentation

Demo usage

Support coverage


SysEx documentation

API documentation