summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDamien Zammit <damien@zamaudio.com>2018-08-26 19:19:51 +1000
committerDamien Zammit <damien@zamaudio.com>2018-08-26 19:19:51 +1000
commit8481c4da8404cfd143f661403cd93646d03a416f (patch)
tree2b44979893dec8f84e49fc952233fe482f36f93e
parent04e087a278b94f89dd5b8674ebedd0bf4f9fba23 (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.cpp6
-rw-r--r--plugins/ZaMultiCompX2/ZaMultiCompX2Plugin.cpp6
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)