Sunday, August 23, 2015

Playing General MIDI Files on Ableton Live Part 3: Sonic Cat Purity

This is part 3 of a multi-part series on how to use General MIDI files with Ableton Live. The first part covers the basics of General MIDI and how Live handles MIDI files. These subsequent posts are step-by-step walkthroughs for a variety of instruments.


Sonic Cat's Purity is a good-sounding multi-timbral ROMpler plugin for Mac and PC. It includes a large library of sounds, in addition to a full GM implementation. (Purity was originally released by a company named Luxonix. I don't know if the property shifted hands or whatever, but Sonic Cat sells it now.)

There is a concerning note on the Purity product page that says: "Not compatible with some systems. Especially Logic Pro X,  Ableton Live and NI Maschine." I really don't know what to make of it, since I'm obviously able to use it just fine in Live (although I'm a Windows user, so I don't know if it's any different on Mac OS). Anyway, there is a free demo available at the product page, and I do recommend you test that out before paying for it. The download is a single ZIP file but it contains both EXE (Windows) and DMG (Mac) installers.

Note that Purity is 32-bit only. If you are running a 64-bit version of Live, you'll have to use a bit-bridging product like jBridge or 32 Lives to get it to work in your DAW. I wrote some instructions for doing exactly this with jBridge for Windows.


  1. Create a new, empty Live set and press TAB to enter Arrangement view. (Session view technically works, but if your MIDI file contains time signature or tempo changes, Arrangement view is more appropriate.) Drag your General MIDI file from the Live browser into your Live set. If it's a Type 1 file, all the tracks in the file should end up on separate MIDI tracks in separate MIDI clips in the Live set.
    If it's a Type 0 file, Live will only import a single MIDI clip/track, regardless of how many musical parts the song contains. You will have to convert the file to Type 1 and start over. See the first article in this series to learn how to convert MIDI files.
  2. For each new MIDI clip that Live created, select the MIDI clip and look at its Pgm Change settings in the Notes panel of the clip view. Each imported track (except for maybe the drum track) should at least have a Program Change value selected.

    If the current clip is not a drum channel, and you see no Pgm Change setting, Live might not have properly detected program change events for that track. See the first article in this series to learn how to locate program change numbers in MIDI files.
    Note: If your MIDI file contains program changes that occur within the song (if a single musical part changes tones as the song progresses) you will have to split those MIDI clips into separate clips so you can set the correct program change value on each clip individually. MidiYodi tells you where in the song the program change events occur, so they should be relatively easy to locate in your Live set.
  3. Go to Create > Insert MIDI Track to add a new empty track in your project, and then drag the Purity plugin into the track's Device View area. (Don't use a track that already has a MIDI clip on it; doing so will cause headaches if you ever want to mute or solo individual tracks.)
  4. In Purity, click the Preset button above the virtual keyboard and then select the GM Normal category to place Purity in GM mode.
  5. For each MIDI track in your Live set that has a MIDI clip on it, change the Output Type setting to point to the track where you loaded your virtual instrument plugin, and change the Output Channel setting to the MIDI channel you want to use for that part. For the most part the actual channels you choose don't matter (so long as they're different from each other), however, you should only use channel 10 for your drum parts (parts that actually use the multi-sample GM drum layout).
  6. Now try playing your song!
    If you find that Purity isn't loading the correct patches, or something just doesn't sound right, check these things:
    • Each MIDI clip (except perhaps the drum track) has a Program Change setting.
    • You are using the correct Program Change values (remember, they should be the MidiYodi value plus 1 because of how Live numbers program changes).
    • Make sure your drum track is routed to MIDI channel 10, and that you have a GM drum kit loaded on that channel in your plugin.
    • You started playback from the very beginning of the song, since the program change events only fire at clip start. Click the Previous Locator button several times to make sure you're playing from the beginning.
      The Previous Locator button.
In the next post, we'll take a look at using a hardware Roland Sound Canvas.

No comments: