Recently, I had the chance to make the music and sound effects for an iOS game called Mushroom Mayhem (RocketLife.com/mushroom; free). One of the most interesting challenges was designing sounds on my computer to work on the tiny iPhone speaker. Producers recommend listening on a variety of speakers, but where do you find woofers the size of a fingernail? It turns out the perfect monitors were already in my pocket.
Making game music has been a dream of mine since the 1980s. In a happy coincidence, Mushroom Mayhem was inspired by ’80s arcade classics like Centipede and Galaga. Playing as Professor Frank Funguy, you fly your rocket-powered microbus through space, fighting off swarms of mutant mushrooms (see Figure 1).
FUN(GUS) WITH LOOPS
I started by making a spreadsheet in Google Docs so the lead programmer and I could manage the sound files. Columns included the sound’s purpose (“Boss battle music,” “Bullet hits buffed mushroom”), file name and notes. For looping sounds, I added “_lp” to the file name so the programmer would know to loop the playback. Having a spreadsheet we both could edit online made it easy to track and update the assets.
To keep the download size small, we used MP3 audio. MP3s are notoriously difficult to loop because most encoders insert silence at the top of the file. Out of habit, I used MP3Loop (compuphase.com/mp3/mp3loops.htm; free) to encode them, but fortunately our audio engine handled looping perfectly. We also tested Ogg Vorbis audio, which game developers recommend, but found it wasn’t as compatible.
SOUNDS IN SPACE
I made the retro sound effects with a funky Flash app called Chip-Tone (sfbgames.com/chiptone) and some Windows freeware called LabChirp (labbed.net/software/labchirp). The square-wave bleeps cut through on all types of speakers, but testers complained that some sounds weren’t scary enough. So I layered in sampled sounds, but they still wimped out on the small iPhone speaker. Auditioning changes was tough, too: I was endlessly rendering variations, uploading them to Dropbox, playing them back from my phone with the Dropbox app, and then returning to square one.
That’s when I thought of using my phone as a remote speaker. I installed Airfoil (rogueamoeba.com; $29) on my Mac and iPhone, set both devices to the same Wi-Fi network, and chose Ableton Live as the source and the phone as the speaker (see Figure 2). After a two-second delay, I heard the computer’s audio through the iPhone speaker. I even added two iPads to the party (see Figure 3).
The delay was tolerable, but Airfoil also warped the pitch to maintain the audio flow. Then I discovered I could use the Studiomux apps (studiomux.net; $9.99) and a Lightning cable to stream audio from my Mac to my iPhone in real time. I installed the Studiomux server on my Mac, Option-clicked the Mac’s speaker menu to set my phone as the output device, and then enabled the iOS app’s monitoring icons as shown in Figure 4.
Both Studiomux and Airfoil work with Windows, too. For low-latency streaming to Android devices, I’ve heard good things about Sound-Wire (georgielabs.net; free).