In the section that deals with effects and signal processors [Effects and signal processors ] , we described the most commonly-used methods for the manipulation of audio signals. These methods are the brain-children of a period when digital technology was still learning to walk and were therefore still made with analogue circuits or sometimes even with physical devices [Riverberi Fisici ] .
The possibility to sample a signal and therefore to transform it into a finite set of data, opened up a new frontier in computer manipulations of audio signals by simulating and extending good old electrical transformations. To understand this concept let's take a simple operation on an audio signal and look at it from both the analogue and the digital perspectives and compare the two approaches.
Let's say we wanted to bring a complete music piece down to half its volume. If we were to operate "analogically", we'd literally send the signal through a circuit consisting in a potentiometer which is a variable resistance generating loss of voltage at its far ends, causing the volume to go down [Resistance ] . If, on the other hand, we operate "digitally", we'd carry out a mathematical manipulation on the data. If we were to sample the signal, say, at 16 bit, our calculation would consist in picking up the 16-bit "words" (each "word" equals one sample) and reduce their value by 3 dB[31 ] [Decibels and dynamics ] ).
Performing this calculation leads us to an interesting consideration. In the digital sphere we deal with integer numbers so, when complex mathematical operations are carried out, the results are decimal numbers which need to be approximated in order to keep being represented in the same binary form as the ones we started off with. This means that any mathematical manipulation introduces an approximation to the data, and therefore from our point of view, a distortion of the signal. If for example, after having carried out an operation we wished to turn back by applying the inverse process, we wouldn't find the original value we started off with but its approximated value. Fortunately the precision of the calculations is very high and therefore the degradations that have been introduced are very small, yet still present so it is important to bear this fact in mind.
Nowadays all music is sold in Compact Disc [Optical Media ] support format, which uses a 16 bit quantization. This resolution is insufficient in the production phase, due to the amount of actuated manipulations, and this is why higher resolutions are used (20 bit, 24 bit, and higher).
Taking our previous example as our starting point, we can imagine more complicated manipulations such as the implementation of an algorithm which simulates an environment's reverb. In this case each sample is repeated with decreasing amplitudes and random delays in order to simulate the effects of reflections off walls. Great attention is put into calculating delays. If they were all to be the same we'd have a monotonous reverb effect: boring from the point of view of sound. If on the other hand we were to use a sophisticated algorithm which takes into account the signal's frequencies to calculate the delay each time, we'd undoubtedly get a far more realistic effect. Quality has a price and the price to pay for this kind of result is greater power calculation and therefore, it almost goes without saying, more expensive equipment. That's why a 15000 Euro reverb unit "sounds better" than a 100 Euro one, although this isn't always 100% the case.
[31 ] For those of you that would like to venture this calculation, here is the procedure you must follow:
Suppose that the binary sample is: 1011101011010100 equivalent to the decimal value 47828 (the decimal values, having used 16 bit, are between 0 and 65535). This equals a dynamic [Dynamic range ] of:
dB=20 log 10 (47828) = 93.59 dB
The new dynamic will be: 93.59 dB - 3 dB = 90.59 dB
To calculate the new value for the sample at hand we need to apply the following formula:
90.59 = 20 log 10 (new value) from which:
new value = 10 (90.59/20) = 10 4.53 = 33884.4156
Rounding off the new value is: 33884 which in binary terms is: 1000010001011100