a C audio live-coding skeleton
diff @ 2019-02-15 21:46:33 +0000 diff --git a/client/go.c b/client/go.c index 7ee794d29..ab7841e33 100644 --- a/client/go.c +++ b/client/go.c @@ -91,7 +91,8 @@ go(S *s, int channels, const float *in, float *out) sample bar4 = phasor(&s->bdsn, bpm / 60 / 16); sample bar = wrap(4 * bar4); sample beat = wrap(4 * bar); - sample kick = bd(&s->bd, beat); + sample k = beat; + sample kick = bd(&s->bd, k); sample snare = sn(&s->sn, beat); sample drum = wrap(2 * bar) < 0.5 ? kick : snare; mixdown[0] += drum;
diff @ 2019-02-15 21:47:11 +0000 diff --git a/client/go.h b/client/go.h index 080905ba5..b541d9c4c 100644 --- a/client/go.h +++ b/client/go.h @@ -52,5 +52,6 @@ typedef struct DELAY del59r; float del59rbuf[SR/4]; // = append only data structure ====================================== + BIQUAD bbq[16]; } S; #endif
diff @ 2019-02-15 21:47:12 +0000 diff --git a/client/go.c b/client/go.c index ab7841e33..db6f8ab76 100644 --- a/client/go.c +++ b/client/go.c @@ -91,7 +91,7 @@ go(S *s, int channels, const float *in, float *out) sample bar4 = phasor(&s->bdsn, bpm / 60 / 16); sample bar = wrap(4 * bar4); sample beat = wrap(4 * bar); - sample k = beat; + sample k = biquad(highpass(&s->bbq[0], 4, flatq), beat); sample kick = bd(&s->bd, k); sample snare = sn(&s->sn, beat); sample drum = wrap(2 * bar) < 0.5 ? kick : snare;
diff @ 2019-02-15 21:47:19 +0000 diff --git a/client/go.c b/client/go.c index db6f8ab76..710e12349 100644 --- a/client/go.c +++ b/client/go.c @@ -91,7 +91,7 @@ go(S *s, int channels, const float *in, float *out) sample bar4 = phasor(&s->bdsn, bpm / 60 / 16); sample bar = wrap(4 * bar4); sample beat = wrap(4 * bar); - sample k = biquad(highpass(&s->bbq[0], 4, flatq), beat); + sample k = biquad(highpass(&s->bbq[0], 4, flatq), -beat); sample kick = bd(&s->bd, k); sample snare = sn(&s->sn, beat); sample drum = wrap(2 * bar) < 0.5 ? kick : snare;
diff @ 2019-02-15 21:47:27 +0000 diff --git a/client/go.c b/client/go.c index 710e12349..86241baab 100644 --- a/client/go.c +++ b/client/go.c @@ -91,7 +91,7 @@ go(S *s, int channels, const float *in, float *out) sample bar4 = phasor(&s->bdsn, bpm / 60 / 16); sample bar = wrap(4 * bar4); sample beat = wrap(4 * bar); - sample k = biquad(highpass(&s->bbq[0], 4, flatq), -beat); + sample k = biquad(highpass(&s->bbq[0], 4, flatq), -wrap(2 * beat)); sample kick = bd(&s->bd, k); sample snare = sn(&s->sn, beat); sample drum = wrap(2 * bar) < 0.5 ? kick : snare;
diff @ 2019-02-15 21:47:42 +0000 diff --git a/client/go.c b/client/go.c index 86241baab..c843eecdf 100644 --- a/client/go.c +++ b/client/go.c @@ -83,7 +83,7 @@ go(S *s, int channels, const float *in, float *out) s->pdel2.length = SR; } sample mixdown[2] = { 0, 0 }; - sample bpm = 60 * SR * 16.0 / (5 << 16); // ~140 + sample bpm = 130' //int time = s->time++; // = 1 = bdsn ========================================================
diff @ 2019-02-15 21:47:43 +0000 diff --git a/client/go.c b/client/go.c index c843eecdf..ad8a59a61 100644 --- a/client/go.c +++ b/client/go.c @@ -83,7 +83,7 @@ go(S *s, int channels, const float *in, float *out) s->pdel2.length = SR; } sample mixdown[2] = { 0, 0 }; - sample bpm = 130' + sample bpm = 130; //int time = s->time++; // = 1 = bdsn ========================================================
diff @ 2019-02-15 21:48:03 +0000 diff --git a/client/go.c b/client/go.c index ad8a59a61..d3a5f2ffc 100644 --- a/client/go.c +++ b/client/go.c @@ -92,6 +92,8 @@ go(S *s, int channels, const float *in, float *out) sample bar = wrap(4 * bar4); sample beat = wrap(4 * bar); sample k = biquad(highpass(&s->bbq[0], 4, flatq), -wrap(2 * beat)); + out[4] = beat; + out[5] = k; sample kick = bd(&s->bd, k); sample snare = sn(&s->sn, beat); sample drum = wrap(2 * bar) < 0.5 ? kick : snare;
diff @ 2019-02-15 21:48:11 +0000 diff --git a/client/go.c b/client/go.c index d3a5f2ffc..de5f0cb14 100644 --- a/client/go.c +++ b/client/go.c @@ -91,7 +91,7 @@ go(S *s, int channels, const float *in, float *out) sample bar4 = phasor(&s->bdsn, bpm / 60 / 16); sample bar = wrap(4 * bar4); sample beat = wrap(4 * bar); - sample k = biquad(highpass(&s->bbq[0], 4, flatq), -wrap(2 * beat)); + sample k = biquad(highpass(&s->bbq[0], 4, flatq), wrap(2 * beat)); out[4] = beat; out[5] = k; sample kick = bd(&s->bd, k);
diff @ 2019-02-15 21:48:22 +0000 diff --git a/client/go.c b/client/go.c index de5f0cb14..f305b5bc2 100644 --- a/client/go.c +++ b/client/go.c @@ -93,7 +93,7 @@ go(S *s, int channels, const float *in, float *out) sample beat = wrap(4 * bar); sample k = biquad(highpass(&s->bbq[0], 4, flatq), wrap(2 * beat)); out[4] = beat; - out[5] = k; + out[5] = 2 * k - 1; sample kick = bd(&s->bd, k); sample snare = sn(&s->sn, beat); sample drum = wrap(2 * bar) < 0.5 ? kick : snare;
diff @ 2019-02-15 21:48:28 +0000 diff --git a/client/go.c b/client/go.c index f305b5bc2..59955621b 100644 --- a/client/go.c +++ b/client/go.c @@ -91,7 +91,7 @@ go(S *s, int channels, const float *in, float *out) sample bar4 = phasor(&s->bdsn, bpm / 60 / 16); sample bar = wrap(4 * bar4); sample beat = wrap(4 * bar); - sample k = biquad(highpass(&s->bbq[0], 4, flatq), wrap(2 * beat)); + sample k = biquad(highpass(&s->bbq[0], 8, flatq), wrap(2 * beat)); out[4] = beat; out[5] = 2 * k - 1; sample kick = bd(&s->bd, k);
diff @ 2019-02-15 21:48:40 +0000 diff --git a/client/go.c b/client/go.c index 59955621b..a76bba88f 100644 --- a/client/go.c +++ b/client/go.c @@ -92,7 +92,7 @@ go(S *s, int channels, const float *in, float *out) sample bar = wrap(4 * bar4); sample beat = wrap(4 * bar); sample k = biquad(highpass(&s->bbq[0], 8, flatq), wrap(2 * beat)); - out[4] = beat; + out[4] = beat + 1; out[5] = 2 * k - 1; sample kick = bd(&s->bd, k); sample snare = sn(&s->sn, beat);
diff @ 2019-02-15 21:48:44 +0000 diff --git a/client/go.c b/client/go.c index a76bba88f..59955621b 100644 --- a/client/go.c +++ b/client/go.c @@ -92,7 +92,7 @@ go(S *s, int channels, const float *in, float *out) sample bar = wrap(4 * bar4); sample beat = wrap(4 * bar); sample k = biquad(highpass(&s->bbq[0], 8, flatq), wrap(2 * beat)); - out[4] = beat + 1; + out[4] = beat; out[5] = 2 * k - 1; sample kick = bd(&s->bd, k); sample snare = sn(&s->sn, beat);
diff @ 2019-02-15 21:48:52 +0000 diff --git a/client/go.c b/client/go.c index 59955621b..00c9858dc 100644 --- a/client/go.c +++ b/client/go.c @@ -93,7 +93,7 @@ go(S *s, int channels, const float *in, float *out) sample beat = wrap(4 * bar); sample k = biquad(highpass(&s->bbq[0], 8, flatq), wrap(2 * beat)); out[4] = beat; - out[5] = 2 * k - 1; + out[5] = k; sample kick = bd(&s->bd, k); sample snare = sn(&s->sn, beat); sample drum = wrap(2 * bar) < 0.5 ? kick : snare;
diff @ 2019-02-15 21:49:00 +0000 diff --git a/client/go.c b/client/go.c index 00c9858dc..dedda1a93 100644 --- a/client/go.c +++ b/client/go.c @@ -92,6 +92,7 @@ go(S *s, int channels, const float *in, float *out) sample bar = wrap(4 * bar4); sample beat = wrap(4 * bar); sample k = biquad(highpass(&s->bbq[0], 8, flatq), wrap(2 * beat)); + k = k - floor(k); out[4] = beat; out[5] = k; sample kick = bd(&s->bd, k);
diff @ 2019-02-15 21:49:25 +0000 diff --git a/client/go.c b/client/go.c index dedda1a93..223c04637 100644 --- a/client/go.c +++ b/client/go.c @@ -92,6 +92,7 @@ go(S *s, int channels, const float *in, float *out) sample bar = wrap(4 * bar4); sample beat = wrap(4 * bar); sample k = biquad(highpass(&s->bbq[0], 8, flatq), wrap(2 * beat)); + k = biquad(lowpass(&s->bbq[1], 16, flatq), k); k = k - floor(k); out[4] = beat; out[5] = k;
diff @ 2019-02-15 21:49:58 +0000 diff --git a/client/go.h b/client/go.h index b541d9c4c..c751d2d57 100644 --- a/client/go.h +++ b/client/go.h @@ -53,5 +53,6 @@ typedef struct // = append only data structure ====================================== BIQUAD bbq[16]; + SAMPHOLD bsh[16]; } S; #endif
diff @ 2019-02-15 21:49:59 +0000 diff --git a/client/go.c b/client/go.c index 223c04637..3ab931a61 100644 --- a/client/go.c +++ b/client/go.c @@ -93,7 +93,7 @@ go(S *s, int channels, const float *in, float *out) sample beat = wrap(4 * bar); sample k = biquad(highpass(&s->bbq[0], 8, flatq), wrap(2 * beat)); k = biquad(lowpass(&s->bbq[1], 16, flatq), k); - k = k - floor(k); + k = samphold(&s->bsh[0], k, -k); out[4] = beat; out[5] = k; sample kick = bd(&s->bd, k);
diff @ 2019-02-15 21:50:07 +0000 diff --git a/client/go.c b/client/go.c index 3ab931a61..96f01c0db 100644 --- a/client/go.c +++ b/client/go.c @@ -92,7 +92,7 @@ go(S *s, int channels, const float *in, float *out) sample bar = wrap(4 * bar4); sample beat = wrap(4 * bar); sample k = biquad(highpass(&s->bbq[0], 8, flatq), wrap(2 * beat)); - k = biquad(lowpass(&s->bbq[1], 16, flatq), k); + k = biquad(lowpass(&s->bbq[1], 16, 3), k); k = samphold(&s->bsh[0], k, -k); out[4] = beat; out[5] = k;
diff @ 2019-02-15 21:50:10 +0000 diff --git a/client/go.c b/client/go.c index 96f01c0db..b709e036c 100644 --- a/client/go.c +++ b/client/go.c @@ -92,7 +92,7 @@ go(S *s, int channels, const float *in, float *out) sample bar = wrap(4 * bar4); sample beat = wrap(4 * bar); sample k = biquad(highpass(&s->bbq[0], 8, flatq), wrap(2 * beat)); - k = biquad(lowpass(&s->bbq[1], 16, 3), k); + k = biquad(lowpass(&s->bbq[1], 4, 3), k); k = samphold(&s->bsh[0], k, -k); out[4] = beat; out[5] = k;
diff @ 2019-02-15 21:50:20 +0000 diff --git a/client/go.c b/client/go.c index b709e036c..1dc7e9382 100644 --- a/client/go.c +++ b/client/go.c @@ -94,7 +94,7 @@ go(S *s, int channels, const float *in, float *out) sample k = biquad(highpass(&s->bbq[0], 8, flatq), wrap(2 * beat)); k = biquad(lowpass(&s->bbq[1], 4, 3), k); k = samphold(&s->bsh[0], k, -k); - out[4] = beat; + out[4] = 2 * beat - 1; out[5] = k; sample kick = bd(&s->bd, k); sample snare = sn(&s->sn, beat);
diff @ 2019-02-15 21:50:25 +0000 diff --git a/client/go.c b/client/go.c index 1dc7e9382..d17f9273c 100644 --- a/client/go.c +++ b/client/go.c @@ -92,7 +92,7 @@ go(S *s, int channels, const float *in, float *out) sample bar = wrap(4 * bar4); sample beat = wrap(4 * bar); sample k = biquad(highpass(&s->bbq[0], 8, flatq), wrap(2 * beat)); - k = biquad(lowpass(&s->bbq[1], 4, 3), k); + k = biquad(lowpass(&s->bbq[1], 4, 4), k); k = samphold(&s->bsh[0], k, -k); out[4] = 2 * beat - 1; out[5] = k;
diff @ 2019-02-15 21:50:31 +0000 diff --git a/client/go.c b/client/go.c index d17f9273c..c10e825c5 100644 --- a/client/go.c +++ b/client/go.c @@ -92,7 +92,7 @@ go(S *s, int channels, const float *in, float *out) sample bar = wrap(4 * bar4); sample beat = wrap(4 * bar); sample k = biquad(highpass(&s->bbq[0], 8, flatq), wrap(2 * beat)); - k = biquad(lowpass(&s->bbq[1], 4, 4), k); + k = biquad(lowpass(&s->bbq[1], 8, 4), k); k = samphold(&s->bsh[0], k, -k); out[4] = 2 * beat - 1; out[5] = k;
diff @ 2019-02-15 21:50:54 +0000 diff --git a/client/go.c b/client/go.c index c10e825c5..3ee158d2b 100644 --- a/client/go.c +++ b/client/go.c @@ -97,7 +97,7 @@ go(S *s, int channels, const float *in, float *out) out[4] = 2 * beat - 1; out[5] = k; sample kick = bd(&s->bd, k); - sample snare = sn(&s->sn, beat); + sample snare = sn(&s->sn, wrap(2* bar)); sample drum = wrap(2 * bar) < 0.5 ? kick : snare; mixdown[0] += drum; mixdown[1] += drum;
diff @ 2019-02-15 21:51:00 +0000 diff --git a/client/go.c b/client/go.c index 3ee158d2b..373d6ca04 100644 --- a/client/go.c +++ b/client/go.c @@ -97,7 +97,7 @@ go(S *s, int channels, const float *in, float *out) out[4] = 2 * beat - 1; out[5] = k; sample kick = bd(&s->bd, k); - sample snare = sn(&s->sn, wrap(2* bar)); + sample snare = sn(&s->sn, wrap(2* bar -0.5)); sample drum = wrap(2 * bar) < 0.5 ? kick : snare; mixdown[0] += drum; mixdown[1] += drum;
diff @ 2019-02-15 21:51:06 +0000 diff --git a/client/go.c b/client/go.c index 373d6ca04..0a4294dfd 100644 --- a/client/go.c +++ b/client/go.c @@ -97,7 +97,7 @@ go(S *s, int channels, const float *in, float *out) out[4] = 2 * beat - 1; out[5] = k; sample kick = bd(&s->bd, k); - sample snare = sn(&s->sn, wrap(2* bar -0.5)); + sample snare = sn(&s->sn, wrap(2* bar -0.5) * 4); sample drum = wrap(2 * bar) < 0.5 ? kick : snare; mixdown[0] += drum; mixdown[1] += drum;
diff @ 2019-02-15 21:51:13 +0000 diff --git a/client/go.c b/client/go.c index 0a4294dfd..b1365b47c 100644 --- a/client/go.c +++ b/client/go.c @@ -98,7 +98,7 @@ go(S *s, int channels, const float *in, float *out) out[5] = k; sample kick = bd(&s->bd, k); sample snare = sn(&s->sn, wrap(2* bar -0.5) * 4); - sample drum = wrap(2 * bar) < 0.5 ? kick : snare; + sample drum = kick + snare; mixdown[0] += drum; mixdown[1] += drum; }
diff @ 2019-02-15 21:51:31 +0000 diff --git a/client/go.c b/client/go.c index b1365b47c..b186dd722 100644 --- a/client/go.c +++ b/client/go.c @@ -91,7 +91,7 @@ go(S *s, int channels, const float *in, float *out) sample bar4 = phasor(&s->bdsn, bpm / 60 / 16); sample bar = wrap(4 * bar4); sample beat = wrap(4 * bar); - sample k = biquad(highpass(&s->bbq[0], 8, flatq), wrap(2 * beat)); + sample k = biquad(highpass(&s->bbq[0], 16, flatq), wrap(2 * beat)); k = biquad(lowpass(&s->bbq[1], 8, 4), k); k = samphold(&s->bsh[0], k, -k); out[4] = 2 * beat - 1;
diff @ 2019-02-15 21:51:37 +0000 diff --git a/client/go.c b/client/go.c index b186dd722..6fe5c1cc9 100644 --- a/client/go.c +++ b/client/go.c @@ -83,7 +83,7 @@ go(S *s, int channels, const float *in, float *out) s->pdel2.length = SR; } sample mixdown[2] = { 0, 0 }; - sample bpm = 130; + sample bpm = 120; //int time = s->time++; // = 1 = bdsn ========================================================
diff @ 2019-02-15 21:52:07 +0000 diff --git a/client/go.c b/client/go.c index 6fe5c1cc9..565d47ff7 100644 --- a/client/go.c +++ b/client/go.c @@ -97,7 +97,9 @@ go(S *s, int channels, const float *in, float *out) out[4] = 2 * beat - 1; out[5] = k; sample kick = bd(&s->bd, k); - sample snare = sn(&s->sn, wrap(2* bar -0.5) * 4); + sample n = wrap(2* bar -0.5) * 4; + n = biquad(highpass(&s->nbq[2], 32, flatq), n); + sample snare = sn(&s->sn, n); sample drum = kick + snare; mixdown[0] += drum; mixdown[1] += drum;
diff @ 2019-02-15 21:52:14 +0000 diff --git a/client/go.c b/client/go.c index 565d47ff7..8d0efa8fb 100644 --- a/client/go.c +++ b/client/go.c @@ -98,7 +98,7 @@ go(S *s, int channels, const float *in, float *out) out[5] = k; sample kick = bd(&s->bd, k); sample n = wrap(2* bar -0.5) * 4; - n = biquad(highpass(&s->nbq[2], 32, flatq), n); + n = biquad(highpass(&s->bbq[2], 32, flatq), n); sample snare = sn(&s->sn, n); sample drum = kick + snare; mixdown[0] += drum;
diff @ 2019-02-15 21:52:29 +0000 diff --git a/client/go.c b/client/go.c index 8d0efa8fb..ebcb049e8 100644 --- a/client/go.c +++ b/client/go.c @@ -99,6 +99,8 @@ go(S *s, int channels, const float *in, float *out) sample kick = bd(&s->bd, k); sample n = wrap(2* bar -0.5) * 4; n = biquad(highpass(&s->bbq[2], 32, flatq), n); + out[6] = out[4]; + out[7] = n; sample snare = sn(&s->sn, n); sample drum = kick + snare; mixdown[0] += drum;
diff @ 2019-02-15 21:52:39 +0000 diff --git a/client/go.c b/client/go.c index ebcb049e8..95e68a4a6 100644 --- a/client/go.c +++ b/client/go.c @@ -98,7 +98,7 @@ go(S *s, int channels, const float *in, float *out) out[5] = k; sample kick = bd(&s->bd, k); sample n = wrap(2* bar -0.5) * 4; - n = biquad(highpass(&s->bbq[2], 32, flatq), n); + n = biquad(highpass(&s->bbq[2], 32, 10), n); out[6] = out[4]; out[7] = n; sample snare = sn(&s->sn, n);
diff @ 2019-02-15 21:52:44 +0000 diff --git a/client/go.c b/client/go.c index 95e68a4a6..e0a836dd9 100644 --- a/client/go.c +++ b/client/go.c @@ -98,7 +98,7 @@ go(S *s, int channels, const float *in, float *out) out[5] = k; sample kick = bd(&s->bd, k); sample n = wrap(2* bar -0.5) * 4; - n = biquad(highpass(&s->bbq[2], 32, 10), n); + n = biquad(highpass(&s->bbq[2], 32, 12), n); out[6] = out[4]; out[7] = n; sample snare = sn(&s->sn, n);
diff @ 2019-02-15 21:52:50 +0000 diff --git a/client/go.c b/client/go.c index e0a836dd9..b0436db81 100644 --- a/client/go.c +++ b/client/go.c @@ -98,7 +98,7 @@ go(S *s, int channels, const float *in, float *out) out[5] = k; sample kick = bd(&s->bd, k); sample n = wrap(2* bar -0.5) * 4; - n = biquad(highpass(&s->bbq[2], 32, 12), n); + n = biquad(highpass(&s->bbq[2], 36, 12), n); out[6] = out[4]; out[7] = n; sample snare = sn(&s->sn, n);
diff @ 2019-02-15 21:52:58 +0000 diff --git a/client/go.c b/client/go.c index b0436db81..07ac8b9dc 100644 --- a/client/go.c +++ b/client/go.c @@ -98,7 +98,7 @@ go(S *s, int channels, const float *in, float *out) out[5] = k; sample kick = bd(&s->bd, k); sample n = wrap(2* bar -0.5) * 4; - n = biquad(highpass(&s->bbq[2], 36, 12), n); + n = biquad(highpass(&s->bbq[2], 64, 12), n); out[6] = out[4]; out[7] = n; sample snare = sn(&s->sn, n);
diff @ 2019-02-15 21:53:26 +0000 diff --git a/client/go.c b/client/go.c index 07ac8b9dc..e147bb4df 100644 --- a/client/go.c +++ b/client/go.c @@ -87,6 +87,7 @@ go(S *s, int channels, const float *in, float *out) //int time = s->time++; // = 1 = bdsn ======================================================== + sample snare; { sample bar4 = phasor(&s->bdsn, bpm / 60 / 16); sample bar = wrap(4 * bar4); @@ -101,7 +102,7 @@ go(S *s, int channels, const float *in, float *out) n = biquad(highpass(&s->bbq[2], 64, 12), n); out[6] = out[4]; out[7] = n; - sample snare = sn(&s->sn, n); + snare = sn(&s->sn, n); sample drum = kick + snare; mixdown[0] += drum; mixdown[1] += drum; @@ -153,7 +154,7 @@ go(S *s, int channels, const float *in, float *out) // write to delay lines for (int c = 0; c < 2; ++c) { so2echo(&s->so2.echo[c], 20, 500, - tanh(so2[c] + RESET*impulse[c])); + tanh(so2[c] + snare)); } mixdown[0] += so2[0]; mixdown[1] += so2[1];
diff @ 2019-02-15 21:53:29 +0000 diff --git a/client/go.c b/client/go.c index e147bb4df..e18bbc08b 100644 --- a/client/go.c +++ b/client/go.c @@ -153,7 +153,7 @@ go(S *s, int channels, const float *in, float *out) so2[1] *= gain; // write to delay lines for (int c = 0; c < 2; ++c) { - so2echo(&s->so2.echo[c], 20, 500, + so2echo(&s->so2.echo[c], 120, 500, tanh(so2[c] + snare)); } mixdown[0] += so2[0];
diff @ 2019-02-15 21:53:31 +0000 diff --git a/client/go.c b/client/go.c index e18bbc08b..bfd732184 100644 --- a/client/go.c +++ b/client/go.c @@ -153,7 +153,7 @@ go(S *s, int channels, const float *in, float *out) so2[1] *= gain; // write to delay lines for (int c = 0; c < 2; ++c) { - so2echo(&s->so2.echo[c], 120, 500, + so2echo(&s->so2.echo[c], 120, 1500, tanh(so2[c] + snare)); } mixdown[0] += so2[0];
diff @ 2019-02-15 21:53:38 +0000 diff --git a/client/go.c b/client/go.c index bfd732184..dc55af31c 100644 --- a/client/go.c +++ b/client/go.c @@ -153,7 +153,7 @@ go(S *s, int channels, const float *in, float *out) so2[1] *= gain; // write to delay lines for (int c = 0; c < 2; ++c) { - so2echo(&s->so2.echo[c], 120, 1500, + so2echo(&s->so2.echo[c], 120, 2500, tanh(so2[c] + snare)); } mixdown[0] += so2[0];
diff @ 2019-02-15 21:53:56 +0000 diff --git a/client/go.c b/client/go.c index dc55af31c..bd0dd8cec 100644 --- a/client/go.c +++ b/client/go.c @@ -100,6 +100,7 @@ go(S *s, int channels, const float *in, float *out) sample kick = bd(&s->bd, k); sample n = wrap(2* bar -0.5) * 4; n = biquad(highpass(&s->bbq[2], 64, 12), n); + n = wrap(n); out[6] = out[4]; out[7] = n; snare = sn(&s->sn, n);
diff @ 2019-02-15 21:54:05 +0000 diff --git a/client/go.c b/client/go.c index bd0dd8cec..4757ead54 100644 --- a/client/go.c +++ b/client/go.c @@ -100,7 +100,7 @@ go(S *s, int channels, const float *in, float *out) sample kick = bd(&s->bd, k); sample n = wrap(2* bar -0.5) * 4; n = biquad(highpass(&s->bbq[2], 64, 12), n); - n = wrap(n); + n = wrap(n + 0.5); out[6] = out[4]; out[7] = n; snare = sn(&s->sn, n);
diff @ 2019-02-15 21:54:41 +0000 diff --git a/client/go.c b/client/go.c index 4757ead54..0a763eda1 100644 --- a/client/go.c +++ b/client/go.c @@ -144,8 +144,8 @@ go(S *s, int channels, const float *in, float *out) output[0] += band[0]; output[1] += band[1]; } - feedback[0] = output[0]; - feedback[1] = output[1]; + feedback[0] = sin(output[0]); + feedback[1] = sin(output[1]); // compress feedback compress(so2, &s->so2.compress, 5, 10, 25, 48, feedback); @@ -155,10 +155,10 @@ go(S *s, int channels, const float *in, float *out) // write to delay lines for (int c = 0; c < 2; ++c) { so2echo(&s->so2.echo[c], 120, 2500, - tanh(so2[c] + snare)); + tanh(so2[c])); } - mixdown[0] += so2[0]; - mixdown[1] += so2[1]; + mixdown[0] = so2[0]; + mixdown[1] = so2[1]; } // = 3 = pegasus =====================================================
diff @ 2019-02-15 21:54:54 +0000 diff --git a/client/go.c b/client/go.c index 0a763eda1..d8f7fb3af 100644 --- a/client/go.c +++ b/client/go.c @@ -115,7 +115,7 @@ go(S *s, int channels, const float *in, float *out) // trigger impulse on reload sample impulse[2] = { s->reloaded, s->reloaded }; // modulate delay times - sample p = phasor(&s->so2.phase, 0.01); + sample p = phasor(&s->so2.phase, bpm/60); sample modulation = 10 * cos(twopi * p); sample feedback[2] = { delread4(&s->so2.echo[1].del, 200 - modulation)
diff @ 2019-02-15 21:54:57 +0000 diff --git a/client/go.c b/client/go.c index d8f7fb3af..a86670b3f 100644 --- a/client/go.c +++ b/client/go.c @@ -116,7 +116,7 @@ go(S *s, int channels, const float *in, float *out) sample impulse[2] = { s->reloaded, s->reloaded }; // modulate delay times sample p = phasor(&s->so2.phase, bpm/60); - sample modulation = 10 * cos(twopi * p); + sample modulation = 1 * cos(twopi * p); sample feedback[2] = { delread4(&s->so2.echo[1].del, 200 - modulation) , delread4(&s->so2.echo[0].del, 200 + modulation)
diff @ 2019-02-15 21:55:13 +0000 diff --git a/client/go.c b/client/go.c index a86670b3f..6ccdab0ea 100644 --- a/client/go.c +++ b/client/go.c @@ -118,8 +118,8 @@ go(S *s, int channels, const float *in, float *out) sample p = phasor(&s->so2.phase, bpm/60); sample modulation = 1 * cos(twopi * p); sample feedback[2] = - { delread4(&s->so2.echo[1].del, 200 - modulation) - , delread4(&s->so2.echo[0].del, 200 + modulation) + { delread4(&s->so2.echo[1].del, 1000 / (bpm/60) - modulation) + , delread4(&s->so2.echo[0].del, 1000 / (bpm/60) + modulation) }; // pitchshift feedback for (int c = 0; c < 2; ++c) {
diff @ 2019-02-15 21:55:23 +0000 diff --git a/client/go.c b/client/go.c index 6ccdab0ea..fb8f45278 100644 --- a/client/go.c +++ b/client/go.c @@ -123,9 +123,9 @@ go(S *s, int channels, const float *in, float *out) }; // pitchshift feedback for (int c = 0; c < 2; ++c) { - sample down = pitchshift(&s->so2.shift[2 * c + 0], 2, 100, + sample down = pitchshift(&s->so2.shift[2 * c + 0], 2, 50, lop(&s->so2.lag[0], -12, 1e-3), feedback[c]); - sample up = pitchshift(&s->so2.shift[2 * c + 1], 2, 100, + sample up = pitchshift(&s->so2.shift[2 * c + 1], 2, 50, lop(&s->so2.lag[1], 19, 1e-3), down); feedback[c] = feedback[c] - down - up; }
diff @ 2019-02-15 21:55:32 +0000 diff --git a/client/go.c b/client/go.c index fb8f45278..a72183859 100644 --- a/client/go.c +++ b/client/go.c @@ -124,9 +124,9 @@ go(S *s, int channels, const float *in, float *out) // pitchshift feedback for (int c = 0; c < 2; ++c) { sample down = pitchshift(&s->so2.shift[2 * c + 0], 2, 50, - lop(&s->so2.lag[0], -12, 1e-3), feedback[c]); + lop(&s->so2.lag[0], -0.1, 1e-3), feedback[c]); sample up = pitchshift(&s->so2.shift[2 * c + 1], 2, 50, - lop(&s->so2.lag[1], 19, 1e-3), down); + lop(&s->so2.lag[1], 0.2, 1e-3), down); feedback[c] = feedback[c] - down - up; }
diff @ 2019-02-15 21:55:39 +0000 diff --git a/client/go.c b/client/go.c index a72183859..2fcd32cd1 100644 --- a/client/go.c +++ b/client/go.c @@ -118,8 +118,8 @@ go(S *s, int channels, const float *in, float *out) sample p = phasor(&s->so2.phase, bpm/60); sample modulation = 1 * cos(twopi * p); sample feedback[2] = - { delread4(&s->so2.echo[1].del, 1000 / (bpm/60) - modulation) - , delread4(&s->so2.echo[0].del, 1000 / (bpm/60) + modulation) + { delread4(&s->so2.echo[1].del, 0.25 * 1000 / (bpm/60) - modulation) + , delread4(&s->so2.echo[0].del, 0.25 * 1000 / (bpm/60) + modulation) }; // pitchshift feedback for (int c = 0; c < 2; ++c) {
diff @ 2019-02-15 21:55:48 +0000 diff --git a/client/go.c b/client/go.c index 2fcd32cd1..169df70ef 100644 --- a/client/go.c +++ b/client/go.c @@ -118,8 +118,8 @@ go(S *s, int channels, const float *in, float *out) sample p = phasor(&s->so2.phase, bpm/60); sample modulation = 1 * cos(twopi * p); sample feedback[2] = - { delread4(&s->so2.echo[1].del, 0.25 * 1000 / (bpm/60) - modulation) - , delread4(&s->so2.echo[0].del, 0.25 * 1000 / (bpm/60) + modulation) + { delread4(&s->so2.echo[1].del, 0.25/4 * 1000 / (bpm/60) - modulation) + , delread4(&s->so2.echo[0].del, 0.25/4 * 1000 / (bpm/60) + modulation) }; // pitchshift feedback for (int c = 0; c < 2; ++c) {
diff @ 2019-02-15 21:55:59 +0000 diff --git a/client/go.c b/client/go.c index 169df70ef..21e304a38 100644 --- a/client/go.c +++ b/client/go.c @@ -123,9 +123,9 @@ go(S *s, int channels, const float *in, float *out) }; // pitchshift feedback for (int c = 0; c < 2; ++c) { - sample down = pitchshift(&s->so2.shift[2 * c + 0], 2, 50, + sample down = pitchshift(&s->so2.shift[2 * c + 0], 2, 25, lop(&s->so2.lag[0], -0.1, 1e-3), feedback[c]); - sample up = pitchshift(&s->so2.shift[2 * c + 1], 2, 50, + sample up = pitchshift(&s->so2.shift[2 * c + 1], 2, 25, lop(&s->so2.lag[1], 0.2, 1e-3), down); feedback[c] = feedback[c] - down - up; }
diff @ 2019-02-15 21:56:08 +0000 diff --git a/client/go.c b/client/go.c index 21e304a38..23d53048b 100644 --- a/client/go.c +++ b/client/go.c @@ -154,7 +154,7 @@ go(S *s, int channels, const float *in, float *out) so2[1] *= gain; // write to delay lines for (int c = 0; c < 2; ++c) { - so2echo(&s->so2.echo[c], 120, 2500, + so2echo(&s->so2.echo[c], 10, 2500, tanh(so2[c])); } mixdown[0] = so2[0];
diff @ 2019-02-15 21:56:14 +0000 diff --git a/client/go.c b/client/go.c index 23d53048b..f938b1213 100644 --- a/client/go.c +++ b/client/go.c @@ -154,7 +154,7 @@ go(S *s, int channels, const float *in, float *out) so2[1] *= gain; // write to delay lines for (int c = 0; c < 2; ++c) { - so2echo(&s->so2.echo[c], 10, 2500, + so2echo(&s->so2.echo[c], 10, 8500, tanh(so2[c])); } mixdown[0] = so2[0];
diff @ 2019-02-15 21:56:33 +0000 diff --git a/client/go.c b/client/go.c index f938b1213..bf8f78638 100644 --- a/client/go.c +++ b/client/go.c @@ -127,7 +127,7 @@ go(S *s, int channels, const float *in, float *out) lop(&s->so2.lag[0], -0.1, 1e-3), feedback[c]); sample up = pitchshift(&s->so2.shift[2 * c + 1], 2, 25, lop(&s->so2.lag[1], 0.2, 1e-3), down); - feedback[c] = feedback[c] - down - up; + feedback[c] = sin(2 * feedback[c] - down - up); } // multiband compressor
diff @ 2019-02-15 21:56:41 +0000 diff --git a/client/go.c b/client/go.c index bf8f78638..1556a67c4 100644 --- a/client/go.c +++ b/client/go.c @@ -118,8 +118,8 @@ go(S *s, int channels, const float *in, float *out) sample p = phasor(&s->so2.phase, bpm/60); sample modulation = 1 * cos(twopi * p); sample feedback[2] = - { delread4(&s->so2.echo[1].del, 0.25/4 * 1000 / (bpm/60) - modulation) - , delread4(&s->so2.echo[0].del, 0.25/4 * 1000 / (bpm/60) + modulation) + { delread4(&s->so2.echo[1].del, 0.25/16 * 1000 / (bpm/60) - modulation) + , delread4(&s->so2.echo[0].del, 0.25/16 * 1000 / (bpm/60) + modulation) }; // pitchshift feedback for (int c = 0; c < 2; ++c) {
diff @ 2019-02-15 21:56:47 +0000 diff --git a/client/go.c b/client/go.c index 1556a67c4..dff6fc3a4 100644 --- a/client/go.c +++ b/client/go.c @@ -118,8 +118,8 @@ go(S *s, int channels, const float *in, float *out) sample p = phasor(&s->so2.phase, bpm/60); sample modulation = 1 * cos(twopi * p); sample feedback[2] = - { delread4(&s->so2.echo[1].del, 0.25/16 * 1000 / (bpm/60) - modulation) - , delread4(&s->so2.echo[0].del, 0.25/16 * 1000 / (bpm/60) + modulation) + { delread4(&s->so2.echo[1].del, 0.25/64 * 1000 / (bpm/60) - modulation) + , delread4(&s->so2.echo[0].del, 0.25/64 * 1000 / (bpm/60) + modulation) }; // pitchshift feedback for (int c = 0; c < 2; ++c) {
diff @ 2019-02-15 21:56:56 +0000 diff --git a/client/go.c b/client/go.c index dff6fc3a4..8b5eaad62 100644 --- a/client/go.c +++ b/client/go.c @@ -123,9 +123,9 @@ go(S *s, int channels, const float *in, float *out) }; // pitchshift feedback for (int c = 0; c < 2; ++c) { - sample down = pitchshift(&s->so2.shift[2 * c + 0], 2, 25, + sample down = pitchshift(&s->so2.shift[2 * c + 0], 2, 50, lop(&s->so2.lag[0], -0.1, 1e-3), feedback[c]); - sample up = pitchshift(&s->so2.shift[2 * c + 1], 2, 25, + sample up = pitchshift(&s->so2.shift[2 * c + 1], 2, 50, lop(&s->so2.lag[1], 0.2, 1e-3), down); feedback[c] = sin(2 * feedback[c] - down - up); }
diff @ 2019-02-15 21:57:01 +0000 diff --git a/client/go.c b/client/go.c index 8b5eaad62..f127db7ee 100644 --- a/client/go.c +++ b/client/go.c @@ -123,9 +123,9 @@ go(S *s, int channels, const float *in, float *out) }; // pitchshift feedback for (int c = 0; c < 2; ++c) { - sample down = pitchshift(&s->so2.shift[2 * c + 0], 2, 50, + sample down = pitchshift(&s->so2.shift[2 * c + 0], 1, 50, lop(&s->so2.lag[0], -0.1, 1e-3), feedback[c]); - sample up = pitchshift(&s->so2.shift[2 * c + 1], 2, 50, + sample up = pitchshift(&s->so2.shift[2 * c + 1], 1, 50, lop(&s->so2.lag[1], 0.2, 1e-3), down); feedback[c] = sin(2 * feedback[c] - down - up); }
diff @ 2019-02-15 21:57:07 +0000 diff --git a/client/go.c b/client/go.c index f127db7ee..1f414664a 100644 --- a/client/go.c +++ b/client/go.c @@ -124,9 +124,9 @@ go(S *s, int channels, const float *in, float *out) // pitchshift feedback for (int c = 0; c < 2; ++c) { sample down = pitchshift(&s->so2.shift[2 * c + 0], 1, 50, - lop(&s->so2.lag[0], -0.1, 1e-3), feedback[c]); + lop(&s->so2.lag[0], -0.01, 1e-3), feedback[c]); sample up = pitchshift(&s->so2.shift[2 * c + 1], 1, 50, - lop(&s->so2.lag[1], 0.2, 1e-3), down); + lop(&s->so2.lag[1], 0.02, 1e-3), down); feedback[c] = sin(2 * feedback[c] - down - up); }
diff @ 2019-02-15 21:57:17 +0000 diff --git a/client/go.c b/client/go.c index 1f414664a..361df654a 100644 --- a/client/go.c +++ b/client/go.c @@ -154,7 +154,7 @@ go(S *s, int channels, const float *in, float *out) so2[1] *= gain; // write to delay lines for (int c = 0; c < 2; ++c) { - so2echo(&s->so2.echo[c], 10, 8500, + so2echo(&s->so2.echo[c], 10, 10, tanh(so2[c])); } mixdown[0] = so2[0];
diff @ 2019-02-15 21:57:25 +0000 diff --git a/client/go.c b/client/go.c index 361df654a..59f4f937c 100644 --- a/client/go.c +++ b/client/go.c @@ -154,7 +154,7 @@ go(S *s, int channels, const float *in, float *out) so2[1] *= gain; // write to delay lines for (int c = 0; c < 2; ++c) { - so2echo(&s->so2.echo[c], 10, 10, + so2echo(&s->so2.echo[c], 20, 20, tanh(so2[c])); } mixdown[0] = so2[0];
diff @ 2019-02-15 21:57:50 +0000 diff --git a/client/go.c b/client/go.c index 59f4f937c..35506ea98 100644 --- a/client/go.c +++ b/client/go.c @@ -83,7 +83,7 @@ go(S *s, int channels, const float *in, float *out) s->pdel2.length = SR; } sample mixdown[2] = { 0, 0 }; - sample bpm = 120; + sample bpm = 144; //int time = s->time++; // = 1 = bdsn ======================================================== @@ -154,7 +154,7 @@ go(S *s, int channels, const float *in, float *out) so2[1] *= gain; // write to delay lines for (int c = 0; c < 2; ++c) { - so2echo(&s->so2.echo[c], 20, 20, + so2echo(&s->so2.echo[c], 2000, 20, tanh(so2[c])); } mixdown[0] = so2[0]; @@ -163,11 +163,10 @@ go(S *s, int channels, const float *in, float *out) // = 3 = pegasus ===================================================== { - int active = 0; + int active = 1; if (! active) s->prhythm.phase = 0; // rhythms - sample bpm = 144; sample r = phasor(&s->prhythm, bpm/60/512); sample hz = 60; sample p = (1 - samphold(&s->psh[0], 1, r)) * wrap(512/4 * r);
diff @ 2019-02-15 21:58:16 +0000 diff --git a/client/go.c b/client/go.c index 35506ea98..d5120f1d2 100644 --- a/client/go.c +++ b/client/go.c @@ -95,14 +95,10 @@ go(S *s, int channels, const float *in, float *out) sample k = biquad(highpass(&s->bbq[0], 16, flatq), wrap(2 * beat)); k = biquad(lowpass(&s->bbq[1], 8, 4), k); k = samphold(&s->bsh[0], k, -k); - out[4] = 2 * beat - 1; - out[5] = k; sample kick = bd(&s->bd, k); sample n = wrap(2* bar -0.5) * 4; n = biquad(highpass(&s->bbq[2], 64, 12), n); n = wrap(n + 0.5); - out[6] = out[4]; - out[7] = n; snare = sn(&s->sn, n); sample drum = kick + snare; mixdown[0] += drum;
diff @ 2019-02-15 21:58:32 +0000 diff --git a/client/go.c b/client/go.c index d5120f1d2..4cfc08321 100644 --- a/client/go.c +++ b/client/go.c @@ -186,10 +186,10 @@ go(S *s, int channels, const float *in, float *out) // tones sample osc = active * sin(twopi * phasor(&s->posc[0], hz)); - sample o = sin(24 * env * osc - delread1(&s->pdel1, 1000 / (bpm/60)/32)); + sample o = sin(36 * env * osc - delread1(&s->pdel1, 1000 / (bpm/60)/32)); o += biquad(lowpass(&s->pbq[6], 1000 * pow(16, env), flatq), o); o += biquad(highpass(&s->pbq[7], 50, flatq), o); - sample o2 = sin(24 * env2 * osc - delread1(&s->pdel2, 1000 / (bpm/60)/32)); + sample o2 = sin(36 * env2 * osc - delread1(&s->pdel2, 1000 / (bpm/60)/32)); o2 += biquad(lowpass(&s->pbq[8], 1000 * pow(16, env2), flatq), o2); o2 += biquad(highpass(&s->pbq[9], 50, flatq), o2);
diff @ 2019-02-15 21:58:43 +0000 diff --git a/client/go.c b/client/go.c index 4cfc08321..462676604 100644 --- a/client/go.c +++ b/client/go.c @@ -186,10 +186,10 @@ go(S *s, int channels, const float *in, float *out) // tones sample osc = active * sin(twopi * phasor(&s->posc[0], hz)); - sample o = sin(36 * env * osc - delread1(&s->pdel1, 1000 / (bpm/60)/32)); + sample o = sin(36 * pow(env, 2) * osc - delread1(&s->pdel1, 1000 / (bpm/60)/32)); o += biquad(lowpass(&s->pbq[6], 1000 * pow(16, env), flatq), o); o += biquad(highpass(&s->pbq[7], 50, flatq), o); - sample o2 = sin(36 * env2 * osc - delread1(&s->pdel2, 1000 / (bpm/60)/32)); + sample o2 = sin(36 * pow(env2, 2) * osc - delread1(&s->pdel2, 1000 / (bpm/60)/32)); o2 += biquad(lowpass(&s->pbq[8], 1000 * pow(16, env2), flatq), o2); o2 += biquad(highpass(&s->pbq[9], 50, flatq), o2);
diff @ 2019-02-15 21:58:52 +0000 diff --git a/client/go.c b/client/go.c index 462676604..89963b6a5 100644 --- a/client/go.c +++ b/client/go.c @@ -150,7 +150,7 @@ go(S *s, int channels, const float *in, float *out) so2[1] *= gain; // write to delay lines for (int c = 0; c < 2; ++c) { - so2echo(&s->so2.echo[c], 2000, 20, + so2echo(&s->so2.echo[c], 12000, 20, tanh(so2[c])); } mixdown[0] = so2[0];
diff @ 2019-02-15 21:58:58 +0000 diff --git a/client/go.c b/client/go.c index 89963b6a5..85dc403e7 100644 --- a/client/go.c +++ b/client/go.c @@ -150,7 +150,7 @@ go(S *s, int channels, const float *in, float *out) so2[1] *= gain; // write to delay lines for (int c = 0; c < 2; ++c) { - so2echo(&s->so2.echo[c], 12000, 20, + so2echo(&s->so2.echo[c], 12000, 100, tanh(so2[c])); } mixdown[0] = so2[0];
diff @ 2019-02-15 21:59:02 +0000 diff --git a/client/go.c b/client/go.c index 85dc403e7..718e6604b 100644 --- a/client/go.c +++ b/client/go.c @@ -150,7 +150,7 @@ go(S *s, int channels, const float *in, float *out) so2[1] *= gain; // write to delay lines for (int c = 0; c < 2; ++c) { - so2echo(&s->so2.echo[c], 12000, 100, + so2echo(&s->so2.echo[c], 18000, 100, tanh(so2[c])); } mixdown[0] = so2[0];
diff @ 2019-02-15 21:59:09 +0000 diff --git a/client/go.c b/client/go.c index 718e6604b..b5fafc0d4 100644 --- a/client/go.c +++ b/client/go.c @@ -153,8 +153,8 @@ go(S *s, int channels, const float *in, float *out) so2echo(&s->so2.echo[c], 18000, 100, tanh(so2[c])); } - mixdown[0] = so2[0]; - mixdown[1] = so2[1]; + mixdown[0] = so2[0] * 0; + mixdown[1] = so2[1] *0; } // = 3 = pegasus =====================================================
diff @ 2019-02-15 21:59:17 +0000 diff --git a/client/go.c b/client/go.c index b5fafc0d4..22801b6bf 100644 --- a/client/go.c +++ b/client/go.c @@ -212,7 +212,7 @@ go(S *s, int channels, const float *in, float *out) cym2 *= cymenv; // kick - sample kick = 1 - wrap(4 * p); + sample kick = 1 - wrap(8 * p); kick *= kick; kick *= kick; kick *= kick;
diff @ 2019-02-15 21:59:22 +0000 diff --git a/client/go.c b/client/go.c index 22801b6bf..5c815a64a 100644 --- a/client/go.c +++ b/client/go.c @@ -212,7 +212,7 @@ go(S *s, int channels, const float *in, float *out) cym2 *= cymenv; // kick - sample kick = 1 - wrap(8 * p); + sample kick = 1 - wrap(16 * p); kick *= kick; kick *= kick; kick *= kick;
diff @ 2019-02-15 21:59:25 +0000 diff --git a/client/go.c b/client/go.c index 5c815a64a..1e759eb7a 100644 --- a/client/go.c +++ b/client/go.c @@ -215,7 +215,6 @@ go(S *s, int channels, const float *in, float *out) sample kick = 1 - wrap(16 * p); kick *= kick; kick *= kick; - kick *= kick; kick = 1.5 * tanh(2 * biquad(highpass(&s->pbq[12], 40, 10), tanh(sin(twopi * 20 * active * kick) * (1 + kick)))); sample output[2] =
diff @ 2019-02-15 21:59:32 +0000 diff --git a/client/go.c b/client/go.c index 1e759eb7a..af0afaffe 100644 --- a/client/go.c +++ b/client/go.c @@ -215,7 +215,7 @@ go(S *s, int channels, const float *in, float *out) sample kick = 1 - wrap(16 * p); kick *= kick; kick *= kick; - kick = 1.5 * tanh(2 * biquad(highpass(&s->pbq[12], 40, 10), + kick = 1.5 * tanh(2 * biquad(highpass(&s->pbq[12], 30, 10), tanh(sin(twopi * 20 * active * kick) * (1 + kick)))); sample output[2] = { o + 0.1 * o2 + cym + kick
diff @ 2019-02-15 21:59:36 +0000 diff --git a/client/go.c b/client/go.c index af0afaffe..8f126a7a2 100644 --- a/client/go.c +++ b/client/go.c @@ -215,7 +215,7 @@ go(S *s, int channels, const float *in, float *out) sample kick = 1 - wrap(16 * p); kick *= kick; kick *= kick; - kick = 1.5 * tanh(2 * biquad(highpass(&s->pbq[12], 30, 10), + kick = 1.5 * tanh(2 * biquad(highpass(&s->pbq[12], 30, 20), tanh(sin(twopi * 20 * active * kick) * (1 + kick)))); sample output[2] = { o + 0.1 * o2 + cym + kick
diff @ 2019-02-15 21:59:44 +0000 diff --git a/client/go.c b/client/go.c index 8f126a7a2..4a295b72e 100644 --- a/client/go.c +++ b/client/go.c @@ -215,6 +215,7 @@ go(S *s, int channels, const float *in, float *out) sample kick = 1 - wrap(16 * p); kick *= kick; kick *= kick; + kick *= kick; kick = 1.5 * tanh(2 * biquad(highpass(&s->pbq[12], 30, 20), tanh(sin(twopi * 20 * active * kick) * (1 + kick)))); sample output[2] =
diff @ 2019-02-15 21:59:52 +0000 diff --git a/client/go.c b/client/go.c index 4a295b72e..9a51713b9 100644 --- a/client/go.c +++ b/client/go.c @@ -217,7 +217,7 @@ go(S *s, int channels, const float *in, float *out) kick *= kick; kick *= kick; kick = 1.5 * tanh(2 * biquad(highpass(&s->pbq[12], 30, 20), - tanh(sin(twopi * 20 * active * kick) * (1 + kick)))); + tanh(sin(twopi * 30 * active * kick) * (1 + kick)))); sample output[2] = { o + 0.1 * o2 + cym + kick , o2 - 0.1 * o + cym2 + kick
diff @ 2019-02-15 22:00:04 +0000 diff --git a/client/go.c b/client/go.c index 9a51713b9..a38600b1b 100644 --- a/client/go.c +++ b/client/go.c @@ -196,11 +196,11 @@ go(S *s, int channels, const float *in, float *out) // cymbal sample cym = phasor(&s->pcym[0], 60 * pow(2, 8) * mtof(biquad(highpass(&s->pbq[10], 8000, flatq), - noise() + 36 * cos(twopi * s->pcym[1].phase))/mtof(0))); + noise() + 24 * cos(twopi * s->pcym[1].phase))/mtof(0))); cym = sin(twopi * cym); sample cym2 = phasor(&s->pcym[1], 60 * pow(2, 8) * mtof(biquad(highpass(&s->pbq[11], 8000, flatq), - noise() + 36 * cos(twopi * s->pcym[0].phase))/mtof(0))); + noise() + 24 * cos(twopi * s->pcym[0].phase))/mtof(0))); cym2 = sin(twopi * cym2); sample cymenv = 1 - wrap(2 * pow(wrap(8 * p), 1./0.85)); cymenv *= cymenv;
diff @ 2019-02-15 22:00:11 +0000 diff --git a/client/go.c b/client/go.c index a38600b1b..fa4eb977d 100644 --- a/client/go.c +++ b/client/go.c @@ -196,11 +196,11 @@ go(S *s, int channels, const float *in, float *out) // cymbal sample cym = phasor(&s->pcym[0], 60 * pow(2, 8) * mtof(biquad(highpass(&s->pbq[10], 8000, flatq), - noise() + 24 * cos(twopi * s->pcym[1].phase))/mtof(0))); + noise() + 12 * cos(twopi * s->pcym[1].phase))/mtof(0))); cym = sin(twopi * cym); sample cym2 = phasor(&s->pcym[1], 60 * pow(2, 8) * mtof(biquad(highpass(&s->pbq[11], 8000, flatq), - noise() + 24 * cos(twopi * s->pcym[0].phase))/mtof(0))); + noise() + 12 * cos(twopi * s->pcym[0].phase))/mtof(0))); cym2 = sin(twopi * cym2); sample cymenv = 1 - wrap(2 * pow(wrap(8 * p), 1./0.85)); cymenv *= cymenv;
diff @ 2019-02-15 22:00:19 +0000 diff --git a/client/go.c b/client/go.c index fa4eb977d..95f21ee73 100644 --- a/client/go.c +++ b/client/go.c @@ -196,11 +196,11 @@ go(S *s, int channels, const float *in, float *out) // cymbal sample cym = phasor(&s->pcym[0], 60 * pow(2, 8) * mtof(biquad(highpass(&s->pbq[10], 8000, flatq), - noise() + 12 * cos(twopi * s->pcym[1].phase))/mtof(0))); + noise() + 6 * cos(twopi * s->pcym[1].phase))/mtof(0))); cym = sin(twopi * cym); sample cym2 = phasor(&s->pcym[1], 60 * pow(2, 8) * mtof(biquad(highpass(&s->pbq[11], 8000, flatq), - noise() + 12 * cos(twopi * s->pcym[0].phase))/mtof(0))); + noise() + 6 * cos(twopi * s->pcym[0].phase))/mtof(0))); cym2 = sin(twopi * cym2); sample cymenv = 1 - wrap(2 * pow(wrap(8 * p), 1./0.85)); cymenv *= cymenv;
diff @ 2019-02-15 22:00:26 +0000 diff --git a/client/go.c b/client/go.c index 95f21ee73..f2fc9eace 100644 --- a/client/go.c +++ b/client/go.c @@ -195,11 +195,11 @@ go(S *s, int channels, const float *in, float *out) // cymbal sample cym = phasor(&s->pcym[0], 60 * pow(2, 8) * - mtof(biquad(highpass(&s->pbq[10], 8000, flatq), + mtof(biquad(highpass(&s->pbq[10], 2000, flatq), noise() + 6 * cos(twopi * s->pcym[1].phase))/mtof(0))); cym = sin(twopi * cym); sample cym2 = phasor(&s->pcym[1], 60 * pow(2, 8) * - mtof(biquad(highpass(&s->pbq[11], 8000, flatq), + mtof(biquad(highpass(&s->pbq[11], 2000, flatq), noise() + 6 * cos(twopi * s->pcym[0].phase))/mtof(0))); cym2 = sin(twopi * cym2); sample cymenv = 1 - wrap(2 * pow(wrap(8 * p), 1./0.85));
diff @ 2019-02-15 22:00:34 +0000 diff --git a/client/go.c b/client/go.c index f2fc9eace..15e828511 100644 --- a/client/go.c +++ b/client/go.c @@ -194,11 +194,11 @@ go(S *s, int channels, const float *in, float *out) o2 += biquad(highpass(&s->pbq[9], 50, flatq), o2); // cymbal - sample cym = phasor(&s->pcym[0], 60 * pow(2, 8) * + sample cym = phasor(&s->pcym[0], 40 * pow(2, 8) * mtof(biquad(highpass(&s->pbq[10], 2000, flatq), noise() + 6 * cos(twopi * s->pcym[1].phase))/mtof(0))); cym = sin(twopi * cym); - sample cym2 = phasor(&s->pcym[1], 60 * pow(2, 8) * + sample cym2 = phasor(&s->pcym[1],40 * pow(2, 8) * mtof(biquad(highpass(&s->pbq[11], 2000, flatq), noise() + 6 * cos(twopi * s->pcym[0].phase))/mtof(0))); cym2 = sin(twopi * cym2);
diff @ 2019-02-15 22:00:38 +0000 diff --git a/client/go.c b/client/go.c index 15e828511..b032eeeed 100644 --- a/client/go.c +++ b/client/go.c @@ -194,11 +194,11 @@ go(S *s, int channels, const float *in, float *out) o2 += biquad(highpass(&s->pbq[9], 50, flatq), o2); // cymbal - sample cym = phasor(&s->pcym[0], 40 * pow(2, 8) * + sample cym = phasor(&s->pcym[0], 20 * pow(2, 8) * mtof(biquad(highpass(&s->pbq[10], 2000, flatq), noise() + 6 * cos(twopi * s->pcym[1].phase))/mtof(0))); cym = sin(twopi * cym); - sample cym2 = phasor(&s->pcym[1],40 * pow(2, 8) * + sample cym2 = phasor(&s->pcym[1],20 * pow(2, 8) * mtof(biquad(highpass(&s->pbq[11], 2000, flatq), noise() + 6 * cos(twopi * s->pcym[0].phase))/mtof(0))); cym2 = sin(twopi * cym2);
diff @ 2019-02-15 22:00:43 +0000 diff --git a/client/go.c b/client/go.c index b032eeeed..d9d5f209c 100644 --- a/client/go.c +++ b/client/go.c @@ -194,11 +194,11 @@ go(S *s, int channels, const float *in, float *out) o2 += biquad(highpass(&s->pbq[9], 50, flatq), o2); // cymbal - sample cym = phasor(&s->pcym[0], 20 * pow(2, 8) * + sample cym = phasor(&s->pcym[0], 10 * pow(2, 8) * mtof(biquad(highpass(&s->pbq[10], 2000, flatq), noise() + 6 * cos(twopi * s->pcym[1].phase))/mtof(0))); cym = sin(twopi * cym); - sample cym2 = phasor(&s->pcym[1],20 * pow(2, 8) * + sample cym2 = phasor(&s->pcym[1],10 * pow(2, 8) * mtof(biquad(highpass(&s->pbq[11], 2000, flatq), noise() + 6 * cos(twopi * s->pcym[0].phase))/mtof(0))); cym2 = sin(twopi * cym2);
diff @ 2019-02-15 22:00:46 +0000 diff --git a/client/go.c b/client/go.c index d9d5f209c..932fb20ba 100644 --- a/client/go.c +++ b/client/go.c @@ -194,11 +194,11 @@ go(S *s, int channels, const float *in, float *out) o2 += biquad(highpass(&s->pbq[9], 50, flatq), o2); // cymbal - sample cym = phasor(&s->pcym[0], 10 * pow(2, 8) * + sample cym = phasor(&s->pcym[0], 1 * pow(2, 8) * mtof(biquad(highpass(&s->pbq[10], 2000, flatq), noise() + 6 * cos(twopi * s->pcym[1].phase))/mtof(0))); cym = sin(twopi * cym); - sample cym2 = phasor(&s->pcym[1],10 * pow(2, 8) * + sample cym2 = phasor(&s->pcym[1],1 * pow(2, 8) * mtof(biquad(highpass(&s->pbq[11], 2000, flatq), noise() + 6 * cos(twopi * s->pcym[0].phase))/mtof(0))); cym2 = sin(twopi * cym2);
diff @ 2019-02-15 22:00:53 +0000 diff --git a/client/go.c b/client/go.c index 932fb20ba..e7313a99f 100644 --- a/client/go.c +++ b/client/go.c @@ -196,11 +196,11 @@ go(S *s, int channels, const float *in, float *out) // cymbal sample cym = phasor(&s->pcym[0], 1 * pow(2, 8) * mtof(biquad(highpass(&s->pbq[10], 2000, flatq), - noise() + 6 * cos(twopi * s->pcym[1].phase))/mtof(0))); + noise() + 16 * cos(twopi * s->pcym[1].phase))/mtof(0))); cym = sin(twopi * cym); sample cym2 = phasor(&s->pcym[1],1 * pow(2, 8) * mtof(biquad(highpass(&s->pbq[11], 2000, flatq), - noise() + 6 * cos(twopi * s->pcym[0].phase))/mtof(0))); + noise() + 16 * cos(twopi * s->pcym[0].phase))/mtof(0))); cym2 = sin(twopi * cym2); sample cymenv = 1 - wrap(2 * pow(wrap(8 * p), 1./0.85)); cymenv *= cymenv;
diff @ 2019-02-15 22:01:00 +0000 diff --git a/client/go.c b/client/go.c index e7313a99f..07613c057 100644 --- a/client/go.c +++ b/client/go.c @@ -216,6 +216,7 @@ go(S *s, int channels, const float *in, float *out) kick *= kick; kick *= kick; kick *= kick; + kick *= kick; kick = 1.5 * tanh(2 * biquad(highpass(&s->pbq[12], 30, 20), tanh(sin(twopi * 30 * active * kick) * (1 + kick)))); sample output[2] =
diff @ 2019-02-15 22:01:14 +0000 diff --git a/client/go.c b/client/go.c index 07613c057..570ca368c 100644 --- a/client/go.c +++ b/client/go.c @@ -248,8 +248,8 @@ go(S *s, int channels, const float *in, float *out) sample er = delread4(&s->edelay2, rdelms + si); sample 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.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 @ 2019-02-15 22:01:20 +0000 diff --git a/client/go.c b/client/go.c index 570ca368c..f95b7fde9 100644 --- a/client/go.c +++ b/client/go.c @@ -240,7 +240,7 @@ go(S *s, int channels, const float *in, float *out) sample t = twopi * p; sample co = cos(t); sample si = sin(t); - sample ldelms = 60000 / bpm * (p < 0.75 ? 1 : 2); + sample ldelms = 60000 / bpm * (p < 0.75 ? 1 : 1./64); sample rdelms = ldelms; ldelms = lop(&s->elop[0], ldelms, 5); rdelms = lop(&s->elop[1], rdelms, 5);
diff @ 2019-02-15 22:01:52 +0000 diff --git a/client/go.c b/client/go.c index f95b7fde9..4ebc1a127 100644 --- a/client/go.c +++ b/client/go.c @@ -126,23 +126,6 @@ go(S *s, int channels, const float *in, float *out) feedback[c] = sin(2 * feedback[c] - down - up); } - // multiband compressor - sample input[2] = { feedback[0], feedback[1] }; - sample output[2] = { 0, 0 }; - for (int o = 0; o < OCTAVES; ++o) - { - sample band[2]; - for (int c = 0; c < 2; ++c) - { - band[c] = biquad(bandpass(&s->multiband[o][c], 10 * pow(2, o), flatq), input[c]); - } - compress(band, &s->multicomp[o], 5, 10, 25, 48, band); - output[0] += band[0]; - output[1] += band[1]; - } - feedback[0] = sin(output[0]); - feedback[1] = sin(output[1]); - // compress feedback compress(so2, &s->so2.compress, 5, 10, 25, 48, feedback); sample gain = 1; @@ -247,9 +230,27 @@ go(S *s, int channels, const float *in, float *out) sample el = delread4(&s->edelay1, ldelms + co); sample er = delread4(&s->edelay2, rdelms + si); sample es[2] = { co * el + si * er, -si * el + co * er }; + // multiband compressor + sample input[2] = { es[0], es[1] }; + sample output[2] = { 0, 0 }; + for (int o = 0; o < OCTAVES; ++o) + { + sample band[2]; + for (int c = 0; c < 2; ++c) + { + band[c] = biquad(bandpass(&s->multiband[o][c], 10 * pow(2, o), flatq), input[c]); + } + compress(band, &s->multicomp[o], 5, 10, 25, 48, band); + output[0] += band[0]; + output[1] += band[1]; + } + feedback[0] = sin(output[0]); + feedback[1] = sin(output[1]); + + 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(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 @ 2019-02-15 22:01:58 +0000 diff --git a/client/go.c b/client/go.c index 4ebc1a127..b05c81f9f 100644 --- a/client/go.c +++ b/client/go.c @@ -244,8 +244,8 @@ go(S *s, int channels, const float *in, float *out) output[0] += band[0]; output[1] += band[1]; } - feedback[0] = sin(output[0]); - feedback[1] = sin(output[1]); + es[[0] = sin(output[0]); + es[1] = sin(output[1]); compress(es, &s->ecompress1, 5, 10, 25, 48, es);
diff @ 2019-02-15 22:01:59 +0000 diff --git a/client/go.c b/client/go.c index b05c81f9f..f82638f8c 100644 --- a/client/go.c +++ b/client/go.c @@ -244,7 +244,7 @@ go(S *s, int channels, const float *in, float *out) output[0] += band[0]; output[1] += band[1]; } - es[[0] = sin(output[0]); + es[0] = sin(output[0]); es[1] = sin(output[1]);
diff @ 2019-02-15 22:02:14 +0000 diff --git a/client/go.c b/client/go.c index f82638f8c..96b5b8953 100644 --- a/client/go.c +++ b/client/go.c @@ -224,7 +224,7 @@ go(S *s, int channels, const float *in, float *out) sample co = cos(t); sample si = sin(t); sample ldelms = 60000 / bpm * (p < 0.75 ? 1 : 1./64); - sample rdelms = ldelms; + sample rdelms = 60000 / bpm * (p < 0.5 ? 1 : 1./32); ldelms = lop(&s->elop[0], ldelms, 5); rdelms = lop(&s->elop[1], rdelms, 5); sample el = delread4(&s->edelay1, ldelms + co);
diff @ 2019-02-15 22:02:35 +0000 diff --git a/client/go.c b/client/go.c index 96b5b8953..63df52f33 100644 --- a/client/go.c +++ b/client/go.c @@ -83,7 +83,7 @@ go(S *s, int channels, const float *in, float *out) s->pdel2.length = SR; } sample mixdown[2] = { 0, 0 }; - sample bpm = 144; + sample bpm = 130; //int time = s->time++; // = 1 = bdsn ========================================================
diff @ 2019-02-15 22:02:40 +0000 diff --git a/client/go.c b/client/go.c index 63df52f33..c0514b6a7 100644 --- a/client/go.c +++ b/client/go.c @@ -83,7 +83,7 @@ go(S *s, int channels, const float *in, float *out) s->pdel2.length = SR; } sample mixdown[2] = { 0, 0 }; - sample bpm = 130; + sample bpm = 120; //int time = s->time++; // = 1 = bdsn ========================================================
diff @ 2019-02-15 22:02:46 +0000 diff --git a/client/go.c b/client/go.c index c0514b6a7..4f4df71c5 100644 --- a/client/go.c +++ b/client/go.c @@ -83,7 +83,7 @@ go(S *s, int channels, const float *in, float *out) s->pdel2.length = SR; } sample mixdown[2] = { 0, 0 }; - sample bpm = 120; + sample bpm = 100; //int time = s->time++; // = 1 = bdsn ========================================================
diff @ 2019-02-15 22:02:59 +0000 diff --git a/client/go.c b/client/go.c index 4f4df71c5..077b1e36f 100644 --- a/client/go.c +++ b/client/go.c @@ -223,8 +223,8 @@ go(S *s, int channels, const float *in, float *out) sample t = twopi * p; sample co = cos(t); sample si = sin(t); - sample ldelms = 60000 / bpm * (p < 0.75 ? 1 : 1./64); - sample rdelms = 60000 / bpm * (p < 0.5 ? 1 : 1./32); + sample ldelms = 60000 / bpm * (p < 0.75 ? 1./2 : 1./64); + sample rdelms = 60000 / bpm * (p < 0.5 ? 1./2 : 1./32); ldelms = lop(&s->elop[0], ldelms, 5); rdelms = lop(&s->elop[1], rdelms, 5); sample el = delread4(&s->edelay1, ldelms + co);
diff @ 2019-02-15 22:03:25 +0000 diff --git a/client/go.c b/client/go.c index 077b1e36f..e13c4ea7d 100644 --- a/client/go.c +++ b/client/go.c @@ -244,6 +244,7 @@ go(S *s, int channels, const float *in, float *out) output[0] += band[0]; output[1] += band[1]; } + es[0] = sin(output[0]); es[1] = sin(output[1]);
diff @ 2019-02-15 22:03:40 +0000 diff --git a/client/go.c b/client/go.c index e13c4ea7d..077b1e36f 100644 --- a/client/go.c +++ b/client/go.c @@ -244,7 +244,6 @@ go(S *s, int channels, const float *in, float *out) output[0] += band[0]; output[1] += band[1]; } - es[0] = sin(output[0]); es[1] = sin(output[1]);
diff @ 2019-02-15 22:03:47 +0000 diff --git a/client/go.c b/client/go.c index 077b1e36f..767f533e7 100644 --- a/client/go.c +++ b/client/go.c @@ -225,8 +225,8 @@ go(S *s, int channels, const float *in, float *out) sample si = sin(t); sample ldelms = 60000 / bpm * (p < 0.75 ? 1./2 : 1./64); sample rdelms = 60000 / bpm * (p < 0.5 ? 1./2 : 1./32); - ldelms = lop(&s->elop[0], ldelms, 5); - rdelms = lop(&s->elop[1], rdelms, 5); + ldelms = lop(&s->elop[0], ldelms, 1); + rdelms = lop(&s->elop[1], rdelms, 1); sample el = delread4(&s->edelay1, ldelms + co); sample er = delread4(&s->edelay2, rdelms + si); sample es[2] = { co * el + si * er, -si * el + co * er };
diff @ 2019-02-15 22:04:00 +0000 diff --git a/client/go.c b/client/go.c index 767f533e7..21db60f2c 100644 --- a/client/go.c +++ b/client/go.c @@ -225,8 +225,8 @@ go(S *s, int channels, const float *in, float *out) sample si = sin(t); sample ldelms = 60000 / bpm * (p < 0.75 ? 1./2 : 1./64); sample rdelms = 60000 / bpm * (p < 0.5 ? 1./2 : 1./32); - ldelms = lop(&s->elop[0], ldelms, 1); - rdelms = lop(&s->elop[1], rdelms, 1); + ldelms = lop(&s->elop[0], ldelms, 0.1); + rdelms = lop(&s->elop[1], rdelms, 0.1); sample el = delread4(&s->edelay1, ldelms + co); sample er = delread4(&s->edelay2, rdelms + si); sample es[2] = { co * el + si * er, -si * el + co * er };
diff @ 2019-02-15 22:04:18 +0000 diff --git a/client/go.c b/client/go.c index 21db60f2c..6fdb19cbb 100644 --- a/client/go.c +++ b/client/go.c @@ -230,6 +230,8 @@ go(S *s, int channels, const float *in, float *out) sample el = delread4(&s->edelay1, ldelms + co); sample er = delread4(&s->edelay2, rdelms + si); sample es[2] = { co * el + si * er, -si * el + co * er }; + out[2] = co; + out[3] = si; // multiband compressor sample input[2] = { es[0], es[1] }; sample output[2] = { 0, 0 }; @@ -247,7 +249,6 @@ go(S *s, int channels, const float *in, float *out) es[0] = sin(output[0]); es[1] = sin(output[1]); - 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)); es[1] = mix(mixdown[1], es[1], mix(1, pow(wrap(8 * p), 0.25), 0));
diff @ 2019-02-15 22:04:35 +0000 diff --git a/client/go.c b/client/go.c index 6fdb19cbb..9f459d982 100644 --- a/client/go.c +++ b/client/go.c @@ -220,7 +220,7 @@ go(S *s, int channels, const float *in, float *out) s->edelay1.length = 4 * SR; s->edelay2.length = 4 * SR; sample p = phasor(&s->ephase, bpm / 60 / 8); - sample t = twopi * p; + sample t = 2 * twopi * p; sample co = cos(t); sample si = sin(t); sample ldelms = 60000 / bpm * (p < 0.75 ? 1./2 : 1./64);
diff @ 2019-02-15 22:04:41 +0000 diff --git a/client/go.c b/client/go.c index 9f459d982..f95bb1fd5 100644 --- a/client/go.c +++ b/client/go.c @@ -220,7 +220,7 @@ go(S *s, int channels, const float *in, float *out) s->edelay1.length = 4 * SR; s->edelay2.length = 4 * SR; sample p = phasor(&s->ephase, bpm / 60 / 8); - sample t = 2 * twopi * p; + sample t = 4 * twopi * p; sample co = cos(t); sample si = sin(t); sample ldelms = 60000 / bpm * (p < 0.75 ? 1./2 : 1./64);
diff @ 2019-02-15 22:04:46 +0000 diff --git a/client/go.c b/client/go.c index f95bb1fd5..a67a201e5 100644 --- a/client/go.c +++ b/client/go.c @@ -220,7 +220,7 @@ go(S *s, int channels, const float *in, float *out) s->edelay1.length = 4 * SR; s->edelay2.length = 4 * SR; sample p = phasor(&s->ephase, bpm / 60 / 8); - sample t = 4 * twopi * p; + sample t = 5 * twopi * p; sample co = cos(t); sample si = sin(t); sample ldelms = 60000 / bpm * (p < 0.75 ? 1./2 : 1./64);
diff @ 2019-02-15 22:04:49 +0000 diff --git a/client/go.c b/client/go.c index a67a201e5..da97cc7d5 100644 --- a/client/go.c +++ b/client/go.c @@ -220,7 +220,7 @@ go(S *s, int channels, const float *in, float *out) s->edelay1.length = 4 * SR; s->edelay2.length = 4 * SR; sample p = phasor(&s->ephase, bpm / 60 / 8); - sample t = 5 * twopi * p; + sample t = 16 * twopi * p; sample co = cos(t); sample si = sin(t); sample ldelms = 60000 / bpm * (p < 0.75 ? 1./2 : 1./64);
diff @ 2019-02-15 22:04:54 +0000 diff --git a/client/go.c b/client/go.c index da97cc7d5..32d810a15 100644 --- a/client/go.c +++ b/client/go.c @@ -219,7 +219,7 @@ go(S *s, int channels, const float *in, float *out) { s->edelay1.length = 4 * SR; s->edelay2.length = 4 * SR; - sample p = phasor(&s->ephase, bpm / 60 / 8); + sample p = phasor(&s->ephase, bpm / 60 / 4); sample t = 16 * twopi * p; sample co = cos(t); sample si = sin(t);
diff @ 2019-02-15 22:05:04 +0000 diff --git a/client/go.c b/client/go.c index 32d810a15..e3509e8e9 100644 --- a/client/go.c +++ b/client/go.c @@ -225,8 +225,8 @@ go(S *s, int channels, const float *in, float *out) sample si = sin(t); sample ldelms = 60000 / bpm * (p < 0.75 ? 1./2 : 1./64); sample rdelms = 60000 / bpm * (p < 0.5 ? 1./2 : 1./32); - ldelms = lop(&s->elop[0], ldelms, 0.1); - rdelms = lop(&s->elop[1], rdelms, 0.1); + ldelms = lop(&s->elop[0], ldelms, 15); + rdelms = lop(&s->elop[1], rdelms, 15); sample el = delread4(&s->edelay1, ldelms + co); sample er = delread4(&s->edelay2, rdelms + si); sample es[2] = { co * el + si * er, -si * el + co * er };
diff @ 2019-02-15 22:05:30 +0000 diff --git a/client/go.c b/client/go.c index e3509e8e9..789162d8a 100644 --- a/client/go.c +++ b/client/go.c @@ -325,7 +325,7 @@ go(S *s, int channels, const float *in, float *out) } { // bell sample env = lop(&s->lop59[4], - 0 * clamp(2 * (0.5 - wrap(0.5 + 4 * t)), 0, 1), 15); + (wrap(t) < 0.25) * clamp(2 * (0.5 - wrap(0.5 + 8 * t)), 0, 1), 15); sample env2 = lop(&s->lop59[5], clamp ( 2 * (0.5 - wrap(8 * t))
diff @ 2019-02-15 22:05:35 +0000 diff --git a/client/go.c b/client/go.c index 789162d8a..5ed4bcf87 100644 --- a/client/go.c +++ b/client/go.c @@ -325,7 +325,7 @@ go(S *s, int channels, const float *in, float *out) } { // bell sample env = lop(&s->lop59[4], - (wrap(t) < 0.25) * clamp(2 * (0.5 - wrap(0.5 + 8 * t)), 0, 1), 15); + (wrap(t) < 0.125) * clamp(2 * (0.5 - wrap(0.5 + 8 * t)), 0, 1), 15); sample env2 = lop(&s->lop59[5], clamp ( 2 * (0.5 - wrap(8 * t))
diff @ 2019-02-15 22:05:56 +0000 diff --git a/client/go.c b/client/go.c index 5ed4bcf87..609553ba6 100644 --- a/client/go.c +++ b/client/go.c @@ -332,7 +332,7 @@ go(S *s, int channels, const float *in, float *out) * (wrap(4 * t) < 0.5) , 0, 1), 15); sample bell - = sin(4 * twopi * osc) + = sin(4 * twopi * osc * pow(2, wrap(1 * t) < 0.5) * sin(5 * twopi * osc) * sin(7 * twopi * osc) * env
diff @ 2019-02-15 22:06:02 +0000 diff --git a/client/go.c b/client/go.c index 609553ba6..d69ae3648 100644 --- a/client/go.c +++ b/client/go.c @@ -332,7 +332,7 @@ go(S *s, int channels, const float *in, float *out) * (wrap(4 * t) < 0.5) , 0, 1), 15); sample bell - = sin(4 * twopi * osc * pow(2, wrap(1 * t) < 0.5) + = sin(4 * twopi * osc * pow(2, wrap(1 * t) < 0.5)) * sin(5 * twopi * osc) * sin(7 * twopi * osc) * env
diff @ 2019-02-15 22:06:10 +0000 diff --git a/client/go.c b/client/go.c index d69ae3648..72a35a6c3 100644 --- a/client/go.c +++ b/client/go.c @@ -333,8 +333,8 @@ go(S *s, int channels, const float *in, float *out) , 0, 1), 15); sample bell = sin(4 * twopi * osc * pow(2, wrap(1 * t) < 0.5)) - * sin(5 * twopi * osc) - * sin(7 * twopi * osc) + * sin(5 * twopi * osc * pow(2, wrap(2 * t) < 0.5)) + * sin(7 * twopi * osc * pow(2, wrap(4 * t) < 0.5)) * env * 4; sample bell1 = pitchshift(&s->ps59[0], 2, 100, 3, bell);
diff @ 2019-02-15 22:06:16 +0000 diff --git a/client/go.c b/client/go.c index 72a35a6c3..24aaf3d88 100644 --- a/client/go.c +++ b/client/go.c @@ -325,7 +325,7 @@ go(S *s, int channels, const float *in, float *out) } { // bell sample env = lop(&s->lop59[4], - (wrap(t) < 0.125) * clamp(2 * (0.5 - wrap(0.5 + 8 * t)), 0, 1), 15); + (wrap(2 * t) < 0.125) * clamp(2 * (0.5 - wrap(0.5 + 8 * t)), 0, 1), 15); sample env2 = lop(&s->lop59[5], clamp ( 2 * (0.5 - wrap(8 * t))
diff @ 2019-02-15 22:06:20 +0000 diff --git a/client/go.c b/client/go.c index 24aaf3d88..6cc10bf32 100644 --- a/client/go.c +++ b/client/go.c @@ -325,7 +325,7 @@ go(S *s, int channels, const float *in, float *out) } { // bell sample env = lop(&s->lop59[4], - (wrap(2 * t) < 0.125) * clamp(2 * (0.5 - wrap(0.5 + 8 * t)), 0, 1), 15); + (wrap(2 * t) < 0.25) * clamp(2 * (0.5 - wrap(0.5 + 8 * t)), 0, 1), 15); sample env2 = lop(&s->lop59[5], clamp ( 2 * (0.5 - wrap(8 * t))
diff @ 2019-02-15 22:06:31 +0000 diff --git a/client/go.c b/client/go.c index 6cc10bf32..25c2019a2 100644 --- a/client/go.c +++ b/client/go.c @@ -255,8 +255,8 @@ 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]; + mixdown[0] = 0*es[0]; + mixdown[1] = 0*es[1]; } // = 5 = fifty-nine stellations ======================================
diff @ 2019-02-15 22:06:40 +0000 diff --git a/client/go.c b/client/go.c index 25c2019a2..25dc0f57d 100644 --- a/client/go.c +++ b/client/go.c @@ -350,8 +350,8 @@ go(S *s, int channels, const float *in, float *out) bell += becho; bell *= 4; sample lfo = 11 * sin(16 * twopi * t); - sample l = 0.3 * delread4(&s->del59l, ms4 + lfo) + bell; - sample r = 0.3 * delread4(&s->del59r, ms4 - lfo) + bell; + sample l = 0.73 * delread4(&s->del59l, ms4 + lfo) + bell; + sample r = 0.73 * delread4(&s->del59r, ms4 - lfo) + bell; delwrite(&s->del59l, -r); delwrite(&s->del59r, l); o[0] += l;
diff @ 2019-02-15 22:06:43 +0000 diff --git a/client/go.c b/client/go.c index 25dc0f57d..b3a137f43 100644 --- a/client/go.c +++ b/client/go.c @@ -349,7 +349,7 @@ go(S *s, int channels, const float *in, float *out) becho *= env2; bell += becho; bell *= 4; - sample lfo = 11 * sin(16 * twopi * t); + sample lfo = 1 * sin(16 * twopi * t); sample l = 0.73 * delread4(&s->del59l, ms4 + lfo) + bell; sample r = 0.73 * delread4(&s->del59r, ms4 - lfo) + bell; delwrite(&s->del59l, -r);
diff @ 2019-02-15 22:06:55 +0000 diff --git a/client/go.c b/client/go.c index b3a137f43..337e6839e 100644 --- a/client/go.c +++ b/client/go.c @@ -319,7 +319,7 @@ go(S *s, int channels, const float *in, float *out) + sin(4 * twopi * vcf(&s->vcf59[0], bosc, 4 * hz, 6)) + sin(2 * twopi * vcf(&s->vcf59[1], bosc, 8 * hz, 4)) * 0.7; bass *= 1.5; - bass *= 0; + bass *= 1; o[0] += bass; o[1] += bass; }
diff @ 2019-02-15 22:07:06 +0000 diff --git a/client/go.c b/client/go.c index 337e6839e..9acaeee47 100644 --- a/client/go.c +++ b/client/go.c @@ -317,7 +317,7 @@ go(S *s, int channels, const float *in, float *out) = sub + lop(&s->lop59[1], lop(&s->lop59[2], bosc, 1000), 1000) + sin(4 * twopi * vcf(&s->vcf59[0], bosc, 4 * hz, 6)) - + sin(2 * twopi * vcf(&s->vcf59[1], bosc, 8 * hz, 4)) * 0.7; + + sin(4 * twopi * vcf(&s->vcf59[1], bosc, 8 * hz, 4)) * 0.7; bass *= 1.5; bass *= 1; o[0] += bass;
diff @ 2019-02-15 22:07:16 +0000 diff --git a/client/go.c b/client/go.c index 9acaeee47..bbe6632aa 100644 --- a/client/go.c +++ b/client/go.c @@ -317,7 +317,7 @@ go(S *s, int channels, const float *in, float *out) = sub + lop(&s->lop59[1], lop(&s->lop59[2], bosc, 1000), 1000) + sin(4 * twopi * vcf(&s->vcf59[0], bosc, 4 * hz, 6)) - + sin(4 * twopi * vcf(&s->vcf59[1], bosc, 8 * hz, 4)) * 0.7; + + sin(4 * twopi * vcf(&s->vcf59[1], bosc, 8 * hz, 6)) * 0.7; bass *= 1.5; bass *= 1; o[0] += bass;
diff @ 2019-02-15 22:07:20 +0000 diff --git a/client/go.c b/client/go.c index bbe6632aa..c6fa0e808 100644 --- a/client/go.c +++ b/client/go.c @@ -317,7 +317,7 @@ go(S *s, int channels, const float *in, float *out) = sub + lop(&s->lop59[1], lop(&s->lop59[2], bosc, 1000), 1000) + sin(4 * twopi * vcf(&s->vcf59[0], bosc, 4 * hz, 6)) - + sin(4 * twopi * vcf(&s->vcf59[1], bosc, 8 * hz, 6)) * 0.7; + + sin(8 * twopi * vcf(&s->vcf59[1], bosc, 8 * hz, 6)) * 0.7; bass *= 1.5; bass *= 1; o[0] += bass;
diff @ 2019-02-15 22:07:32 +0000 diff --git a/client/go.c b/client/go.c index c6fa0e808..854488794 100644 --- a/client/go.c +++ b/client/go.c @@ -317,7 +317,7 @@ go(S *s, int channels, const float *in, float *out) = sub + lop(&s->lop59[1], lop(&s->lop59[2], bosc, 1000), 1000) + sin(4 * twopi * vcf(&s->vcf59[0], bosc, 4 * hz, 6)) - + sin(8 * twopi * vcf(&s->vcf59[1], bosc, 8 * hz, 6)) * 0.7; + + sin((wrap(2 * t) < 0.5 ? 4 : 8) * twopi * vcf(&s->vcf59[1], bosc, 8 * hz, 6)) * 0.7; bass *= 1.5; bass *= 1; o[0] += bass;
diff @ 2019-02-15 22:07:48 +0000 diff --git a/client/go.c b/client/go.c index 854488794..62ac9ba43 100644 --- a/client/go.c +++ b/client/go.c @@ -316,7 +316,7 @@ go(S *s, int channels, const float *in, float *out) sample bass = sub + lop(&s->lop59[1], lop(&s->lop59[2], bosc, 1000), 1000) - + sin(4 * twopi * vcf(&s->vcf59[0], bosc, 4 * hz, 6)) + + sin((wrap(t) < 0.5 ? 4 : 8)* twopi * vcf(&s->vcf59[0], bosc, 4 * hz, 6)) + sin((wrap(2 * t) < 0.5 ? 4 : 8) * twopi * vcf(&s->vcf59[1], bosc, 8 * hz, 6)) * 0.7; bass *= 1.5; bass *= 1;
diff @ 2019-02-15 22:08:02 +0000 diff --git a/client/go.c b/client/go.c index 62ac9ba43..dd92ab6ed 100644 --- a/client/go.c +++ b/client/go.c @@ -317,7 +317,7 @@ go(S *s, int channels, const float *in, float *out) = sub + lop(&s->lop59[1], lop(&s->lop59[2], bosc, 1000), 1000) + sin((wrap(t) < 0.5 ? 4 : 8)* twopi * vcf(&s->vcf59[0], bosc, 4 * hz, 6)) - + sin((wrap(2 * t) < 0.5 ? 4 : 8) * twopi * vcf(&s->vcf59[1], bosc, 8 * hz, 6)) * 0.7; + + sin((wrap(2 * t) < 0.5 ? 4 : 8) * twopi * vcf(&s->vcf59[1], bosc, 8 * hz * pow(2, sin(twopi * t)), 6)) * 0.7; bass *= 1.5; bass *= 1; o[0] += bass;
diff @ 2019-02-15 22:08:13 +0000 diff --git a/client/go.c b/client/go.c index dd92ab6ed..1d8c0f472 100644 --- a/client/go.c +++ b/client/go.c @@ -316,7 +316,7 @@ go(S *s, int channels, const float *in, float *out) sample bass = sub + lop(&s->lop59[1], lop(&s->lop59[2], bosc, 1000), 1000) - + sin((wrap(t) < 0.5 ? 4 : 8)* twopi * vcf(&s->vcf59[0], bosc, 4 * hz, 6)) + + sin((wrap(t) < 0.5 ? 4 : 8)* twopi * vcf(&s->vcf59[0], bosc, 4 * hz * pow(2, cos(twopi * t)), 6)) + sin((wrap(2 * t) < 0.5 ? 4 : 8) * twopi * vcf(&s->vcf59[1], bosc, 8 * hz * pow(2, sin(twopi * t)), 6)) * 0.7; bass *= 1.5; bass *= 1;
diff @ 2019-02-15 22:08:26 +0000 diff --git a/client/go.c b/client/go.c index 1d8c0f472..2be0864df 100644 --- a/client/go.c +++ b/client/go.c @@ -325,7 +325,7 @@ go(S *s, int channels, const float *in, float *out) } { // bell sample env = lop(&s->lop59[4], - (wrap(2 * t) < 0.25) * clamp(2 * (0.5 - wrap(0.5 + 8 * t)), 0, 1), 15); + (wrap(2 * t) < 0.5) * clamp(2 * (0.5 - wrap(0.5 + 8 * t)), 0, 1), 15); sample env2 = lop(&s->lop59[5], clamp ( 2 * (0.5 - wrap(8 * t))
diff @ 2019-02-15 22:08:40 +0000 diff --git a/client/go.c b/client/go.c index 2be0864df..03e5fc190 100644 --- a/client/go.c +++ b/client/go.c @@ -343,7 +343,7 @@ go(S *s, int channels, const float *in, float *out) bell += bell1 + bell2 + bell3; bell *= env; sample becho = delread1(&s->del59, ms4); - becho = lop(&s->lop59[3], becho, 1000) * 0.5; + becho = lop(&s->lop59[3], becho, 1000) * 0.9; delwrite(&s->del59, bell3 + pitchshift(&s->ps59[3], 2, 100, 3, becho)); becho *= env2;
diff @ 2019-02-15 22:08:48 +0000 diff --git a/client/go.c b/client/go.c index 03e5fc190..2864329e8 100644 --- a/client/go.c +++ b/client/go.c @@ -343,7 +343,7 @@ go(S *s, int channels, const float *in, float *out) bell += bell1 + bell2 + bell3; bell *= env; sample becho = delread1(&s->del59, ms4); - becho = lop(&s->lop59[3], becho, 1000) * 0.9; + becho = lop(&s->lop59[3], becho, 1000) * -0.9; delwrite(&s->del59, bell3 + pitchshift(&s->ps59[3], 2, 100, 3, becho)); becho *= env2;
diff @ 2019-02-15 22:08:53 +0000 diff --git a/client/go.c b/client/go.c index 2864329e8..384d98f0f 100644 --- a/client/go.c +++ b/client/go.c @@ -343,7 +343,7 @@ go(S *s, int channels, const float *in, float *out) bell += bell1 + bell2 + bell3; bell *= env; sample becho = delread1(&s->del59, ms4); - becho = lop(&s->lop59[3], becho, 1000) * -0.9; + becho = lop(&s->lop59[3], becho, 1000) * -1.9; delwrite(&s->del59, bell3 + pitchshift(&s->ps59[3], 2, 100, 3, becho)); becho *= env2;
diff @ 2019-02-15 22:08:55 +0000 diff --git a/client/go.c b/client/go.c index 384d98f0f..2864329e8 100644 --- a/client/go.c +++ b/client/go.c @@ -343,7 +343,7 @@ go(S *s, int channels, const float *in, float *out) bell += bell1 + bell2 + bell3; bell *= env; sample becho = delread1(&s->del59, ms4); - becho = lop(&s->lop59[3], becho, 1000) * -1.9; + becho = lop(&s->lop59[3], becho, 1000) * -0.9; delwrite(&s->del59, bell3 + pitchshift(&s->ps59[3], 2, 100, 3, becho)); becho *= env2;
diff @ 2019-02-15 22:09:07 +0000 diff --git a/client/go.c b/client/go.c index 2864329e8..82c2487e0 100644 --- a/client/go.c +++ b/client/go.c @@ -343,7 +343,7 @@ go(S *s, int channels, const float *in, float *out) bell += bell1 + bell2 + bell3; bell *= env; sample becho = delread1(&s->del59, ms4); - becho = lop(&s->lop59[3], becho, 1000) * -0.9; + becho = lop(&s->lop59[3], becho, 1000) * -0.5; delwrite(&s->del59, bell3 + pitchshift(&s->ps59[3], 2, 100, 3, becho)); becho *= env2;
diff @ 2019-02-15 22:09:24 +0000 diff --git a/client/go.c b/client/go.c index 82c2487e0..6bfb30dd3 100644 --- a/client/go.c +++ b/client/go.c @@ -328,7 +328,7 @@ go(S *s, int channels, const float *in, float *out) (wrap(2 * t) < 0.5) * clamp(2 * (0.5 - wrap(0.5 + 8 * t)), 0, 1), 15); sample env2 = lop(&s->lop59[5], clamp ( 2 - * (0.5 - wrap(8 * t)) + * (0.5 - wrap(16 * t)) * (wrap(4 * t) < 0.5) , 0, 1), 15); sample bell
diff @ 2019-02-15 22:09:27 +0000 diff --git a/client/go.c b/client/go.c index 6bfb30dd3..594a89841 100644 --- a/client/go.c +++ b/client/go.c @@ -329,7 +329,7 @@ go(S *s, int channels, const float *in, float *out) sample env2 = lop(&s->lop59[5], clamp ( 2 * (0.5 - wrap(16 * t)) - * (wrap(4 * t) < 0.5) + * (wrap(16 * t) < 0.5) , 0, 1), 15); sample bell = sin(4 * twopi * osc * pow(2, wrap(1 * t) < 0.5))
diff @ 2019-02-15 22:09:37 +0000 diff --git a/client/go.c b/client/go.c index 594a89841..4fddd395a 100644 --- a/client/go.c +++ b/client/go.c @@ -330,7 +330,7 @@ go(S *s, int channels, const float *in, float *out) ( 2 * (0.5 - wrap(16 * t)) * (wrap(16 * t) < 0.5) - , 0, 1), 15); + , 0, 1), 50); sample bell = sin(4 * twopi * osc * pow(2, wrap(1 * t) < 0.5)) * sin(5 * twopi * osc * pow(2, wrap(2 * t) < 0.5))
diff @ 2019-02-15 22:09:44 +0000 diff --git a/client/go.c b/client/go.c index 4fddd395a..d075d0dd9 100644 --- a/client/go.c +++ b/client/go.c @@ -350,8 +350,8 @@ go(S *s, int channels, const float *in, float *out) bell += becho; bell *= 4; sample lfo = 1 * sin(16 * twopi * t); - sample l = 0.73 * delread4(&s->del59l, ms4 + lfo) + bell; - sample r = 0.73 * delread4(&s->del59r, ms4 - lfo) + bell; + sample l = 0.973 * delread4(&s->del59l, ms4 + lfo) + bell; + sample r = 0.973 * delread4(&s->del59r, ms4 - lfo) + bell; delwrite(&s->del59l, -r); delwrite(&s->del59r, l); o[0] += l;
diff @ 2019-02-15 22:09:46 +0000 diff --git a/client/go.c b/client/go.c index d075d0dd9..31679373a 100644 --- a/client/go.c +++ b/client/go.c @@ -349,7 +349,7 @@ go(S *s, int channels, const float *in, float *out) becho *= env2; bell += becho; bell *= 4; - sample lfo = 1 * sin(16 * twopi * t); + sample lfo = 2 * sin(16 * twopi * t); sample l = 0.973 * delread4(&s->del59l, ms4 + lfo) + bell; sample r = 0.973 * delread4(&s->del59r, ms4 - lfo) + bell; delwrite(&s->del59l, -r);
diff @ 2019-02-15 22:09:50 +0000 diff --git a/client/go.c b/client/go.c index 31679373a..4ec641780 100644 --- a/client/go.c +++ b/client/go.c @@ -349,7 +349,7 @@ go(S *s, int channels, const float *in, float *out) becho *= env2; bell += becho; bell *= 4; - sample lfo = 2 * sin(16 * twopi * t); + sample lfo = 3 * sin(16 * twopi * t); sample l = 0.973 * delread4(&s->del59l, ms4 + lfo) + bell; sample r = 0.973 * delread4(&s->del59r, ms4 - lfo) + bell; delwrite(&s->del59l, -r);
diff @ 2019-02-15 22:09:52 +0000 diff --git a/client/go.c b/client/go.c index 4ec641780..13f97402e 100644 --- a/client/go.c +++ b/client/go.c @@ -349,7 +349,7 @@ go(S *s, int channels, const float *in, float *out) becho *= env2; bell += becho; bell *= 4; - sample lfo = 3 * sin(16 * twopi * t); + sample lfo = pow(2, t) * sin(16 * twopi * t); sample l = 0.973 * delread4(&s->del59l, ms4 + lfo) + bell; sample r = 0.973 * delread4(&s->del59r, ms4 - lfo) + bell; delwrite(&s->del59l, -r);
diff @ 2019-02-15 22:09:57 +0000 diff --git a/client/go.c b/client/go.c index 13f97402e..84cea2090 100644 --- a/client/go.c +++ b/client/go.c @@ -349,7 +349,7 @@ go(S *s, int channels, const float *in, float *out) becho *= env2; bell += becho; bell *= 4; - sample lfo = pow(2, t) * sin(16 * twopi * t); + sample lfo = pow(10, t) * sin(16 * twopi * t); sample l = 0.973 * delread4(&s->del59l, ms4 + lfo) + bell; sample r = 0.973 * delread4(&s->del59r, ms4 - lfo) + bell; delwrite(&s->del59l, -r);
diff @ 2019-02-15 22:09:58 +0000 diff --git a/client/go.c b/client/go.c index 84cea2090..7ddde3048 100644 --- a/client/go.c +++ b/client/go.c @@ -350,8 +350,8 @@ go(S *s, int channels, const float *in, float *out) bell += becho; bell *= 4; sample lfo = pow(10, t) * sin(16 * twopi * t); - sample l = 0.973 * delread4(&s->del59l, ms4 + lfo) + bell; - sample r = 0.973 * delread4(&s->del59r, ms4 - lfo) + bell; + sample l = 0.3 * delread4(&s->del59l, ms4 + lfo) + bell; + sample r = 0.3 * delread4(&s->del59r, ms4 - lfo) + bell; delwrite(&s->del59l, -r); delwrite(&s->del59r, l); o[0] += l;
diff @ 2019-02-15 22:10:16 +0000 diff --git a/client/go.c b/client/go.c index 7ddde3048..7a8de9b2e 100644 --- a/client/go.c +++ b/client/go.c @@ -309,7 +309,7 @@ go(S *s, int channels, const float *in, float *out) h * noise(), 3000), 1500)); } { // bass - sample lfo = lop(&s->lop59[0], wrap(8/3. * t), 5); + sample lfo = lop(&s->lop59[0], wrap(2 *wrap(8/3. * t)), 5); sample sub = sin(twopi * osc); sample bosc = hip(&s->hip59[1], wrap(samphold(&s->sh59, lfo, osc) + osc) - osc, 5);
diff @ 2019-02-15 22:10:26 +0000 diff --git a/client/go.c b/client/go.c index 7a8de9b2e..c81c77d94 100644 --- a/client/go.c +++ b/client/go.c @@ -302,7 +302,7 @@ go(S *s, int channels, const float *in, float *out) open *= open; sample env = open + closed; sample h = noise(); - h *= 0; + h *= 1; o[0] += 4 * tanh(env * hip(&s->hip59[2], hip(&s->hip59[3], h * noise(), 3000), 1500)); o[1] += 4 * tanh(env * hip(&s->hip59[4], hip(&s->hip59[5],
diff @ 2019-02-15 22:10:31 +0000 diff --git a/client/go.c b/client/go.c index c81c77d94..5c96dd655 100644 --- a/client/go.c +++ b/client/go.c @@ -293,6 +293,7 @@ go(S *s, int channels, const float *in, float *out) sample open = 1 - wrap(4 * t - 0.50); closed *= closed; closed *= closed; + closed *= closed; closed *= 1.3; open *= 1.3; closed *= closed;
diff @ 2019-02-15 22:10:37 +0000 diff --git a/client/go.c b/client/go.c index 5c96dd655..481abaa8b 100644 --- a/client/go.c +++ b/client/go.c @@ -295,10 +295,11 @@ go(S *s, int channels, const float *in, float *out) closed *= closed; closed *= closed; closed *= 1.3; - open *= 1.3; closed *= closed; closed *= closed; open *= open; + open *= 1.3; + open *= open; open *= open; open *= open; sample env = open + closed;
diff @ 2019-02-15 22:10:54 +0000 diff --git a/client/go.c b/client/go.c index 481abaa8b..654687565 100644 --- a/client/go.c +++ b/client/go.c @@ -266,7 +266,7 @@ go(S *s, int channels, const float *in, float *out) s->del59r.length = SR/4; sample tempo = bpm / 60 / 4; sample ms4 = (1000 / (bpm / 60)) / 4; - sample hz = 40; + sample hz = 30; sample t = phasor(&s->phase59, tempo); sample osc = phasor(&s->osc59, hz); sample o[2] = { 0, 0 }; @@ -284,7 +284,7 @@ go(S *s, int channels, const float *in, float *out) sample kick = sin(twopi * phasor(&s->kick59[1], env + mod)); env2 = env2 + env2 * env2 * env2 * env2; kick = 4 * hip(&s->hip59[0], tanh(env2 * kick), 5); - kick *= 0; + kick *= 1; o[0] += kick; o[1] += kick; }
diff @ 2019-02-15 22:11:16 +0000 diff --git a/client/go.c b/client/go.c index 654687565..df486b63b 100644 --- a/client/go.c +++ b/client/go.c @@ -266,8 +266,8 @@ go(S *s, int channels, const float *in, float *out) s->del59r.length = SR/4; sample tempo = bpm / 60 / 4; sample ms4 = (1000 / (bpm / 60)) / 4; - sample hz = 30; sample t = phasor(&s->phase59, tempo); + sample hz = 30 + (t < 0.75 ? 0: 10); sample osc = phasor(&s->osc59, hz); sample o[2] = { 0, 0 }; { // kick
diff @ 2019-02-15 22:12:05 +0000 diff --git a/client/go.c b/client/go.c index df486b63b..2e79fbca1 100644 --- a/client/go.c +++ b/client/go.c @@ -232,22 +232,6 @@ go(S *s, int channels, const float *in, float *out) sample es[2] = { co * el + si * er, -si * el + co * er }; out[2] = co; out[3] = si; - // multiband compressor - sample input[2] = { es[0], es[1] }; - sample output[2] = { 0, 0 }; - for (int o = 0; o < OCTAVES; ++o) - { - sample band[2]; - for (int c = 0; c < 2; ++c) - { - band[c] = biquad(bandpass(&s->multiband[o][c], 10 * pow(2, o), flatq), input[c]); - } - compress(band, &s->multicomp[o], 5, 10, 25, 48, band); - output[0] += band[0]; - output[1] += band[1]; - } - es[0] = sin(output[0]); - es[1] = sin(output[1]); 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)); @@ -352,13 +336,27 @@ go(S *s, int channels, const float *in, float *out) bell += becho; bell *= 4; sample lfo = pow(10, t) * sin(16 * twopi * t); - sample l = 0.3 * delread4(&s->del59l, ms4 + lfo) + bell; - sample r = 0.3 * delread4(&s->del59r, ms4 - lfo) + bell; + sample l = 1 * delread4(&s->del59l, ms4 + lfo) + bell; + sample r = 1 * delread4(&s->del59r, ms4 - lfo) + bell; delwrite(&s->del59l, -r); delwrite(&s->del59r, l); o[0] += l; o[1] += r; } + // multiband compressor + sample input[2] = { o[0], o[1] }; + sample output[2] = { 0, 0 }; + for (int o = 0; o < OCTAVES; ++o) + { + sample band[2]; + for (int c = 0; c < 2; ++c) + { + band[c] = biquad(bandpass(&s->multiband[o][c], 10 * pow(2, o), flatq), input[c]); + } + compress(band, &s->multicomp[o], 5, 10, 25, 48, band); + output[0] += band[0]; + output[1] += band[1]; + } compress(o, &s->comp59, 5, 10, 15, 36, o); mixdown[0] += o[0]; mixdown[1] += o[1];
diff @ 2019-02-15 22:12:10 +0000 diff --git a/client/go.c b/client/go.c index 2e79fbca1..a21c84598 100644 --- a/client/go.c +++ b/client/go.c @@ -357,7 +357,7 @@ go(S *s, int channels, const float *in, float *out) output[0] += band[0]; output[1] += band[1]; } - compress(o, &s->comp59, 5, 10, 15, 36, o); + compress(o, &s->comp59, 5, 10, 15, 36, output); mixdown[0] += o[0]; mixdown[1] += o[1]; }
diff @ 2019-02-15 22:12:44 +0000 diff --git a/client/go.c b/client/go.c index a21c84598..a91e9e6ed 100644 --- a/client/go.c +++ b/client/go.c @@ -83,7 +83,7 @@ go(S *s, int channels, const float *in, float *out) s->pdel2.length = SR; } sample mixdown[2] = { 0, 0 }; - sample bpm = 100; + sample bpm = 110; //int time = s->time++; // = 1 = bdsn ========================================================
diff @ 2019-02-15 22:12:48 +0000 diff --git a/client/go.c b/client/go.c index a91e9e6ed..860ac425d 100644 --- a/client/go.c +++ b/client/go.c @@ -83,7 +83,7 @@ go(S *s, int channels, const float *in, float *out) s->pdel2.length = SR; } sample mixdown[2] = { 0, 0 }; - sample bpm = 110; + sample bpm = 120; //int time = s->time++; // = 1 = bdsn ========================================================
diff @ 2019-02-15 22:12:50 +0000 diff --git a/client/go.c b/client/go.c index 860ac425d..739dd290d 100644 --- a/client/go.c +++ b/client/go.c @@ -83,7 +83,7 @@ go(S *s, int channels, const float *in, float *out) s->pdel2.length = SR; } sample mixdown[2] = { 0, 0 }; - sample bpm = 120; + sample bpm = 130; //int time = s->time++; // = 1 = bdsn ========================================================
diff @ 2019-02-15 22:13:19 +0000 diff --git a/client/go.c b/client/go.c index 739dd290d..d68cbf09d 100644 --- a/client/go.c +++ b/client/go.c @@ -288,7 +288,7 @@ go(S *s, int channels, const float *in, float *out) open *= open; sample env = open + closed; sample h = noise(); - h *= 1; + h *= o; o[0] += 4 * tanh(env * hip(&s->hip59[2], hip(&s->hip59[3], h * noise(), 3000), 1500)); o[1] += 4 * tanh(env * hip(&s->hip59[4], hip(&s->hip59[5],
diff @ 2019-02-15 22:13:21 +0000 diff --git a/client/go.c b/client/go.c index d68cbf09d..5edc8ba5d 100644 --- a/client/go.c +++ b/client/go.c @@ -288,7 +288,7 @@ go(S *s, int channels, const float *in, float *out) open *= open; sample env = open + closed; sample h = noise(); - h *= o; + h *= 0; o[0] += 4 * tanh(env * hip(&s->hip59[2], hip(&s->hip59[3], h * noise(), 3000), 1500)); o[1] += 4 * tanh(env * hip(&s->hip59[4], hip(&s->hip59[5],
diff @ 2019-02-15 22:13:28 +0000 diff --git a/client/go.c b/client/go.c index 5edc8ba5d..6837c1673 100644 --- a/client/go.c +++ b/client/go.c @@ -251,7 +251,7 @@ go(S *s, int channels, const float *in, float *out) sample tempo = bpm / 60 / 4; sample ms4 = (1000 / (bpm / 60)) / 4; sample t = phasor(&s->phase59, tempo); - sample hz = 30 + (t < 0.75 ? 0: 10); + sample hz = 40 + (t < 0.75 ? 0: 10); sample osc = phasor(&s->osc59, hz); sample o[2] = { 0, 0 }; { // kick
diff @ 2019-02-15 22:13:39 +0000 diff --git a/client/go.c b/client/go.c index 6837c1673..9d19a67ca 100644 --- a/client/go.c +++ b/client/go.c @@ -83,7 +83,7 @@ go(S *s, int channels, const float *in, float *out) s->pdel2.length = SR; } sample mixdown[2] = { 0, 0 }; - sample bpm = 130; + sample bpm = 140; //int time = s->time++; // = 1 = bdsn ========================================================
diff @ 2019-02-15 22:13:42 +0000 diff --git a/client/go.c b/client/go.c index 9d19a67ca..61a46f103 100644 --- a/client/go.c +++ b/client/go.c @@ -83,7 +83,7 @@ go(S *s, int channels, const float *in, float *out) s->pdel2.length = SR; } sample mixdown[2] = { 0, 0 }; - sample bpm = 140; + sample bpm = 150; //int time = s->time++; // = 1 = bdsn ========================================================
diff @ 2019-02-15 22:13:46 +0000 diff --git a/client/go.c b/client/go.c index 61a46f103..77a2dced8 100644 --- a/client/go.c +++ b/client/go.c @@ -83,7 +83,7 @@ go(S *s, int channels, const float *in, float *out) s->pdel2.length = SR; } sample mixdown[2] = { 0, 0 }; - sample bpm = 150; + sample bpm = 250; //int time = s->time++; // = 1 = bdsn ========================================================
diff @ 2019-02-15 22:13:48 +0000 diff --git a/client/go.c b/client/go.c index 77a2dced8..c65a002ad 100644 --- a/client/go.c +++ b/client/go.c @@ -83,7 +83,7 @@ go(S *s, int channels, const float *in, float *out) s->pdel2.length = SR; } sample mixdown[2] = { 0, 0 }; - sample bpm = 250; + sample bpm = 1250; //int time = s->time++; // = 1 = bdsn ========================================================
diff @ 2019-02-15 22:13:51 +0000 diff --git a/client/go.c b/client/go.c index c65a002ad..bfab06c8c 100644 --- a/client/go.c +++ b/client/go.c @@ -83,7 +83,7 @@ go(S *s, int channels, const float *in, float *out) s->pdel2.length = SR; } sample mixdown[2] = { 0, 0 }; - sample bpm = 1250; + sample bpm = 11250; //int time = s->time++; // = 1 = bdsn ========================================================
diff @ 2019-02-15 22:13:56 +0000 diff --git a/client/go.c b/client/go.c index bfab06c8c..f75d61ff5 100644 --- a/client/go.c +++ b/client/go.c @@ -83,7 +83,7 @@ go(S *s, int channels, const float *in, float *out) s->pdel2.length = SR; } sample mixdown[2] = { 0, 0 }; - sample bpm = 11250; + sample bpm = 112500; //int time = s->time++; // = 1 = bdsn ========================================================
diff @ 2019-02-15 22:13:59 +0000 diff --git a/client/go.c b/client/go.c index f75d61ff5..d48010020 100644 --- a/client/go.c +++ b/client/go.c @@ -83,7 +83,7 @@ go(S *s, int channels, const float *in, float *out) s->pdel2.length = SR; } sample mixdown[2] = { 0, 0 }; - sample bpm = 112500; + sample bpm = 1125000; //int time = s->time++; // = 1 = bdsn ========================================================
diff @ 2019-02-15 22:14:03 +0000 diff --git a/client/go.c b/client/go.c index d48010020..c297c921e 100644 --- a/client/go.c +++ b/client/go.c @@ -83,7 +83,7 @@ go(S *s, int channels, const float *in, float *out) s->pdel2.length = SR; } sample mixdown[2] = { 0, 0 }; - sample bpm = 1125000; + sample bpm = 1125000.1; //int time = s->time++; // = 1 = bdsn ========================================================
diff @ 2019-02-15 22:14:05 +0000 diff --git a/client/go.c b/client/go.c index c297c921e..b2fd5c22f 100644 --- a/client/go.c +++ b/client/go.c @@ -83,7 +83,7 @@ go(S *s, int channels, const float *in, float *out) s->pdel2.length = SR; } sample mixdown[2] = { 0, 0 }; - sample bpm = 1125000.1; + sample bpm = 1; //int time = s->time++; // = 1 = bdsn ========================================================
diff @ 2019-02-15 22:14:10 +0000 diff --git a/client/go.c b/client/go.c index b2fd5c22f..b0f45bb58 100644 --- a/client/go.c +++ b/client/go.c @@ -83,7 +83,7 @@ go(S *s, int channels, const float *in, float *out) s->pdel2.length = SR; } sample mixdown[2] = { 0, 0 }; - sample bpm = 1; + sample bpm = 0; //int time = s->time++; // = 1 = bdsn ========================================================
diff @ 2019-02-15 22:14:16 +0000 diff --git a/client/go.c b/client/go.c index b0f45bb58..9948b6557 100644 --- a/client/go.c +++ b/client/go.c @@ -365,7 +365,7 @@ go(S *s, int channels, const float *in, float *out) // = m = mixdown ===================================================== { compress(mixdown, &s->mixdown, 5, 10, 25, 48, mixdown); - sample volume = 1; + sample volume = 0; mixdown[0] *= volume; mixdown[1] *= volume; for (int c = 0; c < channels && c < 2; ++c)