Mike Slinn

Synthesizers and MIDI

Published 2023-10-16. Last modified 2024-12-01.
Time to read: 5 minutes.

This page is part of the av_studio collection.

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.

MIDI

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 individual 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 1.1

The MIDI 1.1 specification was published May 1, 2006. Changes to the MIDI file format are MIDI-File Format sumarized here, including sequences, tracks, file formats, chunks, meta-events, messages, note numbers.

MIDI File Format Types 0 and 1

MIDI Type 1 files contain separate information for each track. For a MIDI Type 0 file, however, all the tracks are merged into a single track, although MIDI channel information is still retained. When a Type 0 file is loaded into a sequencer, it will take each channel’s information and put it on a separate track. So for a typical sequence with one track per MIDI channel, it will normally not matter if the sequence is saved as Type 0 or Type 1.

But if your source sequence has several tracks assigned to the same MIDI channel (for example several drum tracks playing the same program on the same channel, but with an individual drum sound on each track), then it is best to export it as a Type 1 file. If exported as Type 0, all tracks assigned to the same channel will be merged into a single track when the .MID file is loaded.

Standard MIDI-File Format Spec. 1.1, updated

 – From MIDI Type 0 and MIDI Type 1 files

MIDI 2.0

In 2020, the 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.

First MIDI 2 Devices

Roland A-88MKII MIDI Keyboard Controller

Nov. 16, 2023 – the Roland A-88MKII MIDI Keyboard Controller got a software update to MIDI 2.0 (the hardware was already MIDI 2.0 capable).

I was not able to find any description from Roland of this product’s MIDI 2.0 capabilities. The Owners manual makes no mention of MIDI 2.0. The Roland announcement did not say which download contains the update, however after examining them all, I found that only the A-88MKII System Program (Ver.2.00) mentioned MIDI 2.0. The download had absolutely no documentation. This is consistent with the finest tradition of Japanese hardware device manufacturers.

You now get 256 instead of 16 MIDI channels, up to 256 articulation types (8-bit) with different playing styles, higher resolution, MIDI control data per note for VST3 plugins, and more.
 – From Synth Anatomy

I do not know what “and more” means, but given what I know of Roland’s attitude towards software, I have low expectations.

Korg Keystage

December 2023 – the Korg Keystage claims to be the first keybaord that implements MIDI 2.0 Property Exchange. Ableton Live also supports MIDI 2.0 Property Exchange, and apparently the two products cooperate well. The rest of the MIDI 2.0 spec is not mentioned in the Korg product documentation.

The Owners Manaul does not mention MIDI 2.0 in the specifications. It only says that the Korg Keystate USB-MIDI driver must be used on Windows.

Another disppointing example of the Japanese hardware manufacturer attitude towards software.

Opportunity

Neither of the above products should be called MIDI 2.0 devices. They only implement a small portion of the important MIDI 2.0 features. Furthermore, software documentation and support is seriously deficient.

Perhaps the established manufacturers are concerned that MIDI 2.0 renders their existing product lineup obsolete. This is an opportunity for a new manufacturer to take advantage of.

MIDI Utilities

GN1:0

Günter Nagler wrote a free Windows utility called GN1:0. It converts a MIDI file from format 1 (multitrack) to format 0 (single track), and includes a simple MIDI Karaoke player. The program also presents information about the MIDI file. I found this program worked as advertised.

Q Utilites

Lots of QT-based utilities here.

* indicates a required field.

Please select the following to receive Mike Slinn’s newsletter:

You can unsubscribe at any time by clicking the link in the footer of emails.

Mike Slinn uses Mailchimp as his marketing platform. By clicking below to subscribe, you acknowledge that your information will be transferred to Mailchimp for processing. Learn more about Mailchimp’s privacy practices.