Audio Editor: DSP Nodes – Arma Reforger
Lou Montana (talk | contribs)  (Page creation)  | 
				Lou Montana (talk | contribs)   (Add overview text, Some wiki formatting)  | 
				||
| Line 27: | Line 27: | ||
}}  | }}  | ||
}}  | }}  | ||
The following is an overview of all available DSP effect classes that can be used in the Filter node. Assigned DSP effect classes will affect the input ports available to the Filter node.  | |||
{{Feature|informative|DSP effect classes can be assigned by clicking on "DSP Object" in a Filter node's Item Details.}}  | |||
== DSP Nodes ==  | == DSP Nodes ==  | ||
| Line 33: | Line 37: | ||
Abstract type that all DSP effects inherit from.  | Abstract type that all DSP effects inherit from.  | ||
No attributes.  | |||
=== Biquad Filter ===  | === Biquad Filter ===  | ||
Applies a biquad filter<ref>{{Link|https://www.earlevel.com/main/2013/10/13/biquad-calculator-v2/}}</ref>.  | Applies a biquad filter<ref>{{Link|https://www.earlevel.com/main/2013/10/13/biquad-calculator-v2/}}</ref>.  | ||
{| class="wikitable  | {| class="wikitable align-center-col-4"  | ||
! Attribute Name  | ! Attribute Name  | ||
! Description  | ! Description  | ||
| Line 53: | Line 52: | ||
| Type of filter  | | Type of filter  | ||
|    | |    | ||
*   | * {{hl|LowPass}}  | ||
*   | * {{hl|HighPass}}  | ||
*   | * {{hl|BandPass}}  | ||
*   | * {{hl|Notch}}  | ||
*   | * {{hl|PeakingEQ}}  | ||
*   | * {{hl|LowShelf}}  | ||
*   | * {{hl|HighShelf}}  | ||
*   | * {{hl|AllPass}}  | ||
|   | | {{Icon|unchecked}}  | ||
|-  | |-  | ||
| '''Fc'''  | | '''Fc'''  | ||
| Cutoff/center frequency of the filter  | | Cutoff/center frequency of the filter  | ||
| [20, 16000]  | | [20, 16000]  | ||
|   | | {{Icon|checked}}  | ||
|-  | |-  | ||
| '''Q'''  | | '''Q'''  | ||
| Factor that controls the slope of the filter shape  | | Factor that controls the slope of the filter shape  | ||
| [0.1, 20]  | | [0.1, 20]  | ||
|   | | {{Icon|checked}}  | ||
|-  | |-  | ||
| '''Gain'''  | | '''Gain'''  | ||
| Line 77: | Line 76: | ||
Available for "PeakingEQ", "LowShelf", "HighShelf" and "AllPass" '''Biquad Types'''.  | Available for "PeakingEQ", "LowShelf", "HighShelf" and "AllPass" '''Biquad Types'''.  | ||
| [-18, 18]  | | [-18, 18]  | ||
|   | | {{Icon|checked}}  | ||
|}  | |}  | ||
| Line 83: | Line 82: | ||
Introduces distortion by reducing the bit depth of the audio input to 8-bit<ref>{{Link|https://en.wikipedia.org/wiki/Audio_bit_depth}}</ref>.  | Introduces distortion by reducing the bit depth of the audio input to 8-bit<ref>{{Link|https://en.wikipedia.org/wiki/Audio_bit_depth}}</ref>.  | ||
{| class="wikitable  | {| class="wikitable align-center-col-4"  | ||
! Attribute Name  | ! Attribute Name  | ||
! Description  | ! Description  | ||
| Line 94: | Line 91: | ||
| An 8-digit string of '0's or '1's that specifies which of the 8 bits of the bit-crushed signal should be "enabled" (1) or "disabled" (0)  | | An 8-digit string of '0's or '1's that specifies which of the 8 bits of the bit-crushed signal should be "enabled" (1) or "disabled" (0)  | ||
| String  | | String  | ||
|   | | {{Icon|unchecked}}  | ||
|}  | |}  | ||
| Line 100: | Line 97: | ||
Implements dynamic range compression; Reduces the volume of the input signal if the specified threshold value is exceeded<ref>{{Link|https://en.wikipedia.org/wiki/Dynamic_range_compression}}</ref>.  | Implements dynamic range compression; Reduces the volume of the input signal if the specified threshold value is exceeded<ref>{{Link|https://en.wikipedia.org/wiki/Dynamic_range_compression}}</ref>.  | ||
{| class="wikitable  | {| class="wikitable align-center-col-4"  | ||
! Attribute Name  | ! Attribute Name  | ||
! Description  | ! Description  | ||
| Line 111: | Line 106: | ||
| Threshold value of the input level above which the gain begins to be reduced  | | Threshold value of the input level above which the gain begins to be reduced  | ||
| [-50, 0] dB  | | [-50, 0] dB  | ||
|   | | {{Icon|checked}}  | ||
|-  | |-  | ||
| '''Ratio'''  | | '''Ratio'''  | ||
| Specifies the value of ''n'' in the ratio ''n'':1. This value controls the amount of gain reduction (e.g. a ratio of 2:1 tells us that if the input signal is 2 dB over the value of '''Threshold''', the resulting output level is reduced by 1 dB).  | | Specifies the value of ''n'' in the ratio ''n'':1. This value controls the amount of gain reduction (e.g. a ratio of 2:1 tells us that if the input signal is 2 dB over the value of '''Threshold''', the resulting output level is reduced by 1 dB).  | ||
| [1, 50]  | | [1, 50]  | ||
|   | | {{Icon|checked}}  | ||
|-  | |-  | ||
| '''Attack'''  | | '''Attack'''  | ||
| Specifies the amount of time [ms] that the output level takes to reach the value defined by '''Ratio'''  | | Specifies the amount of time [ms] that the output level takes to reach the value defined by '''Ratio'''  | ||
| [1, 1000] ms  | | [1, 1000] ms  | ||
|   | | {{Icon|checked}}  | ||
|-  | |-  | ||
| '''Release'''  | | '''Release'''  | ||
| Specifies the amount of time [ms] that the compressor takes to "undo" gain reduction in the case that the signal level has decreased  | | Specifies the amount of time [ms] that the compressor takes to "undo" gain reduction in the case that the signal level has decreased  | ||
| [1, 1000] ms  | | [1, 1000] ms  | ||
|   | | {{Icon|checked}}  | ||
|-  | |-  | ||
| '''Knee Width'''  | | '''Knee Width'''  | ||
| Controls the sharpness of the compressor's "knee"  | | Controls the sharpness of the compressor's "knee"  | ||
| [0, 20]  | | [0, 20]  | ||
|   | | {{Icon|checked}}  | ||
|}  | |}  | ||
| Line 137: | Line 132: | ||
Introduces distortion using non-linear transfer functions.  | Introduces distortion using non-linear transfer functions.  | ||
{| class="wikitable  | {| class="wikitable align-center-col-4"  | ||
! Attribute Name  | ! Attribute Name  | ||
! Description  | ! Description  | ||
| Line 148: | Line 141: | ||
| Defines which model of distortion will be applied  | | Defines which model of distortion will be applied  | ||
|    | |    | ||
*   | * {{hl|Reciprocal}} ''Inspired by the function: y = 1 / (abs(x) + 1)''  | ||
*   | * {{hl|SoftClipper}} ''Two-stage quadratic clipping function''  | ||
*   | * {{hl|HardClipper}} ''Limits all samples above threshold to the threshold value''  | ||
*   | * {{hl|BufferNormalize}} ''All samples in the buffer (10ms) are normalized to their peak value. Introduces heavy compression with crackling''  | ||
*   | * {{hl|Foldback}} ''Waveform, instead of being clipped off, is reflected back like a mirror so that the top of the waveform is inverted.''  | ||
|   | | {{Icon|unchecked}}  | ||
|-  | |-  | ||
| '''Drive'''  | | '''Drive'''  | ||
| Line 160: | Line 153: | ||
On the output, there is gain compensation applied, so the output loudness is not affected by the Drive value too much  | On the output, there is gain compensation applied, so the output loudness is not affected by the Drive value too much  | ||
| [0, 60] dB  | | [0, 60] dB  | ||
|   | | {{Icon|checked}}  | ||
|}  | |}  | ||
| Line 166: | Line 159: | ||
Implements dynamic range compression for a specified part of the frequency spectrum.  | Implements dynamic range compression for a specified part of the frequency spectrum.  | ||
{| class="wikitable  | {| class="wikitable align-center-col-4"  | ||
! Attribute Name  | ! Attribute Name  | ||
! Description  | ! Description  | ||
| Line 177: | Line 168: | ||
| Type of filter, compression will be applied to affected frequency bands  | | Type of filter, compression will be applied to affected frequency bands  | ||
|    | |    | ||
*   | * {{hl|PeakingEQ}} ''Compression will be applied around an area of which '''Fc''' represents the center frequency.''  | ||
*   | * {{hl|LowShelf}} ''Compression will be applied below '''Fc'''''  | ||
*   | * {{hl|HighShelf}} ''Compression will be applied above '''Fc'''''  | ||
|   | | {{Icon|unchecked}}  | ||
|-  | |-  | ||
| '''Fc'''  | | '''Fc'''  | ||
| Cutoff/center frequency of the filter  | | Cutoff/center frequency of the filter  | ||
| [20, 16000]  | | [20, 16000]  | ||
|   | | {{Icon|checked}}  | ||
|-  | |-  | ||
| '''Q'''  | | '''Q'''  | ||
| Factor that controls the slope of the filter shape  | | Factor that controls the slope of the filter shape  | ||
| [0.1, 20]  | | [0.1, 20]  | ||
|   | | {{Icon|checked}}  | ||
|-  | |-  | ||
| '''Ratio'''  | | '''Ratio'''  | ||
| Specifies the value of ''n'' in the ratio ''n'':1. This value controls the amount of gain reduction (e.g. a ratio of 2:1 tells us that if the input signal is 2 dB over the value of '''Threshold''', the resulting output level is reduced by 1 dB).  | | Specifies the value of ''n'' in the ratio ''n'':1. This value controls the amount of gain reduction (e.g. a ratio of 2:1 tells us that if the input signal is 2 dB over the value of '''Threshold''', the resulting output level is reduced by 1 dB).  | ||
| [1, 50]  | | [1, 50]  | ||
|   | | {{Icon|checked}}  | ||
|-  | |-  | ||
| '''Threshold'''  | | '''Threshold'''  | ||
| Threshold value of the input level above which the gain begins to be reduced  | | Threshold value of the input level above which the gain begins to be reduced  | ||
| [-50, 0] dB  | | [-50, 0] dB  | ||
|   | | {{Icon|checked}}  | ||
|-  | |-  | ||
| '''Attack'''  | | '''Attack'''  | ||
| Specifies the amount of time [ms] that the output level takes to reach the value defined by '''Ratio'''  | | Specifies the amount of time [ms] that the output level takes to reach the value defined by '''Ratio'''  | ||
| [1, 1000] ms  | | [1, 1000] ms  | ||
|   | | {{Icon|checked}}  | ||
|-  | |-  | ||
| '''Release'''  | | '''Release'''  | ||
| Specifies the amount of time [ms] that the compressor takes to "undo" gain reduction in the case that the signal level has decreased  | | Specifies the amount of time [ms] that the compressor takes to "undo" gain reduction in the case that the signal level has decreased  | ||
| [1, 1000] ms  | | [1, 1000] ms  | ||
|   | | {{Icon|checked}}  | ||
|}  | |}  | ||
| Line 216: | Line 207: | ||
Implements a 4-band equalizer  | Implements a 4-band equalizer  | ||
{| class="wikitable  | {| class="wikitable align-center-col-4"  | ||
! Attribute Name  | ! Attribute Name  | ||
! Description  | ! Description  | ||
| Line 227: | Line 216: | ||
| Gain [dB] of the first frequency band  | | Gain [dB] of the first frequency band  | ||
| [-18, 18]  | | [-18, 18]  | ||
|   | | {{Icon|checked}}  | ||
|-  | |-  | ||
| '''Gain2'''  | | '''Gain2'''  | ||
| Gain [dB] of the second frequency band  | | Gain [dB] of the second frequency band  | ||
| [-18, 18]  | | [-18, 18]  | ||
|   | | {{Icon|checked}}  | ||
|-  | |-  | ||
| '''Gain3'''  | | '''Gain3'''  | ||
| Gain [dB] of the third frequency band  | | Gain [dB] of the third frequency band  | ||
| [-18, 18]  | | [-18, 18]  | ||
|   | | {{Icon|checked}}  | ||
|-  | |-  | ||
| '''Gain4'''  | | '''Gain4'''  | ||
| Gain [dB] of the fourth frequency band  | | Gain [dB] of the fourth frequency band  | ||
| [-18, 18]  | | [-18, 18]  | ||
|   | | {{Icon|checked}}  | ||
|-  | |-  | ||
| '''Fc1'''  | | '''Fc1'''  | ||
| Cutoff frequency of the lowshelf filter  | | Cutoff frequency of the lowshelf filter  | ||
| [50, 800]  | | [50, 800]  | ||
|   | | {{Icon|checked}}  | ||
|-  | |-  | ||
| '''Fc2'''  | | '''Fc2'''  | ||
| Center frequency of the first peak filter  | | Center frequency of the first peak filter  | ||
| [200, 3000]  | | [200, 3000]  | ||
|   | | {{Icon|checked}}  | ||
|-  | |-  | ||
| '''Fc3'''  | | '''Fc3'''  | ||
| Center frequency of the second peak filter  | | Center frequency of the second peak filter  | ||
| [1000, 8000]  | | [1000, 8000]  | ||
|   | | {{Icon|checked}}  | ||
|-  | |-  | ||
| '''Fc4'''  | | '''Fc4'''  | ||
| Cutoff frequency of the highshelf filter  | | Cutoff frequency of the highshelf filter  | ||
| [4000, 16000]  | | [4000, 16000]  | ||
|   | | {{Icon|checked}}  | ||
|-  | |-  | ||
| '''Qfactor2'''  | | '''Qfactor2'''  | ||
| Factor that controls the slope of the first peak filter's shape  | | Factor that controls the slope of the first peak filter's shape  | ||
| [0.1, 20]  | | [0.1, 20]  | ||
|   | | {{Icon|checked}}  | ||
|-  | |-  | ||
| '''Qfactor3'''  | | '''Qfactor3'''  | ||
| Factor that controls the slope of the second peak filter's shape  | | Factor that controls the slope of the second peak filter's shape  | ||
| [0.1, 20]  | | [0.1, 20]  | ||
|   | | {{Icon|checked}}  | ||
|}  | |}  | ||
| Line 278: | Line 267: | ||
The algorithm mixes two identical signals together, one signal delayed by a small and gradually changing period.  | The algorithm mixes two identical signals together, one signal delayed by a small and gradually changing period.  | ||
{| class="wikitable  | {| class="wikitable align-center-col-4"  | ||
! Attribute Name  | ! Attribute Name  | ||
! Description  | ! Description  | ||
| Line 289: | Line 276: | ||
| Delay time of signal mixed to input signal  | | Delay time of signal mixed to input signal  | ||
| [0.1, 20] ms  | | [0.1, 20] ms  | ||
|   | | {{Icon|checked}}  | ||
|-  | |-  | ||
| '''Feedback'''  | | '''Feedback'''  | ||
| Feedback loop gain. If -1 or 1, DSP will self oscillate.  | | Feedback loop gain. If -1 or 1, DSP will self oscillate.  | ||
| [-1, 1]  | | [-1, 1]  | ||
|   | | {{Icon|checked}}  | ||
|-  | |-  | ||
| '''Frequency'''  | | '''Frequency'''  | ||
| Sin shape LFO modulation frequency  | | Sin shape LFO modulation frequency  | ||
| [0.1, 10] Hz  | | [0.1, 10] Hz  | ||
|   | | {{Icon|checked}}  | ||
|-  | |-  | ||
| '''Depth'''  | | '''Depth'''  | ||
| LFO depth  | | LFO depth  | ||
| [0, 1]  | | [0, 1]  | ||
|   | | {{Icon|checked}}  | ||
|-  | |-  | ||
| '''Damping'''  | | '''Damping'''  | ||
| Controls Lowpass filter applied on the feedback loop  | | Controls Lowpass filter applied on the feedback loop  | ||
| [20, 20000] Hz  | | [20, 20000] Hz  | ||
|   | | {{Icon|checked}}  | ||
|-  | |-  | ||
| '''Spread'''  | | '''Spread'''  | ||
| Defines the LFO offset between the channels  | | Defines the LFO offset between the channels  | ||
| [0, 1]  | | [0, 1]  | ||
|   | | {{Icon|checked}}  | ||
|}  | |}  | ||
=== QuadDelay ===  | === QuadDelay ===  | ||
{| class="wikitable  | {| class="wikitable align-center-col-4"  | ||
! Attribute Name  | ! Attribute Name  | ||
! Description  | ! Description  | ||
| Line 330: | Line 315: | ||
| Left front delay line delay time.  | | Left front delay line delay time.  | ||
| [10, 600] ms  | | [10, 600] ms  | ||
|   | | {{Icon|checked}}  | ||
|-  | |-  | ||
| '''Delay Time 2'''  | | '''Delay Time 2'''  | ||
| Left right delay line delay time.  | | Left right delay line delay time.  | ||
| [10, 600] ms  | | [10, 600] ms  | ||
|   | | {{Icon|checked}}  | ||
|-  | |-  | ||
| '''Delay Time 3'''  | | '''Delay Time 3'''  | ||
| Left back delay line delay time.  | | Left back delay line delay time.  | ||
| [10, 600] ms  | | [10, 600] ms  | ||
|   | | {{Icon|checked}}  | ||
|-  | |-  | ||
| '''Delay Time 4'''  | | '''Delay Time 4'''  | ||
| Right back delay line delay time.  | | Right back delay line delay time.  | ||
| [10, 600] ms  | | [10, 600] ms  | ||
|   | | {{Icon|checked}}  | ||
|-  | |-  | ||
| '''Attenuation Factor'''  | | '''Attenuation Factor'''  | ||
| Adjusts distance attenuation of delayed sound calculated based on delay time.  | | Adjusts distance attenuation of delayed sound calculated based on delay time.  | ||
| [0, 1]  | | [0, 1]  | ||
|   | | {{Icon|unchecked}}  | ||
|-  | |-  | ||
| '''Damping Min'''  | | '''Damping Min'''  | ||
| Damping at Delay Time = 10ms. Interpolated between min/max based on delay time.  | | Damping at Delay Time = 10ms. Interpolated between min/max based on delay time.  | ||
| [0, 1]  | | [0, 1]  | ||
|   | | {{Icon|unchecked}}  | ||
|-  | |-  | ||
| '''Damping Max'''  | | '''Damping Max'''  | ||
| Damping at Delay Time = 600ms. Interpolated between min/max based on delay time.  | | Damping at Delay Time = 600ms. Interpolated between min/max based on delay time.  | ||
| [0, 1]  | | [0, 1]  | ||
|   | | {{Icon|unchecked}}  | ||
|-  | |-  | ||
| '''Feedback Min'''  | | '''Feedback Min'''  | ||
| Feedback at Delay Time = 10ms. Interpolated between min/max based on delay time.  | | Feedback at Delay Time = 10ms. Interpolated between min/max based on delay time.  | ||
| [0, 1]  | | [0, 1]  | ||
|   | | {{Icon|unchecked}}  | ||
|-  | |-  | ||
| '''Feedback Max'''  | | '''Feedback Max'''  | ||
| Feedback at Delay Time = 600ms. Interpolated between min/max based on delay time.  | | Feedback at Delay Time = 600ms. Interpolated between min/max based on delay time.  | ||
| [0, 1]  | | [0, 1]  | ||
|   | | {{Icon|unchecked}}  | ||
|-  | |-  | ||
| '''Azimuth'''  | | '''Azimuth'''  | ||
| Sets rotation of delay lines.  | | Sets rotation of delay lines.  | ||
| [-180, 180] deg  | | [-180, 180] deg  | ||
|   | | {{Icon|checked}}  | ||
|}  | |}  | ||
| Line 381: | Line 366: | ||
(Tries to) keep a specified output volume by automatically adjusting the gain of the input signal  | (Tries to) keep a specified output volume by automatically adjusting the gain of the input signal  | ||
{| class="wikitable  | {| class="wikitable align-center-col-4"  | ||
! Attribute Name  | ! Attribute Name  | ||
! Description  | ! Description  | ||
| Line 392: | Line 375: | ||
| Targetted output RMS level [dBFS]  | | Targetted output RMS level [dBFS]  | ||
| [-60, 0] dBFS  | | [-60, 0] dBFS  | ||
|   | | {{Icon|checked}}  | ||
|-  | |-  | ||
| '''Response Time'''  | | '''Response Time'''  | ||
| Specifies how quickly [s] the normalization reacts to changes in the input signal  | | Specifies how quickly [s] the normalization reacts to changes in the input signal  | ||
| [0.1, 10] s  | | [0.1, 10] s  | ||
|   | | {{Icon|checked}}  | ||
|}  | |}  | ||
| Line 405: | Line 388: | ||
'''Works only for channels = 2 setup.'''  | '''Works only for channels = 2 setup.'''  | ||
{| class="wikitable  | {| class="wikitable align-center-col-4"  | ||
! Attribute Name  | ! Attribute Name  | ||
! Description  | ! Description  | ||
| Line 418: | Line 399: | ||
outR = delayIn  | outR = delayIn  | ||
| [0.1, 20] ms  | | [0.1, 20] ms  | ||
|   | | {{Icon|checked}}  | ||
|}  | |}  | ||
| Line 424: | Line 405: | ||
Implements a one pole filter. It has a 6dB/oct slope and is cheaper to compute than a biquad filter.  | Implements a one pole filter. It has a 6dB/oct slope and is cheaper to compute than a biquad filter.  | ||
{| class="wikitable  | {| class="wikitable align-center-col-4"  | ||
! Attribute Name  | ! Attribute Name  | ||
! Description  | ! Description  | ||
| Line 437: | Line 416: | ||
* LowPass  | * LowPass  | ||
* HighPass  | * HighPass  | ||
|   | | {{Icon|unchecked}}  | ||
|-  | |-  | ||
| '''Frequency'''  | | '''Frequency'''  | ||
| Cutoff Frequency of the filter  | | Cutoff Frequency of the filter  | ||
| [40, 15000]  | | [40, 15000]  | ||
|   | | {{Icon|checked}}  | ||
|}  | |}  | ||
| Line 448: | Line 427: | ||
Implements a limiter that uses a "Lookahead". Meaning a slight delay (5ms) in audio will be introduced in order to react even to quick peaks.  | Implements a limiter that uses a "Lookahead". Meaning a slight delay (5ms) in audio will be introduced in order to react even to quick peaks.  | ||
{| class="wikitable  | {| class="wikitable align-center-col-4"  | ||
! Attribute Name  | ! Attribute Name  | ||
! Description  | ! Description  | ||
| Line 459: | Line 436: | ||
| Threshold value of the input level above which the gain begins to be reduced  | | Threshold value of the input level above which the gain begins to be reduced  | ||
| [-50, 0] dB  | | [-50, 0] dB  | ||
|   | | {{Icon|checked}}  | ||
|-  | |-  | ||
| '''Attack'''  | | '''Attack'''  | ||
| Specifies the amount of time [ms] that the output level takes to reach the value defined by the limiter's ratio  | | Specifies the amount of time [ms] that the output level takes to reach the value defined by the limiter's ratio  | ||
| [1, 1000] ms  | | [1, 1000] ms  | ||
|   | | {{Icon|checked}}  | ||
|-  | |-  | ||
| '''Release'''  | | '''Release'''  | ||
| Specifies the amount of time [ms] that the compressor takes to "undo" gain reduction in the case that the signal level has decreased  | | Specifies the amount of time [ms] that the compressor takes to "undo" gain reduction in the case that the signal level has decreased  | ||
| [1, 1000] ms  | | [1, 1000] ms  | ||
|   | | {{Icon|checked}}  | ||
|}  | |}  | ||
| Line 475: | Line 452: | ||
A cascade of 7 first order all-pass filters modulated by a triangle-shaped LFO  | A cascade of 7 first order all-pass filters modulated by a triangle-shaped LFO  | ||
{| class="wikitable  | {| class="wikitable align-center-col-4"  | ||
! Attribute Name  | ! Attribute Name  | ||
! Description  | ! Description  | ||
| Line 486: | Line 461: | ||
| LFO modulation frequency  | | LFO modulation frequency  | ||
| [0.1, 10] Hz  | | [0.1, 10] Hz  | ||
|   | | {{Icon|checked}}  | ||
|-  | |-  | ||
| '''Feedback'''  | | '''Feedback'''  | ||
| Feedback loop gain. If -1 or 1, DSP will self oscillate.  | | Feedback loop gain. If -1 or 1, DSP will self oscillate.  | ||
| [-1, 1]  | | [-1, 1]  | ||
|   | | {{Icon|checked}}  | ||
|-  | |-  | ||
| '''Offset'''  | | '''Offset'''  | ||
| Line 500: | Line 475: | ||
Adds start offset to LFO. Offsets are spread evenly between channels. The last channel's LFO is offset by 0.5 * offset / period.  | Adds start offset to LFO. Offsets are spread evenly between channels. The last channel's LFO is offset by 0.5 * offset / period.  | ||
| [0, 1]  | | [0, 1]  | ||
|   | | {{Icon|checked}} without effect (bug)  | ||
|-  | |-  | ||
| '''Spread'''  | | '''Spread'''  | ||
| Affects all pass filter frequency settings spread. If 0, all filters are set to the same frequency.  | | Affects all pass filter frequency settings spread. If 0, all filters are set to the same frequency.  | ||
| [0, 1]  | | [0, 1]  | ||
|   | | {{Icon|checked}}  | ||
|}  | |}  | ||
| Line 511: | Line 486: | ||
Implements a reverb, designed to model the reverb of a sound emitted into a room as perceived by a listener inside this room  | Implements a reverb, designed to model the reverb of a sound emitted into a room as perceived by a listener inside this room  | ||
{| class="wikitable  | {| class="wikitable align-center-col-4"  | ||
! Attribute Name  | ! Attribute Name  | ||
! Description  | ! Description  | ||
| Line 522: | Line 495: | ||
| Dimensions of the modeled room  | | Dimensions of the modeled room  | ||
| n/a  | | n/a  | ||
|   | | {{Icon|unchecked}}  | ||
|-  | |-  | ||
| '''Source Position'''  | | '''Source Position'''  | ||
| Position of the sound source within the room  | | Position of the sound source within the room  | ||
| n/a  | | n/a  | ||
|   | | {{Icon|unchecked}}  | ||
|-  | |-  | ||
| '''Mic Position'''  | | '''Mic Position'''  | ||
| Position of the listener within the room  | | Position of the listener within the room  | ||
| n/a  | | n/a  | ||
|   | | {{Icon|unchecked}}  | ||
|-  | |-  | ||
| '''Absorption'''  | | '''Absorption'''  | ||
| Absorption factor, emulating absorption of sound from the room's surfaces.  | | Absorption factor, emulating absorption of sound from the room's surfaces.  | ||
| [0, 1]  | | [0, 1]  | ||
|   | | {{Icon|unchecked}}  | ||
|-  | |-  | ||
| '''Damping'''  | | '''Damping'''  | ||
| Damping factor of the reverb. Higher value means more damping of higher frequencies  | | Damping factor of the reverb. Higher value means more damping of higher frequencies  | ||
| [0, 1]  | | [0, 1]  | ||
|   | | {{Icon|unchecked}}  | ||
|}  | |}  | ||
| Line 548: | Line 521: | ||
Implements a reverb.  | Implements a reverb.  | ||
{| class="wikitable  | {| class="wikitable align-center-col-4"  | ||
! Attribute Name  | ! Attribute Name  | ||
! Description  | ! Description  | ||
| Line 559: | Line 530: | ||
| Arbitrary factor for the size of the modeled room  | | Arbitrary factor for the size of the modeled room  | ||
| [0, 1]  | | [0, 1]  | ||
|   | | {{Icon|unchecked}}  | ||
|-  | |-  | ||
| '''Damping'''  | | '''Damping'''  | ||
| Damping factor of the reverb. Higher value means more damping of higher frequencies  | | Damping factor of the reverb. Higher value means more damping of higher frequencies  | ||
| [0, 1]  | | [0, 1]  | ||
|   | | {{Icon|unchecked}}  | ||
|-  | |-  | ||
| '''Width'''  | | '''Width'''  | ||
| Stereo width of the reverb  | | Stereo width of the reverb  | ||
| [0, 1]  | | [0, 1]  | ||
|   | | {{Icon|unchecked}}  | ||
|}  | |}  | ||
| Line 575: | Line 546: | ||
Implements a reverb, designed to model reverb within small rooms  | Implements a reverb, designed to model reverb within small rooms  | ||
{| class="wikitable  | {| class="wikitable align-center-col-4"  | ||
! Attribute Name  | ! Attribute Name  | ||
! Description  | ! Description  | ||
| Line 586: | Line 555: | ||
| Arbitrary time factor influencing how long it takes for early reflections to reach the listener  | | Arbitrary time factor influencing how long it takes for early reflections to reach the listener  | ||
| [0, 1]  | | [0, 1]  | ||
|   | | {{Icon|checked}} without effect (bug)  | ||
|-  | |-  | ||
| '''Late Reflections Time'''  | | '''Late Reflections Time'''  | ||
| Arbitrary time factor influencing how long it takes for late reflections to reach the listener  | | Arbitrary time factor influencing how long it takes for late reflections to reach the listener  | ||
| [0, 1]  | | [0, 1]  | ||
|   | | {{Icon|checked}}  | ||
|-  | |-  | ||
| '''Late Reflections Density'''  | | '''Late Reflections Density'''  | ||
| Density factor of late reflections  | | Density factor of late reflections  | ||
| [0, 1]  | | [0, 1]  | ||
|   | | {{Icon|checked}}  | ||
|-  | |-  | ||
| '''Late Reflections Damping'''  | | '''Late Reflections Damping'''  | ||
| Damping factor of the late reflections. A higher value means more damping of higher frequencies  | | Damping factor of the late reflections. A higher value means more damping of higher frequencies  | ||
| [0, 1]  | | [0, 1]  | ||
|   | | {{Icon|checked}}  | ||
|-  | |-  | ||
| '''Width'''  | | '''Width'''  | ||
| Stereo width of the reverb  | | Stereo width of the reverb  | ||
| [0, 1]  | | [0, 1]  | ||
|   | | {{Icon|checked}}  | ||
|}  | |}  | ||
| Line 612: | Line 581: | ||
Amplitude modulation using a triangle-shaped LFO.  | Amplitude modulation using a triangle-shaped LFO.  | ||
{| class="wikitable  | {| class="wikitable align-center-col-4"  | ||
! Attribute Name  | ! Attribute Name  | ||
! Description  | ! Description  | ||
| Line 623: | Line 590: | ||
| Frequency of the LFO  | | Frequency of the LFO  | ||
| [0.1, 100] Hz  | | [0.1, 100] Hz  | ||
|   | | {{Icon|checked}}  | ||
|-  | |-  | ||
| '''Offset'''  | | '''Offset'''  | ||
| Line 632: | Line 599: | ||
Adds start offset to LFO. Offsets are spread evenly between channels. The last channel's LFO is offset by 0.5 * offset / period.  | Adds start offset to LFO. Offsets are spread evenly between channels. The last channel's LFO is offset by 0.5 * offset / period.  | ||
| [0, 1]  | | [0, 1]  | ||
|   | | {{Icon|checked}}  | ||
|}  | |}  | ||
| Line 638: | Line 605: | ||
A lowpass filter with variable rolloff  | A lowpass filter with variable rolloff  | ||
{| class="wikitable  | {| class="wikitable align-center-col-4"  | ||
! Attribute Name  | ! Attribute Name  | ||
! Description  | ! Description  | ||
| Line 649: | Line 614: | ||
| Cutoff frequency of the filter  | | Cutoff frequency of the filter  | ||
| [100, 400] Hz  | | [100, 400] Hz  | ||
|   | | {{Icon|checked}}  | ||
|-  | |-  | ||
| '''Rolloff'''  | | '''Rolloff'''  | ||
| Filter rolloff  | | Filter rolloff  | ||
| [0, 30]  | | [0, 30]  | ||
|   | | {{Icon|checked}}  | ||
|-  | |-  | ||
| '''Order'''  | | '''Order'''  | ||
| Filter order  | | Filter order  | ||
| [2, 3]  | | [2, 3]  | ||
|   | | {{Icon|unchecked}}  | ||
|}  | |}  | ||
| Line 665: | Line 630: | ||
A noise gate is an audio processor that works to eliminate sounds below a given threshold.  | A noise gate is an audio processor that works to eliminate sounds below a given threshold.  | ||
{| class="wikitable  | {| class="wikitable align-center-col-4"  | ||
! Attribute Name  | ! Attribute Name  | ||
! Description  | ! Description  | ||
| Line 676: | Line 639: | ||
| Defines level at which gate opens.  | | Defines level at which gate opens.  | ||
| [-60, 0] dB  | | [-60, 0] dB  | ||
|   | | {{Icon|checked}}  | ||
|-  | |-  | ||
| '''Attack'''  | | '''Attack'''  | ||
| Specifies the amount of time [ms] that takes for gate to fully open.  | | Specifies the amount of time [ms] that takes for gate to fully open.  | ||
| [0, 500] ms  | | [0, 500] ms  | ||
|   | | {{Icon|checked}}  | ||
|-  | |-  | ||
| '''Release'''  | | '''Release'''  | ||
| Specifies the amount of time [ms] that the gate to fully close.  | | Specifies the amount of time [ms] that the gate to fully close.  | ||
| [0, 500] ms  | | [0, 500] ms  | ||
|   | | {{Icon|checked}}  | ||
|}  | |}  | ||
{{GameCategory|armaR|Modding|Official Tools}}  | {{GameCategory|armaR|Modding|Official Tools}}  | ||
Revision as of 16:52, 30 January 2025
The following is an overview of all available DSP effect classes that can be used in the Filter node. Assigned DSP effect classes will affect the input ports available to the Filter node.
DSP Nodes
Base
Abstract type that all DSP effects inherit from.
No attributes.
Biquad Filter
Applies a biquad filter[1].
| Attribute Name | Description | Value Range | Input Port | 
|---|---|---|---|
| Biquad Type | Type of filter | 
  | 
|
| Fc | Cutoff/center frequency of the filter | [20, 16000] | |
| Q | Factor that controls the slope of the filter shape | [0.1, 20] | |
| Gain | Gain [dB] of the filter
 Available for "PeakingEQ", "LowShelf", "HighShelf" and "AllPass" Biquad Types.  | 
[-18, 18] | 
Bitcrusher
Introduces distortion by reducing the bit depth of the audio input to 8-bit[2].
| Attribute Name | Description | Value Range | Input Port | 
|---|---|---|---|
| Bit Mask | An 8-digit string of '0's or '1's that specifies which of the 8 bits of the bit-crushed signal should be "enabled" (1) or "disabled" (0) | String | 
Compressor
Implements dynamic range compression; Reduces the volume of the input signal if the specified threshold value is exceeded[3].
| Attribute Name | Description | Value Range | Input Port | 
|---|---|---|---|
| Threshold | Threshold value of the input level above which the gain begins to be reduced | [-50, 0] dB | |
| Ratio | Specifies the value of n in the ratio n:1. This value controls the amount of gain reduction (e.g. a ratio of 2:1 tells us that if the input signal is 2 dB over the value of Threshold, the resulting output level is reduced by 1 dB). | [1, 50] | |
| Attack | Specifies the amount of time [ms] that the output level takes to reach the value defined by Ratio | [1, 1000] ms | |
| Release | Specifies the amount of time [ms] that the compressor takes to "undo" gain reduction in the case that the signal level has decreased | [1, 1000] ms | |
| Knee Width | Controls the sharpness of the compressor's "knee" | [0, 20] | 
Distortion
Introduces distortion using non-linear transfer functions.
| Attribute Name | Description | Value Range | Input Port | 
|---|---|---|---|
| Distortion Type | Defines which model of distortion will be applied | 
  | 
|
| Drive | In the case of the Reciprocal type, it boosts the input signal. For other types, this value is used with an inverted sign as a threshold.
 On the output, there is gain compensation applied, so the output loudness is not affected by the Drive value too much  | 
[0, 60] dB | 
Dynamic Equalizer
Implements dynamic range compression for a specified part of the frequency spectrum.
| Attribute Name | Description | Value Range | Input Port | 
|---|---|---|---|
| Biquad Type | Type of filter, compression will be applied to affected frequency bands | 
  | 
|
| Fc | Cutoff/center frequency of the filter | [20, 16000] | |
| Q | Factor that controls the slope of the filter shape | [0.1, 20] | |
| Ratio | Specifies the value of n in the ratio n:1. This value controls the amount of gain reduction (e.g. a ratio of 2:1 tells us that if the input signal is 2 dB over the value of Threshold, the resulting output level is reduced by 1 dB). | [1, 50] | |
| Threshold | Threshold value of the input level above which the gain begins to be reduced | [-50, 0] dB | |
| Attack | Specifies the amount of time [ms] that the output level takes to reach the value defined by Ratio | [1, 1000] ms | |
| Release | Specifies the amount of time [ms] that the compressor takes to "undo" gain reduction in the case that the signal level has decreased | [1, 1000] ms | 
Equalizer4
Implements a 4-band equalizer
| Attribute Name | Description | Value Range | Input Port | 
|---|---|---|---|
| Gain1 | Gain [dB] of the first frequency band | [-18, 18] | |
| Gain2 | Gain [dB] of the second frequency band | [-18, 18] | |
| Gain3 | Gain [dB] of the third frequency band | [-18, 18] | |
| Gain4 | Gain [dB] of the fourth frequency band | [-18, 18] | |
| Fc1 | Cutoff frequency of the lowshelf filter | [50, 800] | |
| Fc2 | Center frequency of the first peak filter | [200, 3000] | |
| Fc3 | Center frequency of the second peak filter | [1000, 8000] | |
| Fc4 | Cutoff frequency of the highshelf filter | [4000, 16000] | |
| Qfactor2 | Factor that controls the slope of the first peak filter's shape | [0.1, 20] | |
| Qfactor3 | Factor that controls the slope of the second peak filter's shape | [0.1, 20] | 
Flanger
The algorithm mixes two identical signals together, one signal delayed by a small and gradually changing period.
| Attribute Name | Description | Value Range | Input Port | 
|---|---|---|---|
| Delay Time | Delay time of signal mixed to input signal | [0.1, 20] ms | |
| Feedback | Feedback loop gain. If -1 or 1, DSP will self oscillate. | [-1, 1] | |
| Frequency | Sin shape LFO modulation frequency | [0.1, 10] Hz | |
| Depth | LFO depth | [0, 1] | |
| Damping | Controls Lowpass filter applied on the feedback loop | [20, 20000] Hz | |
| Spread | Defines the LFO offset between the channels | [0, 1] | 
QuadDelay
| Attribute Name | Description | Value Range | Input Port | 
|---|---|---|---|
| Delay Time 1 | Left front delay line delay time. | [10, 600] ms | |
| Delay Time 2 | Left right delay line delay time. | [10, 600] ms | |
| Delay Time 3 | Left back delay line delay time. | [10, 600] ms | |
| Delay Time 4 | Right back delay line delay time. | [10, 600] ms | |
| Attenuation Factor | Adjusts distance attenuation of delayed sound calculated based on delay time. | [0, 1] | |
| Damping Min | Damping at Delay Time = 10ms. Interpolated between min/max based on delay time. | [0, 1] | |
| Damping Max | Damping at Delay Time = 600ms. Interpolated between min/max based on delay time. | [0, 1] | |
| Feedback Min | Feedback at Delay Time = 10ms. Interpolated between min/max based on delay time. | [0, 1] | |
| Feedback Max | Feedback at Delay Time = 600ms. Interpolated between min/max based on delay time. | [0, 1] | |
| Azimuth | Sets rotation of delay lines. | [-180, 180] deg | 
LoudnessNormalization
(Tries to) keep a specified output volume by automatically adjusting the gain of the input signal
| Attribute Name | Description | Value Range | Input Port | 
|---|---|---|---|
| Target Level | Targetted output RMS level [dBFS] | [-60, 0] dBFS | |
| Response Time | Specifies how quickly [s] the normalization reacts to changes in the input signal | [0.1, 10] s | 
MonoToStereo
Creates a pseudo stereo output from a mono input.
Works only for channels = 2 setup.
| Attribute Name | Description | Value Range | Input Port | 
|---|---|---|---|
| Delay Time | outL = -delayIn
 outR = delayIn  | 
[0.1, 20] ms | 
OnePoleFilter
Implements a one pole filter. It has a 6dB/oct slope and is cheaper to compute than a biquad filter.
| Attribute Name | Description | Value Range | Input Port | 
|---|---|---|---|
| Filter Type | Type of Filter | 
  | 
|
| Frequency | Cutoff Frequency of the filter | [40, 15000] | 
PeakLimiter
Implements a limiter that uses a "Lookahead". Meaning a slight delay (5ms) in audio will be introduced in order to react even to quick peaks.
| Attribute Name | Description | Value Range | Input Port | 
|---|---|---|---|
| Threshold | Threshold value of the input level above which the gain begins to be reduced | [-50, 0] dB | |
| Attack | Specifies the amount of time [ms] that the output level takes to reach the value defined by the limiter's ratio | [1, 1000] ms | |
| Release | Specifies the amount of time [ms] that the compressor takes to "undo" gain reduction in the case that the signal level has decreased | [1, 1000] ms | 
Phaser
A cascade of 7 first order all-pass filters modulated by a triangle-shaped LFO
| Attribute Name | Description | Value Range | Input Port | 
|---|---|---|---|
| Frequency | LFO modulation frequency | [0.1, 10] Hz | |
| Feedback | Feedback loop gain. If -1 or 1, DSP will self oscillate. | [-1, 1] | |
| Offset | Works only if channelCount > 1
 Can be set via a signal, but is evaluated only at the playback start and can not be changed during playback. Adds start offset to LFO. Offsets are spread evenly between channels. The last channel's LFO is offset by 0.5 * offset / period.  | 
[0, 1] | |
| Spread | Affects all pass filter frequency settings spread. If 0, all filters are set to the same frequency. | [0, 1] | 
Reverb
Implements a reverb, designed to model the reverb of a sound emitted into a room as perceived by a listener inside this room
| Attribute Name | Description | Value Range | Input Port | 
|---|---|---|---|
| Room Dimension | Dimensions of the modeled room | n/a | |
| Source Position | Position of the sound source within the room | n/a | |
| Mic Position | Position of the listener within the room | n/a | |
| Absorption | Absorption factor, emulating absorption of sound from the room's surfaces. | [0, 1] | |
| Damping | Damping factor of the reverb. Higher value means more damping of higher frequencies | [0, 1] | 
Reverb2
Implements a reverb.
| Attribute Name | Description | Value Range | Input Port | 
|---|---|---|---|
| Room Size | Arbitrary factor for the size of the modeled room | [0, 1] | |
| Damping | Damping factor of the reverb. Higher value means more damping of higher frequencies | [0, 1] | |
| Width | Stereo width of the reverb | [0, 1] | 
SmallRoomReverb
Implements a reverb, designed to model reverb within small rooms
| Attribute Name | Description | Value Range | Input Port | 
|---|---|---|---|
| Early Reflections Time | Arbitrary time factor influencing how long it takes for early reflections to reach the listener | [0, 1] | |
| Late Reflections Time | Arbitrary time factor influencing how long it takes for late reflections to reach the listener | [0, 1] | |
| Late Reflections Density | Density factor of late reflections | [0, 1] | |
| Late Reflections Damping | Damping factor of the late reflections. A higher value means more damping of higher frequencies | [0, 1] | |
| Width | Stereo width of the reverb | [0, 1] | 
Tremolo
Amplitude modulation using a triangle-shaped LFO.
| Attribute Name | Description | Value Range | Input Port | 
|---|---|---|---|
| Frequency | Frequency of the LFO | [0.1, 100] Hz | |
| Offset | Works only if channelCount > 1
 Can be set via a signal, but is evaluated only at the playback start and can not be changed during playback. Adds start offset to LFO. Offsets are spread evenly between channels. The last channel's LFO is offset by 0.5 * offset / period.  | 
[0, 1] | 
VariableRolloffLPF
A lowpass filter with variable rolloff
| Attribute Name | Description | Value Range | Input Port | 
|---|---|---|---|
| Fc | Cutoff frequency of the filter | [100, 400] Hz | |
| Rolloff | Filter rolloff | [0, 30] | |
| Order | Filter order | [2, 3] | 
NoiseGate
A noise gate is an audio processor that works to eliminate sounds below a given threshold.
| Attribute Name | Description | Value Range | Input Port | 
|---|---|---|---|
| Threshold | Defines level at which gate opens. | [-60, 0] dB | |
| Attack | Specifies the amount of time [ms] that takes for gate to fully open. | [0, 500] ms | |
| Release | Specifies the amount of time [ms] that the gate to fully close. | [0, 500] ms |