Software effect processor


A software effect processor is a computer program which is able to modify the signal coming from a digital audio source in real time.

Principle of operation

The digital audio signal, whose origin may be analog or be in an already digital source, is stored in temporary allotments of computer memory called buffers. Once there, the software effect processor modifies the signal according to a specific algorithm, which creates the desired effect. After this operation, the signal may be transformed from digital to analog and sent to an audible output, stored in digital form for later reproduction or editing, or sent to other software effect processors for additional processing.

Latency

The larger the buffer is, the more time it takes to play the audio data sent for playback. Large buffers increase the time required before the next buffer can be played, this delay is usually called latency. Every system has certain limitations - too small buffers involving negligible latencies cannot be smoothly processed by computer, so the reasonable size starts at about 32 samples. The processor load does not affect latency. But with very high processor loads, the buffer isn't filled with new sound in time for playback, and the sound dropps out. Increasing buffer size or quitting other applications helps to keep playback smooth.

Drivers

Microsoft Windows

The default Windows drivers are not optimized for low latency effect processing. As a solution, Audio Stream Input/Output was created. ASIO is supported by most professional music applications. Most sound cards directed at this market support ASIO. If the hardware manufacturer doesn't provide ASIO drivers, there are other ASIO free anternatives, which can be used for any audio interface. ASIO drivers can be emulated, in this case the driver name is ASIO Multimedia. However, the latency when using these drivers is very high.

Apple Mac OS X

All the Mac compatible hardware uses CoreAudio drivers, so the software effects processors can work with small latency and good performance.