# DSP

DSP stand for Digital Signal Processing
What can it do?
Well, almost everything just like Photoshop can do everything with a picture.

• Volume control
• Tone control (atmospheres)
• Room correction
• Crossover
• Sample rate conversion
• Mixing
• Etc.

Audiophiles in general dislike DSP.
Typical audiophile believes are that e.g. digital volume control is detrimental for the sound quality.
They do and they don’t have a point.
Like everything in out world, a computer has a finite precision.
If you use 16 bits integers, a multiplication of a division can result in a quantization error.

10/2=5
9/2=4.5 but you can’t store a .5 in a integer so it will become 5 or 4 just depending on how you convert the result to integer.
Now do a lot of calculations, each time you have this error hence it is a cumulative one.
This is exactly what explains the bad results when doing sample rate conversion in XP (K-mixer) or OSX.
If the precision used is low, you get distortion, a raised noise floor, etc.
Probably these wacky implementations of DSP has given DSP a bad reputation.

If you use a 24 bit integer or a 32 bit one, you have in principle the same problem but in practice to a lesser extend as with increasing word length, the quantization errors gets smaller.

 Bits Number of values 16 65536 24 16777216 32 4294967296

Can we increase precision even further by using 32 bits float?

32-bit fixed point makes the 232 quantization levels spaced uniformly over a relatively small range, say, between -1 and 1. In comparison, floating point notation places the 232 quantization levels logarithmically over a huge range, typically ±3.4×1038. This gives 32-bit fixed point better precision, that is, the quantization error on any one sample will be lower. However, 32-bit floating point has a higher dynamic range, meaning there is a greater difference between the largest number and the smallest number that can be represented.

The Scientist and Engineer's Guide to Digital Signal Processing

The floating mantissa of 32 bit float has its problems too: 32-bit Floating-Point Data with Proposed Dither

This solution indeed adds dither of the appropriate depth to each word, with the intent of
dithering those bits off. The problem is that the noise in this example is not random. The noise is directly correlated to the signal itself. The amplitude of the noise directly
parallels the amplitude of the signal. As the signal uses the bits more to the left, the noise must as well. This is not random noise and will not properly dither the results. In effect, this system adds harmonic distortion (the dither noise is effectively harmonic distortion) prior to the removal of the excess bits.....

Some digital audio systems indeed use internal processing depths of as much as 64 bits (mantissa depth) for some of their intermediate processing. These larger-bit-depth
systems would logically be preferable.

Today professional audio software often uses 64 bit.

Modern DSP chips can deliver a high precision, 48 bits with a 76-bit accumulator (a register allowing for 76 bits data) is an example.

So in the end DSP is pretty much like analogue components. A good or a bad sound depends on the precision.

Reference
1. Does software volume leveling degrade audio quality? - HydrogenAudio
2. The Scientist and Engineer's Guide to Digital Signal Processing. Steven W. Smith, Ph.D. (1997)
3. Exploring Dither in Floating-Point Systems. Nika Aldrich. February 13, 2005