send MIDI over the network
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
noerw a2d27260a9 add mididump.js for midi debug stuff пре 2 година
.gitignore add npm package.json пре 4 година
LICENSE Initial commit пре 7 година update readme пре 4 година
mididump.js add mididump.js for midi debug stuff пре 2 година
midisrv.js v0.4.0 пре 4 година
package.json add mididump.js for midi debug stuff пре 2 година
yarn.lock upgrade deps, add yarn.lock пре 2 година


MIDI websocket client & server, running on node.js

Allows broadcasting of MIDI messages over the network/web.

May also function as a MIDI router on a single machine.


Requires node >=v0.12 and some additional tools for MIDI-IO:

On linux the packages alsa-base, libasound2-dev, build-essential, python are required. Windows and OSX need Python 2.7 & a C++ Compiler. For more information see here.

Once the dependencies are installed, run npm install midisrv -g. Now midisrv is in your path and callable anywhere in from the terminal.


  • display help:


  • list MIDI inputs/outputs. the index is then used for the -i and -o arguments

    midisrv -l

  • run the server, which then broadcasts MIDI messages from the selected MIDI input:

    midisrv -i <midiInputNumber> [-p <portNumber]

  • run the client, which connects to a server instance, and sends the recieved messages to the selected MIDI output:

    midisrv -o <midiOutputNumber> [-u <serverAddress> -p <portNumber>]

  • route messages on a single machine from one midi device to another:

    midisrv -i <midiInputNumber> -o <midiOutputNumber> [-p <portNumber>]