When an audio signal is sampled, it gets converted into binary sequences and can therefore be considered a bulk of data that can be stored on an appropriate support system (hard disc, CDROM, zip disc, jaz). Once our audio signal is in its binary format we can employ a digital machine (like a computer for example) to carry out data manipulations. The amount of data we need to manipulate is huge (let's not forget that 1 second of stereo music is the equivalent of 172.26 Kbyte's worth of data
[Audio CD format specifications
]
) and therefore one of the restrictions we need to bear in mind is the processing power we have at our disposal. Sometimes the operations take place in real time^{[28
]}
as is the case, for instance, with a digital module carrying out an algorithm^{[29
]}
to calculate reverb on an input signal. Let's now take a detailed look at how data is manipulated, in order to have an exact understanding of the quantities involved. To start with let's imagine that the central processing unit (CPU) needs to manipulate the data in 1 second time-blocks at a time; even though real operating conditions are actually based on far shorter time-intervals, the measuring unit we have chosen is more practical because it allows us to better focus on the various aspects involved. Working in real time implies that we have to supply a continuous flow of data at the output. This means that we are forced to carry out our manipulation on 172.26 Kb's worth of data-quantity (equivalent to 1 second's worth) within no more than 1 second. Data-processing time depends on two main factors:

*Processing power:*this depends on the amount of elementary operations per second^{[30 ]}that the processor is able to perform, as well as other factors such as the amount of memory available for the operations and access-time to the memory data itself.*The complexity of the algorithm:*the manipulations carried out on the data entail mathematical calculations. The more complicated the calculation (which is usually proportional to the degree of sophistication of the algorithm), the more time it takes for it to be carried out.

In the case at hand, our module must manipulate each block of data within a time-span that is shorter than 1 second, in order not to lag behind the flow of data which is racing to the input.

The example we have described is useful to understand how digital modules work, but cannot be implemented in the real world, since it would introduce a 1 second time-displacement between the input and output signals. When working in real-time such a delay is clearly unacceptable. In actual fact the manipulation is carried out on signal-parts that are far briefer than one second so that the processor can carry out the calculation on a reasonably reduced amount of data. This allows the time calculations to reach values that are below the 30 ms threshold, in other words within the Haas zone [Haas effect ] , which means that no perceivable delay is introduced. This means we are now actually working in real time.

Sometimes working in real time isn't necessary. In such cases one can employ machines that have a lower processing power, thus protracting the data-processing time. This way, manipulation is applied to the entire bulk of data and the result won't be available until elaboration is complete.

^{[28
] }
To work in real-time means that the delay between the entering signal and the output signal is virtually absent.

^{[29
] }
An algorithm is a calculation process that aims to obtain a result starting from a set of different conditions and data. For a more detailed account of algorithms and their use we advise you to refer to any introductory computer science textbook.

^{[30
] }
It is measured in MHz. A processor with a 120 MHz speed can carry out 120 million elementary operations per second.