a C audio live-coding skeleton
diff @ 2018-05-12 21:37:00 +0100 diff --git a/src/go.c b/src/go.c index b00f0266..82c93ff3 100644 --- a/src/go.c +++ b/src/go.c @@ -10,7 +10,7 @@ // ===================================================================== // ===================================================================== -#define RESET 1 +#define RESET 0 #define SR 48000 #include "dsp.h"
diff @ 2018-05-12 21:37:28 +0100 diff --git a/src/go.c b/src/go.c index 82c93ff3..cca78f39 100644 --- a/src/go.c +++ b/src/go.c @@ -253,7 +253,7 @@ go(S *s, int channels, const float *in, float *out) } double na = env * pink(&s->pink[0]); double nb = env * pink(&s->pink[1]); - double q = 10; + double q = 15; na *= 10; nb *= 10; na = vcf(&s->pvcf[0], na * q, freq, q);
diff @ 2018-05-12 21:37:34 +0100 diff --git a/src/go.c b/src/go.c index cca78f39..9424efc7 100644 --- a/src/go.c +++ b/src/go.c @@ -253,7 +253,7 @@ go(S *s, int channels, const float *in, float *out) } double na = env * pink(&s->pink[0]); double nb = env * pink(&s->pink[1]); - double q = 15; + double q = 20; na *= 10; nb *= 10; na = vcf(&s->pvcf[0], na * q, freq, q);
diff @ 2018-05-12 21:37:41 +0100 diff --git a/src/go.c b/src/go.c index 9424efc7..b503f674 100644 --- a/src/go.c +++ b/src/go.c @@ -253,7 +253,7 @@ go(S *s, int channels, const float *in, float *out) } double na = env * pink(&s->pink[0]); double nb = env * pink(&s->pink[1]); - double q = 20; + double q = 25; na *= 10; nb *= 10; na = vcf(&s->pvcf[0], na * q, freq, q);
diff @ 2018-05-12 21:37:45 +0100 diff --git a/src/go.c b/src/go.c index b503f674..ca5c8c79 100644 --- a/src/go.c +++ b/src/go.c @@ -254,8 +254,8 @@ go(S *s, int channels, const float *in, float *out) double na = env * pink(&s->pink[0]); double nb = env * pink(&s->pink[1]); double q = 25; - na *= 10; - nb *= 10; + na *= 9; + nb *= 9; na = vcf(&s->pvcf[0], na * q, freq, q); nb = vcf(&s->pvcf[1], nb * q, freq, q); na = sin(na);
diff @ 2018-05-12 21:37:48 +0100 diff --git a/src/go.c b/src/go.c index ca5c8c79..282a3884 100644 --- a/src/go.c +++ b/src/go.c @@ -253,7 +253,7 @@ go(S *s, int channels, const float *in, float *out) } double na = env * pink(&s->pink[0]); double nb = env * pink(&s->pink[1]); - double q = 25; + double q = 30; na *= 9; nb *= 9; na = vcf(&s->pvcf[0], na * q, freq, q);
diff @ 2018-05-12 21:37:54 +0100 diff --git a/src/go.c b/src/go.c index 282a3884..d3a8e4ce 100644 --- a/src/go.c +++ b/src/go.c @@ -253,9 +253,9 @@ go(S *s, int channels, const float *in, float *out) } double na = env * pink(&s->pink[0]); double nb = env * pink(&s->pink[1]); - double q = 30; - na *= 9; - nb *= 9; + double q = 40; + na *= 8; + nb *= 8; na = vcf(&s->pvcf[0], na * q, freq, q); nb = vcf(&s->pvcf[1], nb * q, freq, q); na = sin(na);
diff @ 2018-05-12 21:38:01 +0100 diff --git a/src/go.c b/src/go.c index d3a8e4ce..7e291965 100644 --- a/src/go.c +++ b/src/go.c @@ -253,9 +253,9 @@ go(S *s, int channels, const float *in, float *out) } double na = env * pink(&s->pink[0]); double nb = env * pink(&s->pink[1]); - double q = 40; - na *= 8; - nb *= 8; + double q = 60; + na *= 7; + nb *= 7; na = vcf(&s->pvcf[0], na * q, freq, q); nb = vcf(&s->pvcf[1], nb * q, freq, q); na = sin(na);
diff @ 2018-05-12 21:38:09 +0100 diff --git a/src/go.c b/src/go.c index 7e291965..e86f9358 100644 --- a/src/go.c +++ b/src/go.c @@ -253,9 +253,9 @@ go(S *s, int channels, const float *in, float *out) } double na = env * pink(&s->pink[0]); double nb = env * pink(&s->pink[1]); - double q = 60; - na *= 7; - nb *= 7; + double q = 80; + na *= 6; + nb *= 6; na = vcf(&s->pvcf[0], na * q, freq, q); nb = vcf(&s->pvcf[1], nb * q, freq, q); na = sin(na);
diff @ 2018-05-12 21:38:14 +0100 diff --git a/src/go.c b/src/go.c index e86f9358..0637bfa2 100644 --- a/src/go.c +++ b/src/go.c @@ -253,7 +253,7 @@ go(S *s, int channels, const float *in, float *out) } double na = env * pink(&s->pink[0]); double nb = env * pink(&s->pink[1]); - double q = 80; + double q = 90; na *= 6; nb *= 6; na = vcf(&s->pvcf[0], na * q, freq, q);
diff @ 2018-05-12 21:38:20 +0100 diff --git a/src/go.c b/src/go.c index 0637bfa2..923a37b9 100644 --- a/src/go.c +++ b/src/go.c @@ -253,9 +253,9 @@ go(S *s, int channels, const float *in, float *out) } double na = env * pink(&s->pink[0]); double nb = env * pink(&s->pink[1]); - double q = 90; - na *= 6; - nb *= 6; + double q = 100; + na *= 5; + nb *= 5; na = vcf(&s->pvcf[0], na * q, freq, q); nb = vcf(&s->pvcf[1], nb * q, freq, q); na = sin(na);
diff @ 2018-05-12 21:38:27 +0100 diff --git a/src/go.c b/src/go.c index 923a37b9..258cbe76 100644 --- a/src/go.c +++ b/src/go.c @@ -266,8 +266,8 @@ go(S *s, int channels, const float *in, float *out) hilbert(pb, &s->philbert[1], pb); pa[0] = wrap(atan2(pa[0], pa[1]) / twopi); pb[0] = wrap(atan2(pb[0], pb[1]) / twopi); - na += 0*samphold(&s->psh[0], na, wrap(3 * pa[0])); - nb += 0*samphold(&s->psh[1], nb, wrap(3 * pb[0])); + na += 0.01*samphold(&s->psh[0], na, wrap(3 * pa[0])); + nb += 0.01*samphold(&s->psh[1], nb, wrap(3 * pb[0])); pnoise[0] = na; pnoise[1] = nb; compress(pnoise, &s->pcompress, 5, 10, 25, 48, pnoise);
diff @ 2018-05-12 21:38:33 +0100 diff --git a/src/go.c b/src/go.c index 258cbe76..f3760e69 100644 --- a/src/go.c +++ b/src/go.c @@ -266,8 +266,8 @@ go(S *s, int channels, const float *in, float *out) hilbert(pb, &s->philbert[1], pb); pa[0] = wrap(atan2(pa[0], pa[1]) / twopi); pb[0] = wrap(atan2(pb[0], pb[1]) / twopi); - na += 0.01*samphold(&s->psh[0], na, wrap(3 * pa[0])); - nb += 0.01*samphold(&s->psh[1], nb, wrap(3 * pb[0])); + na += 0.03*samphold(&s->psh[0], na, wrap(3 * pa[0])); + nb += 0.03*samphold(&s->psh[1], nb, wrap(3 * pb[0])); pnoise[0] = na; pnoise[1] = nb; compress(pnoise, &s->pcompress, 5, 10, 25, 48, pnoise);
diff @ 2018-05-12 21:38:40 +0100 diff --git a/src/go.c b/src/go.c index f3760e69..ab115333 100644 --- a/src/go.c +++ b/src/go.c @@ -266,8 +266,8 @@ go(S *s, int channels, const float *in, float *out) hilbert(pb, &s->philbert[1], pb); pa[0] = wrap(atan2(pa[0], pa[1]) / twopi); pb[0] = wrap(atan2(pb[0], pb[1]) / twopi); - na += 0.03*samphold(&s->psh[0], na, wrap(3 * pa[0])); - nb += 0.03*samphold(&s->psh[1], nb, wrap(3 * pb[0])); + na += 0.05*samphold(&s->psh[0], na, wrap(3 * pa[0])); + nb += 0.05*samphold(&s->psh[1], nb, wrap(3 * pb[0])); pnoise[0] = na; pnoise[1] = nb; compress(pnoise, &s->pcompress, 5, 10, 25, 48, pnoise);
diff @ 2018-05-12 21:38:44 +0100 diff --git a/src/go.c b/src/go.c index ab115333..5d3b9147 100644 --- a/src/go.c +++ b/src/go.c @@ -266,8 +266,8 @@ go(S *s, int channels, const float *in, float *out) hilbert(pb, &s->philbert[1], pb); pa[0] = wrap(atan2(pa[0], pa[1]) / twopi); pb[0] = wrap(atan2(pb[0], pb[1]) / twopi); - na += 0.05*samphold(&s->psh[0], na, wrap(3 * pa[0])); - nb += 0.05*samphold(&s->psh[1], nb, wrap(3 * pb[0])); + na += 0.1*samphold(&s->psh[0], na, wrap(3 * pa[0])); + nb += 0.1*samphold(&s->psh[1], nb, wrap(3 * pb[0])); pnoise[0] = na; pnoise[1] = nb; compress(pnoise, &s->pcompress, 5, 10, 25, 48, pnoise);
diff @ 2018-05-12 21:38:49 +0100 diff --git a/src/go.c b/src/go.c index 5d3b9147..1b30a807 100644 --- a/src/go.c +++ b/src/go.c @@ -266,8 +266,8 @@ go(S *s, int channels, const float *in, float *out) hilbert(pb, &s->philbert[1], pb); pa[0] = wrap(atan2(pa[0], pa[1]) / twopi); pb[0] = wrap(atan2(pb[0], pb[1]) / twopi); - na += 0.1*samphold(&s->psh[0], na, wrap(3 * pa[0])); - nb += 0.1*samphold(&s->psh[1], nb, wrap(3 * pb[0])); + na += 0.15*samphold(&s->psh[0], na, wrap(3 * pa[0])); + nb += 0.15*samphold(&s->psh[1], nb, wrap(3 * pb[0])); pnoise[0] = na; pnoise[1] = nb; compress(pnoise, &s->pcompress, 5, 10, 25, 48, pnoise);
diff @ 2018-05-12 21:38:55 +0100 diff --git a/src/go.c b/src/go.c index 1b30a807..b15229d4 100644 --- a/src/go.c +++ b/src/go.c @@ -266,8 +266,8 @@ go(S *s, int channels, const float *in, float *out) hilbert(pb, &s->philbert[1], pb); pa[0] = wrap(atan2(pa[0], pa[1]) / twopi); pb[0] = wrap(atan2(pb[0], pb[1]) / twopi); - na += 0.15*samphold(&s->psh[0], na, wrap(3 * pa[0])); - nb += 0.15*samphold(&s->psh[1], nb, wrap(3 * pb[0])); + na += 0.15*samphold(&s->psh[0], na, wrap(5 * pa[0])); + nb += 0.15*samphold(&s->psh[1], nb, wrap(5 * pb[0])); pnoise[0] = na; pnoise[1] = nb; compress(pnoise, &s->pcompress, 5, 10, 25, 48, pnoise);
diff @ 2018-05-12 21:39:00 +0100 diff --git a/src/go.c b/src/go.c index b15229d4..03c5c109 100644 --- a/src/go.c +++ b/src/go.c @@ -266,8 +266,8 @@ go(S *s, int channels, const float *in, float *out) hilbert(pb, &s->philbert[1], pb); pa[0] = wrap(atan2(pa[0], pa[1]) / twopi); pb[0] = wrap(atan2(pb[0], pb[1]) / twopi); - na += 0.15*samphold(&s->psh[0], na, wrap(5 * pa[0])); - nb += 0.15*samphold(&s->psh[1], nb, wrap(5 * pb[0])); + na += 0.25*samphold(&s->psh[0], na, wrap(5 * pa[0])); + nb += 0.25*samphold(&s->psh[1], nb, wrap(5 * pb[0])); pnoise[0] = na; pnoise[1] = nb; compress(pnoise, &s->pcompress, 5, 10, 25, 48, pnoise);
diff @ 2018-05-12 21:39:09 +0100 diff --git a/src/go.c b/src/go.c index 03c5c109..8e4d0763 100644 --- a/src/go.c +++ b/src/go.c @@ -266,8 +266,8 @@ go(S *s, int channels, const float *in, float *out) hilbert(pb, &s->philbert[1], pb); pa[0] = wrap(atan2(pa[0], pa[1]) / twopi); pb[0] = wrap(atan2(pb[0], pb[1]) / twopi); - na += 0.25*samphold(&s->psh[0], na, wrap(5 * pa[0])); - nb += 0.25*samphold(&s->psh[1], nb, wrap(5 * pb[0])); + na += 0.34*samphold(&s->psh[0], na, wrap(5 * pa[0])); + nb += 0.34*samphold(&s->psh[1], nb, wrap(5 * pb[0])); pnoise[0] = na; pnoise[1] = nb; compress(pnoise, &s->pcompress, 5, 10, 25, 48, pnoise);
diff @ 2018-05-12 21:39:14 +0100 diff --git a/src/go.c b/src/go.c index 8e4d0763..ee7463fd 100644 --- a/src/go.c +++ b/src/go.c @@ -266,8 +266,8 @@ go(S *s, int channels, const float *in, float *out) hilbert(pb, &s->philbert[1], pb); pa[0] = wrap(atan2(pa[0], pa[1]) / twopi); pb[0] = wrap(atan2(pb[0], pb[1]) / twopi); - na += 0.34*samphold(&s->psh[0], na, wrap(5 * pa[0])); - nb += 0.34*samphold(&s->psh[1], nb, wrap(5 * pb[0])); + na += 0.5*samphold(&s->psh[0], na, wrap(5 * pa[0])); + nb += 0.5*samphold(&s->psh[1], nb, wrap(5 * pb[0])); pnoise[0] = na; pnoise[1] = nb; compress(pnoise, &s->pcompress, 5, 10, 25, 48, pnoise);
diff @ 2018-05-12 21:39:18 +0100 diff --git a/src/go.c b/src/go.c index ee7463fd..ad276b8f 100644 --- a/src/go.c +++ b/src/go.c @@ -254,8 +254,8 @@ go(S *s, int channels, const float *in, float *out) double na = env * pink(&s->pink[0]); double nb = env * pink(&s->pink[1]); double q = 100; - na *= 5; - nb *= 5; + na *= 4; + nb *= 4; na = vcf(&s->pvcf[0], na * q, freq, q); nb = vcf(&s->pvcf[1], nb * q, freq, q); na = sin(na);
diff @ 2018-05-12 21:39:20 +0100 diff --git a/src/go.c b/src/go.c index ad276b8f..198d7ee5 100644 --- a/src/go.c +++ b/src/go.c @@ -253,7 +253,7 @@ go(S *s, int channels, const float *in, float *out) } double na = env * pink(&s->pink[0]); double nb = env * pink(&s->pink[1]); - double q = 100; + double q = 120; na *= 4; nb *= 4; na = vcf(&s->pvcf[0], na * q, freq, q);
diff @ 2018-05-12 21:39:26 +0100 diff --git a/src/go.c b/src/go.c index 198d7ee5..87d6c3ed 100644 --- a/src/go.c +++ b/src/go.c @@ -266,8 +266,8 @@ go(S *s, int channels, const float *in, float *out) hilbert(pb, &s->philbert[1], pb); pa[0] = wrap(atan2(pa[0], pa[1]) / twopi); pb[0] = wrap(atan2(pb[0], pb[1]) / twopi); - na += 0.5*samphold(&s->psh[0], na, wrap(5 * pa[0])); - nb += 0.5*samphold(&s->psh[1], nb, wrap(5 * pb[0])); + na += 0.6*samphold(&s->psh[0], na, wrap(5 * pa[0])); + nb += 0.6*samphold(&s->psh[1], nb, wrap(5 * pb[0])); pnoise[0] = na; pnoise[1] = nb; compress(pnoise, &s->pcompress, 5, 10, 25, 48, pnoise);
diff @ 2018-05-12 21:39:29 +0100 diff --git a/src/go.c b/src/go.c index 87d6c3ed..a4380ad9 100644 --- a/src/go.c +++ b/src/go.c @@ -253,7 +253,7 @@ go(S *s, int channels, const float *in, float *out) } double na = env * pink(&s->pink[0]); double nb = env * pink(&s->pink[1]); - double q = 120; + double q = 160; na *= 4; nb *= 4; na = vcf(&s->pvcf[0], na * q, freq, q);
diff @ 2018-05-12 21:39:36 +0100 diff --git a/src/go.c b/src/go.c index a4380ad9..55a26b91 100644 --- a/src/go.c +++ b/src/go.c @@ -266,8 +266,8 @@ go(S *s, int channels, const float *in, float *out) hilbert(pb, &s->philbert[1], pb); pa[0] = wrap(atan2(pa[0], pa[1]) / twopi); pb[0] = wrap(atan2(pb[0], pb[1]) / twopi); - na += 0.6*samphold(&s->psh[0], na, wrap(5 * pa[0])); - nb += 0.6*samphold(&s->psh[1], nb, wrap(5 * pb[0])); + na += 0.9*samphold(&s->psh[0], na, wrap(5 * pa[0])); + nb += 0.9*samphold(&s->psh[1], nb, wrap(5 * pb[0])); pnoise[0] = na; pnoise[1] = nb; compress(pnoise, &s->pcompress, 5, 10, 25, 48, pnoise);
diff @ 2018-05-12 21:39:45 +0100 diff --git a/src/go.c b/src/go.c index 55a26b91..aa9c37b4 100644 --- a/src/go.c +++ b/src/go.c @@ -266,8 +266,8 @@ go(S *s, int channels, const float *in, float *out) hilbert(pb, &s->philbert[1], pb); pa[0] = wrap(atan2(pa[0], pa[1]) / twopi); pb[0] = wrap(atan2(pb[0], pb[1]) / twopi); - na += 0.9*samphold(&s->psh[0], na, wrap(5 * pa[0])); - nb += 0.9*samphold(&s->psh[1], nb, wrap(5 * pb[0])); + na -= 1*samphold(&s->psh[0], na, wrap(5 * pa[0])); + nb -= 1*samphold(&s->psh[1], nb, wrap(5 * pb[0])); pnoise[0] = na; pnoise[1] = nb; compress(pnoise, &s->pcompress, 5, 10, 25, 48, pnoise);
diff @ 2018-05-12 21:39:52 +0100 diff --git a/src/go.c b/src/go.c index aa9c37b4..72c8ea8e 100644 --- a/src/go.c +++ b/src/go.c @@ -254,8 +254,8 @@ go(S *s, int channels, const float *in, float *out) double na = env * pink(&s->pink[0]); double nb = env * pink(&s->pink[1]); double q = 160; - na *= 4; - nb *= 4; + na *= 8; + nb *= 8; na = vcf(&s->pvcf[0], na * q, freq, q); nb = vcf(&s->pvcf[1], nb * q, freq, q); na = sin(na);
diff @ 2018-05-12 21:39:57 +0100 diff --git a/src/go.c b/src/go.c index 72c8ea8e..4de315e4 100644 --- a/src/go.c +++ b/src/go.c @@ -254,8 +254,8 @@ go(S *s, int channels, const float *in, float *out) double na = env * pink(&s->pink[0]); double nb = env * pink(&s->pink[1]); double q = 160; - na *= 8; - nb *= 8; + na *= 10; + nb *= 10; na = vcf(&s->pvcf[0], na * q, freq, q); nb = vcf(&s->pvcf[1], nb * q, freq, q); na = sin(na);
diff @ 2018-05-12 21:40:09 +0100 diff --git a/src/go.c b/src/go.c index 4de315e4..dc05bf52 100644 --- a/src/go.c +++ b/src/go.c @@ -253,7 +253,7 @@ go(S *s, int channels, const float *in, float *out) } double na = env * pink(&s->pink[0]); double nb = env * pink(&s->pink[1]); - double q = 160; + double q = 200; na *= 10; nb *= 10; na = vcf(&s->pvcf[0], na * q, freq, q);
diff @ 2018-05-12 21:40:13 +0100 diff --git a/src/go.c b/src/go.c index dc05bf52..86982c27 100644 --- a/src/go.c +++ b/src/go.c @@ -253,7 +253,7 @@ go(S *s, int channels, const float *in, float *out) } double na = env * pink(&s->pink[0]); double nb = env * pink(&s->pink[1]); - double q = 200; + double q = 250; na *= 10; nb *= 10; na = vcf(&s->pvcf[0], na * q, freq, q);
diff @ 2018-05-12 21:40:23 +0100 diff --git a/src/go.c b/src/go.c index 86982c27..cc028317 100644 --- a/src/go.c +++ b/src/go.c @@ -169,7 +169,7 @@ go(S *s, int channels, const float *in, float *out) int n = (time / 5) & ((1 << N) - 1); double zeroes = clamp(count_trailing_zeroes(n), 0, N); double probability = pow(0.5, N - zeroes); - probability = (0.5 + 0 * (n >= 0xC001)) * probability - 0.5; + probability = (4.5 + 0 * (n >= 0xC001)) * probability - 0.5; probability = clamp(probability, 0, 1); double uniform = rand() / (double) RAND_MAX; double trigger = uniform < probability; @@ -179,7 +179,6 @@ go(S *s, int channels, const float *in, float *out) freq = 10 * samphold(&s->bsh, harmonic, 1 - trigger); freq = lop(&s->bfreq, freq, 20); } - env = 0.5; freq = 50; // ===================================================================
diff @ 2018-05-12 21:40:36 +0100 diff --git a/src/go.c b/src/go.c index cc028317..790d6502 100644 --- a/src/go.c +++ b/src/go.c @@ -175,12 +175,11 @@ go(S *s, int channels, const float *in, float *out) double trigger = uniform < probability; s->benv.y += trigger; env = lop(&s->benv, 0, 5); - double harmonic = 5 + clamp(N - zeroes, 0, 20); + double harmonic = 5 + clamp(N - zeroes - 4, 0, 20); freq = 10 * samphold(&s->bsh, harmonic, 1 - trigger); freq = lop(&s->bfreq, freq, 20); } - freq = 50; - + // =================================================================== // = 3 = total intraliminal extraction double tilex[2] = { 0, 0 };
diff @ 2018-05-12 21:40:41 +0100 diff --git a/src/go.c b/src/go.c index 790d6502..11031aff 100644 --- a/src/go.c +++ b/src/go.c @@ -169,7 +169,7 @@ go(S *s, int channels, const float *in, float *out) int n = (time / 5) & ((1 << N) - 1); double zeroes = clamp(count_trailing_zeroes(n), 0, N); double probability = pow(0.5, N - zeroes); - probability = (4.5 + 0 * (n >= 0xC001)) * probability - 0.5; + probability = (4.5 + 5 * (n >= 0xC001)) * probability - 0.5; probability = clamp(probability, 0, 1); double uniform = rand() / (double) RAND_MAX; double trigger = uniform < probability;
diff @ 2018-05-12 21:40:48 +0100 diff --git a/src/go.c b/src/go.c index 11031aff..7c4c457c 100644 --- a/src/go.c +++ b/src/go.c @@ -175,7 +175,7 @@ go(S *s, int channels, const float *in, float *out) double trigger = uniform < probability; s->benv.y += trigger; env = lop(&s->benv, 0, 5); - double harmonic = 5 + clamp(N - zeroes - 4, 0, 20); + double harmonic = 5 + clamp(N - zeroes - 3, 0, 20); freq = 10 * samphold(&s->bsh, harmonic, 1 - trigger); freq = lop(&s->bfreq, freq, 20); }
diff @ 2018-05-12 21:41:02 +0100 diff --git a/src/go.c b/src/go.c index 7c4c457c..e4d72952 100644 --- a/src/go.c +++ b/src/go.c @@ -264,8 +264,8 @@ go(S *s, int channels, const float *in, float *out) hilbert(pb, &s->philbert[1], pb); pa[0] = wrap(atan2(pa[0], pa[1]) / twopi); pb[0] = wrap(atan2(pb[0], pb[1]) / twopi); - na -= 1*samphold(&s->psh[0], na, wrap(5 * pa[0])); - nb -= 1*samphold(&s->psh[1], nb, wrap(5 * pb[0])); + na = 1*samphold(&s->psh[0], na, wrap(5 * pa[0])); + nb = 1*samphold(&s->psh[1], nb, wrap(5 * pb[0])); pnoise[0] = na; pnoise[1] = nb; compress(pnoise, &s->pcompress, 5, 10, 25, 48, pnoise);
diff @ 2018-05-12 21:41:16 +0100 diff --git a/src/go.c b/src/go.c index e4d72952..cfc124b7 100644 --- a/src/go.c +++ b/src/go.c @@ -251,7 +251,7 @@ go(S *s, int channels, const float *in, float *out) } double na = env * pink(&s->pink[0]); double nb = env * pink(&s->pink[1]); - double q = 250; + double q = 1250; na *= 10; nb *= 10; na = vcf(&s->pvcf[0], na * q, freq, q);
diff @ 2018-05-12 21:41:26 +0100 diff --git a/src/go.c b/src/go.c index cfc124b7..72ff84cb 100644 --- a/src/go.c +++ b/src/go.c @@ -174,7 +174,7 @@ go(S *s, int channels, const float *in, float *out) double uniform = rand() / (double) RAND_MAX; double trigger = uniform < probability; s->benv.y += trigger; - env = lop(&s->benv, 0, 5); + env = lop(&s->benv, 0, 15); double harmonic = 5 + clamp(N - zeroes - 3, 0, 20); freq = 10 * samphold(&s->bsh, harmonic, 1 - trigger); freq = lop(&s->bfreq, freq, 20);
diff @ 2018-05-12 21:41:30 +0100 diff --git a/src/go.c b/src/go.c index 72ff84cb..2ac5a73a 100644 --- a/src/go.c +++ b/src/go.c @@ -174,7 +174,7 @@ go(S *s, int channels, const float *in, float *out) double uniform = rand() / (double) RAND_MAX; double trigger = uniform < probability; s->benv.y += trigger; - env = lop(&s->benv, 0, 15); + env = lop(&s->benv, 0, 25); double harmonic = 5 + clamp(N - zeroes - 3, 0, 20); freq = 10 * samphold(&s->bsh, harmonic, 1 - trigger); freq = lop(&s->bfreq, freq, 20);
diff @ 2018-05-12 21:41:39 +0100 diff --git a/src/go.c b/src/go.c index 2ac5a73a..97f4e2ab 100644 --- a/src/go.c +++ b/src/go.c @@ -168,7 +168,7 @@ go(S *s, int channels, const float *in, float *out) int N = 16; int n = (time / 5) & ((1 << N) - 1); double zeroes = clamp(count_trailing_zeroes(n), 0, N); - double probability = pow(0.5, N - zeroes); + double probability = pow(0.53, N - zeroes); probability = (4.5 + 5 * (n >= 0xC001)) * probability - 0.5; probability = clamp(probability, 0, 1); double uniform = rand() / (double) RAND_MAX;
diff @ 2018-05-12 21:41:43 +0100 diff --git a/src/go.c b/src/go.c index 97f4e2ab..2e720e44 100644 --- a/src/go.c +++ b/src/go.c @@ -168,7 +168,7 @@ go(S *s, int channels, const float *in, float *out) int N = 16; int n = (time / 5) & ((1 << N) - 1); double zeroes = clamp(count_trailing_zeroes(n), 0, N); - double probability = pow(0.53, N - zeroes); + double probability = pow(0.55, N - zeroes); probability = (4.5 + 5 * (n >= 0xC001)) * probability - 0.5; probability = clamp(probability, 0, 1); double uniform = rand() / (double) RAND_MAX;
diff @ 2018-05-12 21:41:57 +0100 diff --git a/src/go.c b/src/go.c index 2e720e44..4cf9d8db 100644 --- a/src/go.c +++ b/src/go.c @@ -224,7 +224,7 @@ go(S *s, int channels, const float *in, float *out) tilex[0] = fb1; tilex[1] = fb2; compress(tilex, &s->tcompress1, 5, 10, 25, 48, tilex); - double hgain = 0; + double hgain = 1; tilex[0] *= hgain; tilex[1] *= hgain; double kgain = 0;
diff @ 2018-05-12 21:42:10 +0100 diff --git a/src/go.c b/src/go.c index 4cf9d8db..7d6ea805 100644 --- a/src/go.c +++ b/src/go.c @@ -213,7 +213,7 @@ go(S *s, int channels, const float *in, float *out) double sfb2 = delread4(&s->tcomb2, 1000 / hz2); double fb1 = mix(sfb1, -sfb2, 0); double fb2 = mix(sfb2, -sfb1, 0); - double fb = 0; + double fb = 0.7; fb = samphold(&s->tgate[2], fb, wrap(4 * p)); delwrite(&s->tcomb1, sin(hat * noise() - fb * fb1)); delwrite(&s->tcomb2, sin(hat * noise() - fb * fb2));
diff @ 2018-05-12 21:42:17 +0100 diff --git a/src/go.c b/src/go.c index 7d6ea805..3ec62a3d 100644 --- a/src/go.c +++ b/src/go.c @@ -211,8 +211,8 @@ go(S *s, int channels, const float *in, float *out) double hz2 = 2 * khz * floor(pow(2, wrap(4 * p + 0.5))); double sfb1 = delread4(&s->tcomb1, 1000 / hz1); double sfb2 = delread4(&s->tcomb2, 1000 / hz2); - double fb1 = mix(sfb1, -sfb2, 0); - double fb2 = mix(sfb2, -sfb1, 0); + double fb1 = mix(sfb1, -sfb2, 0.01); + double fb2 = mix(sfb2, -sfb1, 0.01); double fb = 0.7; fb = samphold(&s->tgate[2], fb, wrap(4 * p)); delwrite(&s->tcomb1, sin(hat * noise() - fb * fb1));
diff @ 2018-05-12 21:42:20 +0100 diff --git a/src/go.c b/src/go.c index 3ec62a3d..0cd128be 100644 --- a/src/go.c +++ b/src/go.c @@ -212,7 +212,7 @@ go(S *s, int channels, const float *in, float *out) double sfb1 = delread4(&s->tcomb1, 1000 / hz1); double sfb2 = delread4(&s->tcomb2, 1000 / hz2); double fb1 = mix(sfb1, -sfb2, 0.01); - double fb2 = mix(sfb2, -sfb1, 0.01); + double fb2 = mix(sfb2, sfb1, 0.01); double fb = 0.7; fb = samphold(&s->tgate[2], fb, wrap(4 * p)); delwrite(&s->tcomb1, sin(hat * noise() - fb * fb1));
diff @ 2018-05-12 21:42:24 +0100 diff --git a/src/go.c b/src/go.c index 0cd128be..06a41125 100644 --- a/src/go.c +++ b/src/go.c @@ -209,8 +209,8 @@ go(S *s, int channels, const float *in, float *out) double khz = 50 + 10 * (wrap(8 * p) > 1) + 25 * (wrap(2 * p) > 1); double hz1 = 2 * khz * floor(pow(2, wrap(4 * p + 0.0))); double hz2 = 2 * khz * floor(pow(2, wrap(4 * p + 0.5))); - double sfb1 = delread4(&s->tcomb1, 1000 / hz1); - double sfb2 = delread4(&s->tcomb2, 1000 / hz2); + double sfb1 = delread4(&s->tcomb1, 1000 / hz1 + 1); + double sfb2 = delread4(&s->tcomb2, 1000 / hz2 - 1); double fb1 = mix(sfb1, -sfb2, 0.01); double fb2 = mix(sfb2, sfb1, 0.01); double fb = 0.7;
diff @ 2018-05-12 21:42:32 +0100 diff --git a/src/go.c b/src/go.c index 06a41125..b34b7b24 100644 --- a/src/go.c +++ b/src/go.c @@ -206,7 +206,7 @@ go(S *s, int channels, const float *in, float *out) hat *= hat; s->tcomb1.length = SR; s->tcomb2.length = SR; - double khz = 50 + 10 * (wrap(8 * p) > 1) + 25 * (wrap(2 * p) > 1); + double khz = freq;//50 + 10 * (wrap(8 * p) > 1) + 25 * (wrap(2 * p) > 1); double hz1 = 2 * khz * floor(pow(2, wrap(4 * p + 0.0))); double hz2 = 2 * khz * floor(pow(2, wrap(4 * p + 0.5))); double sfb1 = delread4(&s->tcomb1, 1000 / hz1 + 1);
diff @ 2018-05-12 21:42:38 +0100 diff --git a/src/go.c b/src/go.c index b34b7b24..f2244d45 100644 --- a/src/go.c +++ b/src/go.c @@ -207,13 +207,13 @@ go(S *s, int channels, const float *in, float *out) s->tcomb1.length = SR; s->tcomb2.length = SR; double khz = freq;//50 + 10 * (wrap(8 * p) > 1) + 25 * (wrap(2 * p) > 1); - double hz1 = 2 * khz * floor(pow(2, wrap(4 * p + 0.0))); - double hz2 = 2 * khz * floor(pow(2, wrap(4 * p + 0.5))); + double hz1 = 2 * khz * floor(pow(4, wrap(4 * p + 0.0))); + double hz2 = 2 * khz * floor(pow(4, wrap(4 * p + 0.5))); double sfb1 = delread4(&s->tcomb1, 1000 / hz1 + 1); double sfb2 = delread4(&s->tcomb2, 1000 / hz2 - 1); double fb1 = mix(sfb1, -sfb2, 0.01); double fb2 = mix(sfb2, sfb1, 0.01); - double fb = 0.7; + double fb = 0.97; fb = samphold(&s->tgate[2], fb, wrap(4 * p)); delwrite(&s->tcomb1, sin(hat * noise() - fb * fb1)); delwrite(&s->tcomb2, sin(hat * noise() - fb * fb2));
diff @ 2018-05-12 21:42:50 +0100 diff --git a/src/go.c b/src/go.c index f2244d45..132b900e 100644 --- a/src/go.c +++ b/src/go.c @@ -227,7 +227,7 @@ go(S *s, int channels, const float *in, float *out) double hgain = 1; tilex[0] *= hgain; tilex[1] *= hgain; - double kgain = 0; + double kgain = 1; kgain = samphold(&s->tgate[0], kgain, p); tilex[0] += kgain * kick; tilex[1] += kgain * kick;
diff @ 2018-05-12 21:43:00 +0100 diff --git a/src/go.c b/src/go.c index 132b900e..b49cf40c 100644 --- a/src/go.c +++ b/src/go.c @@ -218,7 +218,7 @@ go(S *s, int channels, const float *in, float *out) delwrite(&s->tcomb1, sin(hat * noise() - fb * fb1)); delwrite(&s->tcomb2, sin(hat * noise() - fb * fb2)); kick +=tanh(vcf(&s->tkick[0], kick, khz, 5)*5)*2; - kick += sin(vcf(&s->tkick[1], kick, khz * 2, 5)*5); + kick += sin(vcf(&s->tkick[1], kick, khz * 3, 5)*5); kick += sin(vcf(&s->tkick[2], kick, khz*4-20, 5)*5) * sin(vcf(&s->tkick[3], kick, khz*4+20, 5)*5); tilex[0] = fb1;
diff @ 2018-05-12 21:43:07 +0100 diff --git a/src/go.c b/src/go.c index b49cf40c..ac79ef9e 100644 --- a/src/go.c +++ b/src/go.c @@ -218,7 +218,7 @@ go(S *s, int channels, const float *in, float *out) delwrite(&s->tcomb1, sin(hat * noise() - fb * fb1)); delwrite(&s->tcomb2, sin(hat * noise() - fb * fb2)); kick +=tanh(vcf(&s->tkick[0], kick, khz, 5)*5)*2; - kick += sin(vcf(&s->tkick[1], kick, khz * 3, 5)*5); + kick += sin(vcf(&s->tkick[1], kick, khz * 3, 50)*45); kick += sin(vcf(&s->tkick[2], kick, khz*4-20, 5)*5) * sin(vcf(&s->tkick[3], kick, khz*4+20, 5)*5); tilex[0] = fb1;
diff @ 2018-05-12 21:43:13 +0100 diff --git a/src/go.c b/src/go.c index ac79ef9e..6a940914 100644 --- a/src/go.c +++ b/src/go.c @@ -217,7 +217,7 @@ go(S *s, int channels, const float *in, float *out) fb = samphold(&s->tgate[2], fb, wrap(4 * p)); delwrite(&s->tcomb1, sin(hat * noise() - fb * fb1)); delwrite(&s->tcomb2, sin(hat * noise() - fb * fb2)); - kick +=tanh(vcf(&s->tkick[0], kick, khz, 5)*5)*2; + kick +=tanh(vcf(&s->tkick[0], kick, khz, 25)*25)*2; kick += sin(vcf(&s->tkick[1], kick, khz * 3, 50)*45); kick += sin(vcf(&s->tkick[2], kick, khz*4-20, 5)*5) * sin(vcf(&s->tkick[3], kick, khz*4+20, 5)*5);
diff @ 2018-05-12 21:43:22 +0100 diff --git a/src/go.c b/src/go.c index 6a940914..2d554dd4 100644 --- a/src/go.c +++ b/src/go.c @@ -219,8 +219,8 @@ go(S *s, int channels, const float *in, float *out) delwrite(&s->tcomb2, sin(hat * noise() - fb * fb2)); kick +=tanh(vcf(&s->tkick[0], kick, khz, 25)*25)*2; kick += sin(vcf(&s->tkick[1], kick, khz * 3, 50)*45); - kick += sin(vcf(&s->tkick[2], kick, khz*4-20, 5)*5) - * sin(vcf(&s->tkick[3], kick, khz*4+20, 5)*5); + kick += sin(vcf(&s->tkick[2], kick, khz*8-20, 5)*5) + * sin(vcf(&s->tkick[3], kick, khz*8+20, 5)*5); tilex[0] = fb1; tilex[1] = fb2; compress(tilex, &s->tcompress1, 5, 10, 25, 48, tilex);
diff @ 2018-05-12 21:43:33 +0100 diff --git a/src/go.c b/src/go.c index 2d554dd4..54d0c0c4 100644 --- a/src/go.c +++ b/src/go.c @@ -206,7 +206,7 @@ go(S *s, int channels, const float *in, float *out) hat *= hat; s->tcomb1.length = SR; s->tcomb2.length = SR; - double khz = freq;//50 + 10 * (wrap(8 * p) > 1) + 25 * (wrap(2 * p) > 1); + double khz = 50 + 10 * (wrap(8 * p) > 1) + 25 * (wrap(2 * p) > 1); double hz1 = 2 * khz * floor(pow(4, wrap(4 * p + 0.0))); double hz2 = 2 * khz * floor(pow(4, wrap(4 * p + 0.5))); double sfb1 = delread4(&s->tcomb1, 1000 / hz1 + 1); @@ -219,8 +219,8 @@ go(S *s, int channels, const float *in, float *out) delwrite(&s->tcomb2, sin(hat * noise() - fb * fb2)); kick +=tanh(vcf(&s->tkick[0], kick, khz, 25)*25)*2; kick += sin(vcf(&s->tkick[1], kick, khz * 3, 50)*45); - kick += sin(vcf(&s->tkick[2], kick, khz*8-20, 5)*5) - * sin(vcf(&s->tkick[3], kick, khz*8+20, 5)*5); + kick += sin(vcf(&s->tkick[2], kick, khz*8-20, 150)*50) + * sin(vcf(&s->tkick[3], kick, khz*8+20, 150)*50); tilex[0] = fb1; tilex[1] = fb2; compress(tilex, &s->tcompress1, 5, 10, 25, 48, tilex);
diff @ 2018-05-12 21:43:42 +0100 diff --git a/src/go.c b/src/go.c index 54d0c0c4..e4cadcfe 100644 --- a/src/go.c +++ b/src/go.c @@ -219,8 +219,8 @@ go(S *s, int channels, const float *in, float *out) delwrite(&s->tcomb2, sin(hat * noise() - fb * fb2)); kick +=tanh(vcf(&s->tkick[0], kick, khz, 25)*25)*2; kick += sin(vcf(&s->tkick[1], kick, khz * 3, 50)*45); - kick += sin(vcf(&s->tkick[2], kick, khz*8-20, 150)*50) - * sin(vcf(&s->tkick[3], kick, khz*8+20, 150)*50); + kick += sin(sin(vcf(&s->tkick[2], kick, khz*8-20, 150)*50) + * sin(vcf(&s->tkick[3], kick, khz*8+20, 150)*50)); tilex[0] = fb1; tilex[1] = fb2; compress(tilex, &s->tcompress1, 5, 10, 25, 48, tilex);
diff @ 2018-05-12 21:43:47 +0100 diff --git a/src/go.c b/src/go.c index e4cadcfe..60df6524 100644 --- a/src/go.c +++ b/src/go.c @@ -219,7 +219,7 @@ go(S *s, int channels, const float *in, float *out) delwrite(&s->tcomb2, sin(hat * noise() - fb * fb2)); kick +=tanh(vcf(&s->tkick[0], kick, khz, 25)*25)*2; kick += sin(vcf(&s->tkick[1], kick, khz * 3, 50)*45); - kick += sin(sin(vcf(&s->tkick[2], kick, khz*8-20, 150)*50) + kick += sin(twopi * sin(vcf(&s->tkick[2], kick, khz*8-20, 150)*50) * sin(vcf(&s->tkick[3], kick, khz*8+20, 150)*50)); tilex[0] = fb1; tilex[1] = fb2;
diff @ 2018-05-12 21:43:52 +0100 diff --git a/src/go.c b/src/go.c index 60df6524..36a19cfd 100644 --- a/src/go.c +++ b/src/go.c @@ -219,7 +219,7 @@ go(S *s, int channels, const float *in, float *out) delwrite(&s->tcomb2, sin(hat * noise() - fb * fb2)); kick +=tanh(vcf(&s->tkick[0], kick, khz, 25)*25)*2; kick += sin(vcf(&s->tkick[1], kick, khz * 3, 50)*45); - kick += sin(twopi * sin(vcf(&s->tkick[2], kick, khz*8-20, 150)*50) + kick += sin(4 * sin(vcf(&s->tkick[2], kick, khz*8-20, 150)*50) * sin(vcf(&s->tkick[3], kick, khz*8+20, 150)*50)); tilex[0] = fb1; tilex[1] = fb2;
diff @ 2018-05-12 21:44:00 +0100 diff --git a/src/go.c b/src/go.c index 36a19cfd..eb454ceb 100644 --- a/src/go.c +++ b/src/go.c @@ -219,8 +219,8 @@ go(S *s, int channels, const float *in, float *out) delwrite(&s->tcomb2, sin(hat * noise() - fb * fb2)); kick +=tanh(vcf(&s->tkick[0], kick, khz, 25)*25)*2; kick += sin(vcf(&s->tkick[1], kick, khz * 3, 50)*45); - kick += sin(4 * sin(vcf(&s->tkick[2], kick, khz*8-20, 150)*50) - * sin(vcf(&s->tkick[3], kick, khz*8+20, 150)*50)); + kick += sin(4 * sin(vcf(&s->tkick[2], kick, khz*8-2, 150)*50) + * sin(vcf(&s->tkick[3], kick, khz*8+2, 150)*50)); tilex[0] = fb1; tilex[1] = fb2; compress(tilex, &s->tcompress1, 5, 10, 25, 48, tilex);
diff @ 2018-05-12 21:44:06 +0100 diff --git a/src/go.c b/src/go.c index eb454ceb..36a921ab 100644 --- a/src/go.c +++ b/src/go.c @@ -206,7 +206,7 @@ go(S *s, int channels, const float *in, float *out) hat *= hat; s->tcomb1.length = SR; s->tcomb2.length = SR; - double khz = 50 + 10 * (wrap(8 * p) > 1) + 25 * (wrap(2 * p) > 1); + double khz = 50 + 10 * (wrap(8 * p) > 0.5) + 25 * (wrap(2 * p) > 1); double hz1 = 2 * khz * floor(pow(4, wrap(4 * p + 0.0))); double hz2 = 2 * khz * floor(pow(4, wrap(4 * p + 0.5))); double sfb1 = delread4(&s->tcomb1, 1000 / hz1 + 1);
diff @ 2018-05-12 21:44:19 +0100 diff --git a/src/go.c b/src/go.c index 36a921ab..a0a8e67d 100644 --- a/src/go.c +++ b/src/go.c @@ -206,7 +206,7 @@ go(S *s, int channels, const float *in, float *out) hat *= hat; s->tcomb1.length = SR; s->tcomb2.length = SR; - double khz = 50 + 10 * (wrap(8 * p) > 0.5) + 25 * (wrap(2 * p) > 1); + double khz = 50 + 10 * (wrap(8 * p) > 0.5) + 25 * (wrap(2 * p) > 0.75); double hz1 = 2 * khz * floor(pow(4, wrap(4 * p + 0.0))); double hz2 = 2 * khz * floor(pow(4, wrap(4 * p + 0.5))); double sfb1 = delread4(&s->tcomb1, 1000 / hz1 + 1);
diff @ 2018-05-12 21:44:26 +0100 diff --git a/src/go.c b/src/go.c index a0a8e67d..b28f0962 100644 --- a/src/go.c +++ b/src/go.c @@ -206,7 +206,7 @@ go(S *s, int channels, const float *in, float *out) hat *= hat; s->tcomb1.length = SR; s->tcomb2.length = SR; - double khz = 50 + 10 * (wrap(8 * p) > 0.5) + 25 * (wrap(2 * p) > 0.75); + double khz = 50 + 10 * (wrap(8 * p) > 0.5) + 25 * (wrap(p) > 0.875); double hz1 = 2 * khz * floor(pow(4, wrap(4 * p + 0.0))); double hz2 = 2 * khz * floor(pow(4, wrap(4 * p + 0.5))); double sfb1 = delread4(&s->tcomb1, 1000 / hz1 + 1);
diff @ 2018-05-12 21:44:39 +0100 diff --git a/src/go.c b/src/go.c index b28f0962..ab4a6dff 100644 --- a/src/go.c +++ b/src/go.c @@ -213,7 +213,7 @@ go(S *s, int channels, const float *in, float *out) double sfb2 = delread4(&s->tcomb2, 1000 / hz2 - 1); double fb1 = mix(sfb1, -sfb2, 0.01); double fb2 = mix(sfb2, sfb1, 0.01); - double fb = 0.97; + double fb = 0.997; fb = samphold(&s->tgate[2], fb, wrap(4 * p)); delwrite(&s->tcomb1, sin(hat * noise() - fb * fb1)); delwrite(&s->tcomb2, sin(hat * noise() - fb * fb2));
diff @ 2018-05-12 21:44:57 +0100 diff --git a/src/go.c b/src/go.c index ab4a6dff..0740caca 100644 --- a/src/go.c +++ b/src/go.c @@ -146,6 +146,8 @@ typedef struct SAMPHOLD msh[4]; HIP mhip[4]; + BIQUAD khip; + } S; // =====================================================================
diff @ 2018-05-12 21:45:34 +0100 diff --git a/src/go.c b/src/go.c index 0740caca..58d77843 100644 --- a/src/go.c +++ b/src/go.c @@ -223,6 +223,7 @@ go(S *s, int channels, const float *in, float *out) kick += sin(vcf(&s->tkick[1], kick, khz * 3, 50)*45); kick += sin(4 * sin(vcf(&s->tkick[2], kick, khz*8-2, 150)*50) * sin(vcf(&s->tkick[3], kick, khz*8+2, 150)*50)); + kick = biquad(highpass(&s->khip, 100, flatq, kick)); tilex[0] = fb1; tilex[1] = fb2; compress(tilex, &s->tcompress1, 5, 10, 25, 48, tilex);
diff @ 2018-05-12 21:45:41 +0100 diff --git a/src/go.c b/src/go.c index 58d77843..189077d4 100644 --- a/src/go.c +++ b/src/go.c @@ -223,7 +223,7 @@ go(S *s, int channels, const float *in, float *out) kick += sin(vcf(&s->tkick[1], kick, khz * 3, 50)*45); kick += sin(4 * sin(vcf(&s->tkick[2], kick, khz*8-2, 150)*50) * sin(vcf(&s->tkick[3], kick, khz*8+2, 150)*50)); - kick = biquad(highpass(&s->khip, 100, flatq, kick)); + kick = biquad(highpass(&s->khip, 100, flatq), kick); tilex[0] = fb1; tilex[1] = fb2; compress(tilex, &s->tcompress1, 5, 10, 25, 48, tilex);
diff @ 2018-05-12 21:45:48 +0100 diff --git a/src/go.c b/src/go.c index 189077d4..3715fa76 100644 --- a/src/go.c +++ b/src/go.c @@ -223,7 +223,7 @@ go(S *s, int channels, const float *in, float *out) kick += sin(vcf(&s->tkick[1], kick, khz * 3, 50)*45); kick += sin(4 * sin(vcf(&s->tkick[2], kick, khz*8-2, 150)*50) * sin(vcf(&s->tkick[3], kick, khz*8+2, 150)*50)); - kick = biquad(highpass(&s->khip, 100, flatq), kick); + kick = biquad(highpass(&s->khip, 200, 10), kick); tilex[0] = fb1; tilex[1] = fb2; compress(tilex, &s->tcompress1, 5, 10, 25, 48, tilex);
diff @ 2018-05-12 21:46:32 +0100 diff --git a/src/go.c b/src/go.c index 3715fa76..0128b87e 100644 --- a/src/go.c +++ b/src/go.c @@ -148,6 +148,8 @@ typedef struct BIQUAD khip; + LOP1 klop; + } S; // ===================================================================== @@ -223,7 +225,7 @@ go(S *s, int channels, const float *in, float *out) kick += sin(vcf(&s->tkick[1], kick, khz * 3, 50)*45); kick += sin(4 * sin(vcf(&s->tkick[2], kick, khz*8-2, 150)*50) * sin(vcf(&s->tkick[3], kick, khz*8+2, 150)*50)); - kick = biquad(highpass(&s->khip, 200, 10), kick); + kick = biquad(highpass(&s->khip, 200 - 150 * lop1(&s->klop, 0, 0.01), 10), kick); tilex[0] = fb1; tilex[1] = fb2; compress(tilex, &s->tcompress1, 5, 10, 25, 48, tilex);
diff @ 2018-05-12 21:46:37 +0100 diff --git a/src/go.c b/src/go.c index 0128b87e..3a4e1344 100644 --- a/src/go.c +++ b/src/go.c @@ -225,7 +225,7 @@ go(S *s, int channels, const float *in, float *out) kick += sin(vcf(&s->tkick[1], kick, khz * 3, 50)*45); kick += sin(4 * sin(vcf(&s->tkick[2], kick, khz*8-2, 150)*50) * sin(vcf(&s->tkick[3], kick, khz*8+2, 150)*50)); - kick = biquad(highpass(&s->khip, 200 - 150 * lop1(&s->klop, 0, 0.01), 10), kick); + kick = biquad(highpass(&s->khip, 200 - 150 * lop1(&s->klop, 1, 0.01), 10), kick); tilex[0] = fb1; tilex[1] = fb2; compress(tilex, &s->tcompress1, 5, 10, 25, 48, tilex);
diff @ 2018-05-12 21:46:51 +0100 diff --git a/src/go.c b/src/go.c index 3a4e1344..ff3a599e 100644 --- a/src/go.c +++ b/src/go.c @@ -257,8 +257,8 @@ go(S *s, int channels, const float *in, float *out) double na = env * pink(&s->pink[0]); double nb = env * pink(&s->pink[1]); double q = 1250; - na *= 10; - nb *= 10; + na *= 1; + nb *= 1; na = vcf(&s->pvcf[0], na * q, freq, q); nb = vcf(&s->pvcf[1], nb * q, freq, q); na = sin(na);
diff @ 2018-05-12 21:47:06 +0100 diff --git a/src/go.c b/src/go.c index ff3a599e..f3f35b0b 100644 --- a/src/go.c +++ b/src/go.c @@ -172,7 +172,7 @@ go(S *s, int channels, const float *in, float *out) int N = 16; int n = (time / 5) & ((1 << N) - 1); double zeroes = clamp(count_trailing_zeroes(n), 0, N); - double probability = pow(0.55, N - zeroes); + double probability = pow(0.3, N - zeroes); probability = (4.5 + 5 * (n >= 0xC001)) * probability - 0.5; probability = clamp(probability, 0, 1); double uniform = rand() / (double) RAND_MAX;
diff @ 2018-05-12 21:47:18 +0100 diff --git a/src/go.c b/src/go.c index f3f35b0b..b67d5134 100644 --- a/src/go.c +++ b/src/go.c @@ -223,9 +223,9 @@ go(S *s, int channels, const float *in, float *out) delwrite(&s->tcomb2, sin(hat * noise() - fb * fb2)); kick +=tanh(vcf(&s->tkick[0], kick, khz, 25)*25)*2; kick += sin(vcf(&s->tkick[1], kick, khz * 3, 50)*45); + kick = biquad(highpass(&s->khip, 200 - 150 * lop1(&s->klop, 1, 0.01), 10), kick); kick += sin(4 * sin(vcf(&s->tkick[2], kick, khz*8-2, 150)*50) * sin(vcf(&s->tkick[3], kick, khz*8+2, 150)*50)); - kick = biquad(highpass(&s->khip, 200 - 150 * lop1(&s->klop, 1, 0.01), 10), kick); tilex[0] = fb1; tilex[1] = fb2; compress(tilex, &s->tcompress1, 5, 10, 25, 48, tilex);
diff @ 2018-05-12 21:47:25 +0100 diff --git a/src/go.c b/src/go.c index b67d5134..017b3b9b 100644 --- a/src/go.c +++ b/src/go.c @@ -222,8 +222,8 @@ go(S *s, int channels, const float *in, float *out) delwrite(&s->tcomb1, sin(hat * noise() - fb * fb1)); delwrite(&s->tcomb2, sin(hat * noise() - fb * fb2)); kick +=tanh(vcf(&s->tkick[0], kick, khz, 25)*25)*2; - kick += sin(vcf(&s->tkick[1], kick, khz * 3, 50)*45); kick = biquad(highpass(&s->khip, 200 - 150 * lop1(&s->klop, 1, 0.01), 10), kick); + kick += sin(vcf(&s->tkick[1], kick, khz * 3, 50)*45); kick += sin(4 * sin(vcf(&s->tkick[2], kick, khz*8-2, 150)*50) * sin(vcf(&s->tkick[3], kick, khz*8+2, 150)*50)); tilex[0] = fb1;
diff @ 2018-05-12 21:47:32 +0100 diff --git a/src/go.c b/src/go.c index 017b3b9b..8536a6ae 100644 --- a/src/go.c +++ b/src/go.c @@ -223,7 +223,7 @@ go(S *s, int channels, const float *in, float *out) delwrite(&s->tcomb2, sin(hat * noise() - fb * fb2)); kick +=tanh(vcf(&s->tkick[0], kick, khz, 25)*25)*2; kick = biquad(highpass(&s->khip, 200 - 150 * lop1(&s->klop, 1, 0.01), 10), kick); - kick += sin(vcf(&s->tkick[1], kick, khz * 3, 50)*45); + kick += tanh(vcf(&s->tkick[1], kick, khz * 3, 50)*45); kick += sin(4 * sin(vcf(&s->tkick[2], kick, khz*8-2, 150)*50) * sin(vcf(&s->tkick[3], kick, khz*8+2, 150)*50)); tilex[0] = fb1;
diff @ 2018-05-12 21:47:39 +0100 diff --git a/src/go.c b/src/go.c index 8536a6ae..b26831be 100644 --- a/src/go.c +++ b/src/go.c @@ -222,7 +222,7 @@ go(S *s, int channels, const float *in, float *out) delwrite(&s->tcomb1, sin(hat * noise() - fb * fb1)); delwrite(&s->tcomb2, sin(hat * noise() - fb * fb2)); kick +=tanh(vcf(&s->tkick[0], kick, khz, 25)*25)*2; - kick = biquad(highpass(&s->khip, 200 - 150 * lop1(&s->klop, 1, 0.01), 10), kick); + kick = biquad(highpass(&s->khip, 200 - 100 * lop1(&s->klop, 1, 0.01), 10), kick); kick += tanh(vcf(&s->tkick[1], kick, khz * 3, 50)*45); kick += sin(4 * sin(vcf(&s->tkick[2], kick, khz*8-2, 150)*50) * sin(vcf(&s->tkick[3], kick, khz*8+2, 150)*50));
diff @ 2018-05-12 21:47:44 +0100 diff --git a/src/go.c b/src/go.c index b26831be..8536a6ae 100644 --- a/src/go.c +++ b/src/go.c @@ -222,7 +222,7 @@ go(S *s, int channels, const float *in, float *out) delwrite(&s->tcomb1, sin(hat * noise() - fb * fb1)); delwrite(&s->tcomb2, sin(hat * noise() - fb * fb2)); kick +=tanh(vcf(&s->tkick[0], kick, khz, 25)*25)*2; - kick = biquad(highpass(&s->khip, 200 - 100 * lop1(&s->klop, 1, 0.01), 10), kick); + kick = biquad(highpass(&s->khip, 200 - 150 * lop1(&s->klop, 1, 0.01), 10), kick); kick += tanh(vcf(&s->tkick[1], kick, khz * 3, 50)*45); kick += sin(4 * sin(vcf(&s->tkick[2], kick, khz*8-2, 150)*50) * sin(vcf(&s->tkick[3], kick, khz*8+2, 150)*50));
diff @ 2018-05-12 21:47:47 +0100 diff --git a/src/go.c b/src/go.c index 8536a6ae..32422fc0 100644 --- a/src/go.c +++ b/src/go.c @@ -222,7 +222,7 @@ go(S *s, int channels, const float *in, float *out) delwrite(&s->tcomb1, sin(hat * noise() - fb * fb1)); delwrite(&s->tcomb2, sin(hat * noise() - fb * fb2)); kick +=tanh(vcf(&s->tkick[0], kick, khz, 25)*25)*2; - kick = biquad(highpass(&s->khip, 200 - 150 * lop1(&s->klop, 1, 0.01), 10), kick); + kick = biquad(highpass(&s->khip, 200 - 150 * lop1(&s->klop, 0.9, 0.01), 10), kick); kick += tanh(vcf(&s->tkick[1], kick, khz * 3, 50)*45); kick += sin(4 * sin(vcf(&s->tkick[2], kick, khz*8-2, 150)*50) * sin(vcf(&s->tkick[3], kick, khz*8+2, 150)*50));
diff @ 2018-05-12 21:48:03 +0100 diff --git a/src/go.c b/src/go.c index 32422fc0..074dc741 100644 --- a/src/go.c +++ b/src/go.c @@ -232,7 +232,7 @@ go(S *s, int channels, const float *in, float *out) double hgain = 1; tilex[0] *= hgain; tilex[1] *= hgain; - double kgain = 1; + double kgain = 0; kgain = samphold(&s->tgate[0], kgain, p); tilex[0] += kgain * kick; tilex[1] += kgain * kick;
diff @ 2018-05-12 21:48:17 +0100 diff --git a/src/go.c b/src/go.c index 074dc741..83ff86cb 100644 --- a/src/go.c +++ b/src/go.c @@ -290,7 +290,7 @@ go(S *s, int channels, const float *in, float *out) } s->edelay1.length = 4 * SR; s->edelay2.length = 4 * SR; - double hz = 0 * bpm / 60; + double hz = 0.125 * bpm / 60; double p = phasor(&s->ephase, hz); double t = twopi * p; double co = cos(t);
diff @ 2018-05-12 21:48:25 +0100 diff --git a/src/go.c b/src/go.c index 83ff86cb..2b4738d1 100644 --- a/src/go.c +++ b/src/go.c @@ -286,7 +286,7 @@ go(S *s, int channels, const float *in, float *out) { if (phase_reset) { - s->ephase.phase = 0; + //s->ephase.phase = 0; } s->edelay1.length = 4 * SR; s->edelay2.length = 4 * SR;
diff @ 2018-05-12 21:48:40 +0100 diff --git a/src/go.c b/src/go.c index 2b4738d1..b04d705c 100644 --- a/src/go.c +++ b/src/go.c @@ -303,8 +303,8 @@ go(S *s, int channels, const float *in, float *out) double er = delread4(&s->edelay2, rdelms + si); double es[2] = { co * el + si * er, -si * el + co * er }; compress(es, &s->ecompress1, 5, 10, 25, 48, es); - es[0] = mix(mixdown[0], es[0], mix(0, pow(wrap(8 * p), 0.25), 0)); - es[1] = mix(mixdown[1], es[1], mix(0, pow(wrap(8 * p), 0.25), 0)); + es[0] = mix(mixdown[0], es[0], mix(0.1, pow(wrap(8 * p), 0.25), 0)); + es[1] = mix(mixdown[1], es[1], mix(0.1, pow(wrap(8 * p), 0.25), 0)); compress(es, &s->ecompress2, 5, 10, 25, 48, es); delwrite(&s->edelay1, es[0]); delwrite(&s->edelay2, es[1]);
diff @ 2018-05-12 21:48:45 +0100 diff --git a/src/go.c b/src/go.c index b04d705c..a5eafae5 100644 --- a/src/go.c +++ b/src/go.c @@ -303,8 +303,8 @@ go(S *s, int channels, const float *in, float *out) double er = delread4(&s->edelay2, rdelms + si); double es[2] = { co * el + si * er, -si * el + co * er }; compress(es, &s->ecompress1, 5, 10, 25, 48, es); - es[0] = mix(mixdown[0], es[0], mix(0.1, pow(wrap(8 * p), 0.25), 0)); - es[1] = mix(mixdown[1], es[1], mix(0.1, pow(wrap(8 * p), 0.25), 0)); + es[0] = mix(mixdown[0], es[0], mix(0.25, pow(wrap(8 * p), 0.25), 0)); + es[1] = mix(mixdown[1], es[1], mix(0.25, pow(wrap(8 * p), 0.25), 0)); compress(es, &s->ecompress2, 5, 10, 25, 48, es); delwrite(&s->edelay1, es[0]); delwrite(&s->edelay2, es[1]);
diff @ 2018-05-12 21:49:12 +0100 diff --git a/src/go.c b/src/go.c index a5eafae5..099fdebf 100644 --- a/src/go.c +++ b/src/go.c @@ -172,7 +172,7 @@ go(S *s, int channels, const float *in, float *out) int N = 16; int n = (time / 5) & ((1 << N) - 1); double zeroes = clamp(count_trailing_zeroes(n), 0, N); - double probability = pow(0.3, N - zeroes); + double probability = pow(0.6, N - zeroes); probability = (4.5 + 5 * (n >= 0xC001)) * probability - 0.5; probability = clamp(probability, 0, 1); double uniform = rand() / (double) RAND_MAX;
diff @ 2018-05-12 21:49:27 +0100 diff --git a/src/go.c b/src/go.c index 099fdebf..a58d03df 100644 --- a/src/go.c +++ b/src/go.c @@ -303,8 +303,8 @@ go(S *s, int channels, const float *in, float *out) double er = delread4(&s->edelay2, rdelms + si); double es[2] = { co * el + si * er, -si * el + co * er }; compress(es, &s->ecompress1, 5, 10, 25, 48, es); - es[0] = mix(mixdown[0], es[0], mix(0.25, pow(wrap(8 * p), 0.25), 0)); - es[1] = mix(mixdown[1], es[1], mix(0.25, pow(wrap(8 * p), 0.25), 0)); + es[0] = mix(mixdown[0], es[0], mix(0.5, pow(wrap(8 * p), 0.25), 0)); + es[1] = mix(mixdown[1], es[1], mix(0.5, pow(wrap(8 * p), 0.25), 0)); compress(es, &s->ecompress2, 5, 10, 25, 48, es); delwrite(&s->edelay1, es[0]); delwrite(&s->edelay2, es[1]);
diff @ 2018-05-12 21:49:35 +0100 diff --git a/src/go.c b/src/go.c index a58d03df..e2ce1e43 100644 --- a/src/go.c +++ b/src/go.c @@ -295,7 +295,7 @@ go(S *s, int channels, const float *in, float *out) double t = twopi * p; double co = cos(t); double si = sin(t); - double ldelms = 60000 / bpm * (p < 0.75 ? 1 : 2); + double ldelms = 60000 / bpm * (p < 0.75 ? 1 : 1./16); double rdelms = ldelms; ldelms = lop(&s->elop[0], ldelms, 5); rdelms = lop(&s->elop[1], rdelms, 5);
diff @ 2018-05-12 21:49:45 +0100 diff --git a/src/go.c b/src/go.c index e2ce1e43..4eee1d96 100644 --- a/src/go.c +++ b/src/go.c @@ -303,8 +303,8 @@ go(S *s, int channels, const float *in, float *out) double er = delread4(&s->edelay2, rdelms + si); double es[2] = { co * el + si * er, -si * el + co * er }; compress(es, &s->ecompress1, 5, 10, 25, 48, es); - es[0] = mix(mixdown[0], es[0], mix(0.5, pow(wrap(8 * p), 0.25), 0)); - es[1] = mix(mixdown[1], es[1], mix(0.5, pow(wrap(8 * p), 0.25), 0)); + es[0] = mix(mixdown[0], es[0], mix(0.75, pow(wrap(8 * p), 0.25), 0)); + es[1] = mix(mixdown[1], es[1], mix(0.75, pow(wrap(8 * p), 0.25), 0)); compress(es, &s->ecompress2, 5, 10, 25, 48, es); delwrite(&s->edelay1, es[0]); delwrite(&s->edelay2, es[1]);
diff @ 2018-05-12 21:50:02 +0100 diff --git a/src/go.c b/src/go.c index 4eee1d96..ad8f1e48 100644 --- a/src/go.c +++ b/src/go.c @@ -303,8 +303,8 @@ go(S *s, int channels, const float *in, float *out) double er = delread4(&s->edelay2, rdelms + si); double es[2] = { co * el + si * er, -si * el + co * er }; compress(es, &s->ecompress1, 5, 10, 25, 48, es); - es[0] = mix(mixdown[0], es[0], mix(0.75, pow(wrap(8 * p), 0.25), 0)); - es[1] = mix(mixdown[1], es[1], mix(0.75, pow(wrap(8 * p), 0.25), 0)); + es[0] = mix(mixdown[0], es[0], mix(1, pow(wrap(8 * p), 0.25), 0)); + es[1] = mix(mixdown[1], es[1], mix(1, pow(wrap(8 * p), 0.25), 0)); compress(es, &s->ecompress2, 5, 10, 25, 48, es); delwrite(&s->edelay1, es[0]); delwrite(&s->edelay2, es[1]);
diff @ 2018-05-12 21:50:53 +0100 diff --git a/src/go.c b/src/go.c index ad8f1e48..464790ae 100644 --- a/src/go.c +++ b/src/go.c @@ -150,6 +150,9 @@ typedef struct LOP1 klop; + HIP1 dhip[2][2]; + LOP1 dlop[2][2]; + } S; // ===================================================================== @@ -301,6 +304,8 @@ go(S *s, int channels, const float *in, float *out) rdelms = lop(&s->elop[1], rdelms, 5); double el = delread4(&s->edelay1, ldelms + co); double er = delread4(&s->edelay2, rdelms + si); + el = hip1(&s->dhip1[0][0], el, 10); + er = hip1(&s->dhip1[0][1], er, 10); double es[2] = { co * el + si * er, -si * el + co * er }; compress(es, &s->ecompress1, 5, 10, 25, 48, es); es[0] = mix(mixdown[0], es[0], mix(1, pow(wrap(8 * p), 0.25), 0));
diff @ 2018-05-12 21:50:56 +0100 diff --git a/src/go.c b/src/go.c index 464790ae..884e8966 100644 --- a/src/go.c +++ b/src/go.c @@ -304,8 +304,8 @@ go(S *s, int channels, const float *in, float *out) rdelms = lop(&s->elop[1], rdelms, 5); double el = delread4(&s->edelay1, ldelms + co); double er = delread4(&s->edelay2, rdelms + si); - el = hip1(&s->dhip1[0][0], el, 10); - er = hip1(&s->dhip1[0][1], er, 10); + el = hip1(&s->dhip[0][0], el, 10); + er = hip1(&s->dhip[0][1], er, 10); double es[2] = { co * el + si * er, -si * el + co * er }; compress(es, &s->ecompress1, 5, 10, 25, 48, es); es[0] = mix(mixdown[0], es[0], mix(1, pow(wrap(8 * p), 0.25), 0));
diff @ 2018-05-12 21:51:16 +0100 diff --git a/src/go.c b/src/go.c index 884e8966..6cb37d93 100644 --- a/src/go.c +++ b/src/go.c @@ -306,6 +306,8 @@ go(S *s, int channels, const float *in, float *out) double er = delread4(&s->edelay2, rdelms + si); el = hip1(&s->dhip[0][0], el, 10); er = hip1(&s->dhip[0][1], er, 10); + el = lop1(&s->dlop[0][0], el, 1000); + er = lop1(&s->dlop[0][1], er, 1000); double es[2] = { co * el + si * er, -si * el + co * er }; compress(es, &s->ecompress1, 5, 10, 25, 48, es); es[0] = mix(mixdown[0], es[0], mix(1, pow(wrap(8 * p), 0.25), 0));
diff @ 2018-05-12 21:51:29 +0100 diff --git a/src/go.c b/src/go.c index 6cb37d93..40f96819 100644 --- a/src/go.c +++ b/src/go.c @@ -299,7 +299,7 @@ go(S *s, int channels, const float *in, float *out) double co = cos(t); double si = sin(t); double ldelms = 60000 / bpm * (p < 0.75 ? 1 : 1./16); - double rdelms = ldelms; + double rdelms = 60000 / bpm * (p < 0.75 ? 1 : 1./16); ldelms = lop(&s->elop[0], ldelms, 5); rdelms = lop(&s->elop[1], rdelms, 5); double el = delread4(&s->edelay1, ldelms + co);
diff @ 2018-05-12 21:51:34 +0100 diff --git a/src/go.c b/src/go.c index 40f96819..912fb518 100644 --- a/src/go.c +++ b/src/go.c @@ -299,7 +299,7 @@ go(S *s, int channels, const float *in, float *out) double co = cos(t); double si = sin(t); double ldelms = 60000 / bpm * (p < 0.75 ? 1 : 1./16); - double rdelms = 60000 / bpm * (p < 0.75 ? 1 : 1./16); + double rdelms = 60000 / bpm * (p < 0.5 ? 1 : 1./32); ldelms = lop(&s->elop[0], ldelms, 5); rdelms = lop(&s->elop[1], rdelms, 5); double el = delread4(&s->edelay1, ldelms + co);
diff @ 2018-05-12 21:51:41 +0100 diff --git a/src/go.c b/src/go.c index 912fb518..e8289358 100644 --- a/src/go.c +++ b/src/go.c @@ -300,8 +300,8 @@ go(S *s, int channels, const float *in, float *out) double si = sin(t); double ldelms = 60000 / bpm * (p < 0.75 ? 1 : 1./16); double rdelms = 60000 / bpm * (p < 0.5 ? 1 : 1./32); - ldelms = lop(&s->elop[0], ldelms, 5); - rdelms = lop(&s->elop[1], rdelms, 5); + ldelms = lop(&s->elop[0], ldelms, 15); + rdelms = lop(&s->elop[1], rdelms, 15); double el = delread4(&s->edelay1, ldelms + co); double er = delread4(&s->edelay2, rdelms + si); el = hip1(&s->dhip[0][0], el, 10);
diff @ 2018-05-12 21:51:57 +0100 diff --git a/src/go.c b/src/go.c index e8289358..6f46dd54 100644 --- a/src/go.c +++ b/src/go.c @@ -304,6 +304,8 @@ go(S *s, int channels, const float *in, float *out) rdelms = lop(&s->elop[1], rdelms, 15); double el = delread4(&s->edelay1, ldelms + co); double er = delread4(&s->edelay2, rdelms + si); + el = sin(el); + er = sin(er); el = hip1(&s->dhip[0][0], el, 10); er = hip1(&s->dhip[0][1], er, 10); el = lop1(&s->dlop[0][0], el, 1000);
diff @ 2018-05-12 21:52:04 +0100 diff --git a/src/go.c b/src/go.c index 6f46dd54..2e5672cd 100644 --- a/src/go.c +++ b/src/go.c @@ -304,8 +304,8 @@ go(S *s, int channels, const float *in, float *out) rdelms = lop(&s->elop[1], rdelms, 15); double el = delread4(&s->edelay1, ldelms + co); double er = delread4(&s->edelay2, rdelms + si); - el = sin(el); - er = sin(er); + el = sin(2 * el); + er = sin(2 * er); el = hip1(&s->dhip[0][0], el, 10); er = hip1(&s->dhip[0][1], er, 10); el = lop1(&s->dlop[0][0], el, 1000);
diff @ 2018-05-12 21:52:11 +0100 diff --git a/src/go.c b/src/go.c index 2e5672cd..589cd339 100644 --- a/src/go.c +++ b/src/go.c @@ -304,8 +304,8 @@ go(S *s, int channels, const float *in, float *out) rdelms = lop(&s->elop[1], rdelms, 15); double el = delread4(&s->edelay1, ldelms + co); double er = delread4(&s->edelay2, rdelms + si); - el = sin(2 * el); - er = sin(2 * er); + el = sin(4 * el); + er = sin(4 * er); el = hip1(&s->dhip[0][0], el, 10); er = hip1(&s->dhip[0][1], er, 10); el = lop1(&s->dlop[0][0], el, 1000);
diff @ 2018-05-12 21:52:28 +0100 diff --git a/src/go.c b/src/go.c index 589cd339..b93fbcfa 100644 --- a/src/go.c +++ b/src/go.c @@ -299,7 +299,7 @@ go(S *s, int channels, const float *in, float *out) double co = cos(t); double si = sin(t); double ldelms = 60000 / bpm * (p < 0.75 ? 1 : 1./16); - double rdelms = 60000 / bpm * (p < 0.5 ? 1 : 1./32); + double rdelms = 60000 / bpm * (p < 0.5 ? 1./(1 << 2) : 1./32); ldelms = lop(&s->elop[0], ldelms, 15); rdelms = lop(&s->elop[1], rdelms, 15); double el = delread4(&s->edelay1, ldelms + co);
diff @ 2018-05-12 21:53:14 +0100 diff --git a/src/go.c b/src/go.c index b93fbcfa..25434c6e 100644 --- a/src/go.c +++ b/src/go.c @@ -152,6 +152,7 @@ typedef struct HIP1 dhip[2][2]; LOP1 dlop[2][2]; + SAMPHOLD dish[2][2]; } S; @@ -299,7 +300,7 @@ go(S *s, int channels, const float *in, float *out) double co = cos(t); double si = sin(t); double ldelms = 60000 / bpm * (p < 0.75 ? 1 : 1./16); - double rdelms = 60000 / bpm * (p < 0.5 ? 1./(1 << 2) : 1./32); + double rdelms = 60000 / bpm * (p < 0.5 ? 1./(1 << samphold(&s->dish[1][0], rand() & 7, p)) : 1./32); ldelms = lop(&s->elop[0], ldelms, 15); rdelms = lop(&s->elop[1], rdelms, 15); double el = delread4(&s->edelay1, ldelms + co);
diff @ 2018-05-12 21:53:18 +0100 diff --git a/src/go.c b/src/go.c index 25434c6e..446b37a5 100644 --- a/src/go.c +++ b/src/go.c @@ -300,7 +300,7 @@ go(S *s, int channels, const float *in, float *out) double co = cos(t); double si = sin(t); double ldelms = 60000 / bpm * (p < 0.75 ? 1 : 1./16); - double rdelms = 60000 / bpm * (p < 0.5 ? 1./(1 << samphold(&s->dish[1][0], rand() & 7, p)) : 1./32); + double rdelms = 60000 / bpm * (p < 0.5 ? 1./(1 << (int)samphold(&s->dish[1][0], rand() & 7, p)) : 1./32); ldelms = lop(&s->elop[0], ldelms, 15); rdelms = lop(&s->elop[1], rdelms, 15); double el = delread4(&s->edelay1, ldelms + co);
diff @ 2018-05-12 21:53:40 +0100 diff --git a/src/go.c b/src/go.c index 446b37a5..0f78ff9e 100644 --- a/src/go.c +++ b/src/go.c @@ -299,8 +299,10 @@ go(S *s, int channels, const float *in, float *out) double t = twopi * p; double co = cos(t); double si = sin(t); - double ldelms = 60000 / bpm * (p < 0.75 ? 1 : 1./16); - double rdelms = 60000 / bpm * (p < 0.5 ? 1./(1 << (int)samphold(&s->dish[1][0], rand() & 7, p)) : 1./32); + double ldelms = 60000 / bpm * + (p < 0.75 ? 1./(1 << (int)samphold(&s->dish[0][0], rand() & 7, p)) : 1./32); + double rdelms = 60000 / bpm * + (p < 0.5 ? 1./(1 << (int)samphold(&s->dish[1][0], rand() & 7, p)) : 1./32); ldelms = lop(&s->elop[0], ldelms, 15); rdelms = lop(&s->elop[1], rdelms, 15); double el = delread4(&s->edelay1, ldelms + co);
diff @ 2018-05-12 21:54:13 +0100 diff --git a/src/go.c b/src/go.c index 0f78ff9e..00edacc0 100644 --- a/src/go.c +++ b/src/go.c @@ -300,7 +300,8 @@ go(S *s, int channels, const float *in, float *out) double co = cos(t); double si = sin(t); double ldelms = 60000 / bpm * - (p < 0.75 ? 1./(1 << (int)samphold(&s->dish[0][0], rand() & 7, p)) : 1./32); + (p < 0.75 ? 1./(1 << (int)samphold(&s->dish[0][0], rand() & 7, p)) + : 1./(8 << (int)samphold(&s->dish[0][1], rand() & 7, p))); double rdelms = 60000 / bpm * (p < 0.5 ? 1./(1 << (int)samphold(&s->dish[1][0], rand() & 7, p)) : 1./32); ldelms = lop(&s->elop[0], ldelms, 15);
diff @ 2018-05-12 21:54:29 +0100 diff --git a/src/go.c b/src/go.c index 00edacc0..d4bf4ac7 100644 --- a/src/go.c +++ b/src/go.c @@ -303,7 +303,8 @@ go(S *s, int channels, const float *in, float *out) (p < 0.75 ? 1./(1 << (int)samphold(&s->dish[0][0], rand() & 7, p)) : 1./(8 << (int)samphold(&s->dish[0][1], rand() & 7, p))); double rdelms = 60000 / bpm * - (p < 0.5 ? 1./(1 << (int)samphold(&s->dish[1][0], rand() & 7, p)) : 1./32); + (p < 0.5 ? 1./(1 << (int)samphold(&s->dish[1][0], rand() & 7, p)) + : 1./(8 << (int)samphold(&s->dish[1][1], rand() & 7, p))); ldelms = lop(&s->elop[0], ldelms, 15); rdelms = lop(&s->elop[1], rdelms, 15); double el = delread4(&s->edelay1, ldelms + co);
diff @ 2018-05-12 21:54:36 +0100 diff --git a/src/go.c b/src/go.c index d4bf4ac7..3e321f6c 100644 --- a/src/go.c +++ b/src/go.c @@ -313,8 +313,8 @@ go(S *s, int channels, const float *in, float *out) er = sin(4 * er); el = hip1(&s->dhip[0][0], el, 10); er = hip1(&s->dhip[0][1], er, 10); - el = lop1(&s->dlop[0][0], el, 1000); - er = lop1(&s->dlop[0][1], er, 1000); + el = lop1(&s->dlop[0][0], el, 10000); + er = lop1(&s->dlop[0][1], er, 10000); double es[2] = { co * el + si * er, -si * el + co * er }; compress(es, &s->ecompress1, 5, 10, 25, 48, es); es[0] = mix(mixdown[0], es[0], mix(1, pow(wrap(8 * p), 0.25), 0));
diff @ 2018-05-12 21:54:47 +0100 diff --git a/src/go.c b/src/go.c index 3e321f6c..3ca79c3f 100644 --- a/src/go.c +++ b/src/go.c @@ -309,8 +309,8 @@ go(S *s, int channels, const float *in, float *out) rdelms = lop(&s->elop[1], rdelms, 15); double el = delread4(&s->edelay1, ldelms + co); double er = delread4(&s->edelay2, rdelms + si); - el = sin(4 * el); - er = sin(4 * er); + el = sin(6 * el); + er = sin(6 * er); el = hip1(&s->dhip[0][0], el, 10); er = hip1(&s->dhip[0][1], er, 10); el = lop1(&s->dlop[0][0], el, 10000);
diff @ 2018-05-12 21:54:59 +0100 diff --git a/src/go.c b/src/go.c index 3ca79c3f..39e5f1fd 100644 --- a/src/go.c +++ b/src/go.c @@ -309,8 +309,8 @@ go(S *s, int channels, const float *in, float *out) rdelms = lop(&s->elop[1], rdelms, 15); double el = delread4(&s->edelay1, ldelms + co); double er = delread4(&s->edelay2, rdelms + si); - el = sin(6 * el); - er = sin(6 * er); + el = sin(3 * tanh(6 * el)); + er = sin(3 * tanh(6 * er)P); el = hip1(&s->dhip[0][0], el, 10); er = hip1(&s->dhip[0][1], er, 10); el = lop1(&s->dlop[0][0], el, 10000);
diff @ 2018-05-12 21:55:03 +0100 diff --git a/src/go.c b/src/go.c index 39e5f1fd..0be462e3 100644 --- a/src/go.c +++ b/src/go.c @@ -310,7 +310,7 @@ go(S *s, int channels, const float *in, float *out) double el = delread4(&s->edelay1, ldelms + co); double er = delread4(&s->edelay2, rdelms + si); el = sin(3 * tanh(6 * el)); - er = sin(3 * tanh(6 * er)P); + er = sin(3 * tanh(6 * er)); el = hip1(&s->dhip[0][0], el, 10); er = hip1(&s->dhip[0][1], er, 10); el = lop1(&s->dlop[0][0], el, 10000);
diff @ 2018-05-12 21:55:13 +0100 diff --git a/src/go.c b/src/go.c index 0be462e3..7897d044 100644 --- a/src/go.c +++ b/src/go.c @@ -278,7 +278,7 @@ go(S *s, int channels, const float *in, float *out) pnoise[0] = na; pnoise[1] = nb; compress(pnoise, &s->pcompress, 5, 10, 25, 48, pnoise); - double gain = 1; + double gain = 0; pnoise[0] *= gain; pnoise[1] *= gain; mixdown[0] += pnoise[0];
diff @ 2018-05-12 21:55:17 +0100 diff --git a/src/go.c b/src/go.c index 7897d044..dc09ff06 100644 --- a/src/go.c +++ b/src/go.c @@ -233,7 +233,7 @@ go(S *s, int channels, const float *in, float *out) tilex[0] = fb1; tilex[1] = fb2; compress(tilex, &s->tcompress1, 5, 10, 25, 48, tilex); - double hgain = 1; + double hgain = 0; tilex[0] *= hgain; tilex[1] *= hgain; double kgain = 0;
diff @ 2018-05-12 21:55:21 +0100 diff --git a/src/go.c b/src/go.c index dc09ff06..0ed6e79a 100644 --- a/src/go.c +++ b/src/go.c @@ -241,7 +241,8 @@ go(S *s, int channels, const float *in, float *out) tilex[0] += kgain * kick; tilex[1] += kgain * kick; compress(tilex, &s->tcompress2, 5, 10, 25, 48, tilex); - double gain = 1; + double gain = + 0; gain = samphold(&s->tgate[1], gain, p); tilex[0] *= gain; tilex[1] *= gain;
diff @ 2018-05-12 21:55:22 +0100 diff --git a/src/go.c b/src/go.c index 0ed6e79a..14e02eec 100644 --- a/src/go.c +++ b/src/go.c @@ -241,8 +241,7 @@ go(S *s, int channels, const float *in, float *out) tilex[0] += kgain * kick; tilex[1] += kgain * kick; compress(tilex, &s->tcompress2, 5, 10, 25, 48, tilex); - double gain = - 0; + double gain = 0; gain = samphold(&s->tgate[1], gain, p); tilex[0] *= gain; tilex[1] *= gain;
diff @ 2018-05-12 21:56:07 +0100 diff --git a/src/go.c b/src/go.c index 14e02eec..c76c3801 100644 --- a/src/go.c +++ b/src/go.c @@ -322,8 +322,10 @@ go(S *s, int channels, const float *in, float *out) compress(es, &s->ecompress2, 5, 10, 25, 48, es); delwrite(&s->edelay1, es[0]); delwrite(&s->edelay2, es[1]); - mixdown[0] = es[0]; - mixdown[1] = es[1]; + double q = wrap(30 * 8 * p); + double w = sin(twopi * q); + mixdown[0] = es[0] + w; + mixdown[1] = es[1] + w; } // ===================================================================
diff @ 2018-05-12 21:56:13 +0100 diff --git a/src/go.c b/src/go.c index c76c3801..97ba693c 100644 --- a/src/go.c +++ b/src/go.c @@ -324,8 +324,8 @@ go(S *s, int channels, const float *in, float *out) delwrite(&s->edelay2, es[1]); double q = wrap(30 * 8 * p); double w = sin(twopi * q); - mixdown[0] = es[0] + w; - mixdown[1] = es[1] + w; + mixdown[0] = es[0] + 0.5 * w; + mixdown[1] = es[1] + 0.5 8 w; } // ===================================================================
diff @ 2018-05-12 21:56:16 +0100 diff --git a/src/go.c b/src/go.c index 97ba693c..4247af1f 100644 --- a/src/go.c +++ b/src/go.c @@ -325,7 +325,8 @@ go(S *s, int channels, const float *in, float *out) double q = wrap(30 * 8 * p); double w = sin(twopi * q); mixdown[0] = es[0] + 0.5 * w; - mixdown[1] = es[1] + 0.5 8 w; + mixdown[1] = es[1] + 0.5 * w; + mixdown[1] = es[1] + 0.5 * w; } // ===================================================================
diff @ 2018-05-12 21:56:18 +0100 diff --git a/src/go.c b/src/go.c index 4247af1f..011a37f8 100644 --- a/src/go.c +++ b/src/go.c @@ -326,7 +326,6 @@ go(S *s, int channels, const float *in, float *out) double w = sin(twopi * q); mixdown[0] = es[0] + 0.5 * w; mixdown[1] = es[1] + 0.5 * w; - mixdown[1] = es[1] + 0.5 * w; } // ===================================================================
diff @ 2018-05-12 21:57:09 +0100 diff --git a/src/go.c b/src/go.c index 011a37f8..8d789b84 100644 --- a/src/go.c +++ b/src/go.c @@ -153,6 +153,7 @@ typedef struct HIP1 dhip[2][2]; LOP1 dlop[2][2]; SAMPHOLD dish[2][2]; + SAMPHOLD wish[2]; } S; @@ -324,8 +325,8 @@ go(S *s, int channels, const float *in, float *out) delwrite(&s->edelay2, es[1]); double q = wrap(30 * 8 * p); double w = sin(twopi * q); - mixdown[0] = es[0] + 0.5 * w; - mixdown[1] = es[1] + 0.5 * w; + mixdown[0] = es[0] + 0.5 * samphold(&s->wish, w, wrap(40 * q + 0.25); + mixdown[1] = es[1] + 0.5 * samphold(&s->wish, w, wrap(40 * q + 0.75); } // ===================================================================
diff @ 2018-05-12 21:57:13 +0100 diff --git a/src/go.c b/src/go.c index 8d789b84..14324e8f 100644 --- a/src/go.c +++ b/src/go.c @@ -325,8 +325,8 @@ go(S *s, int channels, const float *in, float *out) delwrite(&s->edelay2, es[1]); double q = wrap(30 * 8 * p); double w = sin(twopi * q); - mixdown[0] = es[0] + 0.5 * samphold(&s->wish, w, wrap(40 * q + 0.25); - mixdown[1] = es[1] + 0.5 * samphold(&s->wish, w, wrap(40 * q + 0.75); + mixdown[0] = es[0] + 0.5 * samphold(&s->wish, w, wrap(40 * q + 0.25)); + mixdown[1] = es[1] + 0.5 * samphold(&s->wish, w, wrap(40 * q + 0.75)); } // ===================================================================
diff @ 2018-05-12 21:57:34 +0100 diff --git a/src/go.c b/src/go.c index 14324e8f..758a7fcd 100644 --- a/src/go.c +++ b/src/go.c @@ -324,7 +324,7 @@ go(S *s, int channels, const float *in, float *out) delwrite(&s->edelay1, es[0]); delwrite(&s->edelay2, es[1]); double q = wrap(30 * 8 * p); - double w = sin(twopi * q); + double w = sin(twopi * q + sin(twopi * q) * cos(16 * twopi * p)); mixdown[0] = es[0] + 0.5 * samphold(&s->wish, w, wrap(40 * q + 0.25)); mixdown[1] = es[1] + 0.5 * samphold(&s->wish, w, wrap(40 * q + 0.75)); }
diff @ 2018-05-12 21:57:48 +0100 diff --git a/src/go.c b/src/go.c index 758a7fcd..de50569a 100644 --- a/src/go.c +++ b/src/go.c @@ -324,7 +324,7 @@ go(S *s, int channels, const float *in, float *out) delwrite(&s->edelay1, es[0]); delwrite(&s->edelay2, es[1]); double q = wrap(30 * 8 * p); - double w = sin(twopi * q + sin(twopi * q) * cos(16 * twopi * p)); + double w = sin(twopi * q + sin(twopi * p) * sin(twopi * q) * cos(16 * twopi * p)); mixdown[0] = es[0] + 0.5 * samphold(&s->wish, w, wrap(40 * q + 0.25)); mixdown[1] = es[1] + 0.5 * samphold(&s->wish, w, wrap(40 * q + 0.75)); }
diff @ 2018-05-12 21:57:55 +0100 diff --git a/src/go.c b/src/go.c index de50569a..2261a1be 100644 --- a/src/go.c +++ b/src/go.c @@ -325,8 +325,8 @@ go(S *s, int channels, const float *in, float *out) delwrite(&s->edelay2, es[1]); double q = wrap(30 * 8 * p); double w = sin(twopi * q + sin(twopi * p) * sin(twopi * q) * cos(16 * twopi * p)); - mixdown[0] = es[0] + 0.5 * samphold(&s->wish, w, wrap(40 * q + 0.25)); - mixdown[1] = es[1] + 0.5 * samphold(&s->wish, w, wrap(40 * q + 0.75)); + mixdown[0] = es[0] + 0.5 * samphold(&s->wish[0], w, wrap(40 * q + 0.25)); + mixdown[1] = es[1] + 0.5 * samphold(&s->wish[1], w, wrap(40 * q + 0.75)); } // ===================================================================
diff @ 2018-05-12 21:58:08 +0100 diff --git a/src/go.c b/src/go.c index 2261a1be..c81c8466 100644 --- a/src/go.c +++ b/src/go.c @@ -324,7 +324,7 @@ go(S *s, int channels, const float *in, float *out) delwrite(&s->edelay1, es[0]); delwrite(&s->edelay2, es[1]); double q = wrap(30 * 8 * p); - double w = sin(twopi * q + sin(twopi * p) * sin(twopi * q) * cos(16 * twopi * p)); + double w = sin(twopi * q + sin(twopi * p) * sin(twopi * q) * cos(16 * twopi * p)) * cos(2 * twopi * p); mixdown[0] = es[0] + 0.5 * samphold(&s->wish[0], w, wrap(40 * q + 0.25)); mixdown[1] = es[1] + 0.5 * samphold(&s->wish[1], w, wrap(40 * q + 0.75)); }
diff @ 2018-05-12 21:58:19 +0100 diff --git a/src/go.c b/src/go.c index c81c8466..d6b32ef8 100644 --- a/src/go.c +++ b/src/go.c @@ -324,7 +324,8 @@ go(S *s, int channels, const float *in, float *out) delwrite(&s->edelay1, es[0]); delwrite(&s->edelay2, es[1]); double q = wrap(30 * 8 * p); - double w = sin(twopi * q + sin(twopi * p) * sin(twopi * q) * cos(16 * twopi * p)) * cos(2 * twopi * p); + double w = sin(twopi * q + sin(twopi * p) * sin(3 * twopi * q) * + cos(16 * twopi * p)) * cos(2 * twopi * p); mixdown[0] = es[0] + 0.5 * samphold(&s->wish[0], w, wrap(40 * q + 0.25)); mixdown[1] = es[1] + 0.5 * samphold(&s->wish[1], w, wrap(40 * q + 0.75)); }
diff @ 2018-05-12 21:58:48 +0100 diff --git a/src/go.c b/src/go.c index d6b32ef8..1591f8b3 100644 --- a/src/go.c +++ b/src/go.c @@ -324,7 +324,7 @@ go(S *s, int channels, const float *in, float *out) delwrite(&s->edelay1, es[0]); delwrite(&s->edelay2, es[1]); double q = wrap(30 * 8 * p); - double w = sin(twopi * q + sin(twopi * p) * sin(3 * twopi * q) * + double w = sin(twopi * q + + sin(twopi * 3 * p) * sin(5 * twopi * q) + sin(twopi * p) * sin(3 * twopi * q) * cos(16 * twopi * p)) * cos(2 * twopi * p); mixdown[0] = es[0] + 0.5 * samphold(&s->wish[0], w, wrap(40 * q + 0.25)); mixdown[1] = es[1] + 0.5 * samphold(&s->wish[1], w, wrap(40 * q + 0.75));
diff @ 2018-05-12 21:58:53 +0100 diff --git a/src/go.c b/src/go.c index 1591f8b3..e18ff821 100644 --- a/src/go.c +++ b/src/go.c @@ -324,7 +324,8 @@ go(S *s, int channels, const float *in, float *out) delwrite(&s->edelay1, es[0]); delwrite(&s->edelay2, es[1]); double q = wrap(30 * 8 * p); - double w = sin(twopi * q + + sin(twopi * 3 * p) * sin(5 * twopi * q) + sin(twopi * p) * sin(3 * twopi * q) * + double w = sin(twopi * q + + sin(twopi * 3 * p) * sin(5 * twopi * q) + + sin(twopi * p) * sin(3 * twopi * q) * cos(16 * twopi * p)) * cos(2 * twopi * p); mixdown[0] = es[0] + 0.5 * samphold(&s->wish[0], w, wrap(40 * q + 0.25)); mixdown[1] = es[1] + 0.5 * samphold(&s->wish[1], w, wrap(40 * q + 0.75));
diff @ 2018-05-12 21:58:58 +0100 diff --git a/src/go.c b/src/go.c index e18ff821..7f0668aa 100644 --- a/src/go.c +++ b/src/go.c @@ -324,7 +324,7 @@ go(S *s, int channels, const float *in, float *out) delwrite(&s->edelay1, es[0]); delwrite(&s->edelay2, es[1]); double q = wrap(30 * 8 * p); - double w = sin(twopi * q + + sin(twopi * 3 * p) * sin(5 * twopi * q) + double w = sin(twopi * q + + sin(twopi * 8 * p) * sin(5 * twopi * q) + sin(twopi * p) * sin(3 * twopi * q) * cos(16 * twopi * p)) * cos(2 * twopi * p); mixdown[0] = es[0] + 0.5 * samphold(&s->wish[0], w, wrap(40 * q + 0.25));
diff @ 2018-05-12 21:59:09 +0100 diff --git a/src/go.c b/src/go.c index 7f0668aa..d8673633 100644 --- a/src/go.c +++ b/src/go.c @@ -323,7 +323,7 @@ go(S *s, int channels, const float *in, float *out) compress(es, &s->ecompress2, 5, 10, 25, 48, es); delwrite(&s->edelay1, es[0]); delwrite(&s->edelay2, es[1]); - double q = wrap(30 * 8 * p); + double q = wrap(20 * 8 * p); double w = sin(twopi * q + + sin(twopi * 8 * p) * sin(5 * twopi * q) + sin(twopi * p) * sin(3 * twopi * q) * cos(16 * twopi * p)) * cos(2 * twopi * p);
diff @ 2018-05-12 21:59:12 +0100 diff --git a/src/go.c b/src/go.c index d8673633..7f0668aa 100644 --- a/src/go.c +++ b/src/go.c @@ -323,7 +323,7 @@ go(S *s, int channels, const float *in, float *out) compress(es, &s->ecompress2, 5, 10, 25, 48, es); delwrite(&s->edelay1, es[0]); delwrite(&s->edelay2, es[1]); - double q = wrap(20 * 8 * p); + double q = wrap(30 * 8 * p); double w = sin(twopi * q + + sin(twopi * 8 * p) * sin(5 * twopi * q) + sin(twopi * p) * sin(3 * twopi * q) * cos(16 * twopi * p)) * cos(2 * twopi * p);
diff @ 2018-05-12 21:59:26 +0100 diff --git a/src/go.c b/src/go.c index 7f0668aa..56b2daca 100644 --- a/src/go.c +++ b/src/go.c @@ -323,7 +323,7 @@ go(S *s, int channels, const float *in, float *out) compress(es, &s->ecompress2, 5, 10, 25, 48, es); delwrite(&s->edelay1, es[0]); delwrite(&s->edelay2, es[1]); - double q = wrap(30 * 8 * p); + double q = wrap((p < 0.5 ? 30 : 25) * 8 * p); double w = sin(twopi * q + + sin(twopi * 8 * p) * sin(5 * twopi * q) + sin(twopi * p) * sin(3 * twopi * q) * cos(16 * twopi * p)) * cos(2 * twopi * p);
diff @ 2018-05-12 21:59:49 +0100 diff --git a/src/go.c b/src/go.c index 56b2daca..03efe40f 100644 --- a/src/go.c +++ b/src/go.c @@ -323,7 +323,7 @@ go(S *s, int channels, const float *in, float *out) compress(es, &s->ecompress2, 5, 10, 25, 48, es); delwrite(&s->edelay1, es[0]); delwrite(&s->edelay2, es[1]); - double q = wrap((p < 0.5 ? 30 : 25) * 8 * p); + double q = wrap((p < 0.5 ? 30 : p < 0.75 ? 25 : 50) * 8 * p); double w = sin(twopi * q + + sin(twopi * 8 * p) * sin(5 * twopi * q) + sin(twopi * p) * sin(3 * twopi * q) * cos(16 * twopi * p)) * cos(2 * twopi * p);
diff @ 2018-05-12 22:00:09 +0100 diff --git a/src/go.c b/src/go.c index 03efe40f..90e878d9 100644 --- a/src/go.c +++ b/src/go.c @@ -326,7 +326,7 @@ go(S *s, int channels, const float *in, float *out) double q = wrap((p < 0.5 ? 30 : p < 0.75 ? 25 : 50) * 8 * p); double w = sin(twopi * q + + sin(twopi * 8 * p) * sin(5 * twopi * q) + sin(twopi * p) * sin(3 * twopi * q) * - cos(16 * twopi * p)) * cos(2 * twopi * p); + fmax(0, cos(16 * twopi * p))) * cos(2 * twopi * p); mixdown[0] = es[0] + 0.5 * samphold(&s->wish[0], w, wrap(40 * q + 0.25)); mixdown[1] = es[1] + 0.5 * samphold(&s->wish[1], w, wrap(40 * q + 0.75)); }
diff @ 2018-05-12 22:00:23 +0100 diff --git a/src/go.c b/src/go.c index 90e878d9..28f7f649 100644 --- a/src/go.c +++ b/src/go.c @@ -326,7 +326,7 @@ go(S *s, int channels, const float *in, float *out) double q = wrap((p < 0.5 ? 30 : p < 0.75 ? 25 : 50) * 8 * p); double w = sin(twopi * q + + sin(twopi * 8 * p) * sin(5 * twopi * q) + sin(twopi * p) * sin(3 * twopi * q) * - fmax(0, cos(16 * twopi * p))) * cos(2 * twopi * p); + fmax(0, cos(16 * twopi * p))) * fmax(0, cos(2 * twopi * p)); mixdown[0] = es[0] + 0.5 * samphold(&s->wish[0], w, wrap(40 * q + 0.25)); mixdown[1] = es[1] + 0.5 * samphold(&s->wish[1], w, wrap(40 * q + 0.75)); }
diff @ 2018-05-12 22:00:42 +0100 diff --git a/src/go.c b/src/go.c index 28f7f649..1e25947c 100644 --- a/src/go.c +++ b/src/go.c @@ -301,11 +301,11 @@ go(S *s, int channels, const float *in, float *out) double co = cos(t); double si = sin(t); double ldelms = 60000 / bpm * - (p < 0.75 ? 1./(1 << (int)samphold(&s->dish[0][0], rand() & 7, p)) - : 1./(8 << (int)samphold(&s->dish[0][1], rand() & 7, p))); + (p < 0.75 ? 1./(1 << (int)samphold(&s->dish[0][0], rand() & 3, p)) + : 1./(8 << (int)samphold(&s->dish[0][1], rand() & 3, p))); double rdelms = 60000 / bpm * - (p < 0.5 ? 1./(1 << (int)samphold(&s->dish[1][0], rand() & 7, p)) - : 1./(8 << (int)samphold(&s->dish[1][1], rand() & 7, p))); + (p < 0.5 ? 1./(1 << (int)samphold(&s->dish[1][0], rand() & 3, p)) + : 1./(8 << (int)samphold(&s->dish[1][1], rand() & 3, p))); ldelms = lop(&s->elop[0], ldelms, 15); rdelms = lop(&s->elop[1], rdelms, 15); double el = delread4(&s->edelay1, ldelms + co);
diff @ 2018-05-12 22:00:52 +0100 diff --git a/src/go.c b/src/go.c index 1e25947c..b6e1941f 100644 --- a/src/go.c +++ b/src/go.c @@ -301,10 +301,10 @@ go(S *s, int channels, const float *in, float *out) double co = cos(t); double si = sin(t); double ldelms = 60000 / bpm * - (p < 0.75 ? 1./(1 << (int)samphold(&s->dish[0][0], rand() & 3, p)) + (p < 0.75 ? 1./(8 << (int)samphold(&s->dish[0][0], rand() & 3, p)) : 1./(8 << (int)samphold(&s->dish[0][1], rand() & 3, p))); double rdelms = 60000 / bpm * - (p < 0.5 ? 1./(1 << (int)samphold(&s->dish[1][0], rand() & 3, p)) + (p < 0.5 ? 1./(8 << (int)samphold(&s->dish[1][0], rand() & 3, p)) : 1./(8 << (int)samphold(&s->dish[1][1], rand() & 3, p))); ldelms = lop(&s->elop[0], ldelms, 15); rdelms = lop(&s->elop[1], rdelms, 15);
diff @ 2018-05-12 22:00:57 +0100 diff --git a/src/go.c b/src/go.c index b6e1941f..0b6cde97 100644 --- a/src/go.c +++ b/src/go.c @@ -310,8 +310,8 @@ go(S *s, int channels, const float *in, float *out) rdelms = lop(&s->elop[1], rdelms, 15); double el = delread4(&s->edelay1, ldelms + co); double er = delread4(&s->edelay2, rdelms + si); - el = sin(3 * tanh(6 * el)); - er = sin(3 * tanh(6 * er)); + el = sin(3 * tanh(2 * el)); + er = sin(3 * tanh(2 * er)); el = hip1(&s->dhip[0][0], el, 10); er = hip1(&s->dhip[0][1], er, 10); el = lop1(&s->dlop[0][0], el, 10000);
diff @ 2018-05-12 22:01:15 +0100 diff --git a/src/go.c b/src/go.c index 0b6cde97..f9f17053 100644 --- a/src/go.c +++ b/src/go.c @@ -327,8 +327,8 @@ go(S *s, int channels, const float *in, float *out) double w = sin(twopi * q + + sin(twopi * 8 * p) * sin(5 * twopi * q) + sin(twopi * p) * sin(3 * twopi * q) * fmax(0, cos(16 * twopi * p))) * fmax(0, cos(2 * twopi * p)); - mixdown[0] = es[0] + 0.5 * samphold(&s->wish[0], w, wrap(40 * q + 0.25)); - mixdown[1] = es[1] + 0.5 * samphold(&s->wish[1], w, wrap(40 * q + 0.75)); + mixdown[0] = es[0] + samphold(&s->wish[0], w, wrap(40 * q + 0.25)); + mixdown[1] = es[1] + samphold(&s->wish[1], w, wrap(40 * q + 0.75)); } // ===================================================================
diff @ 2018-05-12 22:01:37 +0100 diff --git a/src/go.c b/src/go.c index f9f17053..a6ec6120 100644 --- a/src/go.c +++ b/src/go.c @@ -300,12 +300,8 @@ go(S *s, int channels, const float *in, float *out) double t = twopi * p; double co = cos(t); double si = sin(t); - double ldelms = 60000 / bpm * - (p < 0.75 ? 1./(8 << (int)samphold(&s->dish[0][0], rand() & 3, p)) - : 1./(8 << (int)samphold(&s->dish[0][1], rand() & 3, p))); - double rdelms = 60000 / bpm * - (p < 0.5 ? 1./(8 << (int)samphold(&s->dish[1][0], rand() & 3, p)) - : 1./(8 << (int)samphold(&s->dish[1][1], rand() & 3, p))); + double ldelms = 60000 / bpm * 1; + double rdelms = 60000 / bpm * 1; ldelms = lop(&s->elop[0], ldelms, 15); rdelms = lop(&s->elop[1], rdelms, 15); double el = delread4(&s->edelay1, ldelms + co);
diff @ 2018-05-12 22:01:52 +0100 diff --git a/src/go.c b/src/go.c index a6ec6120..14bd1ef7 100644 --- a/src/go.c +++ b/src/go.c @@ -323,8 +323,8 @@ go(S *s, int channels, const float *in, float *out) double w = sin(twopi * q + + sin(twopi * 8 * p) * sin(5 * twopi * q) + sin(twopi * p) * sin(3 * twopi * q) * fmax(0, cos(16 * twopi * p))) * fmax(0, cos(2 * twopi * p)); - mixdown[0] = es[0] + samphold(&s->wish[0], w, wrap(40 * q + 0.25)); - mixdown[1] = es[1] + samphold(&s->wish[1], w, wrap(40 * q + 0.75)); + mixdown[0] = es[0] + samphold(&s->wish[0], w, wrap(20 * q + 0.25)); + mixdown[1] = es[1] + samphold(&s->wish[1], w, wrap(20 * q + 0.75)); } // ===================================================================
diff @ 2018-05-12 22:02:22 +0100 diff --git a/src/go.c b/src/go.c index 14bd1ef7..8e5b7b55 100644 --- a/src/go.c +++ b/src/go.c @@ -317,14 +317,14 @@ go(S *s, int channels, const float *in, float *out) es[0] = mix(mixdown[0], es[0], mix(1, pow(wrap(8 * p), 0.25), 0)); es[1] = mix(mixdown[1], es[1], mix(1, pow(wrap(8 * p), 0.25), 0)); compress(es, &s->ecompress2, 5, 10, 25, 48, es); + mixdown[0] += es[0] + samphold(&s->wish[0], w, wrap(20 * q + 0.25)); + mixdown[1] += es[1] + samphold(&s->wish[1], w, wrap(20 * q + 0.75)); delwrite(&s->edelay1, es[0]); delwrite(&s->edelay2, es[1]); double q = wrap((p < 0.5 ? 30 : p < 0.75 ? 25 : 50) * 8 * p); double w = sin(twopi * q + + sin(twopi * 8 * p) * sin(5 * twopi * q) + sin(twopi * p) * sin(3 * twopi * q) * fmax(0, cos(16 * twopi * p))) * fmax(0, cos(2 * twopi * p)); - mixdown[0] = es[0] + samphold(&s->wish[0], w, wrap(20 * q + 0.25)); - mixdown[1] = es[1] + samphold(&s->wish[1], w, wrap(20 * q + 0.75)); } // ===================================================================
diff @ 2018-05-12 22:02:28 +0100 diff --git a/src/go.c b/src/go.c index 8e5b7b55..fc38697b 100644 --- a/src/go.c +++ b/src/go.c @@ -317,8 +317,8 @@ go(S *s, int channels, const float *in, float *out) es[0] = mix(mixdown[0], es[0], mix(1, pow(wrap(8 * p), 0.25), 0)); es[1] = mix(mixdown[1], es[1], mix(1, pow(wrap(8 * p), 0.25), 0)); compress(es, &s->ecompress2, 5, 10, 25, 48, es); - mixdown[0] += es[0] + samphold(&s->wish[0], w, wrap(20 * q + 0.25)); - mixdown[1] += es[1] + samphold(&s->wish[1], w, wrap(20 * q + 0.75)); + mixdown[0] = es[0] += samphold(&s->wish[0], w, wrap(20 * q + 0.25)); + mixdown[1] = es[1] += samphold(&s->wish[1], w, wrap(20 * q + 0.75)); delwrite(&s->edelay1, es[0]); delwrite(&s->edelay2, es[1]); double q = wrap((p < 0.5 ? 30 : p < 0.75 ? 25 : 50) * 8 * p);
diff @ 2018-05-12 22:02:33 +0100 diff --git a/src/go.c b/src/go.c index fc38697b..44dd7c80 100644 --- a/src/go.c +++ b/src/go.c @@ -317,14 +317,14 @@ go(S *s, int channels, const float *in, float *out) es[0] = mix(mixdown[0], es[0], mix(1, pow(wrap(8 * p), 0.25), 0)); es[1] = mix(mixdown[1], es[1], mix(1, pow(wrap(8 * p), 0.25), 0)); compress(es, &s->ecompress2, 5, 10, 25, 48, es); - mixdown[0] = es[0] += samphold(&s->wish[0], w, wrap(20 * q + 0.25)); - mixdown[1] = es[1] += samphold(&s->wish[1], w, wrap(20 * q + 0.75)); - delwrite(&s->edelay1, es[0]); - delwrite(&s->edelay2, es[1]); double q = wrap((p < 0.5 ? 30 : p < 0.75 ? 25 : 50) * 8 * p); double w = sin(twopi * q + + sin(twopi * 8 * p) * sin(5 * twopi * q) + sin(twopi * p) * sin(3 * twopi * q) * fmax(0, cos(16 * twopi * p))) * fmax(0, cos(2 * twopi * p)); + mixdown[0] = es[0] += samphold(&s->wish[0], w, wrap(20 * q + 0.25)); + mixdown[1] = es[1] += samphold(&s->wish[1], w, wrap(20 * q + 0.75)); + delwrite(&s->edelay1, es[0]); + delwrite(&s->edelay2, es[1]); } // ===================================================================
diff @ 2018-05-12 22:02:58 +0100 diff --git a/src/go.c b/src/go.c index 44dd7c80..4a81fdea 100644 --- a/src/go.c +++ b/src/go.c @@ -318,7 +318,7 @@ go(S *s, int channels, const float *in, float *out) es[1] = mix(mixdown[1], es[1], mix(1, pow(wrap(8 * p), 0.25), 0)); compress(es, &s->ecompress2, 5, 10, 25, 48, es); double q = wrap((p < 0.5 ? 30 : p < 0.75 ? 25 : 50) * 8 * p); - double w = sin(twopi * q + + sin(twopi * 8 * p) * sin(5 * twopi * q) + double w = sin(twopi * q + 2 * sin(twopi * 8 * p) * sin(5 * twopi * q) + sin(twopi * p) * sin(3 * twopi * q) * fmax(0, cos(16 * twopi * p))) * fmax(0, cos(2 * twopi * p)); mixdown[0] = es[0] += samphold(&s->wish[0], w, wrap(20 * q + 0.25));
diff @ 2018-05-12 22:03:03 +0100 diff --git a/src/go.c b/src/go.c index 4a81fdea..ebcce0bd 100644 --- a/src/go.c +++ b/src/go.c @@ -319,7 +319,7 @@ go(S *s, int channels, const float *in, float *out) compress(es, &s->ecompress2, 5, 10, 25, 48, es); double q = wrap((p < 0.5 ? 30 : p < 0.75 ? 25 : 50) * 8 * p); double w = sin(twopi * q + 2 * sin(twopi * 8 * p) * sin(5 * twopi * q) - + sin(twopi * p) * sin(3 * twopi * q) * + + 2 *sin(twopi * p) * sin(3 * twopi * q) * fmax(0, cos(16 * twopi * p))) * fmax(0, cos(2 * twopi * p)); mixdown[0] = es[0] += samphold(&s->wish[0], w, wrap(20 * q + 0.25)); mixdown[1] = es[1] += samphold(&s->wish[1], w, wrap(20 * q + 0.75));
diff @ 2018-05-12 22:03:06 +0100 diff --git a/src/go.c b/src/go.c index ebcce0bd..ccf4b138 100644 --- a/src/go.c +++ b/src/go.c @@ -319,7 +319,7 @@ go(S *s, int channels, const float *in, float *out) compress(es, &s->ecompress2, 5, 10, 25, 48, es); double q = wrap((p < 0.5 ? 30 : p < 0.75 ? 25 : 50) * 8 * p); double w = sin(twopi * q + 2 * sin(twopi * 8 * p) * sin(5 * twopi * q) - + 2 *sin(twopi * p) * sin(3 * twopi * q) * + - 2 *sin(twopi * p) * sin(3 * twopi * q) * fmax(0, cos(16 * twopi * p))) * fmax(0, cos(2 * twopi * p)); mixdown[0] = es[0] += samphold(&s->wish[0], w, wrap(20 * q + 0.25)); mixdown[1] = es[1] += samphold(&s->wish[1], w, wrap(20 * q + 0.75));
diff @ 2018-05-12 22:03:10 +0100 diff --git a/src/go.c b/src/go.c index ccf4b138..4c5124e2 100644 --- a/src/go.c +++ b/src/go.c @@ -319,7 +319,7 @@ go(S *s, int channels, const float *in, float *out) compress(es, &s->ecompress2, 5, 10, 25, 48, es); double q = wrap((p < 0.5 ? 30 : p < 0.75 ? 25 : 50) * 8 * p); double w = sin(twopi * q + 2 * sin(twopi * 8 * p) * sin(5 * twopi * q) - - 2 *sin(twopi * p) * sin(3 * twopi * q) * + - 2 *sin(twopi * p) * sin(7 * twopi * q) * fmax(0, cos(16 * twopi * p))) * fmax(0, cos(2 * twopi * p)); mixdown[0] = es[0] += samphold(&s->wish[0], w, wrap(20 * q + 0.25)); mixdown[1] = es[1] += samphold(&s->wish[1], w, wrap(20 * q + 0.75));
diff @ 2018-05-12 22:03:20 +0100 diff --git a/src/go.c b/src/go.c index 4c5124e2..a9565b91 100644 --- a/src/go.c +++ b/src/go.c @@ -319,7 +319,7 @@ go(S *s, int channels, const float *in, float *out) compress(es, &s->ecompress2, 5, 10, 25, 48, es); double q = wrap((p < 0.5 ? 30 : p < 0.75 ? 25 : 50) * 8 * p); double w = sin(twopi * q + 2 * sin(twopi * 8 * p) * sin(5 * twopi * q) - - 2 *sin(twopi * p) * sin(7 * twopi * q) * + - 2 *sin(twopi * p) * sin((p < 0.5 ? 7 : 17)* twopi * q) * fmax(0, cos(16 * twopi * p))) * fmax(0, cos(2 * twopi * p)); mixdown[0] = es[0] += samphold(&s->wish[0], w, wrap(20 * q + 0.25)); mixdown[1] = es[1] += samphold(&s->wish[1], w, wrap(20 * q + 0.75));
diff @ 2018-05-12 22:03:38 +0100 diff --git a/src/go.c b/src/go.c index a9565b91..7e453a2e 100644 --- a/src/go.c +++ b/src/go.c @@ -321,8 +321,8 @@ go(S *s, int channels, const float *in, float *out) double w = sin(twopi * q + 2 * sin(twopi * 8 * p) * sin(5 * twopi * q) - 2 *sin(twopi * p) * sin((p < 0.5 ? 7 : 17)* twopi * q) * fmax(0, cos(16 * twopi * p))) * fmax(0, cos(2 * twopi * p)); - mixdown[0] = es[0] += samphold(&s->wish[0], w, wrap(20 * q + 0.25)); - mixdown[1] = es[1] += samphold(&s->wish[1], w, wrap(20 * q + 0.75)); + mixdown[0] = es[0];// += samphold(&s->wish[0], w, wrap(20 * q + 0.25)); + mixdown[1] = es[1];// += samphold(&s->wish[1], w, wrap(20 * q + 0.75)); delwrite(&s->edelay1, es[0]); delwrite(&s->edelay2, es[1]); }
diff @ 2018-05-12 22:04:00 +0100 diff --git a/src/go.c b/src/go.c index 7e453a2e..2ea9634e 100644 --- a/src/go.c +++ b/src/go.c @@ -373,7 +373,7 @@ go(S *s, int channels, const float *in, float *out) reverb(tail, &s->mverb, mxml, 500); mxml[0] += pitchshift(&s->mps[0], 1, 50, -5, tail[0]); mxml[1] += pitchshift(&s->mps[1], 1, 50, -5, tail[1]); - compress(mxml, &s->mcompress, 10, 30, 50, 60, mxml); +// compress(mxml, &s->mcompress, 10, 30, 50, 60, mxml); mixdown[0] += mxml[0]; mixdown[1] += mxml[1]; }
diff @ 2018-05-12 22:04:05 +0100 diff --git a/src/go.c b/src/go.c index 2ea9634e..3e3345ca 100644 --- a/src/go.c +++ b/src/go.c @@ -380,7 +380,7 @@ go(S *s, int channels, const float *in, float *out) // =================================================================== // = 0 = mixdown - compress(mixdown, &s->mixdown, 5, 10, 25, 48, mixdown); +// compress(mixdown, &s->mixdown, 5, 10, 25, 48, mixdown); double volume = 1; mixdown[0] *= volume; mixdown[1] *= volume;
diff @ 2018-05-12 22:04:25 +0100 diff --git a/src/go.c b/src/go.c index 3e3345ca..d0c1c836 100644 --- a/src/go.c +++ b/src/go.c @@ -349,7 +349,7 @@ go(S *s, int channels, const float *in, float *out) } double mxml[2] = { 0, 0 }; double rate = lop(&s->dflow, 1e4, 1); // */ 1e6, 0.0001); - rate = clamp(rate, 1e4, 1e5 - 1000 * (1 + noise())); + rate = clamp(rate, 1e4, /* 1e5 - 1000 * (1 + noise())); for (int c = 0; c < 4; ++c) { double d = drip(&s->drip[c], rate * (16. / pow(1.1, c))) * (1e4 + 1 < rate && rate < 1e5 - 10); @@ -374,8 +374,8 @@ go(S *s, int channels, const float *in, float *out) mxml[0] += pitchshift(&s->mps[0], 1, 50, -5, tail[0]); mxml[1] += pitchshift(&s->mps[1], 1, 50, -5, tail[1]); // compress(mxml, &s->mcompress, 10, 30, 50, 60, mxml); - mixdown[0] += mxml[0]; - mixdown[1] += mxml[1]; + mixdown[0] = mxml[0]; + mixdown[1] = mxml[1]; } // ===================================================================
diff @ 2018-05-12 22:04:34 +0100 diff --git a/src/go.c b/src/go.c index d0c1c836..a195aad6 100644 --- a/src/go.c +++ b/src/go.c @@ -348,8 +348,8 @@ go(S *s, int channels, const float *in, float *out) } } double mxml[2] = { 0, 0 }; - double rate = lop(&s->dflow, 1e4, 1); // */ 1e6, 0.0001); - rate = clamp(rate, 1e4, /* 1e5 - 1000 * (1 + noise())); + double rate = lop(&s->dflow, /* 1e4, 1); // */ 1e6, 0.0001); + rate = clamp(rate, 1e4, 1e5); for (int c = 0; c < 4; ++c) { double d = drip(&s->drip[c], rate * (16. / pow(1.1, c))) * (1e4 + 1 < rate && rate < 1e5 - 10);
diff @ 2018-05-12 22:04:39 +0100 diff --git a/src/go.c b/src/go.c index a195aad6..84d7f390 100644 --- a/src/go.c +++ b/src/go.c @@ -370,7 +370,7 @@ go(S *s, int channels, const float *in, float *out) } } double tail[2] = { 0, 0 } ; - reverb(tail, &s->mverb, mxml, 500); + reverb(tail, &s->mverb, mxml, 1500); mxml[0] += pitchshift(&s->mps[0], 1, 50, -5, tail[0]); mxml[1] += pitchshift(&s->mps[1], 1, 50, -5, tail[1]); // compress(mxml, &s->mcompress, 10, 30, 50, 60, mxml);
diff @ 2018-05-12 22:04:49 +0100 diff --git a/src/go.c b/src/go.c index 84d7f390..13da0256 100644 --- a/src/go.c +++ b/src/go.c @@ -366,7 +366,7 @@ go(S *s, int channels, const float *in, float *out) o = hip(&s->mhip[c], o, 15); for (int ear = 0; ear < 2; ++ear) { - mxml[ear] += early_ref(&s->meref[c][ear], o, 0.2); + mxml[ear] += early_ref(&s->meref[c][ear], o, 0.25); } } double tail[2] = { 0, 0 } ;
diff @ 2018-05-12 22:04:55 +0100 diff --git a/src/go.c b/src/go.c index 13da0256..09696b62 100644 --- a/src/go.c +++ b/src/go.c @@ -366,7 +366,7 @@ go(S *s, int channels, const float *in, float *out) o = hip(&s->mhip[c], o, 15); for (int ear = 0; ear < 2; ++ear) { - mxml[ear] += early_ref(&s->meref[c][ear], o, 0.25); + mxml[ear] += early_ref(&s->meref[c][ear], o, 0.5); } } double tail[2] = { 0, 0 } ;
diff @ 2018-05-12 22:05:00 +0100 diff --git a/src/go.c b/src/go.c index 09696b62..c308a2f6 100644 --- a/src/go.c +++ b/src/go.c @@ -366,7 +366,7 @@ go(S *s, int channels, const float *in, float *out) o = hip(&s->mhip[c], o, 15); for (int ear = 0; ear < 2; ++ear) { - mxml[ear] += early_ref(&s->meref[c][ear], o, 0.5); + mxml[ear] += early_ref(&s->meref[c][ear], o, 0.75); } } double tail[2] = { 0, 0 } ;
diff @ 2018-05-12 22:05:10 +0100 diff --git a/src/go.c b/src/go.c index c308a2f6..5f2f3a35 100644 --- a/src/go.c +++ b/src/go.c @@ -370,7 +370,7 @@ go(S *s, int channels, const float *in, float *out) } } double tail[2] = { 0, 0 } ; - reverb(tail, &s->mverb, mxml, 1500); + reverb(tail, &s->mverb, mxml, 2500); mxml[0] += pitchshift(&s->mps[0], 1, 50, -5, tail[0]); mxml[1] += pitchshift(&s->mps[1], 1, 50, -5, tail[1]); // compress(mxml, &s->mcompress, 10, 30, 50, 60, mxml);
diff @ 2018-05-12 22:05:15 +0100 diff --git a/src/go.c b/src/go.c index 5f2f3a35..79560653 100644 --- a/src/go.c +++ b/src/go.c @@ -370,7 +370,7 @@ go(S *s, int channels, const float *in, float *out) } } double tail[2] = { 0, 0 } ; - reverb(tail, &s->mverb, mxml, 2500); + reverb(tail, &s->mverb, mxml, 4500); mxml[0] += pitchshift(&s->mps[0], 1, 50, -5, tail[0]); mxml[1] += pitchshift(&s->mps[1], 1, 50, -5, tail[1]); // compress(mxml, &s->mcompress, 10, 30, 50, 60, mxml);
diff @ 2018-05-12 22:05:23 +0100 diff --git a/src/go.c b/src/go.c index 79560653..69c7460f 100644 --- a/src/go.c +++ b/src/go.c @@ -359,7 +359,7 @@ go(S *s, int channels, const float *in, float *out) } s->menv[c].y += tanh(1e-12 * d); double e = lop1(&s->menv[c], 0, 10); - double f = samphold(&s->msh[c], 40 * pow(1.5, cbrt(1e-11 * d)), -d); + double f = samphold(&s->msh[c], 50 * pow(1.5, cbrt(1e-11 * d)), -d); double o = phasor(&s->mosc[c], f); o = tanh(4 * sin(twopi * o) * e); o = moog(&s->mmoog[c], o, f * pow(2, 6 * e), 0.75);
diff @ 2018-05-12 22:05:34 +0100 diff --git a/src/go.c b/src/go.c index 69c7460f..fe5b9d7b 100644 --- a/src/go.c +++ b/src/go.c @@ -361,7 +361,7 @@ go(S *s, int channels, const float *in, float *out) double e = lop1(&s->menv[c], 0, 10); double f = samphold(&s->msh[c], 50 * pow(1.5, cbrt(1e-11 * d)), -d); double o = phasor(&s->mosc[c], f); - o = tanh(4 * sin(twopi * o) * e); + o = tanh(8 * sin(twopi * o) * e); o = moog(&s->mmoog[c], o, f * pow(2, 6 * e), 0.75); o = hip(&s->mhip[c], o, 15); for (int ear = 0; ear < 2; ++ear)
diff @ 2018-05-12 22:05:39 +0100 diff --git a/src/go.c b/src/go.c index fe5b9d7b..36851b13 100644 --- a/src/go.c +++ b/src/go.c @@ -361,7 +361,7 @@ go(S *s, int channels, const float *in, float *out) double e = lop1(&s->menv[c], 0, 10); double f = samphold(&s->msh[c], 50 * pow(1.5, cbrt(1e-11 * d)), -d); double o = phasor(&s->mosc[c], f); - o = tanh(8 * sin(twopi * o) * e); + o = tanh(8 * sin(2 * twopi * o) * e); o = moog(&s->mmoog[c], o, f * pow(2, 6 * e), 0.75); o = hip(&s->mhip[c], o, 15); for (int ear = 0; ear < 2; ++ear)
diff @ 2018-05-12 22:05:45 +0100 diff --git a/src/go.c b/src/go.c index 36851b13..c1d6e645 100644 --- a/src/go.c +++ b/src/go.c @@ -370,7 +370,7 @@ go(S *s, int channels, const float *in, float *out) } } double tail[2] = { 0, 0 } ; - reverb(tail, &s->mverb, mxml, 4500); + reverb(tail, &s->mverb, mxml, 50000); mxml[0] += pitchshift(&s->mps[0], 1, 50, -5, tail[0]); mxml[1] += pitchshift(&s->mps[1], 1, 50, -5, tail[1]); // compress(mxml, &s->mcompress, 10, 30, 50, 60, mxml);
diff @ 2018-05-12 22:05:51 +0100 diff --git a/src/go.c b/src/go.c index c1d6e645..4cb84288 100644 --- a/src/go.c +++ b/src/go.c @@ -370,7 +370,7 @@ go(S *s, int channels, const float *in, float *out) } } double tail[2] = { 0, 0 } ; - reverb(tail, &s->mverb, mxml, 50000); + reverb(tail, &s->mverb, mxml, 5000); mxml[0] += pitchshift(&s->mps[0], 1, 50, -5, tail[0]); mxml[1] += pitchshift(&s->mps[1], 1, 50, -5, tail[1]); // compress(mxml, &s->mcompress, 10, 30, 50, 60, mxml);
diff @ 2018-05-12 22:05:57 +0100 diff --git a/src/go.c b/src/go.c index 4cb84288..21205389 100644 --- a/src/go.c +++ b/src/go.c @@ -370,7 +370,7 @@ go(S *s, int channels, const float *in, float *out) } } double tail[2] = { 0, 0 } ; - reverb(tail, &s->mverb, mxml, 5000); + reverb(tail, &s->mverb, mxml, 15000); mxml[0] += pitchshift(&s->mps[0], 1, 50, -5, tail[0]); mxml[1] += pitchshift(&s->mps[1], 1, 50, -5, tail[1]); // compress(mxml, &s->mcompress, 10, 30, 50, 60, mxml);
diff @ 2018-05-12 22:06:14 +0100 diff --git a/src/go.c b/src/go.c index 21205389..dcf53427 100644 --- a/src/go.c +++ b/src/go.c @@ -371,8 +371,8 @@ go(S *s, int channels, const float *in, float *out) } double tail[2] = { 0, 0 } ; reverb(tail, &s->mverb, mxml, 15000); - mxml[0] += pitchshift(&s->mps[0], 1, 50, -5, tail[0]); - mxml[1] += pitchshift(&s->mps[1], 1, 50, -5, tail[1]); + mxml[0] += tail[0]; + mxml[1] += tail[1]; // compress(mxml, &s->mcompress, 10, 30, 50, 60, mxml); mixdown[0] = mxml[0]; mixdown[1] = mxml[1];
diff @ 2018-05-12 22:06:23 +0100 diff --git a/src/go.c b/src/go.c index dcf53427..d83b2293 100644 --- a/src/go.c +++ b/src/go.c @@ -362,7 +362,7 @@ go(S *s, int channels, const float *in, float *out) double f = samphold(&s->msh[c], 50 * pow(1.5, cbrt(1e-11 * d)), -d); double o = phasor(&s->mosc[c], f); o = tanh(8 * sin(2 * twopi * o) * e); - o = moog(&s->mmoog[c], o, f * pow(2, 6 * e), 0.75); + o = moog(&s->mmoog[c], o, f * pow(2, 6 * e), 0.5); o = hip(&s->mhip[c], o, 15); for (int ear = 0; ear < 2; ++ear) {
diff @ 2018-05-12 22:06:27 +0100 diff --git a/src/go.c b/src/go.c index d83b2293..88682575 100644 --- a/src/go.c +++ b/src/go.c @@ -362,7 +362,7 @@ go(S *s, int channels, const float *in, float *out) double f = samphold(&s->msh[c], 50 * pow(1.5, cbrt(1e-11 * d)), -d); double o = phasor(&s->mosc[c], f); o = tanh(8 * sin(2 * twopi * o) * e); - o = moog(&s->mmoog[c], o, f * pow(2, 6 * e), 0.5); + o = moog(&s->mmoog[c], o, f * pow(2, 6 * e), 0.3); o = hip(&s->mhip[c], o, 15); for (int ear = 0; ear < 2; ++ear) {
diff @ 2018-05-12 22:06:32 +0100 diff --git a/src/go.c b/src/go.c index 88682575..a91b5841 100644 --- a/src/go.c +++ b/src/go.c @@ -362,7 +362,7 @@ go(S *s, int channels, const float *in, float *out) double f = samphold(&s->msh[c], 50 * pow(1.5, cbrt(1e-11 * d)), -d); double o = phasor(&s->mosc[c], f); o = tanh(8 * sin(2 * twopi * o) * e); - o = moog(&s->mmoog[c], o, f * pow(2, 6 * e), 0.3); + o = moog(&s->mmoog[c], o, f * pow(2, 6 * e), 0.2); o = hip(&s->mhip[c], o, 15); for (int ear = 0; ear < 2; ++ear) {
diff @ 2018-05-12 22:06:36 +0100 diff --git a/src/go.c b/src/go.c index a91b5841..7887fcbb 100644 --- a/src/go.c +++ b/src/go.c @@ -362,7 +362,7 @@ go(S *s, int channels, const float *in, float *out) double f = samphold(&s->msh[c], 50 * pow(1.5, cbrt(1e-11 * d)), -d); double o = phasor(&s->mosc[c], f); o = tanh(8 * sin(2 * twopi * o) * e); - o = moog(&s->mmoog[c], o, f * pow(2, 6 * e), 0.2); + o = moog(&s->mmoog[c], o, f * pow(2, 6 * e), 0.1); o = hip(&s->mhip[c], o, 15); for (int ear = 0; ear < 2; ++ear) {
diff @ 2018-05-12 22:07:07 +0100 diff --git a/src/go.c b/src/go.c index 7887fcbb..f7b7fcfd 100644 --- a/src/go.c +++ b/src/go.c @@ -370,7 +370,7 @@ go(S *s, int channels, const float *in, float *out) } } double tail[2] = { 0, 0 } ; - reverb(tail, &s->mverb, mxml, 15000); + reverb(tail, &s->mverb, mxml, 150000); mxml[0] += tail[0]; mxml[1] += tail[1]; // compress(mxml, &s->mcompress, 10, 30, 50, 60, mxml);
diff @ 2018-05-12 22:07:22 +0100 diff --git a/src/go.c b/src/go.c index f7b7fcfd..1b378f09 100644 --- a/src/go.c +++ b/src/go.c @@ -371,8 +371,8 @@ go(S *s, int channels, const float *in, float *out) } double tail[2] = { 0, 0 } ; reverb(tail, &s->mverb, mxml, 150000); - mxml[0] += tail[0]; - mxml[1] += tail[1]; + mxml[0] += tanh(tail[0]); + mxml[1] += tanh(tail[1]); // compress(mxml, &s->mcompress, 10, 30, 50, 60, mxml); mixdown[0] = mxml[0]; mixdown[1] = mxml[1];
diff @ 2018-05-12 22:07:28 +0100 diff --git a/src/go.c b/src/go.c index 1b378f09..379e7926 100644 --- a/src/go.c +++ b/src/go.c @@ -371,8 +371,8 @@ go(S *s, int channels, const float *in, float *out) } double tail[2] = { 0, 0 } ; reverb(tail, &s->mverb, mxml, 150000); - mxml[0] += tanh(tail[0]); - mxml[1] += tanh(tail[1]); + mxml[0] += tanh(2 *tail[0]); + mxml[1] += tanh(2 *tail[1]); // compress(mxml, &s->mcompress, 10, 30, 50, 60, mxml); mixdown[0] = mxml[0]; mixdown[1] = mxml[1];