1
0
mirror of https://github.com/cookiengineer/audacity synced 2026-02-04 02:33:14 +01:00

Fixed table size for soft clip Limiter

Fixes exceeding max table size at high sample rates.
This commit is contained in:
Steve Daulton
2016-08-16 20:53:50 +01:00
parent 888b41aafc
commit c042b0c7c6

View File

@@ -86,20 +86,21 @@
(defun soft-clip-table () (defun soft-clip-table ()
"Lookup table for soft clipping wave-shaper" "Lookup table for soft clipping wave-shaper"
(abs-env (abs-env
(Control-srate-abs *sound-srate* (sound-srate-abs 44100
(let* ((knee (- 1 (/ 1.0 pi))) (Control-srate-abs 44100
(kcurve (mult knee (osc (hz-to-step (/ (* 4 knee))) knee))) (let* ((knee (- 1 (/ 1.0 pi)))
(ikcurve (mult knee (osc (hz-to-step (/ (* 4 knee))) knee *sine-table* -90))) (kcurve (mult knee (osc (hz-to-step (/ (* 4 knee))) knee)))
(lin (pwlv -0.5 knee -0.5 (ikcurve (mult knee (osc (hz-to-step (/ (* 4 knee))) knee *sine-table* -90)))
(+ knee (/ 2.0 pi)) 0.5 (lin (pwlv -0.5 knee -0.5
2.0 0.5 (+ knee (/ 2.0 pi)) 0.5
2.0 (+ 0.5 knee) 2.0 0.5
2.1 (+ 0.5 knee)))) 2.0 (+ 0.5 knee)
(mult (/ 2.0 pi) 2.1 (+ 0.5 knee))))
(sim (mult (/ 2.0 pi)
(at-abs 0 (cue ikcurve)) (sim
(at-abs 0 (cue lin)) (at-abs 0 (cue ikcurve))
(at-abs (+ knee (/ 2.0 pi)) (cue kcurve)))))))) (at-abs 0 (cue lin))
(at-abs (+ knee (/ 2.0 pi)) (cue kcurve)))))))))
(defun soft-clip (sig) (defun soft-clip (sig)
(let* ((knee (- 1 (/ 1.0 pi))) (let* ((knee (- 1 (/ 1.0 pi)))