danomatika’s portfolio | gm-patches

gm-patches

A General Midi helper library for PureData which converts the GM name to the relevant index in the GM 1/2 specification.

Follows the General Midi spec as outlined on wikipedia.

Note: this page will no longer be updated

Please refer to the Github project page from now on

objects

The objects included are:

  • gm-instrument: convert a GM instrument name to a program change number
  • gm-percussion: convert a GM percussion name to a midi note
  • gm-control: convert a GM control parameter name to a control change number

All objects can print the relevant GM spec to the console for reference.

setup

These patches require the following objects: [coll] from the cyclone library (included with pd-extended), and [unsymbol] from iemlib.

What is Midi and why do I care? Midi itself is not the sounds but just a specification in how hardware and software can communicate with the common goal being making/performing/playing music. General Midi is a further specification for a standard set of instruments and controls that a GM compatible synth will be able to play. This means if you make a midi file or pd patch to control a midi synth, it should work on any GM synth in the same way.

You must have a access to a General Midi synth for these patches to be of any real use to you. For those of us with hardware synths, most major operating systems supply one … Windows, Mac OS, and Linux all have software GM synths. Here are some short setup notes:

  • Windows: should work out of the box using the Windows GM Synth
  • Mac OS X: I suggest you install SimpleSynth which allows easy access to the Apple DLS GM synth and enable the IAC Midi driver to connect PureData to SimpleSynth (see the PD FLOSS manual).
  • Linux: Install the Timidity GM synth and connect it PureData to through Alsa using either aconnect, aconnectgui, or qjackctl. (also see the PD FLOSS manual).

update history

  • 10/03/09 v0.1.0 – released initial version

download

gm-patches-0.1.0.zip

svn

Grab the latest version from the rc-patches:

https://github.com/danomatika/rc-patches