Mike Slinn
Mike Slinn

Synthesizers and MIDI

Published 2023-10-16.
Time to read: 3 minutes.

This page is part of the av_studio collection, categorized under MIDI, Studio.

Music synthesizers, also called synths, generate sounds and often include a keyboard or pressure-sensitive pads.

Analog and Digital Synths

I bought my first synth in 1979, an ARP 2600 v2. It was an analog synth; instead of containing a digital computing device like a CPU, it consisted of analog components such as oscillators and physical filters made from capacitors and inductors. I remember how very heavy it was—43 pounds (19 kg)!

ARP 2600 v2
ARP 2600 v2

Back in those days, and earlier, patch cords were often used to electrically connect the sound generating components together in various combinations to shape the sound. Since then, the term patch has also been used for digital synths to refer to the sounds that they can make. For example, a synth might have patches for ‘saxophone’ and ‘piano’, and a drum machine might have patches for ‘snare’ and ‘hi-hat’.

PDP 11 main cabinet
PDP 11 main cabinet

For my undergraduate engineering thesis in 1979, I wrote a PDP-11 assembler program that turned a Digital Equipment PDP 11-45 into a virtual ARP 2600, complete with A/D and D/A, and a graphical user interface that utilized a Tektronix vector CRT and a light pen.

The main computer cabinet was 6 feet tall, almost 2 feet wide, and 2.5 feet deep. A second cabinet held the CRT, and the terminal rested nearby on a small table.


Most synths today are digital, not analog, and comply with the MIDI standard, which was initially published in 1983. The MIDI specification has continued to evolve. The MIDI 1.0 Detailed Specification, published in 1985, clarified the original MIDI specification.

MIDI has been cited as an early example of open-source technology.

MIDI patches are organized into banks. Patch banks usually contain 128 patches, but some MIDI devices have 256 patches per bank. A preset is a MIDI patch that was programmed by the synthesizer vendor.

Patches can be remotely selected by MIDI program change messages.

The General MIDI standard, also known as GM or GM 1, was published in 1991. GM is a specification for MIDI instruments; it defines standardized instrument names and their corresponding MIDI program numbers.

Roland GS, introduced in 1991, is a superset of the General MIDI standard that added several proprietary extensions, including:

  • The ability to address multiple patch banks, nine drum kits with 14 additional drum sounds each.
  • Simultaneous percussion kits.
  • Control Change messages for controlling the send level of sound effect blocks.
  • Support for additional parameters, portamento, sostenuto, and soft pedal.
  • Model-specific System Exclusive (SysEx) messages for setting various parameters of the synth.

Yamaha XG, introduced in 1994, is a GM superset that added several proprietary extensions, notably support for Yamaha's 600-series instruments and 32 simultaneous notes (polyphony).

The MIDI 1.0 Detailed Specifications were published in 1996, and included the specification of the Standard Midi File (smf) format. Standard MIDI Files contain all the MIDI instructions to generate notes, control individuals volumes, select instrument sounds, and even control reverb and other effects. The files are typically created by a MIDI sequencer and then played on some kind of MIDI synthesizer.

The GM 1 specification was superseded by GM 2 in 1999; however, GM 1 is still commonly used.

MIDI 2.0

In 2020, MIDI 2.0 standard was introduced. The first products using the MIDI 2.0 standard began to reach the market in 2023. However, as I write this, MIDI 2.0 is still bleeding-edge technology. Most musicians should wait a few years before investing in products that use MIDI 2.0.

The MIDI 2.0 Property Exchange specification is part of the MIDI 2.0 family of specifications. It uses JSON over SysEx to get and set device properties.

Property exchange is part of the MIDI Capability Inquiry (MIDI-CI) specification and MIDI 2.0. Property exchange is a method for getting and setting various data, called resources, between two devices. Resources are exchanged inside two payload fields of system exclusive messages defined by MIDI-CI: the header data field and the property data field.

In the future, once MIDI 2.0 becomes more commonly used, MIDI 2.0 Property Exchange will become important for the next generation of MIDI 2.0 patch librarians.