advanced audio recording
MIDI interlink with S/PDIF
My music workstation differs from commercial applications in two ways:

1) to control the audio DSP features and the wavegen synthesizer, a MIDI like protocol is used with modified data width. Instead of using 7-Bit values like with common MIDI my virtual devices operate at 10 bits data width for a better accuracy.

2) To transport data with low latency, 25MHz busses with 8 bits of width are defined using an internal multiplexed S/PDIF serial protocol.

Using standard MIDI has some issues: It produces dynamic data length depending on the number of notes and controllers sent, causing a kind of jitter, so in common musical instruments, a time stamp related processing is used. This leads to the fact, that there is no good real-time operation possible when playing live, because time based processing of course requires a large buffer and look ahead features eventually.

With a 25MHz parallel 8Bit system, 200 MBit of bandwidth is available cutting down latency significantly.

To interlink devices over a larger distance of e.g. 5m, S/PDIF transceiver chips can be used to do this easily. Electrical S/PDIF transceivers (coax) typically run at 2-3Mbps and often work up to 6Mbps. For optical transmission, 10MHz seem to be possible, since ADAT already operates with 48kHz x 64*8 = 9Mbps (data bandwidth). Current optical transceivers do at least 13Mbps (raw).


The FPGA can handle 1024 virtual MIDI channels easily and route them from individual sources to dedicated output targets with nearly no latency. Transmission over S/PDIF like interfaces ensures low latency even of thousands of events have to be transmitted.

The table below shows the implementation for internal and external data streams with the 4x4 Bit MIDI extension leading to 12 Bit MIDI words finally. They can be transmitted using a stereo S/PDIF word or in the 10 Bit version be compressed into one 32 Bit S/PDIF word.  Next to the internal compressed format which allows the double bandwidth, there is also an external format with non S/PDIF protocol standard using the physical layer only which contains a full raw data stream to be send over serial interface without any reprocessing required. Just a FIFO and some retiming is needed.

Enhanced MIDI - PRotocol - Jürgen Schuhmacher - 2002

 Read a detailed article about the MIDI limits here

Enhanced MIDI protocol for higher transmission rates and lower latency

full transmission
of all channels
one data cycle

8 Bits
96 kHz
Audio DSP


© Jürgen Schuhmacher 2003