a C audio live-coding skeleton
diff @ 2018-11-22 22:29:44 +0000 diff --git a/client/go.c b/client/go.c index 8eae48fec..d98ab3b1b 100644 --- a/client/go.c +++ b/client/go.c @@ -33,7 +33,7 @@ ///========================================================================== ///========================================================================== -#define RESET 1 +#define RESET 0 typedef float sample; #define SR 48000
diff @ 2018-11-22 22:29:58 +0000 diff --git a/client/go.c b/client/go.c index d98ab3b1b..ed109ebc0 100644 --- a/client/go.c +++ b/client/go.c @@ -125,9 +125,9 @@ go(S *s, int channels, const float *in, float *out) // pitchshift feedback for (int c = 0; c < 2; ++c) { sample down = pitchshift(&s->so2.shift[2 * c + 0], 2, 100, - lop(&s->so2.lag[0], -12, 1e-3), feedback[c]); + lop(&s->so2.lag[0], -12, 1e-4), feedback[c]); sample up = pitchshift(&s->so2.shift[2 * c + 1], 2, 100, - lop(&s->so2.lag[0], 19, 1e-3), down); + lop(&s->so2.lag[0], 19, 1e-4), down); feedback[c] = feedback[c] - down - up; } // compress feedback
diff @ 2018-11-22 22:30:13 +0000 diff --git a/client/go.c b/client/go.c index ed109ebc0..06c7cf4a5 100644 --- a/client/go.c +++ b/client/go.c @@ -116,7 +116,7 @@ go(S *s, int channels, const float *in, float *out) // trigger impulse on reload sample impulse[2] = { s->reloaded, s->reloaded }; // modulate delay times - sample p = phasor(&s->so2.phase, 0.01); + sample p = phasor(&s->so2.phase, 0.02); sample modulation = 10 * cos(twopi * p); sample feedback[2] = { delread4(&s->so2.echo[1].del, 200 - modulation)
diff @ 2018-11-22 22:30:20 +0000 diff --git a/client/go.c b/client/go.c index 06c7cf4a5..6d9fcbc2e 100644 --- a/client/go.c +++ b/client/go.c @@ -117,7 +117,7 @@ go(S *s, int channels, const float *in, float *out) sample impulse[2] = { s->reloaded, s->reloaded }; // modulate delay times sample p = phasor(&s->so2.phase, 0.02); - sample modulation = 10 * cos(twopi * p); + sample modulation = cos(twopi * p); sample feedback[2] = { delread4(&s->so2.echo[1].del, 200 - modulation) , delread4(&s->so2.echo[0].del, 200 + modulation)
diff @ 2018-11-22 22:30:26 +0000 diff --git a/client/go.c b/client/go.c index 6d9fcbc2e..1a6769eb3 100644 --- a/client/go.c +++ b/client/go.c @@ -116,7 +116,7 @@ go(S *s, int channels, const float *in, float *out) // trigger impulse on reload sample impulse[2] = { s->reloaded, s->reloaded }; // modulate delay times - sample p = phasor(&s->so2.phase, 0.02); + sample p = phasor(&s->so2.phase, 0.5); sample modulation = cos(twopi * p); sample feedback[2] = { delread4(&s->so2.echo[1].del, 200 - modulation)
diff @ 2018-11-22 22:30:31 +0000 diff --git a/client/go.c b/client/go.c index 1a6769eb3..700b9a803 100644 --- a/client/go.c +++ b/client/go.c @@ -119,8 +119,8 @@ go(S *s, int channels, const float *in, float *out) sample p = phasor(&s->so2.phase, 0.5); sample modulation = cos(twopi * p); sample feedback[2] = - { delread4(&s->so2.echo[1].del, 200 - modulation) - , delread4(&s->so2.echo[0].del, 200 + modulation) + { delread4(&s->so2.echo[1].del, 100 - modulation) + , delread4(&s->so2.echo[0].del, 100 + modulation) }; // pitchshift feedback for (int c = 0; c < 2; ++c) {
diff @ 2018-11-22 22:30:40 +0000 diff --git a/client/go.c b/client/go.c index 700b9a803..439eee0c7 100644 --- a/client/go.c +++ b/client/go.c @@ -119,8 +119,8 @@ go(S *s, int channels, const float *in, float *out) sample p = phasor(&s->so2.phase, 0.5); sample modulation = cos(twopi * p); sample feedback[2] = - { delread4(&s->so2.echo[1].del, 100 - modulation) - , delread4(&s->so2.echo[0].del, 100 + modulation) + { delread4(&s->so2.echo[1].del, 50 - modulation) + , delread4(&s->so2.echo[0].del, 50 + modulation) }; // pitchshift feedback for (int c = 0; c < 2; ++c) {
diff @ 2018-11-22 22:30:47 +0000 diff --git a/client/go.c b/client/go.c index 439eee0c7..46aba0c2f 100644 --- a/client/go.c +++ b/client/go.c @@ -119,8 +119,8 @@ go(S *s, int channels, const float *in, float *out) sample p = phasor(&s->so2.phase, 0.5); sample modulation = cos(twopi * p); sample feedback[2] = - { delread4(&s->so2.echo[1].del, 50 - modulation) - , delread4(&s->so2.echo[0].del, 50 + modulation) + { delread4(&s->so2.echo[1].del, 25 - modulation) + , delread4(&s->so2.echo[0].del, 25 + modulation) }; // pitchshift feedback for (int c = 0; c < 2; ++c) {
diff @ 2018-11-22 22:31:00 +0000 diff --git a/client/go.c b/client/go.c index 46aba0c2f..025d8327f 100644 --- a/client/go.c +++ b/client/go.c @@ -119,8 +119,8 @@ go(S *s, int channels, const float *in, float *out) sample p = phasor(&s->so2.phase, 0.5); sample modulation = cos(twopi * p); sample feedback[2] = - { delread4(&s->so2.echo[1].del, 25 - modulation) - , delread4(&s->so2.echo[0].del, 25 + modulation) + { delread4(&s->so2.echo[1].del, 12.5 - modulation) + , delread4(&s->so2.echo[0].del, 12.5 + modulation) }; // pitchshift feedback for (int c = 0; c < 2; ++c) {
diff @ 2018-11-22 22:31:08 +0000 diff --git a/client/go.c b/client/go.c index 025d8327f..1b39c645b 100644 --- a/client/go.c +++ b/client/go.c @@ -128,7 +128,7 @@ go(S *s, int channels, const float *in, float *out) lop(&s->so2.lag[0], -12, 1e-4), feedback[c]); sample up = pitchshift(&s->so2.shift[2 * c + 1], 2, 100, lop(&s->so2.lag[0], 19, 1e-4), down); - feedback[c] = feedback[c] - down - up; + feedback[c] = 2 * feedback[c] - down - up; } // compress feedback compress(so2, &s->so2.compress, 5, 10, 25, 48, feedback);
diff @ 2018-11-22 22:31:16 +0000 diff --git a/client/go.c b/client/go.c index 1b39c645b..b1bf224dd 100644 --- a/client/go.c +++ b/client/go.c @@ -137,7 +137,7 @@ go(S *s, int channels, const float *in, float *out) so2[1] *= gain; // write to delay lines for (int c = 0; c < 2; ++c) { - so2echo(&s->so2.echo[c], 20, 500, + so2echo(&s->so2.echo[c], 50, 500, tanh(so2[c] + RESET*impulse[c])); } mixdown[0] += so2[0];
diff @ 2018-11-22 22:31:21 +0000 diff --git a/client/go.c b/client/go.c index b1bf224dd..d7ff657de 100644 --- a/client/go.c +++ b/client/go.c @@ -137,7 +137,7 @@ go(S *s, int channels, const float *in, float *out) so2[1] *= gain; // write to delay lines for (int c = 0; c < 2; ++c) { - so2echo(&s->so2.echo[c], 50, 500, + so2echo(&s->so2.echo[c], 50, 1500, tanh(so2[c] + RESET*impulse[c])); } mixdown[0] += so2[0];
diff @ 2018-11-22 22:31:32 +0000 diff --git a/client/go.c b/client/go.c index d7ff657de..df79030f0 100644 --- a/client/go.c +++ b/client/go.c @@ -128,7 +128,7 @@ go(S *s, int channels, const float *in, float *out) lop(&s->so2.lag[0], -12, 1e-4), feedback[c]); sample up = pitchshift(&s->so2.shift[2 * c + 1], 2, 100, lop(&s->so2.lag[0], 19, 1e-4), down); - feedback[c] = 2 * feedback[c] - down - up; + feedback[c] = 2 * feedback[c] - 1.2 * down - up; } // compress feedback compress(so2, &s->so2.compress, 5, 10, 25, 48, feedback);
diff @ 2018-11-22 22:31:36 +0000 diff --git a/client/go.c b/client/go.c index df79030f0..e918e667a 100644 --- a/client/go.c +++ b/client/go.c @@ -128,7 +128,7 @@ go(S *s, int channels, const float *in, float *out) lop(&s->so2.lag[0], -12, 1e-4), feedback[c]); sample up = pitchshift(&s->so2.shift[2 * c + 1], 2, 100, lop(&s->so2.lag[0], 19, 1e-4), down); - feedback[c] = 2 * feedback[c] - 1.2 * down - up; + feedback[c] = 2 * feedback[c] - 1.5 * down - up; } // compress feedback compress(so2, &s->so2.compress, 5, 10, 25, 48, feedback);
diff @ 2018-11-22 22:31:41 +0000 diff --git a/client/go.c b/client/go.c index e918e667a..600e58321 100644 --- a/client/go.c +++ b/client/go.c @@ -128,7 +128,7 @@ go(S *s, int channels, const float *in, float *out) lop(&s->so2.lag[0], -12, 1e-4), feedback[c]); sample up = pitchshift(&s->so2.shift[2 * c + 1], 2, 100, lop(&s->so2.lag[0], 19, 1e-4), down); - feedback[c] = 2 * feedback[c] - 1.5 * down - up; + feedback[c] = 2 * feedback[c] - 2 * down - up; } // compress feedback compress(so2, &s->so2.compress, 5, 10, 25, 48, feedback);
diff @ 2018-11-22 22:31:50 +0000 diff --git a/client/go.c b/client/go.c index 600e58321..6c32247e3 100644 --- a/client/go.c +++ b/client/go.c @@ -128,7 +128,7 @@ go(S *s, int channels, const float *in, float *out) lop(&s->so2.lag[0], -12, 1e-4), feedback[c]); sample up = pitchshift(&s->so2.shift[2 * c + 1], 2, 100, lop(&s->so2.lag[0], 19, 1e-4), down); - feedback[c] = 2 * feedback[c] - 2 * down - up; + feedback[c] = 2 * feedback[c] - 3 * down - up; } // compress feedback compress(so2, &s->so2.compress, 5, 10, 25, 48, feedback);
diff @ 2018-11-22 22:31:53 +0000 diff --git a/client/go.c b/client/go.c index 6c32247e3..b2ae4c787 100644 --- a/client/go.c +++ b/client/go.c @@ -128,7 +128,7 @@ go(S *s, int channels, const float *in, float *out) lop(&s->so2.lag[0], -12, 1e-4), feedback[c]); sample up = pitchshift(&s->so2.shift[2 * c + 1], 2, 100, lop(&s->so2.lag[0], 19, 1e-4), down); - feedback[c] = 2 * feedback[c] - 3 * down - up; + feedback[c] = 2 * feedback[c] - 3 * down + up; } // compress feedback compress(so2, &s->so2.compress, 5, 10, 25, 48, feedback);
diff @ 2018-11-22 22:32:07 +0000 diff --git a/client/go.c b/client/go.c index b2ae4c787..e3e122106 100644 --- a/client/go.c +++ b/client/go.c @@ -119,8 +119,8 @@ go(S *s, int channels, const float *in, float *out) sample p = phasor(&s->so2.phase, 0.5); sample modulation = cos(twopi * p); sample feedback[2] = - { delread4(&s->so2.echo[1].del, 12.5 - modulation) - , delread4(&s->so2.echo[0].del, 12.5 + modulation) + { delread4(&s->so2.echo[1].del, 3.5 - modulation) + , delread4(&s->so2.echo[0].del, 3.5 + modulation) }; // pitchshift feedback for (int c = 0; c < 2; ++c) {
diff @ 2018-11-22 22:32:16 +0000 diff --git a/client/go.c b/client/go.c index e3e122106..306e36b5c 100644 --- a/client/go.c +++ b/client/go.c @@ -128,7 +128,7 @@ go(S *s, int channels, const float *in, float *out) lop(&s->so2.lag[0], -12, 1e-4), feedback[c]); sample up = pitchshift(&s->so2.shift[2 * c + 1], 2, 100, lop(&s->so2.lag[0], 19, 1e-4), down); - feedback[c] = 2 * feedback[c] - 3 * down + up; + feedback[c] = sin(2 * feedback[c] - 3 * down + up); } // compress feedback compress(so2, &s->so2.compress, 5, 10, 25, 48, feedback);
diff @ 2018-11-22 22:32:25 +0000 diff --git a/client/go.c b/client/go.c index 306e36b5c..c46a041c9 100644 --- a/client/go.c +++ b/client/go.c @@ -128,7 +128,7 @@ go(S *s, int channels, const float *in, float *out) lop(&s->so2.lag[0], -12, 1e-4), feedback[c]); sample up = pitchshift(&s->so2.shift[2 * c + 1], 2, 100, lop(&s->so2.lag[0], 19, 1e-4), down); - feedback[c] = sin(2 * feedback[c] - 3 * down + up); + feedback[c] = sin(1.4 *(2 * feedback[c] - 3 * down + up)); } // compress feedback compress(so2, &s->so2.compress, 5, 10, 25, 48, feedback);
diff @ 2018-11-22 22:32:31 +0000 diff --git a/client/go.c b/client/go.c index c46a041c9..9f57eb26e 100644 --- a/client/go.c +++ b/client/go.c @@ -128,7 +128,7 @@ go(S *s, int channels, const float *in, float *out) lop(&s->so2.lag[0], -12, 1e-4), feedback[c]); sample up = pitchshift(&s->so2.shift[2 * c + 1], 2, 100, lop(&s->so2.lag[0], 19, 1e-4), down); - feedback[c] = sin(1.4 *(2 * feedback[c] - 3 * down + up)); + feedback[c] = sin(1.5 *(2 * feedback[c] - 3 * down + up)); } // compress feedback compress(so2, &s->so2.compress, 5, 10, 25, 48, feedback);
diff @ 2018-11-22 22:32:40 +0000 diff --git a/client/go.c b/client/go.c index 9f57eb26e..62f658d23 100644 --- a/client/go.c +++ b/client/go.c @@ -128,7 +128,7 @@ go(S *s, int channels, const float *in, float *out) lop(&s->so2.lag[0], -12, 1e-4), feedback[c]); sample up = pitchshift(&s->so2.shift[2 * c + 1], 2, 100, lop(&s->so2.lag[0], 19, 1e-4), down); - feedback[c] = sin(1.5 *(2 * feedback[c] - 3 * down + up)); + feedback[c] = sin(1.5 * sin(1.5 *(2 * feedback[c] - 3 * down + up))); } // compress feedback compress(so2, &s->so2.compress, 5, 10, 25, 48, feedback);
diff @ 2018-11-22 22:32:51 +0000 diff --git a/client/go.c b/client/go.c index 62f658d23..b7c3a5b07 100644 --- a/client/go.c +++ b/client/go.c @@ -137,7 +137,7 @@ go(S *s, int channels, const float *in, float *out) so2[1] *= gain; // write to delay lines for (int c = 0; c < 2; ++c) { - so2echo(&s->so2.echo[c], 50, 1500, + so2echo(&s->so2.echo[c], 50, 500, tanh(so2[c] + RESET*impulse[c])); } mixdown[0] += so2[0];
diff @ 2018-11-22 22:32:57 +0000 diff --git a/client/go.c b/client/go.c index b7c3a5b07..7309d643b 100644 --- a/client/go.c +++ b/client/go.c @@ -137,7 +137,7 @@ go(S *s, int channels, const float *in, float *out) so2[1] *= gain; // write to delay lines for (int c = 0; c < 2; ++c) { - so2echo(&s->so2.echo[c], 50, 500, + so2echo(&s->so2.echo[c], 250, 500, tanh(so2[c] + RESET*impulse[c])); } mixdown[0] += so2[0];
diff @ 2018-11-22 22:33:06 +0000 diff --git a/client/go.c b/client/go.c index 7309d643b..fa3ad29bb 100644 --- a/client/go.c +++ b/client/go.c @@ -119,8 +119,8 @@ go(S *s, int channels, const float *in, float *out) sample p = phasor(&s->so2.phase, 0.5); sample modulation = cos(twopi * p); sample feedback[2] = - { delread4(&s->so2.echo[1].del, 3.5 - modulation) - , delread4(&s->so2.echo[0].del, 3.5 + modulation) + { delread4(&s->so2.echo[1].del, 1.5 - modulation) + , delread4(&s->so2.echo[0].del, 1.5 + modulation) }; // pitchshift feedback for (int c = 0; c < 2; ++c) {
diff @ 2018-11-22 22:33:13 +0000 diff --git a/client/go.c b/client/go.c index fa3ad29bb..4c31353fb 100644 --- a/client/go.c +++ b/client/go.c @@ -124,9 +124,9 @@ go(S *s, int channels, const float *in, float *out) }; // pitchshift feedback for (int c = 0; c < 2; ++c) { - sample down = pitchshift(&s->so2.shift[2 * c + 0], 2, 100, + sample down = pitchshift(&s->so2.shift[2 * c + 0], 2, 40, lop(&s->so2.lag[0], -12, 1e-4), feedback[c]); - sample up = pitchshift(&s->so2.shift[2 * c + 1], 2, 100, + sample up = pitchshift(&s->so2.shift[2 * c + 1], 2, 40, lop(&s->so2.lag[0], 19, 1e-4), down); feedback[c] = sin(1.5 * sin(1.5 *(2 * feedback[c] - 3 * down + up))); }
diff @ 2018-11-22 22:33:18 +0000 diff --git a/client/go.c b/client/go.c index 4c31353fb..01c43016e 100644 --- a/client/go.c +++ b/client/go.c @@ -124,9 +124,9 @@ go(S *s, int channels, const float *in, float *out) }; // pitchshift feedback for (int c = 0; c < 2; ++c) { - sample down = pitchshift(&s->so2.shift[2 * c + 0], 2, 40, + sample down = pitchshift(&s->so2.shift[2 * c + 0], 1, 40, lop(&s->so2.lag[0], -12, 1e-4), feedback[c]); - sample up = pitchshift(&s->so2.shift[2 * c + 1], 2, 40, + sample up = pitchshift(&s->so2.shift[2 * c + 1], 1, 40, lop(&s->so2.lag[0], 19, 1e-4), down); feedback[c] = sin(1.5 * sin(1.5 *(2 * feedback[c] - 3 * down + up))); }
diff @ 2018-11-22 22:33:26 +0000 diff --git a/client/go.c b/client/go.c index 01c43016e..c73c9ad18 100644 --- a/client/go.c +++ b/client/go.c @@ -124,9 +124,9 @@ go(S *s, int channels, const float *in, float *out) }; // pitchshift feedback for (int c = 0; c < 2; ++c) { - sample down = pitchshift(&s->so2.shift[2 * c + 0], 1, 40, + sample down = pitchshift(&s->so2.shift[2 * c + 0], 1, 10, lop(&s->so2.lag[0], -12, 1e-4), feedback[c]); - sample up = pitchshift(&s->so2.shift[2 * c + 1], 1, 40, + sample up = pitchshift(&s->so2.shift[2 * c + 1], 1, 10, lop(&s->so2.lag[0], 19, 1e-4), down); feedback[c] = sin(1.5 * sin(1.5 *(2 * feedback[c] - 3 * down + up))); }
diff @ 2018-11-22 22:33:34 +0000 diff --git a/client/go.c b/client/go.c index c73c9ad18..f8ea23d95 100644 --- a/client/go.c +++ b/client/go.c @@ -137,7 +137,7 @@ go(S *s, int channels, const float *in, float *out) so2[1] *= gain; // write to delay lines for (int c = 0; c < 2; ++c) { - so2echo(&s->so2.echo[c], 250, 500, + so2echo(&s->so2.echo[c], 250, 250, tanh(so2[c] + RESET*impulse[c])); } mixdown[0] += so2[0];
diff @ 2018-11-22 22:33:39 +0000 diff --git a/client/go.c b/client/go.c index f8ea23d95..37b3715c5 100644 --- a/client/go.c +++ b/client/go.c @@ -137,7 +137,7 @@ go(S *s, int channels, const float *in, float *out) so2[1] *= gain; // write to delay lines for (int c = 0; c < 2; ++c) { - so2echo(&s->so2.echo[c], 250, 250, + so2echo(&s->so2.echo[c], 250, 125, tanh(so2[c] + RESET*impulse[c])); } mixdown[0] += so2[0];
diff @ 2018-11-22 22:33:49 +0000 diff --git a/client/go.c b/client/go.c index 37b3715c5..4e71aaeb7 100644 --- a/client/go.c +++ b/client/go.c @@ -128,7 +128,7 @@ go(S *s, int channels, const float *in, float *out) lop(&s->so2.lag[0], -12, 1e-4), feedback[c]); sample up = pitchshift(&s->so2.shift[2 * c + 1], 1, 10, lop(&s->so2.lag[0], 19, 1e-4), down); - feedback[c] = sin(1.5 * sin(1.5 *(2 * feedback[c] - 3 * down + up))); + feedback[c] = sin(2.5 * sin(1.5 *(2 * feedback[c] - 3 * down + up))); } // compress feedback compress(so2, &s->so2.compress, 5, 10, 25, 48, feedback);
diff @ 2018-11-22 22:33:56 +0000 diff --git a/client/go.c b/client/go.c index 4e71aaeb7..9d7f2cc0b 100644 --- a/client/go.c +++ b/client/go.c @@ -128,7 +128,7 @@ go(S *s, int channels, const float *in, float *out) lop(&s->so2.lag[0], -12, 1e-4), feedback[c]); sample up = pitchshift(&s->so2.shift[2 * c + 1], 1, 10, lop(&s->so2.lag[0], 19, 1e-4), down); - feedback[c] = sin(2.5 * sin(1.5 *(2 * feedback[c] - 3 * down + up))); + feedback[c] = sin(2 * sin(1.5 *(2 * feedback[c] - 3 * down + up))); } // compress feedback compress(so2, &s->so2.compress, 5, 10, 25, 48, feedback);
diff @ 2018-11-22 22:34:03 +0000 diff --git a/client/go.c b/client/go.c index 9d7f2cc0b..37b3715c5 100644 --- a/client/go.c +++ b/client/go.c @@ -128,7 +128,7 @@ go(S *s, int channels, const float *in, float *out) lop(&s->so2.lag[0], -12, 1e-4), feedback[c]); sample up = pitchshift(&s->so2.shift[2 * c + 1], 1, 10, lop(&s->so2.lag[0], 19, 1e-4), down); - feedback[c] = sin(2 * sin(1.5 *(2 * feedback[c] - 3 * down + up))); + feedback[c] = sin(1.5 * sin(1.5 *(2 * feedback[c] - 3 * down + up))); } // compress feedback compress(so2, &s->so2.compress, 5, 10, 25, 48, feedback);
diff @ 2018-11-22 22:34:23 +0000 diff --git a/client/go.c b/client/go.c index 37b3715c5..b6930b8d3 100644 --- a/client/go.c +++ b/client/go.c @@ -128,7 +128,7 @@ go(S *s, int channels, const float *in, float *out) lop(&s->so2.lag[0], -12, 1e-4), feedback[c]); sample up = pitchshift(&s->so2.shift[2 * c + 1], 1, 10, lop(&s->so2.lag[0], 19, 1e-4), down); - feedback[c] = sin(1.5 * sin(1.5 *(2 * feedback[c] - 3 * down + up))); + feedback[c] = sin((1.5 + 0.5 * modulation) * sin(1.5 *(2 * feedback[c] - 3 * down + up))); } // compress feedback compress(so2, &s->so2.compress, 5, 10, 25, 48, feedback);
diff @ 2018-11-22 22:34:40 +0000 diff --git a/client/go.c b/client/go.c index b6930b8d3..40edd42cb 100644 --- a/client/go.c +++ b/client/go.c @@ -116,7 +116,7 @@ go(S *s, int channels, const float *in, float *out) // trigger impulse on reload sample impulse[2] = { s->reloaded, s->reloaded }; // modulate delay times - sample p = phasor(&s->so2.phase, 0.5); + sample p = phasor(&s->so2.phase, bpm / 60); sample modulation = cos(twopi * p); sample feedback[2] = { delread4(&s->so2.echo[1].del, 1.5 - modulation)
diff @ 2018-11-22 22:34:46 +0000 diff --git a/client/go.c b/client/go.c index 40edd42cb..70ec0e10e 100644 --- a/client/go.c +++ b/client/go.c @@ -116,7 +116,7 @@ go(S *s, int channels, const float *in, float *out) // trigger impulse on reload sample impulse[2] = { s->reloaded, s->reloaded }; // modulate delay times - sample p = phasor(&s->so2.phase, bpm / 60); + sample p = phasor(&s->so2.phase, bpm / 60 / 4); sample modulation = cos(twopi * p); sample feedback[2] = { delread4(&s->so2.echo[1].del, 1.5 - modulation)
diff @ 2018-11-22 22:34:59 +0000 diff --git a/client/go.c b/client/go.c index 70ec0e10e..42a1c4c24 100644 --- a/client/go.c +++ b/client/go.c @@ -172,7 +172,7 @@ go(S *s, int channels, const float *in, float *out) sample crush = phasor(&s->tcrush, 2000); tilex[0] = samphold(&s->tcrushsh[0], noise() * hat, crush); tilex[1] = samphold(&s->tcrushsh[1], noise() * hat, crush); - sample kgain = 0; + sample kgain = 1; kgain = samphold(&s->tgate[0], kgain, p); tilex[0] += kgain * kick; tilex[1] += kgain * kick;
diff @ 2018-11-22 22:35:12 +0000 diff --git a/client/go.c b/client/go.c index 42a1c4c24..21cc73333 100644 --- a/client/go.c +++ b/client/go.c @@ -166,7 +166,7 @@ go(S *s, int channels, const float *in, float *out) hat *= 0; sample khz = 50 + 10 * (wrap(8 * p) > 1) + 25 * (wrap(2 * p) > 1); kick +=tanh(vcf(&s->tkick[0], kick, khz, 5)*5)*2; - kick += sin(vcf(&s->tkick[1], kick, khz * 2, 5)*5); + kick += sin(vcf(&s->tkick[1], kick, khz * 3, 5)*5); kick += sin(vcf(&s->tkick[2], kick, khz*4-20, 5)*5) * sin(vcf(&s->tkick[3], kick, khz*4+20, 5)*5); sample crush = phasor(&s->tcrush, 2000);
diff @ 2018-11-22 22:35:19 +0000 diff --git a/client/go.c b/client/go.c index 21cc73333..35d521975 100644 --- a/client/go.c +++ b/client/go.c @@ -165,7 +165,7 @@ go(S *s, int channels, const float *in, float *out) sample hat = wrap(16 * p + 0.5) < 0.5; hat *= 0; sample khz = 50 + 10 * (wrap(8 * p) > 1) + 25 * (wrap(2 * p) > 1); - kick +=tanh(vcf(&s->tkick[0], kick, khz, 5)*5)*2; + kick +=tanh(vcf(&s->tkick[0], kick, khz, 10)*5)*2; kick += sin(vcf(&s->tkick[1], kick, khz * 3, 5)*5); kick += sin(vcf(&s->tkick[2], kick, khz*4-20, 5)*5) * sin(vcf(&s->tkick[3], kick, khz*4+20, 5)*5);
diff @ 2018-11-22 22:35:25 +0000 diff --git a/client/go.c b/client/go.c index 35d521975..72925941b 100644 --- a/client/go.c +++ b/client/go.c @@ -165,7 +165,7 @@ go(S *s, int channels, const float *in, float *out) sample hat = wrap(16 * p + 0.5) < 0.5; hat *= 0; sample khz = 50 + 10 * (wrap(8 * p) > 1) + 25 * (wrap(2 * p) > 1); - kick +=tanh(vcf(&s->tkick[0], kick, khz, 10)*5)*2; + kick +=tanh(vcf(&s->tkick[0], kick, khz, 15)*15)*2; kick += sin(vcf(&s->tkick[1], kick, khz * 3, 5)*5); kick += sin(vcf(&s->tkick[2], kick, khz*4-20, 5)*5) * sin(vcf(&s->tkick[3], kick, khz*4+20, 5)*5);
diff @ 2018-11-22 22:35:32 +0000 diff --git a/client/go.c b/client/go.c index 72925941b..bc80b3e3f 100644 --- a/client/go.c +++ b/client/go.c @@ -166,7 +166,7 @@ go(S *s, int channels, const float *in, float *out) hat *= 0; sample khz = 50 + 10 * (wrap(8 * p) > 1) + 25 * (wrap(2 * p) > 1); kick +=tanh(vcf(&s->tkick[0], kick, khz, 15)*15)*2; - kick += sin(vcf(&s->tkick[1], kick, khz * 3, 5)*5); + kick += sin(vcf(&s->tkick[1], kick, khz * 3, 10)*10); kick += sin(vcf(&s->tkick[2], kick, khz*4-20, 5)*5) * sin(vcf(&s->tkick[3], kick, khz*4+20, 5)*5); sample crush = phasor(&s->tcrush, 2000);
diff @ 2018-11-22 22:35:40 +0000 diff --git a/client/go.c b/client/go.c index bc80b3e3f..1481daa8b 100644 --- a/client/go.c +++ b/client/go.c @@ -162,8 +162,8 @@ go(S *s, int channels, const float *in, float *out) kick = sin(twopi * kick); kick *= 1 + kickenv; kick = tanh(kick); - sample hat = wrap(16 * p + 0.5) < 0.5; - hat *= 0; + sample hat = wrap(16 * p + 0.5) < 0.15; + hat *= 1; sample khz = 50 + 10 * (wrap(8 * p) > 1) + 25 * (wrap(2 * p) > 1); kick +=tanh(vcf(&s->tkick[0], kick, khz, 15)*15)*2; kick += sin(vcf(&s->tkick[1], kick, khz * 3, 10)*10);
diff @ 2018-11-22 22:35:47 +0000 diff --git a/client/go.c b/client/go.c index 1481daa8b..59ab79b05 100644 --- a/client/go.c +++ b/client/go.c @@ -169,7 +169,7 @@ go(S *s, int channels, const float *in, float *out) kick += sin(vcf(&s->tkick[1], kick, khz * 3, 10)*10); kick += sin(vcf(&s->tkick[2], kick, khz*4-20, 5)*5) * sin(vcf(&s->tkick[3], kick, khz*4+20, 5)*5); - sample crush = phasor(&s->tcrush, 2000); + sample crush = phasor(&s->tcrush, 4000); tilex[0] = samphold(&s->tcrushsh[0], noise() * hat, crush); tilex[1] = samphold(&s->tcrushsh[1], noise() * hat, crush); sample kgain = 1;
diff @ 2018-11-22 22:35:53 +0000 diff --git a/client/go.c b/client/go.c index 59ab79b05..fd9fd0eac 100644 --- a/client/go.c +++ b/client/go.c @@ -162,7 +162,7 @@ go(S *s, int channels, const float *in, float *out) kick = sin(twopi * kick); kick *= 1 + kickenv; kick = tanh(kick); - sample hat = wrap(16 * p + 0.5) < 0.15; + sample hat = wrap(16 * p + 0.5) < 0.15 * p; hat *= 1; sample khz = 50 + 10 * (wrap(8 * p) > 1) + 25 * (wrap(2 * p) > 1); kick +=tanh(vcf(&s->tkick[0], kick, khz, 15)*15)*2;
diff @ 2018-11-22 22:36:07 +0000 diff --git a/client/go.c b/client/go.c index fd9fd0eac..706de1c64 100644 --- a/client/go.c +++ b/client/go.c @@ -169,7 +169,7 @@ go(S *s, int channels, const float *in, float *out) kick += sin(vcf(&s->tkick[1], kick, khz * 3, 10)*10); kick += sin(vcf(&s->tkick[2], kick, khz*4-20, 5)*5) * sin(vcf(&s->tkick[3], kick, khz*4+20, 5)*5); - sample crush = phasor(&s->tcrush, 4000); + sample crush = phasor(&s->tcrush, 4000 * pow(2, cos(p))); tilex[0] = samphold(&s->tcrushsh[0], noise() * hat, crush); tilex[1] = samphold(&s->tcrushsh[1], noise() * hat, crush); sample kgain = 1;
diff @ 2018-11-22 22:36:19 +0000 diff --git a/client/go.c b/client/go.c index 706de1c64..23a16b587 100644 --- a/client/go.c +++ b/client/go.c @@ -169,7 +169,7 @@ go(S *s, int channels, const float *in, float *out) kick += sin(vcf(&s->tkick[1], kick, khz * 3, 10)*10); kick += sin(vcf(&s->tkick[2], kick, khz*4-20, 5)*5) * sin(vcf(&s->tkick[3], kick, khz*4+20, 5)*5); - sample crush = phasor(&s->tcrush, 4000 * pow(2, cos(p))); + sample crush = phasor(&s->tcrush, 4000 * pow(2, cos(twopi * p))); tilex[0] = samphold(&s->tcrushsh[0], noise() * hat, crush); tilex[1] = samphold(&s->tcrushsh[1], noise() * hat, crush); sample kgain = 1;
diff @ 2018-11-22 22:36:31 +0000 diff --git a/client/go.c b/client/go.c index 23a16b587..bc37e8cd3 100644 --- a/client/go.c +++ b/client/go.c @@ -165,7 +165,7 @@ go(S *s, int channels, const float *in, float *out) sample hat = wrap(16 * p + 0.5) < 0.15 * p; hat *= 1; sample khz = 50 + 10 * (wrap(8 * p) > 1) + 25 * (wrap(2 * p) > 1); - kick +=tanh(vcf(&s->tkick[0], kick, khz, 15)*15)*2; + kick +=tanh(vcf(&s->tkick[0], kick, khz, 5)*5)*2; kick += sin(vcf(&s->tkick[1], kick, khz * 3, 10)*10); kick += sin(vcf(&s->tkick[2], kick, khz*4-20, 5)*5) * sin(vcf(&s->tkick[3], kick, khz*4+20, 5)*5);
diff @ 2018-11-22 22:36:34 +0000 diff --git a/client/go.c b/client/go.c index bc37e8cd3..76326f88f 100644 --- a/client/go.c +++ b/client/go.c @@ -166,7 +166,7 @@ go(S *s, int channels, const float *in, float *out) hat *= 1; sample khz = 50 + 10 * (wrap(8 * p) > 1) + 25 * (wrap(2 * p) > 1); kick +=tanh(vcf(&s->tkick[0], kick, khz, 5)*5)*2; - kick += sin(vcf(&s->tkick[1], kick, khz * 3, 10)*10); + kick += sin(vcf(&s->tkick[1], kick, khz * 3, 15)*15); kick += sin(vcf(&s->tkick[2], kick, khz*4-20, 5)*5) * sin(vcf(&s->tkick[3], kick, khz*4+20, 5)*5); sample crush = phasor(&s->tcrush, 4000 * pow(2, cos(twopi * p)));
diff @ 2018-11-22 22:36:39 +0000 diff --git a/client/go.c b/client/go.c index 76326f88f..6cf92eae9 100644 --- a/client/go.c +++ b/client/go.c @@ -166,7 +166,7 @@ go(S *s, int channels, const float *in, float *out) hat *= 1; sample khz = 50 + 10 * (wrap(8 * p) > 1) + 25 * (wrap(2 * p) > 1); kick +=tanh(vcf(&s->tkick[0], kick, khz, 5)*5)*2; - kick += sin(vcf(&s->tkick[1], kick, khz * 3, 15)*15); + kick += sin(vcf(&s->tkick[1], kick, khz * 3, 25)*25); kick += sin(vcf(&s->tkick[2], kick, khz*4-20, 5)*5) * sin(vcf(&s->tkick[3], kick, khz*4+20, 5)*5); sample crush = phasor(&s->tcrush, 4000 * pow(2, cos(twopi * p)));
diff @ 2018-11-22 22:36:48 +0000 diff --git a/client/go.c b/client/go.c index 6cf92eae9..4d5b42d42 100644 --- a/client/go.c +++ b/client/go.c @@ -166,7 +166,7 @@ go(S *s, int channels, const float *in, float *out) hat *= 1; sample khz = 50 + 10 * (wrap(8 * p) > 1) + 25 * (wrap(2 * p) > 1); kick +=tanh(vcf(&s->tkick[0], kick, khz, 5)*5)*2; - kick += sin(vcf(&s->tkick[1], kick, khz * 3, 25)*25); + kick += sin(vcf(&s->tkick[1], kick, khz * 3, 50)*25); kick += sin(vcf(&s->tkick[2], kick, khz*4-20, 5)*5) * sin(vcf(&s->tkick[3], kick, khz*4+20, 5)*5); sample crush = phasor(&s->tcrush, 4000 * pow(2, cos(twopi * p)));
diff @ 2018-11-22 22:36:51 +0000 diff --git a/client/go.c b/client/go.c index 4d5b42d42..9853ca5fc 100644 --- a/client/go.c +++ b/client/go.c @@ -166,7 +166,7 @@ go(S *s, int channels, const float *in, float *out) hat *= 1; sample khz = 50 + 10 * (wrap(8 * p) > 1) + 25 * (wrap(2 * p) > 1); kick +=tanh(vcf(&s->tkick[0], kick, khz, 5)*5)*2; - kick += sin(vcf(&s->tkick[1], kick, khz * 3, 50)*25); + kick += sin(vcf(&s->tkick[1], kick, khz * 3, 50)*45); kick += sin(vcf(&s->tkick[2], kick, khz*4-20, 5)*5) * sin(vcf(&s->tkick[3], kick, khz*4+20, 5)*5); sample crush = phasor(&s->tcrush, 4000 * pow(2, cos(twopi * p)));
diff @ 2018-11-22 22:36:54 +0000 diff --git a/client/go.c b/client/go.c index 9853ca5fc..6a17d0fb8 100644 --- a/client/go.c +++ b/client/go.c @@ -166,7 +166,7 @@ go(S *s, int channels, const float *in, float *out) hat *= 1; sample khz = 50 + 10 * (wrap(8 * p) > 1) + 25 * (wrap(2 * p) > 1); kick +=tanh(vcf(&s->tkick[0], kick, khz, 5)*5)*2; - kick += sin(vcf(&s->tkick[1], kick, khz * 3, 50)*45); + kick += sin(vcf(&s->tkick[1], kick, khz * 3, 50)*35); kick += sin(vcf(&s->tkick[2], kick, khz*4-20, 5)*5) * sin(vcf(&s->tkick[3], kick, khz*4+20, 5)*5); sample crush = phasor(&s->tcrush, 4000 * pow(2, cos(twopi * p)));
diff @ 2018-11-22 22:37:06 +0000 diff --git a/client/go.c b/client/go.c index 6a17d0fb8..009ab5636 100644 --- a/client/go.c +++ b/client/go.c @@ -128,7 +128,7 @@ go(S *s, int channels, const float *in, float *out) lop(&s->so2.lag[0], -12, 1e-4), feedback[c]); sample up = pitchshift(&s->so2.shift[2 * c + 1], 1, 10, lop(&s->so2.lag[0], 19, 1e-4), down); - feedback[c] = sin((1.5 + 0.5 * modulation) * sin(1.5 *(2 * feedback[c] - 3 * down + up))); + feedback[c] = sin((2 + 0.5 * modulation) * sin(1.5 *(2 * feedback[c] - 3 * down + up))); } // compress feedback compress(so2, &s->so2.compress, 5, 10, 25, 48, feedback);
diff @ 2018-11-22 22:38:02 +0000 diff --git a/client/go.h b/client/go.h index 728ba7a1a..cbc88e291 100644 --- a/client/go.h +++ b/client/go.h @@ -56,6 +56,7 @@ typedef struct LOP clop; // = append only data structure ====================================== + BIQUAD cut[2]; } S; #endif
diff @ 2018-11-22 22:38:03 +0000 diff --git a/client/go.c b/client/go.c index 009ab5636..1a5ae302a 100644 --- a/client/go.c +++ b/client/go.c @@ -169,6 +169,7 @@ go(S *s, int channels, const float *in, float *out) kick += sin(vcf(&s->tkick[1], kick, khz * 3, 50)*35); kick += sin(vcf(&s->tkick[2], kick, khz*4-20, 5)*5) * sin(vcf(&s->tkick[3], kick, khz*4+20, 5)*5); + kick = biquad(highpass(&s->cut[0], 50, 3), kick); sample crush = phasor(&s->tcrush, 4000 * pow(2, cos(twopi * p))); tilex[0] = samphold(&s->tcrushsh[0], noise() * hat, crush); tilex[1] = samphold(&s->tcrushsh[1], noise() * hat, crush);
diff @ 2018-11-22 22:38:09 +0000 diff --git a/client/go.c b/client/go.c index 1a5ae302a..0b71d7f44 100644 --- a/client/go.c +++ b/client/go.c @@ -169,7 +169,7 @@ go(S *s, int channels, const float *in, float *out) kick += sin(vcf(&s->tkick[1], kick, khz * 3, 50)*35); kick += sin(vcf(&s->tkick[2], kick, khz*4-20, 5)*5) * sin(vcf(&s->tkick[3], kick, khz*4+20, 5)*5); - kick = biquad(highpass(&s->cut[0], 50, 3), kick); + kick = biquad(highpass(&s->cut[0], 50, 10), kick); sample crush = phasor(&s->tcrush, 4000 * pow(2, cos(twopi * p))); tilex[0] = samphold(&s->tcrushsh[0], noise() * hat, crush); tilex[1] = samphold(&s->tcrushsh[1], noise() * hat, crush);
diff @ 2018-11-22 22:38:26 +0000 diff --git a/client/go.c b/client/go.c index 0b71d7f44..ba62ffa8d 100644 --- a/client/go.c +++ b/client/go.c @@ -202,8 +202,6 @@ go(S *s, int channels, const float *in, float *out) sample harmonic = 4 + clamp(N - zeroes, 0, 20); freq = 32 * samphold(&s->bsh, harmonic, 1 - trigger); freq = lop(&s->bfreq, freq, 20); - env = 0; - freq = 128; } // = 3 = one wobbly wave =============================================
diff @ 2018-11-22 22:38:33 +0000 diff --git a/client/go.c b/client/go.c index ba62ffa8d..e6d14dff1 100644 --- a/client/go.c +++ b/client/go.c @@ -216,7 +216,7 @@ go(S *s, int channels, const float *in, float *out) + 0.0 * cos(twopi * 4 * p) * sin(twopi * 2 * q) + 0.0 * cos(twopi * 2 * p) * sin(twopi * 3 * q) + 0.0 * cos(twopi * 3 * p) * sin(twopi * 5 * q) - )) * pow(cos(twopi * 8 * p), 2); + ))// * pow(cos(twopi * 8 * p), 2); sample gain = env; o *= gain; sample os[2] =
diff @ 2018-11-22 22:38:35 +0000 diff --git a/client/go.c b/client/go.c index e6d14dff1..a090f71ac 100644 --- a/client/go.c +++ b/client/go.c @@ -216,7 +216,7 @@ go(S *s, int channels, const float *in, float *out) + 0.0 * cos(twopi * 4 * p) * sin(twopi * 2 * q) + 0.0 * cos(twopi * 2 * p) * sin(twopi * 3 * q) + 0.0 * cos(twopi * 3 * p) * sin(twopi * 5 * q) - ))// * pow(cos(twopi * 8 * p), 2); + ));// * pow(cos(twopi * 8 * p), 2); sample gain = env; o *= gain; sample os[2] =
diff @ 2018-11-22 22:38:40 +0000 diff --git a/client/go.c b/client/go.c index a090f71ac..9128a16e8 100644 --- a/client/go.c +++ b/client/go.c @@ -213,7 +213,7 @@ go(S *s, int channels, const float *in, float *out) sample q = wrap(freq * p); sample o = sin(twopi * ( q - + 0.0 * cos(twopi * 4 * p) * sin(twopi * 2 * q) + + 0.3 * cos(twopi * 4 * p) * sin(twopi * 2 * q) + 0.0 * cos(twopi * 2 * p) * sin(twopi * 3 * q) + 0.0 * cos(twopi * 3 * p) * sin(twopi * 5 * q) ));// * pow(cos(twopi * 8 * p), 2);
diff @ 2018-11-22 22:38:44 +0000 diff --git a/client/go.c b/client/go.c index 9128a16e8..2b48144b4 100644 --- a/client/go.c +++ b/client/go.c @@ -193,7 +193,7 @@ go(S *s, int channels, const float *in, float *out) int n = (time / 5) & ((1 << N) - 1); sample zeroes = clamp(count_trailing_zeroes(n), 0, N); sample probability = pow(0.5, N - zeroes); - probability = (0.5 + 0 * (n >= 0xC001)) * probability - 0.5; + probability = (4.5 + 0 * (n >= 0xC001)) * probability - 0.5; probability = clamp(probability, 0, 1); sample uniform = rand() / (sample) RAND_MAX; sample trigger = uniform < probability;
diff @ 2018-11-22 22:38:53 +0000 diff --git a/client/go.c b/client/go.c index 2b48144b4..56331fb1d 100644 --- a/client/go.c +++ b/client/go.c @@ -198,7 +198,7 @@ go(S *s, int channels, const float *in, float *out) sample uniform = rand() / (sample) RAND_MAX; sample trigger = uniform < probability; s->benv.y += trigger; - env = lop(&s->benv, 0, 5); + env = lop(&s->benv, 0, 3); sample harmonic = 4 + clamp(N - zeroes, 0, 20); freq = 32 * samphold(&s->bsh, harmonic, 1 - trigger); freq = lop(&s->bfreq, freq, 20);
diff @ 2018-11-22 22:39:00 +0000 diff --git a/client/go.c b/client/go.c index 56331fb1d..da063a4a1 100644 --- a/client/go.c +++ b/client/go.c @@ -198,7 +198,7 @@ go(S *s, int channels, const float *in, float *out) sample uniform = rand() / (sample) RAND_MAX; sample trigger = uniform < probability; s->benv.y += trigger; - env = lop(&s->benv, 0, 3); + env = lop(&s->benv, 0, 2); sample harmonic = 4 + clamp(N - zeroes, 0, 20); freq = 32 * samphold(&s->bsh, harmonic, 1 - trigger); freq = lop(&s->bfreq, freq, 20);
diff @ 2018-11-22 22:39:03 +0000 diff --git a/client/go.c b/client/go.c index da063a4a1..e7d33727c 100644 --- a/client/go.c +++ b/client/go.c @@ -198,7 +198,7 @@ go(S *s, int channels, const float *in, float *out) sample uniform = rand() / (sample) RAND_MAX; sample trigger = uniform < probability; s->benv.y += trigger; - env = lop(&s->benv, 0, 2); + env = lop(&s->benv, 0, 1); sample harmonic = 4 + clamp(N - zeroes, 0, 20); freq = 32 * samphold(&s->bsh, harmonic, 1 - trigger); freq = lop(&s->bfreq, freq, 20);
diff @ 2018-11-22 22:39:09 +0000 diff --git a/client/go.c b/client/go.c index e7d33727c..8fcf610e5 100644 --- a/client/go.c +++ b/client/go.c @@ -197,7 +197,7 @@ go(S *s, int channels, const float *in, float *out) probability = clamp(probability, 0, 1); sample uniform = rand() / (sample) RAND_MAX; sample trigger = uniform < probability; - s->benv.y += trigger; + s->benv.y += trigger * 0.2; env = lop(&s->benv, 0, 1); sample harmonic = 4 + clamp(N - zeroes, 0, 20); freq = 32 * samphold(&s->bsh, harmonic, 1 - trigger);
diff @ 2018-11-22 22:39:13 +0000 diff --git a/client/go.c b/client/go.c index 8fcf610e5..ebfc61d15 100644 --- a/client/go.c +++ b/client/go.c @@ -198,7 +198,7 @@ go(S *s, int channels, const float *in, float *out) sample uniform = rand() / (sample) RAND_MAX; sample trigger = uniform < probability; s->benv.y += trigger * 0.2; - env = lop(&s->benv, 0, 1); + env = lop(&s->benv, 0, 0.5); sample harmonic = 4 + clamp(N - zeroes, 0, 20); freq = 32 * samphold(&s->bsh, harmonic, 1 - trigger); freq = lop(&s->bfreq, freq, 20);
diff @ 2018-11-22 22:39:18 +0000 diff --git a/client/go.c b/client/go.c index ebfc61d15..0b437dbc6 100644 --- a/client/go.c +++ b/client/go.c @@ -193,7 +193,7 @@ go(S *s, int channels, const float *in, float *out) int n = (time / 5) & ((1 << N) - 1); sample zeroes = clamp(count_trailing_zeroes(n), 0, N); sample probability = pow(0.5, N - zeroes); - probability = (4.5 + 0 * (n >= 0xC001)) * probability - 0.5; + probability = (8.5 + 0 * (n >= 0xC001)) * probability - 0.5; probability = clamp(probability, 0, 1); sample uniform = rand() / (sample) RAND_MAX; sample trigger = uniform < probability;
diff @ 2018-11-22 22:39:30 +0000 diff --git a/client/go.c b/client/go.c index 0b437dbc6..77f3fbe1c 100644 --- a/client/go.c +++ b/client/go.c @@ -201,7 +201,7 @@ go(S *s, int channels, const float *in, float *out) env = lop(&s->benv, 0, 0.5); sample harmonic = 4 + clamp(N - zeroes, 0, 20); freq = 32 * samphold(&s->bsh, harmonic, 1 - trigger); - freq = lop(&s->bfreq, freq, 20); + freq = lop(&s->bfreq, freq, 10); } // = 3 = one wobbly wave =============================================
diff @ 2018-11-22 22:39:38 +0000 diff --git a/client/go.c b/client/go.c index 77f3fbe1c..248e26a23 100644 --- a/client/go.c +++ b/client/go.c @@ -214,7 +214,7 @@ go(S *s, int channels, const float *in, float *out) sample o = sin(twopi * ( q + 0.3 * cos(twopi * 4 * p) * sin(twopi * 2 * q) - + 0.0 * cos(twopi * 2 * p) * sin(twopi * 3 * q) + - 0.5 * cos(twopi * 2 * p) * sin(twopi * 3 * q) + 0.0 * cos(twopi * 3 * p) * sin(twopi * 5 * q) ));// * pow(cos(twopi * 8 * p), 2); sample gain = env;
diff @ 2018-11-22 22:39:47 +0000 diff --git a/client/go.c b/client/go.c index 248e26a23..b95b523b5 100644 --- a/client/go.c +++ b/client/go.c @@ -220,8 +220,8 @@ go(S *s, int channels, const float *in, float *out) sample gain = env; o *= gain; sample os[2] = - { samphold(&s->wwsh[0], o, wrap(400 * q + 0.25)) - , samphold(&s->wwsh[1], o, wrap(400 * q + 0.75)) + { samphold(&s->wwsh[0], o, wrap(40 * q + 0.25)) + , samphold(&s->wwsh[1], o, wrap(40 * q + 0.75)) }; wwave[0] = os[0]; wwave[1] = os[1];
diff @ 2018-11-22 22:40:06 +0000 diff --git a/client/go.c b/client/go.c index b95b523b5..88368aee4 100644 --- a/client/go.c +++ b/client/go.c @@ -213,7 +213,7 @@ go(S *s, int channels, const float *in, float *out) sample q = wrap(freq * p); sample o = sin(twopi * ( q - + 0.3 * cos(twopi * 4 * p) * sin(twopi * 2 * q) + + 0.3 * cos(twopi * (p < 0.5 ? 4 : 8) * p) * sin(twopi * 2 * q) - 0.5 * cos(twopi * 2 * p) * sin(twopi * 3 * q) + 0.0 * cos(twopi * 3 * p) * sin(twopi * 5 * q) ));// * pow(cos(twopi * 8 * p), 2);
diff @ 2018-11-22 22:40:24 +0000 diff --git a/client/go.c b/client/go.c index 88368aee4..2d6c00265 100644 --- a/client/go.c +++ b/client/go.c @@ -214,7 +214,7 @@ go(S *s, int channels, const float *in, float *out) sample o = sin(twopi * ( q + 0.3 * cos(twopi * (p < 0.5 ? 4 : 8) * p) * sin(twopi * 2 * q) - - 0.5 * cos(twopi * 2 * p) * sin(twopi * 3 * q) + - 0.5 * cos(twopi * (p < 0.75 ? 2 : 4)* p) * sin(twopi * 3 * q) + 0.0 * cos(twopi * 3 * p) * sin(twopi * 5 * q) ));// * pow(cos(twopi * 8 * p), 2); sample gain = env;
diff @ 2018-11-22 22:40:38 +0000 diff --git a/client/go.c b/client/go.c index 2d6c00265..b374b7e5d 100644 --- a/client/go.c +++ b/client/go.c @@ -173,7 +173,7 @@ go(S *s, int channels, const float *in, float *out) sample crush = phasor(&s->tcrush, 4000 * pow(2, cos(twopi * p))); tilex[0] = samphold(&s->tcrushsh[0], noise() * hat, crush); tilex[1] = samphold(&s->tcrushsh[1], noise() * hat, crush); - sample kgain = 1; + sample kgain = 0; kgain = samphold(&s->tgate[0], kgain, p); tilex[0] += kgain * kick; tilex[1] += kgain * kick;
diff @ 2018-11-22 22:40:48 +0000 diff --git a/client/go.c b/client/go.c index b374b7e5d..8c9d14180 100644 --- a/client/go.c +++ b/client/go.c @@ -215,7 +215,7 @@ go(S *s, int channels, const float *in, float *out) ( q + 0.3 * cos(twopi * (p < 0.5 ? 4 : 8) * p) * sin(twopi * 2 * q) - 0.5 * cos(twopi * (p < 0.75 ? 2 : 4)* p) * sin(twopi * 3 * q) - + 0.0 * cos(twopi * 3 * p) * sin(twopi * 5 * q) + + 0.2 * cos(twopi * 3 * p) * sin(twopi * 5 * q) ));// * pow(cos(twopi * 8 * p), 2); sample gain = env; o *= gain;
diff @ 2018-11-22 22:41:07 +0000 diff --git a/client/go.c b/client/go.c index 8c9d14180..907cb4201 100644 --- a/client/go.c +++ b/client/go.c @@ -169,7 +169,7 @@ go(S *s, int channels, const float *in, float *out) kick += sin(vcf(&s->tkick[1], kick, khz * 3, 50)*35); kick += sin(vcf(&s->tkick[2], kick, khz*4-20, 5)*5) * sin(vcf(&s->tkick[3], kick, khz*4+20, 5)*5); - kick = biquad(highpass(&s->cut[0], 50, 10), kick); + kick = biquad(highpass(&s->cut[0], 50, 1), kick); sample crush = phasor(&s->tcrush, 4000 * pow(2, cos(twopi * p))); tilex[0] = samphold(&s->tcrushsh[0], noise() * hat, crush); tilex[1] = samphold(&s->tcrushsh[1], noise() * hat, crush);
diff @ 2018-11-22 22:41:12 +0000 diff --git a/client/go.c b/client/go.c index 907cb4201..a0ed857a1 100644 --- a/client/go.c +++ b/client/go.c @@ -165,7 +165,7 @@ go(S *s, int channels, const float *in, float *out) sample hat = wrap(16 * p + 0.5) < 0.15 * p; hat *= 1; sample khz = 50 + 10 * (wrap(8 * p) > 1) + 25 * (wrap(2 * p) > 1); - kick +=tanh(vcf(&s->tkick[0], kick, khz, 5)*5)*2; + kick +=tanh(vcf(&s->tkick[0], kick, khz, 25)*25)*2; kick += sin(vcf(&s->tkick[1], kick, khz * 3, 50)*35); kick += sin(vcf(&s->tkick[2], kick, khz*4-20, 5)*5) * sin(vcf(&s->tkick[3], kick, khz*4+20, 5)*5); @@ -173,7 +173,7 @@ go(S *s, int channels, const float *in, float *out) sample crush = phasor(&s->tcrush, 4000 * pow(2, cos(twopi * p))); tilex[0] = samphold(&s->tcrushsh[0], noise() * hat, crush); tilex[1] = samphold(&s->tcrushsh[1], noise() * hat, crush); - sample kgain = 0; + sample kgain = 1; kgain = samphold(&s->tgate[0], kgain, p); tilex[0] += kgain * kick; tilex[1] += kgain * kick;
diff @ 2018-11-22 22:41:25 +0000 diff --git a/client/go.c b/client/go.c index a0ed857a1..67dc3031b 100644 --- a/client/go.c +++ b/client/go.c @@ -167,8 +167,8 @@ go(S *s, int channels, const float *in, float *out) sample khz = 50 + 10 * (wrap(8 * p) > 1) + 25 * (wrap(2 * p) > 1); kick +=tanh(vcf(&s->tkick[0], kick, khz, 25)*25)*2; kick += sin(vcf(&s->tkick[1], kick, khz * 3, 50)*35); - kick += sin(vcf(&s->tkick[2], kick, khz*4-20, 5)*5) - * sin(vcf(&s->tkick[3], kick, khz*4+20, 5)*5); + kick += sin(vcf(&s->tkick[2], kick, khz*7, 5)*5) + * sin(vcf(&s->tkick[3], kick, khz*9, 5)*5); kick = biquad(highpass(&s->cut[0], 50, 1), kick); sample crush = phasor(&s->tcrush, 4000 * pow(2, cos(twopi * p))); tilex[0] = samphold(&s->tcrushsh[0], noise() * hat, crush);
diff @ 2018-11-22 22:41:34 +0000 diff --git a/client/go.c b/client/go.c index 67dc3031b..09d6191d9 100644 --- a/client/go.c +++ b/client/go.c @@ -167,8 +167,8 @@ go(S *s, int channels, const float *in, float *out) sample khz = 50 + 10 * (wrap(8 * p) > 1) + 25 * (wrap(2 * p) > 1); kick +=tanh(vcf(&s->tkick[0], kick, khz, 25)*25)*2; kick += sin(vcf(&s->tkick[1], kick, khz * 3, 50)*35); - kick += sin(vcf(&s->tkick[2], kick, khz*7, 5)*5) - * sin(vcf(&s->tkick[3], kick, khz*9, 5)*5); + kick += sin(vcf(&s->tkick[2], kick, khz*7, 159)*59) + * sin(vcf(&s->tkick[3], kick, khz*9, 159)*59); kick = biquad(highpass(&s->cut[0], 50, 1), kick); sample crush = phasor(&s->tcrush, 4000 * pow(2, cos(twopi * p))); tilex[0] = samphold(&s->tcrushsh[0], noise() * hat, crush);
diff @ 2018-11-22 22:41:41 +0000 diff --git a/client/go.c b/client/go.c index 09d6191d9..89c79c9b4 100644 --- a/client/go.c +++ b/client/go.c @@ -164,7 +164,7 @@ go(S *s, int channels, const float *in, float *out) kick = tanh(kick); sample hat = wrap(16 * p + 0.5) < 0.15 * p; hat *= 1; - sample khz = 50 + 10 * (wrap(8 * p) > 1) + 25 * (wrap(2 * p) > 1); + sample khz = 50 + 10 * (wrap(8 * p) > 0.6) + 25 * (wrap(2 * p) > 1); kick +=tanh(vcf(&s->tkick[0], kick, khz, 25)*25)*2; kick += sin(vcf(&s->tkick[1], kick, khz * 3, 50)*35); kick += sin(vcf(&s->tkick[2], kick, khz*7, 159)*59)
diff @ 2018-11-22 22:41:44 +0000 diff --git a/client/go.c b/client/go.c index 89c79c9b4..d02f28e9b 100644 --- a/client/go.c +++ b/client/go.c @@ -164,7 +164,7 @@ go(S *s, int channels, const float *in, float *out) kick = tanh(kick); sample hat = wrap(16 * p + 0.5) < 0.15 * p; hat *= 1; - sample khz = 50 + 10 * (wrap(8 * p) > 0.6) + 25 * (wrap(2 * p) > 1); + sample khz = 50 + 10 * (wrap(8 * p) > 0.5) + 25 * (wrap(2 * p) > 1); kick +=tanh(vcf(&s->tkick[0], kick, khz, 25)*25)*2; kick += sin(vcf(&s->tkick[1], kick, khz * 3, 50)*35); kick += sin(vcf(&s->tkick[2], kick, khz*7, 159)*59)
diff @ 2018-11-22 22:41:50 +0000 diff --git a/client/go.c b/client/go.c index d02f28e9b..b8e51a2b5 100644 --- a/client/go.c +++ b/client/go.c @@ -164,7 +164,7 @@ go(S *s, int channels, const float *in, float *out) kick = tanh(kick); sample hat = wrap(16 * p + 0.5) < 0.15 * p; hat *= 1; - sample khz = 50 + 10 * (wrap(8 * p) > 0.5) + 25 * (wrap(2 * p) > 1); + sample khz = 50 + 10 * (wrap(8 * p) > 0.5) + 25 * (wrap(2 * p) > 0.87); kick +=tanh(vcf(&s->tkick[0], kick, khz, 25)*25)*2; kick += sin(vcf(&s->tkick[1], kick, khz * 3, 50)*35); kick += sin(vcf(&s->tkick[2], kick, khz*7, 159)*59)
diff @ 2018-11-22 22:41:52 +0000 diff --git a/client/go.c b/client/go.c index b8e51a2b5..6742312f9 100644 --- a/client/go.c +++ b/client/go.c @@ -164,7 +164,7 @@ go(S *s, int channels, const float *in, float *out) kick = tanh(kick); sample hat = wrap(16 * p + 0.5) < 0.15 * p; hat *= 1; - sample khz = 50 + 10 * (wrap(8 * p) > 0.5) + 25 * (wrap(2 * p) > 0.87); + sample khz = 50 + 10 * (wrap(8 * p) > 0.5) + 25 * (wrap(2 * p) > 0.75); kick +=tanh(vcf(&s->tkick[0], kick, khz, 25)*25)*2; kick += sin(vcf(&s->tkick[1], kick, khz * 3, 50)*35); kick += sin(vcf(&s->tkick[2], kick, khz*7, 159)*59)
diff @ 2018-11-22 22:42:08 +0000 diff --git a/client/go.c b/client/go.c index 6742312f9..fffac431f 100644 --- a/client/go.c +++ b/client/go.c @@ -132,7 +132,7 @@ go(S *s, int channels, const float *in, float *out) } // compress feedback compress(so2, &s->so2.compress, 5, 10, 25, 48, feedback); - sample gain = 1; + sample gain = 0.0000001; so2[0] *= gain; so2[1] *= gain; // write to delay lines
diff @ 2018-11-22 22:42:19 +0000 diff --git a/client/go.c b/client/go.c index fffac431f..93fce27b8 100644 --- a/client/go.c +++ b/client/go.c @@ -192,7 +192,7 @@ go(S *s, int channels, const float *in, float *out) int N = 16; int n = (time / 5) & ((1 << N) - 1); sample zeroes = clamp(count_trailing_zeroes(n), 0, N); - sample probability = pow(0.5, N - zeroes); + sample probability = pow(0.55, N - zeroes); probability = (8.5 + 0 * (n >= 0xC001)) * probability - 0.5; probability = clamp(probability, 0, 1); sample uniform = rand() / (sample) RAND_MAX;
diff @ 2018-11-22 22:42:23 +0000 diff --git a/client/go.c b/client/go.c index 93fce27b8..b167730a7 100644 --- a/client/go.c +++ b/client/go.c @@ -193,7 +193,7 @@ go(S *s, int channels, const float *in, float *out) int n = (time / 5) & ((1 << N) - 1); sample zeroes = clamp(count_trailing_zeroes(n), 0, N); sample probability = pow(0.55, N - zeroes); - probability = (8.5 + 0 * (n >= 0xC001)) * probability - 0.5; + probability = (8.5 + 4 * (n >= 0xC001)) * probability - 0.5; probability = clamp(probability, 0, 1); sample uniform = rand() / (sample) RAND_MAX; sample trigger = uniform < probability;
diff @ 2018-11-22 22:42:32 +0000 diff --git a/client/go.c b/client/go.c index b167730a7..514c40181 100644 --- a/client/go.c +++ b/client/go.c @@ -193,7 +193,7 @@ go(S *s, int channels, const float *in, float *out) int n = (time / 5) & ((1 << N) - 1); sample zeroes = clamp(count_trailing_zeroes(n), 0, N); sample probability = pow(0.55, N - zeroes); - probability = (8.5 + 4 * (n >= 0xC001)) * probability - 0.5; + probability = (8.5 + 6 * (n >= 0xC001)) * probability - 0.5; probability = clamp(probability, 0, 1); sample uniform = rand() / (sample) RAND_MAX; sample trigger = uniform < probability;
diff @ 2018-11-22 22:42:50 +0000 diff --git a/client/go.c b/client/go.c index 514c40181..6c7de6e87 100644 --- a/client/go.c +++ b/client/go.c @@ -191,7 +191,7 @@ go(S *s, int channels, const float *in, float *out) { int N = 16; int n = (time / 5) & ((1 << N) - 1); - sample zeroes = clamp(count_trailing_zeroes(n), 0, N); + sample zeroes = clamp(count_trailing_zeroes(n), 4, N); sample probability = pow(0.55, N - zeroes); probability = (8.5 + 6 * (n >= 0xC001)) * probability - 0.5; probability = clamp(probability, 0, 1);
diff @ 2018-11-22 22:42:57 +0000 diff --git a/client/go.c b/client/go.c index 6c7de6e87..2563fae04 100644 --- a/client/go.c +++ b/client/go.c @@ -201,7 +201,7 @@ go(S *s, int channels, const float *in, float *out) env = lop(&s->benv, 0, 0.5); sample harmonic = 4 + clamp(N - zeroes, 0, 20); freq = 32 * samphold(&s->bsh, harmonic, 1 - trigger); - freq = lop(&s->bfreq, freq, 10); + freq = lop(&s->bfreq, freq, 1); } // = 3 = one wobbly wave =============================================
diff @ 2018-11-22 22:43:10 +0000 diff --git a/client/go.c b/client/go.c index 2563fae04..905c92d23 100644 --- a/client/go.c +++ b/client/go.c @@ -198,7 +198,7 @@ go(S *s, int channels, const float *in, float *out) sample uniform = rand() / (sample) RAND_MAX; sample trigger = uniform < probability; s->benv.y += trigger * 0.2; - env = lop(&s->benv, 0, 0.5); + env = lop(&s->benv, 0, 0.05); sample harmonic = 4 + clamp(N - zeroes, 0, 20); freq = 32 * samphold(&s->bsh, harmonic, 1 - trigger); freq = lop(&s->bfreq, freq, 1);
diff @ 2018-11-22 22:43:14 +0000 diff --git a/client/go.c b/client/go.c index 905c92d23..29da69bfa 100644 --- a/client/go.c +++ b/client/go.c @@ -197,7 +197,7 @@ go(S *s, int channels, const float *in, float *out) probability = clamp(probability, 0, 1); sample uniform = rand() / (sample) RAND_MAX; sample trigger = uniform < probability; - s->benv.y += trigger * 0.2; + s->benv.y += trigger * 0; env = lop(&s->benv, 0, 0.05); sample harmonic = 4 + clamp(N - zeroes, 0, 20); freq = 32 * samphold(&s->bsh, harmonic, 1 - trigger);
diff @ 2018-11-22 22:43:37 +0000 diff --git a/client/go.c b/client/go.c index 29da69bfa..b580f54bf 100644 --- a/client/go.c +++ b/client/go.c @@ -250,8 +250,8 @@ go(S *s, int channels, const float *in, float *out) sample er = delread4(&s->edelay2, rdelms + si); sample es[2] = { co * el + si * er, -si * el + co * er }; compress(es, &s->ecompress1, 5, 10, 25, 48, es); - es[0] = mix(mixdown[0], es[0], mix(0, pow(wrap(8 * p), 0.25), 0)); - es[1] = mix(mixdown[1], es[1], mix(0, pow(wrap(8 * p), 0.25), 0)); + es[0] = mix(mixdown[0], es[0], mix(0.5, pow(wrap(8 * p), 0.25), 0)); + es[1] = mix(mixdown[1], es[1], mix(0.5, pow(wrap(8 * p), 0.25), 0)); compress(es, &s->ecompress2, 5, 10, 25, 48, es); delwrite(&s->edelay1, es[0]); delwrite(&s->edelay2, es[1]);
diff @ 2018-11-22 22:43:44 +0000 diff --git a/client/go.c b/client/go.c index b580f54bf..f97699612 100644 --- a/client/go.c +++ b/client/go.c @@ -242,7 +242,7 @@ go(S *s, int channels, const float *in, float *out) sample t = twopi * p; sample co = cos(t); sample si = sin(t); - sample ldelms = 60000 / bpm * (p < 0.75 ? 1 : 2); + sample ldelms = 60000 / bpm * (p < 0.75 ? 1 : 1/64); sample rdelms = ldelms; ldelms = lop(&s->elop[0], ldelms, 5); rdelms = lop(&s->elop[1], rdelms, 5);
diff @ 2018-11-22 22:43:44 +0000 diff --git a/client/go.c b/client/go.c index f97699612..1e69453ad 100644 --- a/client/go.c +++ b/client/go.c @@ -242,7 +242,7 @@ go(S *s, int channels, const float *in, float *out) sample t = twopi * p; sample co = cos(t); sample si = sin(t); - sample ldelms = 60000 / bpm * (p < 0.75 ? 1 : 1/64); + sample ldelms = 60000 / bpm * (p < 0.75 ? 1 : 1//64); sample rdelms = ldelms; ldelms = lop(&s->elop[0], ldelms, 5); rdelms = lop(&s->elop[1], rdelms, 5);
diff @ 2018-11-22 22:43:45 +0000 diff --git a/client/go.c b/client/go.c index 1e69453ad..0b1a2df16 100644 --- a/client/go.c +++ b/client/go.c @@ -242,7 +242,7 @@ go(S *s, int channels, const float *in, float *out) sample t = twopi * p; sample co = cos(t); sample si = sin(t); - sample ldelms = 60000 / bpm * (p < 0.75 ? 1 : 1//64); + sample ldelms = 60000 / bpm * (p < 0.75 ? 1 : ./64); sample rdelms = ldelms; ldelms = lop(&s->elop[0], ldelms, 5); rdelms = lop(&s->elop[1], rdelms, 5);
diff @ 2018-11-22 22:43:48 +0000 diff --git a/client/go.c b/client/go.c index 0b1a2df16..f0ad2137e 100644 --- a/client/go.c +++ b/client/go.c @@ -242,7 +242,7 @@ go(S *s, int channels, const float *in, float *out) sample t = twopi * p; sample co = cos(t); sample si = sin(t); - sample ldelms = 60000 / bpm * (p < 0.75 ? 1 : ./64); + sample ldelms = 60000 / bpm * (p < 0.75 ? 1 : 1./64); sample rdelms = ldelms; ldelms = lop(&s->elop[0], ldelms, 5); rdelms = lop(&s->elop[1], rdelms, 5);
diff @ 2018-11-22 22:44:09 +0000 diff --git a/client/go.c b/client/go.c index f0ad2137e..7482a8a4f 100644 --- a/client/go.c +++ b/client/go.c @@ -243,7 +243,7 @@ go(S *s, int channels, const float *in, float *out) sample co = cos(t); sample si = sin(t); sample ldelms = 60000 / bpm * (p < 0.75 ? 1 : 1./64); - sample rdelms = ldelms; + sample rdelms = 60000 / bpm * (p < 0.50 ? 1./2 : 1./48); ldelms = lop(&s->elop[0], ldelms, 5); rdelms = lop(&s->elop[1], rdelms, 5); sample el = delread4(&s->edelay1, ldelms + co);
diff @ 2018-11-22 22:44:15 +0000 diff --git a/client/go.c b/client/go.c index 7482a8a4f..5c0ac9282 100644 --- a/client/go.c +++ b/client/go.c @@ -250,8 +250,8 @@ go(S *s, int channels, const float *in, float *out) sample er = delread4(&s->edelay2, rdelms + si); sample es[2] = { co * el + si * er, -si * el + co * er }; compress(es, &s->ecompress1, 5, 10, 25, 48, es); - es[0] = mix(mixdown[0], es[0], mix(0.5, pow(wrap(8 * p), 0.25), 0)); - es[1] = mix(mixdown[1], es[1], mix(0.5, pow(wrap(8 * p), 0.25), 0)); + es[0] = mix(mixdown[0], es[0], mix(0.75, pow(wrap(8 * p), 0.25), 0)); + es[1] = mix(mixdown[1], es[1], mix(0.75, pow(wrap(8 * p), 0.25), 0)); compress(es, &s->ecompress2, 5, 10, 25, 48, es); delwrite(&s->edelay1, es[0]); delwrite(&s->edelay2, es[1]);
diff @ 2018-11-22 22:44:27 +0000 diff --git a/client/go.c b/client/go.c index 5c0ac9282..f72bf9973 100644 --- a/client/go.c +++ b/client/go.c @@ -250,8 +250,8 @@ go(S *s, int channels, const float *in, float *out) sample er = delread4(&s->edelay2, rdelms + si); sample es[2] = { co * el + si * er, -si * el + co * er }; compress(es, &s->ecompress1, 5, 10, 25, 48, es); - es[0] = mix(mixdown[0], es[0], mix(0.75, pow(wrap(8 * p), 0.25), 0)); - es[1] = mix(mixdown[1], es[1], mix(0.75, pow(wrap(8 * p), 0.25), 0)); + es[0] = mix(mixdown[0], es[0], mix(0.875, pow(wrap(8 * p), 0.25), 0)); + es[1] = mix(mixdown[1], es[1], mix(0.875, pow(wrap(8 * p), 0.25), 0)); compress(es, &s->ecompress2, 5, 10, 25, 48, es); delwrite(&s->edelay1, es[0]); delwrite(&s->edelay2, es[1]);
diff @ 2018-11-22 22:44:34 +0000 diff --git a/client/go.c b/client/go.c index f72bf9973..1dca31f0f 100644 --- a/client/go.c +++ b/client/go.c @@ -244,8 +244,8 @@ go(S *s, int channels, const float *in, float *out) sample si = sin(t); sample ldelms = 60000 / bpm * (p < 0.75 ? 1 : 1./64); sample rdelms = 60000 / bpm * (p < 0.50 ? 1./2 : 1./48); - 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 @ 2018-11-22 22:44:45 +0000 diff --git a/client/go.c b/client/go.c index 1dca31f0f..e0e3cbd66 100644 --- a/client/go.c +++ b/client/go.c @@ -250,8 +250,8 @@ go(S *s, int channels, const float *in, float *out) sample er = delread4(&s->edelay2, rdelms + si); sample es[2] = { co * el + si * er, -si * el + co * er }; compress(es, &s->ecompress1, 5, 10, 25, 48, es); - es[0] = mix(mixdown[0], es[0], mix(0.875, pow(wrap(8 * p), 0.25), 0)); - es[1] = mix(mixdown[1], es[1], mix(0.875, pow(wrap(8 * p), 0.25), 0)); + es[0] = mix(mixdown[0], es[0], mix(0.875, pow(wrap(8 * p), 0.25), 1)); + es[1] = mix(mixdown[1], es[1], mix(0.875, pow(wrap(8 * p), 0.25), 1)); compress(es, &s->ecompress2, 5, 10, 25, 48, es); delwrite(&s->edelay1, es[0]); delwrite(&s->edelay2, es[1]);
diff @ 2018-11-22 22:46:00 +0000 diff --git a/client/go.h b/client/go.h index cbc88e291..db9ea30d9 100644 --- a/client/go.h +++ b/client/go.h @@ -58,5 +58,7 @@ typedef struct BIQUAD cut[2]; + BIQUAD efilter[4]; + } S; #endif
diff @ 2018-11-22 22:46:01 +0000 diff --git a/client/go.c b/client/go.c index e0e3cbd66..21a1b9cf3 100644 --- a/client/go.c +++ b/client/go.c @@ -248,6 +248,8 @@ go(S *s, int channels, const float *in, float *out) rdelms = lop(&s->elop[1], rdelms, 15); sample el = delread4(&s->edelay1, ldelms + co); sample er = delread4(&s->edelay2, rdelms + si); + el = biquad(bandpass(&s->efilter[0], 100, flatq), el); + er = biquad(bandpass(&s->efilter[1], 1000, flatq), er); 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.875, pow(wrap(8 * p), 0.25), 1));
diff @ 2018-11-22 22:46:19 +0000 diff --git a/client/go.c b/client/go.c index 21a1b9cf3..325c63cda 100644 --- a/client/go.c +++ b/client/go.c @@ -252,8 +252,8 @@ go(S *s, int channels, const float *in, float *out) er = biquad(bandpass(&s->efilter[1], 1000, flatq), er); 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.875, pow(wrap(8 * p), 0.25), 1)); - es[1] = mix(mixdown[1], es[1], mix(0.875, pow(wrap(8 * p), 0.25), 1)); + es[0] = mix(mixdown[0], es[0], mix(0.875, pow(wrap(8 * p), 0.25), 0.6)); + es[1] = mix(mixdown[1], es[1], mix(0.875, pow(wrap(8 * p), 0.25), 0.6)); compress(es, &s->ecompress2, 5, 10, 25, 48, es); delwrite(&s->edelay1, es[0]); delwrite(&s->edelay2, es[1]);
diff @ 2018-11-22 22:46:25 +0000 diff --git a/client/go.c b/client/go.c index 325c63cda..a2ee56ede 100644 --- a/client/go.c +++ b/client/go.c @@ -252,8 +252,8 @@ go(S *s, int channels, const float *in, float *out) er = biquad(bandpass(&s->efilter[1], 1000, flatq), er); 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.875, pow(wrap(8 * p), 0.25), 0.6)); - es[1] = mix(mixdown[1], es[1], mix(0.875, pow(wrap(8 * p), 0.25), 0.6)); + es[0] = mix(mixdown[0], es[0], mix(0.5, pow(wrap(8 * p), 0.25), 0.6)); + es[1] = mix(mixdown[1], es[1], mix(0.5, pow(wrap(8 * p), 0.25), 0.6)); compress(es, &s->ecompress2, 5, 10, 25, 48, es); delwrite(&s->edelay1, es[0]); delwrite(&s->edelay2, es[1]);
diff @ 2018-11-22 22:46:31 +0000 diff --git a/client/go.c b/client/go.c index a2ee56ede..5cea16dcf 100644 --- a/client/go.c +++ b/client/go.c @@ -252,8 +252,8 @@ go(S *s, int channels, const float *in, float *out) er = biquad(bandpass(&s->efilter[1], 1000, flatq), er); 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), 0.25), 0.6)); - es[1] = mix(mixdown[1], es[1], mix(0.5, pow(wrap(8 * p), 0.25), 0.6)); + es[0] = mix(mixdown[0], es[0], mix(0.95, pow(wrap(8 * p), 0.25), 0.6)); + es[1] = mix(mixdown[1], es[1], mix(0.95, pow(wrap(8 * p), 0.25), 0.6)); compress(es, &s->ecompress2, 5, 10, 25, 48, es); delwrite(&s->edelay1, es[0]); delwrite(&s->edelay2, es[1]);
diff @ 2018-11-22 22:46:39 +0000 diff --git a/client/go.c b/client/go.c index 5cea16dcf..64822bb5e 100644 --- a/client/go.c +++ b/client/go.c @@ -248,7 +248,7 @@ go(S *s, int channels, const float *in, float *out) rdelms = lop(&s->elop[1], rdelms, 15); sample el = delread4(&s->edelay1, ldelms + co); sample er = delread4(&s->edelay2, rdelms + si); - el = biquad(bandpass(&s->efilter[0], 100, flatq), el); + el = biquad(bandpass(&s->efilter[0], 100 * pow(2, p), flatq), el); er = biquad(bandpass(&s->efilter[1], 1000, flatq), er); sample es[2] = { co * el + si * er, -si * el + co * er }; compress(es, &s->ecompress1, 5, 10, 25, 48, es);
diff @ 2018-11-22 22:46:48 +0000 diff --git a/client/go.c b/client/go.c index 64822bb5e..f99bb48e6 100644 --- a/client/go.c +++ b/client/go.c @@ -249,7 +249,7 @@ go(S *s, int channels, const float *in, float *out) sample el = delread4(&s->edelay1, ldelms + co); sample er = delread4(&s->edelay2, rdelms + si); el = biquad(bandpass(&s->efilter[0], 100 * pow(2, p), flatq), el); - er = biquad(bandpass(&s->efilter[1], 1000, flatq), er); + er = biquad(bandpass(&s->efilter[1], 1000 * pow(0.5, p), flatq), er); 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.95, pow(wrap(8 * p), 0.25), 0.6));
diff @ 2018-11-22 22:46:59 +0000 diff --git a/client/go.c b/client/go.c index f99bb48e6..50e91ce5b 100644 --- a/client/go.c +++ b/client/go.c @@ -249,7 +249,7 @@ go(S *s, int channels, const float *in, float *out) sample el = delread4(&s->edelay1, ldelms + co); sample er = delread4(&s->edelay2, rdelms + si); el = biquad(bandpass(&s->efilter[0], 100 * pow(2, p), flatq), el); - er = biquad(bandpass(&s->efilter[1], 1000 * pow(0.5, p), flatq), er); + er = biquad(bandpass(&s->efilter[1], 1000 * pow(0.5, wrap(4 * p)), flatq), er); 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.95, pow(wrap(8 * p), 0.25), 0.6));
diff @ 2018-11-22 22:47:06 +0000 diff --git a/client/go.c b/client/go.c index 50e91ce5b..f0ac69ecb 100644 --- a/client/go.c +++ b/client/go.c @@ -249,7 +249,7 @@ go(S *s, int channels, const float *in, float *out) sample el = delread4(&s->edelay1, ldelms + co); sample er = delread4(&s->edelay2, rdelms + si); el = biquad(bandpass(&s->efilter[0], 100 * pow(2, p), flatq), el); - er = biquad(bandpass(&s->efilter[1], 1000 * pow(0.5, wrap(4 * p)), flatq), er); + er = biquad(bandpass(&s->efilter[1], 1000 * pow(0.5, wrap(8 * p)), flatq), er); 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.95, pow(wrap(8 * p), 0.25), 0.6));
diff @ 2018-11-22 22:47:13 +0000 diff --git a/client/go.c b/client/go.c index f0ac69ecb..9ee040a12 100644 --- a/client/go.c +++ b/client/go.c @@ -249,7 +249,7 @@ go(S *s, int channels, const float *in, float *out) sample el = delread4(&s->edelay1, ldelms + co); sample er = delread4(&s->edelay2, rdelms + si); el = biquad(bandpass(&s->efilter[0], 100 * pow(2, p), flatq), el); - er = biquad(bandpass(&s->efilter[1], 1000 * pow(0.5, wrap(8 * p)), flatq), er); + er = biquad(bandpass(&s->efilter[1], 1000 * pow(0.5, wrap(16 * p)), flatq), er); 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.95, pow(wrap(8 * p), 0.25), 0.6));
diff @ 2018-11-22 22:48:16 +0000 diff --git a/client/go.h b/client/go.h index db9ea30d9..b59aab969 100644 --- a/client/go.h +++ b/client/go.h @@ -57,8 +57,8 @@ typedef struct // = append only data structure ====================================== BIQUAD cut[2]; - BIQUAD efilter[4]; + SAMPHOLD eseq[4]; } S; #endif
diff @ 2018-11-22 22:48:17 +0000 diff --git a/client/go.c b/client/go.c index 9ee040a12..a958b8bcb 100644 --- a/client/go.c +++ b/client/go.c @@ -242,6 +242,9 @@ go(S *s, int channels, const float *in, float *out) sample t = twopi * p; sample co = cos(t); sample si = sin(t); + sample seq[4]; + for (int i = 0;i< 4; ++i) + seq[i] = samphold(&s->eseq[i], rand() & 0xF, p) + 1; sample ldelms = 60000 / bpm * (p < 0.75 ? 1 : 1./64); sample rdelms = 60000 / bpm * (p < 0.50 ? 1./2 : 1./48); ldelms = lop(&s->elop[0], ldelms, 15);
diff @ 2018-11-22 22:48:29 +0000 diff --git a/client/go.c b/client/go.c index a958b8bcb..18e48630a 100644 --- a/client/go.c +++ b/client/go.c @@ -245,7 +245,7 @@ go(S *s, int channels, const float *in, float *out) sample seq[4]; for (int i = 0;i< 4; ++i) seq[i] = samphold(&s->eseq[i], rand() & 0xF, p) + 1; - sample ldelms = 60000 / bpm * (p < 0.75 ? 1 : 1./64); + sample ldelms = 60000 / bpm * (p < 0.75 ? 1 : 0.25/seq[1]); sample rdelms = 60000 / bpm * (p < 0.50 ? 1./2 : 1./48); ldelms = lop(&s->elop[0], ldelms, 15); rdelms = lop(&s->elop[1], rdelms, 15);
diff @ 2018-11-22 22:48:39 +0000 diff --git a/client/go.c b/client/go.c index 18e48630a..24572db1b 100644 --- a/client/go.c +++ b/client/go.c @@ -246,7 +246,7 @@ go(S *s, int channels, const float *in, float *out) for (int i = 0;i< 4; ++i) seq[i] = samphold(&s->eseq[i], rand() & 0xF, p) + 1; sample ldelms = 60000 / bpm * (p < 0.75 ? 1 : 0.25/seq[1]); - sample rdelms = 60000 / bpm * (p < 0.50 ? 1./2 : 1./48); + sample rdelms = 60000 / bpm * (p < 0.50 ? 1./2 : 1./seq[3]); ldelms = lop(&s->elop[0], ldelms, 15); rdelms = lop(&s->elop[1], rdelms, 15); sample el = delread4(&s->edelay1, ldelms + co);
diff @ 2018-11-22 22:48:47 +0000 diff --git a/client/go.c b/client/go.c index 24572db1b..e94b30271 100644 --- a/client/go.c +++ b/client/go.c @@ -246,7 +246,7 @@ go(S *s, int channels, const float *in, float *out) for (int i = 0;i< 4; ++i) seq[i] = samphold(&s->eseq[i], rand() & 0xF, p) + 1; sample ldelms = 60000 / bpm * (p < 0.75 ? 1 : 0.25/seq[1]); - sample rdelms = 60000 / bpm * (p < 0.50 ? 1./2 : 1./seq[3]); + sample rdelms = 60000 / bpm * (p < 0.50 ? 1./seq[2] : 1./seq[3]); ldelms = lop(&s->elop[0], ldelms, 15); rdelms = lop(&s->elop[1], rdelms, 15); sample el = delread4(&s->edelay1, ldelms + co);
diff @ 2018-11-22 22:48:52 +0000 diff --git a/client/go.c b/client/go.c index e94b30271..bad95f530 100644 --- a/client/go.c +++ b/client/go.c @@ -245,7 +245,7 @@ go(S *s, int channels, const float *in, float *out) sample seq[4]; for (int i = 0;i< 4; ++i) seq[i] = samphold(&s->eseq[i], rand() & 0xF, p) + 1; - sample ldelms = 60000 / bpm * (p < 0.75 ? 1 : 0.25/seq[1]); + sample ldelms = 60000 / bpm * (p < 0.75 ? 1./seq[0] : 0.25/seq[1]); sample rdelms = 60000 / bpm * (p < 0.50 ? 1./seq[2] : 1./seq[3]); ldelms = lop(&s->elop[0], ldelms, 15); rdelms = lop(&s->elop[1], rdelms, 15);
diff @ 2018-11-22 22:48:58 +0000 diff --git a/client/go.c b/client/go.c index bad95f530..4008fb51a 100644 --- a/client/go.c +++ b/client/go.c @@ -246,7 +246,7 @@ go(S *s, int channels, const float *in, float *out) for (int i = 0;i< 4; ++i) seq[i] = samphold(&s->eseq[i], rand() & 0xF, p) + 1; sample ldelms = 60000 / bpm * (p < 0.75 ? 1./seq[0] : 0.25/seq[1]); - sample rdelms = 60000 / bpm * (p < 0.50 ? 1./seq[2] : 1./seq[3]); + sample rdelms = 60000 / bpm * (p < 0.50 ? 1./seq[2] : 0.25./seq[3]); ldelms = lop(&s->elop[0], ldelms, 15); rdelms = lop(&s->elop[1], rdelms, 15); sample el = delread4(&s->edelay1, ldelms + co);
diff @ 2018-11-22 22:48:59 +0000 diff --git a/client/go.c b/client/go.c index 4008fb51a..cf12fbac5 100644 --- a/client/go.c +++ b/client/go.c @@ -246,7 +246,7 @@ go(S *s, int channels, const float *in, float *out) for (int i = 0;i< 4; ++i) seq[i] = samphold(&s->eseq[i], rand() & 0xF, p) + 1; sample ldelms = 60000 / bpm * (p < 0.75 ? 1./seq[0] : 0.25/seq[1]); - sample rdelms = 60000 / bpm * (p < 0.50 ? 1./seq[2] : 0.25./seq[3]); + sample rdelms = 60000 / bpm * (p < 0.50 ? 1./seq[2] : 0.25/seq[3]); ldelms = lop(&s->elop[0], ldelms, 15); rdelms = lop(&s->elop[1], rdelms, 15); sample el = delread4(&s->edelay1, ldelms + co);
diff @ 2018-11-22 22:49:04 +0000 diff --git a/client/go.c b/client/go.c index cf12fbac5..1a4cad3e4 100644 --- a/client/go.c +++ b/client/go.c @@ -245,8 +245,8 @@ go(S *s, int channels, const float *in, float *out) sample seq[4]; for (int i = 0;i< 4; ++i) seq[i] = samphold(&s->eseq[i], rand() & 0xF, p) + 1; - sample ldelms = 60000 / bpm * (p < 0.75 ? 1./seq[0] : 0.25/seq[1]); - sample rdelms = 60000 / bpm * (p < 0.50 ? 1./seq[2] : 0.25/seq[3]); + sample ldelms = 60000 / bpm * (p < 0.75 ? 1./seq[0] : 0.125/seq[1]); + sample rdelms = 60000 / bpm * (p < 0.50 ? 1./seq[2] : 0.125/seq[3]); ldelms = lop(&s->elop[0], ldelms, 15); rdelms = lop(&s->elop[1], rdelms, 15); sample el = delread4(&s->edelay1, ldelms + co);
diff @ 2018-11-22 22:49:20 +0000 diff --git a/client/go.c b/client/go.c index 1a4cad3e4..eae3c94db 100644 --- a/client/go.c +++ b/client/go.c @@ -255,8 +255,8 @@ go(S *s, int channels, const float *in, float *out) er = biquad(bandpass(&s->efilter[1], 1000 * pow(0.5, wrap(16 * p)), flatq), er); 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.95, pow(wrap(8 * p), 0.25), 0.6)); - es[1] = mix(mixdown[1], es[1], mix(0.95, pow(wrap(8 * p), 0.25), 0.6)); + es[0] = mix(mixdown[0], es[0], mix(!, pow(wrap(8 * p), 0.25), 0.)); + es[1] = mix(mixdown[1], es[1], mix(1, pow(wrap(8 * p), 0.25), 0.)); compress(es, &s->ecompress2, 5, 10, 25, 48, es); delwrite(&s->edelay1, es[0]); delwrite(&s->edelay2, es[1]);
diff @ 2018-11-22 22:49:22 +0000 diff --git a/client/go.c b/client/go.c index eae3c94db..8332663c3 100644 --- a/client/go.c +++ b/client/go.c @@ -255,7 +255,7 @@ go(S *s, int channels, const float *in, float *out) er = biquad(bandpass(&s->efilter[1], 1000 * pow(0.5, wrap(16 * p)), flatq), er); 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(!, pow(wrap(8 * p), 0.25), 0.)); + es[0] = mix(mixdown[0], es[0], mix(1, pow(wrap(8 * p), 0.25), 0.)); es[1] = mix(mixdown[1], es[1], mix(1, pow(wrap(8 * p), 0.25), 0.)); compress(es, &s->ecompress2, 5, 10, 25, 48, es); delwrite(&s->edelay1, es[0]);
diff @ 2018-11-22 22:49:26 +0000 diff --git a/client/go.c b/client/go.c index 8332663c3..184605f11 100644 --- a/client/go.c +++ b/client/go.c @@ -251,7 +251,7 @@ go(S *s, int channels, const float *in, float *out) rdelms = lop(&s->elop[1], rdelms, 15); sample el = delread4(&s->edelay1, ldelms + co); sample er = delread4(&s->edelay2, rdelms + si); - el = biquad(bandpass(&s->efilter[0], 100 * pow(2, p), flatq), el); + el = biquad(bandpass(&s->efilter[0], 200 * pow(2, p), flatq), el); er = biquad(bandpass(&s->efilter[1], 1000 * pow(0.5, wrap(16 * p)), flatq), er); sample es[2] = { co * el + si * er, -si * el + co * er }; compress(es, &s->ecompress1, 5, 10, 25, 48, es);
diff @ 2018-11-22 22:49:36 +0000 diff --git a/client/go.c b/client/go.c index 184605f11..ead9bef95 100644 --- a/client/go.c +++ b/client/go.c @@ -252,7 +252,7 @@ go(S *s, int channels, const float *in, float *out) sample el = delread4(&s->edelay1, ldelms + co); sample er = delread4(&s->edelay2, rdelms + si); el = biquad(bandpass(&s->efilter[0], 200 * pow(2, p), flatq), el); - er = biquad(bandpass(&s->efilter[1], 1000 * pow(0.5, wrap(16 * p)), flatq), er); + er = biquad(bandpass(&s->efilter[1], 200 * pow(0.5, wrap(16 * p)), flatq), er); 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), 0.25), 0.));
diff @ 2018-11-22 22:49:42 +0000 diff --git a/client/go.c b/client/go.c index ead9bef95..123a76c38 100644 --- a/client/go.c +++ b/client/go.c @@ -252,7 +252,7 @@ go(S *s, int channels, const float *in, float *out) sample el = delread4(&s->edelay1, ldelms + co); sample er = delread4(&s->edelay2, rdelms + si); el = biquad(bandpass(&s->efilter[0], 200 * pow(2, p), flatq), el); - er = biquad(bandpass(&s->efilter[1], 200 * pow(0.5, wrap(16 * p)), flatq), er); + er = biquad(bandpass(&s->efilter[1], 400 * pow(0.5, wrap(16 * p)), flatq), er); 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), 0.25), 0.));
diff @ 2018-11-22 22:49:49 +0000 diff --git a/client/go.c b/client/go.c index 123a76c38..e0e914af9 100644 --- a/client/go.c +++ b/client/go.c @@ -251,7 +251,7 @@ go(S *s, int channels, const float *in, float *out) rdelms = lop(&s->elop[1], rdelms, 15); sample el = delread4(&s->edelay1, ldelms + co); sample er = delread4(&s->edelay2, rdelms + si); - el = biquad(bandpass(&s->efilter[0], 200 * pow(2, p), flatq), el); + el = biquad(bandpass(&s->efilter[0], 200 * pow(2, wrap(4 * p)), flatq), el); er = biquad(bandpass(&s->efilter[1], 400 * pow(0.5, wrap(16 * p)), flatq), er); sample es[2] = { co * el + si * er, -si * el + co * er }; compress(es, &s->ecompress1, 5, 10, 25, 48, es);
diff @ 2018-11-22 22:50:01 +0000 diff --git a/client/go.c b/client/go.c index e0e914af9..db630bef8 100644 --- a/client/go.c +++ b/client/go.c @@ -251,6 +251,8 @@ go(S *s, int channels, const float *in, float *out) rdelms = lop(&s->elop[1], rdelms, 15); sample el = delread4(&s->edelay1, ldelms + co); sample er = delread4(&s->edelay2, rdelms + si); + el = sin(el); + er = sin(er); el = biquad(bandpass(&s->efilter[0], 200 * pow(2, wrap(4 * p)), flatq), el); er = biquad(bandpass(&s->efilter[1], 400 * pow(0.5, wrap(16 * p)), flatq), er); sample es[2] = { co * el + si * er, -si * el + co * er };
diff @ 2018-11-22 22:50:04 +0000 diff --git a/client/go.c b/client/go.c index db630bef8..24c087b99 100644 --- a/client/go.c +++ b/client/go.c @@ -251,8 +251,8 @@ go(S *s, int channels, const float *in, float *out) rdelms = lop(&s->elop[1], rdelms, 15); sample el = delread4(&s->edelay1, ldelms + co); sample er = delread4(&s->edelay2, rdelms + si); - el = sin(el); - er = sin(er); + el = sin(2 * el); + er = sin(2 8 er); el = biquad(bandpass(&s->efilter[0], 200 * pow(2, wrap(4 * p)), flatq), el); er = biquad(bandpass(&s->efilter[1], 400 * pow(0.5, wrap(16 * p)), flatq), er); sample es[2] = { co * el + si * er, -si * el + co * er };
diff @ 2018-11-22 22:50:06 +0000 diff --git a/client/go.c b/client/go.c index 24c087b99..a4fa1adff 100644 --- a/client/go.c +++ b/client/go.c @@ -252,7 +252,7 @@ go(S *s, int channels, const float *in, float *out) sample el = delread4(&s->edelay1, ldelms + co); sample er = delread4(&s->edelay2, rdelms + si); el = sin(2 * el); - er = sin(2 8 er); + er = sin(2 * er); el = biquad(bandpass(&s->efilter[0], 200 * pow(2, wrap(4 * p)), flatq), el); er = biquad(bandpass(&s->efilter[1], 400 * pow(0.5, wrap(16 * p)), flatq), er); sample es[2] = { co * el + si * er, -si * el + co * er };
diff @ 2018-11-22 22:50:13 +0000 diff --git a/client/go.c b/client/go.c index a4fa1adff..31fe3d84c 100644 --- a/client/go.c +++ b/client/go.c @@ -251,8 +251,8 @@ go(S *s, int channels, const float *in, float *out) rdelms = lop(&s->elop[1], rdelms, 15); sample el = delread4(&s->edelay1, ldelms + co); sample er = delread4(&s->edelay2, rdelms + si); - el = sin(2 * el); - er = sin(2 * er); + el = sin(3 * el); + er = sin(3 * er); el = biquad(bandpass(&s->efilter[0], 200 * pow(2, wrap(4 * p)), flatq), el); er = biquad(bandpass(&s->efilter[1], 400 * pow(0.5, wrap(16 * p)), flatq), er); sample es[2] = { co * el + si * er, -si * el + co * er };
diff @ 2018-11-22 22:50:16 +0000 diff --git a/client/go.c b/client/go.c index 31fe3d84c..d08b56f66 100644 --- a/client/go.c +++ b/client/go.c @@ -251,8 +251,8 @@ go(S *s, int channels, const float *in, float *out) rdelms = lop(&s->elop[1], rdelms, 15); sample el = delread4(&s->edelay1, ldelms + co); sample er = delread4(&s->edelay2, rdelms + si); - el = sin(3 * el); - er = sin(3 * er); + el = sin(4 * el); + er = sin(4 * er); el = biquad(bandpass(&s->efilter[0], 200 * pow(2, wrap(4 * p)), flatq), el); er = biquad(bandpass(&s->efilter[1], 400 * pow(0.5, wrap(16 * p)), flatq), er); sample es[2] = { co * el + si * er, -si * el + co * er };
diff @ 2018-11-22 22:50:30 +0000 diff --git a/client/go.c b/client/go.c index d08b56f66..c90b12c29 100644 --- a/client/go.c +++ b/client/go.c @@ -251,10 +251,10 @@ go(S *s, int channels, const float *in, float *out) rdelms = lop(&s->elop[1], rdelms, 15); sample el = delread4(&s->edelay1, ldelms + co); sample er = delread4(&s->edelay2, rdelms + si); - el = sin(4 * el); - er = sin(4 * er); el = biquad(bandpass(&s->efilter[0], 200 * pow(2, wrap(4 * p)), flatq), el); er = biquad(bandpass(&s->efilter[1], 400 * pow(0.5, wrap(16 * p)), flatq), er); + el = sin(el); + er = sin(er); 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), 0.25), 0.));
diff @ 2018-11-22 22:50:34 +0000 diff --git a/client/go.c b/client/go.c index c90b12c29..0a7b75a8d 100644 --- a/client/go.c +++ b/client/go.c @@ -253,8 +253,8 @@ go(S *s, int channels, const float *in, float *out) sample er = delread4(&s->edelay2, rdelms + si); el = biquad(bandpass(&s->efilter[0], 200 * pow(2, wrap(4 * p)), flatq), el); er = biquad(bandpass(&s->efilter[1], 400 * pow(0.5, wrap(16 * p)), flatq), er); - el = sin(el); - er = sin(er); + el = sin(2 * el); + er = sin(2 8 er); 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), 0.25), 0.));
diff @ 2018-11-22 22:50:35 +0000 diff --git a/client/go.c b/client/go.c index 0a7b75a8d..ae4e8c575 100644 --- a/client/go.c +++ b/client/go.c @@ -254,7 +254,7 @@ go(S *s, int channels, const float *in, float *out) el = biquad(bandpass(&s->efilter[0], 200 * pow(2, wrap(4 * p)), flatq), el); er = biquad(bandpass(&s->efilter[1], 400 * pow(0.5, wrap(16 * p)), flatq), er); el = sin(2 * el); - er = sin(2 8 er); + er = sin(2 * er); 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), 0.25), 0.));
diff @ 2018-11-22 22:50:47 +0000 diff --git a/client/go.c b/client/go.c index ae4e8c575..f40c06cda 100644 --- a/client/go.c +++ b/client/go.c @@ -291,7 +291,7 @@ go(S *s, int channels, const float *in, float *out) sample kick = sin(twopi * phasor(&s->kick59[1], env + mod)); env2 = env2 + env2 * env2 * env2 * env2; kick = 4 * hip(&s->hip59[0], tanh(env2 * kick), 5); - kick *= 0; + kick *= 1; o[0] += kick; o[1] += kick; }
diff @ 2018-11-22 22:51:01 +0000 diff --git a/client/go.c b/client/go.c index f40c06cda..7ba848037 100644 --- a/client/go.c +++ b/client/go.c @@ -309,7 +309,7 @@ go(S *s, int channels, const float *in, float *out) open *= open; sample env = open + closed; sample h = noise(); - h *= 0; + h *= 1; o[0] += 4 * tanh(env * hip(&s->hip59[2], hip(&s->hip59[3], h * noise(), 3000), 1500)); o[1] += 4 * tanh(env * hip(&s->hip59[4], hip(&s->hip59[5],
diff @ 2018-11-22 22:51:14 +0000 diff --git a/client/go.c b/client/go.c index 7ba848037..65f5a025b 100644 --- a/client/go.c +++ b/client/go.c @@ -257,8 +257,8 @@ go(S *s, int channels, const float *in, float *out) er = sin(2 * er); 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), 0.25), 0.)); - es[1] = mix(mixdown[1], es[1], mix(1, pow(wrap(8 * p), 0.25), 0.)); + es[0] = mix(mixdown[0], es[0], mix(0, pow(wrap(8 * p), 0.25), 0.)); + es[1] = mix(mixdown[1], es[1], mix(0, pow(wrap(8 * p), 0.25), 0.)); compress(es, &s->ecompress2, 5, 10, 25, 48, es); delwrite(&s->edelay1, es[0]); delwrite(&s->edelay2, es[1]); @@ -326,7 +326,7 @@ go(S *s, int channels, const float *in, float *out) + sin(4 * twopi * vcf(&s->vcf59[0], bosc, 4 * hz, 6)) + sin(2 * twopi * vcf(&s->vcf59[1], bosc, 8 * hz, 4)) * 0.7; bass *= 1.5; - bass *= 0; + bass *= 1; o[0] += bass; o[1] += bass; }
diff @ 2018-11-22 22:51:27 +0000 diff --git a/client/go.c b/client/go.c index 65f5a025b..d2a983794 100644 --- a/client/go.c +++ b/client/go.c @@ -262,8 +262,8 @@ go(S *s, int channels, const float *in, float *out) compress(es, &s->ecompress2, 5, 10, 25, 48, es); delwrite(&s->edelay1, es[0]); delwrite(&s->edelay2, es[1]); - mixdown[0] = es[0]; - mixdown[1] = es[1]; + mixdown[0] = 0*es[0]; + mixdown[1] = 0*es[1]; } // = 5 = fifty-nine stellations ====================================== @@ -332,7 +332,7 @@ go(S *s, int channels, const float *in, float *out) } { // bell sample env = lop(&s->lop59[4], - 0 * clamp(2 * (0.5 - wrap(0.5 + 4 * t)), 0, 1), 15); + 1 * clamp(2 * (0.5 - wrap(0.5 + 4 * t)), 0, 1), 15); sample env2 = lop(&s->lop59[5], clamp ( 2 * (0.5 - wrap(8 * t))
diff @ 2018-11-22 22:51:47 +0000 diff --git a/client/go.c b/client/go.c index d2a983794..c0bc006e1 100644 --- a/client/go.c +++ b/client/go.c @@ -323,7 +323,7 @@ go(S *s, int channels, const float *in, float *out) sample bass = sub + lop(&s->lop59[1], lop(&s->lop59[2], bosc, 1000), 1000) - + sin(4 * twopi * vcf(&s->vcf59[0], bosc, 4 * hz, 6)) + + sin(8 * twopi * vcf(&s->vcf59[0], bosc, 4 * hz, 6)) + sin(2 * twopi * vcf(&s->vcf59[1], bosc, 8 * hz, 4)) * 0.7; bass *= 1.5; bass *= 1;
diff @ 2018-11-22 22:51:57 +0000 diff --git a/client/go.c b/client/go.c index c0bc006e1..94d9a47d7 100644 --- a/client/go.c +++ b/client/go.c @@ -323,7 +323,7 @@ go(S *s, int channels, const float *in, float *out) sample bass = sub + lop(&s->lop59[1], lop(&s->lop59[2], bosc, 1000), 1000) - + sin(8 * twopi * vcf(&s->vcf59[0], bosc, 4 * hz, 6)) + + (p < 0.5) * sin(8 * twopi * vcf(&s->vcf59[0], bosc, 4 * hz, 6)) + sin(2 * twopi * vcf(&s->vcf59[1], bosc, 8 * hz, 4)) * 0.7; bass *= 1.5; bass *= 1;
diff @ 2018-11-22 22:52:06 +0000 diff --git a/client/go.c b/client/go.c index 94d9a47d7..72cbc5e0b 100644 --- a/client/go.c +++ b/client/go.c @@ -323,7 +323,7 @@ go(S *s, int channels, const float *in, float *out) sample bass = sub + lop(&s->lop59[1], lop(&s->lop59[2], bosc, 1000), 1000) - + (p < 0.5) * sin(8 * twopi * vcf(&s->vcf59[0], bosc, 4 * hz, 6)) + + (t < 0.5) * sin(8 * twopi * vcf(&s->vcf59[0], bosc, 4 * hz, 6)) + sin(2 * twopi * vcf(&s->vcf59[1], bosc, 8 * hz, 4)) * 0.7; bass *= 1.5; bass *= 1;
diff @ 2018-11-22 22:52:13 +0000 diff --git a/client/go.c b/client/go.c index 72cbc5e0b..03a6528f8 100644 --- a/client/go.c +++ b/client/go.c @@ -324,7 +324,7 @@ go(S *s, int channels, const float *in, float *out) = sub + lop(&s->lop59[1], lop(&s->lop59[2], bosc, 1000), 1000) + (t < 0.5) * sin(8 * twopi * vcf(&s->vcf59[0], bosc, 4 * hz, 6)) - + sin(2 * twopi * vcf(&s->vcf59[1], bosc, 8 * hz, 4)) * 0.7; + + (t > 0.5) * sin(2 * twopi * vcf(&s->vcf59[1], bosc, 8 * hz, 4)) * 0.7; bass *= 1.5; bass *= 1; o[0] += bass;
diff @ 2018-11-22 22:52:29 +0000 diff --git a/client/go.c b/client/go.c index 03a6528f8..0cd242dc4 100644 --- a/client/go.c +++ b/client/go.c @@ -339,7 +339,7 @@ go(S *s, int channels, const float *in, float *out) * (wrap(4 * t) < 0.5) , 0, 1), 15); sample bell - = sin(4 * twopi * osc) + = sin(4 * twopi * osc * pow(2, t > 0.4)) * sin(5 * twopi * osc) * sin(7 * twopi * osc) * env
diff @ 2018-11-22 22:52:31 +0000 diff --git a/client/go.c b/client/go.c index 0cd242dc4..591a1398f 100644 --- a/client/go.c +++ b/client/go.c @@ -339,7 +339,7 @@ go(S *s, int channels, const float *in, float *out) * (wrap(4 * t) < 0.5) , 0, 1), 15); sample bell - = sin(4 * twopi * osc * pow(2, t > 0.4)) + = sin(4 * twopi * osc * pow(2, t > 0.5)) * sin(5 * twopi * osc) * sin(7 * twopi * osc) * env
diff @ 2018-11-22 22:52:43 +0000 diff --git a/client/go.c b/client/go.c index 591a1398f..ae0fecdac 100644 --- a/client/go.c +++ b/client/go.c @@ -340,7 +340,7 @@ go(S *s, int channels, const float *in, float *out) , 0, 1), 15); sample bell = sin(4 * twopi * osc * pow(2, t > 0.5)) - * sin(5 * twopi * osc) + * sin(5 * twopi * osc * pow(2, wrap(2 * t) > 0.5)) * sin(7 * twopi * osc) * env * 4;
diff @ 2018-11-22 22:52:49 +0000 diff --git a/client/go.c b/client/go.c index ae0fecdac..991075201 100644 --- a/client/go.c +++ b/client/go.c @@ -341,7 +341,7 @@ go(S *s, int channels, const float *in, float *out) sample bell = sin(4 * twopi * osc * pow(2, t > 0.5)) * sin(5 * twopi * osc * pow(2, wrap(2 * t) > 0.5)) - * sin(7 * twopi * osc) + * sin(7 * twopi * osc * pow(2, wrap(4 * t) > 0.5)) * env * 4; sample bell1 = pitchshift(&s->ps59[0], 2, 100, 3, bell);
diff @ 2018-11-22 22:53:04 +0000 diff --git a/client/go.c b/client/go.c index 991075201..05fdae523 100644 --- a/client/go.c +++ b/client/go.c @@ -291,7 +291,7 @@ go(S *s, int channels, const float *in, float *out) sample kick = sin(twopi * phasor(&s->kick59[1], env + mod)); env2 = env2 + env2 * env2 * env2 * env2; kick = 4 * hip(&s->hip59[0], tanh(env2 * kick), 5); - kick *= 1; + kick *= -0; o[0] += kick; o[1] += kick; }
diff @ 2018-11-22 22:53:05 +0000 diff --git a/client/go.c b/client/go.c index 05fdae523..a0f4422a2 100644 --- a/client/go.c +++ b/client/go.c @@ -291,7 +291,7 @@ go(S *s, int channels, const float *in, float *out) sample kick = sin(twopi * phasor(&s->kick59[1], env + mod)); env2 = env2 + env2 * env2 * env2 * env2; kick = 4 * hip(&s->hip59[0], tanh(env2 * kick), 5); - kick *= -0; + kick *= 0; o[0] += kick; o[1] += kick; }
diff @ 2018-11-22 22:53:14 +0000 diff --git a/client/go.c b/client/go.c index a0f4422a2..e6b4142b7 100644 --- a/client/go.c +++ b/client/go.c @@ -357,8 +357,8 @@ go(S *s, int channels, const float *in, float *out) bell += becho; bell *= 4; sample lfo = 11 * sin(16 * twopi * t); - sample l = 0.3 * delread4(&s->del59l, ms4 + lfo) + bell; - sample r = 0.3 * delread4(&s->del59r, ms4 - lfo) + bell; + sample l = 0.53 * delread4(&s->del59l, ms4 + lfo) + bell; + sample r = 0.53 * delread4(&s->del59r, ms4 - lfo) + bell; delwrite(&s->del59l, -r); delwrite(&s->del59r, l); o[0] += l;
diff @ 2018-11-22 22:53:20 +0000 diff --git a/client/go.c b/client/go.c index e6b4142b7..553bb45ea 100644 --- a/client/go.c +++ b/client/go.c @@ -356,7 +356,7 @@ go(S *s, int channels, const float *in, float *out) becho *= env2; bell += becho; bell *= 4; - sample lfo = 11 * sin(16 * twopi * t); + sample lfo = 5 * sin(16 * twopi * t); sample l = 0.53 * delread4(&s->del59l, ms4 + lfo) + bell; sample r = 0.53 * delread4(&s->del59r, ms4 - lfo) + bell; delwrite(&s->del59l, -r);
diff @ 2018-11-22 22:53:22 +0000 diff --git a/client/go.c b/client/go.c index 553bb45ea..a367af893 100644 --- a/client/go.c +++ b/client/go.c @@ -356,7 +356,7 @@ go(S *s, int channels, const float *in, float *out) becho *= env2; bell += becho; bell *= 4; - sample lfo = 5 * sin(16 * twopi * t); + sample lfo = 3 * sin(16 * twopi * t); sample l = 0.53 * delread4(&s->del59l, ms4 + lfo) + bell; sample r = 0.53 * delread4(&s->del59r, ms4 - lfo) + bell; delwrite(&s->del59l, -r);
diff @ 2018-11-22 22:53:26 +0000 diff --git a/client/go.c b/client/go.c index a367af893..465ceb867 100644 --- a/client/go.c +++ b/client/go.c @@ -356,7 +356,7 @@ go(S *s, int channels, const float *in, float *out) becho *= env2; bell += becho; bell *= 4; - sample lfo = 3 * sin(16 * twopi * t); + sample lfo = 2 * sin(16 * twopi * t); sample l = 0.53 * delread4(&s->del59l, ms4 + lfo) + bell; sample r = 0.53 * delread4(&s->del59r, ms4 - lfo) + bell; delwrite(&s->del59l, -r);
diff @ 2018-11-22 22:53:27 +0000 diff --git a/client/go.c b/client/go.c index 465ceb867..ccdf22141 100644 --- a/client/go.c +++ b/client/go.c @@ -356,7 +356,7 @@ go(S *s, int channels, const float *in, float *out) becho *= env2; bell += becho; bell *= 4; - sample lfo = 2 * sin(16 * twopi * t); + sample lfo = 1 * sin(16 * twopi * t); sample l = 0.53 * delread4(&s->del59l, ms4 + lfo) + bell; sample r = 0.53 * delread4(&s->del59r, ms4 - lfo) + bell; delwrite(&s->del59l, -r);
diff @ 2018-11-22 22:53:30 +0000 diff --git a/client/go.c b/client/go.c index ccdf22141..f19cb3dd2 100644 --- a/client/go.c +++ b/client/go.c @@ -356,7 +356,7 @@ go(S *s, int channels, const float *in, float *out) becho *= env2; bell += becho; bell *= 4; - sample lfo = 1 * sin(16 * twopi * t); + sample lfo = 0.01 * sin(16 * twopi * t); sample l = 0.53 * delread4(&s->del59l, ms4 + lfo) + bell; sample r = 0.53 * delread4(&s->del59r, ms4 - lfo) + bell; delwrite(&s->del59l, -r);
diff @ 2018-11-22 22:53:37 +0000 diff --git a/client/go.c b/client/go.c index f19cb3dd2..c0001ffed 100644 --- a/client/go.c +++ b/client/go.c @@ -309,7 +309,8 @@ go(S *s, int channels, const float *in, float *out) open *= open; sample env = open + closed; sample h = noise(); - h *= 1; + h *= + 0; o[0] += 4 * tanh(env * hip(&s->hip59[2], hip(&s->hip59[3], h * noise(), 3000), 1500)); o[1] += 4 * tanh(env * hip(&s->hip59[4], hip(&s->hip59[5],
diff @ 2018-11-22 22:53:52 +0000 diff --git a/client/go.c b/client/go.c index c0001ffed..4e8ade121 100644 --- a/client/go.c +++ b/client/go.c @@ -351,7 +351,7 @@ go(S *s, int channels, const float *in, float *out) bell += bell1 + bell2 + bell3; bell *= env; sample becho = delread1(&s->del59, ms4); - becho = lop(&s->lop59[3], becho, 1000) * 0.5; + becho = lop(&s->lop59[3], becho, 1000) * 0.75; delwrite(&s->del59, bell3 + pitchshift(&s->ps59[3], 2, 100, 3, becho)); becho *= env2;
diff @ 2018-11-22 22:53:58 +0000 diff --git a/client/go.c b/client/go.c index 4e8ade121..ff9b8928f 100644 --- a/client/go.c +++ b/client/go.c @@ -351,7 +351,7 @@ go(S *s, int channels, const float *in, float *out) bell += bell1 + bell2 + bell3; bell *= env; sample becho = delread1(&s->del59, ms4); - becho = lop(&s->lop59[3], becho, 1000) * 0.75; + becho = lop(&s->lop59[3], becho, 1000) * 0.875; delwrite(&s->del59, bell3 + pitchshift(&s->ps59[3], 2, 100, 3, becho)); becho *= env2;
diff @ 2018-11-22 22:54:15 +0000 diff --git a/client/go.c b/client/go.c index ff9b8928f..60940eafa 100644 --- a/client/go.c +++ b/client/go.c @@ -291,7 +291,7 @@ go(S *s, int channels, const float *in, float *out) sample kick = sin(twopi * phasor(&s->kick59[1], env + mod)); env2 = env2 + env2 * env2 * env2 * env2; kick = 4 * hip(&s->hip59[0], tanh(env2 * kick), 5); - kick *= 0; + kick *= 1; o[0] += kick; o[1] += kick; }
diff @ 2018-11-22 22:54:29 +0000 diff --git a/client/go.c b/client/go.c index 60940eafa..3d9654d35 100644 --- a/client/go.c +++ b/client/go.c @@ -351,7 +351,7 @@ go(S *s, int channels, const float *in, float *out) bell += bell1 + bell2 + bell3; bell *= env; sample becho = delread1(&s->del59, ms4); - becho = lop(&s->lop59[3], becho, 1000) * 0.875; + becho = lop(&s->lop59[3], becho, 1000) * -0.875; delwrite(&s->del59, bell3 + pitchshift(&s->ps59[3], 2, 100, 3, becho)); becho *= env2;
diff @ 2018-11-22 22:54:36 +0000 diff --git a/client/go.c b/client/go.c index 3d9654d35..a25b862cb 100644 --- a/client/go.c +++ b/client/go.c @@ -351,7 +351,7 @@ go(S *s, int channels, const float *in, float *out) bell += bell1 + bell2 + bell3; bell *= env; sample becho = delread1(&s->del59, ms4); - becho = lop(&s->lop59[3], becho, 1000) * -0.875; + becho = lop(&s->lop59[3], becho, 1000) * -0.5; delwrite(&s->del59, bell3 + pitchshift(&s->ps59[3], 2, 100, 3, becho)); becho *= env2;
diff @ 2018-11-22 22:55:00 +0000 diff --git a/client/go.c b/client/go.c index a25b862cb..ec1534648 100644 --- a/client/go.c +++ b/client/go.c @@ -420,7 +420,7 @@ go(S *s, int channels, const float *in, float *out) // = m = mixdown ===================================================== { - if (! next) + //if (! next) compress(mixdown, &s->mixdown, 5, 10, 25, 48, mixdown); sample volume = 1; mixdown[0] *= volume;
diff @ 2018-11-22 22:55:12 +0000 diff --git a/client/go.c b/client/go.c index ec1534648..df97cc8a2 100644 --- a/client/go.c +++ b/client/go.c @@ -278,8 +278,8 @@ go(S *s, int channels, const float *in, float *out) sample osc = phasor(&s->osc59, hz); sample o[2] = { 0, 0 }; { // kick - sample peak = hz * 8; - sample env = 1 - wrap(2 * t); + sample peak = hz * 4; + sample env = 1 - wrap(4 * t); sample env2 = env * 2; env *= env; env *= env;
diff @ 2018-11-22 22:55:20 +0000 diff --git a/client/go.c b/client/go.c index df97cc8a2..390d364ec 100644 --- a/client/go.c +++ b/client/go.c @@ -282,7 +282,6 @@ go(S *s, int channels, const float *in, float *out) sample env = 1 - wrap(4 * t); sample env2 = env * 2; env *= env; - env *= env; env *= sqrt(sqrt(peak)); sample env3 = env * env * env; sample mod = sin(twopi * phasor(&s->kick59[0], env * peak)) * env3;
diff @ 2018-11-22 22:55:25 +0000 diff --git a/client/go.c b/client/go.c index 390d364ec..05a84e774 100644 --- a/client/go.c +++ b/client/go.c @@ -281,7 +281,6 @@ go(S *s, int channels, const float *in, float *out) sample peak = hz * 4; sample env = 1 - wrap(4 * t); sample env2 = env * 2; - env *= env; env *= sqrt(sqrt(peak)); sample env3 = env * env * env; sample mod = sin(twopi * phasor(&s->kick59[0], env * peak)) * env3;
diff @ 2018-11-22 22:55:29 +0000 diff --git a/client/go.c b/client/go.c index 05a84e774..e7240ecee 100644 --- a/client/go.c +++ b/client/go.c @@ -280,7 +280,7 @@ go(S *s, int channels, const float *in, float *out) { // kick sample peak = hz * 4; sample env = 1 - wrap(4 * t); - sample env2 = env * 2; + sample env2 = env * 4; env *= sqrt(sqrt(peak)); sample env3 = env * env * env; sample mod = sin(twopi * phasor(&s->kick59[0], env * peak)) * env3;
diff @ 2018-11-22 22:55:33 +0000 diff --git a/client/go.c b/client/go.c index e7240ecee..e56b31109 100644 --- a/client/go.c +++ b/client/go.c @@ -280,7 +280,7 @@ go(S *s, int channels, const float *in, float *out) { // kick sample peak = hz * 4; sample env = 1 - wrap(4 * t); - sample env2 = env * 4; + sample env2 = env * 3; env *= sqrt(sqrt(peak)); sample env3 = env * env * env; sample mod = sin(twopi * phasor(&s->kick59[0], env * peak)) * env3;
diff @ 2018-11-22 22:55:46 +0000 diff --git a/client/go.c b/client/go.c index e56b31109..91a2dea0f 100644 --- a/client/go.c +++ b/client/go.c @@ -294,7 +294,7 @@ go(S *s, int channels, const float *in, float *out) o[1] += kick; } { // hihat - sample closed = 1 - wrap(8 * t - 0.58); + sample closed = 0;//1 - wrap(8 * t - 0.58); sample open = 1 - wrap(4 * t - 0.50); closed *= closed; closed *= closed;
diff @ 2018-11-22 22:55:51 +0000 diff --git a/client/go.c b/client/go.c index 91a2dea0f..7d85b144d 100644 --- a/client/go.c +++ b/client/go.c @@ -308,7 +308,7 @@ go(S *s, int channels, const float *in, float *out) sample env = open + closed; sample h = noise(); h *= - 0; + 1; o[0] += 4 * tanh(env * hip(&s->hip59[2], hip(&s->hip59[3], h * noise(), 3000), 1500)); o[1] += 4 * tanh(env * hip(&s->hip59[4], hip(&s->hip59[5],
diff @ 2018-11-22 22:55:59 +0000 diff --git a/client/go.c b/client/go.c index 7d85b144d..6426cce23 100644 --- a/client/go.c +++ b/client/go.c @@ -298,6 +298,8 @@ go(S *s, int channels, const float *in, float *out) sample open = 1 - wrap(4 * t - 0.50); closed *= closed; closed *= closed; + open *= open; + open *= open; closed *= 1.3; open *= 1.3; closed *= closed;
diff @ 2018-11-22 22:56:09 +0000 diff --git a/client/go.c b/client/go.c index 6426cce23..555bf82ad 100644 --- a/client/go.c +++ b/client/go.c @@ -327,7 +327,7 @@ go(S *s, int channels, const float *in, float *out) + (t < 0.5) * sin(8 * twopi * vcf(&s->vcf59[0], bosc, 4 * hz, 6)) + (t > 0.5) * sin(2 * twopi * vcf(&s->vcf59[1], bosc, 8 * hz, 4)) * 0.7; bass *= 1.5; - bass *= 1; + bass *= 0; o[0] += bass; o[1] += bass; }
diff @ 2018-11-22 22:56:19 +0000 diff --git a/client/go.c b/client/go.c index 555bf82ad..13c91e2d7 100644 --- a/client/go.c +++ b/client/go.c @@ -333,7 +333,7 @@ go(S *s, int channels, const float *in, float *out) } { // bell sample env = lop(&s->lop59[4], - 1 * clamp(2 * (0.5 - wrap(0.5 + 4 * t)), 0, 1), 15); + 1 * clamp(2 * (0.5 - wrap(0.25 + 4 * t)), 0, 1), 15); sample env2 = lop(&s->lop59[5], clamp ( 2 * (0.5 - wrap(8 * t))
diff @ 2018-11-22 22:56:24 +0000 diff --git a/client/go.c b/client/go.c index 13c91e2d7..555bf82ad 100644 --- a/client/go.c +++ b/client/go.c @@ -333,7 +333,7 @@ go(S *s, int channels, const float *in, float *out) } { // bell sample env = lop(&s->lop59[4], - 1 * clamp(2 * (0.5 - wrap(0.25 + 4 * t)), 0, 1), 15); + 1 * clamp(2 * (0.5 - wrap(0.5 + 4 * t)), 0, 1), 15); sample env2 = lop(&s->lop59[5], clamp ( 2 * (0.5 - wrap(8 * t))
diff @ 2018-11-22 22:56:29 +0000 diff --git a/client/go.c b/client/go.c index 555bf82ad..feab13007 100644 --- a/client/go.c +++ b/client/go.c @@ -333,7 +333,7 @@ go(S *s, int channels, const float *in, float *out) } { // bell sample env = lop(&s->lop59[4], - 1 * clamp(2 * (0.5 - wrap(0.5 + 4 * t)), 0, 1), 15); + 1 * clamp(2 * (0.5 - wrap(0.5 + 6 * t)), 0, 1), 15); sample env2 = lop(&s->lop59[5], clamp ( 2 * (0.5 - wrap(8 * t))
diff @ 2018-11-22 22:56:34 +0000 diff --git a/client/go.c b/client/go.c index feab13007..a5bda6d99 100644 --- a/client/go.c +++ b/client/go.c @@ -333,7 +333,7 @@ go(S *s, int channels, const float *in, float *out) } { // bell sample env = lop(&s->lop59[4], - 1 * clamp(2 * (0.5 - wrap(0.5 + 6 * t)), 0, 1), 15); + 1 * clamp(2 * (0.5 - wrap(0.25 + 6 * t)), 0, 1), 15); sample env2 = lop(&s->lop59[5], clamp ( 2 * (0.5 - wrap(8 * t))
diff @ 2018-11-22 22:56:41 +0000 diff --git a/client/go.c b/client/go.c index a5bda6d99..4646ef586 100644 --- a/client/go.c +++ b/client/go.c @@ -336,7 +336,7 @@ go(S *s, int channels, const float *in, float *out) 1 * clamp(2 * (0.5 - wrap(0.25 + 6 * t)), 0, 1), 15); sample env2 = lop(&s->lop59[5], clamp ( 2 - * (0.5 - wrap(8 * t)) + * (0.5 - wrap(12 * t)) * (wrap(4 * t) < 0.5) , 0, 1), 15); sample bell
diff @ 2018-11-22 22:56:52 +0000 diff --git a/client/go.c b/client/go.c index 4646ef586..a98dce42d 100644 --- a/client/go.c +++ b/client/go.c @@ -289,7 +289,7 @@ go(S *s, int channels, const float *in, float *out) sample kick = sin(twopi * phasor(&s->kick59[1], env + mod)); env2 = env2 + env2 * env2 * env2 * env2; kick = 4 * hip(&s->hip59[0], tanh(env2 * kick), 5); - kick *= 1; + kick *= 0; o[0] += kick; o[1] += kick; } @@ -327,7 +327,7 @@ go(S *s, int channels, const float *in, float *out) + (t < 0.5) * sin(8 * twopi * vcf(&s->vcf59[0], bosc, 4 * hz, 6)) + (t > 0.5) * sin(2 * twopi * vcf(&s->vcf59[1], bosc, 8 * hz, 4)) * 0.7; bass *= 1.5; - bass *= 0; + bass *= 1; o[0] += bass; o[1] += bass; }
diff @ 2018-11-22 22:56:58 +0000 diff --git a/client/go.c b/client/go.c index a98dce42d..5429bc000 100644 --- a/client/go.c +++ b/client/go.c @@ -322,7 +322,7 @@ go(S *s, int channels, const float *in, float *out) sample bosc = hip(&s->hip59[1], wrap(samphold(&s->sh59, lfo, osc) + osc) - osc, 5); sample bass - = sub + = sub * 3 + lop(&s->lop59[1], lop(&s->lop59[2], bosc, 1000), 1000) + (t < 0.5) * sin(8 * twopi * vcf(&s->vcf59[0], bosc, 4 * hz, 6)) + (t > 0.5) * sin(2 * twopi * vcf(&s->vcf59[1], bosc, 8 * hz, 4)) * 0.7;
diff @ 2018-11-22 22:57:03 +0000 diff --git a/client/go.c b/client/go.c index 5429bc000..a98dce42d 100644 --- a/client/go.c +++ b/client/go.c @@ -322,7 +322,7 @@ go(S *s, int channels, const float *in, float *out) sample bosc = hip(&s->hip59[1], wrap(samphold(&s->sh59, lfo, osc) + osc) - osc, 5); sample bass - = sub * 3 + = sub + lop(&s->lop59[1], lop(&s->lop59[2], bosc, 1000), 1000) + (t < 0.5) * sin(8 * twopi * vcf(&s->vcf59[0], bosc, 4 * hz, 6)) + (t > 0.5) * sin(2 * twopi * vcf(&s->vcf59[1], bosc, 8 * hz, 4)) * 0.7;
diff @ 2018-11-22 22:57:18 +0000 diff --git a/client/go.c b/client/go.c index a98dce42d..d146fb519 100644 --- a/client/go.c +++ b/client/go.c @@ -371,7 +371,7 @@ go(S *s, int channels, const float *in, float *out) } // = 6 = falling leaves ============================================== - int next = 0, t; + int next = 1, t; sample fl; { t = (s->leaves += next) / 6; @@ -383,7 +383,7 @@ go(S *s, int channels, const float *in, float *out) ((t & 0x1) << (t & 0xa))) >> 20)) ); o *= 0.3; - o = hip1(&s->leaveshi, o, 1); + o = hip1(&s->leaveshi, o, 40); o = lop1(&s->leaveslo, o, 4000); fl = o; }
diff @ 2018-11-22 22:57:31 +0000 diff --git a/client/go.c b/client/go.c index d146fb519..06fc1079c 100644 --- a/client/go.c +++ b/client/go.c @@ -391,7 +391,7 @@ go(S *s, int channels, const float *in, float *out) // = 7 = cavitation ================================================== { int n = 12; - int k = (t >> n) & 0x0; + int k = (t >> n) & 0xF; sample x = bytebeat(hash(k) ^ hash(0)) * 0.4 + 0.5; sample w = lop(&s->clop, 1/*28*/, 0.0001); vec4 size = {{ 1, 2, 4, 128 }};
diff @ 2018-11-22 22:57:35 +0000 diff --git a/client/go.c b/client/go.c index 06fc1079c..d68846056 100644 --- a/client/go.c +++ b/client/go.c @@ -396,8 +396,8 @@ go(S *s, int channels, const float *in, float *out) sample w = lop(&s->clop, 1/*28*/, 0.0001); vec4 size = {{ 1, 2, 4, 128 }}; vec4 source = {{ x, 1, 2, w }}; - vec4 earl = {{ 0.45, 1, 2, 1 }}; - vec4 earr = {{ 0.55, 1, 2, 1 }}; + vec4 earl = {{ 0.05, 1, 2, 1 }}; + vec4 earr = {{ 0.95, 1, 2, 1 }}; if ((next && (t & ((1 << n) - 1)) == 0) || (RESET && s->reloaded)) { reverb_init(&s->cverb, &size);
diff @ 2018-11-22 22:57:39 +0000 diff --git a/client/go.c b/client/go.c index d68846056..86e0c71af 100644 --- a/client/go.c +++ b/client/go.c @@ -393,7 +393,7 @@ go(S *s, int channels, const float *in, float *out) int n = 12; int k = (t >> n) & 0xF; sample x = bytebeat(hash(k) ^ hash(0)) * 0.4 + 0.5; - sample w = lop(&s->clop, 1/*28*/, 0.0001); + sample w = lop(&s->clop, 1/*28*/, 0.1); vec4 size = {{ 1, 2, 4, 128 }}; vec4 source = {{ x, 1, 2, w }}; vec4 earl = {{ 0.05, 1, 2, 1 }};
diff @ 2018-11-22 22:57:43 +0000 diff --git a/client/go.c b/client/go.c index 86e0c71af..dd947afe6 100644 --- a/client/go.c +++ b/client/go.c @@ -393,7 +393,7 @@ go(S *s, int channels, const float *in, float *out) int n = 12; int k = (t >> n) & 0xF; sample x = bytebeat(hash(k) ^ hash(0)) * 0.4 + 0.5; - sample w = lop(&s->clop, 1/*28*/, 0.1); + sample w = lop(&s->clop, 2/*28*/, 0.1); vec4 size = {{ 1, 2, 4, 128 }}; vec4 source = {{ x, 1, 2, w }}; vec4 earl = {{ 0.05, 1, 2, 1 }};
diff @ 2018-11-22 22:57:47 +0000 diff --git a/client/go.c b/client/go.c index dd947afe6..22dd483af 100644 --- a/client/go.c +++ b/client/go.c @@ -393,7 +393,7 @@ go(S *s, int channels, const float *in, float *out) int n = 12; int k = (t >> n) & 0xF; sample x = bytebeat(hash(k) ^ hash(0)) * 0.4 + 0.5; - sample w = lop(&s->clop, 2/*28*/, 0.1); + sample w = lop(&s->clop, 3/*28*/, 0.1); vec4 size = {{ 1, 2, 4, 128 }}; vec4 source = {{ x, 1, 2, w }}; vec4 earl = {{ 0.05, 1, 2, 1 }};
diff @ 2018-11-22 22:57:49 +0000 diff --git a/client/go.c b/client/go.c index 22dd483af..821f45a50 100644 --- a/client/go.c +++ b/client/go.c @@ -393,7 +393,7 @@ go(S *s, int channels, const float *in, float *out) int n = 12; int k = (t >> n) & 0xF; sample x = bytebeat(hash(k) ^ hash(0)) * 0.4 + 0.5; - sample w = lop(&s->clop, 3/*28*/, 0.1); + sample w = lop(&s->clop, 8/*28*/, 0.1); vec4 size = {{ 1, 2, 4, 128 }}; vec4 source = {{ x, 1, 2, w }}; vec4 earl = {{ 0.05, 1, 2, 1 }};
diff @ 2018-11-22 22:57:57 +0000 diff --git a/client/go.c b/client/go.c index 821f45a50..d1a439b95 100644 --- a/client/go.c +++ b/client/go.c @@ -393,7 +393,7 @@ go(S *s, int channels, const float *in, float *out) int n = 12; int k = (t >> n) & 0xF; sample x = bytebeat(hash(k) ^ hash(0)) * 0.4 + 0.5; - sample w = lop(&s->clop, 8/*28*/, 0.1); + sample w = lop(&s->clop, 32/*28*/, 0.1); vec4 size = {{ 1, 2, 4, 128 }}; vec4 source = {{ x, 1, 2, w }}; vec4 earl = {{ 0.05, 1, 2, 1 }};
diff @ 2018-11-22 22:58:07 +0000 diff --git a/client/go.c b/client/go.c index d1a439b95..88dbb3800 100644 --- a/client/go.c +++ b/client/go.c @@ -393,7 +393,7 @@ go(S *s, int channels, const float *in, float *out) int n = 12; int k = (t >> n) & 0xF; sample x = bytebeat(hash(k) ^ hash(0)) * 0.4 + 0.5; - sample w = lop(&s->clop, 32/*28*/, 0.1); + sample w = lop(&s->clop, 64, 0.1); vec4 size = {{ 1, 2, 4, 128 }}; vec4 source = {{ x, 1, 2, w }}; vec4 earl = {{ 0.05, 1, 2, 1 }};
diff @ 2018-11-22 22:58:12 +0000 diff --git a/client/go.c b/client/go.c index 88dbb3800..383e053c2 100644 --- a/client/go.c +++ b/client/go.c @@ -408,7 +408,7 @@ go(S *s, int channels, const float *in, float *out) o[0] = early_ref(&s->cerefl, fl, 0.2); o[1] = early_ref(&s->cerefr, fl, 0.2); sample tail[2]; - reverb(tail, &s->cverb, o, 500); + reverb(tail, &s->cverb, o, 1500); o[0] += 0.25 * tail[0]; o[1] += 0.25 * tail[1]; if (next)
diff @ 2018-11-22 22:58:21 +0000 diff --git a/client/go.c b/client/go.c index 383e053c2..73d9eeee0 100644 --- a/client/go.c +++ b/client/go.c @@ -408,7 +408,7 @@ go(S *s, int channels, const float *in, float *out) o[0] = early_ref(&s->cerefl, fl, 0.2); o[1] = early_ref(&s->cerefr, fl, 0.2); sample tail[2]; - reverb(tail, &s->cverb, o, 1500); + reverb(tail, &s->cverb, o, 5000); o[0] += 0.25 * tail[0]; o[1] += 0.25 * tail[1]; if (next)
diff @ 2018-11-22 22:58:24 +0000 diff --git a/client/go.c b/client/go.c index 73d9eeee0..34928439a 100644 --- a/client/go.c +++ b/client/go.c @@ -409,8 +409,8 @@ go(S *s, int channels, const float *in, float *out) o[1] = early_ref(&s->cerefr, fl, 0.2); sample tail[2]; reverb(tail, &s->cverb, o, 5000); - o[0] += 0.25 * tail[0]; - o[1] += 0.25 * tail[1]; + o[0] += 0.5 * tail[0]; + o[1] += 0.5 * tail[1]; if (next) { mixdown[0] = o[0];
diff @ 2018-11-22 22:58:29 +0000 diff --git a/client/go.c b/client/go.c index 34928439a..e58711e6d 100644 --- a/client/go.c +++ b/client/go.c @@ -377,7 +377,7 @@ go(S *s, int channels, const float *in, float *out) t = (s->leaves += next) / 6; sample o = bytebeat ( - (0x1111 * (((6 * (t >> 10)) & 0xf)|8) * t) >> + (0x1111111 * (((6 * (t >> 10)) & 0xf)|8) * t) >> ((20 - ((t >> 11) & 0xF)) + ((0x1111 * (((2 * (t >> 12)) & 0xf) | 8) * ((t & 0x1) << (t & 0xa))) >> 20))
diff @ 2018-11-22 22:58:31 +0000 diff --git a/client/go.c b/client/go.c index e58711e6d..ea084ad57 100644 --- a/client/go.c +++ b/client/go.c @@ -379,7 +379,7 @@ go(S *s, int channels, const float *in, float *out) ( (0x1111111 * (((6 * (t >> 10)) & 0xf)|8) * t) >> ((20 - ((t >> 11) & 0xF)) + - ((0x1111 * (((2 * (t >> 12)) & 0xf) | 8) * + ((0x1111111 * (((2 * (t >> 12)) & 0xf) | 8) * ((t & 0x1) << (t & 0xa))) >> 20)) ); o *= 0.3;
diff @ 2018-11-22 22:58:37 +0000 diff --git a/client/go.c b/client/go.c index ea084ad57..743ce84f2 100644 --- a/client/go.c +++ b/client/go.c @@ -379,7 +379,7 @@ go(S *s, int channels, const float *in, float *out) ( (0x1111111 * (((6 * (t >> 10)) & 0xf)|8) * t) >> ((20 - ((t >> 11) & 0xF)) + - ((0x1111111 * (((2 * (t >> 12)) & 0xf) | 8) * + ((0x1111111 * (((2 * (t >> 11)) & 0xf) | 8) * ((t & 0x1) << (t & 0xa))) >> 20)) ); o *= 0.3;
diff @ 2018-11-22 22:58:59 +0000 diff --git a/client/go.c b/client/go.c index 743ce84f2..eb1283966 100644 --- a/client/go.c +++ b/client/go.c @@ -376,11 +376,12 @@ go(S *s, int channels, const float *in, float *out) { t = (s->leaves += next) / 6; sample o = bytebeat - ( + ( ( (0x1111111 * (((6 * (t >> 10)) & 0xf)|8) * t) >> ((20 - ((t >> 11) & 0xF)) + ((0x1111111 * (((2 * (t >> 11)) & 0xf) | 8) * - ((t & 0x1) << (t & 0xa))) >> 20)) + ((t & 0x1) << (t & 0xa))) >> 20))) + * (t & 0x300) ); o *= 0.3; o = hip1(&s->leaveshi, o, 40);
diff @ 2018-11-22 22:59:03 +0000 diff --git a/client/go.c b/client/go.c index eb1283966..f85143d36 100644 --- a/client/go.c +++ b/client/go.c @@ -381,7 +381,7 @@ go(S *s, int channels, const float *in, float *out) ((20 - ((t >> 11) & 0xF)) + ((0x1111111 * (((2 * (t >> 11)) & 0xf) | 8) * ((t & 0x1) << (t & 0xa))) >> 20))) - * (t & 0x300) + * (t & 0x100) ); o *= 0.3; o = hip1(&s->leaveshi, o, 40);
diff @ 2018-11-22 22:59:06 +0000 diff --git a/client/go.c b/client/go.c index f85143d36..153a9e402 100644 --- a/client/go.c +++ b/client/go.c @@ -381,7 +381,7 @@ go(S *s, int channels, const float *in, float *out) ((20 - ((t >> 11) & 0xF)) + ((0x1111111 * (((2 * (t >> 11)) & 0xf) | 8) * ((t & 0x1) << (t & 0xa))) >> 20))) - * (t & 0x100) + * (t & 0x000) ); o *= 0.3; o = hip1(&s->leaveshi, o, 40);
diff @ 2018-11-22 22:59:15 +0000 diff --git a/client/go.c b/client/go.c index 153a9e402..53226a76f 100644 --- a/client/go.c +++ b/client/go.c @@ -423,7 +423,7 @@ go(S *s, int channels, const float *in, float *out) { //if (! next) compress(mixdown, &s->mixdown, 5, 10, 25, 48, mixdown); - sample volume = 1; + sample volume = 0; mixdown[0] *= volume; mixdown[1] *= volume; for (int c = 0; c < channels && c < 2; ++c)