Extended Drive
2023-04-19
Extended Drive is a soft clipping distortion model using Anti-Derivative Anti-Aliasing (ADAA). It includes built in user adjustable filtering and a noise gate with auto-release and attack. The clipping algorithm is based on the extended nonlinearity with envelope sidechain bias from Felix Eichas PhD thesis, the filters are based on designs commonly found in analog distortion pedals, and the auto gate was designed with the help of two papers on compression design: "Digital Dynamic Range Compressor Design— A Tutorial and Analysis" and "Parameter Automation in a Dynamic Range Compressor".
Envelope Detector
The envelope detector sidechain adjusts the DC bias of the signal before the clipping filter. This is one method of producing even order harmonics from a soft clipping function. Another technique is to make the clipping function itself asymmetrical.
The peak detector attack and release times are automatically adjusted using the crest factor of the input signal.
Clipping Filter
The clipping filter upsamples the signal by two and then takes the first order ADAA of the hyperbolic tangent function. The upsampling and ADAA reduce the amount of aliasing artifacts from the output. This method is more efficient than simply oversampling with a higher rate.
Tone Filter
The tone filter is based on the Boss DS-1 analysis by Electro Smash. First, it splits the signal in to a low pass filter @234Hz and high pass filter @1063Hz. After that it combines the filter outputs. This produces a 'V'-shaped frequency response around 500Hz that is found in certain guitar amplifiers and pedals.
The tone parameter adjusts the ratio of bass and treble frequencies.
Fractional Delay Filter
The fractional delay filter on the dry signal matches the phase with the wet signal after the ADAA. The first order ADAA causes a half sample delay. To avoid phase cancellations when mixing the dry and the wet signal, the dry path has to be delayed.
Noise Gate
The noise gate outputs 0 when the signal is below the threshold and 1 when it is above the threshold. The output is then multiplied with the wet signal to reduce the amplitude when the signal drops below the threshold.
The peak detector attack and release times are automatically adjusted using the crest factor of the input signal.