Sunday, August 23, 2015

Playing General MIDI Files on Ableton Live Part 4: Roland Sound Canvas (Hardware)

This is part 4 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.


In this post we're going to use a hardware GM-compatible sound module, a Roland Sound Canvas SC-88. The instructions we follow for this are virtually the same for any GM-compatible hardware synth as far as Ableton Live is concerned. Some instruments might need to be put into a special GM mode in order to load the right patches, though. Consult your hardware manual if you're using a different synth.


  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. Since we're working with hardware, there are a couple more things we need to check out before proceeding. First,  go to Options > Preferences > MIDI Sync and make sure that the MIDI Output port that leads to your hardware synth is enabled. My Sound Canvas gets its MIDI from Port 8 of my MOTU Midi Express 128, and I can see that the Track box for that port is set to On, so I know this is set up properly.
  4. Now look at the Audio tab of Preferences and click Input Config to confirm that the audio inputs that receive sound from your hardware synth are configured. My Sound Canvas is connected to input ports 9 and 10 on my interface, and I'm going to use them as a stereo pair, and I see that "9/10 (stereo)" is enabled, so we're all set.
  5. Go to Create > Insert MIDI Track to add a new empty track in your project, and then drag the External Audio Effect device from the Audio Effects category of the Live browser 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.)

    Important: Leave the Audio To field set to "No Output", but set the Audio From field to the interface inputs that your synth is connected to. In my case, that's inputs 9/10.

    Now, you might ask, "Why are we using a MIDI track instead of an audio track for this?" Well, you can use an audio track, but when you do that you have to worry about track monitoring, and how Live compensates for delays when recording at various monitor settings. I prefer to use Live's External Instrument and External Audio Effect devices instead, because they behave more like plugins and they automatically compensate for latency.

    Next, you might ask, "Why use the External Audio Effect device instead of the External Instrument device?" Well, that's because the External Instrument device requires to to select a MIDI output in order to be able to select an audio input. Since we're putting this device on a track that intentionally has no MIDI, the External Audio Device makes more sense here. Setting Audio To to No Output basically turns the device into a live audio input.

    One further note: Since the External Audio Effect device is only available in Live Standard or Live Suite, if you're using Live Intro, you WILL have to use an audio track for this instead, and make sure that track monitoring is set to IN to hear incoming audio, or (better yet) use your interface's direct monitor ability instead.
  6. 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).
  7. Now try playing your song!
    If you find that the Sound Canvas 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.
    • Your MIDI output ports and audio input ports are enabled in Preferences, and the correct ones are being used in your tracks.
    • 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.
That's it for now. Go back to part one for links to the rest of the series, in case you missed anything.

No comments: