Digital Sound & Music: Concepts, Applications, & Science, Chapter 5, last updated 6/25/2013
drivers and hard drives appropriately. These practical issues are discussed further in Section
Figure 5.20 gives an overview of the audio signal path in one scenario,
but there are many details and variations that have not been discussed here.
We’re assuming a software system such as Logic or Sonar is providing the
mixer and DSP, but it’s possible for additional hardware to play these roles – a
hardware mixing console, equalizer, or dynamics compressor, for example.
Some professional grade software applications may even have additional
external DSP processors to help offload some of the work from the CPU itself,
such as with Pro Tools HD. This external gear could be analog or digital, so
additional DAC/ADC conversions might be necessary. We also haven’t
considered details like microphone pre-amps, loudspeakers and loudspeaker amps, data buses,
and multiple channels. We refer the reader to the references at the end of the chapter for more
5.1.5 CPU and Hard Drive Considerations
As you work with digital audio, it's important that you have some understanding of the demands
on your computer's CPU and hard drive.
In general, the CPU is responsible for running all active processes on your computer.
Processes take turns getting slices of time from the CPU so that they can all be making progress
in their execution at the same time. You might have processes running on your computer at the
same time you're recording and not even be aware of it. For example, you may have automatic
software updates activated. What if an automatic update tries to run while audio capture is in
progress? The CPU is going to have to take some time to deal with that. If it's dealing with a
software update, it isn’t dealing with your audio stream.
Even if you make your best effort to turn off all other processes during recording, the
CPU still has other important work to do that keeps it from returning immediately to the audio
buffer. One of the CPU's most important responsibilities during audio recording is writing audio
data out to the hard drive. To understand how this works, it may be helpful to review briefly the
different roles of RAM and hard disk memory with regard to a running program.
Ordinarily, we think of software programs operating according to the following scenario.
Data is loaded into RAM, which is a space in memory temporarily allocated to a certain
program. The program does computation on the data, changing it in some way. Since the RAM
allocated to the program is released when the program finishes its computation, the data must be
written out to the hard disk if you want a permanent copy of it. In this sense, RAM is considered
volatile memory. For all intents and purposes, the data in RAM disappears when the program
But what if the program you're running is an audio processing program like Logic or
Sonar through which you're recording audio? The recording process causes audio data to be read
into RAM. Why can't Sonar or Logic just store all the audio data in RAM until you're done
working on it and write it out to the hard disk when you've finished? The problem is that a very
large amount of data is generated as the recording is being done – 176,400 bytes per second for
CD quality audio. For a recording of any significant length, it isn’t feasible to store all the audio
data in RAM. Thus, audio samples are constantly pulled from the RAM buffer by the CPU and
placed on a hard drive. This takes a significant amount of the CPU's time.