MIDI SysEx in
Open Stage Control

Open Source Audio Meeting Cologne

Daniel Appelt / 2018-01-17

Open Stage Control

  • a libre desktop OSC bi-directional control surface application

  • built on web technologies

  • run as Electron web server that accepts any number of clients

Open Sound Control

  • a protocol for networking sound synthesizers, computers, and other multimedia devices

  • for purposes such as musical performance or show control

  • Ardour OSC example:

    /transport_play

MIDI System Exclusive Messages

  • allows machine-dependent messages over MIDI

  • more control than standard MIDI but low-level

  • SysEx example:

    F0 7E 7F 06 01 F7

Why use OSC for SysEx?

  • free SysEx editors are rare

  • Open Stage Control already had simple MIDI support and…​

    • JavaScript, Python, and a clean code base!

Challenges

  • How to encode SysEx in OSC messages?

    /sysex  "F0 7E 7F nn nn F7"  "06"  "01"
  • SysEx often needs checksum calculation

Demo Time

The End