diff options
author | Damien Zammit <damien@zamaudio.com> | 2018-08-26 19:19:51 +1000 |
---|---|---|
committer | Damien Zammit <damien@zamaudio.com> | 2018-08-26 19:19:51 +1000 |
commit | 8481c4da8404cfd143f661403cd93646d03a416f (patch) | |
tree | 2b44979893dec8f84e49fc952233fe482f36f93e | |
parent | 04e087a278b94f89dd5b8674ebedd0bf4f9fba23 (diff) |
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
-rw-r--r-- | plugins/ZaMultiComp/ZaMultiCompPlugin.cpp | 6 | ||||
-rw-r--r-- | plugins/ZaMultiCompX2/ZaMultiCompX2Plugin.cpp | 6 |
2 files changed, 6 insertions, 6 deletions
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) |