Digital Sound & Music: Concepts, Applications, & Science, Chapter 6, last updated 6/25/2013
In Chapter 5, we introduced the subject of latency in digital audio systems. The problem
of latency is compounded when MIDI data is added to the mix. A common frustration in MIDI
recording sessions is that there can be an audible difference between the moment when you press
a key on a MIDI controller keyboard and the moment when you hear the sound coming out of the
headphones or monitors. In this case, the latency is the result of your buffer size. The MIDI
signal generated by the key press must be transformed into digital audio by a synthesizer or
sampler, and the digital data is then placed in the output buffer. This sound is not heard until the
buffer is filled up. When the buffer is full, it undergoes ADC and is set sent to the headphones or
monitors. Playback latency results when the buffer is too large. As discussed in Chapter 5, you
can reduce the playback latency by using a low latency audio driver like ASIO or reducing the
buffer size if this option is available in your driver. However, if you make the buffer size too
low, you’ll have breaks in the sound when the CPU cannot keep up with the number of times it
has to empty the buffer.
Another potential bottleneck in digital audio playback is the hard drive. Fast hard drives
are a must when working with digital audio, and it is also important to use a dedicated hard drive
for your audio files. If you’re storing your audio files on the same hard drive as your operating
system, you’ll need a larger playback buffer to accommodate all the times the hard drive is busy
delivering system data instead of your audio. If you get a second hard drive and use it only for
audio files, you can usually get away with a much smaller playback buffer, thereby reducing the
playback latency.
When you use software instruments, there are other system resources besides the hard
drive that also become a factor to consider. Software samplers require a lot of system RAM
because all the audio samples have to be loaded completely in RAM in order for them to be
instantly accessible. On the other hand, software synthesizers that generate the sound
dynamically can be particularly hard on the CPU. The CPU has to mathematically create the
audio stream in real time, which is a more computationally intense process than simply playing
an audio stream that already exists. Synthesizers with multiple oscillators can be particularly
problematic. Some programs let you offload individual audio or instrument tracks to another
CPU. This could be a networked computer running a processing node program or some sort of
dedicated processing hardware connected to the host computer. If you’re having problems with
playback dropouts due to CPU overload and you can’t add more CPU power, another strategy is
to render the instrument audio signal to an audio file that is played back instead of generated live
(often called “freezing” a track). However, this effectively disables the MIDI signal and the
software instrument so if you need to make any changes to the rendered track, you need to go
back to the MIDI data and re-render the audio.
Non-Musical Applications for MIDI 6.2.5
MIDI Show Control
MIDI is not limited to use for digital music. There have been many additions to the MIDI
specification to allow MIDI to be used in other areas. One addition is the MIDI Show Control
Specification. MIDI Show Control (MSC) is used in live entertainment to control sound,
lighting, projection, and other automated features in theatre, theme parks, concerts, and more.
MSC is a subset of the MIDI Systems Exclusive (SysEx) status byte. MIDI SysEx
commands are typically specific to each manufacturer of MIDI devices. Each manufacturer gets
Previous Page Next Page