96 kHz.org
Advanced Audio Recording

MIDI send as Audio

This article shows an idea to send MIDI data over audio paths to avoid issues caused by the limitations of the MIDI standard in terms of e.g. transmission bandwidth. The digital serial data is transformed into an analog signal to transmitted via DAC to external equipment.

MIDI Protocol prepared to send as audio

The diagram above shows the transformation of each of the 6 nibbles of a MIDI message into codes for the 16 values as well as 2 additional codes for start and stop marking a transition. Altogether 8 values are sent with up to 44kHz in this example. Because of noise and BIAS issues, the granularity of the analog signal is limited, so at first glance 16 steps are used.


MIDI Protocol prepared to send as audio 

To ensure a secure operation the start / stop symbols both have isolated levels far from the operation range.


Here is a diagram of the voltages and the process of recovery:



With the common sample rate of 44,1 kHz a symbol can be transmitted securely using 3 samples (dark blue curve)exceeding the given analog bandwidth up to 14700kHz. The analog value (red) is then recovered and the receiver's without tricky filtering or resampling and the true analogue value is obtained.(green curve) with short delay.


MIDI-speed using audio

 One MIDI message (3 Bytes = 6+2 Symbols) thus can be transmitted with at least 1,8kHz. Using an even more intelligent reconstruction in the receiver 2 samples per symbol can be used too. Also the resolution might be increased and more symbols could be wrapped by transition markers. The following table shows the possible MIDI speeds:

MIDI-acceleration by AUDIO Transmission


For demonstration, I made 44,1kHz Transmission and recovery using Steinberg Wavelab to create Signals and reconstructed them with a DSP.



Existing audio transmission paths can be used to speed up MIDI transmission by up to 10 using just one stereo channel.



© 1999 - Jürgen Schuhmacher