From 8481c4da8404cfd143f661403cd93646d03a416f Mon Sep 17 00:00:00 2001 From: Damien Zammit Date: Sun, 26 Aug 2018 19:19:51 +1000 Subject: ZaMultiComp/X2: make crossover filters not peak near centre frequency - Previously, high Q caused resonance near crossover frequencies - Still sums to flat response, but does not peak at all unless bands overlap --- plugins/ZaMultiComp/ZaMultiCompPlugin.cpp | 6 +++--- plugins/ZaMultiCompX2/ZaMultiCompX2Plugin.cpp | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) (limited to 'plugins') diff --git a/plugins/ZaMultiComp/ZaMultiCompPlugin.cpp b/plugins/ZaMultiComp/ZaMultiCompPlugin.cpp index ffb7976..bcad59d 100644 --- a/plugins/ZaMultiComp/ZaMultiCompPlugin.cpp +++ b/plugins/ZaMultiComp/ZaMultiCompPlugin.cpp @@ -754,7 +754,7 @@ float ZaMultiCompPlugin::run_linear_svf_xover(struct linear_svf *self, float in, double s1 = self->s[1]; double g2 = g*g; double vhigh = in * mixhigh; - double vband = in * 0.5; + double vband = in * 0.75; double vlow = in * mixlow; v[0] = in; @@ -770,8 +770,8 @@ void ZaMultiCompPlugin::calc_lr4(float f, int i) { float srate = getSampleRate(); - linear_svf_set_xover(&simper[0][i], srate, f, 0.5); - linear_svf_set_xover(&simper[1][i], srate, f, 0.5); + linear_svf_set_xover(&simper[0][i], srate, f, 0.25); + linear_svf_set_xover(&simper[1][i], srate, f, 0.25); } void ZaMultiCompPlugin::run_lr4(int i, float in, float *outlo, float *outhi) diff --git a/plugins/ZaMultiCompX2/ZaMultiCompX2Plugin.cpp b/plugins/ZaMultiCompX2/ZaMultiCompX2Plugin.cpp index 877377b..bcd4714 100644 --- a/plugins/ZaMultiCompX2/ZaMultiCompX2Plugin.cpp +++ b/plugins/ZaMultiCompX2/ZaMultiCompX2Plugin.cpp @@ -772,7 +772,7 @@ float ZaMultiCompX2Plugin::run_linear_svf_xover(struct linear_svf *self, float i double s1 = self->s[1]; double g2 = g*g; double vhigh = in * mixhigh; - double vband = in * 0.5; + double vband = in * 0.75; double vlow = in * mixlow; v[0] = in; @@ -788,8 +788,8 @@ void ZaMultiCompX2Plugin::calc_lr4(float f, int i) { float srate = getSampleRate(); - linear_svf_set_xover(&simper[0][i], srate, f, 0.5); - linear_svf_set_xover(&simper[1][i], srate, f, 0.5); + linear_svf_set_xover(&simper[0][i], srate, f, 0.25); + linear_svf_set_xover(&simper[1][i], srate, f, 0.25); } void ZaMultiCompX2Plugin::run_lr4(int i, float in, float *outlo, float *outhi) -- cgit v1.2.3