How to Make Music with Garage Band

Mic Pringle
Learn how to make a simple background music loop with Garage Band!

Learn how to make a simple background music loop with Garage Band!

This is a blog post by special contributor Piotr Szwach, a composer available for hire!

Have you ever wanted to make your own background music for an app, a game, or a promotional video?

Well, it’s easier than you might think thanks to Apple’s excellent app Garage Band!

In this quick and easy tutorial, you’ll learn how to use Garage Band to make a simple background music loop that is ready to use in your own apps or projects.

While working on this song, you’ll learn the basics of using Garage Band and will be ready to compose music of your own!

No prior experience with programming or Garage Band is required for this tutorial. Let’s start jamming!

Hello, GarageBand!

GarageBand is part of Apple’s iLife family of applications and comes bundled with every new Mac.
Just as Xcode is classified as an IDE, GarageBand belongs to the family of apps known as Digital Audio Workstations, or DAW for short.

GarageBand is a popular choice as it provides the novice musician with the simplicity and ease-of-use that Apple products are famous for. Other leading DAWs include Apple Logic Pro, Cubase and Avid’s Pro Tools; these are often the choice of music professionals since they are far more feature rich — but they can also be a lot more complicated to use!

If you don’t have a copy of GarageBand, you can purchase it from the Mac App Store. The version used throughout this tutorial is 6.0.5, which is the current version available.

Your First Step to Musical Stardom — Starting a Project

Let’s get started! Open GarageBand, and select the New Project tab from the popup that appears. You should see the following:

Just like in Xcode or Instruments, these are some templates you can use to help get you started right away. For this tutorial, choose the Loops template, and click Choose. The following dialog will then appear:

Enter GroovyTune for the name, then click Create, accepting the default options. The full interface will then launch. Let’s take a quick tour!

In the Studio — The GarageBand Interface

Time for a quick whirlwind tour of the GarageBand interface! :]

On the left, you’ll see the Tracks pane. When composing a song, you can use many different tracks to contain each instrument or component you’ll use in the song, and they will all show up in this section.

In the middle of the screen is the timeline where you’ll drop the loops associated with each track. The timeline is the linear representation of your song where you can manipulate the different parts of your song.

At the bottom of the window are your standard playback controls. At any point during this tutorial you can play what you’ve arranged by using the controls to reverse, fast forward, or jump to the start of the song.

And speaking of loops, to the right is the loops library. A loop is a snippet of music that you can drop into your song; as the name implies, these snippets will play as long as you need them to in your song. This section contains all the predefined loops you can use to make music for your games.

To get a feel for how loops are represented, select the All Drums option from the loops library and scroll through the list to see what’s available:

Hey, what gives? Some of the Loops are greyed out! This just means that the Loop isn’t pre-packaged in your installation of GarageBand. Click on one of the greyed-out Loops now:

The dialog which appears allows you to download those missing loops. You can choose to do this immediately, or wait until the next time you run Software Update.

However, developers are an impatient lot, so select “Download Now” in preparation for composing your first song! :]

Note: After you click this it may open the Apple Store with the update tab selected. Be sure to click the Update button to get the process rolling right away!

Also, note that after the download completes you will have to shut down GarageBand so the update can be installed.

Hey, Ho, Let’s Go — Arranging your First Song

Now that you’re familiar with the GarageBand interface and have downloaded the missing loops, you’re ready to compose your first song. Or more precisely, you’re ready to arrange your first song! For this tutorial you’re going to take ready-made blocks of music and simply arrange them to create a song.

First you need a good motif.

“What in the world is that?!,” you may say. Well, a motif is basically a small fragment of music that will give the song structure and intent. You’ll use a predefined Loop as your motif in this composition.

Choose the Orchestral category in the loops library, and then drag the Orchestra Strings 08 loop to the middle pane, making sure to line it up with the 5th bar in the timeline. This timeline represents the length of the track, in seconds.

You might wonder why you’re starting this at the 5th bar instead of at the beginning – usually when I work on a project I find it handy to leave some space beforehand just in case I want to add something earlier.

Note: If you do not see the Orchestra Strings 08 in your list of loops, it probably means you haven’t finished downloading the optional tracks yet. Make sure to install those before continuing.

You now need to move this loop to a point slightly earlier in the timeline (again because it sounds a bit better), but because Snap to Grid is enabled, you can only move it at fixed intervals. Fix that now by either deselecting Snap to Grid from the Control menu, or using the keyboard short-cut Command + G.

Drag the loop 1/4 of a second to the left. To make this easier you can zoom in by either using the pinch gesture on your track-pad, or the keyboard short-cut Option + Control + Right Arrow.

Once the loop is properly aligned, turn Snap to Grid back on (Command + G) and zoom out (Option + Control + Left Arrow). Usually it’s convenient to keep this on most of the time except when you need exact placement like above.

One loop just won’t be enough — you’ll want to repeat this loop several times. To do this, place your mouse pointer over the upper-right edge of the loop, so the pointer becomes a loop pointer:

Then drag the right edge of the loop until it reaches the point where you want it to stop playing. In this case, keep dragging until the loop has been repeated three times (as you can tell by the beveled edges).

Now, play your song by clicking the Play button on the bottom toolbar:

Play song button in Garage Band

Ah, that sounds nice. But you’re going to need a great drum track to drive the energy of the song way up.

Unlike a real band where you’re always hanging around waiting for the drummer to show up, you don’t have to wait around with GarageBand! :]

Block Rockin’ Beats — Adding Percussion

The orchestral section you just added forms a nice introduction to the song. You don’t want drums immediately tromping all over that nice strings section, do you? :]

Instead, introduce drums a bit later in the timeline. Choose the Kits category in the loops library, then drag the Effected Drum Kit 02 loop to the middle pane, making sure to line it up with the 9th bar. This makes the drums start right after the second time through the orchestrated loop.

Using the same dragging technique as above, repeat the drum loop, but don’t stretch it out to the end of the orchestral loop — just stretch it out to the 12th & 3/4 bar mark (note you have to temporarily turn off Snap to Grid to do this). This will leave a subtle break in the song before the piano kicks in at the 13th bar, adding a nice bit of tension to the song.

Play your song again to check out the new beats!

Strings? Check. Drums? Check. Time to tickle those ivories and add some piano! :]

Sing Us a Song Mr. Piano Man

To add some piano to the song, Choose the Piano category in the loops library, then drag the Emotional Piano 02 loop to the middle pane, making sure to line it up with the 13th bar.

However, you need the drums to continue playing with the piano. Right now, the drums end at the 12 & 3/4 mark. You don’t want to stretch out the drum loop past that point — what to do?

You could go back to the loops library and bring in the drums again, but GarageBand makes it incredibly easy to copy an existing loop.

Simply select the drums loop in the timeline, hold down the Alt key and drag. You now have an exact copy of the drum loop, which needs to be lined up with the 13th bar. Go ahead and do that now. You’ll note that the exact copy also has the same length as the original — it ends a little short of the 17th bar.

Preview your song again – ah, it’s starting to sound good!

The song is definitely sounding more accomplished, but is still lacking in something. Time to add some bottom end to this song and include some bass!

Drop the Bass

Choose the Bass category in the loops library, then drag the Groovy Electric Bass 02 loop (or any other groovy bass if you don’t have that one) to the middle pane, making sure to line it up with the 13th bar. Shorten the loop so it’s only 1 bar in length by dragging the right edge of the loop towards the left edge.

Copy the shortened loop three times using the same Alt-key technique as above, aligning the new copies with the 14th, 15th and 16th bars respectively. Your song should look like the following:

Go ahead and play your song now! Uh, the bass doesn’t exactly sound right, does it? It’s not really following the changes in the main orchestral and piano loops. In fact, it’s a bit monotonous. :[

Head on into the next section, where you'll modify the bassline to make it match the song!

Bass++

Use the keyboard short-cut Command + E to bring the loop editor onto your screen. Select the second bass loop from the timeline (the one that starts at bar 14) and, in the editor, change its Pitch value to -2. Do the same with the third and fourth bass loops, changing their Pitch value to -3 and -4 respectively.

Hit Command + E to hide the loop editor.

Play your song now! Ah, that sounds a LOT better, doesn't it? Simon Cowell will be calling you at any minute with a recording contract in hand! :]

Time to Cut that Record — Exporting the Song

Now that you’re finished with your amazing new song, it’s time to export it to a file that can be used in your apps. However, before you export, you’ll need to make sure that the start points and end points have been set in the timeline.

Before anything else, disable Snap to Grid using the keyboard short-cut Command + E just to make your life a little easier in selecting the points you want.

Click the loop button in the playback controls, found at the bottom of the GarageBand window, to display the loop markers.

The loop markers a yellow bar found at the top of your project.

Click and drag the yellow bar, aligning the beginning of the bar with the start of the initial motif loop. Click and drag to extend the bar, aligning it with the end of the final motif loop — but be careful not to cut off any of your actual song!

Now that the start and end points have been set, you can export the song! To do this, select Share\Export Song to Disk….

In the export dialog, make sure Compress is checked (you usually want to compress background music like this) and MP3 Encoder is selected from the Compress Using drop-down menu. From the Audio Settings drop-down menu select Custom, and then set the bit rate to 320kpbs. The lower the bitrate the smaller the file is, but the lower the quality – you’re going for high quality here since you can always save it at a lower bitrate later. Finally, click Export.

Now, find the file where you saved it and check out your file – ready to use in any of your own apps or projects!

And that’s it! Congratulations, you’ve just created your first song with GarageBand!

Where to Go From Here?

Now that you have a new-found grasp on how to arrange music within GarageBand, feel free to delve into the huge library of loops Apple provides. Play with them, mix them, arrange them and edit them to create new and interesting songs!

Sharing your newly created songs with your friends and family is a great way to get feedback on your progress. Just like learning a real instrument, practice makes perfect; don’t expect to become the next Beethoven overnight! :]

Here are some resources that may be handy for you:

I hope you enjoyed this tutorial, and look forward to hearing your own compositions! If you have any questions or comments please join the forum discussion below.

This is a blog post by special contributor Piotr Szwach, a composer available for hire!

Mic Pringle

Mic Pringle is a Yorkshire-born developer with a passion for aesthetics and the user experience. Currently working at The Infinite Kind, he's been handcrafting exquisite iOS apps since 2011. When not knee-deep in Objective-C, he enjoys spending time with his wife and daughter, as-well as attending the odd football match. You can find Mic on Twitter, App.net, GitHub and Stack Overflow.

User Comments

11 Comments

  • Thanks! What a great tutorial!

    Its amazing how much a game changes when you add music. I appreciate your time and effort :)

    This is becoming like the unofficial "Learn About Anything Apple"
    marciokoko
  • Anyone know of any of the tuts that show you how to take the exported track to include in a app?
    As well is mp3 the best format to include in apps?

    Jc
    Jonocarnie
  • To include it into an iOS app, you can leave it as aac or m4a or convert to mp3 if you wish.

    Are you importing it into a cocos2d game?
    marciokoko
  • Hi, has the samples got any copyright? Ca we use it in our app without fear? :D
    torhector2
  • Its catchy, isnt it? :)

    Id ask the writer,

    http://www.piotrszwach.com/

    But I believe you can use most of the things on this site.
    marciokoko
  • how can music help an app(not game, just an app)
    knuapps
  • Oh it can...a nice background music after launch and specially sound effects for clicks and data loading etc.. :)
    marciokoko
  • Thanks for the tutorial. It will come in very handy!
    Orochi_X
  • First time trying to use Garage Band and this really helped. Still have not been able to get all of the Loops downloaded but I had enough to finish the tutorial.

    The 'Effected Drum Kit 02' seemed to have a little 'static' part right near the end of the loop that was driving me crazy and I couldn't figure out if this is the way it is supposed to sound or if there was something wrong with the loop file. Ended up replacing it with Live Edgy Drums 01.

    Thanks again.

    -Greg
    gpyles
  • Thanks for the nice tutorial.
    Please note a small typo
    In the Second Paragraph of Time to Cut that Record Exporting the Song
    The shortcut of Snap to Grid is shown as Command + E; while its Command + G
    finnyabraham
  • here is an nice smart garageband song:https://www.youtube.com/watch?v=IFXmQKfegNw
    manuel

Other Items of Interest

Ray's Monthly Newsletter

Sign up to receive a monthly newsletter with my favorite dev links, and receive a free epic-length tutorial as a bonus!

Advertise with Us!

Vote for Our Next Tutorial!

Every week, we alternate between Gaming and Non-Gaming tutorial votes. This week: Non-Gaming!

    Loading ... Loading ...

Last week's winner: How to Make a Simple 2D Game with Metal.

Suggest a Tutorial - Past Results

Hang Out With Us!

Every month, we have a free live Tech Talk - come hang out with us!


Coming up in November: Swift, Functional Programming, and the Future of Objective-C.

Sign Up - October

Our Books

Our Team

Tutorial Team

  • Pietro Rea
  • Dominik Hauser

... 53 total!

Update Team

  • Ray Fix
  • Zouhair Mahieddine

... 14 total!

Editorial Team

... 22 total!

Code Team

  • Orta Therox

... 3 total!

Subject Matter Experts

  • Richard Casey

... 4 total!