Categories: Software Prototypes/Non-Commercial Products

Submitted by:Kacper Kula

24 May 2023

Elevator Pitch


JavaScript and TypeScript library helping develop MIDI solutions for web, Node.js and mobile devices. Great for both learning MIDI protocol and creating commercial products!

Product Description


MIDIVal is a unique JavaScript / TypeScript library that aims to cover the majority of MIDI protocol and provide an easy-to-use interface for developing MIDI-enabled applications in web technologies. This makes it a perfect entry point for anyone interested in exploring MIDI capabilities as well as a great tool for all professionals who want to speed up their process and work on a higher level of abstraction. MIDIVal uses web technologies, meaning that you can create products that interact with MIDI without having to install anything on your machine. Some examples of products that can be developed on it include: - Web synthesiser librarians - In-browser synths - Collaborative MIDI devices using web sockets to synchronise messages - Mobile keyboards - Online MIDI-enabled art installations And much more. On top of browser support, it can also be run on Node.js environments allowing you to build console applications and React Native which enables you to create mobile applications for Android and iOS using JavaScript. Since recently it supports the latest addition to MIDI 1 specification - MPE! Thanks to that you can create great software devices that utilize polyphonic expressions.

How It's Innovative

MIDIVal is the only web library providing an intuitive interface to communicate with MIDI devices that can run in Node.js and React Native environments using the same code. It is the only high-level interface to communicate with MPE in JavaScript.

Most Inspiring Use Cases

Since releasing the first version of the MIDIVal library, I was really fascinated by all projects that started to pop up on the internet. Two that got my interest the most are: - linnstorm: a web app for exploring Linnstrument settings and tunings. More information: https://github.com/baliset/linnstorm - hsynth-web: Hydrasynth web controller that interacts with the synthesiser in real life and surfaces more information to the user than they would normally be able to see on the built-in screen. More information: https://github.com/tylercod3r/hsynth-web

Expansion Plans

Immediate plans for MIDIVal are to continue supporting MIDI 1.0 protocol, expanding on edge cases of the spec that are not covered yet by the library and adding more documentation and examples to help with adoption. I hope MIDIVal will become the go-to solution for tinkerers, tech-savvy musicians as well as professionals.


There are no plans in commercialisation this project - I believe a good, easy-to-use MIDI protocol library should be free to use. MIDIVal can serve as a great base for commercial products though.