Apple’s GarageBand makes it relatively easy to sketch out an audio demo, but it does have some severe, intentionally-crippled limitations.
One of the biggest drawbacks is the lack of built-in support for exporting MIDI data.
Performances are stored inside the session file in some sort of MIDI fashion, but Apple doesn’t give users an easy way to get that information out. Major bummer. *looks west towards Cupertino, squints eyes, shakes fist in air, mutters under breath*
However, a nice guy named Lars Kobbe has put together a workaround/hack that extracts MIDI data from the reluctant clutches of GarageBand. You can download his GB2MIDI Apple droplet script from his site: MIDI-Export in Apples Garageband. Here’s the direct download: GB2MIDI.ZIP
The article is in German, but instructions in English are found near the bottom of the article (just before the comments section). Getting the MIDI data out involves several steps. Here’s my summary of the process.
How to Extract MIDI Data from GarageBand
- Join (Command-J) regions of a track you want to export
- Convert that region to a loop via Edit > Add to Loop Library (NOTE: In GarageBand 10.1.0 this menu item is now located under File > Add Region to Loop Library )
- Find the newly created loop file (an .AIF with MIDI data hidden inside it) in the folder:
Macintosh HD (or whatever your system drive is named)/Users/(your home folder)/Library/Audio/Apple Loops/User Loops/SingleFiles/
or the abbreviated:
~/Library/Audio/Apple Loops/User Loops/SingleFiles/
- Drop that .AIF file on Lars’ GB2MIDI droplet
- Grab the freshly extracted .MID file, which should appear in the same folder where the .AIF loop was. If not, see the comment section below.
- Import the .MID file into a respectable DAW (basically almost anything other than GarageBand).
- Make next hit record.
That last step is optional, but I say go for it. 😉 Let me know if this helped you.
Locating The Files
If you’re having trouble locating the loop file, it may be because your Library and/or Users folders are hidden, as later OS X versions have been wont to do.
To unhide the Library folder, open the Terminal application, which is found in the /Applications/Utilities/ folder. At the prompt type the following:
chflags nohidden ~/Library/
To unhide the Users folder, type this into Terminal:
sudo chflags nohidden /Users
Then enter your administrator password.
Look for the newly unhidden Users folder in your hard drive’s root folder. It should look something like this:
After running “sudo chflags no hidden /Users” you should see the Users folder (highlighted in red in the image above) appear under the root folder of your hard drive (often named “Macintosh HD” by default).
For more on the hidden Users folder issue check this article from The Mac Observer. It seems the problem was introduced with iTunes 11.2 when Find My Mac is enabled. Another blog suggests that updating to iTunes 11.2.1 fixes the issue.
This GarageBand MIDI article has regularly been one of the most popular posts on my site. That means there are a lot of people using GarageBand and discovering its unfortunate MIDI limitations. The best bit of advice I can give to any musician or audio engineer still using GarageBand is STOP. I know that may sound harsh, but GarageBand is intentionally made to be consumer-grade software. If you’re serious about recording, take the time to investigate other DAWs. Find an alternative solution. There are many to choose from and nearly every one of them is less limited than GarageBand. They range from super affordable to “professionally priced.” Here’s a list to get you started. (Some links are affiliated.)
Pick any of the DAWs above (or find another — this list is by no means exhaustive) and you’ll find it much easier to work with MIDI. Let me know what software you chose.