February 12, 2004

My First GarageBand Experience

Well, right after writing my SF Giants post on Sunday morning, I eagerly fired up GarageBand and spent the whole rest of the day (and Monday and Tuesday evening) playing around with it. I’ve been itching to try my hand at songwriting for the longest time, even going so far as grabbing a copy of CakeWalk Home Studio several years ago (I think this was before Windows 95, actually), but I never really got going. The most I ever did was merely transcribe the theme to Star Trek: Deep Space Nine.

So needless to say, I was looking forward to this, and let me tell you, it did not disappoint. This is definitely a great program to get started with, no matter what your level of musical expertise (or lack thereof). It comes with a large selection of loops where you can drag onto your song. Even more, it’ll automatically transpose a loop to match the key of the song so that it’ll sound right. Loops are actually pretty useful for the musically inclined who intend to record every single track manually, in that they can quickly kick start a song by being a placeholder that gives you a good idea of what the final song will sound like pretty early in the process (which actually did come in handy in the song that I wrote, which I’ll provide at the end). And it also comes with a large assortment of professional sounding software instruments that you can play using the virtual keyboard or your own external MIDI instrument (MIDI-to-USB interface is not included, but can be found inexpensively at most music stores).

To be sure, this is not a full-featured professional sequencer like Cubase or Reason, so there are certain limitations. Most of them won’t really hold beginners back, like not being able to have key changes and time signature changes within a song, or VST plugin support. Indeed, key changes can still be accomplished as long as you don’t use the automatic transposition feature.

There are, however, some features that really ought to be there, and are hopefully only missing because this is the 1.0 version. But for the most part, they are all fairly minor annoyances that you can live with or work around. For example, you can’t reorder the tracks on the screen. New tracks always get added to the bottom, and you can’t move them higher. For example, let’s say you prefer grouping the rhythm section tracks (drums and bass) together, but start with a looped bass track, and after you’ve added in the melody track, decide to replace the looped bass with your own version. Well, you’re stuck with the bass track on the bottom instead of up with the drum track.

Also, you can’t insert or delete time. For example, if you finish writing the song and later realize it needs a bridge. Instead of just inserting a few blank measures, you need to move all of the regions (a region is basically a building block of a song within a track) you want to appear after the bridge further back to make room. Thankfully, you can quickly select a lot of regions by clicking and dragging a rectangular selection box to touch all of the regions you want to select, and then move them all by dragging them.

Of course, you have to be a bit careful when you drag a region, because if it ends up overlapping another region, it will destroy the overlapped part. This is particularly annoying if you have a region that you’ve extended to loop several times and want to copy it to a place where fewer loops of it will fit. You either have to temporarily shrink the region down to fit before you copy it, or temporarily widen the destination spot by dragging tracks out of the way. A better way to handle it would be to allow tracks to overlap (at least temporarily), indicating the overlap with a darker color than the normal region. That way, you can just drag the too-large region to the too-small spot and then shrink the region to fit.

Also, although it has some handy features like being able to split a region in two and join two regions together to one, the join feature is extremely buggy. Most of the time, I’d end up with a region that was shorter or longer than it should have been and with a lot of extra notes that weren’t there before. Of course, the ability to split is a lot more important than the ability to join, since it’s not that hard to move multiple regions as once. Another annoyance is that you can only extend a region to more loops if you drag from the end of the region, not from the beginning of it. So if you want to extend a region backwards, you have to first drag it backwards and then extend it forwards. Also, it doesn’t seem to let you trim off the beginning of the track by dragging it, but you can take advantage of the destructive nature of overlapping to accomplish that.

One that took me a while to figure out was how the automatic transposition worked. Loops appear in different keys, but they are automatically moved to the key of your song (specified in the master track). However, the original notes aren’t changed. The transposition doesn’t occur when you drag the loop, but instead it occurs each time upon playback. At least, it seemed to act like that sometimes. Other times it didn’t. Even more confusing, when you record a software instrument, that gets transposed. But again, not while you record it, but during playback, so that what you hear back is different from what you heard while you were recording. Very confusing. If you know how to, I’d highly recommend avoiding the whole automatic transposition by specifying all of your songs in the key of C and then transposing loops yourself (you don’t have to drag every note, you can transpose a whole loop by specifying the number of steps to transpose it up or down).

The biggest annoyance is that you can easily overload the processor. I know I have just an 12” iBook 800 MHz G4, but my first song only had six tracks (one of which was not a software instrument — software instruments load the processor more than the “real instrument” loops), and yet it still caused the program to stall, especially with the piano parts. What was perplexing was that the behavior wasn’t consistent — sometimes it would work fine if I just tried playing it again (I don’t see why the processor load should be any different in subsequent plays). There are little things you can do to alleviate the problem (like lowering your screen resolution), but the biggest thing you can do is to mixdown — that is, convert multiple software instrument tracks into a single “real” track, which is described here by Jim Heid. Of course, it’d be nice if GarageBand made this whole process much easier by allowing you to convert software tracks to real tracks and back with the push of a button.

Basically, none of these are showstoppers. The program is fully usable, once you learn these little tricks. But the nature of these limitations indicates that corners were cut to get this product out the door. Indeed, it seems to me that these corners were deliberately and carefully chosen in such a way that the program would still be fully functional — just a little less easy to use. Which is definitely much more preferable to getting beta-level software billed as 1.0, like Microsoft tends to do. It also means it’s pretty likely that Apple will address these issues in a future patch. So I can heartily recommend GarageBand without any reservations.

And in case you are wondering what I came up with in these past few days, here’s the fruits of my labor. It’s a little techno ditty. It started out mostly as just an exercise to see what I can do with the program, and whether it could easily handle chord changes. I’m sure it’s pretty derivative, and, like most techno songs, rather simple, but I think it ended up being pretty catchy. But check it out for yourself:

In 128 kbps MP3 format (3.0 MB): fling93 - Grasshopper.mp3.

In Ogg Vorbis format, Q4.99 (3.5 MB): fling93 - Grasshopper.ogg.

In 128 kbps ACC format (3.0 MB): fling93 - Grasshopper.m4a.

I’d suggest right-clicking (or for Mac users, ctrl-clicking) it and saving/downloading the link target to your hard drive, and then loading it in your favorite media player. Although it might also work if you just click it (I did follow Buzz’s directions on how to let my webserver know what the AAC MIME type is and did something similar for Ogg Vorbis). Let me know what you think, and feel free to share it with your friends (for convenience, you can also use this link: http://fling93.com/music/).

By the way, no, I didn’t use GarageBand to export to all of those formats. It only supports exporting in CD-quality AIFF format, which iTunes can recognize and convert to AAC and MP3. But I chose to use Audacity to convert it to WAV format, and then used LAME to encode to MP3 and OggEnc to encode to Ogg Vorbis, both via the ripper I use, Audiograbber. I’m sure there was probably an easier way to do all that, but those are the tools that I trust when it comes to encoding because I’ve used them for a long time. Of course, GarageBand has already earned my trust when it comes to songwriting.

Update 3/2/04

My cousin, Rich (who also runs my webserver), is less than impressed with GarageBand, noticing that it runs very sluggishly on his PowerBook, which handles Propellerhead’s Reason just fine, indicating that GarageBand’s programmers are doing something very wrong.

Oh well, I’ll probably eventually upgrade to something else, but for now, I’m still having fun with it, and have a second song posted here. Yeah, it’s a cover. So sue me.

February 12, 2004 12:51 AM in Music, Technology | Permalink
Trackback
Sorry, Trackback pings are disabled for now. Drop me an e-mail and I'll manually update the page to link back to you.
Comments