Skip to content
This repository has been archived by the owner. It is now read-only.
send MIDI messages over the network. node CLI. repo moved!
Branch: master
Clone or download
Pull request Compare This branch is 21 commits ahead of PauloSeb:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


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>]

You can’t perform that action at this time.