MIDI

The near-adequate compromise for digital music that we are stuck with


Joe Wolfe’s excellent MIDI note summary. Source: Joe Wolfe

More-or-less working since the 1980s; still the best idea, if you can live with 7-bit scalars as your lingua franca.

Handy things

Luis Lloret’s OSMID aims to provide a lightweight, portable, easy to use tool to convert MIDI to OSC and OSC to MIDI.

Mark Francombe’s browser MIDI/OSC converter, MIDI MESSAGE GENERATOR?

JackAss routes midi from jack-blind hosts:

JackAss is a VST plugin that provides JACK-MIDI support for VST hosts. Simply load the plugin in your favourite host to get a JACK-MIDI port. Each new plugin instance creates a new MIDI port.

Python

Javascript

Chrome supports Javascript MIDI natively. See also synestizer.

It doesn’t work in Firefox, but jazz-soft makes a variety of weird plugins that might enable firefox midi although the install process looks flakey.

Network MIDI

Various interacting standards, of course.

RTP MIDI

RTP-MIDI is an open MIDI standard that Apple (partially?) implements.

Mclaren audio sells some MIDI apps for rpi for linux desktop that do easy interaction with apple network midi, notable rtpmidi which could perhaps simplify things if it worked, although on my Ubuntu 19.04 install it fails with an error:

/opt/rtpmidi_0.5.0-ubuntu18.04/bin/rtpmidi: error while loading shared libraries: libicui18n.so.60: cannot open shared object file: No such file or directory

Open source, free: Qmidictl (android) and qmidinet (linux).

ipmidi for Windows is 69€.

ALSA native

Really easy MIDI over Network.

# on one computer
aseqnet
# on the other:
aseqnet ip.of.first.computer
# You can use the "-v" option to see info about what’s happening.

# A new MIDI device will appear on each computer:
aconnect -i
# Use aconnect to connect MIDI devices/synths:
aconnect input# output#

Jack native

Jack has some complicated network mess which apparently also includes MIDI?

Hardware

Keith McMillan fancy controllers

e.g. QUNexus, multi-dimensional midi controllers. (Ongoing project – find out how to work them in Bitwig.)

GM percussion codes

EZ-drums

EZ-drums

  • 35 Bass Drum 2
  • 36 Bass Drum 1
  • 37 Side Stick/Rimshot
  • 38 Snare Drum 1
  • 39 Hand Clap
  • 40 Snare Drum 2
  • 41 Low Tom 2
  • 42 Closed Hi-hat
  • 43 Low Tom 1
  • 44 Pedal Hi-hat
  • 45 Mid Tom 2
  • 46 Open Hi-hat
  • 47 Mid Tom 1
  • 48 High Tom 2
  • 49 Crash Cymbal 1
  • 50 High Tom 1
  • 51 Ride Cymbal 1
  • 52 Chinese Cymbal
  • 53 Ride Bell
  • 54 Tambourine
  • 55 Splash Cymbal
  • 56 Cowbell
  • 57 Crash Cymbal 2
  • 58 Vibra Slap
  • 59 Ride Cymbal 2
  • 60 High Bongo
  • 61 Low Bongo
  • 62 Mute High Conga
  • 63 Open High Conga
  • 64 Low Conga
  • 65 High Timbale
  • 66 Low Timbale
  • 67 High AgogĂ´
  • 68 Low AgogĂ´
  • 69 Cabasa
  • 70 Maracas
  • 71 Short Whistle
  • 72 Long Whistle
  • 73 Short GĂĽiro
  • 74 Long GĂĽiro
  • 75 Claves
  • 76 High Wood Block
  • 77 Low Wood Block
  • 78 Mute CuĂ­ca
  • 79 Open CuĂ­ca
  • 80 Mute Triangle
  • 81 Open Triangle