Preston Jazz & Improvisation Festival presents Day Of Music & Culture: Pt.4 Algorave, The Continental, Preston PR1 8JP with Yaxu, Heavy Lifting, and mathr
diff @ 2022-05-18 19:59:57 +0100 diff --git a/client/go.c b/client/go.c index ca8b38250..d6aee1e3b 100644 --- a/client/go.c +++ b/client/go.c @@ -44,7 +44,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) sample ms4 = 1000 * 60 / bpm / 4; sample p; { - sample RESET = 1; + sample RESET = 0; sample so2[2] = { 0, 0 }; // trigger impulse on reload sample impulse[2] = { s->reloaded, s->reloaded };
diff @ 2022-05-18 20:00:05 +0100 diff --git a/client/go.c b/client/go.c index d6aee1e3b..60ae61816 100644 --- a/client/go.c +++ b/client/go.c @@ -70,7 +70,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, 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], 20, 1500, tanh(so2[c] + RESET*impulse[c])); } // output
diff @ 2022-05-18 20:00:20 +0100 diff --git a/client/go.c b/client/go.c index 60ae61816..4b2a884c5 100644 --- a/client/go.c +++ b/client/go.c @@ -70,7 +70,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) so2[1] *= gain; // write to delay lines for (int c = 0; c < 2; ++c) { - so2echo(&s->so2.echo[c], 20, 1500, + so2echo(&s->so2.echo[c], 50, 1500, tanh(so2[c] + RESET*impulse[c])); } // output
diff @ 2022-05-18 20:00:34 +0100 diff --git a/client/go.c b/client/go.c index 4b2a884c5..53520e7e3 100644 --- a/client/go.c +++ b/client/go.c @@ -58,9 +58,9 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) // pitchshift feedback for (int c = 0; c < 2; ++c) { sample down = pitchshift(&s->so2.shift[c][0], 1, ms4, - lop(&s->so2.lag[c][0], -12, 1e-3), feedback[c]); + lop(&s->so2.lag[c][0], -12, 1e-2), feedback[c]); sample up = pitchshift(&s->so2.shift[c][1], 1, ms4, - lop(&s->so2.lag[c][1], 19, 1e-3), down); + lop(&s->so2.lag[c][1], 19, 1e-2), down); feedback[c] = 2 * feedback[c] - down - up; } // compress feedback
diff @ 2022-05-18 20:00:46 +0100 diff --git a/client/go.c b/client/go.c index 53520e7e3..b2cea7a89 100644 --- a/client/go.c +++ b/client/go.c @@ -52,8 +52,8 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) p = phasor(&s->so2.phase, bpm/60 / 16); sample modulation = 0 * cos(twopi * p); sample feedback[2] = - { delread4(&s->so2.echo[1].del, 2 * ms4 - modulation) - , delread4(&s->so2.echo[0].del, 2 * ms4 + modulation) + { delread4(&s->so2.echo[1].del, 2 * ms4 * (1 - modulation)) + , delread4(&s->so2.echo[0].del, 2 * ms4 * (1 + modulation)) }; // pitchshift feedback for (int c = 0; c < 2; ++c) {
diff @ 2022-05-18 20:00:49 +0100 diff --git a/client/go.c b/client/go.c index b2cea7a89..188534b3e 100644 --- a/client/go.c +++ b/client/go.c @@ -50,7 +50,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) sample impulse[2] = { s->reloaded, s->reloaded }; // modulate delay times p = phasor(&s->so2.phase, bpm/60 / 16); - sample modulation = 0 * cos(twopi * p); + sample modulation = 0.001 * cos(twopi * p); sample feedback[2] = { delread4(&s->so2.echo[1].del, 2 * ms4 * (1 - modulation)) , delread4(&s->so2.echo[0].del, 2 * ms4 * (1 + modulation))
diff @ 2022-05-18 20:01:04 +0100 diff --git a/client/go.c b/client/go.c index 188534b3e..6ce286690 100644 --- a/client/go.c +++ b/client/go.c @@ -50,7 +50,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) sample impulse[2] = { s->reloaded, s->reloaded }; // modulate delay times p = phasor(&s->so2.phase, bpm/60 / 16); - sample modulation = 0.001 * cos(twopi * p); + sample modulation = 0.002 * cos(twopi * p); sample feedback[2] = { delread4(&s->so2.echo[1].del, 2 * ms4 * (1 - modulation)) , delread4(&s->so2.echo[0].del, 2 * ms4 * (1 + modulation))
diff @ 2022-05-18 20:01:10 +0100 diff --git a/client/go.c b/client/go.c index 6ce286690..3bb2673a2 100644 --- a/client/go.c +++ b/client/go.c @@ -50,7 +50,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) sample impulse[2] = { s->reloaded, s->reloaded }; // modulate delay times p = phasor(&s->so2.phase, bpm/60 / 16); - sample modulation = 0.002 * cos(twopi * p); + sample modulation = 0.004 * cos(twopi * p); sample feedback[2] = { delread4(&s->so2.echo[1].del, 2 * ms4 * (1 - modulation)) , delread4(&s->so2.echo[0].del, 2 * ms4 * (1 + modulation))
diff @ 2022-05-18 20:01:22 +0100 diff --git a/client/go.c b/client/go.c index 3bb2673a2..bcbc857bb 100644 --- a/client/go.c +++ b/client/go.c @@ -60,7 +60,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) sample down = pitchshift(&s->so2.shift[c][0], 1, ms4, lop(&s->so2.lag[c][0], -12, 1e-2), feedback[c]); sample up = pitchshift(&s->so2.shift[c][1], 1, ms4, - lop(&s->so2.lag[c][1], 19, 1e-2), down); + lop(&s->so2.lag[c][1], 24, 1e-2), down); feedback[c] = 2 * feedback[c] - down - up; } // compress feedback
diff @ 2022-05-18 20:02:09 +0100 diff --git a/client/go.c b/client/go.c index bcbc857bb..a5af95580 100644 --- a/client/go.c +++ b/client/go.c @@ -63,6 +63,10 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) lop(&s->so2.lag[c][1], 24, 1e-2), down); feedback[c] = 2 * feedback[c] - down - up; } + // beats + sample kick = sin(twopi * pow(1 - wrap(16 * p), 10) * 5); + feedback[0] += kick; + feedback[1] += kick; // compress feedback compress(so2, &s->so2.compress, 5, 10, 25, 48, feedback); sample gain = 1;
diff @ 2022-05-18 20:02:14 +0100 diff --git a/client/go.c b/client/go.c index a5af95580..469fb1fee 100644 --- a/client/go.c +++ b/client/go.c @@ -64,7 +64,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) feedback[c] = 2 * feedback[c] - down - up; } // beats - sample kick = sin(twopi * pow(1 - wrap(16 * p), 10) * 5); + sample kick = sin(twopi * pow(1 - wrap(16 * p), 10) * 6); feedback[0] += kick; feedback[1] += kick; // compress feedback
diff @ 2022-05-18 20:02:17 +0100 diff --git a/client/go.c b/client/go.c index 469fb1fee..d4100b2b8 100644 --- a/client/go.c +++ b/client/go.c @@ -64,7 +64,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) feedback[c] = 2 * feedback[c] - down - up; } // beats - sample kick = sin(twopi * pow(1 - wrap(16 * p), 10) * 6); + sample kick = sin(twopi * pow(1 - wrap(16 * p), 10) * 7); feedback[0] += kick; feedback[1] += kick; // compress feedback
diff @ 2022-05-18 20:02:20 +0100 diff --git a/client/go.c b/client/go.c index d4100b2b8..602fb3943 100644 --- a/client/go.c +++ b/client/go.c @@ -64,7 +64,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) feedback[c] = 2 * feedback[c] - down - up; } // beats - sample kick = sin(twopi * pow(1 - wrap(16 * p), 10) * 7); + sample kick = sin(twopi * pow(1 - wrap(16 * p), 10) * 8); feedback[0] += kick; feedback[1] += kick; // compress feedback
diff @ 2022-05-18 20:02:21 +0100 diff --git a/client/go.c b/client/go.c index 602fb3943..4011578d9 100644 --- a/client/go.c +++ b/client/go.c @@ -64,7 +64,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) feedback[c] = 2 * feedback[c] - down - up; } // beats - sample kick = sin(twopi * pow(1 - wrap(16 * p), 10) * 8); + sample kick = sin(twopi * pow(1 - wrap(16 * p), 10) * 9); feedback[0] += kick; feedback[1] += kick; // compress feedback
diff @ 2022-05-18 20:02:23 +0100 diff --git a/client/go.c b/client/go.c index 4011578d9..964e867ec 100644 --- a/client/go.c +++ b/client/go.c @@ -64,7 +64,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) feedback[c] = 2 * feedback[c] - down - up; } // beats - sample kick = sin(twopi * pow(1 - wrap(16 * p), 10) * 9); + sample kick = sin(twopi * pow(1 - wrap(16 * p), 10) * 10); feedback[0] += kick; feedback[1] += kick; // compress feedback
diff @ 2022-05-18 20:02:36 +0100 diff --git a/client/go.c b/client/go.c index 964e867ec..7e5219316 100644 --- a/client/go.c +++ b/client/go.c @@ -36,7 +36,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) } ///((( MIXDOWN - sample bpm = 117.1875; + sample bpm = 118.1875; sample mixdown[2] = { 0, 0 }; ///))) MIXDOWN
diff @ 2022-05-18 20:02:51 +0100 diff --git a/client/go.c b/client/go.c index 7e5219316..4a6e314f1 100644 --- a/client/go.c +++ b/client/go.c @@ -52,8 +52,8 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) p = phasor(&s->so2.phase, bpm/60 / 16); sample modulation = 0.004 * cos(twopi * p); sample feedback[2] = - { delread4(&s->so2.echo[1].del, 2 * ms4 * (1 - modulation)) - , delread4(&s->so2.echo[0].del, 2 * ms4 * (1 + modulation)) + { delread4(&s->so2.echo[1].del, 4./3 * ms4 * (1 - modulation)) + , delread4(&s->so2.echo[0].del, 4./3 * ms4 * (1 + modulation)) }; // pitchshift feedback for (int c = 0; c < 2; ++c) {
diff @ 2022-05-18 20:03:04 +0100 diff --git a/client/go.c b/client/go.c index 4a6e314f1..c935e8e6f 100644 --- a/client/go.c +++ b/client/go.c @@ -78,8 +78,8 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) tanh(so2[c] + RESET*impulse[c])); } // output - mixdown[0] += so2[0]; - mixdown[1] += so2[1]; + mixdown[0] += so2[0] + kick; + mixdown[1] += so2[1] + kick; } ///}}} SEA ORGAN 2.2 ///{{{ SMOLTECH
diff @ 2022-05-18 20:03:13 +0100 diff --git a/client/go.c b/client/go.c index c935e8e6f..610ba4442 100644 --- a/client/go.c +++ b/client/go.c @@ -36,7 +36,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) } ///((( MIXDOWN - sample bpm = 118.1875; + sample bpm = 119.1875; sample mixdown[2] = { 0, 0 }; ///))) MIXDOWN
diff @ 2022-05-18 20:03:24 +0100 diff --git a/client/go.c b/client/go.c index 610ba4442..50e38bc05 100644 --- a/client/go.c +++ b/client/go.c @@ -52,8 +52,8 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) p = phasor(&s->so2.phase, bpm/60 / 16); sample modulation = 0.004 * cos(twopi * p); sample feedback[2] = - { delread4(&s->so2.echo[1].del, 4./3 * ms4 * (1 - modulation)) - , delread4(&s->so2.echo[0].del, 4./3 * ms4 * (1 + modulation)) + { delread4(&s->so2.echo[1].del, 2./3 * ms4 * (1 - modulation)) + , delread4(&s->so2.echo[0].del, 2./3 * ms4 * (1 + modulation)) }; // pitchshift feedback for (int c = 0; c < 2; ++c) {
diff @ 2022-05-18 20:03:36 +0100 diff --git a/client/go.h b/client/go.h index cc51a110c..2b728fa3a 100644 --- a/client/go.h +++ b/client/go.h @@ -56,6 +56,7 @@ typedef struct { ///]]] MIXDOWN ///[[[ SEA ORGAN 2.2 SO2 so2; + BIQUAD so2k; ///]]] SEA ORGAN 2.2 ///[[[ SMOLTECH ///]]] SMOLTECH
diff @ 2022-05-18 20:04:01 +0100 diff --git a/client/go.c b/client/go.c index 50e38bc05..0fdd457d5 100644 --- a/client/go.c +++ b/client/go.c @@ -78,6 +78,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) tanh(so2[c] + RESET*impulse[c])); } // output + kick = biquad(highpass(&s->so2k, 60, 10), kick); mixdown[0] += so2[0] + kick; mixdown[1] += so2[1] + kick; }
diff @ 2022-05-18 20:04:16 +0100 diff --git a/client/go.c b/client/go.c index 0fdd457d5..21bdc71be 100644 --- a/client/go.c +++ b/client/go.c @@ -74,7 +74,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) so2[1] *= gain; // write to delay lines for (int c = 0; c < 2; ++c) { - so2echo(&s->so2.echo[c], 50, 1500, + so2echo(&s->so2.echo[c], 150, 1500, tanh(so2[c] + RESET*impulse[c])); } // output
diff @ 2022-05-18 20:04:22 +0100 diff --git a/client/go.c b/client/go.c index 21bdc71be..d072581ac 100644 --- a/client/go.c +++ b/client/go.c @@ -50,7 +50,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) sample impulse[2] = { s->reloaded, s->reloaded }; // modulate delay times p = phasor(&s->so2.phase, bpm/60 / 16); - sample modulation = 0.004 * cos(twopi * p); + sample modulation = 0.008 * cos(twopi * p); sample feedback[2] = { delread4(&s->so2.echo[1].del, 2./3 * ms4 * (1 - modulation)) , delread4(&s->so2.echo[0].del, 2./3 * ms4 * (1 + modulation))
diff @ 2022-05-18 20:04:25 +0100 diff --git a/client/go.c b/client/go.c index d072581ac..7c2ac24c0 100644 --- a/client/go.c +++ b/client/go.c @@ -50,7 +50,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) sample impulse[2] = { s->reloaded, s->reloaded }; // modulate delay times p = phasor(&s->so2.phase, bpm/60 / 16); - sample modulation = 0.008 * cos(twopi * p); + sample modulation = 0.01 * cos(twopi * p); sample feedback[2] = { delread4(&s->so2.echo[1].del, 2./3 * ms4 * (1 - modulation)) , delread4(&s->so2.echo[0].del, 2./3 * ms4 * (1 + modulation))
diff @ 2022-05-18 20:04:28 +0100 diff --git a/client/go.c b/client/go.c index 7c2ac24c0..eb7f8dae1 100644 --- a/client/go.c +++ b/client/go.c @@ -50,7 +50,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) sample impulse[2] = { s->reloaded, s->reloaded }; // modulate delay times p = phasor(&s->so2.phase, bpm/60 / 16); - sample modulation = 0.01 * cos(twopi * p); + sample modulation = 0.1 * cos(twopi * p); sample feedback[2] = { delread4(&s->so2.echo[1].del, 2./3 * ms4 * (1 - modulation)) , delread4(&s->so2.echo[0].del, 2./3 * ms4 * (1 + modulation))
diff @ 2022-05-18 20:04:33 +0100 diff --git a/client/go.c b/client/go.c index eb7f8dae1..3c5b21953 100644 --- a/client/go.c +++ b/client/go.c @@ -50,7 +50,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) sample impulse[2] = { s->reloaded, s->reloaded }; // modulate delay times p = phasor(&s->so2.phase, bpm/60 / 16); - sample modulation = 0.1 * cos(twopi * p); + sample modulation = 0.1 * cos(twopi * p * 2); sample feedback[2] = { delread4(&s->so2.echo[1].del, 2./3 * ms4 * (1 - modulation)) , delread4(&s->so2.echo[0].del, 2./3 * ms4 * (1 + modulation))
diff @ 2022-05-18 20:04:35 +0100 diff --git a/client/go.c b/client/go.c index 3c5b21953..1aea9270c 100644 --- a/client/go.c +++ b/client/go.c @@ -50,7 +50,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) sample impulse[2] = { s->reloaded, s->reloaded }; // modulate delay times p = phasor(&s->so2.phase, bpm/60 / 16); - sample modulation = 0.1 * cos(twopi * p * 2); + sample modulation = 0.1 * cos(twopi * p * 2 * 2); sample feedback[2] = { delread4(&s->so2.echo[1].del, 2./3 * ms4 * (1 - modulation)) , delread4(&s->so2.echo[0].del, 2./3 * ms4 * (1 + modulation))
diff @ 2022-05-18 20:04:37 +0100 diff --git a/client/go.c b/client/go.c index 1aea9270c..753ecffed 100644 --- a/client/go.c +++ b/client/go.c @@ -50,7 +50,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) sample impulse[2] = { s->reloaded, s->reloaded }; // modulate delay times p = phasor(&s->so2.phase, bpm/60 / 16); - sample modulation = 0.1 * cos(twopi * p * 2 * 2); + sample modulation = 0.1 * cos(twopi * p * 2 * 2 * 2); sample feedback[2] = { delread4(&s->so2.echo[1].del, 2./3 * ms4 * (1 - modulation)) , delread4(&s->so2.echo[0].del, 2./3 * ms4 * (1 + modulation))
diff @ 2022-05-18 20:04:39 +0100 diff --git a/client/go.c b/client/go.c index 753ecffed..0bff6ae44 100644 --- a/client/go.c +++ b/client/go.c @@ -50,7 +50,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) sample impulse[2] = { s->reloaded, s->reloaded }; // modulate delay times p = phasor(&s->so2.phase, bpm/60 / 16); - sample modulation = 0.1 * cos(twopi * p * 2 * 2 * 2); + sample modulation = 0.1 * cos(twopi * p * 2 * 2 * 2 * 2); sample feedback[2] = { delread4(&s->so2.echo[1].del, 2./3 * ms4 * (1 - modulation)) , delread4(&s->so2.echo[0].del, 2./3 * ms4 * (1 + modulation))
diff @ 2022-05-18 20:04:44 +0100 diff --git a/client/go.c b/client/go.c index 0bff6ae44..37e023205 100644 --- a/client/go.c +++ b/client/go.c @@ -50,7 +50,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) sample impulse[2] = { s->reloaded, s->reloaded }; // modulate delay times p = phasor(&s->so2.phase, bpm/60 / 16); - sample modulation = 0.1 * cos(twopi * p * 2 * 2 * 2 * 2); + sample modulation = 0.01 * cos(twopi * p * 2 * 2 * 2 * 2); sample feedback[2] = { delread4(&s->so2.echo[1].del, 2./3 * ms4 * (1 - modulation)) , delread4(&s->so2.echo[0].del, 2./3 * ms4 * (1 + modulation))
diff @ 2022-05-18 20:04:47 +0100 diff --git a/client/go.c b/client/go.c index 37e023205..3a3255dd9 100644 --- a/client/go.c +++ b/client/go.c @@ -50,7 +50,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) sample impulse[2] = { s->reloaded, s->reloaded }; // modulate delay times p = phasor(&s->so2.phase, bpm/60 / 16); - sample modulation = 0.01 * cos(twopi * p * 2 * 2 * 2 * 2); + sample modulation = 0.01 * cos(twopi * p * 2 * 2 * 2 * 2 * 2); sample feedback[2] = { delread4(&s->so2.echo[1].del, 2./3 * ms4 * (1 - modulation)) , delread4(&s->so2.echo[0].del, 2./3 * ms4 * (1 + modulation))
diff @ 2022-05-18 20:04:54 +0100 diff --git a/client/go.c b/client/go.c index 3a3255dd9..df5ce7b2d 100644 --- a/client/go.c +++ b/client/go.c @@ -50,7 +50,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) sample impulse[2] = { s->reloaded, s->reloaded }; // modulate delay times p = phasor(&s->so2.phase, bpm/60 / 16); - sample modulation = 0.01 * cos(twopi * p * 2 * 2 * 2 * 2 * 2); + sample modulation = 0.01 * cos(twopi * p * 2 * 2 * 2 * 2 * 2 * 2); sample feedback[2] = { delread4(&s->so2.echo[1].del, 2./3 * ms4 * (1 - modulation)) , delread4(&s->so2.echo[0].del, 2./3 * ms4 * (1 + modulation))
diff @ 2022-05-18 20:04:58 +0100 diff --git a/client/go.c b/client/go.c index df5ce7b2d..ec7cf3de7 100644 --- a/client/go.c +++ b/client/go.c @@ -50,7 +50,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) sample impulse[2] = { s->reloaded, s->reloaded }; // modulate delay times p = phasor(&s->so2.phase, bpm/60 / 16); - sample modulation = 0.01 * cos(twopi * p * 2 * 2 * 2 * 2 * 2 * 2); + sample modulation = 0.001 * cos(twopi * p * 2 * 2 * 2 * 2 * 2 * 2); sample feedback[2] = { delread4(&s->so2.echo[1].del, 2./3 * ms4 * (1 - modulation)) , delread4(&s->so2.echo[0].del, 2./3 * ms4 * (1 + modulation))
diff @ 2022-05-18 20:05:01 +0100 diff --git a/client/go.c b/client/go.c index ec7cf3de7..17098383d 100644 --- a/client/go.c +++ b/client/go.c @@ -50,7 +50,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) sample impulse[2] = { s->reloaded, s->reloaded }; // modulate delay times p = phasor(&s->so2.phase, bpm/60 / 16); - sample modulation = 0.001 * cos(twopi * p * 2 * 2 * 2 * 2 * 2 * 2); + sample modulation = 0.002 * cos(twopi * p * 2 * 2 * 2 * 2 * 2 * 2); sample feedback[2] = { delread4(&s->so2.echo[1].del, 2./3 * ms4 * (1 - modulation)) , delread4(&s->so2.echo[0].del, 2./3 * ms4 * (1 + modulation))
diff @ 2022-05-18 20:05:03 +0100 diff --git a/client/go.c b/client/go.c index 17098383d..00789c9fe 100644 --- a/client/go.c +++ b/client/go.c @@ -50,7 +50,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) sample impulse[2] = { s->reloaded, s->reloaded }; // modulate delay times p = phasor(&s->so2.phase, bpm/60 / 16); - sample modulation = 0.002 * cos(twopi * p * 2 * 2 * 2 * 2 * 2 * 2); + sample modulation = 0.003 * cos(twopi * p * 2 * 2 * 2 * 2 * 2 * 2); sample feedback[2] = { delread4(&s->so2.echo[1].del, 2./3 * ms4 * (1 - modulation)) , delread4(&s->so2.echo[0].del, 2./3 * ms4 * (1 + modulation))
diff @ 2022-05-18 20:05:04 +0100 diff --git a/client/go.c b/client/go.c index 00789c9fe..fa9bfba98 100644 --- a/client/go.c +++ b/client/go.c @@ -50,7 +50,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) sample impulse[2] = { s->reloaded, s->reloaded }; // modulate delay times p = phasor(&s->so2.phase, bpm/60 / 16); - sample modulation = 0.003 * cos(twopi * p * 2 * 2 * 2 * 2 * 2 * 2); + sample modulation = 0.004 * cos(twopi * p * 2 * 2 * 2 * 2 * 2 * 2); sample feedback[2] = { delread4(&s->so2.echo[1].del, 2./3 * ms4 * (1 - modulation)) , delread4(&s->so2.echo[0].del, 2./3 * ms4 * (1 + modulation))
diff @ 2022-05-18 20:05:05 +0100 diff --git a/client/go.c b/client/go.c index fa9bfba98..0e96c6376 100644 --- a/client/go.c +++ b/client/go.c @@ -50,7 +50,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) sample impulse[2] = { s->reloaded, s->reloaded }; // modulate delay times p = phasor(&s->so2.phase, bpm/60 / 16); - sample modulation = 0.004 * cos(twopi * p * 2 * 2 * 2 * 2 * 2 * 2); + sample modulation = 0.005 * cos(twopi * p * 2 * 2 * 2 * 2 * 2 * 2); sample feedback[2] = { delread4(&s->so2.echo[1].del, 2./3 * ms4 * (1 - modulation)) , delread4(&s->so2.echo[0].del, 2./3 * ms4 * (1 + modulation))
diff @ 2022-05-18 20:05:12 +0100 diff --git a/client/go.c b/client/go.c index 0e96c6376..36e509ab9 100644 --- a/client/go.c +++ b/client/go.c @@ -61,7 +61,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) lop(&s->so2.lag[c][0], -12, 1e-2), feedback[c]); sample up = pitchshift(&s->so2.shift[c][1], 1, ms4, lop(&s->so2.lag[c][1], 24, 1e-2), down); - feedback[c] = 2 * feedback[c] - down - up; + feedback[c] = sin(2 * feedback[c] - down - up); } // beats sample kick = sin(twopi * pow(1 - wrap(16 * p), 10) * 10);
diff @ 2022-05-18 20:05:20 +0100 diff --git a/client/go.c b/client/go.c index 36e509ab9..5996b5fb4 100644 --- a/client/go.c +++ b/client/go.c @@ -61,7 +61,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) lop(&s->so2.lag[c][0], -12, 1e-2), feedback[c]); sample up = pitchshift(&s->so2.shift[c][1], 1, ms4, lop(&s->so2.lag[c][1], 24, 1e-2), down); - feedback[c] = sin(2 * feedback[c] - down - up); + feedback[c] = sin((2 * feedback[c] - down - up)*1.1); } // beats sample kick = sin(twopi * pow(1 - wrap(16 * p), 10) * 10);
diff @ 2022-05-18 20:05:22 +0100 diff --git a/client/go.c b/client/go.c index 5996b5fb4..00901db3a 100644 --- a/client/go.c +++ b/client/go.c @@ -61,7 +61,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) lop(&s->so2.lag[c][0], -12, 1e-2), feedback[c]); sample up = pitchshift(&s->so2.shift[c][1], 1, ms4, lop(&s->so2.lag[c][1], 24, 1e-2), down); - feedback[c] = sin((2 * feedback[c] - down - up)*1.1); + feedback[c] = sin((2 * feedback[c] - down - up)*1.2); } // beats sample kick = sin(twopi * pow(1 - wrap(16 * p), 10) * 10);
diff @ 2022-05-18 20:05:23 +0100 diff --git a/client/go.c b/client/go.c index 00901db3a..46136dc57 100644 --- a/client/go.c +++ b/client/go.c @@ -61,7 +61,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) lop(&s->so2.lag[c][0], -12, 1e-2), feedback[c]); sample up = pitchshift(&s->so2.shift[c][1], 1, ms4, lop(&s->so2.lag[c][1], 24, 1e-2), down); - feedback[c] = sin((2 * feedback[c] - down - up)*1.2); + feedback[c] = sin((2 * feedback[c] - down - up)*1.3); } // beats sample kick = sin(twopi * pow(1 - wrap(16 * p), 10) * 10);
diff @ 2022-05-18 20:05:25 +0100 diff --git a/client/go.c b/client/go.c index 46136dc57..ce647c1be 100644 --- a/client/go.c +++ b/client/go.c @@ -61,7 +61,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) lop(&s->so2.lag[c][0], -12, 1e-2), feedback[c]); sample up = pitchshift(&s->so2.shift[c][1], 1, ms4, lop(&s->so2.lag[c][1], 24, 1e-2), down); - feedback[c] = sin((2 * feedback[c] - down - up)*1.3); + feedback[c] = sin((2 * feedback[c] - down - up)*1.4); } // beats sample kick = sin(twopi * pow(1 - wrap(16 * p), 10) * 10);
diff @ 2022-05-18 20:05:26 +0100 diff --git a/client/go.c b/client/go.c index ce647c1be..fb2c38b0d 100644 --- a/client/go.c +++ b/client/go.c @@ -61,7 +61,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) lop(&s->so2.lag[c][0], -12, 1e-2), feedback[c]); sample up = pitchshift(&s->so2.shift[c][1], 1, ms4, lop(&s->so2.lag[c][1], 24, 1e-2), down); - feedback[c] = sin((2 * feedback[c] - down - up)*1.4); + feedback[c] = sin((2 * feedback[c] - down - up)*1.5); } // beats sample kick = sin(twopi * pow(1 - wrap(16 * p), 10) * 10);
diff @ 2022-05-18 20:05:27 +0100 diff --git a/client/go.c b/client/go.c index fb2c38b0d..b06d0a028 100644 --- a/client/go.c +++ b/client/go.c @@ -61,7 +61,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) lop(&s->so2.lag[c][0], -12, 1e-2), feedback[c]); sample up = pitchshift(&s->so2.shift[c][1], 1, ms4, lop(&s->so2.lag[c][1], 24, 1e-2), down); - feedback[c] = sin((2 * feedback[c] - down - up)*1.5); + feedback[c] = sin((2 * feedback[c] - down - up)*1.6); } // beats sample kick = sin(twopi * pow(1 - wrap(16 * p), 10) * 10);
diff @ 2022-05-18 20:05:28 +0100 diff --git a/client/go.c b/client/go.c index b06d0a028..047042148 100644 --- a/client/go.c +++ b/client/go.c @@ -61,7 +61,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) lop(&s->so2.lag[c][0], -12, 1e-2), feedback[c]); sample up = pitchshift(&s->so2.shift[c][1], 1, ms4, lop(&s->so2.lag[c][1], 24, 1e-2), down); - feedback[c] = sin((2 * feedback[c] - down - up)*1.6); + feedback[c] = sin((2 * feedback[c] - down - up)*1.7); } // beats sample kick = sin(twopi * pow(1 - wrap(16 * p), 10) * 10);
diff @ 2022-05-18 20:05:29 +0100 diff --git a/client/go.c b/client/go.c index 047042148..c9e877519 100644 --- a/client/go.c +++ b/client/go.c @@ -61,7 +61,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) lop(&s->so2.lag[c][0], -12, 1e-2), feedback[c]); sample up = pitchshift(&s->so2.shift[c][1], 1, ms4, lop(&s->so2.lag[c][1], 24, 1e-2), down); - feedback[c] = sin((2 * feedback[c] - down - up)*1.7); + feedback[c] = sin((2 * feedback[c] - down - up)*1.8); } // beats sample kick = sin(twopi * pow(1 - wrap(16 * p), 10) * 10);
diff @ 2022-05-18 20:05:30 +0100 diff --git a/client/go.c b/client/go.c index c9e877519..9fe30cdbe 100644 --- a/client/go.c +++ b/client/go.c @@ -61,7 +61,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) lop(&s->so2.lag[c][0], -12, 1e-2), feedback[c]); sample up = pitchshift(&s->so2.shift[c][1], 1, ms4, lop(&s->so2.lag[c][1], 24, 1e-2), down); - feedback[c] = sin((2 * feedback[c] - down - up)*1.8); + feedback[c] = sin((2 * feedback[c] - down - up)*1.9); } // beats sample kick = sin(twopi * pow(1 - wrap(16 * p), 10) * 10);
diff @ 2022-05-18 20:05:32 +0100 diff --git a/client/go.c b/client/go.c index 9fe30cdbe..38723ac6a 100644 --- a/client/go.c +++ b/client/go.c @@ -61,7 +61,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) lop(&s->so2.lag[c][0], -12, 1e-2), feedback[c]); sample up = pitchshift(&s->so2.shift[c][1], 1, ms4, lop(&s->so2.lag[c][1], 24, 1e-2), down); - feedback[c] = sin((2 * feedback[c] - down - up)*1.9); + feedback[c] = sin((2 * feedback[c] - down - up)*2); } // beats sample kick = sin(twopi * pow(1 - wrap(16 * p), 10) * 10);
diff @ 2022-05-18 20:05:34 +0100 diff --git a/client/go.c b/client/go.c index 38723ac6a..1b04aac66 100644 --- a/client/go.c +++ b/client/go.c @@ -61,7 +61,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) lop(&s->so2.lag[c][0], -12, 1e-2), feedback[c]); sample up = pitchshift(&s->so2.shift[c][1], 1, ms4, lop(&s->so2.lag[c][1], 24, 1e-2), down); - feedback[c] = sin((2 * feedback[c] - down - up)*2); + feedback[c] = sin((2 * feedback[c] - down - up)*2.2); } // beats sample kick = sin(twopi * pow(1 - wrap(16 * p), 10) * 10);
diff @ 2022-05-18 20:05:35 +0100 diff --git a/client/go.c b/client/go.c index 1b04aac66..5b9d7451a 100644 --- a/client/go.c +++ b/client/go.c @@ -61,7 +61,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) lop(&s->so2.lag[c][0], -12, 1e-2), feedback[c]); sample up = pitchshift(&s->so2.shift[c][1], 1, ms4, lop(&s->so2.lag[c][1], 24, 1e-2), down); - feedback[c] = sin((2 * feedback[c] - down - up)*2.2); + feedback[c] = sin((2 * feedback[c] - down - up)*2.4); } // beats sample kick = sin(twopi * pow(1 - wrap(16 * p), 10) * 10);
diff @ 2022-05-18 20:05:39 +0100 diff --git a/client/go.c b/client/go.c index 5b9d7451a..9cabcf64b 100644 --- a/client/go.c +++ b/client/go.c @@ -61,7 +61,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) lop(&s->so2.lag[c][0], -12, 1e-2), feedback[c]); sample up = pitchshift(&s->so2.shift[c][1], 1, ms4, lop(&s->so2.lag[c][1], 24, 1e-2), down); - feedback[c] = sin((2 * feedback[c] - down - up)*2.4); + feedback[c] = sin((2 * feedback[c] - down - up)*2.5); } // beats sample kick = sin(twopi * pow(1 - wrap(16 * p), 10) * 10);
diff @ 2022-05-18 20:05:43 +0100 diff --git a/client/go.c b/client/go.c index 9cabcf64b..87d1392aa 100644 --- a/client/go.c +++ b/client/go.c @@ -61,7 +61,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) lop(&s->so2.lag[c][0], -12, 1e-2), feedback[c]); sample up = pitchshift(&s->so2.shift[c][1], 1, ms4, lop(&s->so2.lag[c][1], 24, 1e-2), down); - feedback[c] = sin((2 * feedback[c] - down - up)*2.5); + feedback[c] = sin((2 * feedback[c] - down - up)*2.6); } // beats sample kick = sin(twopi * pow(1 - wrap(16 * p), 10) * 10);
diff @ 2022-05-18 20:05:45 +0100 diff --git a/client/go.c b/client/go.c index 87d1392aa..62519ddc9 100644 --- a/client/go.c +++ b/client/go.c @@ -61,7 +61,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) lop(&s->so2.lag[c][0], -12, 1e-2), feedback[c]); sample up = pitchshift(&s->so2.shift[c][1], 1, ms4, lop(&s->so2.lag[c][1], 24, 1e-2), down); - feedback[c] = sin((2 * feedback[c] - down - up)*2.6); + feedback[c] = sin((2 * feedback[c] - down - up)*2.7); } // beats sample kick = sin(twopi * pow(1 - wrap(16 * p), 10) * 10);
diff @ 2022-05-18 20:05:46 +0100 diff --git a/client/go.c b/client/go.c index 62519ddc9..d2729b872 100644 --- a/client/go.c +++ b/client/go.c @@ -61,7 +61,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) lop(&s->so2.lag[c][0], -12, 1e-2), feedback[c]); sample up = pitchshift(&s->so2.shift[c][1], 1, ms4, lop(&s->so2.lag[c][1], 24, 1e-2), down); - feedback[c] = sin((2 * feedback[c] - down - up)*2.7); + feedback[c] = sin((2 * feedback[c] - down - up)*2.8); } // beats sample kick = sin(twopi * pow(1 - wrap(16 * p), 10) * 10);
diff @ 2022-05-18 20:05:47 +0100 diff --git a/client/go.c b/client/go.c index d2729b872..1d7095a7f 100644 --- a/client/go.c +++ b/client/go.c @@ -61,7 +61,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) lop(&s->so2.lag[c][0], -12, 1e-2), feedback[c]); sample up = pitchshift(&s->so2.shift[c][1], 1, ms4, lop(&s->so2.lag[c][1], 24, 1e-2), down); - feedback[c] = sin((2 * feedback[c] - down - up)*2.8); + feedback[c] = sin((2 * feedback[c] - down - up)*2.9); } // beats sample kick = sin(twopi * pow(1 - wrap(16 * p), 10) * 10);
diff @ 2022-05-18 20:05:48 +0100 diff --git a/client/go.c b/client/go.c index 1d7095a7f..3d5286f27 100644 --- a/client/go.c +++ b/client/go.c @@ -61,7 +61,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) lop(&s->so2.lag[c][0], -12, 1e-2), feedback[c]); sample up = pitchshift(&s->so2.shift[c][1], 1, ms4, lop(&s->so2.lag[c][1], 24, 1e-2), down); - feedback[c] = sin((2 * feedback[c] - down - up)*2.9); + feedback[c] = sin((2 * feedback[c] - down - up)*3); } // beats sample kick = sin(twopi * pow(1 - wrap(16 * p), 10) * 10);
diff @ 2022-05-18 20:05:56 +0100 diff --git a/client/go.c b/client/go.c index 3d5286f27..8b6655b26 100644 --- a/client/go.c +++ b/client/go.c @@ -74,7 +74,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) so2[1] *= gain; // write to delay lines for (int c = 0; c < 2; ++c) { - so2echo(&s->so2.echo[c], 150, 1500, + so2echo(&s->so2.echo[c], 20, 1500, tanh(so2[c] + RESET*impulse[c])); } // output
diff @ 2022-05-18 20:05:58 +0100 diff --git a/client/go.c b/client/go.c index 8b6655b26..ec4dfe47d 100644 --- a/client/go.c +++ b/client/go.c @@ -74,7 +74,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) so2[1] *= gain; // write to delay lines for (int c = 0; c < 2; ++c) { - so2echo(&s->so2.echo[c], 20, 1500, + so2echo(&s->so2.echo[c], 20, 500, tanh(so2[c] + RESET*impulse[c])); } // output
diff @ 2022-05-18 20:06:03 +0100 diff --git a/client/go.c b/client/go.c index ec4dfe47d..2d53298ce 100644 --- a/client/go.c +++ b/client/go.c @@ -61,7 +61,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) lop(&s->so2.lag[c][0], -12, 1e-2), feedback[c]); sample up = pitchshift(&s->so2.shift[c][1], 1, ms4, lop(&s->so2.lag[c][1], 24, 1e-2), down); - feedback[c] = sin((2 * feedback[c] - down - up)*3); + feedback[c] = sin((2 * feedback[c] - down - up)*4); } // beats sample kick = sin(twopi * pow(1 - wrap(16 * p), 10) * 10);
diff @ 2022-05-18 20:06:10 +0100 diff --git a/client/go.c b/client/go.c index 2d53298ce..891b45e71 100644 --- a/client/go.c +++ b/client/go.c @@ -61,7 +61,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) lop(&s->so2.lag[c][0], -12, 1e-2), feedback[c]); sample up = pitchshift(&s->so2.shift[c][1], 1, ms4, lop(&s->so2.lag[c][1], 24, 1e-2), down); - feedback[c] = sin((2 * feedback[c] - down - up)*4); + feedback[c] = sin((2 * feedback[c] - down - up)*5); } // beats sample kick = sin(twopi * pow(1 - wrap(16 * p), 10) * 10);
diff @ 2022-05-18 20:06:15 +0100 diff --git a/client/go.c b/client/go.c index 891b45e71..8c9adff29 100644 --- a/client/go.c +++ b/client/go.c @@ -61,7 +61,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) lop(&s->so2.lag[c][0], -12, 1e-2), feedback[c]); sample up = pitchshift(&s->so2.shift[c][1], 1, ms4, lop(&s->so2.lag[c][1], 24, 1e-2), down); - feedback[c] = sin((2 * feedback[c] - down - up)*5); + feedback[c] = sin((2 * feedback[c] - down - up)*6); } // beats sample kick = sin(twopi * pow(1 - wrap(16 * p), 10) * 10);
diff @ 2022-05-18 20:06:29 +0100 diff --git a/client/go.c b/client/go.c index 8c9adff29..ef37ca5ba 100644 --- a/client/go.c +++ b/client/go.c @@ -78,7 +78,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) tanh(so2[c] + RESET*impulse[c])); } // output - kick = biquad(highpass(&s->so2k, 60, 10), kick); + kick = biquad(highpass(&s->so2k, 60 * pow(2, p), 10), kick); mixdown[0] += so2[0] + kick; mixdown[1] += so2[1] + kick; }
diff @ 2022-05-18 20:06:38 +0100 diff --git a/client/go.c b/client/go.c index ef37ca5ba..88742cffa 100644 --- a/client/go.c +++ b/client/go.c @@ -78,7 +78,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) tanh(so2[c] + RESET*impulse[c])); } // output - kick = biquad(highpass(&s->so2k, 60 * pow(2, p), 10), kick); + kick = biquad(highpass(&s->so2k, 60 * pow(2, 1 -p), 10), kick); mixdown[0] += so2[0] + kick; mixdown[1] += so2[1] + kick; }
diff @ 2022-05-18 20:06:39 +0100 diff --git a/client/go.c b/client/go.c index 88742cffa..a43ed4b18 100644 --- a/client/go.c +++ b/client/go.c @@ -78,7 +78,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) tanh(so2[c] + RESET*impulse[c])); } // output - kick = biquad(highpass(&s->so2k, 60 * pow(2, 1 -p), 10), kick); + kick = biquad(highpass(&s->so2k, 60 * pow(2, 1 - p), 10), kick); mixdown[0] += so2[0] + kick; mixdown[1] += so2[1] + kick; }
diff @ 2022-05-18 20:06:47 +0100 diff --git a/client/go.c b/client/go.c index a43ed4b18..e4225e310 100644 --- a/client/go.c +++ b/client/go.c @@ -78,7 +78,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) tanh(so2[c] + RESET*impulse[c])); } // output - kick = biquad(highpass(&s->so2k, 60 * pow(2, 1 - p), 10), kick); + kick = biquad(highpass(&s->so2k, 60 * pow(2, 1 - wrap(4 * p)), 10), kick); mixdown[0] += so2[0] + kick; mixdown[1] += so2[1] + kick; }
diff @ 2022-05-18 20:07:06 +0100 diff --git a/client/go.c b/client/go.c index e4225e310..ec14c431e 100644 --- a/client/go.c +++ b/client/go.c @@ -78,7 +78,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) tanh(so2[c] + RESET*impulse[c])); } // output - kick = biquad(highpass(&s->so2k, 60 * pow(2, 1 - wrap(4 * p)), 10), kick); + kick = biquad(highpass(&s->so2k, 60 * pow(2, sin(twopi * 4 * p)), 10), kick); mixdown[0] += so2[0] + kick; mixdown[1] += so2[1] + kick; }
diff @ 2022-05-18 20:07:24 +0100 diff --git a/client/go.c b/client/go.c index ec14c431e..045814715 100644 --- a/client/go.c +++ b/client/go.c @@ -79,6 +79,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) } // output kick = biquad(highpass(&s->so2k, 60 * pow(2, sin(twopi * 4 * p)), 10), kick); + kick += sin(kick); mixdown[0] += so2[0] + kick; mixdown[1] += so2[1] + kick; }
diff @ 2022-05-18 20:07:36 +0100 diff --git a/client/go.c b/client/go.c index 045814715..7751bfd3c 100644 --- a/client/go.c +++ b/client/go.c @@ -79,7 +79,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) } // output kick = biquad(highpass(&s->so2k, 60 * pow(2, sin(twopi * 4 * p)), 10), kick); - kick += sin(kick); + kick += sin(kick * kick * kick); mixdown[0] += so2[0] + kick; mixdown[1] += so2[1] + kick; }
diff @ 2022-05-18 20:07:57 +0100 diff --git a/client/go.c b/client/go.c index 7751bfd3c..3e51f727d 100644 --- a/client/go.c +++ b/client/go.c @@ -61,7 +61,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) lop(&s->so2.lag[c][0], -12, 1e-2), feedback[c]); sample up = pitchshift(&s->so2.shift[c][1], 1, ms4, lop(&s->so2.lag[c][1], 24, 1e-2), down); - feedback[c] = sin((2 * feedback[c] - down - up)*6); + feedback[c] = sin((2 * feedback[c] - down - up)*2); } // beats sample kick = sin(twopi * pow(1 - wrap(16 * p), 10) * 10);
diff @ 2022-05-18 20:08:34 +0100 diff --git a/client/go.c b/client/go.c index 3e51f727d..d3347650f 100644 --- a/client/go.c +++ b/client/go.c @@ -51,9 +51,10 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) // modulate delay times p = phasor(&s->so2.phase, bpm/60 / 16); sample modulation = 0.005 * cos(twopi * p * 2 * 2 * 2 * 2 * 2 * 2); + sample hz = 60 * pow(2, sin(twopi * 4 * p)); sample feedback[2] = - { delread4(&s->so2.echo[1].del, 2./3 * ms4 * (1 - modulation)) - , delread4(&s->so2.echo[0].del, 2./3 * ms4 * (1 + modulation)) + { delread4(&s->so2.echo[1].del, 1000 / (3 * hz) * (1 - modulation)) + , delread4(&s->so2.echo[0].del, 1000 / (3 * hz) * (1 + modulation)) }; // pitchshift feedback for (int c = 0; c < 2; ++c) { @@ -78,7 +79,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) tanh(so2[c] + RESET*impulse[c])); } // output - kick = biquad(highpass(&s->so2k, 60 * pow(2, sin(twopi * 4 * p)), 10), kick); + kick = biquad(highpass(&s->so2k, hz, 10), kick); kick += sin(kick * kick * kick); mixdown[0] += so2[0] + kick; mixdown[1] += so2[1] + kick;
diff @ 2022-05-18 20:09:08 +0100
diff @ 2022-05-18 20:09:33 +0100 diff --git a/client/go.c b/client/go.c index 7d796b4e1..e71699fad 100644 --- a/client/go.c +++ b/client/go.c @@ -105,8 +105,8 @@ int go(S *s, int inchannels, const float *in, int outchannels, 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), (sample) 0.25), 0)); - es[1] = mix(mixdown[1], es[1], mix(0, pow(wrap(8 * p), (sample) 0.25), 0)); + es[0] = mix(mixdown[0], es[0], mix(0, pow(wrap(8 * p), (sample) 0.25), 0.1)); + es[1] = mix(mixdown[1], es[1], mix(0, pow(wrap(8 * p), (sample) 0.25), 0.1)); es[0] = lop(&s->elop2[0], hip(&s->ehip2[0], es[0], 2), 20000); es[1] = lop(&s->elop2[1], hip(&s->ehip2[1], es[1], 2), 20000); compress(es, &s->ecompress2, 5, 10, 25, 48, es);
diff @ 2022-05-18 20:09:48 +0100 diff --git a/client/go.c b/client/go.c index e71699fad..5f464b107 100644 --- a/client/go.c +++ b/client/go.c @@ -94,6 +94,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) { s->edelay1.length = 4 * SR; s->edelay2.length = 4 * SR; + p = wrap(4 * p); sample t = twopi * p; sample co = cos(t); sample si = sin(t);
diff @ 2022-05-18 20:09:53 +0100 diff --git a/client/go.c b/client/go.c index 5f464b107..82bd8a76b 100644 --- a/client/go.c +++ b/client/go.c @@ -106,8 +106,8 @@ int go(S *s, int inchannels, const float *in, int outchannels, 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), (sample) 0.25), 0.1)); - es[1] = mix(mixdown[1], es[1], mix(0, pow(wrap(8 * p), (sample) 0.25), 0.1)); + es[0] = mix(mixdown[0], es[0], mix(0, pow(wrap(8 * p), (sample) 0.25), 0.2)); + es[1] = mix(mixdown[1], es[1], mix(0, pow(wrap(8 * p), (sample) 0.25), 0.2)); es[0] = lop(&s->elop2[0], hip(&s->ehip2[0], es[0], 2), 20000); es[1] = lop(&s->elop2[1], hip(&s->ehip2[1], es[1], 2), 20000); compress(es, &s->ecompress2, 5, 10, 25, 48, es);
diff @ 2022-05-18 20:10:01 +0100 diff --git a/client/go.c b/client/go.c index 82bd8a76b..766ca2650 100644 --- a/client/go.c +++ b/client/go.c @@ -106,8 +106,8 @@ int go(S *s, int inchannels, const float *in, int outchannels, 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), (sample) 0.25), 0.2)); - es[1] = mix(mixdown[1], es[1], mix(0, pow(wrap(8 * p), (sample) 0.25), 0.2)); + es[0] = mix(mixdown[0], es[0], mix(0, pow(wrap(8 * p), (sample) 0.25), 0.5)); + es[1] = mix(mixdown[1], es[1], mix(0, pow(wrap(8 * p), (sample) 0.25), 0.5)); es[0] = lop(&s->elop2[0], hip(&s->ehip2[0], es[0], 2), 20000); es[1] = lop(&s->elop2[1], hip(&s->ehip2[1], es[1], 2), 20000); compress(es, &s->ecompress2, 5, 10, 25, 48, es);
diff @ 2022-05-18 20:10:20 +0100 diff --git a/client/go.c b/client/go.c index 766ca2650..6ac772798 100644 --- a/client/go.c +++ b/client/go.c @@ -99,7 +99,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) sample co = cos(t); sample si = sin(t); sample ldelms = 60000 / bpm * (p < 0.75 ? 1 : 1./4); - sample rdelms = ldelms; + sample rdelms = 60000 / bpm * (p < 0.5 ? 1./2 : 1./64); ldelms = lop(&s->elop[0], ldelms, 5); rdelms = lop(&s->elop[1], rdelms, 5); sample el = delread4(&s->edelay1, ldelms + co);
diff @ 2022-05-18 20:10:27 +0100 diff --git a/client/go.c b/client/go.c index 6ac772798..dd225e8f7 100644 --- a/client/go.c +++ b/client/go.c @@ -98,7 +98,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) sample t = twopi * p; sample co = cos(t); sample si = sin(t); - sample ldelms = 60000 / bpm * (p < 0.75 ? 1 : 1./4); + sample ldelms = 60000 / bpm * (p < 0.75 ? 1 : 1./48); sample rdelms = 60000 / bpm * (p < 0.5 ? 1./2 : 1./64); ldelms = lop(&s->elop[0], ldelms, 5); rdelms = lop(&s->elop[1], rdelms, 5);
diff @ 2022-05-18 20:10:36 +0100 diff --git a/client/go.c b/client/go.c index dd225e8f7..8f809aac2 100644 --- a/client/go.c +++ b/client/go.c @@ -106,8 +106,8 @@ int go(S *s, int inchannels, const float *in, int outchannels, 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), (sample) 0.25), 0.5)); - es[1] = mix(mixdown[1], es[1], mix(0, pow(wrap(8 * p), (sample) 0.25), 0.5)); + es[0] = mix(mixdown[0], es[0], mix(0, pow(wrap(8 * p), (sample) 0.25), 0.65)); + es[1] = mix(mixdown[1], es[1], mix(0, pow(wrap(8 * p), (sample) 0.25), 0.65)); es[0] = lop(&s->elop2[0], hip(&s->ehip2[0], es[0], 2), 20000); es[1] = lop(&s->elop2[1], hip(&s->ehip2[1], es[1], 2), 20000); compress(es, &s->ecompress2, 5, 10, 25, 48, es);
diff @ 2022-05-18 20:10:46 +0100 diff --git a/client/go.c b/client/go.c index 8f809aac2..4a2521be4 100644 --- a/client/go.c +++ b/client/go.c @@ -106,8 +106,8 @@ int go(S *s, int inchannels, const float *in, int outchannels, 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), (sample) 0.25), 0.65)); - es[1] = mix(mixdown[1], es[1], mix(0, pow(wrap(8 * p), (sample) 0.25), 0.65)); + es[0] = mix(mixdown[0], es[0], mix(0, pow(wrap(8 * p), (sample) 0.25), 0.75)); + es[1] = mix(mixdown[1], es[1], mix(0, pow(wrap(8 * p), (sample) 0.25), 0.75)); es[0] = lop(&s->elop2[0], hip(&s->ehip2[0], es[0], 2), 20000); es[1] = lop(&s->elop2[1], hip(&s->ehip2[1], es[1], 2), 20000); compress(es, &s->ecompress2, 5, 10, 25, 48, es);
diff @ 2022-05-18 20:10:55 +0100 diff --git a/client/go.c b/client/go.c index 4a2521be4..7f0d1b131 100644 --- a/client/go.c +++ b/client/go.c @@ -106,8 +106,8 @@ int go(S *s, int inchannels, const float *in, int outchannels, 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), (sample) 0.25), 0.75)); - es[1] = mix(mixdown[1], es[1], mix(0, pow(wrap(8 * p), (sample) 0.25), 0.75)); + es[0] = mix(mixdown[0], es[0], mix(1, pow(wrap(8 * p), (sample) 0.25), 0.75)); + es[1] = mix(mixdown[1], es[1], mix(1, pow(wrap(8 * p), (sample) 0.25), 0.75)); es[0] = lop(&s->elop2[0], hip(&s->ehip2[0], es[0], 2), 20000); es[1] = lop(&s->elop2[1], hip(&s->ehip2[1], es[1], 2), 20000); compress(es, &s->ecompress2, 5, 10, 25, 48, es);
diff @ 2022-05-18 20:11:01 +0100 diff --git a/client/go.c b/client/go.c index 7f0d1b131..0536adbca 100644 --- a/client/go.c +++ b/client/go.c @@ -106,8 +106,8 @@ int go(S *s, int inchannels, const float *in, int outchannels, 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(1, pow(wrap(8 * p), (sample) 0.25), 0.75)); - es[1] = mix(mixdown[1], es[1], mix(1, pow(wrap(8 * p), (sample) 0.25), 0.75)); + es[0] = mix(mixdown[0], es[0], mix(1, pow(wrap(8 * p), (sample) 0.25), 0.5)); + es[1] = mix(mixdown[1], es[1], mix(1, pow(wrap(8 * p), (sample) 0.25), 0.5)); es[0] = lop(&s->elop2[0], hip(&s->ehip2[0], es[0], 2), 20000); es[1] = lop(&s->elop2[1], hip(&s->ehip2[1], es[1], 2), 20000); compress(es, &s->ecompress2, 5, 10, 25, 48, es);
diff @ 2022-05-18 20:11:09 +0100 diff --git a/client/go.c b/client/go.c index 0536adbca..0971d4f0c 100644 --- a/client/go.c +++ b/client/go.c @@ -108,8 +108,8 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) compress(es, &s->ecompress1, 5, 10, 25, 48, es); es[0] = mix(mixdown[0], es[0], mix(1, pow(wrap(8 * p), (sample) 0.25), 0.5)); es[1] = mix(mixdown[1], es[1], mix(1, pow(wrap(8 * p), (sample) 0.25), 0.5)); - es[0] = lop(&s->elop2[0], hip(&s->ehip2[0], es[0], 2), 20000); - es[1] = lop(&s->elop2[1], hip(&s->ehip2[1], es[1], 2), 20000); + es[0] = lop(&s->elop2[0], hip(&s->ehip2[0], es[0], 2), 2000); + es[1] = lop(&s->elop2[1], hip(&s->ehip2[1], es[1], 2), 2000); compress(es, &s->ecompress2, 5, 10, 25, 48, es); delwrite(&s->edelay1, es[0]); delwrite(&s->edelay2, es[1]);
diff @ 2022-05-18 20:11:12 +0100 diff --git a/client/go.c b/client/go.c index 0971d4f0c..10ccb98e0 100644 --- a/client/go.c +++ b/client/go.c @@ -108,8 +108,8 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) compress(es, &s->ecompress1, 5, 10, 25, 48, es); es[0] = mix(mixdown[0], es[0], mix(1, pow(wrap(8 * p), (sample) 0.25), 0.5)); es[1] = mix(mixdown[1], es[1], mix(1, pow(wrap(8 * p), (sample) 0.25), 0.5)); - es[0] = lop(&s->elop2[0], hip(&s->ehip2[0], es[0], 2), 2000); - es[1] = lop(&s->elop2[1], hip(&s->ehip2[1], es[1], 2), 2000); + es[0] = lop(&s->elop2[0], hip(&s->ehip2[0], es[0], 20), 2000); + es[1] = lop(&s->elop2[1], hip(&s->ehip2[1], es[1], 20), 2000); compress(es, &s->ecompress2, 5, 10, 25, 48, es); delwrite(&s->edelay1, es[0]); delwrite(&s->edelay2, es[1]);
diff @ 2022-05-18 20:12:08 +0100 diff --git a/client/go.c b/client/go.c index 10ccb98e0..1db7694c1 100644 --- a/client/go.c +++ b/client/go.c @@ -94,11 +94,13 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) { s->edelay1.length = 4 * SR; s->edelay2.length = 4 * SR; + int ix = (int)(4 * p) & 3; p = wrap(4 * p); sample t = twopi * p; sample co = cos(t); sample si = sin(t); - sample ldelms = 60000 / bpm * (p < 0.75 ? 1 : 1./48); + sample seq[] = { 64, 64, 48, 72 }; + sample ldelms = 60000 / bpm * (p < 0.75 ? 1 : 1./seq[ix]); sample rdelms = 60000 / bpm * (p < 0.5 ? 1./2 : 1./64); ldelms = lop(&s->elop[0], ldelms, 5); rdelms = lop(&s->elop[1], rdelms, 5);
diff @ 2022-05-18 20:12:24 +0100 diff --git a/client/go.c b/client/go.c index 1db7694c1..868a1e526 100644 --- a/client/go.c +++ b/client/go.c @@ -101,7 +101,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) sample si = sin(t); sample seq[] = { 64, 64, 48, 72 }; sample ldelms = 60000 / bpm * (p < 0.75 ? 1 : 1./seq[ix]); - sample rdelms = 60000 / bpm * (p < 0.5 ? 1./2 : 1./64); + sample rdelms = 60000 / bpm * (p < 0.5 ? 1./2 : 1./(2 * seq[ix])); ldelms = lop(&s->elop[0], ldelms, 5); rdelms = lop(&s->elop[1], rdelms, 5); sample el = delread4(&s->edelay1, ldelms + co);
diff @ 2022-05-18 20:13:12 +0100 diff --git a/client/go.c b/client/go.c index 868a1e526..d8209e8bb 100644 --- a/client/go.c +++ b/client/go.c @@ -95,6 +95,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) s->edelay1.length = 4 * SR; s->edelay2.length = 4 * SR; int ix = (int)(4 * p) & 3; + int jx = (((((int)(16 * p) & 0xf) * 5) & 0x7) * 3) * 0x3; p = wrap(4 * p); sample t = twopi * p; sample co = cos(t);
diff @ 2022-05-18 20:13:16 +0100 diff --git a/client/go.c b/client/go.c index d8209e8bb..d17537828 100644 --- a/client/go.c +++ b/client/go.c @@ -102,7 +102,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) sample si = sin(t); sample seq[] = { 64, 64, 48, 72 }; sample ldelms = 60000 / bpm * (p < 0.75 ? 1 : 1./seq[ix]); - sample rdelms = 60000 / bpm * (p < 0.5 ? 1./2 : 1./(2 * seq[ix])); + sample rdelms = 60000 / bpm * (p < 0.5 ? 1./2 : 1./(2 * seq[jx])); ldelms = lop(&s->elop[0], ldelms, 5); rdelms = lop(&s->elop[1], rdelms, 5); sample el = delread4(&s->edelay1, ldelms + co);
diff @ 2022-05-18 20:13:25 +0100 diff --git a/client/go.c b/client/go.c index d17537828..258710338 100644 --- a/client/go.c +++ b/client/go.c @@ -95,7 +95,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) s->edelay1.length = 4 * SR; s->edelay2.length = 4 * SR; int ix = (int)(4 * p) & 3; - int jx = (((((int)(16 * p) & 0xf) * 5) & 0x7) * 3) * 0x3; + int jx = (((((int)(16 * p) & 0xf) * 5) & 0x7) * 3) & 0x3; p = wrap(4 * p); sample t = twopi * p; sample co = cos(t);
diff @ 2022-05-18 20:13:32 +0100 diff --git a/client/go.c b/client/go.c index 258710338..7cd21aeeb 100644 --- a/client/go.c +++ b/client/go.c @@ -9,7 +9,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) { if (s->reloaded) { - //memset(s, 0, sizeof(*s)); + memset(s, 0, sizeof(*s)); ///««« MIXDOWN for (int o = 0; o < OCTAVES; ++o) {
diff @ 2022-05-18 20:13:33 +0100 diff --git a/client/go.c b/client/go.c index 7cd21aeeb..258710338 100644 --- a/client/go.c +++ b/client/go.c @@ -9,7 +9,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) { if (s->reloaded) { - memset(s, 0, sizeof(*s)); + //memset(s, 0, sizeof(*s)); ///««« MIXDOWN for (int o = 0; o < OCTAVES; ++o) {
diff @ 2022-05-18 20:14:08 +0100 diff --git a/client/go.c b/client/go.c index 258710338..5ef178009 100644 --- a/client/go.c +++ b/client/go.c @@ -95,7 +95,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) s->edelay1.length = 4 * SR; s->edelay2.length = 4 * SR; int ix = (int)(4 * p) & 3; - int jx = (((((int)(16 * p) & 0xf) * 5) & 0x7) * 3) & 0x3; + int jx = (((((int)(16 * p) & 0xf) * 5) & 0x7) * 3) & 0x3; // oops, that * cut everything (/0) p = wrap(4 * p); sample t = twopi * p; sample co = cos(t);
diff @ 2022-05-18 20:14:35 +0100 diff --git a/client/go.c b/client/go.c index 5ef178009..5d11ac6e8 100644 --- a/client/go.c +++ b/client/go.c @@ -109,8 +109,8 @@ int go(S *s, int inchannels, const float *in, int outchannels, 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(1, pow(wrap(8 * p), (sample) 0.25), 0.5)); - es[1] = mix(mixdown[1], es[1], mix(1, pow(wrap(8 * p), (sample) 0.25), 0.5)); + es[0] = mix(mixdown[0], es[0], mix(1, pow(wrap(8 * p), (sample) 0.25), 0.8)); + es[1] = mix(mixdown[1], es[1], mix(1, pow(wrap(8 * p), (sample) 0.25), 0.8)); es[0] = lop(&s->elop2[0], hip(&s->ehip2[0], es[0], 20), 2000); es[1] = lop(&s->elop2[1], hip(&s->ehip2[1], es[1], 20), 2000); compress(es, &s->ecompress2, 5, 10, 25, 48, es);
diff @ 2022-05-18 20:14:40 +0100 diff --git a/client/go.c b/client/go.c index 5d11ac6e8..a0bdcc3a4 100644 --- a/client/go.c +++ b/client/go.c @@ -109,8 +109,8 @@ int go(S *s, int inchannels, const float *in, int outchannels, 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(1, pow(wrap(8 * p), (sample) 0.25), 0.8)); - es[1] = mix(mixdown[1], es[1], mix(1, pow(wrap(8 * p), (sample) 0.25), 0.8)); + es[0] = mix(mixdown[0], es[0], mix(1, pow(wrap(8 * p), (sample) 0.25), 0)); + es[1] = mix(mixdown[1], es[1], mix(1, pow(wrap(8 * p), (sample) 0.25), 0)); es[0] = lop(&s->elop2[0], hip(&s->ehip2[0], es[0], 20), 2000); es[1] = lop(&s->elop2[1], hip(&s->ehip2[1], es[1], 20), 2000); compress(es, &s->ecompress2, 5, 10, 25, 48, es);
diff @ 2022-05-18 20:15:40 +0100 diff --git a/client/go.c b/client/go.c index a0bdcc3a4..7670014b7 100644 --- a/client/go.c +++ b/client/go.c @@ -111,8 +111,8 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) compress(es, &s->ecompress1, 5, 10, 25, 48, es); es[0] = mix(mixdown[0], es[0], mix(1, pow(wrap(8 * p), (sample) 0.25), 0)); es[1] = mix(mixdown[1], es[1], mix(1, pow(wrap(8 * p), (sample) 0.25), 0)); - es[0] = lop(&s->elop2[0], hip(&s->ehip2[0], es[0], 20), 2000); - es[1] = lop(&s->elop2[1], hip(&s->ehip2[1], es[1], 20), 2000); + es[0] = lop(&s->elop2[0], hip(&s->ehip2[0], es[0], 200), 2000); + es[1] = lop(&s->elop2[1], hip(&s->ehip2[1], es[1], 200), 2000); compress(es, &s->ecompress2, 5, 10, 25, 48, es); delwrite(&s->edelay1, es[0]); delwrite(&s->edelay2, es[1]);
diff @ 2022-05-18 20:16:09 +0100 diff --git a/client/go.c b/client/go.c index 7670014b7..600484b56 100644 --- a/client/go.c +++ b/client/go.c @@ -42,6 +42,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) ///{{{ SEA ORGAN 2.2 sample ms4 = 1000 * 60 / bpm / 4; + sample kick; sample p; { sample RESET = 0; @@ -65,7 +66,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) feedback[c] = sin((2 * feedback[c] - down - up)*2); } // beats - sample kick = sin(twopi * pow(1 - wrap(16 * p), 10) * 10); + kick = sin(twopi * pow(1 - wrap(16 * p), 10) * 10); feedback[0] += kick; feedback[1] += kick; // compress feedback @@ -116,8 +117,8 @@ int go(S *s, int inchannels, const float *in, int outchannels, 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] = es[0] + kick; + mixdown[1] = es[1] + kick; } ///}}} EL DAY DE LAY
diff @ 2022-05-18 20:16:27 +0100 diff --git a/client/go.c b/client/go.c index 600484b56..e3d44c782 100644 --- a/client/go.c +++ b/client/go.c @@ -52,7 +52,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) // modulate delay times p = phasor(&s->so2.phase, bpm/60 / 16); sample modulation = 0.005 * cos(twopi * p * 2 * 2 * 2 * 2 * 2 * 2); - sample hz = 60 * pow(2, sin(twopi * 4 * p)); + sample hz = 60 * pow(2, sin(twopi * p)); sample feedback[2] = { delread4(&s->so2.echo[1].del, 1000 / (3 * hz) * (1 - modulation)) , delread4(&s->so2.echo[0].del, 1000 / (3 * hz) * (1 + modulation))
diff @ 2022-05-18 20:16:42 +0100 diff --git a/client/go.c b/client/go.c index e3d44c782..8fe610965 100644 --- a/client/go.c +++ b/client/go.c @@ -36,7 +36,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) } ///((( MIXDOWN - sample bpm = 119.1875; + sample bpm = 129.1875; sample mixdown[2] = { 0, 0 }; ///))) MIXDOWN
diff @ 2022-05-18 20:17:01 +0100 diff --git a/client/go.c b/client/go.c index 8fe610965..e232fee9f 100644 --- a/client/go.c +++ b/client/go.c @@ -117,8 +117,8 @@ int go(S *s, int inchannels, const float *in, int outchannels, 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] + kick; - mixdown[1] = es[1] + kick; + mixdown[0] = tanh(es[0] + kick); + mixdown[1] = tanh(es[1] + kick); } ///}}} EL DAY DE LAY
diff @ 2022-05-18 20:17:13 +0100 diff --git a/client/go.c b/client/go.c index e232fee9f..da5c2c354 100644 --- a/client/go.c +++ b/client/go.c @@ -110,8 +110,8 @@ int go(S *s, int inchannels, const float *in, int outchannels, 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(1, pow(wrap(8 * p), (sample) 0.25), 0)); - es[1] = mix(mixdown[1], es[1], mix(1, pow(wrap(8 * p), (sample) 0.25), 0)); + es[0] = mix(mixdown[0], es[0], mix(0.5, pow(wrap(8 * p), (sample) 0.25), 0)); + es[1] = mix(mixdown[1], es[1], mix(0.5, pow(wrap(8 * p), (sample) 0.25), 0)); es[0] = lop(&s->elop2[0], hip(&s->ehip2[0], es[0], 200), 2000); es[1] = lop(&s->elop2[1], hip(&s->ehip2[1], es[1], 200), 2000); compress(es, &s->ecompress2, 5, 10, 25, 48, es);
diff @ 2022-05-18 20:17:22 +0100 diff --git a/client/go.c b/client/go.c index da5c2c354..3f10b89cd 100644 --- a/client/go.c +++ b/client/go.c @@ -110,8 +110,8 @@ int go(S *s, int inchannels, const float *in, int outchannels, 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.5, pow(wrap(8 * p), (sample) 0.25), 0)); - es[1] = mix(mixdown[1], es[1], mix(0.5, pow(wrap(8 * p), (sample) 0.25), 0)); + es[0] = mix(mixdown[0], es[0], mix(0.5, pow(wrap(8 * p), (sample) 0.25), 0.5)); + es[1] = mix(mixdown[1], es[1], mix(0.5, pow(wrap(8 * p), (sample) 0.25), 0.5)); es[0] = lop(&s->elop2[0], hip(&s->ehip2[0], es[0], 200), 2000); es[1] = lop(&s->elop2[1], hip(&s->ehip2[1], es[1], 200), 2000); compress(es, &s->ecompress2, 5, 10, 25, 48, es);
diff @ 2022-05-18 20:17:35 +0100 diff --git a/client/go.c b/client/go.c index 3f10b89cd..a2966a9a1 100644 --- a/client/go.c +++ b/client/go.c @@ -96,7 +96,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) s->edelay1.length = 4 * SR; s->edelay2.length = 4 * SR; int ix = (int)(4 * p) & 3; - int jx = (((((int)(16 * p) & 0xf) * 5) & 0x7) * 3) & 0x3; // oops, that * cut everything (/0) + int jx = (((((int)(8 * p) & 0xf) * 5) & 0x7) * 3) & 0x3; // oops, that * cut everything (/0) p = wrap(4 * p); sample t = twopi * p; sample co = cos(t);
diff @ 2022-05-18 20:17:49 +0100 diff --git a/client/go.c b/client/go.c index a2966a9a1..693016bae 100644 --- a/client/go.c +++ b/client/go.c @@ -109,7 +109,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, 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 }; - compress(es, &s->ecompress1, 5, 10, 25, 48, es); + compress(es, &s->ecompress1, 1, 1, 1, 48, es); es[0] = mix(mixdown[0], es[0], mix(0.5, pow(wrap(8 * p), (sample) 0.25), 0.5)); es[1] = mix(mixdown[1], es[1], mix(0.5, pow(wrap(8 * p), (sample) 0.25), 0.5)); es[0] = lop(&s->elop2[0], hip(&s->ehip2[0], es[0], 200), 2000);
diff @ 2022-05-18 20:18:00 +0100 diff --git a/client/go.c b/client/go.c index 693016bae..8056dc740 100644 --- a/client/go.c +++ b/client/go.c @@ -114,7 +114,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) es[1] = mix(mixdown[1], es[1], mix(0.5, pow(wrap(8 * p), (sample) 0.25), 0.5)); es[0] = lop(&s->elop2[0], hip(&s->ehip2[0], es[0], 200), 2000); es[1] = lop(&s->elop2[1], hip(&s->ehip2[1], es[1], 200), 2000); - compress(es, &s->ecompress2, 5, 10, 25, 48, es); + compress(es, &s->ecompress2, 1, 1, 1, 48, es); delwrite(&s->edelay1, es[0]); delwrite(&s->edelay2, es[1]); mixdown[0] = tanh(es[0] + kick);
diff @ 2022-05-18 20:18:23 +0100 diff --cc client/go.c index 8056dc740,01791e234..94275fb08 --- a/client/go.c +++ b/client/go.c @@@ -89,38 -54,50 +98,80 @@@ int go(S *s, int inchannels, const floa ///{{{ SMOLTECH ///}}} SMOLTECH ///{{{ GRADIENT + + { + sample hz = 47.3; + sample g = phasor(&s->gradient, bpm/60.0 / (1 << 9)); + sample k = wrap((1 << 9) * g); + k = pow(1 - k, 16); + k = (1 + k) * (1 + k) * tanh((1 + k) * sin(twopi * 8 * k)); + k = 4 * sin(0.25 * biquad(highpass(&s->gradientbq[2], hz, 10), k)); + sample n = wrap((1 << 9) * g / 2 + 0.5); + n = 32 * pow(1 - n, 32); + sample nh = wrap((1 << 9) * g * 4000); + sample bip = wrap(4 * (1 << 9) * g); + int bix = floor(4 * (1 << 9) * g); + int bkx = bix % 16; + bix %= 8; + int bjx = bix; + bix *= 3; bjx *= 5; bkx *= 7; + bix %= 8; bjx %= 8; bkx %= 16; + sample f[2] = + { pow(2, 1 - cos(twopi * (g + bix / 8.0))) * pow(2 * (1 - 0.9 * cos(twopi * (32 * g + bjx / 8.0))), 1 - bip) + , pow(2, 1 - cos(twopi * (g + bjx / 8.0))) * pow(2 * (1 - 0.9 * cos(twopi * (32 * g + bix / 8.0))), 1 - bip) + }; + bip = pow(1 - bip, 4); + bip *= (1 + bjx); + bip *= twopi; + bip = tanh((1 - cos(twopi * (2 * g + bix / 8.0))) * sin(bip)); + bip *= 16; + sample sn[2] = + { samphold(&s->gradientsh[0], n * noise(), nh) + , samphold(&s->gradientsh[1], n * noise(), nh) + }; + sample v[2] = + { early_ref(&s->gradiente[0], biquad(highpass(&s->gradientbq[0], hz * f[0], 5), bip), 0.995) + + early_ref(&s->gradiente[2], sn[0], 1) + , early_ref(&s->gradiente[1], biquad(highpass(&s->gradientbq[1], hz * f[1], 5), bip), 0.995) + + early_ref(&s->gradiente[3], sn[1], 1) + }; + reverb(v, &s->gradientv, v, 10 * pow(8, 1 - cos(twopi * (4 * g + bkx / 16.0)))); + mixdown[0] += v[0] + 4 * k + tanh(0.25 * sn[0]); + mixdown[1] += v[1] + 4 * k + tanh(0.25 * sn[1]); + } + ///}}} GRADIENT ///{{{ EL DAY DE LAY + + { + s->edelay1.length = 4 * SR; + s->edelay2.length = 4 * SR; + int ix = (int)(4 * p) & 3; + int jx = (((((int)(8 * p) & 0xf) * 5) & 0x7) * 3) & 0x3; // oops, that * cut everything (/0) + p = wrap(4 * p); + sample t = twopi * p; + sample co = cos(t); + sample si = sin(t); + sample seq[] = { 64, 64, 48, 72 }; + sample ldelms = 60000 / bpm * (p < 0.75 ? 1 : 1./seq[ix]); + sample rdelms = 60000 / bpm * (p < 0.5 ? 1./2 : 1./(2 * seq[jx])); + ldelms = lop(&s->elop[0], ldelms, 5); + rdelms = lop(&s->elop[1], rdelms, 5); + 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 }; + compress(es, &s->ecompress1, 1, 1, 1, 48, es); + es[0] = mix(mixdown[0], es[0], mix(0.5, pow(wrap(8 * p), (sample) 0.25), 0.5)); + es[1] = mix(mixdown[1], es[1], mix(0.5, pow(wrap(8 * p), (sample) 0.25), 0.5)); + es[0] = lop(&s->elop2[0], hip(&s->ehip2[0], es[0], 200), 2000); + es[1] = lop(&s->elop2[1], hip(&s->ehip2[1], es[1], 200), 2000); + compress(es, &s->ecompress2, 1, 1, 1, 48, es); + delwrite(&s->edelay1, es[0]); + delwrite(&s->edelay2, es[1]); + mixdown[0] = tanh(es[0] + kick); + mixdown[1] = tanh(es[1] + kick); + } + ///}}} EL DAY DE LAY ///{{{ NON-SMOOTH ///}}} NON-SMOOTH diff --cc client/go.h index 69ac9136b,ecd773459..077870ddc --- a/client/go.h +++ b/client/go.h @@@ -61,17 -41,13 +61,22 @@@ typedef struct ///[[[ SMOLTECH ///]]] SMOLTECH ///[[[ GRADIENT + PHASOR gradient; + BIQUAD gradientbq[4]; + EARLYREF gradiente[4]; + REVERB gradientv; + SAMPHOLD gradientsh[2]; ///]]] GRADIENT ///[[[ EL DAY DE LAY + COMPRESS ecompress1; + COMPRESS ecompress2; + DELAY edelay1; + float edelay1buf[4 * SR]; + DELAY edelay2; + float edelay2buf[4 * SR]; + LOP elop[2]; + LOP elop2[2]; + HIP ehip2[2]; ///]]] EL DAY DE LAY ///[[[ NON-SMOOTH ///]]] NON-SMOOTH
diff @ 2022-05-18 20:19:01 +0100 diff --git a/client/go.c b/client/go.c index 94275fb08..8f3cde0b5 100644 --- a/client/go.c +++ b/client/go.c @@ -61,7 +61,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) // modulate delay times p = phasor(&s->so2.phase, bpm/60 / 16); sample modulation = 0.005 * cos(twopi * p * 2 * 2 * 2 * 2 * 2 * 2); - sample hz = 60 * pow(2, sin(twopi * p)); + sample hz = 47.3; sample feedback[2] = { delread4(&s->so2.echo[1].del, 1000 / (3 * hz) * (1 - modulation)) , delread4(&s->so2.echo[0].del, 1000 / (3 * hz) * (1 + modulation))
diff @ 2022-05-18 20:19:11 +0100 diff --git a/client/go.c b/client/go.c index 8f3cde0b5..71a7a0533 100644 --- a/client/go.c +++ b/client/go.c @@ -106,7 +106,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) k = pow(1 - k, 16); k = (1 + k) * (1 + k) * tanh((1 + k) * sin(twopi * 8 * k)); k = 4 * sin(0.25 * biquad(highpass(&s->gradientbq[2], hz, 10), k)); - sample n = wrap((1 << 9) * g / 2 + 0.5); + sample n = wrap((1 << 10) * g / 2 + 0.5); n = 32 * pow(1 - n, 32); sample nh = wrap((1 << 9) * g * 4000); sample bip = wrap(4 * (1 << 9) * g);
diff @ 2022-05-18 20:19:18 +0100 diff --git a/client/go.c b/client/go.c index 71a7a0533..a5d6e95ef 100644 --- a/client/go.c +++ b/client/go.c @@ -108,7 +108,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) k = 4 * sin(0.25 * biquad(highpass(&s->gradientbq[2], hz, 10), k)); sample n = wrap((1 << 10) * g / 2 + 0.5); n = 32 * pow(1 - n, 32); - sample nh = wrap((1 << 9) * g * 4000); + sample nh = wrap((1 << 10) * g * 4000); sample bip = wrap(4 * (1 << 9) * g); int bix = floor(4 * (1 << 9) * g); int bkx = bix % 16;
diff @ 2022-05-18 20:19:25 +0100 diff --git a/client/go.c b/client/go.c index a5d6e95ef..74e40a4b8 100644 --- a/client/go.c +++ b/client/go.c @@ -109,7 +109,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) sample n = wrap((1 << 10) * g / 2 + 0.5); n = 32 * pow(1 - n, 32); sample nh = wrap((1 << 10) * g * 4000); - sample bip = wrap(4 * (1 << 9) * g); + sample bip = wrap(4 * (1 << 10) * g); int bix = floor(4 * (1 << 9) * g); int bkx = bix % 16; bix %= 8;
diff @ 2022-05-18 20:19:29 +0100 diff --git a/client/go.c b/client/go.c index 74e40a4b8..a5d6e95ef 100644 --- a/client/go.c +++ b/client/go.c @@ -109,7 +109,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) sample n = wrap((1 << 10) * g / 2 + 0.5); n = 32 * pow(1 - n, 32); sample nh = wrap((1 << 10) * g * 4000); - sample bip = wrap(4 * (1 << 10) * g); + sample bip = wrap(4 * (1 << 9) * g); int bix = floor(4 * (1 << 9) * g); int bkx = bix % 16; bix %= 8;
diff @ 2022-05-18 20:19:31 +0100 diff --git a/client/go.c b/client/go.c index a5d6e95ef..3dae4b178 100644 --- a/client/go.c +++ b/client/go.c @@ -110,7 +110,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) n = 32 * pow(1 - n, 32); sample nh = wrap((1 << 10) * g * 4000); sample bip = wrap(4 * (1 << 9) * g); - int bix = floor(4 * (1 << 9) * g); + int bix = floor(4 * (1 << 10) * g); int bkx = bix % 16; bix %= 8; int bjx = bix;
diff @ 2022-05-18 20:19:33 +0100 diff --git a/client/go.c b/client/go.c index 3dae4b178..a5d6e95ef 100644 --- a/client/go.c +++ b/client/go.c @@ -110,7 +110,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) n = 32 * pow(1 - n, 32); sample nh = wrap((1 << 10) * g * 4000); sample bip = wrap(4 * (1 << 9) * g); - int bix = floor(4 * (1 << 10) * g); + int bix = floor(4 * (1 << 9) * g); int bkx = bix % 16; bix %= 8; int bjx = bix;
diff @ 2022-05-18 20:19:55 +0100 diff --git a/client/go.c b/client/go.c index a5d6e95ef..4d944e10f 100644 --- a/client/go.c +++ b/client/go.c @@ -135,7 +135,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) , early_ref(&s->gradiente[1], biquad(highpass(&s->gradientbq[1], hz * f[1], 5), bip), 0.995) + early_ref(&s->gradiente[3], sn[1], 1) }; - reverb(v, &s->gradientv, v, 10 * pow(8, 1 - cos(twopi * (4 * g + bkx / 16.0)))); + reverb(v, &s->gradientv, v, 20 * pow(8, 1 - cos(twopi * (4 * g + bkx / 16.0)))); mixdown[0] += v[0] + 4 * k + tanh(0.25 * sn[0]); mixdown[1] += v[1] + 4 * k + tanh(0.25 * sn[1]); }
diff @ 2022-05-18 20:19:58 +0100 diff --git a/client/go.c b/client/go.c index 4d944e10f..434617edc 100644 --- a/client/go.c +++ b/client/go.c @@ -135,7 +135,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) , early_ref(&s->gradiente[1], biquad(highpass(&s->gradientbq[1], hz * f[1], 5), bip), 0.995) + early_ref(&s->gradiente[3], sn[1], 1) }; - reverb(v, &s->gradientv, v, 20 * pow(8, 1 - cos(twopi * (4 * g + bkx / 16.0)))); + reverb(v, &s->gradientv, v, 30 * pow(8, 1 - cos(twopi * (4 * g + bkx / 16.0)))); mixdown[0] += v[0] + 4 * k + tanh(0.25 * sn[0]); mixdown[1] += v[1] + 4 * k + tanh(0.25 * sn[1]); }
diff @ 2022-05-18 20:20:00 +0100 diff --git a/client/go.c b/client/go.c index 434617edc..fa5ecf2d2 100644 --- a/client/go.c +++ b/client/go.c @@ -135,7 +135,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) , early_ref(&s->gradiente[1], biquad(highpass(&s->gradientbq[1], hz * f[1], 5), bip), 0.995) + early_ref(&s->gradiente[3], sn[1], 1) }; - reverb(v, &s->gradientv, v, 30 * pow(8, 1 - cos(twopi * (4 * g + bkx / 16.0)))); + reverb(v, &s->gradientv, v, 50 * pow(8, 1 - cos(twopi * (4 * g + bkx / 16.0)))); mixdown[0] += v[0] + 4 * k + tanh(0.25 * sn[0]); mixdown[1] += v[1] + 4 * k + tanh(0.25 * sn[1]); }
diff @ 2022-05-18 20:20:03 +0100 diff --git a/client/go.c b/client/go.c index fa5ecf2d2..400394aca 100644 --- a/client/go.c +++ b/client/go.c @@ -135,7 +135,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) , early_ref(&s->gradiente[1], biquad(highpass(&s->gradientbq[1], hz * f[1], 5), bip), 0.995) + early_ref(&s->gradiente[3], sn[1], 1) }; - reverb(v, &s->gradientv, v, 50 * pow(8, 1 - cos(twopi * (4 * g + bkx / 16.0)))); + reverb(v, &s->gradientv, v, 150 * pow(8, 1 - cos(twopi * (4 * g + bkx / 16.0)))); mixdown[0] += v[0] + 4 * k + tanh(0.25 * sn[0]); mixdown[1] += v[1] + 4 * k + tanh(0.25 * sn[1]); }
diff @ 2022-05-18 20:20:12 +0100 diff --git a/client/go.c b/client/go.c index 400394aca..28553ce4e 100644 --- a/client/go.c +++ b/client/go.c @@ -135,7 +135,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) , early_ref(&s->gradiente[1], biquad(highpass(&s->gradientbq[1], hz * f[1], 5), bip), 0.995) + early_ref(&s->gradiente[3], sn[1], 1) }; - reverb(v, &s->gradientv, v, 150 * pow(8, 1 - cos(twopi * (4 * g + bkx / 16.0)))); + reverb(v, &s->gradientv, v, 250 * pow(8, 1 - cos(twopi * (4 * g + bkx / 16.0)))); mixdown[0] += v[0] + 4 * k + tanh(0.25 * sn[0]); mixdown[1] += v[1] + 4 * k + tanh(0.25 * sn[1]); }
diff @ 2022-05-18 20:20:16 +0100 diff --git a/client/go.c b/client/go.c index 28553ce4e..2667d4bfd 100644 --- a/client/go.c +++ b/client/go.c @@ -135,7 +135,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) , early_ref(&s->gradiente[1], biquad(highpass(&s->gradientbq[1], hz * f[1], 5), bip), 0.995) + early_ref(&s->gradiente[3], sn[1], 1) }; - reverb(v, &s->gradientv, v, 250 * pow(8, 1 - cos(twopi * (4 * g + bkx / 16.0)))); + reverb(v, &s->gradientv, v, 500 * pow(8, 1 - cos(twopi * (4 * g + bkx / 16.0)))); mixdown[0] += v[0] + 4 * k + tanh(0.25 * sn[0]); mixdown[1] += v[1] + 4 * k + tanh(0.25 * sn[1]); }
diff @ 2022-05-18 20:20:28 +0100 diff --git a/client/go.c b/client/go.c index 2667d4bfd..21627a7f6 100644 --- a/client/go.c +++ b/client/go.c @@ -161,8 +161,8 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) sample er = delread4(&s->edelay2, rdelms + si); sample es[2] = { co * el + si * er, -si * el + co * er }; compress(es, &s->ecompress1, 1, 1, 1, 48, es); - es[0] = mix(mixdown[0], es[0], mix(0.5, pow(wrap(8 * p), (sample) 0.25), 0.5)); - es[1] = mix(mixdown[1], es[1], mix(0.5, pow(wrap(8 * p), (sample) 0.25), 0.5)); + es[0] = mix(mixdown[0], es[0], mix(0, pow(wrap(8 * p), (sample) 0.25), 0.5)); + es[1] = mix(mixdown[1], es[1], mix(0, pow(wrap(8 * p), (sample) 0.25), 0.5)); es[0] = lop(&s->elop2[0], hip(&s->ehip2[0], es[0], 200), 2000); es[1] = lop(&s->elop2[1], hip(&s->ehip2[1], es[1], 200), 2000); compress(es, &s->ecompress2, 1, 1, 1, 48, es);
diff @ 2022-05-18 20:20:36 +0100 diff --git a/client/go.c b/client/go.c index 21627a7f6..9645127c9 100644 --- a/client/go.c +++ b/client/go.c @@ -161,8 +161,8 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) sample er = delread4(&s->edelay2, rdelms + si); sample es[2] = { co * el + si * er, -si * el + co * er }; compress(es, &s->ecompress1, 1, 1, 1, 48, es); - es[0] = mix(mixdown[0], es[0], mix(0, pow(wrap(8 * p), (sample) 0.25), 0.5)); - es[1] = mix(mixdown[1], es[1], mix(0, pow(wrap(8 * p), (sample) 0.25), 0.5)); + es[0] = mix(mixdown[0], es[0], mix(0, pow(wrap(8 * p), (sample) 0.25), 0)); + es[1] = mix(mixdown[1], es[1], mix(0, pow(wrap(8 * p), (sample) 0.25), 0)); es[0] = lop(&s->elop2[0], hip(&s->ehip2[0], es[0], 200), 2000); es[1] = lop(&s->elop2[1], hip(&s->ehip2[1], es[1], 200), 2000); compress(es, &s->ecompress2, 1, 1, 1, 48, es);
diff @ 2022-05-18 20:20:50 +0100 diff --git a/client/go.c b/client/go.c index 9645127c9..90bcb11a3 100644 --- a/client/go.c +++ b/client/go.c @@ -115,7 +115,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) bix %= 8; int bjx = bix; bix *= 3; bjx *= 5; bkx *= 7; - bix %= 8; bjx %= 8; bkx %= 16; + bix %= 7; bjx %= 8; bkx %= 16; sample f[2] = { pow(2, 1 - cos(twopi * (g + bix / 8.0))) * pow(2 * (1 - 0.9 * cos(twopi * (32 * g + bjx / 8.0))), 1 - bip) , pow(2, 1 - cos(twopi * (g + bjx / 8.0))) * pow(2 * (1 - 0.9 * cos(twopi * (32 * g + bix / 8.0))), 1 - bip)
diff @ 2022-05-18 20:20:53 +0100 diff --git a/client/go.c b/client/go.c index 90bcb11a3..19ace0778 100644 --- a/client/go.c +++ b/client/go.c @@ -115,7 +115,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) bix %= 8; int bjx = bix; bix *= 3; bjx *= 5; bkx *= 7; - bix %= 7; bjx %= 8; bkx %= 16; + bix %= 7; bjx %= 6; bkx %= 16; sample f[2] = { pow(2, 1 - cos(twopi * (g + bix / 8.0))) * pow(2 * (1 - 0.9 * cos(twopi * (32 * g + bjx / 8.0))), 1 - bip) , pow(2, 1 - cos(twopi * (g + bjx / 8.0))) * pow(2 * (1 - 0.9 * cos(twopi * (32 * g + bix / 8.0))), 1 - bip)
diff @ 2022-05-18 20:20:56 +0100 diff --git a/client/go.c b/client/go.c index 19ace0778..a80fc05b3 100644 --- a/client/go.c +++ b/client/go.c @@ -115,7 +115,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) bix %= 8; int bjx = bix; bix *= 3; bjx *= 5; bkx *= 7; - bix %= 7; bjx %= 6; bkx %= 16; + bix %= 7; bjx %= 6; bkx %= 15; sample f[2] = { pow(2, 1 - cos(twopi * (g + bix / 8.0))) * pow(2 * (1 - 0.9 * cos(twopi * (32 * g + bjx / 8.0))), 1 - bip) , pow(2, 1 - cos(twopi * (g + bjx / 8.0))) * pow(2 * (1 - 0.9 * cos(twopi * (32 * g + bix / 8.0))), 1 - bip)
diff @ 2022-05-18 20:21:14 +0100 diff --git a/client/go.c b/client/go.c index a80fc05b3..094f7e809 100644 --- a/client/go.c +++ b/client/go.c @@ -108,7 +108,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) k = 4 * sin(0.25 * biquad(highpass(&s->gradientbq[2], hz, 10), k)); sample n = wrap((1 << 10) * g / 2 + 0.5); n = 32 * pow(1 - n, 32); - sample nh = wrap((1 << 10) * g * 4000); + sample nh = wrap((1 << 11) * g * 4000); sample bip = wrap(4 * (1 << 9) * g); int bix = floor(4 * (1 << 9) * g); int bkx = bix % 16;
diff @ 2022-05-18 20:21:19 +0100 diff --git a/client/go.c b/client/go.c index 094f7e809..950bef11b 100644 --- a/client/go.c +++ b/client/go.c @@ -109,7 +109,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) sample n = wrap((1 << 10) * g / 2 + 0.5); n = 32 * pow(1 - n, 32); sample nh = wrap((1 << 11) * g * 4000); - sample bip = wrap(4 * (1 << 9) * g); + sample bip = wrap(4 * (1 << 11) * g); int bix = floor(4 * (1 << 9) * g); int bkx = bix % 16; bix %= 8;
diff @ 2022-05-18 20:21:21 +0100 diff --git a/client/go.c b/client/go.c index 950bef11b..51c6e0962 100644 --- a/client/go.c +++ b/client/go.c @@ -109,7 +109,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) sample n = wrap((1 << 10) * g / 2 + 0.5); n = 32 * pow(1 - n, 32); sample nh = wrap((1 << 11) * g * 4000); - sample bip = wrap(4 * (1 << 11) * g); + sample bip = wrap(4 * (1 << 12) * g); int bix = floor(4 * (1 << 9) * g); int bkx = bix % 16; bix %= 8;
diff @ 2022-05-18 20:21:25 +0100 diff --git a/client/go.c b/client/go.c index 51c6e0962..e75f94c79 100644 --- a/client/go.c +++ b/client/go.c @@ -109,7 +109,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) sample n = wrap((1 << 10) * g / 2 + 0.5); n = 32 * pow(1 - n, 32); sample nh = wrap((1 << 11) * g * 4000); - sample bip = wrap(4 * (1 << 12) * g); + sample bip = wrap(4 * (1 << 13) * g); int bix = floor(4 * (1 << 9) * g); int bkx = bix % 16; bix %= 8;
diff @ 2022-05-18 20:21:32 +0100 diff --git a/client/go.c b/client/go.c index e75f94c79..39a5abced 100644 --- a/client/go.c +++ b/client/go.c @@ -109,7 +109,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) sample n = wrap((1 << 10) * g / 2 + 0.5); n = 32 * pow(1 - n, 32); sample nh = wrap((1 << 11) * g * 4000); - sample bip = wrap(4 * (1 << 13) * g); + sample bip = wrap(4 * (1 << 14) * g); int bix = floor(4 * (1 << 9) * g); int bkx = bix % 16; bix %= 8;
diff @ 2022-05-18 20:21:36 +0100 diff --git a/client/go.c b/client/go.c index 39a5abced..5d93ac807 100644 --- a/client/go.c +++ b/client/go.c @@ -102,7 +102,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) { sample hz = 47.3; sample g = phasor(&s->gradient, bpm/60.0 / (1 << 9)); - sample k = wrap((1 << 9) * g); + sample k = wrap((1 << 10) * g); k = pow(1 - k, 16); k = (1 + k) * (1 + k) * tanh((1 + k) * sin(twopi * 8 * k)); k = 4 * sin(0.25 * biquad(highpass(&s->gradientbq[2], hz, 10), k));
diff @ 2022-05-18 20:21:50 +0100 diff --git a/client/go.c b/client/go.c index 5d93ac807..5af3e76ed 100644 --- a/client/go.c +++ b/client/go.c @@ -104,7 +104,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) sample g = phasor(&s->gradient, bpm/60.0 / (1 << 9)); sample k = wrap((1 << 10) * g); k = pow(1 - k, 16); - k = (1 + k) * (1 + k) * tanh((1 + k) * sin(twopi * 8 * k)); + k = (1 + k) * (1 + k) * tanh((1 + k) * sin(twopi * 16 * k)); k = 4 * sin(0.25 * biquad(highpass(&s->gradientbq[2], hz, 10), k)); sample n = wrap((1 << 10) * g / 2 + 0.5); n = 32 * pow(1 - n, 32);
diff @ 2022-05-18 20:22:09 +0100 diff --git a/client/go.c b/client/go.c index 5af3e76ed..4e80eea2a 100644 --- a/client/go.c +++ b/client/go.c @@ -50,50 +50,8 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) ///))) MIXDOWN ///{{{ SEA ORGAN 2.2 - sample ms4 = 1000 * 60 / bpm / 4; sample kick; sample p; - { - sample RESET = 0; - sample so2[2] = { 0, 0 }; - // trigger impulse on reload - sample impulse[2] = { s->reloaded, s->reloaded }; - // modulate delay times - p = phasor(&s->so2.phase, bpm/60 / 16); - sample modulation = 0.005 * cos(twopi * p * 2 * 2 * 2 * 2 * 2 * 2); - sample hz = 47.3; - sample feedback[2] = - { delread4(&s->so2.echo[1].del, 1000 / (3 * hz) * (1 - modulation)) - , delread4(&s->so2.echo[0].del, 1000 / (3 * hz) * (1 + modulation)) - }; - // pitchshift feedback - for (int c = 0; c < 2; ++c) { - sample down = pitchshift(&s->so2.shift[c][0], 1, ms4, - lop(&s->so2.lag[c][0], -12, 1e-2), feedback[c]); - sample up = pitchshift(&s->so2.shift[c][1], 1, ms4, - lop(&s->so2.lag[c][1], 24, 1e-2), down); - feedback[c] = sin((2 * feedback[c] - down - up)*2); - } - // beats - kick = sin(twopi * pow(1 - wrap(16 * p), 10) * 10); - feedback[0] += kick; - feedback[1] += kick; - // compress feedback - compress(so2, &s->so2.compress, 5, 10, 25, 48, feedback); - sample gain = 1; - so2[0] *= gain; - so2[1] *= gain; - // write to delay lines - for (int c = 0; c < 2; ++c) { - so2echo(&s->so2.echo[c], 20, 500, - tanh(so2[c] + RESET*impulse[c])); - } - // output - kick = biquad(highpass(&s->so2k, hz, 10), kick); - kick += sin(kick * kick * kick); - mixdown[0] += so2[0] + kick; - mixdown[1] += so2[1] + kick; - } ///}}} SEA ORGAN 2.2 ///{{{ SMOLTECH ///}}} SMOLTECH
diff @ 2022-05-18 20:22:16 +0100 diff --git a/client/go.c b/client/go.c index 4e80eea2a..d2bc6c265 100644 --- a/client/go.c +++ b/client/go.c @@ -60,7 +60,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) { sample hz = 47.3; sample g = phasor(&s->gradient, bpm/60.0 / (1 << 9)); - sample k = wrap((1 << 10) * g); + sample k = wrap((1 << 8) * g); k = pow(1 - k, 16); k = (1 + k) * (1 + k) * tanh((1 + k) * sin(twopi * 16 * k)); k = 4 * sin(0.25 * biquad(highpass(&s->gradientbq[2], hz, 10), k));
diff @ 2022-05-18 20:22:34 +0100 diff --git a/client/go.c b/client/go.c index d2bc6c265..866830372 100644 --- a/client/go.c +++ b/client/go.c @@ -93,7 +93,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) , early_ref(&s->gradiente[1], biquad(highpass(&s->gradientbq[1], hz * f[1], 5), bip), 0.995) + early_ref(&s->gradiente[3], sn[1], 1) }; - reverb(v, &s->gradientv, v, 500 * pow(8, 1 - cos(twopi * (4 * g + bkx / 16.0)))); + reverb(v, &s->gradientv, v, 5 * pow(8, 1 - cos(twopi * (4 * g + bkx / 16.0)))); mixdown[0] += v[0] + 4 * k + tanh(0.25 * sn[0]); mixdown[1] += v[1] + 4 * k + tanh(0.25 * sn[1]); }
diff @ 2022-05-18 20:22:46 +0100 diff --git a/client/go.c b/client/go.c index 866830372..d46e0fbfc 100644 --- a/client/go.c +++ b/client/go.c @@ -119,8 +119,8 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) sample er = delread4(&s->edelay2, rdelms + si); sample es[2] = { co * el + si * er, -si * el + co * er }; compress(es, &s->ecompress1, 1, 1, 1, 48, es); - es[0] = mix(mixdown[0], es[0], mix(0, pow(wrap(8 * p), (sample) 0.25), 0)); - es[1] = mix(mixdown[1], es[1], mix(0, pow(wrap(8 * p), (sample) 0.25), 0)); + es[0] = mix(mixdown[0], es[0], mix(0.5, pow(wrap(8 * p), (sample) 0.25), 0)); + es[1] = mix(mixdown[1], es[1], mix(0.5, pow(wrap(8 * p), (sample) 0.25), 0)); es[0] = lop(&s->elop2[0], hip(&s->ehip2[0], es[0], 200), 2000); es[1] = lop(&s->elop2[1], hip(&s->ehip2[1], es[1], 200), 2000); compress(es, &s->ecompress2, 1, 1, 1, 48, es);
diff @ 2022-05-18 20:23:01 +0100 diff --git a/client/go.c b/client/go.c index d46e0fbfc..fa3835412 100644 --- a/client/go.c +++ b/client/go.c @@ -59,7 +59,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) { sample hz = 47.3; - sample g = phasor(&s->gradient, bpm/60.0 / (1 << 9)); + sample g = p = phasor(&s->gradient, bpm/60.0 / (1 << 9)); sample k = wrap((1 << 8) * g); k = pow(1 - k, 16); k = (1 + k) * (1 + k) * tanh((1 + k) * sin(twopi * 16 * k));
diff @ 2022-05-18 20:23:16 +0100 diff --git a/client/go.c b/client/go.c index fa3835412..1ca628807 100644 --- a/client/go.c +++ b/client/go.c @@ -73,7 +73,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) bix %= 8; int bjx = bix; bix *= 3; bjx *= 5; bkx *= 7; - bix %= 7; bjx %= 6; bkx %= 15; + bix %= 8; bjx %= 8; bkx %= 16; sample f[2] = { pow(2, 1 - cos(twopi * (g + bix / 8.0))) * pow(2 * (1 - 0.9 * cos(twopi * (32 * g + bjx / 8.0))), 1 - bip) , pow(2, 1 - cos(twopi * (g + bjx / 8.0))) * pow(2 * (1 - 0.9 * cos(twopi * (32 * g + bix / 8.0))), 1 - bip)
diff @ 2022-05-18 20:23:25 +0100 diff --git a/client/go.c b/client/go.c index 1ca628807..e09d7661b 100644 --- a/client/go.c +++ b/client/go.c @@ -72,7 +72,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) int bkx = bix % 16; bix %= 8; int bjx = bix; - bix *= 3; bjx *= 5; bkx *= 7; + bix *= 3; bjx *= 3; bkx *= 7; bix %= 8; bjx %= 8; bkx %= 16; sample f[2] = { pow(2, 1 - cos(twopi * (g + bix / 8.0))) * pow(2 * (1 - 0.9 * cos(twopi * (32 * g + bjx / 8.0))), 1 - bip)
diff @ 2022-05-18 20:23:27 +0100 diff --git a/client/go.c b/client/go.c index e09d7661b..4e132f97d 100644 --- a/client/go.c +++ b/client/go.c @@ -72,7 +72,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) int bkx = bix % 16; bix %= 8; int bjx = bix; - bix *= 3; bjx *= 3; bkx *= 7; + bix *= 5; bjx *= 3; bkx *= 7; bix %= 8; bjx %= 8; bkx %= 16; sample f[2] = { pow(2, 1 - cos(twopi * (g + bix / 8.0))) * pow(2 * (1 - 0.9 * cos(twopi * (32 * g + bjx / 8.0))), 1 - bip)
diff @ 2022-05-18 20:23:48 +0100 diff --git a/client/go.c b/client/go.c index 4e132f97d..eb404e33c 100644 --- a/client/go.c +++ b/client/go.c @@ -113,8 +113,8 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) sample seq[] = { 64, 64, 48, 72 }; sample ldelms = 60000 / bpm * (p < 0.75 ? 1 : 1./seq[ix]); sample rdelms = 60000 / bpm * (p < 0.5 ? 1./2 : 1./(2 * seq[jx])); - 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); 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 @ 2022-05-18 20:23:54 +0100 diff --git a/client/go.c b/client/go.c index eb404e33c..76f8e694a 100644 --- a/client/go.c +++ b/client/go.c @@ -113,8 +113,8 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) sample seq[] = { 64, 64, 48, 72 }; sample ldelms = 60000 / bpm * (p < 0.75 ? 1 : 1./seq[ix]); sample rdelms = 60000 / bpm * (p < 0.5 ? 1./2 : 1./(2 * seq[jx])); - ldelms = lop(&s->elop[0], ldelms, 15); - rdelms = lop(&s->elop[1], rdelms, 15); + 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 @ 2022-05-18 20:24:03 +0100 diff --git a/client/go.c b/client/go.c index 76f8e694a..8b9cb795e 100644 --- a/client/go.c +++ b/client/go.c @@ -106,7 +106,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) s->edelay2.length = 4 * SR; int ix = (int)(4 * p) & 3; int jx = (((((int)(8 * p) & 0xf) * 5) & 0x7) * 3) & 0x3; // oops, that * cut everything (/0) - p = wrap(4 * p); + p = wrap(16 * p); sample t = twopi * p; sample co = cos(t); sample si = sin(t);
diff @ 2022-05-18 20:24:17 +0100 diff --git a/client/go.c b/client/go.c index 8b9cb795e..3187f8c0b 100644 --- a/client/go.c +++ b/client/go.c @@ -67,7 +67,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) sample n = wrap((1 << 10) * g / 2 + 0.5); n = 32 * pow(1 - n, 32); sample nh = wrap((1 << 11) * g * 4000); - sample bip = wrap(4 * (1 << 14) * g); + sample bip = wrap(4 * (1 << 9) * g); int bix = floor(4 * (1 << 9) * g); int bkx = bix % 16; bix %= 8;
diff @ 2022-05-18 20:24:28 +0100 diff --git a/client/go.c b/client/go.c index 3187f8c0b..482b7e5f1 100644 --- a/client/go.c +++ b/client/go.c @@ -60,7 +60,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) { sample hz = 47.3; sample g = p = phasor(&s->gradient, bpm/60.0 / (1 << 9)); - sample k = wrap((1 << 8) * g); + sample k = wrap((1 << 9) * g); k = pow(1 - k, 16); k = (1 + k) * (1 + k) * tanh((1 + k) * sin(twopi * 16 * k)); k = 4 * sin(0.25 * biquad(highpass(&s->gradientbq[2], hz, 10), k));
diff @ 2022-05-18 20:24:34 +0100 diff --git a/client/go.c b/client/go.c index 482b7e5f1..85c53e81c 100644 --- a/client/go.c +++ b/client/go.c @@ -62,7 +62,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) sample g = p = phasor(&s->gradient, bpm/60.0 / (1 << 9)); sample k = wrap((1 << 9) * g); k = pow(1 - k, 16); - k = (1 + k) * (1 + k) * tanh((1 + k) * sin(twopi * 16 * k)); + k = (1 + k) * (1 + k) * tanh((1 + k) * sin(twopi * 8 * k)); k = 4 * sin(0.25 * biquad(highpass(&s->gradientbq[2], hz, 10), k)); sample n = wrap((1 << 10) * g / 2 + 0.5); n = 32 * pow(1 - n, 32);
diff @ 2022-05-18 20:24:37 +0100 diff --git a/client/go.c b/client/go.c index 85c53e81c..764d4ac2b 100644 --- a/client/go.c +++ b/client/go.c @@ -63,7 +63,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) sample k = wrap((1 << 9) * g); k = pow(1 - k, 16); k = (1 + k) * (1 + k) * tanh((1 + k) * sin(twopi * 8 * k)); - k = 4 * sin(0.25 * biquad(highpass(&s->gradientbq[2], hz, 10), k)); + k = 4 * sin(0.25 * biquad(highpass(&s->gradientbq[2], hz, 100), k)); sample n = wrap((1 << 10) * g / 2 + 0.5); n = 32 * pow(1 - n, 32); sample nh = wrap((1 << 11) * g * 4000);
diff @ 2022-05-18 20:24:49 +0100 diff --git a/client/go.c b/client/go.c index 764d4ac2b..e29bb9afa 100644 --- a/client/go.c +++ b/client/go.c @@ -63,7 +63,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) sample k = wrap((1 << 9) * g); k = pow(1 - k, 16); k = (1 + k) * (1 + k) * tanh((1 + k) * sin(twopi * 8 * k)); - k = 4 * sin(0.25 * biquad(highpass(&s->gradientbq[2], hz, 100), k)); + k = 4 * sin(0.325 * biquad(highpass(&s->gradientbq[2], hz, 100), k)); sample n = wrap((1 << 10) * g / 2 + 0.5); n = 32 * pow(1 - n, 32); sample nh = wrap((1 << 11) * g * 4000);
diff @ 2022-05-18 20:24:51 +0100 diff --git a/client/go.c b/client/go.c index e29bb9afa..dfeceddff 100644 --- a/client/go.c +++ b/client/go.c @@ -63,7 +63,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) sample k = wrap((1 << 9) * g); k = pow(1 - k, 16); k = (1 + k) * (1 + k) * tanh((1 + k) * sin(twopi * 8 * k)); - k = 4 * sin(0.325 * biquad(highpass(&s->gradientbq[2], hz, 100), k)); + k = 4 * sin(0.4325 * biquad(highpass(&s->gradientbq[2], hz, 100), k)); sample n = wrap((1 << 10) * g / 2 + 0.5); n = 32 * pow(1 - n, 32); sample nh = wrap((1 << 11) * g * 4000);
diff @ 2022-05-18 20:24:53 +0100 diff --git a/client/go.c b/client/go.c index dfeceddff..108c4015e 100644 --- a/client/go.c +++ b/client/go.c @@ -63,7 +63,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) sample k = wrap((1 << 9) * g); k = pow(1 - k, 16); k = (1 + k) * (1 + k) * tanh((1 + k) * sin(twopi * 8 * k)); - k = 4 * sin(0.4325 * biquad(highpass(&s->gradientbq[2], hz, 100), k)); + k = 4 * sin(0.54325 * biquad(highpass(&s->gradientbq[2], hz, 100), k)); sample n = wrap((1 << 10) * g / 2 + 0.5); n = 32 * pow(1 - n, 32); sample nh = wrap((1 << 11) * g * 4000);
diff @ 2022-05-18 20:24:55 +0100 diff --git a/client/go.c b/client/go.c index 108c4015e..456d55ed2 100644 --- a/client/go.c +++ b/client/go.c @@ -63,7 +63,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) sample k = wrap((1 << 9) * g); k = pow(1 - k, 16); k = (1 + k) * (1 + k) * tanh((1 + k) * sin(twopi * 8 * k)); - k = 4 * sin(0.54325 * biquad(highpass(&s->gradientbq[2], hz, 100), k)); + k = 4 * sin(0.654325 * biquad(highpass(&s->gradientbq[2], hz, 100), k)); sample n = wrap((1 << 10) * g / 2 + 0.5); n = 32 * pow(1 - n, 32); sample nh = wrap((1 << 11) * g * 4000);
diff @ 2022-05-18 20:25:11 +0100 diff --git a/client/go.c b/client/go.c index 456d55ed2..a331fafa4 100644 --- a/client/go.c +++ b/client/go.c @@ -63,7 +63,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) sample k = wrap((1 << 9) * g); k = pow(1 - k, 16); k = (1 + k) * (1 + k) * tanh((1 + k) * sin(twopi * 8 * k)); - k = 4 * sin(0.654325 * biquad(highpass(&s->gradientbq[2], hz, 100), k)); + k = 4 * sin(0.5 * (1.5 - cos(twopi * g)) * biquad(highpass(&s->gradientbq[2], hz, 100), k)); sample n = wrap((1 << 10) * g / 2 + 0.5); n = 32 * pow(1 - n, 32); sample nh = wrap((1 << 11) * g * 4000);
diff @ 2022-05-18 20:25:19 +0100 diff --git a/client/go.c b/client/go.c index a331fafa4..b47dd4bd3 100644 --- a/client/go.c +++ b/client/go.c @@ -63,7 +63,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) sample k = wrap((1 << 9) * g); k = pow(1 - k, 16); k = (1 + k) * (1 + k) * tanh((1 + k) * sin(twopi * 8 * k)); - k = 4 * sin(0.5 * (1.5 - cos(twopi * g)) * biquad(highpass(&s->gradientbq[2], hz, 100), k)); + k = 4 * sin(0.5 * (1.5 - cos(twopi * 16 * g)) * biquad(highpass(&s->gradientbq[2], hz, 100), k)); sample n = wrap((1 << 10) * g / 2 + 0.5); n = 32 * pow(1 - n, 32); sample nh = wrap((1 << 11) * g * 4000);
diff @ 2022-05-18 20:25:32 +0100 diff --git a/client/go.c b/client/go.c index b47dd4bd3..b552db2bc 100644 --- a/client/go.c +++ b/client/go.c @@ -63,7 +63,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) sample k = wrap((1 << 9) * g); k = pow(1 - k, 16); k = (1 + k) * (1 + k) * tanh((1 + k) * sin(twopi * 8 * k)); - k = 4 * sin(0.5 * (1.5 - cos(twopi * 16 * g)) * biquad(highpass(&s->gradientbq[2], hz, 100), k)); + k = 4 * sin(0.5 * (2 - cos(twopi * 16 * g)) * biquad(highpass(&s->gradientbq[2], hz, 100), k)); sample n = wrap((1 << 10) * g / 2 + 0.5); n = 32 * pow(1 - n, 32); sample nh = wrap((1 << 11) * g * 4000);
diff @ 2022-05-18 20:25:49 +0100 diff --git a/client/go.c b/client/go.c index b552db2bc..da10d4ac2 100644 --- a/client/go.c +++ b/client/go.c @@ -64,6 +64,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) k = pow(1 - k, 16); k = (1 + k) * (1 + k) * tanh((1 + k) * sin(twopi * 8 * k)); k = 4 * sin(0.5 * (2 - cos(twopi * 16 * g)) * biquad(highpass(&s->gradientbq[2], hz, 100), k)); + sample n = wrap((1 << 10) * g / 2 + 0.5); n = 32 * pow(1 - n, 32); sample nh = wrap((1 << 11) * g * 4000);
diff @ 2022-05-18 20:26:06 +0100 diff --git a/client/go.h b/client/go.h index 077870ddc..0c0f6c3f4 100644 --- a/client/go.h +++ b/client/go.h @@ -78,6 +78,7 @@ typedef struct { LOP elop2[2]; HIP ehip2[2]; ///]]] EL DAY DE LAY + BIQUAD harmonics[16]; ///[[[ NON-SMOOTH ///]]] NON-SMOOTH ///[[[ CHARRED BARD
diff @ 2022-05-18 20:26:46 +0100 diff --git a/client/go.c b/client/go.c index da10d4ac2..5c16a77fa 100644 --- a/client/go.c +++ b/client/go.c @@ -63,7 +63,9 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) sample k = wrap((1 << 9) * g); k = pow(1 - k, 16); k = (1 + k) * (1 + k) * tanh((1 + k) * sin(twopi * 8 * k)); - k = 4 * sin(0.5 * (2 - cos(twopi * 16 * g)) * biquad(highpass(&s->gradientbq[2], hz, 100), k)); + k = 4 * sin( + 0.5 * (2 - cos(twopi * 16 * g)) * biquad(highpass(&s->gradientbq[2], hz, 100), k) + + 0.5 * (2 - cos(twopi * 32 * g)) * biquad(highpass(&s->harmonics[0], hz * 2, 100), k)); sample n = wrap((1 << 10) * g / 2 + 0.5); n = 32 * pow(1 - n, 32);
diff @ 2022-05-18 20:27:02 +0100 diff --git a/client/go.c b/client/go.c index 5c16a77fa..ec277c486 100644 --- a/client/go.c +++ b/client/go.c @@ -65,7 +65,9 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) k = (1 + k) * (1 + k) * tanh((1 + k) * sin(twopi * 8 * k)); k = 4 * sin( 0.5 * (2 - cos(twopi * 16 * g)) * biquad(highpass(&s->gradientbq[2], hz, 100), k) + - 0.5 * (2 - cos(twopi * 32 * g)) * biquad(highpass(&s->harmonics[0], hz * 2, 100), k)); + 0.5 * (2 - cos(twopi * 32 * g)) * biquad(highpass(&s->harmonics[0], hz * 2, 100), k) + + 0.5 * (2 - cos(twopi * 64 * g)) * biquad(highpass(&s->harmonics[1], hz * 3, 100), k) + + ); sample n = wrap((1 << 10) * g / 2 + 0.5); n = 32 * pow(1 - n, 32);
diff @ 2022-05-18 20:27:05 +0100 diff --git a/client/go.c b/client/go.c index ec277c486..2ab38b561 100644 --- a/client/go.c +++ b/client/go.c @@ -67,6 +67,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) 0.5 * (2 - cos(twopi * 16 * g)) * biquad(highpass(&s->gradientbq[2], hz, 100), k) + 0.5 * (2 - cos(twopi * 32 * g)) * biquad(highpass(&s->harmonics[0], hz * 2, 100), k) + 0.5 * (2 - cos(twopi * 64 * g)) * biquad(highpass(&s->harmonics[1], hz * 3, 100), k) + + 0 ); sample n = wrap((1 << 10) * g / 2 + 0.5);
diff @ 2022-05-18 20:27:20 +0100 diff --git a/client/go.c b/client/go.c index 2ab38b561..3cde839c2 100644 --- a/client/go.c +++ b/client/go.c @@ -63,12 +63,11 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) sample k = wrap((1 << 9) * g); k = pow(1 - k, 16); k = (1 + k) * (1 + k) * tanh((1 + k) * sin(twopi * 8 * k)); - k = 4 * sin( + k = 4 * sin() 0.5 * (2 - cos(twopi * 16 * g)) * biquad(highpass(&s->gradientbq[2], hz, 100), k) + 0.5 * (2 - cos(twopi * 32 * g)) * biquad(highpass(&s->harmonics[0], hz * 2, 100), k) + 0.5 * (2 - cos(twopi * 64 * g)) * biquad(highpass(&s->harmonics[1], hz * 3, 100), k) + - 0 - ); + 0) / 4); sample n = wrap((1 << 10) * g / 2 + 0.5); n = 32 * pow(1 - n, 32);
diff @ 2022-05-18 20:27:24 +0100 diff --git a/client/go.c b/client/go.c index 3cde839c2..250607b6c 100644 --- a/client/go.c +++ b/client/go.c @@ -63,7 +63,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) sample k = wrap((1 << 9) * g); k = pow(1 - k, 16); k = (1 + k) * (1 + k) * tanh((1 + k) * sin(twopi * 8 * k)); - k = 4 * sin() + k = 4 * sin(( 0.5 * (2 - cos(twopi * 16 * g)) * biquad(highpass(&s->gradientbq[2], hz, 100), k) + 0.5 * (2 - cos(twopi * 32 * g)) * biquad(highpass(&s->harmonics[0], hz * 2, 100), k) + 0.5 * (2 - cos(twopi * 64 * g)) * biquad(highpass(&s->harmonics[1], hz * 3, 100), k) +
diff @ 2022-05-18 20:27:35 +0100 diff --git a/client/go.c b/client/go.c index 250607b6c..f7a595252 100644 --- a/client/go.c +++ b/client/go.c @@ -67,6 +67,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) 0.5 * (2 - cos(twopi * 16 * g)) * biquad(highpass(&s->gradientbq[2], hz, 100), k) + 0.5 * (2 - cos(twopi * 32 * g)) * biquad(highpass(&s->harmonics[0], hz * 2, 100), k) + 0.5 * (2 - cos(twopi * 64 * g)) * biquad(highpass(&s->harmonics[1], hz * 3, 100), k) + + 0.5 * (2 - cos(twopi * 128 * g)) * biquad(highpass(&s->harmonics[2], hz * 5, 100), k) + 0) / 4); sample n = wrap((1 << 10) * g / 2 + 0.5);
diff @ 2022-05-18 20:27:44 +0100 diff --git a/client/go.c b/client/go.c index f7a595252..472c22a39 100644 --- a/client/go.c +++ b/client/go.c @@ -67,7 +67,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) 0.5 * (2 - cos(twopi * 16 * g)) * biquad(highpass(&s->gradientbq[2], hz, 100), k) + 0.5 * (2 - cos(twopi * 32 * g)) * biquad(highpass(&s->harmonics[0], hz * 2, 100), k) + 0.5 * (2 - cos(twopi * 64 * g)) * biquad(highpass(&s->harmonics[1], hz * 3, 100), k) + - 0.5 * (2 - cos(twopi * 128 * g)) * biquad(highpass(&s->harmonics[2], hz * 5, 100), k) + + 0.5 * (2 - cos(twopi * (1 << 6) * g)) * biquad(highpass(&s->harmonics[2], hz * 5, 100), k) + 0) / 4); sample n = wrap((1 << 10) * g / 2 + 0.5);
diff @ 2022-05-18 20:27:54 +0100 diff --git a/client/go.c b/client/go.c index 472c22a39..ae9a90aa3 100644 --- a/client/go.c +++ b/client/go.c @@ -67,7 +67,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) 0.5 * (2 - cos(twopi * 16 * g)) * biquad(highpass(&s->gradientbq[2], hz, 100), k) + 0.5 * (2 - cos(twopi * 32 * g)) * biquad(highpass(&s->harmonics[0], hz * 2, 100), k) + 0.5 * (2 - cos(twopi * 64 * g)) * biquad(highpass(&s->harmonics[1], hz * 3, 100), k) + - 0.5 * (2 - cos(twopi * (1 << 6) * g)) * biquad(highpass(&s->harmonics[2], hz * 5, 100), k) + + 0.5 * (2 - cos(twopi * (1 << 8) * g)) * biquad(highpass(&s->harmonics[2], hz * 5, 100), k) + 0) / 4); sample n = wrap((1 << 10) * g / 2 + 0.5);
diff @ 2022-05-18 20:28:17 +0100 diff --git a/client/go.c b/client/go.c index ae9a90aa3..ce60611c7 100644 --- a/client/go.c +++ b/client/go.c @@ -68,6 +68,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) 0.5 * (2 - cos(twopi * 32 * g)) * biquad(highpass(&s->harmonics[0], hz * 2, 100), k) + 0.5 * (2 - cos(twopi * 64 * g)) * biquad(highpass(&s->harmonics[1], hz * 3, 100), k) + 0.5 * (2 - cos(twopi * (1 << 8) * g)) * biquad(highpass(&s->harmonics[2], hz * 5, 100), k) + + 0.5 * (2 - cos(twopi * (1 << 9) * g)) * biquad(highpass(&s->harmonics[3], hz * 8, 100), k) + 0) / 4); sample n = wrap((1 << 10) * g / 2 + 0.5);
diff @ 2022-05-18 20:28:21 +0100 diff --git a/client/go.c b/client/go.c index ce60611c7..35ac5ab56 100644 --- a/client/go.c +++ b/client/go.c @@ -68,7 +68,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) 0.5 * (2 - cos(twopi * 32 * g)) * biquad(highpass(&s->harmonics[0], hz * 2, 100), k) + 0.5 * (2 - cos(twopi * 64 * g)) * biquad(highpass(&s->harmonics[1], hz * 3, 100), k) + 0.5 * (2 - cos(twopi * (1 << 8) * g)) * biquad(highpass(&s->harmonics[2], hz * 5, 100), k) + - 0.5 * (2 - cos(twopi * (1 << 9) * g)) * biquad(highpass(&s->harmonics[3], hz * 8, 100), k) + + 0.5 * (2 - cos(twopi * (1 << 9) * g)) * biquad(highpass(&s->harmonics[3], hz * 8, 1000), k) + 0) / 4); sample n = wrap((1 << 10) * g / 2 + 0.5);
diff @ 2022-05-18 20:28:25 +0100 diff --git a/client/go.c b/client/go.c index 35ac5ab56..5fbf49532 100644 --- a/client/go.c +++ b/client/go.c @@ -68,7 +68,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) 0.5 * (2 - cos(twopi * 32 * g)) * biquad(highpass(&s->harmonics[0], hz * 2, 100), k) + 0.5 * (2 - cos(twopi * 64 * g)) * biquad(highpass(&s->harmonics[1], hz * 3, 100), k) + 0.5 * (2 - cos(twopi * (1 << 8) * g)) * biquad(highpass(&s->harmonics[2], hz * 5, 100), k) + - 0.5 * (2 - cos(twopi * (1 << 9) * g)) * biquad(highpass(&s->harmonics[3], hz * 8, 1000), k) + + 0.5 * (2 - cos(twopi * (1 << 9) * g)) * biquad(highpass(&s->harmonics[3], hz * 16, 1000), k) + 0) / 4); sample n = wrap((1 << 10) * g / 2 + 0.5);
diff @ 2022-05-18 20:28:34 +0100 diff --git a/client/go.c b/client/go.c index 5fbf49532..a79eb12ca 100644 --- a/client/go.c +++ b/client/go.c @@ -68,7 +68,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) 0.5 * (2 - cos(twopi * 32 * g)) * biquad(highpass(&s->harmonics[0], hz * 2, 100), k) + 0.5 * (2 - cos(twopi * 64 * g)) * biquad(highpass(&s->harmonics[1], hz * 3, 100), k) + 0.5 * (2 - cos(twopi * (1 << 8) * g)) * biquad(highpass(&s->harmonics[2], hz * 5, 100), k) + - 0.5 * (2 - cos(twopi * (1 << 9) * g)) * biquad(highpass(&s->harmonics[3], hz * 16, 1000), k) + + 0.5 * (2 - cos(twopi * (1 << 10) * g)) * biquad(highpass(&s->harmonics[3], hz * 16, 1000), k) + 0) / 4); sample n = wrap((1 << 10) * g / 2 + 0.5);
diff @ 2022-05-18 20:28:44 +0100 diff --git a/client/go.c b/client/go.c index a79eb12ca..ca0c64a6a 100644 --- a/client/go.c +++ b/client/go.c @@ -69,6 +69,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) 0.5 * (2 - cos(twopi * 64 * g)) * biquad(highpass(&s->harmonics[1], hz * 3, 100), k) + 0.5 * (2 - cos(twopi * (1 << 8) * g)) * biquad(highpass(&s->harmonics[2], hz * 5, 100), k) + 0.5 * (2 - cos(twopi * (1 << 10) * g)) * biquad(highpass(&s->harmonics[3], hz * 16, 1000), k) + + 0.5 * (2 - cos(twopi * (1 << 12) * g)) * biquad(highpass(&s->harmonics[4], hz * 17, 1000), k) + 0) / 4); sample n = wrap((1 << 10) * g / 2 + 0.5);
diff @ 2022-05-18 20:28:46 +0100 diff --git a/client/go.c b/client/go.c index ca0c64a6a..cae2b7e82 100644 --- a/client/go.c +++ b/client/go.c @@ -69,7 +69,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) 0.5 * (2 - cos(twopi * 64 * g)) * biquad(highpass(&s->harmonics[1], hz * 3, 100), k) + 0.5 * (2 - cos(twopi * (1 << 8) * g)) * biquad(highpass(&s->harmonics[2], hz * 5, 100), k) + 0.5 * (2 - cos(twopi * (1 << 10) * g)) * biquad(highpass(&s->harmonics[3], hz * 16, 1000), k) + - 0.5 * (2 - cos(twopi * (1 << 12) * g)) * biquad(highpass(&s->harmonics[4], hz * 17, 1000), k) + + 0.5 * (2 - cos(twopi * (1 << 12) * g)) * biquad(highpass(&s->harmonics[4], hz * 18, 1000), k) + 0) / 4); sample n = wrap((1 << 10) * g / 2 + 0.5);
diff @ 2022-05-18 20:29:02 +0100 diff --git a/client/go.c b/client/go.c index cae2b7e82..efdafa747 100644 --- a/client/go.c +++ b/client/go.c @@ -70,6 +70,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) 0.5 * (2 - cos(twopi * (1 << 8) * g)) * biquad(highpass(&s->harmonics[2], hz * 5, 100), k) + 0.5 * (2 - cos(twopi * (1 << 10) * g)) * biquad(highpass(&s->harmonics[3], hz * 16, 1000), k) + 0.5 * (2 - cos(twopi * (1 << 12) * g)) * biquad(highpass(&s->harmonics[4], hz * 18, 1000), k) + + 0.5 * (2 - cos(twopi * (1 << 11) * g)) * biquad(highpass(&s->harmonics[4], hz / 2, 1000), k) + 0) / 4); sample n = wrap((1 << 10) * g / 2 + 0.5);
diff @ 2022-05-18 20:29:07 +0100 diff --git a/client/go.c b/client/go.c index efdafa747..093421cad 100644 --- a/client/go.c +++ b/client/go.c @@ -70,7 +70,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) 0.5 * (2 - cos(twopi * (1 << 8) * g)) * biquad(highpass(&s->harmonics[2], hz * 5, 100), k) + 0.5 * (2 - cos(twopi * (1 << 10) * g)) * biquad(highpass(&s->harmonics[3], hz * 16, 1000), k) + 0.5 * (2 - cos(twopi * (1 << 12) * g)) * biquad(highpass(&s->harmonics[4], hz * 18, 1000), k) + - 0.5 * (2 - cos(twopi * (1 << 11) * g)) * biquad(highpass(&s->harmonics[4], hz / 2, 1000), k) + + 0.5 * (2 - cos(twopi * (1 << 11) * g)) * biquad(highpass(&s->harmonics[4], hz / 2, 100), k) + 0) / 4); sample n = wrap((1 << 10) * g / 2 + 0.5);
diff @ 2022-05-18 20:29:08 +0100 diff --git a/client/go.c b/client/go.c index 093421cad..757184cbe 100644 --- a/client/go.c +++ b/client/go.c @@ -68,8 +68,8 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) 0.5 * (2 - cos(twopi * 32 * g)) * biquad(highpass(&s->harmonics[0], hz * 2, 100), k) + 0.5 * (2 - cos(twopi * 64 * g)) * biquad(highpass(&s->harmonics[1], hz * 3, 100), k) + 0.5 * (2 - cos(twopi * (1 << 8) * g)) * biquad(highpass(&s->harmonics[2], hz * 5, 100), k) + - 0.5 * (2 - cos(twopi * (1 << 10) * g)) * biquad(highpass(&s->harmonics[3], hz * 16, 1000), k) + - 0.5 * (2 - cos(twopi * (1 << 12) * g)) * biquad(highpass(&s->harmonics[4], hz * 18, 1000), k) + + 0.5 * (2 - cos(twopi * (1 << 10) * g)) * biquad(highpass(&s->harmonics[3], hz * 16, 100), k) + + 0.5 * (2 - cos(twopi * (1 << 12) * g)) * biquad(highpass(&s->harmonics[4], hz * 18, 100), k) + 0.5 * (2 - cos(twopi * (1 << 11) * g)) * biquad(highpass(&s->harmonics[4], hz / 2, 100), k) + 0) / 4);
diff @ 2022-05-18 20:29:24 +0100 diff --git a/client/go.c b/client/go.c index 757184cbe..6830bbf06 100644 --- a/client/go.c +++ b/client/go.c @@ -45,7 +45,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) } ///((( MIXDOWN - sample bpm = 129.1875; + sample bpm = 133.1875; sample mixdown[2] = { 0, 0 }; ///))) MIXDOWN
diff @ 2022-05-18 20:29:28 +0100 diff --git a/client/go.c b/client/go.c index 6830bbf06..be084aee6 100644 --- a/client/go.c +++ b/client/go.c @@ -45,7 +45,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) } ///((( MIXDOWN - sample bpm = 133.1875; + sample bpm = 138.1875; sample mixdown[2] = { 0, 0 }; ///))) MIXDOWN
diff @ 2022-05-18 20:29:40 +0100 diff --git a/client/go.c b/client/go.c index be084aee6..8ddb945d6 100644 --- a/client/go.c +++ b/client/go.c @@ -60,7 +60,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) { sample hz = 47.3; sample g = p = phasor(&s->gradient, bpm/60.0 / (1 << 9)); - sample k = wrap((1 << 9) * g); + sample k = wrap((1 << 10) * g); k = pow(1 - k, 16); k = (1 + k) * (1 + k) * tanh((1 + k) * sin(twopi * 8 * k)); k = 4 * sin((
diff @ 2022-05-18 20:29:47 +0100 diff --git a/client/go.c b/client/go.c index 8ddb945d6..c90d7c398 100644 --- a/client/go.c +++ b/client/go.c @@ -60,7 +60,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) { sample hz = 47.3; sample g = p = phasor(&s->gradient, bpm/60.0 / (1 << 9)); - sample k = wrap((1 << 10) * g); + sample k = wrap((1 << 11) * g); k = pow(1 - k, 16); k = (1 + k) * (1 + k) * tanh((1 + k) * sin(twopi * 8 * k)); k = 4 * sin((
diff @ 2022-05-18 20:29:50 +0100 diff --git a/client/go.c b/client/go.c index c90d7c398..e3175219b 100644 --- a/client/go.c +++ b/client/go.c @@ -60,7 +60,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) { sample hz = 47.3; sample g = p = phasor(&s->gradient, bpm/60.0 / (1 << 9)); - sample k = wrap((1 << 11) * g); + sample k = wrap((1 << 12) * g); k = pow(1 - k, 16); k = (1 + k) * (1 + k) * tanh((1 + k) * sin(twopi * 8 * k)); k = 4 * sin((
diff @ 2022-05-18 20:29:52 +0100 diff --git a/client/go.c b/client/go.c index e3175219b..3dfb8570d 100644 --- a/client/go.c +++ b/client/go.c @@ -60,7 +60,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) { sample hz = 47.3; sample g = p = phasor(&s->gradient, bpm/60.0 / (1 << 9)); - sample k = wrap((1 << 12) * g); + sample k = wrap((1 << 13) * g); k = pow(1 - k, 16); k = (1 + k) * (1 + k) * tanh((1 + k) * sin(twopi * 8 * k)); k = 4 * sin((
diff @ 2022-05-18 20:29:54 +0100 diff --git a/client/go.c b/client/go.c index 3dfb8570d..edc95562c 100644 --- a/client/go.c +++ b/client/go.c @@ -60,7 +60,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) { sample hz = 47.3; sample g = p = phasor(&s->gradient, bpm/60.0 / (1 << 9)); - sample k = wrap((1 << 13) * g); + sample k = wrap((1 << 14) * g); k = pow(1 - k, 16); k = (1 + k) * (1 + k) * tanh((1 + k) * sin(twopi * 8 * k)); k = 4 * sin((
diff @ 2022-05-18 20:30:02 +0100 diff --git a/client/go.c b/client/go.c index edc95562c..f494f1a7c 100644 --- a/client/go.c +++ b/client/go.c @@ -59,7 +59,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) { sample hz = 47.3; - sample g = p = phasor(&s->gradient, bpm/60.0 / (1 << 9)); + sample g = p = phasor(&s->gradient, bpm/60.0 / (1 << 10)); sample k = wrap((1 << 14) * g); k = pow(1 - k, 16); k = (1 + k) * (1 + k) * tanh((1 + k) * sin(twopi * 8 * k));
diff @ 2022-05-18 20:30:08 +0100 diff --git a/client/go.c b/client/go.c index f494f1a7c..022df4b85 100644 --- a/client/go.c +++ b/client/go.c @@ -60,7 +60,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) { sample hz = 47.3; sample g = p = phasor(&s->gradient, bpm/60.0 / (1 << 10)); - sample k = wrap((1 << 14) * g); + sample k = wrap((1 << 18) * g); k = pow(1 - k, 16); k = (1 + k) * (1 + k) * tanh((1 + k) * sin(twopi * 8 * k)); k = 4 * sin((
diff @ 2022-05-18 20:30:11 +0100 diff --git a/client/go.c b/client/go.c index 022df4b85..a7190afdc 100644 --- a/client/go.c +++ b/client/go.c @@ -60,7 +60,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) { sample hz = 47.3; sample g = p = phasor(&s->gradient, bpm/60.0 / (1 << 10)); - sample k = wrap((1 << 18) * g); + sample k = wrap((1 << 24) * g); k = pow(1 - k, 16); k = (1 + k) * (1 + k) * tanh((1 + k) * sin(twopi * 8 * k)); k = 4 * sin((
diff @ 2022-05-18 20:30:17 +0100 diff --git a/client/go.c b/client/go.c index a7190afdc..f6809cff0 100644 --- a/client/go.c +++ b/client/go.c @@ -59,7 +59,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) { sample hz = 47.3; - sample g = p = phasor(&s->gradient, bpm/60.0 / (1 << 10)); + sample g = p = phasor(&s->gradient, bpm/60.0 / (1 << 9)); sample k = wrap((1 << 24) * g); k = pow(1 - k, 16); k = (1 + k) * (1 + k) * tanh((1 + k) * sin(twopi * 8 * k));
diff @ 2022-05-18 20:30:26 +0100 diff --git a/client/go.c b/client/go.c index f6809cff0..01707c947 100644 --- a/client/go.c +++ b/client/go.c @@ -61,7 +61,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) sample hz = 47.3; sample g = p = phasor(&s->gradient, bpm/60.0 / (1 << 9)); sample k = wrap((1 << 24) * g); - k = pow(1 - k, 16); + k = pow(1 - k, 10); k = (1 + k) * (1 + k) * tanh((1 + k) * sin(twopi * 8 * k)); k = 4 * sin(( 0.5 * (2 - cos(twopi * 16 * g)) * biquad(highpass(&s->gradientbq[2], hz, 100), k) +
diff @ 2022-05-18 20:30:30 +0100 diff --git a/client/go.c b/client/go.c index 01707c947..291b3425e 100644 --- a/client/go.c +++ b/client/go.c @@ -61,7 +61,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) sample hz = 47.3; sample g = p = phasor(&s->gradient, bpm/60.0 / (1 << 9)); sample k = wrap((1 << 24) * g); - k = pow(1 - k, 10); + k = pow(1 - k, 8); k = (1 + k) * (1 + k) * tanh((1 + k) * sin(twopi * 8 * k)); k = 4 * sin(( 0.5 * (2 - cos(twopi * 16 * g)) * biquad(highpass(&s->gradientbq[2], hz, 100), k) +
diff @ 2022-05-18 20:30:36 +0100 diff --git a/client/go.c b/client/go.c index 291b3425e..46532ddff 100644 --- a/client/go.c +++ b/client/go.c @@ -62,7 +62,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) sample g = p = phasor(&s->gradient, bpm/60.0 / (1 << 9)); sample k = wrap((1 << 24) * g); k = pow(1 - k, 8); - k = (1 + k) * (1 + k) * tanh((1 + k) * sin(twopi * 8 * k)); + k = (1 + k) * (1 + k) * tanh((1 + k) * sin(twopi * 1 * k)); k = 4 * sin(( 0.5 * (2 - cos(twopi * 16 * g)) * biquad(highpass(&s->gradientbq[2], hz, 100), k) + 0.5 * (2 - cos(twopi * 32 * g)) * biquad(highpass(&s->harmonics[0], hz * 2, 100), k) +
diff @ 2022-05-18 20:30:47 +0100 diff --git a/client/go.c b/client/go.c index 46532ddff..bf0c76dc7 100644 --- a/client/go.c +++ b/client/go.c @@ -59,10 +59,10 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) { sample hz = 47.3; - sample g = p = phasor(&s->gradient, bpm/60.0 / (1 << 9)); + sample g = p = 0*phasor(&s->gradient, bpm/60.0 / (1 << 9)); sample k = wrap((1 << 24) * g); k = pow(1 - k, 8); - k = (1 + k) * (1 + k) * tanh((1 + k) * sin(twopi * 1 * k)); + k = (1 + k) * (1 + k) * tanh((1 + k) * sin(twopi * 0 * k)); k = 4 * sin(( 0.5 * (2 - cos(twopi * 16 * g)) * biquad(highpass(&s->gradientbq[2], hz, 100), k) + 0.5 * (2 - cos(twopi * 32 * g)) * biquad(highpass(&s->harmonics[0], hz * 2, 100), k) +
diff @ 2022-05-18 20:31:14 +0100 diff --git a/client/go.c b/client/go.c index bf0c76dc7..6d34eec5c 100644 --- a/client/go.c +++ b/client/go.c @@ -165,7 +165,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) mixdown[0] = output[0]; mixdown[1] = output[1]; compress(mixdown, &s->mixdown, 5, 10, 25, 48, mixdown); - sample volume = 1; + sample volume = 0.5; // thanks everyone! mixdown[0] *= volume; mixdown[1] *= volume; }
diff @ 2022-05-18 20:31:16 +0100 diff --git a/client/go.c b/client/go.c index 6d34eec5c..a9aa21bc1 100644 --- a/client/go.c +++ b/client/go.c @@ -165,7 +165,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) mixdown[0] = output[0]; mixdown[1] = output[1]; compress(mixdown, &s->mixdown, 5, 10, 25, 48, mixdown); - sample volume = 0.5; // thanks everyone! + sample volume = 0.2; // thanks everyone! mixdown[0] *= volume; mixdown[1] *= volume; }
diff @ 2022-05-18 20:31:18 +0100 diff --git a/client/go.c b/client/go.c index a9aa21bc1..112469f7a 100644 --- a/client/go.c +++ b/client/go.c @@ -165,7 +165,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) mixdown[0] = output[0]; mixdown[1] = output[1]; compress(mixdown, &s->mixdown, 5, 10, 25, 48, mixdown); - sample volume = 0.2; // thanks everyone! + sample volume = 0.1; // thanks everyone! mixdown[0] *= volume; mixdown[1] *= volume; }
diff @ 2022-05-18 20:31:19 +0100 diff --git a/client/go.c b/client/go.c index 112469f7a..53c05f9ba 100644 --- a/client/go.c +++ b/client/go.c @@ -165,7 +165,7 @@ int go(S *s, int inchannels, const float *in, int outchannels, float *out) mixdown[0] = output[0]; mixdown[1] = output[1]; compress(mixdown, &s->mixdown, 5, 10, 25, 48, mixdown); - sample volume = 0.1; // thanks everyone! + sample volume = 0.0; // thanks everyone! mixdown[0] *= volume; mixdown[1] *= volume; }