WEBMIDI.js v3 Now Available

Developer Jean-Philippe Côté let us know that v3 of the WEBMIDI.js library is now available.

WEBMIDI.js is designed to make it easy for web developers to create browser-based applications that can interact with MIDI instruments.

Version 3 has been rewritten from scratch to make it both future-proof and backwards-compatible. It uses a modern development paradigm and now has its own dedicated website at webmidijs.org.

The library offers numerous new features such as:

  • Support for Node.js. The exact same code can be used in supported browsers and in Node.js.
  • Distribution in 3 flavours: ESM (ECMAScript module for modern browsers), CJS (CommonJS module for Node.js) and IIFE (Immediately Invoked Function Expression for legacy browsers and ad hoc usage).
  • TypeScript Support. Every new release includes a TypeScript definition file for CJS and ESM in the dist directory.
  • New InputChannel and OutputChannel objects. You can now work with a single MIDI channel if that’s appropriate for your needs.
  • New Note object. Makes it easier to work with notes and pass them around from one method to the next.
  • New Message object that allows easier routing of MIDI messages, including the ability to automatically forward inbound MIDI messages to one, or more, outputs.
  • Improved support for system exclusive (sysex) messages.
  • Support for promises, while preserving legacy callback support.
  • Improved support for RPN/NRPN messages.
  • Addition of hundreds of unit tests to make sure the library remains stable at all times.

See the webmidijs site for details or to download.

10 thoughts on “WEBMIDI.js v3 Now Available

    1. Let’s hope “ready for MIDI 2.0” is a 2021 thing and that 2022 gives us practical tools to leverage the protocol which was adopted officially before the pandemic.

    2. Yes, that’s (at least partly) what it means. However, the Web MIDI API (MIDI 1.0) has not officially been adopted yet. MIDI 2.0 on the web is still far… Most of the future-proofing that was done concerns the JavaScript side of things.

  1. Whoa! Just realized that the project is supported by Cégep Édouard-Montpetit! Nice to know there’s work done in #MusicTech through a public post-secondary institution!
    Technologists often think about the need for private funding. Teachers (especially those who are artists) may take on neat projects without those strings attached.

    Cegeps are tuition-free colleges in Quebec offering vocational (“professional”, the “p” at the end) and pre-university programs (“general”, the “G” part). They’ve been going on for over 50 years and are a fascinating part of Quebec’s higher education. (Disclaimer: I work for a nonprofit which provides government-paid services for this sector.)

    Cegep teachers rarely have time to do research and there’s little incentive for them to do so.

    So, the fact that Jean-Philippe Côté has been working on this project with support from the cegep is great news! I’ll reach out.

  2. Amazing work. Congrats on (and thank you for) the release @Jean-Philippe and team.

    Now, if we could only get Apple on board… 🙁

Leave a Reply to Jean-Philippe Côté Cancel reply

Your email address will not be published. Required fields are marked *