DLS and General Midi Part one, GarageBand’s Best Kept Secrets.

This week I’m starting to tackle a little more complex subject than usual. And it’s going to take a two part series to get through.
I’m working on a soon to be released Cell phone game (or as it’s known in the industry, a mobile entertainment project) and due to the paltry memory of some cell phones the music has to be delivered as a General MIDI file. No, General MIDI isn’t a French military officer; it’s the file format that we’ve come to know and hate from the animated Gif School of web design. The trouble with this project is that the original soundtrack was created in GarageBand. And I need to deliver a MIDI version of the thing. The reason is that as a WAV file the 30-second intro song would be well over 200K even at 8KHZ 16bit Mono. Whereas, the Midi file will be a modest 8K in size.
So the problem (challenge in suit speak) is to export MIDI from GarageBand. Impossible you say, “Everyone knows that GB can’t export MIDI.” Au Contraire, Mon fere!
Doable, yes. Easy Not so much. In fact this process involves at least three separate pieces of software. The first is an innocuous Audio Unit that’s included with GB called the DLS Music Device. The second is a freeware utility called MidiO (for Midi out) and the third is a MIDI sequencer like the relatively unknown shareware product, Easy Beat or a commercial product like Trackion, cubase or Logic Express.
First let’s attack composing for General MIDI in GB. A few of us already know that there are 126 General MIDI software instruments hidden within QuickTime. What if you could use them in GB? Well you can! I’ll try to make this as brief as possible so pay attention. If you open the Track info window for a software instrument in GB, you can scroll down the list of generators to the DLS Music Device. And if you click on the pencil icon for that device, it’ll bring up the interface for the DLS Device, such that it is.
Once there you will find a Sound bank menu that has a pull down menu that should say QuickTime Music Synthesizer by default. You may have some other items in this menu, if you have by chance come across some Sound Fonts in your travels, but I’ll get to these in a minute.
Right now let’s concentrate on the QuickTime Music Synthesizer (sounds sexy, doesn’t it?) If you were to play your MIDI controller at this point you would hear an acoustic Grand Piano. One that quite frankly sounds much worse than GB’s default Piano Software Instrument, but wait there’s more! The secret lies in your Midi controller’s program change command. Uh oh I hear brains frying. If you have a MIDI keyboard that’s worth any thing there is some way for you to do MIDI program changes. Which means you can change the Quicktime Music Synthesizer from its default piano sound to say something like a trumpet, which is sorely missed in the standard GB software instruments.
Read your keyboard’s documentation to see if your keyboard has a Program Change control. If it does your in luck. To overcome GarageBand’s glaring omission of a trumpet instrument, all we have to do is set our Program Change number to Number 57 and viola! Trumpet.
This seems to be an answer to many a GarageBand prayer. But wait because there is still evil afoot. If you record your newfound trumpet in GarageBand and then save the song you might be in for a surprise when you reopen the song. Your beloved trumpet has turned back into a piano. Bummer Dude!
Here is probably the coolest GB trick I Know. When you record your trumpet, hit a quick note at the beginning of your track and then do your Program Change as GarageBand is recording the track, this way the Program Change command is recorded in the Software Instrument track and will be there when you reopen the song. It is magic, No?
If you take it even further, you can record several Program Changes on a track. So not only could you have the number 57 trumpet but also the number 60 muted trumpet on the same track!
To find the program change numbers for all 128 General Midi instruments, Just Google General Midi Instruments and you’ll have a bunch of list to choose from.
While we have the track Info window open you might want to save a Software Instrument Called “DLS Device.” Make sure that you have the DLSMusicDevice selected in the Generator pull-down menu of the Track Info window.
Click Save Instrument button and save the instrument as “DLS Device.” And now you have an additional 127 software instruments for use in GB. Cool or what?
Okay, Okay I’m running out of time here, but there’s one more really cool thing about the DLSMusic Device. The DLSMusic device also plays Sound Fonts. What are Sound Fonts? Try Thousands, yes, thousands, of FREE downloadable software instruments. Whoa dude! Just search Sound fonts on the Web and you’ll come across more sounds than you can download in a lifetime. Take any of these .SF2 file and throw them into your Library> Audio>Sounds> Banks folder and they will be available to the DLSMusic device for use in GB. That ought to keep you busy for a while! Or at least until next week when I show you how to export MIDI files.

New and Cool!

A Long time ago back in the age of Commodore 64 computers, if you wanted to make computer music, it meant learning to program a SID Chip. The SID chip was where all those cheesy sounds of early arcade games came from. Sometimes what’s old becomes new again. Such is the case for a neat card for the GameBoy Advance called NanoLoop from nanoloop.com
Nano loop is an old fashion 8 bit sound synthesizer and sequence that lets you create cool electronic music on your GBA. Take a listen to this tune.
Nano loop’s interface is minimalist to the extreme, yet once you figure it out you can get some totally unique sounds from it. The totally unlicensed GBA card will cost you 80 euros on top of your GameBoy advance. But it’s worth it to create music instead of just playing a Donkey Kong Country 3 while on the subway.
Don’t expect album quality output from it, but as a cool little musical geek toy, there’s nothing else like it.