Code Libraries


The WebMidi JavaScript library will help you tame the lower-lever HTML5 Web MIDI API. It will let you send and receive MIDI messages with ease, control instruments with user-friendly functions (playNote, sendPitchBend, etc.) and react to MIDI input with simple event listeners (noteon, pitchbend, controlchange, etc.).


Tone.js is an extensive Web Audio framework to create interactive music. It offers features like transport and timing, prebuilt synths/effects and DSP modules to build your own synthesizers, effects, and complex control signals.


The osc.js library implements the Open Sound Control protocol. It lets you read and write OSC-formatted binary message via plain JavaScript objects. It can receive OSC data in different ways: serial port APIs such as node-serialport or chrome.serial, socket APIs such as Node.js dgram or WebRTC data channels, WebSockets or binary XHR messages should all work.


This Node.js module abstracts the command-line usage of SoX so you can create complex SoX commands and run them with ease. For example, you will be able to play concatenate and trim audio files, transcode audio streams, apply a wide variety of effects, etc.