Skip to content
zsliu98 edited this page Dec 6, 2023 · 4 revisions

Welcome to the ZLWarm Wiki! If you have not downloaded ZLWarm, download it and try it!

Usages

  • To change the UI between the dark mode and the light mode, double-click the logo
  • Wet: the percent of the signal which passes through the saturation effect
  • IN Gain: the amount of gain applied to the input signal (before saturation)
  • OUT Gain: the amount of gain applied to the output signal (after saturation)
  • Band Split: whether splits the signal into three bands and saturates them independently
    • based on 4th-order Linkwitz-Riley filters, which introduce phase shifts
    • when Band Split is ON, the peak of the output signal may exceed OUT Gain
  • Low Split: the lower band-split frequency
  • High Split: the higher band-split frequency
  • Over Sampling: the over-sampling rate (OFF means no over-sampling)
    • based on FIR filters (linear phase), which introduce latency
    • when Over Sampling is OFF, the plugin has no latency
  • Warm: the warmth of the saturation
  • Curve: the strength of the saturation

Design

flowchart LR
A(IN Gain) -->O1(Up Sampler)-->D(Band Splitter)-->|Wet| B(Wave Shaper) -->O2(Down Sampler) -->C(OUT Gain)
D-->|1-Wet|O2
Loading
flowchart LR
D(Band Splitter) --> D1(Low Band)
D --> D2(Mid Band)
D --> D3(High Band)
Loading
flowchart LR
A(Wave Shaper IN) --> |x>0|S1("f(x)") -->C(Wave Shaper OUT)
A --> |x<=0|S2("(1-w)*f(x)+w*g(x)") -->C
Loading

Denote Warm as $w$ and Curve as $c$, we have:

$$f(x)=\frac{1}{0.75c+1}\left(0.25(c - 1)x^4+ 0.5(c - 1)x^3+ (0.75 - 1.75c)x^2+(c + 1)x\right)$$

$$g(x)=\frac{1}{0.75c+1}\left((1.85-0.5c)x^4+(-4.6+2c)x^3+(2.7-2.5c)x^2+(c+1)x\right)$$

Clone this wiki locally