Recording Authentic Sound Effects

Todd Reed


This article originally appeared in the blog for my now-discontinued iOS app That Word.

I was inspired by a blog post by Joachim Bondo about how he had custom sound effects recorded for his Deep Green app (a chess app). This—and a great deal on the Snowball mic from Dell—prompted me to record some of my own sound effects for That Word 2.0. I have some audio experience from developing speech applications with VoiceXML, but this is pretty limited, so I started out with a bit of research and perused the collection of audio books at Safari Books Online. After skimming through Creating Music and Sound for Games, I went to work.

My favourite sound effect in That Word 2.0 compared to the original version is the sound of the letter tiles landing on the board. For the original version of That Word, I purchased all my sound effects from Sound Rangers . They didn’t have a sound effect specifically for “a wooden letter tile landing on a board”—in That Word 1.0, you’re actually hearing a poker chip, which was the closest thing I could find. But in That Word 2.0, you’re hearing the real thing; in fact, you’re hearing eight1 distinct randomized recordings of my wooden letter tiles from my Scrabble game. It’s a subtle difference compared to the poker chip sounds from the original version, but one that greatly enhances the authenticity IMO.

For those interested in recording their own sound effects, here’s the process I used. (If any sound engineer happens to be reading, I’d love to hear about anything I’ve done incorrectly.)

Obviously, your recording should be done in the best possible environment that you have access to. If you don’t want to pay for a studio with properly sound-insulated rooms, your best bet is to record at home (office buildings typically have too much background noise). I live in a two-storey home and chose to record on the upper level—this was farthest away from refrigerators and furnaces. I actually turned off the furnace while recording, to avoid the noise from the air blowing through the floor vents.

I placed my Snowball mic about a foot away from my sound source, and did my recording with Sound Studio, an inexpensive audio editor for the Mac2. In addition to recording my sound effects, I also recorded at least 10 seconds of silence before each recording session; as explained later, this is used to remove background noise from the recordings. I recorded in 44.1kHz, 16-bit.

Once I captured all my raw recordings, I did some post processing with SoX , “the Swiss Army knife of sound processing programs.” I installed3 SoX with MacPorts:

$ sudo port install sox

It’s often necessary to remove the DC offset from the audio waveform. The amount of DC offset present depends mostly on the quality of your recording setup—if you’ve got decent equipment, the DC offset will be minuscule and you won’t need to correct it. You can measure the DC offset with SoX like this:

$ sox recording.aif -n stat
Samples read:           9935872
Length (seconds):    112.651610
Scaled by:         2147483647.0
Maximum amplitude:     0.215759
Minimum amplitude:    -0.235718
Midline amplitude:    -0.009979
Mean    norm:          0.005664
Mean    amplitude:     0.002977
RMS     amplitude:     0.010195
Maximum delta:         0.061066
Minimum delta:         0.000000
Mean    delta:         0.000061
RMS     delta:         0.000256
Rough   frequency:          176
Volume adjustment:        4.242

The value of interest is the “Mean amplitude”. If this number is larger than (oh, say) 0.00054, you should correct the DC offset. This can be done with the following command:

$ sox recording.aif corrected-recording.aif dcshift -0.002977

Note that you’ll want to use the negative value reported by the stat command as the parameter to the dcshift command.

After correcting the DC offset, the next thing I did was remove background noise. Unless you’re recording at a studio with sound-proof recording rooms, you’ll probably need to do this too.

To apply noise reduction to the file recording.aif, run SoX like this (here, noise.aif is the 10 seconds of silence recorded before recording the sound effects):

$ sox noise.aif -n noiseprof | sox recording.aif clean-recording.aif noisered

This will produce a new audio file called clean-recording.aif that has the noise reduction applied to it.

From here, it’s worth playing with your audio editor of choice and experimenting with some effects that might enhance the recordings. For example, adding a mild reverb effect might yield a richer, more appealing sound.

I probably recorded over one hundred tile drops, and then selected the best ones.

GarageBand, Logic Express, Logic are other logical choices. A free alternative is Audacity . ↩︎

I recall this taking a very long time to install. Go for a coffee break.

This is just my best educated guess.