75 if ((
x >= -range) && (
x < range - 1))
115 return pow(10,
x/20.0);
120 return 20.0*log10(
x);
125 return 2.0*
M_PI/
x*fs;
130 return 2.0*
M_PI*
x/fs;
175 if (fl < fc && fc < fh) {
187 freqs.push_back(
Band(fc - df / 2, fc, fc + df / 2));
211 for (
size_t i = 0;
i < 5 ;
i++) {
212 freqs.push_back(
Band(f0 / 2, f0, f0 * 2));
238 for (
size_t i = 0;
i < 10;
i++) {
240 Band(f0 / pow(2, 0.5), f0, f0 * pow(2, 0.5)));
260 lowestFc /= pow(2, 0.5);
263 lowestFc *= pow(2, 0.5);
267 for (
size_t i = 0;
i < 20;
i++) {
269 f0, f0 * pow(2, 0.25)));
288 lowestFc /= pow(2.0, 1.0/3.0);
291 lowestFc *= pow(2.0, 1.0/3.0);
295 for (
size_t i = 0;
i < 30;
i++) {
296 freqs.push_back(
Band(f0 / pow(2.0, 1.0/6.0),
297 f0, f0 * pow(2.0, 1.0/6.0)));
299 f0 *= pow(2, 1.0/3.0);
320 if (index <
freqs.size())
321 return freqs[index].centerFreq;
328 if (index <
freqs.size()) {
332 }
else if (
freq < 1000) {
333 size_t rest =
freq % 10;
337 return freq - rest + 10;
338 }
else if (
freq < 10000) {
339 size_t rest =
freq % 100;
343 return freq - rest + 100;
344 }
else if (
freq >= 10000) {
345 size_t rest =
freq%1000;
349 return freq - rest + 1000;
408 FOSection(std::vector<eq_double_t>&
b, std::vector<eq_double_t>
a)
441 this->sections =
f.sections;
456 size_t L = (
N -
r) / 2;
470 for (
size_t i = 1;
i <= L;
i++) {
475 std::vector<eq_double_t> B;
476 B.push_back((
g*
g*beta*beta + 2*
g*g0*si*beta + g0*g0)/Di);
477 B.push_back(-4*c0*(g0*g0 +
g*g0*si*beta)/Di);
478 B.push_back(2*(g0*g0*(1 + 2*c0*c0) -
g*
g*beta*beta)/Di);
479 B.push_back(-4*c0*(g0*g0 -
g*g0*si*beta)/Di);
480 B.push_back((
g*
g*beta*beta - 2*
g*g0*si*beta + g0*g0)/Di);
482 std::vector<eq_double_t>
A;
484 A.push_back(-4*c0*(1 + si*beta)/Di);
485 A.push_back(2*(1 + 2*c0*c0 - beta*beta)/Di);
486 A.push_back(-4*c0*(1 - si*beta)/Di);
487 A.push_back((beta*beta - 2*si*beta + 1)/Di);
500 else if (gain >= -3 && gain < 3)
501 bwGain = gain / sqrt(2);
539 size_t L = (
N -
r) / 2;
548 eq_double_t alfa = pow(1.0 /
e + pow(1 + pow(
e, -2.0), 0.5), 1.0 /
N);
556 for (
size_t i = 1;
i <= L;
i++) {
561 2.0 *
a * si * tetta_b + 1;
563 std::vector<eq_double_t> B;
564 B.push_back(((
b*
b + g0*g0*ci*ci)*tetta_b*tetta_b + 2*g0*
b*si*tetta_b + g0*g0)/Di);
565 B.push_back(-4*c0*(g0*g0 + g0*
b*si*tetta_b)/Di);
566 B.push_back(2*(g0*g0*(1 + 2*c0*c0) - (
b*
b + g0*g0*ci*ci)*tetta_b*tetta_b)/Di);
567 B.push_back(-4*c0*(g0*g0 - g0*
b*si*tetta_b)/Di);
568 B.push_back(((
b*
b + g0*g0*ci*ci)*tetta_b*tetta_b - 2*g0*
b*si*tetta_b + g0*g0)/Di);
570 std::vector<eq_double_t>
A;
572 A.push_back(-4*c0*(1 +
a*si*tetta_b)/Di);
573 A.push_back(2*(1 + 2*c0*c0 - (
a*
a + ci*ci)*tetta_b*tetta_b)/Di);
574 A.push_back(-4*c0*(1 -
a*si*tetta_b)/Di);
575 A.push_back(((
a*
a + ci*ci)*tetta_b*tetta_b - 2*
a*si*tetta_b + 1)/Di);
625 size_t L = (
N -
r) / 2;
642 for (
size_t i = 1;
i <= L;
i++) {
649 std::vector<eq_double_t> B;
650 B.push_back((
g*
g*tetta_b*tetta_b + 2*
g*
b*si*tetta_b +
b*
b +
g*
g*ci*ci)/Di);
651 B.push_back(-4*c0*(
b*
b +
g*
g*ci*ci +
g*
b*si*tetta_b)/Di);
652 B.push_back(2*((
b*
b +
g*
g*ci*ci)*(1 + 2*c0*c0) -
g*
g*tetta_b*tetta_b)/Di);
653 B.push_back(-4*c0*(
b*
b +
g*
g*ci*ci -
g*
b*si*tetta_b)/Di);
654 B.push_back((
g*
g*tetta_b*tetta_b - 2*
g*
b*si*tetta_b +
b*
b +
g*
g*ci*ci)/Di);
656 std::vector<eq_double_t>
A;
658 A.push_back(-4*c0*(
a*
a + ci*ci +
a*si*tetta_b)/Di);
659 A.push_back(2*((
a*
a + ci*ci)*(1 + 2*c0*c0) - tetta_b*tetta_b)/Di);
660 A.push_back(-4*c0*(
a*
a + ci*ci -
a*si*tetta_b)/Di);
661 A.push_back((tetta_b*tetta_b - 2*
a*si*tetta_b +
a*
a + ci*ci)/Di);
704 return -
j*log(
z + sqrt(
z*
z - 1.0));
712 std::vector<eq_double_t>
v;
714 if (
k == 0 ||
k == 1.0)
719 k = pow(
k/(1.0 + sqrt(1.0 -
k*
k)), 2);
724 for (
size_t i = 1;
i <=
M;
i++) {
725 k = pow(
k/(1.0 + sqrt(1.0 -
k*
k)), 2);
742 K = std::numeric_limits<eq_double_t>::infinity();
743 }
else if (
k > kmax) {
746 K = L + (L - 1) * kp*kp / 4.0;
748 std::vector<eq_double_t>
v =
landen(
k, tol);
750 std::transform(
v.begin(),
v.end(),
v.begin(),
753 K = std::accumulate(
v.begin(),
v.end(),
754 1, std::multiplies<eq_double_t>()) *
M_PI/2.0;
758 Kprime = std::numeric_limits<eq_double_t>::infinity();
759 }
else if (
k < kmin) {
761 Kprime = L + (L - 1.0) *
k*
k / 4.0;
764 std::vector<eq_double_t> vp =
landen(kp, tol);
766 std::transform(vp.begin(), vp.end(), vp.begin(),
769 Kprime = std::accumulate(vp.begin(), vp.end(),
770 1.0, std::multiplies<eq_double_t>()) *
M_PI/2.0;
787 for (
size_t i = 1;
i <=
M;
i++)
789 s1 += pow(q1,
i*(
i+1));
793 return 4 * sqrt(q1) * pow((1.0 + s1) / (1.0 + 2 * s2), 2);
809 std::vector<eq_double_t>
v =
landen(
k, tol);
811 for (
size_t i = 0;
i <
v.size();
i++) {
818 w =
w / (1.0 + sqrt(1.0 -
w*
w * v1*v1)) * 2.0/(1 +
v[
i]);
825 return srem(real(
u), 4) +
j*
srem(imag(
u), 2*(Kprime/K));
834 return 1.0 -
acde(
w,
k, tol);
843 std::vector<eq_double_t>
v =
landen(
k, tol);
846 for (
int i =
v.size() - 1;
i >= 0;
i--)
847 w = (1 +
v[
i]) *
w / (1.0 +
v[
i] * pow(
w, 2));
855 std::vector<eq_double_t>
sne(
const std::vector<eq_double_t> &
u,
858 std::vector<eq_double_t>
v =
landen(
k, tol);
859 std::vector<eq_double_t>
w;
861 for (
size_t i = 0;
i <
u.size();
i++)
862 w.push_back(sin(
u[
i] *
M_PI / 2.0));
864 for (
int i =
v.size() - 1;
i >= 0;
i--)
865 for (
size_t j = 0;
j <
w.size();
j++)
877 std::vector<eq_double_t>
ui;
878 for (
size_t i = 1;
i <= L;
i++)
879 ui.push_back((2.0*
i - 1.0) /
N);
886 std::vector<eq_double_t>
w =
sne(
ui, kc, tol);
888 1.0, std::multiplies<eq_double_t>());
891 return sqrt(1 - kp*kp);
902 size_t K = aSections.size();
904 std::vector<std::vector<eq_double_t> > B,
A, Bhat, Ahat;
905 for (
size_t i = 0;
i < K;
i++) {
906 B.push_back(std::vector<eq_double_t>(5));
907 A.push_back(std::vector<eq_double_t>(5));
908 Bhat.push_back(std::vector<eq_double_t>(3));
909 Ahat.push_back(std::vector<eq_double_t>(3));
912 std::vector<eq_double_t> B0(3), B1(3), B2(3), A0(3), A1(3), A2(3);
913 B0[0] = aSections[0].b0; B0[1] = aSections[1].b0; B0[2] = aSections[2].b0;
914 B1[0] = aSections[0].b1; B1[1] = aSections[1].b1; B1[2] = aSections[2].b1;
915 B2[0] = aSections[0].b2; B2[1] = aSections[1].b2; B2[2] = aSections[2].b2;
916 A0[0] = aSections[0].a0; A0[1] = aSections[1].a0; A0[2] = aSections[2].a0;
917 A1[0] = aSections[0].a1; A1[1] = aSections[1].a1; A1[2] = aSections[2].a1;
918 A2[0] = aSections[0].a2; A2[1] = aSections[1].a2; A2[2] = aSections[2].a2;
921 std::vector<size_t> zths;
922 for (
size_t i = 0;
i < B0.size();
i++)
923 if ((B1[
i] == 0 && A1[
i] == 0) && (B2[
i] == 0 && A2[
i] == 0))
926 for (
size_t i = 0;
i < zths.size();
i++) {
928 Bhat[
j][0] = B0[
j] / A0[
j];
930 B[
j][0] = Bhat[
j][0];
935 std::vector<size_t> fths;
936 for (
size_t i = 0;
i < B0.size();
i++)
937 if ((B1[
i] != 0 || A1[
i] != 0) && (B2[
i] == 0 && A2[
i] == 0))
940 for (
size_t i = 0;
i < fths.size();
i++) {
943 Bhat[
j][0] = (B0[
j] + B1[
j]) /
D;
944 Bhat[
j][1] = (B0[
j] - B1[
j]) /
D;
946 Ahat[
j][1] = (A0[
j] - A1[
j]) /
D;
948 B[
j][0] = Bhat[
j][0];
949 B[
j][1] = c0 * (Bhat[
j][1] - Bhat[
j][0]);
950 B[
j][2] = -Bhat[
j][1];
952 A[
j][1] = c0 * (Ahat[
j][1] - 1);
953 A[
j][2] = -Ahat[
j][1];
957 std::vector<size_t> sths;
958 for (
size_t i = 0;
i < B0.size();
i++)
959 if (B2[
i] != 0 || A2[
i] != 0)
962 for (
size_t i = 0;
i < sths.size();
i++) {
965 Bhat[
j][0] = (B0[
j] + B1[
j] + B2[
j]) /
D;
966 Bhat[
j][1] = 2 * (B0[
j] - B2[
j]) /
D;
967 Bhat[
j][2] = (B0[
j] - B1[
j] + B2[
j]) /
D;
969 Ahat[
j][1] = 2 * (A0[
j] - A2[
j]) /
D;
970 Ahat[
j][2] = (A0[
j] - A1[
j] + A2[
j]) /
D;
972 B[
j][0] = Bhat[
j][0];
973 B[
j][1] = c0 * (Bhat[
j][1] - 2 * Bhat[
j][0]);
974 B[
j][2] = (Bhat[
j][0] - Bhat[
j][1] + Bhat[
j][2]) *c0*c0 - Bhat[
j][1];
975 B[
j][3] = c0 * (Bhat[
j][1] - 2 * Bhat[
j][2]);
976 B[
j][4] = Bhat[
j][2];
979 A[
j][1] = c0 * (Ahat[
j][1] - 2);
980 A[
j][2] = (1 - Ahat[
j][1] + Ahat[
j][2])*c0*c0 - Ahat[
j][1];
981 A[
j][3] = c0 * (Ahat[
j][1] - 2*Ahat[
j][2]);
982 A[
j][4] = Ahat[
j][2];
986 if (c0 == 1 || c0 == -1) {
987 for (
size_t i = 0;
i < Bhat.size();
i++) {
992 for (
size_t i = 0;
i < B.size();
i++) {
996 B[
i][3] = 0; B[
i][4] = 0;
997 A[
i][3] = 0;
A[
i][4] = 0;
1001 for (
size_t i = 0;
i < B.size();
i++)
1009 j(
std::complex<long double>(0.0L, 1.0L))
1022 size_t L = (
N -
r) / 2;
1039 std::vector<SOSection> aSections;
1042 aSections.push_back(ba);
1043 }
else if (
r == 1) {
1045 if (G0 == 0.0 &&
G != 0.0) {
1054 A01 = -1 / std::real(
j *
cde(-1.0 + jv0,
k, tol));
1055 SOSection ba = {B00, B01, 0, A00, A01, 0};
1056 aSections.push_back(ba);
1060 for (
size_t i = 1;
i <= L;
i++) {
1064 if (G0 == 0.0 &&
G != 0.0)
1066 else if (G0 != 0.0 &&
G == 0.0)
1069 zeros =
j *
cde(
ui - ju0,
k ,tol);
1071 poles =
j *
cde(
ui - jv0,
k, tol);
1074 WB*WB, -2*WB*std::real(1.0/zeros), pow(
abs(1.0/zeros), 2),
1075 WB*WB, -2*WB*std::real(1.0/poles), pow(
abs(1.0/poles), 2)};
1077 aSections.push_back(sa);
1091 bwGain = gain + 0.05;
1093 bwGain = gain - 0.05;
1144 size_t numberOfFilters =
filters.size();
1147 return (numberOfFilters / 2) + (numberOfFilters / 2) * scaleCoef;
1279 return "butterworth";
1281 return "chebyshev1";
1283 return "chebyshev2";
1329 for (
size_t i = 0;
i <
freqGrid.getNumberOfBands();
i++) {
1356 if (
channels.size() == bandGains.size())
1367 if (
channels.size() == bandGains.size())
1379 channels[bandNumber]->setGainDb(
conv.fastLin2Db(bandGain));
1389 channels[bandNumber]->setGainDb(bandGain);
1435 return freqGrid.getNumberOfBands();
class MasterUI * ui
Definition Connection.cpp:39
uint8_t a
Definition Spc_Cpu.h:141
float abs(const fft_t *freqs, off_t x)
Definition OscilGen.cpp:52
CAdPlugDatabase::CRecord::RecordType type
Definition adplugdb.cpp:93
virtual eq_double_t process(eq_double_t in)=0
virtual ~BPFilter()
Definition orfanidis_eq.h:429
BPFilter()
Definition orfanidis_eq.h:428
Definition orfanidis_eq.h:137
Band(eq_double_t fl, eq_double_t fc, eq_double_t fh)
Definition orfanidis_eq.h:144
eq_double_t maxFreq
Definition orfanidis_eq.h:141
Band()
Definition orfanidis_eq.h:143
eq_double_t minFreq
Definition orfanidis_eq.h:139
eq_double_t centerFreq
Definition orfanidis_eq.h:140
Definition orfanidis_eq.h:434
virtual eq_double_t process(eq_double_t in)
Definition orfanidis_eq.h:508
ButterworthBPFilter()
Definition orfanidis_eq.h:437
~ButterworthBPFilter()
Definition orfanidis_eq.h:493
std::vector< FOSection > sections
Definition orfanidis_eq.h:435
static eq_double_t computeBWGainDb(eq_double_t gain)
Definition orfanidis_eq.h:495
ButterworthBPFilter(size_t N, eq_double_t w0, eq_double_t wb, eq_double_t G, eq_double_t Gb)
Definition orfanidis_eq.h:444
ButterworthBPFilter(ButterworthBPFilter &f)
Definition orfanidis_eq.h:439
Definition orfanidis_eq.h:522
~ChebyshevType1BPFilter()
Definition orfanidis_eq.h:581
static eq_double_t computeBWGainDb(eq_double_t gain)
Definition orfanidis_eq.h:583
std::vector< FOSection > sections
Definition orfanidis_eq.h:523
eq_double_t process(eq_double_t in)
Definition orfanidis_eq.h:594
ChebyshevType1BPFilter()
Definition orfanidis_eq.h:525
ChebyshevType1BPFilter(size_t N, eq_double_t w0, eq_double_t wb, eq_double_t G, eq_double_t Gb)
Definition orfanidis_eq.h:527
Definition orfanidis_eq.h:608
ChebyshevType2BPFilter(size_t N, eq_double_t w0, eq_double_t wb, eq_double_t G, eq_double_t Gb)
Definition orfanidis_eq.h:613
std::vector< FOSection > sections
Definition orfanidis_eq.h:609
~ChebyshevType2BPFilter()
Definition orfanidis_eq.h:667
ChebyshevType2BPFilter()
Definition orfanidis_eq.h:611
static eq_double_t computeBWGainDb(eq_double_t gain)
Definition orfanidis_eq.h:669
eq_double_t process(eq_double_t in)
Definition orfanidis_eq.h:680
Definition orfanidis_eq.h:67
eq_double_t fastLin2Db(eq_double_t x)
Definition orfanidis_eq.h:103
static eq_double_t hz2Rad(eq_double_t x, eq_double_t fs)
Definition orfanidis_eq.h:128
static eq_double_t db2Lin(eq_double_t x)
Definition orfanidis_eq.h:113
Conversions & operator=(const Conversions &)
Conversions(const Conversions &)
static eq_double_t rad2Hz(eq_double_t x, eq_double_t fs)
Definition orfanidis_eq.h:123
std::vector< eq_double_t > linGains
Definition orfanidis_eq.h:68
static eq_double_t lin2Db(eq_double_t x)
Definition orfanidis_eq.h:118
eq_double_t fastDb2Lin(eq_double_t x)
Definition orfanidis_eq.h:94
int linGainsIndex(eq_double_t x)
Definition orfanidis_eq.h:70
Conversions(int range)
Definition orfanidis_eq.h:86
Definition orfanidis_eq.h:694
std::complex< eq_double_t > cde(std::complex< eq_double_t > u, eq_double_t k, eq_double_t tol)
Definition orfanidis_eq.h:840
eq_double_t process(eq_double_t in)
Definition orfanidis_eq.h:1098
void blt(const std::vector< SOSection > &aSections, eq_double_t w0, std::vector< FOSection > §ions)
Definition orfanidis_eq.h:898
void ellipk(eq_double_t k, eq_double_t tol, eq_double_t &K, eq_double_t &Kprime)
Definition orfanidis_eq.h:736
std::complex< eq_double_t > j
Definition orfanidis_eq.h:697
EllipticTypeBPFilter(size_t N, eq_double_t w0, eq_double_t wb, eq_double_t G, eq_double_t Gb)
Definition orfanidis_eq.h:1006
eq_double_t ellipdeg2(eq_double_t n, eq_double_t k, eq_double_t tol)
Definition orfanidis_eq.h:777
eq_double_t srem(eq_double_t x, eq_double_t y)
Definition orfanidis_eq.h:796
eq_double_t ellipdeg(size_t N, eq_double_t k1, eq_double_t tol)
Definition orfanidis_eq.h:874
EllipticTypeBPFilter()
Definition orfanidis_eq.h:700
std::vector< FOSection > sections
Definition orfanidis_eq.h:698
std::vector< eq_double_t > sne(const std::vector< eq_double_t > &u, eq_double_t k, eq_double_t tol)
Definition orfanidis_eq.h:855
std::complex< eq_double_t > arccos(std::complex< eq_double_t > z)
Definition orfanidis_eq.h:702
std::complex< eq_double_t > acde(std::complex< eq_double_t > w, eq_double_t k, eq_double_t tol)
Definition orfanidis_eq.h:806
std::vector< eq_double_t > landen(eq_double_t k, eq_double_t tol)
Definition orfanidis_eq.h:710
~EllipticTypeBPFilter()
Definition orfanidis_eq.h:1085
std::complex< eq_double_t > asne(std::complex< eq_double_t > w, eq_double_t k, eq_double_t tol)
Definition orfanidis_eq.h:831
static eq_double_t computeBWGainDb(eq_double_t gain)
Definition orfanidis_eq.h:1087
Definition orfanidis_eq.h:1127
eq_error_t setChannel(filter_type ft, eq_double_t fs)
Definition orfanidis_eq.h:1179
eq_error_t setGainDb(eq_double_t db)
Definition orfanidis_eq.h:1255
eq_double_t gainRangeDb
Definition orfanidis_eq.h:1131
std::vector< BPFilter * > filters
Definition orfanidis_eq.h:1137
~EqChannel()
Definition orfanidis_eq.h:1174
EqChannel()
Definition orfanidis_eq.h:1140
eq_double_t currentGainDb
Definition orfanidis_eq.h:1135
size_t getFltIndex(eq_double_t gainDb)
Definition orfanidis_eq.h:1142
eq_double_t samplingFrequency
Definition orfanidis_eq.h:1130
filter_type currentChannelType
Definition orfanidis_eq.h:1138
eq_double_t f0
Definition orfanidis_eq.h:1128
eq_double_t gainStepDb
Definition orfanidis_eq.h:1132
void cleanupFiltersArray()
Definition orfanidis_eq.h:1150
size_t currentFilterIndex
Definition orfanidis_eq.h:1134
eq_double_t fb
Definition orfanidis_eq.h:1129
EqChannel(filter_type ft, eq_double_t fs, eq_double_t f0, eq_double_t fb, eq_double_t gainRangeDb=eqGainRangeDb, eq_double_t gainStepDb=eqGainStepDb)
Definition orfanidis_eq.h:1157
eq_error_t SBSProcess(eq_double_t *in, eq_double_t *out)
Definition orfanidis_eq.h:1267
eq_error_t SBSProcess(eq_double_t *in, eq_double_t *out)
Definition orfanidis_eq.h:1407
Conversions conv
Definition orfanidis_eq.h:1295
FrequencyGrid freqGrid
Definition orfanidis_eq.h:1297
const char * getStringEqType()
Definition orfanidis_eq.h:1428
eq_error_t changeGains(const std::vector< eq_double_t > &bandGains)
Definition orfanidis_eq.h:1354
eq_error_t SBSProcessBand(size_t bandNumber, eq_double_t *in, eq_double_t *out)
Definition orfanidis_eq.h:1396
void cleanupChannelsArray()
Definition orfanidis_eq.h:1301
eq_error_t changeBandGain(size_t bandNumber, eq_double_t bandGain)
Definition orfanidis_eq.h:1376
eq_error_t setEq(const FrequencyGrid &fg, filter_type ft)
Definition orfanidis_eq.h:1321
eq_error_t setEq(filter_type ft)
Definition orfanidis_eq.h:1342
eq_error_t setSampleRate(eq_double_t sr)
Definition orfanidis_eq.h:1347
const char * getVersion()
Definition orfanidis_eq.h:1438
eq_error_t changeGainsDb(const std::vector< eq_double_t > &bandGains)
Definition orfanidis_eq.h:1365
filter_type getEqType()
Definition orfanidis_eq.h:1423
std::vector< EqChannel * > channels
Definition orfanidis_eq.h:1298
filter_type currentEqType
Definition orfanidis_eq.h:1299
eq_error_t changeBandGainDb(size_t bandNumber, eq_double_t bandGain)
Definition orfanidis_eq.h:1386
~Eq()
Definition orfanidis_eq.h:1316
eq_double_t samplingFrequency
Definition orfanidis_eq.h:1296
size_t getNumberOfBands()
Definition orfanidis_eq.h:1433
Eq(FrequencyGrid &fg, filter_type eq_t)
Definition orfanidis_eq.h:1308
Definition orfanidis_eq.h:369
eq_double_t b0
Definition orfanidis_eq.h:371
eq_double_t b1
Definition orfanidis_eq.h:371
FOSection()
Definition orfanidis_eq.h:401
eq_double_t a2
Definition orfanidis_eq.h:372
eq_double_t b3
Definition orfanidis_eq.h:371
eq_double_t numBuf[4]
Definition orfanidis_eq.h:374
eq_double_t df1FOProcess(eq_double_t in)
Definition orfanidis_eq.h:377
eq_double_t a0
Definition orfanidis_eq.h:372
FOSection(std::vector< eq_double_t > &b, std::vector< eq_double_t > a)
Definition orfanidis_eq.h:408
eq_double_t b4
Definition orfanidis_eq.h:371
eq_double_t a3
Definition orfanidis_eq.h:372
eq_double_t process(eq_double_t in)
Definition orfanidis_eq.h:417
eq_double_t b2
Definition orfanidis_eq.h:371
eq_double_t a4
Definition orfanidis_eq.h:372
eq_double_t a1
Definition orfanidis_eq.h:372
eq_double_t denumBuf[4]
Definition orfanidis_eq.h:375
Definition orfanidis_eq.h:160
size_t getRoundedFreq(size_t index)
Definition orfanidis_eq.h:326
std::vector< Band > getFreqs()
Definition orfanidis_eq.h:313
eq_error_t addBand(eq_double_t fc, eq_double_t df)
Definition orfanidis_eq.h:184
FrequencyGrid()
Definition orfanidis_eq.h:164
eq_error_t set30Bands(eq_double_t fc=bandsGridCenterFreqHz)
Definition orfanidis_eq.h:280
std::vector< Band > freqs
Definition orfanidis_eq.h:161
eq_error_t addBand(eq_double_t fl, eq_double_t fc, eq_double_t fh)
Definition orfanidis_eq.h:173
eq_error_t set20Bands(eq_double_t fc=bandsGridCenterFreqHz)
Definition orfanidis_eq.h:251
eq_error_t set5Bands(eq_double_t fc=bandsGridCenterFreqHz)
Definition orfanidis_eq.h:195
size_t getNumberOfBands()
Definition orfanidis_eq.h:308
eq_error_t set10Bands(eq_double_t fc=bandsGridCenterFreqHz)
Definition orfanidis_eq.h:222
eq_error_t setBand(eq_double_t fl, eq_double_t fc, eq_double_t fh)
Definition orfanidis_eq.h:166
size_t getFreq(size_t index)
Definition orfanidis_eq.h:318
#define M_PI
Definition compat.h:149
* e
Definition inflate.c:1404
UINT_D64 w
Definition inflate.c:942
unsigned z
Definition inflate.c:1589
register unsigned k
Definition inflate.c:946
register unsigned j
Definition inflate.c:1576
int y
Definition inflate.c:1588
unsigned v[N_MAX]
Definition inflate.c:1584
int g
Definition inflate.c:1573
struct huft * u[BMAX]
Definition inflate.c:1583
register unsigned i
Definition inflate.c:1575
unsigned x[BMAX+1]
Definition inflate.c:1586
unsigned f
Definition inflate.c:1572
JHUFF_TBL long freq[]
Definition jchuff.h:50
#define A(x)
Definition lice_arc.cpp:13
float in
Definition lilv_test.c:1460
float out
Definition lilv_test.c:1461
Definition orfanidis_eq.h:33
static const eq_double_t lowestGridCenterFreqHz
Definition orfanidis_eq.h:53
static const eq_double_t eqGainRangeDb
Definition orfanidis_eq.h:59
static const char * getFilterName(filter_type type)
Definition orfanidis_eq.h:1275
static const eq_double_t lowestAudioFreqHz
Definition orfanidis_eq.h:55
filter_type
Definition orfanidis_eq.h:1115
@ butterworth
Definition orfanidis_eq.h:1117
@ none
Definition orfanidis_eq.h:1116
@ elliptic
Definition orfanidis_eq.h:1120
@ chebyshev2
Definition orfanidis_eq.h:1119
@ chebyshev1
Definition orfanidis_eq.h:1118
static const eq_double_t defaultSampleFreqHz
Definition orfanidis_eq.h:49
double eq_double_t
Definition orfanidis_eq.h:43
eq_error_t
Definition orfanidis_eq.h:149
@ invalid_input_data_error
Definition orfanidis_eq.h:151
@ processing_error
Definition orfanidis_eq.h:152
@ no_error
Definition orfanidis_eq.h:150
static const eq_double_t eqGainStepDb
Definition orfanidis_eq.h:60
static const size_t defaultEqBandPassFiltersOrder
Definition orfanidis_eq.h:50
static const char * eq_version
Definition orfanidis_eq.h:38
static const eq_double_t highestAudioFreqHz
Definition orfanidis_eq.h:56
static const eq_double_t eqDefaultGainDb
Definition orfanidis_eq.h:61
static const eq_double_t bandsGridCenterFreqHz
Definition orfanidis_eq.h:54
Definition juce_Uuid.h:141
#define N
Definition nseel-cfunc.c:36
#define M
Definition nseel-cfunc.c:37
Definition orfanidis_eq.h:361
eq_double_t a1
Definition orfanidis_eq.h:363
eq_double_t a2
Definition orfanidis_eq.h:363
eq_double_t b2
Definition orfanidis_eq.h:362
eq_double_t a0
Definition orfanidis_eq.h:363
eq_double_t b0
Definition orfanidis_eq.h:362
eq_double_t b1
Definition orfanidis_eq.h:362
static float D(float x)
Definition tap_tubewarmth.c:156
int n
Definition crypt.c:458
int r
Definition crypt.c:458
register uch * q
Definition fileio.c:817
Uz_Globs G
Definition globals.c:42
typedef int(UZ_EXP MsgFn)()
#define void
Definition unzip.h:396