Audio Content, Implementation, and Code by Peter "pdx" Drescher
Twittering Machine

Bang Bang SFX

A simple "target practice" game generates a wide variety of explosion sounds.

So many mobile games ship with only a few simple sound effects that are played over and over and over again during gameplay. The soundtracks quickly become annoying, causing users to reach for the "volume off" button.

This app contains many original recordings of things that go "bang!", including balloons popping, nitrogen triiodide explosions, quasi-legal fireworks, dry ice bombs, and hydrogen gas combustion.
(see O'Reilly article: How To Make (and Record) Explosive Sounds Using Common Household Chemicals)

Each explosive sound is varied using FMOD for iOS, so that the soundtrack will never play the same way twice, nor will you ever hear an explosive sound repeat, no matter how many targets you hit.

Four modes of fire are available: Cannon, Machine Gun, Mortar, and Lazer, each with its own generated sound. Fire mode changes every ten targets hit.

Occasionally, bonus targets will float by, each with their own signature sound effect. Hit them to provide a little comic relief.

So take aim, keep shooting, and enjoy the sounds of destruction!

Play Video of gameplay (sequence shortened)
Download Xcode Project (9Mb)
Download original recordings: "firecrackers in woods" (6Mb)


This app generates sounds in the style of a starship computer console. It plays a series of short beeps and blips in quick succession, depending on user input:

If the input field is blank, a short random sound is produced. If the user enters text, a signature sound will be produced that is unique for that particular alphanumeric sequence.

Try entering your name, or "zvzvzvzvz" or "code 0 0 0 destruct 0" to generate new sound effects!

Play Video of app in use
Download Xcode Project (9Mb)


An original game that demonstrates The Secret Yanni Technique, with key changes using FMOD audio middleware running on the Android platform.

Usually, mobile game soundtracks consist of a background music loop, and a few sound effects. Sometimes, the music and the effects are produced by different content providers, and there is little, if any, coordination between them. If the sound effects are musical (such as a "ta-da" chord for bonus points), it is not uncommon for the music and the sounds to clash harmonically.

The Secret Yanni Technique can be used to avoid this problem, by creating background music in a specific musical mode, then producing sound effects to fit that mode. A simple example would be to compose music in the key of C Major, and then create bonus sounds using notes from a C pentatonic scale (C, D, E, G, A). Because a bonus sound can be triggered at any time during gameplay, harmonic movement in the music (i.e. key changes) must be limited; otherwise, the bonus sounds will become discordant.

BUT what if the game's audio engine kept track of what key was playing, and generated bonus sounds to match? This can be accomplished with FMOD's interactive music system, by using callbacks to determine which music segments are playing, and triggering bonus sounds modified accordingly.

The LandSeaAir game demonstrates this approach.

Play Video of AIR level
Play Video of LAND level
Play Video of SEA level

Download the Eclipse Project (72Mb) and FMOD implementation and audio files (153Mb)

Android app on Google Play

FMOD for Android

Demonstration of FMOD audio middleware running on the Android platform.

Using a (silent) open-source VectorPinball game as a starting point, I added an interactive soundtrack, as follows:

a) created audio files, based on 80's synthesizer technology to fit the graphic style, including a Roland D50 patch appropriately named "Android"

b) implemented sound effects and music using
FMOD Designer; exported event and soundbank files

c) integrated the FMOD libraries into the game; wrote code to intialize the system, trigger sound effects, and vary the music tracks according to gameplay parameters, in Java, and C via JNI

Play Video Demo

Updated to FMOD release version 4.36.00
Download the Eclipse Project (8.6Mb)

Android app on Google Play

Android apps

Generated Audio UI proof of concept.

notepadd: "Make Your Phone Sound Like A Star Trek Data PADD"
Sonified version of the notepad example code. Generates sounds for app in/out, note left/right, and menu events. Supports multiple audio themes.

softKeyboard: "Vary The Sound Of Your Typing"
Pitch shifts multiple samples based on onKey data. Also produces keyboard engage/dismiss sound.

Download Eclipse Projects (1.3Mb)

Android app on Google Play

FMOD Music Examples

Simple Mac OSX interface that plays the FMOD Interactive Music examples.

Basis for AES San Francisco 2010 presentation: Code Monkey Part 1: What Game Audio Content Providers Need to Know About C++ Programming

Play Video Demo or View Conference Slides
Download Application (5.5Mb) or Xcode Project (17Mb)

Rocks 2010 Remix

Interactive music from "Rock and Rockets", the first game to ship on the T-Mobile Sidekick.

I remixed the original .rmf file into 8 stereo .ogg files, start them simultaneously, then mute/unmute channels using FMOD Ex API calls, to recreate the various mixes heard during gameplay. You can also mute/unmute channels by hand.

Written in Objective-C++ for Mac OSX.

Listen to Demo Mix
Download Application (6.4Mb) or Xcode Project (22Mb)

Audio UI Demo

Demonstrates techniques for generating interactive audio based on typing patterns.

Using the keyDown event data as input parameters, the app produces sounds varied by selected algorithm (random, stochastic, weighted, et al) and sound set (beep, telemetry, diatonic, et al). It will also "screen print" responses to keyword and search queries.

Written in Objective-C++ for Mac OSX.

Play Video Demo
Download Application (1.7Mb) or Xcode Project (8.3Mb)