Manual

1.20
Operation Manual
© 2016 Prism Media Products Ltd
Revision 1.01Prism Sound Callia
6 Technical topics
The following sections contain detailed discussions of various relevant technical issues. The content
of these sections is not required to operate Callia, but is provided as background information.
6.1 Stability and latency
Ever since audio found its way inside the computer, problems concerning issues of stability and
latency have arisen.
Pre-computer digital audio gear introduced the concept of delays through devices, which hadn't
usually been the case with analogue equipment. This was an inevitable consequence of sampling the
audio, and passing the samples through multiple layers of buffering during conversion, processing
and interfacing operations. However, the 'latency' (buffer delay) was generally quite short and didn't
usually cause problems even in delay-sensitive applications such as live sound mixing or
over-dubbing. Reliable operation was generally guaranteed, since the digital devices were essentially
'sausage machines' performing nothing but the same limited series of operations repeatedly.
When general-purpose computers began to be used to record, process and play audio, problems with
latency and stability suddenly had to be addressed. The reason is that computers are always busy
doing other things than processing audio, even in situations where the operator is only interested in
performing that dedicated task. Because of this, the computer generally has to operate quite large
audio 'buffers' so that attending to non-audio tasks doesn't cause interruptions in the audio.
When a computer is playing back an audio file or stream, say via USB, small chunks of audio
(normally just a few samples per channel) are loaded onto the USB every time the USB hardware
alerts the operating system that it has finished sending the last chunk and now needs to send the next
one. This is OK, because this 'low level' shovelling activity is done within the inner 'kernel' of the
operating system and so is guaranteed to be able to happen without undue delay: its priority is
guaranteed by the design of the hardware and operating system, and the drivers which run there. It
can't be unexpectedly held off by high level 'application layer' activities like collecting emails, virus
checking, moving data on and off disk etc.
But unfortunately the player application runs up in the application layer, and so IS prone to be held off
for whenever the need to perform other tasks arises. So even though the required processing can
(hopefully) be accomplished faster than real-time (i.e. the sample processing rate is faster than the
sample rate), there is always the possibility that the computer may be called away from its processing
of the audio in order to deal with some other routine task. In non-optimized systems, many tasks
which the user (listener!) would probably regard as non-urgent can interrupt audio processing. The
player deals with this by filing up a buffer of audio samples which the low level process then empties
down the USB. Without the use of sizeable sample buffers, any interruption taking longer than a few
sample periods would cause gaps or jumps in the playback sample stream. Nearly every kind of
application layer interruption is long enough to do this. However, with a large enough buffer, the
interruptions don't cause audio to be disrupted.
Of course this is a much more serious problem in professional audio recording and production, or live
sound mixing, say, than it is in domestic playback applications. Not only are the consequences of a
disruption potentially greater, but also the time delay involved in the buffering can be unacceptable
unless the buffers are very short, so it's a vicious circle. In general, computer playback systems
should be easy to manage because we normally don't mind having a comparatively large buffer and
hence a comparatively long delay. Having said this, computers used for professional audio work are
usually well-optimised and aren't running a plethora of non-audio tasks, whereas the opposite is
usually true of domestic computers used for audio playback as well as many other tasks.
In both Mac and Windows systems, it is usual for the playback buffer length to be adjustable within
the player application. The Prism Sound Control Panel software supplied with our professional audio
USB interfaces allowed adjustment of buffering within the Prism Sound USB Audio Device Class 2.0
driver for Windows in order to be able to adjust the system for minimum recording and playback