AudioProc Documentation

AudioProc v1.8 (C)2010 by Clay Hellman
--------------------------------------

On The Web: http://www.audioproc.ca
To purchase a full license key, please visit website.



CONTENTS

- REQUIREMENTS
- ABOUT PROCESSING QUALITY
- ABOUT DIGITAL FILTER QUALITY
- ABOUT DIGITAL FILTER TYPES
- ABOUT PROCESSING DELAY
- ABOUT CLIPPING, SATURATION AND HARMONICS
- SETTINGS AND PRESET FILES
- REMOTE CONTROL OF PRESET SELECTION
- DESCRIPTION, PURPOSE AND TARGET AUDIENCE
- DYNAMICS PROCESSING FOR LISTENING OR BROADCAST
- GETTING STARTED
- MAIN WINDOW
- CONTROLS
- HIGHPASS FILTER
- STEREO IMAGE PROCESSOR
- 2-BAND AGC / EQUALIZER
- 3-BAND EQUALIZER
- DUAL PARAMETRIC EQ
- DENSITY DRIVE
- MULTIBAND PROCESSOR
- MULTIBAND DYNAMIC EQUALIZER
- MULTIBAND COMPRESSOR
- MULTIBAND EXPANDER
- MULTIBAND LIMITER
- MULTIBAND SATURATOR / CLIPPER
- MULTIBAND EQUALIZER
- FINAL WIDEBAND LIMITER
- FINAL CLIPPER
- LOWPASS FILTER
- POST AMP
- QUANTIZATION DITHER
- ADVANCED SETTINGS
- TEST TONE GENERATOR
- OSCILLOSCOPE
- SPECTRUM ANALYZER
- FREQUENCY RESPONSE ANALYZER
- KNOWN PROBLEMS
- TROUBLESHOOTING



REQUIREMENTS

AudioProc requires the Winamp media player or any player that supports Winamp DSP plug-ins.  AudioProc utilizes the CPU heavily.  A minimum CPU speed of 1.0GHz is recommended in order to use AudioProc with all components enabled.  A minimum CPU speed of 800MHz is recommended in order to use AudioProc with only the Stereo Image Processor, AGC in Singleband mode, Multiband Processor with 5-band processing and all sub-options, and Final Wideband Limiter.  With components and CPU-intense features disabled accordingly, AudioProc can be used on a slower computer.  Note that 5-band processing utilizes about 30 - 40% less CPU than 10-band processing.



ABOUT PROCESSING QUALITY

Internal processing is done at 44.1khz.

Internal precision is 64-bit (double-precision floating point).

All gain control processing is done on a per-sample basis to ensure the smoothest possible gain control response.

The DSP processing loop has been highly optimized for efficiency in CPU utilization.  CPU utilization can be further reduced by deactivating unneeded / undesired components, reducing the number of bands used in the multiband processor and closing unneeded configuration / scope windows.

Top processing quality is the primary design goal.  Processing delay reduction has not been a design goal.



ABOUT DIGITAL FILTER QUALITY

All digital filters (except 3-band EQ) are implemented as reverse-cascaded 2nd-order Butterworth Biquad IIR filters.  These filters yield a high-quality filter slope similar to that of a 4th-order IIR, but with a linear-phase response and a small amount of processing delay.

The filters and filter banks have been carefully tuned to yield a frequency response that is as flat as practical.

The low-pass filter is a "double-cascaded" reverse-cascade filter.  Its slope is very sharp and phase-linear.  This filter is tuned to provide a slight increase in response near the cutoff frequency to help 'make up' for some of the energy lost from above the cut-off point.



ABOUT DIGITAL FILTER TYPES

Highpass:
  Reverse-cascaded 2nd-order High-pass Biquad (equiv. to 4th order)
  with fixed slope and variable Bass cut-off point

AGC Low Band:
  Reverse-cascaded 2nd-order Low-pass Biquad (equiv. to 4th order)
  with fixed slope and variable LB/HB crossover point
  tuned for flat response when summed with AGC High Band

AGC High Band:
  Reverse-cascaded 2nd-order High-pass Biquad (equiv. to 4th order)
  with fixed slope and variable LB/HB crossover point
  tuned for flat response when summed with AGC Low Band

3-Band EQ:
  3-Band integrated 4th-order filter
  with fixed slopes and variable B/M and M/T crossover points
  naturally yielding a flat response when gains are flat

Dual Parametric EQ:
  Reverse-cascaded 2nd-order Low-Shelf or Peaking Biquads
  (equiv. to 4th order)
  with adjustable frequency, peaking bandwidth and gain

Multiband Processor:
  Reverse-cascaded 2nd-order Biquads (equiv. to 4th order)
  10-band banks are made up entirely of bandpass filters
  with fixed centers and choice of wide or narrow bandwidth.
  Other banks use lowpass for the low band, bandpass for
  the middle bands and highpass for the high band.
  All banks tuned for maximally flat response

Lowpass:
  Double-cascade of reverse-cascaded 2nd-order Low-pass Biquad
  (equiv. to 8th order)
  with fixed slope and variable High-frequency cutoff point



ABOUT PROCESSING DELAY

As processing delay reduction has not been a design goal, any trade-off between audio quality and processing delay has always favored audio quality.  Delay within the processor is caused by (1) Reverse-cascaded filters, and (2) Compressor and Limiter "Look-Ahead" capability.  The majority of the delay is from the filters.

A cascaded filter passes samples through two filters in series, which should not cause any noticeable time delay, but will cause group delay (waveform phase shifts that vary with frequency).  A reverse-cascaded filter is similar in that there are two filters in series, however, the second pass acts in reverse (backwards in time), thus correcting the phase shifts caused by the first pass.  This is best suited for non-realtime applications such as the processing of a wave file where the entire waveform can be filtered forward, then backward.  A real-time implementation, such as this, becomes more complex.  The incoming waveform must be processed in chunks that are large enough to filter forward and then backward, including some overlap such that the backward pass begins with a continuous filter state from the waveform ahead.  The size of these chunks, plus the overlap, determine the amount of processing delay generated by these filters.  Each filter in a series of filters will add one unit of this delay to the output signal.

The look-ahead feature of a compressor or limiter implies that the incoming data must be buffered to a certain extent so that the dynamics processing can analyze the waveform ahead of the samples it is currently sending to output.  The delay from this is quite small in comparison to the reverse-cascade delay described above.

As the audio data is buffered within the reverse-cascaded filters and lookahead buffers, some previous material can often be heard immediately after switching to new material (ie. selecting a new song).  Continuous / gapless / crossfader output plug-ins can resolve this issue.  Note that these buffers are cleared automatically if playback is stopped for more than five seconds -- after this, no previous material will be heard when playback is restarted.



ABOUT CLIPPING, SATURATION AND HARMONICS

Saturation and clipping produce intermodulation distortion and harmonics.  It is recommended that you analyze the harmonics using the Test Tone Generator with the sine wave tone and Spectrum Analyzer so that you understand the level of harmonics present in your output signal.  With further tuning and choices of component usage, you will be able to reduce or eliminate them as necessary.  Be sure to examine various test tone frequencies, as the preceeding dynamics processing and equalization can yield different levels at different frequencies.  The Oscilloscope can also be used at low frequencies with a high sine wave amplitude to examine the effects on waveform shape from the saturator and soft clipper.  The saturator will form the sine wave into a more U-shaped wave, and the soft clipper will tend to flatten the tops and bottoms of higher-amplitude waves, but not as abruptly as with hard clipping.  The multiband clipper will flatten the tops and bottoms of the higher amplitude waveforms in each of the bands individually, depending on that band's settings.

If your output signal will pass through an encoding stage for netcasting, harmonics will likely increase the degree of artifacts present in the encoded signal due to an attempt to encode the harmonics themselves.  In this case, it is recommended to create an output that is completely free of saturation and clipping (and their associated harmonics) so that the encoding stage can work as efficiently as possible.  AM/FM radio broadcast and regular listening are not affected as much by these harmonics.  Very slight saturation distortion can warm up the sound and increase listening pleasure without sounding distorted.



SETTINGS AND PRESET FILES

The settings file, dsp_AudioProc.ini, contains non-preset-specific information such as window positions and default startup preset.  This file is stored in the Winamp directory.  The file is in text format.  The default startup preset is stored as its number (1 - 99) for user presets, or 0 to -9 for factory presets (0 being F1, -1 being F2, ...)

Presets contain all of the tunable audio processing parameters such as which components are active, and equalization settings.  User presets are stored in the Winamp directory, in AP_PresetXX.ini (where XX is a two-digit number from 01 - 99).  User preset files are stored in text format and can be edited manually, assuming care is taken not to corrupt the file.  Factory presets are built in to the plug-in DLL and cannot be changed or removed.

The entire AudioProc configuration and presets can be backed up and restored by saving / restoring the above files (dsp_AudioProc.ini, and all AP_PresetXX.ini files within the Winamp directory).

See GETTING STARTED for details on the factory presets.  Please note that the factory preset names describe the type of sound they produce, rather than their intended use.  For example, the AM preset is intended to sound like an AM radio station.  If these factory presets will be used for broadcast, they will likely need to be tweaked.  (For example, the Lowpass Filter may need to be enabled for FM stereo broadcasting)



REMOTE CONTROL OF PRESET SELECTION

The currently selected preset can be changed by creating a temporary text file in the Winamp directory, called AP_Select.tmp.  Line 1 of this file should contain the number of the preset to select (1 - 99 for user presets, or 0 to -9 for factory presets, 0 being F1, -1 being F2, ...).  Include the word "Default" on the second line of the file if you wish to have the default startup preset changed as well.  AudioProc will scan for the presence of this file approximately once per second, and if found, will perform the preset change and then delete the temporary file.  This method can also be used to re-load the same preset if the preset file (AP_PresetXX.ini) has been changed manually or overwritten.

This feature provides the ability for local or remote automation programs to control the preset selection.  This can be useful for playout systems that use processing that is appropriate for certain program material, or for dayparting of broadcast material.



DESCRIPTION, PURPOSE AND TARGET AUDIENCE

AudioProc is an audio dynamics processor in the form of a Winamp DSP plug-in.  Its development is focused upon achieving high-quality results with an intent to achieve a competitive 'on the air' sound signature resembling that of modern audio broadcast processors used by major market FM radio stations.  Loudness and clarity are both goals, however the primary goal is to achieve a warm and bright, non-fatiguing, properly balanced and artifact-free audio output suitable for individuals wishing to do the following:

- PC-based music playback
- Server-based music playout system for home or commercial use
- Netcasting
- Low-power AM/FM transmissions



DYNAMICS PROCESSING FOR LISTENING OR BROADCAST

Audio with a high dynamic range (large volume difference between quiet parts and loud parts) is easy to hear, and usually desired, in a noise-free theatre-like environment where quiet parts are not masked out by background noise, and where loud parts are desired and contained within the setting without becoming an annoyance.  However, often music is heard in the presence of background noise, such as in a vehicle, over a store PA system, or in a restaurant.  In these cases, a high dynamic range would imply that the quiet parts would be less audible over the background noise, or on the other hand, if the audio was increased in volume, that the loud parts could be overbearing and perhaps annoying in certain environments.  This can also lead to frequent / constant volume adjustment by some listeners.

A dynamics processor can use several different techniques for reducing the dynamic range of audio so as to increase the level of quiet parts and reduce the level of loud parts without excessively changing the perceived sound.  As well, source-to-source volume and spectral balance can be normalized.  This type of sound modification can involve a large number of different settings, each one affecting the result in a certain way.  This provides the flexibility to customize the style of processing to yield a recognizable, or signature type of sound, while at the same time making the sound more clearly heard over background noise without requiring loud volumes.  The degree of signal modification done by the processor can be as subtle or extreme as desired or needed.  Dynamics processing can achieve the following:

- Remove infrasonic low frequencies or DC offset
- Normalize the volume
- Make the sources more spectrally consistent with each other
- Increase loudness (RMS) without increasing peaks
- Protect audio amps / speakers from clipping and excessive peaks
- Add warmth, fullness and brightness
- Allow equalization of the output signal
- Limit / soft-clip / saturate the processed signal
- Prepare a signal for compliance with radio broadcast rules
- Increase coverage area of radio broadcast
- Allow easy preset selection and storage
- Allow remote control of preset selection for automated systems

Dynamics processing modifies the original sound.  If overdone, or done poorly, it can and will severely degrade the sound.  Tuning a flexible dynamics processor is not a trivial task, and will usually require reasonable knowledge on the subject.  Due to the large number of tunable parameters in an AudioProc preset, it is highly recommended that a factory preset be used as a starting point until comfortable with the operation of the components.



GETTING STARTED

Once dsp_AudioProc.dll is installed in the Winamp Plugins directory, it can be selected as a DSP plug-in from within Winamp, from within a DSP stacker plug-in, or from within an output plug-in that allows DSP use, such as some crossfading plug-ins.  Once the plug-in is selected, your 15-day trial period will begin.  If you have purchased a full license, click the "License/Activate" button near the bottom right of the main window.  The license wizard will guide you through the process of activating your full license.  Once the plug-in is selected, it will begin processing immediately, using the currently selected default startup preset.

Please note, if you are moving your license from one computer to another, you must deactivate it first on the old computer by clicking the "License/Activate" button and then selecting the "Deactivate" option.  This will free up the license to be used on another computer.

AudioProc components each have their own window.  All window positions and opened/closed state are saved and recalled next time AudioProc is started.  When the main window is closed, all other components will also be closed, but their state will be remembered.  Next time the main window is opened (using the Configure button on the DSP selection window), all previously showing components will re-open in the same position that they were last opened in.  This allows the components to be laid out on the screen in an arrangement that is intuitive to the user, and hidden immediately upon closing of the main window.

Note that each component can be enabled and tweaked individually for the purpose of examining the result.  This is one way to become proficient with the settings and understand their effect on the sound.  (NOTE: Indented components require their parent component to be enabled as well).

For quick results, try the available factory presets, one by one.  Find the preset that is perceived by you to sound the best for the type(s) of material being listened to.  If and when you wish to begin tweaking the settings of this preset, you may save it into a user preset.

Factory Presets:
  - Enhancer:      Provides general enhancement and consistency
  - FM Stereo:     Provides processing for FM Stereo broadcasting
  - AM Radio:      Provides processing for AM Radio
  - Web Radio:     Provides processing suitable for webcasting
  - 10 Band Level: Provides normalization with 10 band compression
  - 5 Band Level:  Provides normalization with 5 band compression
  - 3 Band Level:  Provides normalization with 3 band compression
  - 2 Band AGC:    Provides fast 2-band AGC with fast limiting
  - Normalizer:    Provides gentle volume normalization and limiting
  - OFF:           Bypasses all processing



MAIN WINDOW

Factory presets (numbered Fx) and user presets (numbered 01 - 99) can be selected by double-clicking the preset, or by selecting and then clicking Load.  To save a preset, select the slot to save to, provide a name for the preset and then click Save.  To delete a preset, select it and then click Delete.  To set a preset as the default startup preset, select it and then click Default.  To make changes to a factory preset, double-click to load the preset, then highlight an empty user slot, provide a new name, then click Save, and set as default if you wish.

The Broadcast Audio Processor Console section contains all Preset settings, starting with the name of the preset, then the Bypass switch, then the settings for the processing components.  The processing chain goes from top to bottom.  The signal enters at the top and leaves the bottom, thus the order of processing is the order in which the components appear in the console.  Each component can be activated independently, and configured using the Open button.  Note that any indented component requires its parent component above it to be enabled.  For example, the "Compressor" and "Equalizer" would both require the "Multiband Processor" to be enabled.

The Peak Levels section indicates peak input level and peak output level, relative to 100%  (100% being 0dB digital full-scale).  The Hard Clip indicator immediately below the level meters will show when the output attempts to exceed 0dB digital full-scale.

The Analysis section contains an Oscilloscope, Spectrum Analyzer, Frequency Response Analyzer and Test Tone Generator.



CONTROLS

Component controls are based on sliders, and are labelled with a brief description and unit (ie. dB or milliseconds).  Controls can be moved with the mouse.  If more precision is desired, the arrow and page up/down keys can be used.  Arrows move the setting by one unit of precision.  Page up/down can be used to move the slider by a larger amount depending on the particular control.  A control can be 'selected' for keyboard input by clicking either the slider itself, the numeric text below, or by using the Tab key.



HIGHPASS FILTER

Allows low frequencies and DC offset to be filtered out before processing.

Cutoff Hz: Frequencies below this will be removed.



STEREO IMAGE PROCESSOR

Allows the stereo image to be either mixed to mono or widened on transients.  When widened, the stereo difference signal is dynamically boosted by the selected amount of enhancement based on the difference between level detector 1 and 2, limited to a set maximum enhancement.  The detectors work together to detect transients in the input signal.

NOTE: Excessive stereo enhancement can cause degradation of the audio signal.

Mono:          Mixes Left / Right channels into Mono
Enh. Amt %:    Amount of enhancement
Detector 1:    Time constant for RMS detector
Detector 2:    Time constant for averaging Detector 1
Release msec:  Speed at which stereo enhancement releases
Max Enh. dB:   Maximum enhancement applied
Enh. dB:       Shows current stereo difference signal boost



2-BAND AGC / EQUALIZER

The Automatic Gain Control is intended to provide an optimum input level for the multiband processor.  This component dynamically normalizes the level of the input signal by boosting the gain of the low/high bands as needed, and then cutting the wideband gain if required, retaining almost all of the micro dynamics, as well as a small amount of the macro dynamics of the material.  Also allows fixed boost for each band when used in 2-band mode.  AGC can operate in 2-band or singleband mode.  When in singleband mode, X-Over Hz provides a highpass filter cutoff for the AGC control signal to allow bass frequencies to have less effect on the AGC.

Level %:           Amount of AGC control applied (0% to 100%)
Max Gain dB:       Maximum gain that AGC will apply
Gate dB:           Output level below which AGC gain rises slowly
L/H Gain Meters:   Shows current low/high band AGC gains
Reduc.dB Meter:    Shows current wideband AGC gain reduction
X-Over Hz:         Crossover frequency between low/high bands
                   OR control signal highpass in singleband mode
Link %:            Amount of linking between low/high bands
LB Att msec:       Lowband Attack Time (Gain decrease time)
LB Rel msec:       Lowband Release Time (Gain increase time)
LB Bst dB:         Lowband post-AGC boost (EQ gain)
HB Att msec:       Highband Attack Time (Gain decrease time)
HB Rel msec:       Highband Release Time (Gain increase time)
HB Bst dB:         Highband post-AGC boost (EQ gain)
Singleband:        Single band operation (using lowband settings)



3-BAND EQUALIZER

Allows some further pre-equalization of the signal prior to feeding the Multiband Processor.  The crossover points between bass/mid and mid/treble are adjustable, but the slopes are fixed.

NOTE: This filter's response curves are not always as expected -- beware of ripple in the higher frequency responses.  When adjusting this EQ, it is recommended that you temporarily enable ONLY the 3 band EQ, then use the Frequency Response Analyzer to review its response to ensure you are getting the response curve you desire.

Bass:   Sets the Bass band gain
Mid:    Sets the Midrange band gain
Treble: Sets the Treble band gain
B/M Hz: Bass to Mid crossover frequency
M/T Hz: Mid to Treble crossover frequency
Mutes:  Allows bands to be completely muted for analysis



DUAL PARAMETRIC EQ

Allows phase-linear peaking and/or shelving equalization of the signal prior to feeding the Multiband Processor.  The Frequency Response Analyzer can be used with only this component enabled to view response curves.

Freq:   Sets the shelving corner or peak center frequency
Bandwid:Sets the peaking bandwidth (PEAKING ONLY)
Gain:   Sets low shelf or peak gain
Peaking:Selects peaking EQ or Low Shelf EQ
Enab.2: Enables the second parametric EQ



DENSITY DRIVE

Simply boosts or cuts the signal before entering the multiband processor.  This control can effectively adjust the density of the processing, and can provide a simple one-slider adjustment for customizing a preset without tweaking the other components.



MULTIBAND PROCESSOR

Breaks the signal up into multiple bands using the filter bank selected in the Advanced Settings.  The band-divided signal is then passed through the currently active multiband components (Dynamic EQ, Compressor, Expander, Limiter, Saturator/Clipper, Equalizer).

"Use narrow-bandwidth filters" provides steeper-sloped narrower-band filters, isolating the band's frequencies to a greater extent, however the frequency response of the filter bank is not as flat.  To view the frequency responses from the various filter types, disable ALL components except the Multiband Processor, then use the Frequency Response Analyzer with the different combinations of filter types.  "Mix to Mono" allows each band to be mixed to Mono.  This is more often used on bass bands to provide better bass 'punch' and compatibility with single bass speaker (subwoofer) playback.

The Multiband Processor display window shows the current gain reductions for the dynamic multiband components (Compressor, Expander, Limiter), as well as the current multiband clip levels.

NOTE: If you are not using any multiband components, do not enable the multiband processor, as there is no need to band-divide the signal and then recombine it.



MULTIBAND DYNAMIC EQUALIZER

Dynamically equalizes the band-divided signal before compression/limiting.  This can provide more spectral consistency, however, if used aggressively, it can cause audible spectral balance shifts during playback.

Speed:         Sets the speed that band gain changes take place.
Amount:        Amount of EQ (100% = aim for flat output)
Max Enh:       Maximum boost/cut allowed on each band
Level Meters:  Displays the current Equalization gains.



MULTIBAND COMPRESSOR

Dynamically reduces the gain of each band when its level moves ABOVE the Threshold dB.  The Ratio determines how much reduction is applied (1 means no reduction; 2 means reduce by 1/2 dB per dB above threshold; 4 means reduce by 3/4 ...).  Lookahead determines how far ahead of output the level detector operates.  These can be tuned to provide smooth results in which gain reduction is mostly or fully applied by the time a transient is played.  Attack and Release times determine how quickly the "current" gain reduction travels toward the "target" gain reduction.  The above parameters determine how smoothly a compressor operates and sounds, as well as the overall level of compression.  Aggressive settings will provide maximum loudness but can introduce undesirable artifacts, whereas excessively opposite settings may not provide enough of an effect.

This compressor features two attack and release settings per band -- one for when the current gain reduction falls within a window surrounding the target gain reduction, and one for when the current gain reduction falls outside the window.  This allows the compressor to slow its attack and release times when the dynamic range of the material is already well controlled, thus preventing over-processing of overly dense material.

NOTE: If Attack and Release are set to zero, the compressor's gain reduction will 'ride' the level detector instead of 'following' it.  This can be useful if a very quick 'zero-attack' reaction is desired, or with a longer detector time for a slightly different type of compression effect that can resemble that of a more simple analog compressor.

Pre Gain dB: Amplification of band signal prior to compression
Ratio:       Ratio of gain reduction applied on level above threshold
Threshold:   Level above which gain reduction takes effect
Lookahead:   Time ahead of output in which the level detector operates
IW Attack:   Speed at which gain reduction will increase within target window
IW Release:  Speed at which gain reduction will decrease within target window
OW Attack:   Speed at which gain reduction will increase outside target window
OW Release:  Speed at which gain reduction will decrease outside target window
Gate dB:     Output level below which bands release slowly
Gated Rel.ms:Release speed when output level is below Gate dB
Peak Detect: Use peak detector rather than RMS detector
Window Size: Size of target window to determine attack/release speed



MULTIBAND EXPANDER

The opposite of a compressor.  Dynamically reduces the gain of each band when its level moves BELOW the Threshold dB.  The Ratio determines how much reduction is applied (1 means no reduction; 2 means reduce by 2 dB per dB below threshold; 4 means reduce by 4 ...).  Attack and Release times determine how quickly the "current" gain reduction travels toward the "target" gain reduction.

Expanders (sometimes referred to as noise gates) can reduce noise by making quiet sounds even quieter.  Any input sound level below the threshold will be made even quieter by gain reduction.  Note that the Expander uses RMS level detection.

Ratio:       Ratio of gain reduction applied on level below threshold
Threshold:   Level below which gain reduction takes effect
Attack:      Speed at which gain reduction will increase
Release:     Speed at which gain reduction will decrease



MULTIBAND LIMITER

Infinite-ratio compressor.  Dynamically reduces the gain of each band when its level moves ABOVE the Threshold dB.  Infinite-ratio means that the gain is reduced by the amount in which the level exceeds the threshold, thus attempting to limit the output level to the threshold.  Lookahead determines how far ahead of output the level detector operates.  Attack and Release times determine how quickly the "current" gain reduction travels toward the "target" gain reduction.

The limiter is intended to be a second line of defense against excessive peaks.  Limiters are often set with faster time constants and higher thresholds such that they are not constantly reducing gain, but rather, only doing so when processing transients in the signal that have made it through previous stages of processing.

Pre Gain dB: Amplification of band signal prior to limiting
Threshold:   Level above which gain reduction takes effect
Lookahead:   Time ahead of output in which the level detector operates
Attack:      Speed at which gain reduction will increase
Release:     Speed at which gain reduction will decrease
Peak Detect: Use peak detector rather than RMS detector



MULTIBAND SATURATOR / CLIPPER

Reduces dynamic range by applying square root nonlinearity to the waveform of each band.  Also allows hard clipping of each band's waveform.  This is not a dynamic component, as it is applied independently to each sample.  Adding some saturation to all or some of the bands can provide some added warmth and perceived clarity to the sound, and will provide some levelling (reduction in the difference between quiet and loud).

Beware that the saturator can, at first, be perceived as a high-quality compressor that is immune to pumping artifacts.  At full 100% saturation, it can open up the sound and potentially give the impression of a very drastic improvement.  However, the saturator, by definition, produces distortion (See "ABOUT CLIPPING, SATURATION AND HARMONICS").  The amount of distortion produced is based on the level of saturation desired.  Performing saturation of a band-divided signal produces far less perceived distortion than the saturation of a wideband signal due to the fact that each band's saturated level will not affect the amplitude of the waveform in other bands.  Saturation-induced harmonics will still be generated and will fall into the frequency range of other bands.  As well, intermodulation (IM) distortion will still occur between frequencies within each band.  It is recommended that you use a 100% saturated sound, without any prior compression/limiting, only as a reference point for a possible target sound, rather than for regular listening or broadcast.  Depending on your tolerance, the saturator may be used for regular listening or broadcast in a more subtle configuration, as a complement to the preceeding dynamics processing.  multiband re-filtering can be applied after saturation and clipping to reduce harmonics -- this is a form of distortion cancelling.

To observe the distortion from saturation, mute all bands except one (preferrably a lower band such as 250Hz), using the multiband EQ, then try 100% saturation on that band.  You will hear the distortion.  Try toggling 'Re-Filter' on and off to observe the reduction in harmonics.

Level %:   0 = No saturation. 100 = Full (square root) saturation.
Gain dB:   Boost or cut to compensate for saturation if needed.
           (100% Sat. requires approx. -10dB gain compensation)
           Also used to adjust multiband clipper drive level.
Clip Lvls: Allows band waveform to be hard clipped at specified level.
Re-Filter: Refilters each band after saturation / clipping to reduce
           harmonics. (Refilter adds one unit of reverse-cascade filter
           delay, and adds to CPU utilization).



MULTIBAND EQUALIZER

Allows adjustment of the band gains after the above multiband processing is performed, and before the band-divided signal is recombined.

Preamp dB:   Amplifies / cuts all bands by specified amount
Band levels: Amplifies / cuts each band by specified amount
Mutes:       Allows bands to be completely muted for analysis



FINAL WIDEBAND LIMITER

Dynamically reduces the gain of the combined output signal when its level moves above the Threshold dB, using an infinite ratio.  The gain is reduced by the amount in which the level exceeds the threshold, thus attempting to limit the output level to the threshold.  Lookahead determines how far ahead of output the level detector operates.  Attack and Release times determine how quickly the "current" gain reduction travels toward the "target" gain reduction.

This limiter is intended to be a third line of defense against excessive peaks by processing the re-combined wideband signal.  This limiter has a higher potential to produce 'pumping' artifacts across the entire spectrum if used aggressively.  It is intended for use in a more subtle fashion where gain reduction is not constant, but rather, happens occasionally on remaining transients.

This limiter can easily be set up as a "Brick Wall" limiter by selecting Peak Detect, setting Lookahead to Zero and Attack to Zero.

Drive dB:    Amplification of signal prior to limiting
Threshold:   Level above which gain reduction takes effect
Lookahead:   Time ahead of output in which the level detector operates
Attack:      Speed at which gain reduction will increase
Release:     Speed at which gain reduction will decrease
Peak Detect: Use peak detector rather than RMS detector



FINAL CLIPPER

Intended to reduce the level of distortion and harmonics from hard clipping, this component directly reduces peak waveform amplitude by using one of two methods: (1) Soft clipping (analog-style high amplitude saturation), or (2) Complex clipping (RF style clipping), depending on if "Complex Clipper" is selected or not.

(1) Soft clipping
 
Unlike hard clipping, which limits the waveform's amplitude by flattening any parts that peak above the allowable amplitude, soft clipping reduces the amplitude of waveform samples approaching its threshold according to a cubic nonlinearity function.

(2) Complex clipping

Emulates the modulation of the audio signal on a radio frequency, clipping the radio frequency waveform.  This clipping method generates a different type of distortion that is similar to RF modulation noise, and could possibly be considered less disturbing than distortion produced by hard or soft clipping, possibly due to the fact that the sound can more closely resemble 'static' often heard while listening to the radio.

Clipping adds distortion.  While soft clipping and complex clipping are intended to reduce the audibility of clipping-induced distortion and/or allow loudness to be increased, if overused, the results can be undesirable.  Please review the section titled "ABOUT CLIPPING, SATURATION AND HARMONICS" for more information.

The Drive dB is the amplification of the signal prior to clipping.  The Threshold is the output level in which any further increase in input amplitude will not yield an increase in output amplitude.  Soft clipping saturation gently begins at approximately 2/3 of this level, and increases with amplitude up to the threshold level.  The Clip Level meter shows the current level of amplitude reduction, in dB.



LOWPASS FILTER

Allows high frequencies to be filtered out after processing.

Cutoff Hz: Frequencies above this will be removed.



POST AMP

Simply boosts or cuts the final processed signal.



QUANTIZATION DITHER

Assists in preserving full dynamic range in the waveform at the stage where it is converted from 64-bit internal precision down to 16-bit output precision.  This is done by adding a low-amplitude (near -100dBFS or 1/65536th of full scale) noise waveform to the 64-bit samples before they pass through wordlength reduction.



ADVANCED SETTINGS

The advanced settings contain the Peak / RMS detector time constants for the AGC, Multiband Processor and Final Limiter.  The time constants should be set to, at the very least, one period of the lowest frequency waveform that will be processed by the corresponding component / band.  These settings do not normally need to be modified from their factory preset defaults.

These settings also include a filter bank selector.  The filter bank in use drastically alters the sound of the processing.  NOTE: Changing from 5-band to 10-band filter banks or vice versa will give strange sounding results until all of the bands are adjusted for processing with that number of bands -- therefore, it is advisable to load a preset that is already configured for the number of bands you want, then work from that.

Multiband Compression Type II changes the behavior of the multiband compressor's envelope follower to progressively speed up the attack/release times as gain reduction increases.  This tends to give a more punchy, more consistent sound without adding undue density.

Filter Bank 1:  10-Band processing with octave bandpass filters at
                32,64,125,250,500,1K,2K,4K,8K,16KHz frequencies
Filter Bank 2:  5-Band processing with band crossovers at 200, 520,
                1800 and 6000Hz frequencies
Filter Bank 3:  5-Band processing with band crossovers at 100, 520,
                1800 and 6000Hz frequencies.  Gives a deeper sound
                than bank #2 due to the lower crossover between the
                two low bands.
Filter Bank 4:  5-Band processing with same crossover points as
                bank 3 but with wider bandwidth filters to give a
                fuller sound in the low mid, mid and upper mid.
Filter Bank 5:  3-Band processing with band crossovers at 200 and
                3000Hz frequencies.
Filter Bank 6:  6-Band processing with band crossovers at 150, 500,
                1100, 2600, 6200Hz frequencies.



TEST TONE GENERATOR

Generates Sine and Noise waveforms, and allows muting of the input signal.  For the sine wave, the frequency and amplitude can be selected.  For the noise waveform, the amplitude can be selected.  The test tones are generated at the beginning of the processing chain, so as to allow the chain's effects on the test tones to be heard and examined.

Use of the sine wave and spectrum analyzer can offer a good method to spot harmonics generated by clipping / saturation of the waveform.  The harmonics from such clipping / saturation will appear in the spectrum analyzer if they are present, thus allowing the user to correct settings to eliminate or reduce them as desired.



OSCILLOSCOPE

Displays real-time successive snapshots of the output waveform.  The center line is the waveform's zero crossing point.  The upper and lower lines are the digital full-scale (maximum output amplitude) points.

The Oscilloscope is useful for visually monitoring output levels.  Clipping can occasionally be spotted if its level is is severe, however, minor transient clipping is almost always NOT visible.  The Oscilloscope can also be used to examine the effects of saturation and soft clipping on the shape of the sine wave test tone at lower frequencies.



SPECTRUM ANALYZER

Displays real-time successive snapshots of the output waveform's Fast Fourier Transform on an octave frequency scale.  The bar heights indicate the level of energy at a frequency.

As mentioned above, using the sine wave of the test tone generator, along with the spectrum analyzer, can show harmonics generated by clipping / saturation of the waveform.  The spectrum analyzer can also give a general idea of the spectral distribution within the currently playing sound, after processing.  A bass-heavy output will generally slope down from left to right, and likewise, a treble-heavy output will tend to slope in the opposite direction.

NOTE: Due to the inner workings of a Fast Fourier Transform, lower octaves have less resolution than higher octaves.  This is why the lower frequency ranges of the spectrum analyzer show wider bars than the upper ranges.



FREQUENCY RESPONSE ANALYZER

Graphs the output level of a slow sine wave sweep from 20Hz to 20kHz on an octave frequency scale.  This does not work in real-time and does not use the input content to generate the graph -- playback must be stopped in order to use this feature.  This analyzer is intended mainly to display filter response curves.  It will function when the dynamic components are enabled, and can be used this way, however it will likely prove to be more useful when used with dynamic components turned off.  (Dynamic components being those that dynamically alter any gains -- AGC, Dynamic EQ, Compressor, Expander, Limiters)

This tool can analyze the Highpass Filter, the 2-Band AGC filters (with Max Gains set to 0 while graphing), the 3-Band EQ filter, the Multiband Processor filters (with Dynamic EQ, Compressor, Expander and Limiter disabled), the Multiband EQ response, the Saturator, the Final Clipper, and the Lowpass Filter.  The analyzer can be used with one or more of these components enabled.

NOTE: Erratic plotting at the far left of the graph will sometimes show up if there are a larger number of delay-producing components enabled.  This is normal, and can be disregarded.

The response plot is generated as fast as possible without performing any sound output (ie. the DSP engine is used internally for the analysis).  Winamp playback must be stopped while the response plot is generating.  The length of time needed to generate the response plot is indicative of the CPU utilization required for the selected processing components.  If your entire chain is active, the plot could take considerably more time to generate, depending on CPU speed.

This analyzer can be used for the purpose of determining the relative CPU utilizations with different components enabled / disabled.  This kind of analysis can assist in CPU optimization of a preset.  To get a baseline time for your computer, enable all components and run the plot a couple of times.  After you have made a note of the time to complete this plot, it can be used as a time reference and compared to the time needed with different components turned off.  Shorter times mean less CPU usage / requirements.



KNOWN PROBLEMS

(1) Currently, only 44.1khz 16-bit audio is supported.  Other formats will pass through un-processed.

(2) When multiple instances of the DLL attempt to start, Winamp will likely crash.  Some output plugins that support DSPs, as well as some multiple DSP stackers, can potentially allow multiple instances, even if they are not currently selected.  If you de-select an output plugin that has AudioProc DSP in use, please de-select AudioProc from its DSP selector first, then de-select the output plugin.



TROUBLESHOOTING

Problem: The sound is not being processed by the plug-in

Reason: AudioProc is not enabled, or the current preset is set to "Bypass All", or there are no processing components enabled, or the input file is not 44.1khz 16-bit, or the trial has expired.

Remedy: Make sure AudioProc is selected as the current DSP plug-in, not set to "Bypass All", and that the desired processing components are enabled.  Use only with 44.1khz 16-bit audio files.  Ensure that your 15-day trial is still active, or purchase a license.


Problem: Computer runs slow and/or audio skips

Reason: AudioProc utilizes the CPU heavily to perform its tasks.

Remedy: Run AudioProc on a computer with a faster CPU, or disable AudioProc components and features as needed for your computer.  Relative CPU usages can be found with playback stopped by using the Frequency Response Analyzer.  Note the relative times to complete the graph with different sets of components enabled.  Shorter times mean less CPU usage / requirements.  Windows Task Manager can also be used to assess CPU utilization.


Problem: AudioProc always starts up with the wrong preset

Reason: The default preset has not been selected

Remedy: Highlight the preset you wish to start up with, then select Default.


Problem: Some previously played material can often be heard when changing songs.

Reason: AudioProc must buffer some of the sound in order to perform high-quality filtering and processing.  As a result, some previous material can often be heard immediately after switching to new material (ie. selecting a new song).

Remedy: Continuous / gapless / crossfader output plug-ins can resolve this issue.  Note that these buffers are cleared automatically if playback is stopped for more than five seconds -- after this, no previous material will be heard when playback is restarted.