a C audio live-coding skeleton
diff @ 2018-10-03 21:44:42 +0100 diff --git a/src/go.c b/src/go.c index 88c62a15..8102155d 100644 --- a/src/go.c +++ b/src/go.c @@ -10,7 +10,7 @@ // ===================================================================== // ===================================================================== -#define RESET 1 +#define RESET 0 #define SR 48000 #include "dsp.h"
diff @ 2018-10-03 21:44:53 +0100 diff --git a/src/go.c b/src/go.c index 8102155d..845ce351 100644 --- a/src/go.c +++ b/src/go.c @@ -227,9 +227,9 @@ go(S *s, int channels, const float *in, float *out) // pitchshift feedback for (int c = 0; c < 2; ++c) { double 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]); double 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-10-03 21:45:00 +0100 diff --git a/src/go.c b/src/go.c index 845ce351..cb2d4eef 100644 --- a/src/go.c +++ b/src/go.c @@ -227,9 +227,9 @@ go(S *s, int channels, const float *in, float *out) // pitchshift feedback for (int c = 0; c < 2; ++c) { double down = pitchshift(&s->so2.shift[2 * c + 0], 2, 100, - lop(&s->so2.lag[0], -12, 1e-4), feedback[c]); + lop(&s->so2.lag[0], -12, 1e-5), feedback[c]); double up = pitchshift(&s->so2.shift[2 * c + 1], 2, 100, - lop(&s->so2.lag[0], 19, 1e-4), down); + lop(&s->so2.lag[0], 19, 1e-5), down); feedback[c] = feedback[c] - down - up; } // compress feedback
diff @ 2018-10-03 21:45:09 +0100 diff --git a/src/go.c b/src/go.c index cb2d4eef..9009dbd4 100644 --- a/src/go.c +++ b/src/go.c @@ -227,9 +227,9 @@ go(S *s, int channels, const float *in, float *out) // pitchshift feedback for (int c = 0; c < 2; ++c) { double down = pitchshift(&s->so2.shift[2 * c + 0], 2, 100, - lop(&s->so2.lag[0], -12, 1e-5), feedback[c]); + lop(&s->so2.lag[0], -12, 1e-6), feedback[c]); double up = pitchshift(&s->so2.shift[2 * c + 1], 2, 100, - lop(&s->so2.lag[0], 19, 1e-5), down); + lop(&s->so2.lag[0], 19, 1e-6), down); feedback[c] = feedback[c] - down - up; } // compress feedback
diff @ 2018-10-03 21:45:17 +0100 diff --git a/src/go.c b/src/go.c index 9009dbd4..334abafd 100644 --- a/src/go.c +++ b/src/go.c @@ -240,7 +240,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], 20, 400, tanh(so2[c] + RESET*impulse[c])); } mixdown[0] += so2[0];
diff @ 2018-10-03 21:45:20 +0100 diff --git a/src/go.c b/src/go.c index 334abafd..eea7a142 100644 --- a/src/go.c +++ b/src/go.c @@ -240,7 +240,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, 400, + so2echo(&s->so2.echo[c], 30, 400, tanh(so2[c] + RESET*impulse[c])); } mixdown[0] += so2[0];
diff @ 2018-10-03 21:45:36 +0100 diff --git a/src/go.c b/src/go.c index eea7a142..55fd37a4 100644 --- a/src/go.c +++ b/src/go.c @@ -230,7 +230,7 @@ go(S *s, int channels, const float *in, float *out) lop(&s->so2.lag[0], -12, 1e-6), feedback[c]); double up = pitchshift(&s->so2.shift[2 * c + 1], 2, 100, lop(&s->so2.lag[0], 19, 1e-6), down); - feedback[c] = feedback[c] - down - up; + feedback[c] = sin((feedback[c] - down - up)); } // compress feedback double so2[2] = { 0, 0 };
diff @ 2018-10-03 21:45:40 +0100 diff --git a/src/go.c b/src/go.c index 55fd37a4..065d8282 100644 --- a/src/go.c +++ b/src/go.c @@ -240,7 +240,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], 30, 400, + so2echo(&s->so2.echo[c], 30, 300, tanh(so2[c] + RESET*impulse[c])); } mixdown[0] += so2[0];
diff @ 2018-10-03 21:45:46 +0100 diff --git a/src/go.c b/src/go.c index 065d8282..2fe2a9ee 100644 --- a/src/go.c +++ b/src/go.c @@ -230,7 +230,7 @@ go(S *s, int channels, const float *in, float *out) lop(&s->so2.lag[0], -12, 1e-6), feedback[c]); double up = pitchshift(&s->so2.shift[2 * c + 1], 2, 100, lop(&s->so2.lag[0], 19, 1e-6), down); - feedback[c] = sin((feedback[c] - down - up)); + feedback[c] = sin(1.1 * (feedback[c] - down - up)); } // compress feedback double so2[2] = { 0, 0 };
diff @ 2018-10-03 21:45:49 +0100 diff --git a/src/go.c b/src/go.c index 2fe2a9ee..51cece74 100644 --- a/src/go.c +++ b/src/go.c @@ -230,7 +230,7 @@ go(S *s, int channels, const float *in, float *out) lop(&s->so2.lag[0], -12, 1e-6), feedback[c]); double up = pitchshift(&s->so2.shift[2 * c + 1], 2, 100, lop(&s->so2.lag[0], 19, 1e-6), down); - feedback[c] = sin(1.1 * (feedback[c] - down - up)); + feedback[c] = sin(1.2 * (feedback[c] - down - up)); } // compress feedback double so2[2] = { 0, 0 };
diff @ 2018-10-03 21:45:51 +0100 diff --git a/src/go.c b/src/go.c index 51cece74..9ae52b4c 100644 --- a/src/go.c +++ b/src/go.c @@ -230,7 +230,7 @@ go(S *s, int channels, const float *in, float *out) lop(&s->so2.lag[0], -12, 1e-6), feedback[c]); double up = pitchshift(&s->so2.shift[2 * c + 1], 2, 100, lop(&s->so2.lag[0], 19, 1e-6), down); - feedback[c] = sin(1.2 * (feedback[c] - down - up)); + feedback[c] = sin(1.3 * (feedback[c] - down - up)); } // compress feedback double so2[2] = { 0, 0 };
diff @ 2018-10-03 21:45:52 +0100 diff --git a/src/go.c b/src/go.c index 9ae52b4c..a2f84b74 100644 --- a/src/go.c +++ b/src/go.c @@ -230,7 +230,7 @@ go(S *s, int channels, const float *in, float *out) lop(&s->so2.lag[0], -12, 1e-6), feedback[c]); double up = pitchshift(&s->so2.shift[2 * c + 1], 2, 100, lop(&s->so2.lag[0], 19, 1e-6), down); - feedback[c] = sin(1.3 * (feedback[c] - down - up)); + feedback[c] = sin(1.4 * (feedback[c] - down - up)); } // compress feedback double so2[2] = { 0, 0 };
diff @ 2018-10-03 21:45:55 +0100 diff --git a/src/go.c b/src/go.c index a2f84b74..ff6b3281 100644 --- a/src/go.c +++ b/src/go.c @@ -230,7 +230,7 @@ go(S *s, int channels, const float *in, float *out) lop(&s->so2.lag[0], -12, 1e-6), feedback[c]); double up = pitchshift(&s->so2.shift[2 * c + 1], 2, 100, lop(&s->so2.lag[0], 19, 1e-6), down); - feedback[c] = sin(1.4 * (feedback[c] - down - up)); + feedback[c] = sin(1.5 * (feedback[c] - down - up)); } // compress feedback double so2[2] = { 0, 0 };
diff @ 2018-10-03 21:46:01 +0100 diff --git a/src/go.c b/src/go.c index ff6b3281..2e8df4fe 100644 --- a/src/go.c +++ b/src/go.c @@ -240,7 +240,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], 30, 300, + so2echo(&s->so2.echo[c], 30, 250, tanh(so2[c] + RESET*impulse[c])); } mixdown[0] += so2[0];
diff @ 2018-10-03 21:46:05 +0100 diff --git a/src/go.c b/src/go.c index 2e8df4fe..be0ac47b 100644 --- a/src/go.c +++ b/src/go.c @@ -240,7 +240,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], 30, 250, + so2echo(&s->so2.echo[c], 40, 250, tanh(so2[c] + RESET*impulse[c])); } mixdown[0] += so2[0];
diff @ 2018-10-03 21:46:09 +0100 diff --git a/src/go.c b/src/go.c index be0ac47b..e221284b 100644 --- a/src/go.c +++ b/src/go.c @@ -230,7 +230,7 @@ go(S *s, int channels, const float *in, float *out) lop(&s->so2.lag[0], -12, 1e-6), feedback[c]); double up = pitchshift(&s->so2.shift[2 * c + 1], 2, 100, lop(&s->so2.lag[0], 19, 1e-6), down); - feedback[c] = sin(1.5 * (feedback[c] - down - up)); + feedback[c] = sin(1.6 * (feedback[c] - down - up)); } // compress feedback double so2[2] = { 0, 0 };
diff @ 2018-10-03 21:46:13 +0100 diff --git a/src/go.c b/src/go.c index e221284b..766ac034 100644 --- a/src/go.c +++ b/src/go.c @@ -230,7 +230,7 @@ go(S *s, int channels, const float *in, float *out) lop(&s->so2.lag[0], -12, 1e-6), feedback[c]); double up = pitchshift(&s->so2.shift[2 * c + 1], 2, 100, lop(&s->so2.lag[0], 19, 1e-6), down); - feedback[c] = sin(1.6 * (feedback[c] - down - up)); + feedback[c] = sin(1.8 * (feedback[c] - down - up)); } // compress feedback double so2[2] = { 0, 0 };
diff @ 2018-10-03 21:46:14 +0100 diff --git a/src/go.c b/src/go.c index 766ac034..1d931295 100644 --- a/src/go.c +++ b/src/go.c @@ -230,7 +230,7 @@ go(S *s, int channels, const float *in, float *out) lop(&s->so2.lag[0], -12, 1e-6), feedback[c]); double up = pitchshift(&s->so2.shift[2 * c + 1], 2, 100, lop(&s->so2.lag[0], 19, 1e-6), down); - feedback[c] = sin(1.8 * (feedback[c] - down - up)); + feedback[c] = sin(2 * (feedback[c] - down - up)); } // compress feedback double so2[2] = { 0, 0 };
diff @ 2018-10-03 21:46:21 +0100 diff --git a/src/go.c b/src/go.c index 1d931295..fd1a4e6d 100644 --- a/src/go.c +++ b/src/go.c @@ -240,7 +240,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], 40, 250, + so2echo(&s->so2.echo[c], 50, 250, tanh(so2[c] + RESET*impulse[c])); } mixdown[0] += so2[0];
diff @ 2018-10-03 21:46:25 +0100 diff --git a/src/go.c b/src/go.c index fd1a4e6d..154cb95c 100644 --- a/src/go.c +++ b/src/go.c @@ -230,7 +230,7 @@ go(S *s, int channels, const float *in, float *out) lop(&s->so2.lag[0], -12, 1e-6), feedback[c]); double up = pitchshift(&s->so2.shift[2 * c + 1], 2, 100, lop(&s->so2.lag[0], 19, 1e-6), down); - feedback[c] = sin(2 * (feedback[c] - down - up)); + feedback[c] = sin(2.2 * (feedback[c] - down - up)); } // compress feedback double so2[2] = { 0, 0 };
diff @ 2018-10-03 21:46:28 +0100 diff --git a/src/go.c b/src/go.c index 154cb95c..8edd4fda 100644 --- a/src/go.c +++ b/src/go.c @@ -230,7 +230,7 @@ go(S *s, int channels, const float *in, float *out) lop(&s->so2.lag[0], -12, 1e-6), feedback[c]); double up = pitchshift(&s->so2.shift[2 * c + 1], 2, 100, lop(&s->so2.lag[0], 19, 1e-6), down); - feedback[c] = sin(2.2 * (feedback[c] - down - up)); + feedback[c] = sin(2.4 * (feedback[c] - down - up)); } // compress feedback double so2[2] = { 0, 0 };
diff @ 2018-10-03 21:46:31 +0100 diff --git a/src/go.c b/src/go.c index 8edd4fda..ac5035e3 100644 --- a/src/go.c +++ b/src/go.c @@ -230,7 +230,7 @@ go(S *s, int channels, const float *in, float *out) lop(&s->so2.lag[0], -12, 1e-6), feedback[c]); double up = pitchshift(&s->so2.shift[2 * c + 1], 2, 100, lop(&s->so2.lag[0], 19, 1e-6), down); - feedback[c] = sin(2.4 * (feedback[c] - down - up)); + feedback[c] = sin(2.6 * (feedback[c] - down - up)); } // compress feedback double so2[2] = { 0, 0 };
diff @ 2018-10-03 21:46:34 +0100 diff --git a/src/go.c b/src/go.c index ac5035e3..8061b772 100644 --- a/src/go.c +++ b/src/go.c @@ -230,7 +230,7 @@ go(S *s, int channels, const float *in, float *out) lop(&s->so2.lag[0], -12, 1e-6), feedback[c]); double up = pitchshift(&s->so2.shift[2 * c + 1], 2, 100, lop(&s->so2.lag[0], 19, 1e-6), down); - feedback[c] = sin(2.6 * (feedback[c] - down - up)); + feedback[c] = sin(3 * (feedback[c] - down - up)); } // compress feedback double so2[2] = { 0, 0 };
diff @ 2018-10-03 21:46:38 +0100 diff --git a/src/go.c b/src/go.c index 8061b772..266ae10d 100644 --- a/src/go.c +++ b/src/go.c @@ -240,7 +240,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, 250, + so2echo(&s->so2.echo[c], 50, 220, tanh(so2[c] + RESET*impulse[c])); } mixdown[0] += so2[0];
diff @ 2018-10-03 21:46:41 +0100 diff --git a/src/go.c b/src/go.c index 266ae10d..2334113d 100644 --- a/src/go.c +++ b/src/go.c @@ -240,7 +240,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, 220, + so2echo(&s->so2.echo[c], 60, 220, tanh(so2[c] + RESET*impulse[c])); } mixdown[0] += so2[0];
diff @ 2018-10-03 21:46:47 +0100 diff --git a/src/go.c b/src/go.c index 2334113d..6b043dee 100644 --- a/src/go.c +++ b/src/go.c @@ -230,7 +230,7 @@ go(S *s, int channels, const float *in, float *out) lop(&s->so2.lag[0], -12, 1e-6), feedback[c]); double up = pitchshift(&s->so2.shift[2 * c + 1], 2, 100, lop(&s->so2.lag[0], 19, 1e-6), down); - feedback[c] = sin(3 * (feedback[c] - down - up)); + feedback[c] = sin(3.3 * (feedback[c] - down - up)); } // compress feedback double so2[2] = { 0, 0 };
diff @ 2018-10-03 21:46:54 +0100 diff --git a/src/go.c b/src/go.c index 6b043dee..2ff0d56d 100644 --- a/src/go.c +++ b/src/go.c @@ -240,7 +240,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], 60, 220, + so2echo(&s->so2.echo[c], 70, 220, tanh(so2[c] + RESET*impulse[c])); } mixdown[0] += so2[0];
diff @ 2018-10-03 21:46:59 +0100 diff --git a/src/go.c b/src/go.c index 2ff0d56d..7336131a 100644 --- a/src/go.c +++ b/src/go.c @@ -230,7 +230,7 @@ go(S *s, int channels, const float *in, float *out) lop(&s->so2.lag[0], -12, 1e-6), feedback[c]); double up = pitchshift(&s->so2.shift[2 * c + 1], 2, 100, lop(&s->so2.lag[0], 19, 1e-6), down); - feedback[c] = sin(3.3 * (feedback[c] - down - up)); + feedback[c] = sin(3.6 * (feedback[c] - down - up)); } // compress feedback double so2[2] = { 0, 0 };
diff @ 2018-10-03 21:47:02 +0100 diff --git a/src/go.c b/src/go.c index 7336131a..b36af624 100644 --- a/src/go.c +++ b/src/go.c @@ -240,7 +240,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], 70, 220, + so2echo(&s->so2.echo[c], 70, 200, tanh(so2[c] + RESET*impulse[c])); } mixdown[0] += so2[0];
diff @ 2018-10-03 21:47:07 +0100 diff --git a/src/go.c b/src/go.c index b36af624..e6570aa4 100644 --- a/src/go.c +++ b/src/go.c @@ -230,7 +230,7 @@ go(S *s, int channels, const float *in, float *out) lop(&s->so2.lag[0], -12, 1e-6), feedback[c]); double up = pitchshift(&s->so2.shift[2 * c + 1], 2, 100, lop(&s->so2.lag[0], 19, 1e-6), down); - feedback[c] = sin(3.6 * (feedback[c] - down - up)); + feedback[c] = sin(4 * (feedback[c] - down - up)); } // compress feedback double so2[2] = { 0, 0 };
diff @ 2018-10-03 21:47:11 +0100 diff --git a/src/go.c b/src/go.c index e6570aa4..1e2cb5f9 100644 --- a/src/go.c +++ b/src/go.c @@ -240,7 +240,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], 70, 200, + so2echo(&s->so2.echo[c], 70, 180, tanh(so2[c] + RESET*impulse[c])); } mixdown[0] += so2[0];
diff @ 2018-10-03 21:47:15 +0100 diff --git a/src/go.c b/src/go.c index 1e2cb5f9..129d27e1 100644 --- a/src/go.c +++ b/src/go.c @@ -230,7 +230,7 @@ go(S *s, int channels, const float *in, float *out) lop(&s->so2.lag[0], -12, 1e-6), feedback[c]); double up = pitchshift(&s->so2.shift[2 * c + 1], 2, 100, lop(&s->so2.lag[0], 19, 1e-6), down); - feedback[c] = sin(4 * (feedback[c] - down - up)); + feedback[c] = sin(4.3 * (feedback[c] - down - up)); } // compress feedback double so2[2] = { 0, 0 };
diff @ 2018-10-03 21:47:19 +0100 diff --git a/src/go.c b/src/go.c index 129d27e1..9eb35f9e 100644 --- a/src/go.c +++ b/src/go.c @@ -240,7 +240,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], 70, 180, + so2echo(&s->so2.echo[c], 80, 180, tanh(so2[c] + RESET*impulse[c])); } mixdown[0] += so2[0];
diff @ 2018-10-03 21:47:23 +0100 diff --git a/src/go.c b/src/go.c index 9eb35f9e..f0eb1a90 100644 --- a/src/go.c +++ b/src/go.c @@ -230,7 +230,7 @@ go(S *s, int channels, const float *in, float *out) lop(&s->so2.lag[0], -12, 1e-6), feedback[c]); double up = pitchshift(&s->so2.shift[2 * c + 1], 2, 100, lop(&s->so2.lag[0], 19, 1e-6), down); - feedback[c] = sin(4.3 * (feedback[c] - down - up)); + feedback[c] = sin(4.7 * (feedback[c] - down - up)); } // compress feedback double so2[2] = { 0, 0 };
diff @ 2018-10-03 21:47:28 +0100 diff --git a/src/go.c b/src/go.c index f0eb1a90..f377f1ed 100644 --- a/src/go.c +++ b/src/go.c @@ -240,7 +240,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], 80, 180, + so2echo(&s->so2.echo[c], 80, 150, tanh(so2[c] + RESET*impulse[c])); } mixdown[0] += so2[0];
diff @ 2018-10-03 21:47:30 +0100 diff --git a/src/go.c b/src/go.c index f377f1ed..b7208a12 100644 --- a/src/go.c +++ b/src/go.c @@ -240,7 +240,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], 80, 150, + so2echo(&s->so2.echo[c], 100, 150, tanh(so2[c] + RESET*impulse[c])); } mixdown[0] += so2[0];
diff @ 2018-10-03 21:47:34 +0100 diff --git a/src/go.c b/src/go.c index b7208a12..5324959e 100644 --- a/src/go.c +++ b/src/go.c @@ -230,7 +230,7 @@ go(S *s, int channels, const float *in, float *out) lop(&s->so2.lag[0], -12, 1e-6), feedback[c]); double up = pitchshift(&s->so2.shift[2 * c + 1], 2, 100, lop(&s->so2.lag[0], 19, 1e-6), down); - feedback[c] = sin(4.7 * (feedback[c] - down - up)); + feedback[c] = sin(5 * (feedback[c] - down - up)); } // compress feedback double so2[2] = { 0, 0 };
diff @ 2018-10-03 21:47:39 +0100 diff --git a/src/go.c b/src/go.c index 5324959e..c7faad7e 100644 --- a/src/go.c +++ b/src/go.c @@ -240,7 +240,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], 100, 150, + so2echo(&s->so2.echo[c], 120, 150, tanh(so2[c] + RESET*impulse[c])); } mixdown[0] += so2[0];
diff @ 2018-10-03 21:47:42 +0100 diff --git a/src/go.c b/src/go.c index c7faad7e..c9c159ed 100644 --- a/src/go.c +++ b/src/go.c @@ -230,7 +230,7 @@ go(S *s, int channels, const float *in, float *out) lop(&s->so2.lag[0], -12, 1e-6), feedback[c]); double up = pitchshift(&s->so2.shift[2 * c + 1], 2, 100, lop(&s->so2.lag[0], 19, 1e-6), down); - feedback[c] = sin(5 * (feedback[c] - down - up)); + feedback[c] = sin(6 * (feedback[c] - down - up)); } // compress feedback double so2[2] = { 0, 0 };
diff @ 2018-10-03 21:47:46 +0100 diff --git a/src/go.c b/src/go.c index c9c159ed..5d81424d 100644 --- a/src/go.c +++ b/src/go.c @@ -240,7 +240,7 @@ go(S *s, int channels, const float *in, float *out) so2[1] *= gain; // write to delay lines for (int c = 0; c < 2; ++c) { - so2echo(&s->so2.echo[c], 120, 150, + so2echo(&s->so2.echo[c], 120, 120, tanh(so2[c] + RESET*impulse[c])); } mixdown[0] += so2[0];
diff @ 2018-10-03 21:47:51 +0100 diff --git a/src/go.c b/src/go.c index 5d81424d..27217eb8 100644 --- a/src/go.c +++ b/src/go.c @@ -230,7 +230,7 @@ go(S *s, int channels, const float *in, float *out) lop(&s->so2.lag[0], -12, 1e-6), feedback[c]); double up = pitchshift(&s->so2.shift[2 * c + 1], 2, 100, lop(&s->so2.lag[0], 19, 1e-6), down); - feedback[c] = sin(6 * (feedback[c] - down - up)); + feedback[c] = sin(7 * (feedback[c] - down - up)); } // compress feedback double so2[2] = { 0, 0 };
diff @ 2018-10-03 21:48:20 +0100 diff --git a/src/go.c b/src/go.c index 27217eb8..2c2087af 100644 --- a/src/go.c +++ b/src/go.c @@ -197,6 +197,8 @@ typedef struct // =================================================================== // = append only data structure + BIQUAD sow[2]; + } S; // ===================================================================== @@ -230,7 +232,7 @@ go(S *s, int channels, const float *in, float *out) lop(&s->so2.lag[0], -12, 1e-6), feedback[c]); double up = pitchshift(&s->so2.shift[2 * c + 1], 2, 100, lop(&s->so2.lag[0], 19, 1e-6), down); - feedback[c] = sin(7 * (feedback[c] - down - up)); + feedback[c] = sin(7.5 * (feedback[c] - down - up)); } // compress feedback double so2[2] = { 0, 0 };
diff @ 2018-10-03 21:48:24 +0100 diff --git a/src/go.c b/src/go.c index 2c2087af..1e556976 100644 --- a/src/go.c +++ b/src/go.c @@ -242,7 +242,7 @@ go(S *s, int channels, const float *in, float *out) so2[1] *= gain; // write to delay lines for (int c = 0; c < 2; ++c) { - so2echo(&s->so2.echo[c], 120, 120, + so2echo(&s->so2.echo[c], 150, 120, tanh(so2[c] + RESET*impulse[c])); } mixdown[0] += so2[0];
diff @ 2018-10-03 21:48:28 +0100 diff --git a/src/go.c b/src/go.c index 1e556976..a4cb3155 100644 --- a/src/go.c +++ b/src/go.c @@ -242,7 +242,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], 150, 120, + so2echo(&s->so2.echo[c], 150, 150, tanh(so2[c] + RESET*impulse[c])); } mixdown[0] += so2[0];
diff @ 2018-10-03 21:48:32 +0100 diff --git a/src/go.c b/src/go.c index a4cb3155..b1dd45a2 100644 --- a/src/go.c +++ b/src/go.c @@ -232,7 +232,7 @@ go(S *s, int channels, const float *in, float *out) lop(&s->so2.lag[0], -12, 1e-6), feedback[c]); double up = pitchshift(&s->so2.shift[2 * c + 1], 2, 100, lop(&s->so2.lag[0], 19, 1e-6), down); - feedback[c] = sin(7.5 * (feedback[c] - down - up)); + feedback[c] = sin(8 * (feedback[c] - down - up)); } // compress feedback double so2[2] = { 0, 0 };
diff @ 2018-10-03 21:48:36 +0100 diff --git a/src/go.c b/src/go.c index b1dd45a2..2f473077 100644 --- a/src/go.c +++ b/src/go.c @@ -232,7 +232,7 @@ go(S *s, int channels, const float *in, float *out) lop(&s->so2.lag[0], -12, 1e-6), feedback[c]); double up = pitchshift(&s->so2.shift[2 * c + 1], 2, 100, lop(&s->so2.lag[0], 19, 1e-6), down); - feedback[c] = sin(8 * (feedback[c] - down - up)); + feedback[c] = sin(9 * (feedback[c] - down - up)); } // compress feedback double so2[2] = { 0, 0 };
diff @ 2018-10-03 21:48:42 +0100 diff --git a/src/go.c b/src/go.c index 2f473077..9e2a1661 100644 --- a/src/go.c +++ b/src/go.c @@ -232,7 +232,7 @@ go(S *s, int channels, const float *in, float *out) lop(&s->so2.lag[0], -12, 1e-6), feedback[c]); double up = pitchshift(&s->so2.shift[2 * c + 1], 2, 100, lop(&s->so2.lag[0], 19, 1e-6), down); - feedback[c] = sin(9 * (feedback[c] - down - up)); + feedback[c] = sin(10 * (feedback[c] - down - up)); } // compress feedback double so2[2] = { 0, 0 };
diff @ 2018-10-03 21:48:51 +0100 diff --git a/src/go.c b/src/go.c index 9e2a1661..a7b5a8db 100644 --- a/src/go.c +++ b/src/go.c @@ -242,7 +242,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], 150, 150, + so2echo(&s->so2.echo[c], 200, 200, tanh(so2[c] + RESET*impulse[c])); } mixdown[0] += so2[0];
diff @ 2018-10-03 21:49:01 +0100 diff --git a/src/go.c b/src/go.c index a7b5a8db..1cbffd3c 100644 --- a/src/go.c +++ b/src/go.c @@ -232,7 +232,7 @@ go(S *s, int channels, const float *in, float *out) lop(&s->so2.lag[0], -12, 1e-6), feedback[c]); double up = pitchshift(&s->so2.shift[2 * c + 1], 2, 100, lop(&s->so2.lag[0], 19, 1e-6), down); - feedback[c] = sin(10 * (feedback[c] - down - up)); + feedback[c] = sin(15 * (feedback[c] - down - up)); } // compress feedback double so2[2] = { 0, 0 }; @@ -242,7 +242,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], 200, 200, + so2echo(&s->so2.echo[c], 20, 200, tanh(so2[c] + RESET*impulse[c])); } mixdown[0] += so2[0];
diff @ 2018-10-03 21:49:06 +0100 diff --git a/src/go.c b/src/go.c index 1cbffd3c..097adf59 100644 --- a/src/go.c +++ b/src/go.c @@ -232,7 +232,7 @@ go(S *s, int channels, const float *in, float *out) lop(&s->so2.lag[0], -12, 1e-6), feedback[c]); double up = pitchshift(&s->so2.shift[2 * c + 1], 2, 100, lop(&s->so2.lag[0], 19, 1e-6), down); - feedback[c] = sin(15 * (feedback[c] - down - up)); + feedback[c] = sin(25 * (feedback[c] - down - up)); } // compress feedback double so2[2] = { 0, 0 };
diff @ 2018-10-03 21:49:11 +0100 diff --git a/src/go.c b/src/go.c index 097adf59..f283d32b 100644 --- a/src/go.c +++ b/src/go.c @@ -242,7 +242,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, 200, + so2echo(&s->so2.echo[c], 20, 20, tanh(so2[c] + RESET*impulse[c])); } mixdown[0] += so2[0];
diff @ 2018-10-03 21:49:33 +0100 diff --git a/src/go.c b/src/go.c index f283d32b..860db22c 100644 --- a/src/go.c +++ b/src/go.c @@ -321,8 +321,8 @@ go(S *s, int channels, const float *in, float *out) pink_init(&s->pink[0], 10, 0x1cedCafe + 0); pink_init(&s->pink[1], 10, 0x1cedCafe + 1); } - double na = env * pink(&s->pink[0]); - double nb = env * pink(&s->pink[1]); + double na = env * so2[0]; + double nb = env * so2[1]; double q = 10; na *= 10; nb *= 10;
diff @ 2018-10-03 21:49:36 +0100 diff --git a/src/go.c b/src/go.c index 860db22c..253d0510 100644 --- a/src/go.c +++ b/src/go.c @@ -341,7 +341,7 @@ go(S *s, int channels, const float *in, float *out) pnoise[0] = na; pnoise[1] = nb; compress(pnoise, &s->pcompress, 5, 10, 25, 48, pnoise); - double gain = 0; + double gain = 1; pnoise[0] *= gain; pnoise[1] *= gain; mixdown[0] += pnoise[0];
diff @ 2018-10-03 21:49:42 +0100 diff --git a/src/go.c b/src/go.c index 253d0510..d0c4c826 100644 --- a/src/go.c +++ b/src/go.c @@ -323,7 +323,7 @@ go(S *s, int channels, const float *in, float *out) } double na = env * so2[0]; double nb = env * so2[1]; - double q = 10; + double q = 20; na *= 10; nb *= 10; na = vcf(&s->pvcf[0], na * q, freq, q);
diff @ 2018-10-03 21:49:52 +0100 diff --git a/src/go.c b/src/go.c index d0c4c826..3fed42af 100644 --- a/src/go.c +++ b/src/go.c @@ -257,7 +257,7 @@ go(S *s, int channels, const float *in, float *out) int n = (time / 5) & ((1 << N) - 1); double zeroes = clamp(count_trailing_zeroes(n), 0, N); double probability = pow(0.5, N - zeroes); - probability = (0.5 + 0 * (n >= 0xC001)) * probability - 0.5; + probability = (4.5 + 0 * (n >= 0xC001)) * probability - 0.5; probability = clamp(probability, 0, 1); double uniform = rand() / (double) RAND_MAX; double trigger = uniform < probability; @@ -267,7 +267,7 @@ go(S *s, int channels, const float *in, float *out) freq = 10 * samphold(&s->bsh, harmonic, 1 - trigger); freq = lop(&s->bfreq, freq, 20); } - env = 0.5; +// env = 0.5; freq = 50; // ===================================================================
diff @ 2018-10-03 21:49:59 +0100 diff --git a/src/go.c b/src/go.c index 3fed42af..7fa5def5 100644 --- a/src/go.c +++ b/src/go.c @@ -268,7 +268,7 @@ go(S *s, int channels, const float *in, float *out) freq = lop(&s->bfreq, freq, 20); } // env = 0.5; - freq = 50; + freq = 100; // =================================================================== // = 3 = total intraliminal extraction
diff @ 2018-10-03 21:50:08 +0100 diff --git a/src/go.c b/src/go.c index 7fa5def5..998e502d 100644 --- a/src/go.c +++ b/src/go.c @@ -323,7 +323,7 @@ go(S *s, int channels, const float *in, float *out) } double na = env * so2[0]; double nb = env * so2[1]; - double q = 20; + double q = 30; na *= 10; nb *= 10; na = vcf(&s->pvcf[0], na * q, freq, q);
diff @ 2018-10-03 21:50:11 +0100 diff --git a/src/go.c b/src/go.c index 998e502d..a58711aa 100644 --- a/src/go.c +++ b/src/go.c @@ -323,7 +323,7 @@ go(S *s, int channels, const float *in, float *out) } double na = env * so2[0]; double nb = env * so2[1]; - double q = 30; + double q = 50; na *= 10; nb *= 10; na = vcf(&s->pvcf[0], na * q, freq, q);
diff @ 2018-10-03 21:50:14 +0100 diff --git a/src/go.c b/src/go.c index a58711aa..66f222c3 100644 --- a/src/go.c +++ b/src/go.c @@ -323,7 +323,7 @@ go(S *s, int channels, const float *in, float *out) } double na = env * so2[0]; double nb = env * so2[1]; - double q = 50; + double q = 100; na *= 10; nb *= 10; na = vcf(&s->pvcf[0], na * q, freq, q);
diff @ 2018-10-03 21:50:30 +0100 diff --git a/src/go.c b/src/go.c index 66f222c3..ab0f4c22 100644 --- a/src/go.c +++ b/src/go.c @@ -263,12 +263,12 @@ go(S *s, int channels, const float *in, float *out) double trigger = uniform < probability; s->benv.y += trigger; env = lop(&s->benv, 0, 5); - double harmonic = 5 + clamp(N - zeroes, 0, 20); - freq = 10 * samphold(&s->bsh, harmonic, 1 - trigger); + double harmonic = 5 + clamp(N - zeroes - 3, 0, 20); + freq = 20 * samphold(&s->bsh, harmonic, 1 - trigger); freq = lop(&s->bfreq, freq, 20); } // env = 0.5; - freq = 100; +// freq = 100; // =================================================================== // = 3 = total intraliminal extraction
diff @ 2018-10-03 21:50:41 +0100 diff --git a/src/go.c b/src/go.c index ab0f4c22..7b6b7057 100644 --- a/src/go.c +++ b/src/go.c @@ -257,7 +257,7 @@ go(S *s, int channels, const float *in, float *out) int n = (time / 5) & ((1 << N) - 1); double zeroes = clamp(count_trailing_zeroes(n), 0, N); double probability = pow(0.5, N - zeroes); - probability = (4.5 + 0 * (n >= 0xC001)) * probability - 0.5; + probability = (5.5 + 0 * (n >= 0xC001)) * probability - 0.5; probability = clamp(probability, 0, 1); double uniform = rand() / (double) RAND_MAX; double trigger = uniform < probability;
diff @ 2018-10-03 21:50:43 +0100 diff --git a/src/go.c b/src/go.c index 7b6b7057..5b6af5bd 100644 --- a/src/go.c +++ b/src/go.c @@ -257,7 +257,7 @@ go(S *s, int channels, const float *in, float *out) int n = (time / 5) & ((1 << N) - 1); double zeroes = clamp(count_trailing_zeroes(n), 0, N); double probability = pow(0.5, N - zeroes); - probability = (5.5 + 0 * (n >= 0xC001)) * probability - 0.5; + probability = (6.5 + 0 * (n >= 0xC001)) * probability - 0.5; probability = clamp(probability, 0, 1); double uniform = rand() / (double) RAND_MAX; double trigger = uniform < probability;
diff @ 2018-10-03 21:50:46 +0100 diff --git a/src/go.c b/src/go.c index 5b6af5bd..64968195 100644 --- a/src/go.c +++ b/src/go.c @@ -257,7 +257,7 @@ go(S *s, int channels, const float *in, float *out) int n = (time / 5) & ((1 << N) - 1); double zeroes = clamp(count_trailing_zeroes(n), 0, N); double probability = pow(0.5, N - zeroes); - probability = (6.5 + 0 * (n >= 0xC001)) * probability - 0.5; + probability = (6.5 + 4 * (n >= 0xC001)) * probability - 0.5; probability = clamp(probability, 0, 1); double uniform = rand() / (double) RAND_MAX; double trigger = uniform < probability;
diff @ 2018-10-03 21:50:56 +0100 diff --git a/src/go.c b/src/go.c index 64968195..c6005398 100644 --- a/src/go.c +++ b/src/go.c @@ -324,8 +324,8 @@ go(S *s, int channels, const float *in, float *out) double na = env * so2[0]; double nb = env * so2[1]; double q = 100; - na *= 10; - nb *= 10; + na *= 5; + nb *= 5; na = vcf(&s->pvcf[0], na * q, freq, q); nb = vcf(&s->pvcf[1], nb * q, freq, q); na = sin(na);
diff @ 2018-10-03 21:51:07 +0100 diff --git a/src/go.c b/src/go.c index c6005398..507f5a3a 100644 --- a/src/go.c +++ b/src/go.c @@ -242,7 +242,7 @@ go(S *s, int channels, const float *in, float *out) so2[1] *= gain; // write to delay lines for (int c = 0; c < 2; ++c) { - so2echo(&s->so2.echo[c], 20, 20, + so2echo(&s->so2.echo[c], 40, 40, tanh(so2[c] + RESET*impulse[c])); } mixdown[0] += so2[0];
diff @ 2018-10-03 21:51:19 +0100 diff --git a/src/go.c b/src/go.c index 507f5a3a..b6c0b33d 100644 --- a/src/go.c +++ b/src/go.c @@ -299,7 +299,7 @@ go(S *s, int channels, const float *in, float *out) double crush = phasor(&s->tcrush, 2000); tilex[0] = samphold(&s->tcrushsh[0], noise() * hat, crush); tilex[1] = samphold(&s->tcrushsh[1], noise() * hat, crush); - double kgain = 0; + double kgain = 1; kgain = samphold(&s->tgate[0], kgain, p); tilex[0] += kgain * kick; tilex[1] += kgain * kick;
diff @ 2018-10-03 21:51:34 +0100 diff --git a/src/go.c b/src/go.c index b6c0b33d..98361b0d 100644 --- a/src/go.c +++ b/src/go.c @@ -290,9 +290,9 @@ go(S *s, int channels, const float *in, float *out) kick *= 1 + kickenv; kick = tanh(kick); double hat = wrap(16 * p + 0.5) < 0.5; - hat *= 0; + hat *= 1; double 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, 15)*15)*2; kick += sin(vcf(&s->tkick[1], kick, khz * 2, 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-10-03 21:51:39 +0100 diff --git a/src/go.c b/src/go.c index 98361b0d..78ae8254 100644 --- a/src/go.c +++ b/src/go.c @@ -289,7 +289,7 @@ go(S *s, int channels, const float *in, float *out) kick = sin(twopi * kick); kick *= 1 + kickenv; kick = tanh(kick); - double hat = wrap(16 * p + 0.5) < 0.5; + double hat = wrap(16 * p + 0.5) < 0.25; hat *= 1; double 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-10-03 21:51:43 +0100 diff --git a/src/go.c b/src/go.c index 78ae8254..259dc806 100644 --- a/src/go.c +++ b/src/go.c @@ -289,7 +289,7 @@ go(S *s, int channels, const float *in, float *out) kick = sin(twopi * kick); kick *= 1 + kickenv; kick = tanh(kick); - double hat = wrap(16 * p + 0.5) < 0.25; + double hat = wrap(16 * p + 0.5) < 0.125; hat *= 1; double 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-10-03 21:51:48 +0100 diff --git a/src/go.c b/src/go.c index 259dc806..d8d751f5 100644 --- a/src/go.c +++ b/src/go.c @@ -296,7 +296,7 @@ go(S *s, int channels, const float *in, float *out) kick += sin(vcf(&s->tkick[1], kick, khz * 2, 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); - double crush = phasor(&s->tcrush, 2000); + double crush = phasor(&s->tcrush, 4000); tilex[0] = samphold(&s->tcrushsh[0], noise() * hat, crush); tilex[1] = samphold(&s->tcrushsh[1], noise() * hat, crush); double kgain = 1;
diff @ 2018-10-03 21:51:52 +0100 diff --git a/src/go.c b/src/go.c index d8d751f5..a6c56792 100644 --- a/src/go.c +++ b/src/go.c @@ -290,7 +290,7 @@ go(S *s, int channels, const float *in, float *out) kick *= 1 + kickenv; kick = tanh(kick); double hat = wrap(16 * p + 0.5) < 0.125; - hat *= 1; + hat *= 2; double 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 * 2, 5)*5);
diff @ 2018-10-03 21:51:58 +0100 diff --git a/src/go.c b/src/go.c index a6c56792..053f8fd7 100644 --- a/src/go.c +++ b/src/go.c @@ -292,7 +292,7 @@ go(S *s, int channels, const float *in, float *out) double hat = wrap(16 * p + 0.5) < 0.125; hat *= 2; double 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, 25)*25)*2; kick += sin(vcf(&s->tkick[1], kick, khz * 2, 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-10-03 21:52:04 +0100 diff --git a/src/go.c b/src/go.c index 053f8fd7..c36ab0af 100644 --- a/src/go.c +++ b/src/go.c @@ -245,8 +245,8 @@ go(S *s, int channels, const float *in, float *out) so2echo(&s->so2.echo[c], 40, 40, tanh(so2[c] + RESET*impulse[c])); } - mixdown[0] += so2[0]; - mixdown[1] += so2[1]; +// mixdown[0] += so2[0]; +// mixdown[1] += so2[1]; // =================================================================== // = 2 = binaray
diff @ 2018-10-03 21:52:12 +0100 diff --git a/src/go.c b/src/go.c index c36ab0af..9c99143f 100644 --- a/src/go.c +++ b/src/go.c @@ -293,7 +293,7 @@ go(S *s, int channels, const float *in, float *out) hat *= 2; double 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 * 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); double crush = phasor(&s->tcrush, 4000);
diff @ 2018-10-03 21:52:17 +0100 diff --git a/src/go.c b/src/go.c index 9c99143f..440f0e2a 100644 --- a/src/go.c +++ b/src/go.c @@ -293,7 +293,7 @@ go(S *s, int channels, const float *in, float *out) hat *= 2; double 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, 5)*5); + 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); double crush = phasor(&s->tcrush, 4000);
diff @ 2018-10-03 21:52:25 +0100 diff --git a/src/go.c b/src/go.c index 440f0e2a..4461d7b5 100644 --- a/src/go.c +++ b/src/go.c @@ -294,8 +294,8 @@ go(S *s, int channels, const float *in, float *out) double 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, 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); + kick += sin(vcf(&s->tkick[2], kick, khz*7, 5)*5) + * sin(vcf(&s->tkick[3], kick, khz*9, 5)*5); double crush = phasor(&s->tcrush, 4000); tilex[0] = samphold(&s->tcrushsh[0], noise() * hat, crush); tilex[1] = samphold(&s->tcrushsh[1], noise() * hat, crush);
diff @ 2018-10-03 21:52:31 +0100 diff --git a/src/go.c b/src/go.c index 4461d7b5..0ed73591 100644 --- a/src/go.c +++ b/src/go.c @@ -294,8 +294,8 @@ go(S *s, int channels, const float *in, float *out) double 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, 15)*15); - 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, 25)*15) + * sin(vcf(&s->tkick[3], kick, khz*9, 25)*15); double crush = phasor(&s->tcrush, 4000); tilex[0] = samphold(&s->tcrushsh[0], noise() * hat, crush); tilex[1] = samphold(&s->tcrushsh[1], noise() * hat, crush);
diff @ 2018-10-03 21:52:51 +0100 diff --git a/src/go.c b/src/go.c index 0ed73591..22eca087 100644 --- a/src/go.c +++ b/src/go.c @@ -293,7 +293,7 @@ go(S *s, int channels, const float *in, float *out) hat *= 2; double 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, 15)*15); + kick += sin(vcf(&s->tkick[1], kick, khz * (wrap(4 * p)<0.5?3:4), 15)*15); kick += sin(vcf(&s->tkick[2], kick, khz*7, 25)*15) * sin(vcf(&s->tkick[3], kick, khz*9, 25)*15); double crush = phasor(&s->tcrush, 4000);
diff @ 2018-10-03 21:53:01 +0100 diff --git a/src/go.c b/src/go.c index 22eca087..c60dbe5a 100644 --- a/src/go.c +++ b/src/go.c @@ -293,7 +293,7 @@ go(S *s, int channels, const float *in, float *out) hat *= 2; double 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 * (wrap(4 * p)<0.5?3:4), 15)*15); + kick += sin(vcf(&s->tkick[1], kick, khz * (wrap(4 * p)<0.5?3:4), 25)*25); kick += sin(vcf(&s->tkick[2], kick, khz*7, 25)*15) * sin(vcf(&s->tkick[3], kick, khz*9, 25)*15); double crush = phasor(&s->tcrush, 4000);
diff @ 2018-10-03 21:53:08 +0100 diff --git a/src/go.c b/src/go.c index c60dbe5a..df2d7f41 100644 --- a/src/go.c +++ b/src/go.c @@ -293,7 +293,7 @@ go(S *s, int channels, const float *in, float *out) hat *= 2; double 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 * (wrap(4 * p)<0.5?3:4), 25)*25); + kick += sin(vcf(&s->tkick[1], kick, khz * (wrap(4 * p)<0.5?3:5), 25)*25); kick += sin(vcf(&s->tkick[2], kick, khz*7, 25)*15) * sin(vcf(&s->tkick[3], kick, khz*9, 25)*15); double crush = phasor(&s->tcrush, 4000);
diff @ 2018-10-03 21:53:20 +0100 diff --git a/src/go.c b/src/go.c index df2d7f41..aaca3e49 100644 --- a/src/go.c +++ b/src/go.c @@ -292,7 +292,7 @@ go(S *s, int channels, const float *in, float *out) double hat = wrap(16 * p + 0.5) < 0.125; hat *= 2; double khz = 50 + 10 * (wrap(8 * p) > 1) + 25 * (wrap(2 * p) > 1); - kick +=tanh(vcf(&s->tkick[0], kick, khz, 25)*25)*2; + kick +=tanh(vcf(&s->tkick[0], kick, khz, 30)*25)*2; kick += sin(vcf(&s->tkick[1], kick, khz * (wrap(4 * p)<0.5?3:5), 25)*25); kick += sin(vcf(&s->tkick[2], kick, khz*7, 25)*15) * sin(vcf(&s->tkick[3], kick, khz*9, 25)*15);
diff @ 2018-10-03 21:53:29 +0100 diff --git a/src/go.c b/src/go.c index aaca3e49..754f1035 100644 --- a/src/go.c +++ b/src/go.c @@ -296,7 +296,7 @@ go(S *s, int channels, const float *in, float *out) kick += sin(vcf(&s->tkick[1], kick, khz * (wrap(4 * p)<0.5?3:5), 25)*25); kick += sin(vcf(&s->tkick[2], kick, khz*7, 25)*15) * sin(vcf(&s->tkick[3], kick, khz*9, 25)*15); - double crush = phasor(&s->tcrush, 4000); + double crush = phasor(&s->tcrush, 4000 * pow(2, p)); tilex[0] = samphold(&s->tcrushsh[0], noise() * hat, crush); tilex[1] = samphold(&s->tcrushsh[1], noise() * hat, crush); double kgain = 1;
diff @ 2018-10-03 21:53:35 +0100 diff --git a/src/go.c b/src/go.c index 754f1035..98dac996 100644 --- a/src/go.c +++ b/src/go.c @@ -289,7 +289,7 @@ go(S *s, int channels, const float *in, float *out) kick = sin(twopi * kick); kick *= 1 + kickenv; kick = tanh(kick); - double hat = wrap(16 * p + 0.5) < 0.125; + double hat = wrap(16 * p + 0.5) < 0.125 * p; hat *= 2; double khz = 50 + 10 * (wrap(8 * p) > 1) + 25 * (wrap(2 * p) > 1); kick +=tanh(vcf(&s->tkick[0], kick, khz, 30)*25)*2;
diff @ 2018-10-03 21:53:42 +0100 diff --git a/src/go.c b/src/go.c index 98dac996..47ea4eb9 100644 --- a/src/go.c +++ b/src/go.c @@ -289,7 +289,7 @@ go(S *s, int channels, const float *in, float *out) kick = sin(twopi * kick); kick *= 1 + kickenv; kick = tanh(kick); - double hat = wrap(16 * p + 0.5) < 0.125 * p; + double hat = wrap(16 * p + 0.5) < 0.125 * (1 + p); hat *= 2; double khz = 50 + 10 * (wrap(8 * p) > 1) + 25 * (wrap(2 * p) > 1); kick +=tanh(vcf(&s->tkick[0], kick, khz, 30)*25)*2;
diff @ 2018-10-03 21:54:00 +0100 diff --git a/src/go.c b/src/go.c index 47ea4eb9..4403b246 100644 --- a/src/go.c +++ b/src/go.c @@ -324,8 +324,8 @@ go(S *s, int channels, const float *in, float *out) double na = env * so2[0]; double nb = env * so2[1]; double q = 100; - na *= 5; - nb *= 5; + na *= 10; + nb *= 10; na = vcf(&s->pvcf[0], na * q, freq, q); nb = vcf(&s->pvcf[1], nb * q, freq, q); na = sin(na);
diff @ 2018-10-03 21:54:07 +0100 diff --git a/src/go.c b/src/go.c index 4403b246..c495dafb 100644 --- a/src/go.c +++ b/src/go.c @@ -336,8 +336,8 @@ go(S *s, int channels, const float *in, float *out) hilbert(pb, &s->philbert[1], pb); pa[0] = wrap(atan2(pa[0], pa[1]) / twopi); pb[0] = wrap(atan2(pb[0], pb[1]) / twopi); - na += 0*samphold(&s->psh[0], na, wrap(3 * pa[0])); - nb += 0*samphold(&s->psh[1], nb, wrap(3 * pb[0])); + na += 0.1*samphold(&s->psh[0], na, wrap(3 * pa[0])); + nb += 0.1*samphold(&s->psh[1], nb, wrap(3 * pb[0])); pnoise[0] = na; pnoise[1] = nb; compress(pnoise, &s->pcompress, 5, 10, 25, 48, pnoise);
diff @ 2018-10-03 21:54:11 +0100 diff --git a/src/go.c b/src/go.c index c495dafb..1da31d6f 100644 --- a/src/go.c +++ b/src/go.c @@ -336,8 +336,8 @@ go(S *s, int channels, const float *in, float *out) hilbert(pb, &s->philbert[1], pb); pa[0] = wrap(atan2(pa[0], pa[1]) / twopi); pb[0] = wrap(atan2(pb[0], pb[1]) / twopi); - na += 0.1*samphold(&s->psh[0], na, wrap(3 * pa[0])); - nb += 0.1*samphold(&s->psh[1], nb, wrap(3 * pb[0])); + na += 0.2*samphold(&s->psh[0], na, wrap(3 * pa[0])); + nb += 0.2*samphold(&s->psh[1], nb, wrap(3 * pb[0])); pnoise[0] = na; pnoise[1] = nb; compress(pnoise, &s->pcompress, 5, 10, 25, 48, pnoise);
diff @ 2018-10-03 21:54:14 +0100 diff --git a/src/go.c b/src/go.c index 1da31d6f..d5e908bd 100644 --- a/src/go.c +++ b/src/go.c @@ -336,8 +336,8 @@ go(S *s, int channels, const float *in, float *out) hilbert(pb, &s->philbert[1], pb); pa[0] = wrap(atan2(pa[0], pa[1]) / twopi); pb[0] = wrap(atan2(pb[0], pb[1]) / twopi); - na += 0.2*samphold(&s->psh[0], na, wrap(3 * pa[0])); - nb += 0.2*samphold(&s->psh[1], nb, wrap(3 * pb[0])); + na += 0.3*samphold(&s->psh[0], na, wrap(3 * pa[0])); + nb += 0.3*samphold(&s->psh[1], nb, wrap(3 * pb[0])); pnoise[0] = na; pnoise[1] = nb; compress(pnoise, &s->pcompress, 5, 10, 25, 48, pnoise);
diff @ 2018-10-03 21:54:16 +0100 diff --git a/src/go.c b/src/go.c index d5e908bd..663a0eb4 100644 --- a/src/go.c +++ b/src/go.c @@ -336,8 +336,8 @@ go(S *s, int channels, const float *in, float *out) hilbert(pb, &s->philbert[1], pb); pa[0] = wrap(atan2(pa[0], pa[1]) / twopi); pb[0] = wrap(atan2(pb[0], pb[1]) / twopi); - na += 0.3*samphold(&s->psh[0], na, wrap(3 * pa[0])); - nb += 0.3*samphold(&s->psh[1], nb, wrap(3 * pb[0])); + na += 0.4*samphold(&s->psh[0], na, wrap(3 * pa[0])); + nb += 0.4*samphold(&s->psh[1], nb, wrap(3 * pb[0])); pnoise[0] = na; pnoise[1] = nb; compress(pnoise, &s->pcompress, 5, 10, 25, 48, pnoise);
diff @ 2018-10-03 21:54:19 +0100 diff --git a/src/go.c b/src/go.c index 663a0eb4..de47bf94 100644 --- a/src/go.c +++ b/src/go.c @@ -336,8 +336,8 @@ go(S *s, int channels, const float *in, float *out) hilbert(pb, &s->philbert[1], pb); pa[0] = wrap(atan2(pa[0], pa[1]) / twopi); pb[0] = wrap(atan2(pb[0], pb[1]) / twopi); - na += 0.4*samphold(&s->psh[0], na, wrap(3 * pa[0])); - nb += 0.4*samphold(&s->psh[1], nb, wrap(3 * pb[0])); + na += 0.5*samphold(&s->psh[0], na, wrap(3 * pa[0])); + nb += 0.5*samphold(&s->psh[1], nb, wrap(3 * pb[0])); pnoise[0] = na; pnoise[1] = nb; compress(pnoise, &s->pcompress, 5, 10, 25, 48, pnoise);
diff @ 2018-10-03 21:54:25 +0100 diff --git a/src/go.c b/src/go.c index de47bf94..ae750851 100644 --- a/src/go.c +++ b/src/go.c @@ -336,8 +336,8 @@ go(S *s, int channels, const float *in, float *out) hilbert(pb, &s->philbert[1], pb); pa[0] = wrap(atan2(pa[0], pa[1]) / twopi); pb[0] = wrap(atan2(pb[0], pb[1]) / twopi); - na += 0.5*samphold(&s->psh[0], na, wrap(3 * pa[0])); - nb += 0.5*samphold(&s->psh[1], nb, wrap(3 * pb[0])); + na += 0.7*samphold(&s->psh[0], na, wrap(3 * pa[0])); + nb += 0.7*samphold(&s->psh[1], nb, wrap(3 * pb[0])); pnoise[0] = na; pnoise[1] = nb; compress(pnoise, &s->pcompress, 5, 10, 25, 48, pnoise);
diff @ 2018-10-03 21:54:31 +0100 diff --git a/src/go.c b/src/go.c index ae750851..5d282f19 100644 --- a/src/go.c +++ b/src/go.c @@ -336,8 +336,8 @@ go(S *s, int channels, const float *in, float *out) hilbert(pb, &s->philbert[1], pb); pa[0] = wrap(atan2(pa[0], pa[1]) / twopi); pb[0] = wrap(atan2(pb[0], pb[1]) / twopi); - na += 0.7*samphold(&s->psh[0], na, wrap(3 * pa[0])); - nb += 0.7*samphold(&s->psh[1], nb, wrap(3 * pb[0])); + na += 0.9*samphold(&s->psh[0], na, wrap(3 * pa[0])); + nb += 0.9*samphold(&s->psh[1], nb, wrap(3 * pb[0])); pnoise[0] = na; pnoise[1] = nb; compress(pnoise, &s->pcompress, 5, 10, 25, 48, pnoise);
diff @ 2018-10-03 21:54:33 +0100 diff --git a/src/go.c b/src/go.c index 5d282f19..fc703903 100644 --- a/src/go.c +++ b/src/go.c @@ -336,8 +336,8 @@ go(S *s, int channels, const float *in, float *out) hilbert(pb, &s->philbert[1], pb); pa[0] = wrap(atan2(pa[0], pa[1]) / twopi); pb[0] = wrap(atan2(pb[0], pb[1]) / twopi); - na += 0.9*samphold(&s->psh[0], na, wrap(3 * pa[0])); - nb += 0.9*samphold(&s->psh[1], nb, wrap(3 * pb[0])); + na += 1*samphold(&s->psh[0], na, wrap(3 * pa[0])); + nb += 1*samphold(&s->psh[1], nb, wrap(3 * pb[0])); pnoise[0] = na; pnoise[1] = nb; compress(pnoise, &s->pcompress, 5, 10, 25, 48, pnoise);
diff @ 2018-10-03 21:54:47 +0100 diff --git a/src/go.c b/src/go.c index fc703903..e6e06f7a 100644 --- a/src/go.c +++ b/src/go.c @@ -336,8 +336,8 @@ go(S *s, int channels, const float *in, float *out) hilbert(pb, &s->philbert[1], pb); pa[0] = wrap(atan2(pa[0], pa[1]) / twopi); pb[0] = wrap(atan2(pb[0], pb[1]) / twopi); - na += 1*samphold(&s->psh[0], na, wrap(3 * pa[0])); - nb += 1*samphold(&s->psh[1], nb, wrap(3 * pb[0])); + na = 1*samphold(&s->psh[0], na, wrap(3 * pa[0])); + nb = 1*samphold(&s->psh[1], nb, wrap(3 * pb[0])); pnoise[0] = na; pnoise[1] = nb; compress(pnoise, &s->pcompress, 5, 10, 25, 48, pnoise);
diff @ 2018-10-03 21:54:55 +0100 diff --git a/src/go.c b/src/go.c index e6e06f7a..1f945ab2 100644 --- a/src/go.c +++ b/src/go.c @@ -324,8 +324,8 @@ go(S *s, int channels, const float *in, float *out) double na = env * so2[0]; double nb = env * so2[1]; double q = 100; - na *= 10; - nb *= 10; + na *= 20; + nb *= 20; na = vcf(&s->pvcf[0], na * q, freq, q); nb = vcf(&s->pvcf[1], nb * q, freq, q); na = sin(na);
diff @ 2018-10-03 21:54:58 +0100 diff --git a/src/go.c b/src/go.c index 1f945ab2..b0b88d0e 100644 --- a/src/go.c +++ b/src/go.c @@ -323,7 +323,7 @@ go(S *s, int channels, const float *in, float *out) } double na = env * so2[0]; double nb = env * so2[1]; - double q = 100; + double q = 160; na *= 20; nb *= 20; na = vcf(&s->pvcf[0], na * q, freq, q);
diff @ 2018-10-03 21:55:19 +0100 diff --git a/src/go.c b/src/go.c index b0b88d0e..6fd0cd56 100644 --- a/src/go.c +++ b/src/go.c @@ -293,7 +293,7 @@ go(S *s, int channels, const float *in, float *out) hat *= 2; double khz = 50 + 10 * (wrap(8 * p) > 1) + 25 * (wrap(2 * p) > 1); kick +=tanh(vcf(&s->tkick[0], kick, khz, 30)*25)*2; - kick += sin(vcf(&s->tkick[1], kick, khz * (wrap(4 * p)<0.5?3:5), 25)*25); + kick += sin(vcf(&s->tkick[1], kick, khz * (wrap(4 * p)<0.5?6:12), 25)*25); kick += sin(vcf(&s->tkick[2], kick, khz*7, 25)*15) * sin(vcf(&s->tkick[3], kick, khz*9, 25)*15); double crush = phasor(&s->tcrush, 4000 * pow(2, p));
diff @ 2018-10-03 21:55:24 +0100 diff --git a/src/go.c b/src/go.c index 6fd0cd56..a1a4a643 100644 --- a/src/go.c +++ b/src/go.c @@ -292,7 +292,7 @@ go(S *s, int channels, const float *in, float *out) double hat = wrap(16 * p + 0.5) < 0.125 * (1 + p); hat *= 2; double khz = 50 + 10 * (wrap(8 * p) > 1) + 25 * (wrap(2 * p) > 1); - kick +=tanh(vcf(&s->tkick[0], kick, khz, 30)*25)*2; + kick +=tanh(vcf(&s->tkick[0], kick, khz, 70)*25)*2; kick += sin(vcf(&s->tkick[1], kick, khz * (wrap(4 * p)<0.5?6:12), 25)*25); kick += sin(vcf(&s->tkick[2], kick, khz*7, 25)*15) * sin(vcf(&s->tkick[3], kick, khz*9, 25)*15);
diff @ 2018-10-03 21:55:29 +0100 diff --git a/src/go.c b/src/go.c index a1a4a643..9eab426e 100644 --- a/src/go.c +++ b/src/go.c @@ -292,7 +292,7 @@ go(S *s, int channels, const float *in, float *out) double hat = wrap(16 * p + 0.5) < 0.125 * (1 + p); hat *= 2; double khz = 50 + 10 * (wrap(8 * p) > 1) + 25 * (wrap(2 * p) > 1); - kick +=tanh(vcf(&s->tkick[0], kick, khz, 70)*25)*2; + kick +=tanh(vcf(&s->tkick[0], kick, khz, 70)*50)*2; kick += sin(vcf(&s->tkick[1], kick, khz * (wrap(4 * p)<0.5?6:12), 25)*25); kick += sin(vcf(&s->tkick[2], kick, khz*7, 25)*15) * sin(vcf(&s->tkick[3], kick, khz*9, 25)*15);
diff @ 2018-10-03 21:55:43 +0100 diff --git a/src/go.c b/src/go.c index 9eab426e..d1e40433 100644 --- a/src/go.c +++ b/src/go.c @@ -294,8 +294,8 @@ go(S *s, int channels, const float *in, float *out) double khz = 50 + 10 * (wrap(8 * p) > 1) + 25 * (wrap(2 * p) > 1); kick +=tanh(vcf(&s->tkick[0], kick, khz, 70)*50)*2; kick += sin(vcf(&s->tkick[1], kick, khz * (wrap(4 * p)<0.5?6:12), 25)*25); - kick += sin(vcf(&s->tkick[2], kick, khz*7, 25)*15) - * sin(vcf(&s->tkick[3], kick, khz*9, 25)*15); +// kick += sin(vcf(&s->tkick[2], kick, khz*7, 25)*15) +// * sin(vcf(&s->tkick[3], kick, khz*9, 25)*15); double crush = phasor(&s->tcrush, 4000 * pow(2, p)); tilex[0] = samphold(&s->tcrushsh[0], noise() * hat, crush); tilex[1] = samphold(&s->tcrushsh[1], noise() * hat, crush);
diff @ 2018-10-03 21:55:45 +0100 diff --git a/src/go.c b/src/go.c index d1e40433..a46529b7 100644 --- a/src/go.c +++ b/src/go.c @@ -293,7 +293,7 @@ go(S *s, int channels, const float *in, float *out) hat *= 2; double khz = 50 + 10 * (wrap(8 * p) > 1) + 25 * (wrap(2 * p) > 1); kick +=tanh(vcf(&s->tkick[0], kick, khz, 70)*50)*2; - kick += sin(vcf(&s->tkick[1], kick, khz * (wrap(4 * p)<0.5?6:12), 25)*25); + kick += sin(vcf(&s->tkick[1], kick, khz * (wrap(8 * p)<0.5?6:12), 25)*25); // kick += sin(vcf(&s->tkick[2], kick, khz*7, 25)*15) // * sin(vcf(&s->tkick[3], kick, khz*9, 25)*15); double crush = phasor(&s->tcrush, 4000 * pow(2, p));
diff @ 2018-10-03 21:55:52 +0100 diff --git a/src/go.c b/src/go.c index a46529b7..aa92cd32 100644 --- a/src/go.c +++ b/src/go.c @@ -291,7 +291,7 @@ go(S *s, int channels, const float *in, float *out) kick = tanh(kick); double hat = wrap(16 * p + 0.5) < 0.125 * (1 + p); hat *= 2; - double khz = 50 + 10 * (wrap(8 * p) > 1) + 25 * (wrap(2 * p) > 1); + double khz = 50 + 10 * (wrap(8 * p) > 0.6) + 25 * (wrap(2 * p) > 1); kick +=tanh(vcf(&s->tkick[0], kick, khz, 70)*50)*2; kick += sin(vcf(&s->tkick[1], kick, khz * (wrap(8 * p)<0.5?6:12), 25)*25); // kick += sin(vcf(&s->tkick[2], kick, khz*7, 25)*15)
diff @ 2018-10-03 21:55:55 +0100 diff --git a/src/go.c b/src/go.c index aa92cd32..f9b83c7e 100644 --- a/src/go.c +++ b/src/go.c @@ -291,7 +291,7 @@ go(S *s, int channels, const float *in, float *out) kick = tanh(kick); double hat = wrap(16 * p + 0.5) < 0.125 * (1 + p); hat *= 2; - double khz = 50 + 10 * (wrap(8 * p) > 0.6) + 25 * (wrap(2 * p) > 1); + double khz = 50 + 10 * (wrap(8 * p) > 0.5) + 25 * (wrap(2 * p) > 1); kick +=tanh(vcf(&s->tkick[0], kick, khz, 70)*50)*2; kick += sin(vcf(&s->tkick[1], kick, khz * (wrap(8 * p)<0.5?6:12), 25)*25); // kick += sin(vcf(&s->tkick[2], kick, khz*7, 25)*15)
diff @ 2018-10-03 21:56:11 +0100 diff --git a/src/go.c b/src/go.c index f9b83c7e..6c207613 100644 --- a/src/go.c +++ b/src/go.c @@ -291,7 +291,7 @@ go(S *s, int channels, const float *in, float *out) kick = tanh(kick); double hat = wrap(16 * p + 0.5) < 0.125 * (1 + p); hat *= 2; - double khz = 50 + 10 * (wrap(8 * p) > 0.5) + 25 * (wrap(2 * p) > 1); + double khz = 50 + 10 * (wrap(8 * p) > 0.5) + 25 * (wrap(2 * p) > 0.75); kick +=tanh(vcf(&s->tkick[0], kick, khz, 70)*50)*2; kick += sin(vcf(&s->tkick[1], kick, khz * (wrap(8 * p)<0.5?6:12), 25)*25); // kick += sin(vcf(&s->tkick[2], kick, khz*7, 25)*15)
diff @ 2018-10-03 21:56:29 +0100 diff --git a/src/go.c b/src/go.c index 6c207613..db48ddc6 100644 --- a/src/go.c +++ b/src/go.c @@ -257,7 +257,7 @@ go(S *s, int channels, const float *in, float *out) int n = (time / 5) & ((1 << N) - 1); double zeroes = clamp(count_trailing_zeroes(n), 0, N); double probability = pow(0.5, N - zeroes); - probability = (6.5 + 4 * (n >= 0xC001)) * probability - 0.5; + probability = (8 + 4 * (n >= 0xC001)) * probability - 0.5; probability = clamp(probability, 0, 1); double uniform = rand() / (double) RAND_MAX; double trigger = uniform < probability;
diff @ 2018-10-03 21:56:32 +0100 diff --git a/src/go.c b/src/go.c index db48ddc6..1254fbbb 100644 --- a/src/go.c +++ b/src/go.c @@ -257,7 +257,7 @@ go(S *s, int channels, const float *in, float *out) int n = (time / 5) & ((1 << N) - 1); double zeroes = clamp(count_trailing_zeroes(n), 0, N); double probability = pow(0.5, N - zeroes); - probability = (8 + 4 * (n >= 0xC001)) * probability - 0.5; + probability = (8 + 5 * (n >= 0xC001)) * probability - 0.5; probability = clamp(probability, 0, 1); double uniform = rand() / (double) RAND_MAX; double trigger = uniform < probability;
diff @ 2018-10-03 21:56:34 +0100 diff --git a/src/go.c b/src/go.c index 1254fbbb..5ead9043 100644 --- a/src/go.c +++ b/src/go.c @@ -256,7 +256,7 @@ go(S *s, int channels, const float *in, float *out) int N = 16; int n = (time / 5) & ((1 << N) - 1); double zeroes = clamp(count_trailing_zeroes(n), 0, N); - double probability = pow(0.5, N - zeroes); + double probability = pow(0.55, N - zeroes); probability = (8 + 5 * (n >= 0xC001)) * probability - 0.5; probability = clamp(probability, 0, 1); double uniform = rand() / (double) RAND_MAX;
diff @ 2018-10-03 21:56:45 +0100 diff --git a/src/go.c b/src/go.c index 5ead9043..8a91ccb2 100644 --- a/src/go.c +++ b/src/go.c @@ -256,7 +256,7 @@ go(S *s, int channels, const float *in, float *out) int N = 16; int n = (time / 5) & ((1 << N) - 1); double zeroes = clamp(count_trailing_zeroes(n), 0, N); - double probability = pow(0.55, N - zeroes); + double probability = pow(0.57, N - zeroes); probability = (8 + 5 * (n >= 0xC001)) * probability - 0.5; probability = clamp(probability, 0, 1); double uniform = rand() / (double) RAND_MAX;
diff @ 2018-10-03 21:57:03 +0100 diff --git a/src/go.c b/src/go.c index 8a91ccb2..72b37256 100644 --- a/src/go.c +++ b/src/go.c @@ -336,8 +336,8 @@ go(S *s, int channels, const float *in, float *out) hilbert(pb, &s->philbert[1], pb); pa[0] = wrap(atan2(pa[0], pa[1]) / twopi); pb[0] = wrap(atan2(pb[0], pb[1]) / twopi); - na = 1*samphold(&s->psh[0], na, wrap(3 * pa[0])); - nb = 1*samphold(&s->psh[1], nb, wrap(3 * pb[0])); + na -= 1*samphold(&s->psh[0], na, wrap(3 * pa[0])); + nb -= 1*samphold(&s->psh[1], nb, wrap(3 * pb[0])); pnoise[0] = na; pnoise[1] = nb; compress(pnoise, &s->pcompress, 5, 10, 25, 48, pnoise);
diff @ 2018-10-03 21:57:16 +0100 diff --git a/src/go.c b/src/go.c index 72b37256..3c4dbc0c 100644 --- a/src/go.c +++ b/src/go.c @@ -372,8 +372,8 @@ go(S *s, int channels, const float *in, float *out) double er = delread4(&s->edelay2, rdelms + si); double es[2] = { co * el + si * er, -si * el + co * er }; compress(es, &s->ecompress1, 5, 10, 25, 48, es); - es[0] = mix(mixdown[0], es[0], mix(0, pow(wrap(8 * p), 0.25), 0)); - es[1] = mix(mixdown[1], es[1], mix(0, pow(wrap(8 * p), 0.25), 0)); + es[0] = mix(mixdown[0], es[0], mix(0.1, pow(wrap(8 * p), 0.25), 0)); + es[1] = mix(mixdown[1], es[1], mix(0.1, pow(wrap(8 * p), 0.25), 0)); compress(es, &s->ecompress2, 5, 10, 25, 48, es); delwrite(&s->edelay1, es[0]); delwrite(&s->edelay2, es[1]);
diff @ 2018-10-03 21:57:34 +0100 diff --git a/src/go.c b/src/go.c index 3c4dbc0c..8889dbd8 100644 --- a/src/go.c +++ b/src/go.c @@ -364,8 +364,8 @@ go(S *s, int channels, const float *in, float *out) double t = twopi * p; double co = cos(t); double si = sin(t); - double ldelms = 60000 / bpm * (p < 0.75 ? 1 : 2); - double rdelms = ldelms; + double ldelms = 60000 / bpm * (p < 0.75 ? 1 : 1./8); + double rdelms = 60000 / bpm * (p < 0.5 ? 1 : 1./16); ldelms = lop(&s->elop[0], ldelms, 5); rdelms = lop(&s->elop[1], rdelms, 5); double el = delread4(&s->edelay1, ldelms + co);
diff @ 2018-10-03 21:57:41 +0100 diff --git a/src/go.c b/src/go.c index 8889dbd8..55c3297c 100644 --- a/src/go.c +++ b/src/go.c @@ -372,8 +372,8 @@ go(S *s, int channels, const float *in, float *out) double er = delread4(&s->edelay2, rdelms + si); double es[2] = { co * el + si * er, -si * el + co * er }; compress(es, &s->ecompress1, 5, 10, 25, 48, es); - es[0] = mix(mixdown[0], es[0], mix(0.1, pow(wrap(8 * p), 0.25), 0)); - es[1] = mix(mixdown[1], es[1], mix(0.1, pow(wrap(8 * p), 0.25), 0)); + es[0] = mix(mixdown[0], es[0], mix(0.2, pow(wrap(8 * p), 0.25), 0)); + es[1] = mix(mixdown[1], es[1], mix(0.2, 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-10-03 21:57:47 +0100 diff --git a/src/go.c b/src/go.c index 55c3297c..7d50e8b2 100644 --- a/src/go.c +++ b/src/go.c @@ -372,8 +372,8 @@ go(S *s, int channels, const float *in, float *out) double er = delread4(&s->edelay2, rdelms + si); double es[2] = { co * el + si * er, -si * el + co * er }; compress(es, &s->ecompress1, 5, 10, 25, 48, es); - es[0] = mix(mixdown[0], es[0], mix(0.2, pow(wrap(8 * p), 0.25), 0)); - es[1] = mix(mixdown[1], es[1], mix(0.2, pow(wrap(8 * p), 0.25), 0)); + es[0] = mix(mixdown[0], es[0], mix(0.3, pow(wrap(8 * p), 0.25), 0)); + es[1] = mix(mixdown[1], es[1], mix(0.3, 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-10-03 21:57:51 +0100 diff --git a/src/go.c b/src/go.c index 7d50e8b2..ee4f6e8d 100644 --- a/src/go.c +++ b/src/go.c @@ -373,7 +373,7 @@ go(S *s, int channels, const float *in, float *out) double es[2] = { co * el + si * er, -si * el + co * er }; compress(es, &s->ecompress1, 5, 10, 25, 48, es); es[0] = mix(mixdown[0], es[0], mix(0.3, pow(wrap(8 * p), 0.25), 0)); - es[1] = mix(mixdown[1], es[1], mix(0.3, pow(wrap(8 * p), 0.25), 0)); + es[1] = mix(mixdown[1], es[1], mix(0.4, 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-10-03 21:57:53 +0100 diff --git a/src/go.c b/src/go.c index ee4f6e8d..0e689240 100644 --- a/src/go.c +++ b/src/go.c @@ -372,7 +372,7 @@ go(S *s, int channels, const float *in, float *out) double er = delread4(&s->edelay2, rdelms + si); double es[2] = { co * el + si * er, -si * el + co * er }; compress(es, &s->ecompress1, 5, 10, 25, 48, es); - es[0] = mix(mixdown[0], es[0], mix(0.3, pow(wrap(8 * p), 0.25), 0)); + es[0] = mix(mixdown[0], es[0], mix(0.4, pow(wrap(8 * p), 0.25), 0)); es[1] = mix(mixdown[1], es[1], mix(0.4, pow(wrap(8 * p), 0.25), 0)); compress(es, &s->ecompress2, 5, 10, 25, 48, es); delwrite(&s->edelay1, es[0]);
diff @ 2018-10-03 21:58:00 +0100 diff --git a/src/go.c b/src/go.c index 0e689240..883cda48 100644 --- a/src/go.c +++ b/src/go.c @@ -372,8 +372,8 @@ go(S *s, int channels, const float *in, float *out) double er = delread4(&s->edelay2, rdelms + si); double es[2] = { co * el + si * er, -si * el + co * er }; compress(es, &s->ecompress1, 5, 10, 25, 48, es); - es[0] = mix(mixdown[0], es[0], mix(0.4, pow(wrap(8 * p), 0.25), 0)); - es[1] = mix(mixdown[1], es[1], mix(0.4, 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-10-03 21:58:13 +0100 diff --git a/src/go.c b/src/go.c index 883cda48..e5e6f2f8 100644 --- a/src/go.c +++ b/src/go.c @@ -372,8 +372,8 @@ go(S *s, int channels, const float *in, float *out) double er = delread4(&s->edelay2, rdelms + si); double es[2] = { co * el + si * er, -si * el + co * er }; compress(es, &s->ecompress1, 5, 10, 25, 48, es); - es[0] = mix(mixdown[0], es[0], mix(0.5, pow(wrap(8 * p), 0.25), 0)); - es[1] = mix(mixdown[1], es[1], mix(0.5, pow(wrap(8 * p), 0.25), 0)); + es[0] = mix(mixdown[0], es[0], mix(0.6, pow(wrap(8 * p), 0.25), 0)); + es[1] = mix(mixdown[1], es[1], mix(0.6, 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-10-03 21:58:18 +0100 diff --git a/src/go.c b/src/go.c index e5e6f2f8..49c17106 100644 --- a/src/go.c +++ b/src/go.c @@ -299,7 +299,7 @@ go(S *s, int channels, const float *in, float *out) double crush = phasor(&s->tcrush, 4000 * pow(2, p)); tilex[0] = samphold(&s->tcrushsh[0], noise() * hat, crush); tilex[1] = samphold(&s->tcrushsh[1], noise() * hat, crush); - double kgain = 1; + double kgain = 0; kgain = samphold(&s->tgate[0], kgain, p); tilex[0] += kgain * kick; tilex[1] += kgain * kick;
diff @ 2018-10-03 21:58:28 +0100 diff --git a/src/go.c b/src/go.c index 49c17106..2244bc8e 100644 --- a/src/go.c +++ b/src/go.c @@ -372,8 +372,8 @@ go(S *s, int channels, const float *in, float *out) double er = delread4(&s->edelay2, rdelms + si); double es[2] = { co * el + si * er, -si * el + co * er }; compress(es, &s->ecompress1, 5, 10, 25, 48, es); - es[0] = mix(mixdown[0], es[0], mix(0.6, pow(wrap(8 * p), 0.25), 0)); - es[1] = mix(mixdown[1], es[1], mix(0.6, pow(wrap(8 * p), 0.25), 0)); + es[0] = mix(mixdown[0], es[0], mix(0.7, pow(wrap(8 * p), 0.25), 0)); + es[1] = mix(mixdown[1], es[1], mix(0.7, 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-10-03 21:58:42 +0100 diff --git a/src/go.c b/src/go.c index 2244bc8e..101dab87 100644 --- a/src/go.c +++ b/src/go.c @@ -264,7 +264,7 @@ go(S *s, int channels, const float *in, float *out) s->benv.y += trigger; env = lop(&s->benv, 0, 5); double harmonic = 5 + clamp(N - zeroes - 3, 0, 20); - freq = 20 * samphold(&s->bsh, harmonic, 1 - trigger); + freq = 10 * samphold(&s->bsh, harmonic, 1 - trigger); freq = lop(&s->bfreq, freq, 20); } // env = 0.5;
diff @ 2018-10-03 21:59:03 +0100 diff --git a/src/go.c b/src/go.c index 101dab87..154b96de 100644 --- a/src/go.c +++ b/src/go.c @@ -291,7 +291,7 @@ go(S *s, int channels, const float *in, float *out) kick = tanh(kick); double hat = wrap(16 * p + 0.5) < 0.125 * (1 + p); hat *= 2; - double khz = 50 + 10 * (wrap(8 * p) > 0.5) + 25 * (wrap(2 * p) > 0.75); + double khz = 50 + 10 * (wrap(8 * p) > 1.5) + 25 * (wrap(2 * p) > 1.75); kick +=tanh(vcf(&s->tkick[0], kick, khz, 70)*50)*2; kick += sin(vcf(&s->tkick[1], kick, khz * (wrap(8 * p)<0.5?6:12), 25)*25); // kick += sin(vcf(&s->tkick[2], kick, khz*7, 25)*15) @@ -299,7 +299,7 @@ go(S *s, int channels, const float *in, float *out) double crush = phasor(&s->tcrush, 4000 * pow(2, p)); tilex[0] = samphold(&s->tcrushsh[0], noise() * hat, crush); tilex[1] = samphold(&s->tcrushsh[1], noise() * hat, crush); - double kgain = 0; + double kgain = 1; kgain = samphold(&s->tgate[0], kgain, p); tilex[0] += kgain * kick; tilex[1] += kgain * kick;
diff @ 2018-10-03 21:59:18 +0100 diff --git a/src/go.c b/src/go.c index 154b96de..9b19902d 100644 --- a/src/go.c +++ b/src/go.c @@ -372,8 +372,8 @@ go(S *s, int channels, const float *in, float *out) double er = delread4(&s->edelay2, rdelms + si); double es[2] = { co * el + si * er, -si * el + co * er }; compress(es, &s->ecompress1, 5, 10, 25, 48, es); - es[0] = mix(mixdown[0], es[0], mix(0.7, pow(wrap(8 * p), 0.25), 0)); - es[1] = mix(mixdown[1], es[1], mix(0.7, pow(wrap(8 * p), 0.25), 0)); + es[0] = mix(mixdown[0], es[0], mix(0.7, pow(wrap(8 * p), 0.25), 0.5)); + es[1] = mix(mixdown[1], es[1], mix(0.7, pow(wrap(8 * p), 0.25), 0.5)); compress(es, &s->ecompress2, 5, 10, 25, 48, es); delwrite(&s->edelay1, es[0]); delwrite(&s->edelay2, es[1]);
diff @ 2018-10-03 21:59:26 +0100 diff --git a/src/go.c b/src/go.c index 9b19902d..2f2034c7 100644 --- a/src/go.c +++ b/src/go.c @@ -372,8 +372,8 @@ go(S *s, int channels, const float *in, float *out) double er = delread4(&s->edelay2, rdelms + si); double es[2] = { co * el + si * er, -si * el + co * er }; compress(es, &s->ecompress1, 5, 10, 25, 48, es); - es[0] = mix(mixdown[0], es[0], mix(0.7, pow(wrap(8 * p), 0.25), 0.5)); - es[1] = mix(mixdown[1], es[1], mix(0.7, pow(wrap(8 * p), 0.25), 0.5)); + es[0] = mix(mixdown[0], es[0], mix(0.8, pow(wrap(8 * p), 0.25), 0.5)); + es[1] = mix(mixdown[1], es[1], mix(0.8, pow(wrap(8 * p), 0.25), 0.5)); compress(es, &s->ecompress2, 5, 10, 25, 48, es); delwrite(&s->edelay1, es[0]); delwrite(&s->edelay2, es[1]);
diff @ 2018-10-03 21:59:33 +0100 diff --git a/src/go.c b/src/go.c index 2f2034c7..c201e7b8 100644 --- a/src/go.c +++ b/src/go.c @@ -372,8 +372,8 @@ go(S *s, int channels, const float *in, float *out) double er = delread4(&s->edelay2, rdelms + si); double es[2] = { co * el + si * er, -si * el + co * er }; compress(es, &s->ecompress1, 5, 10, 25, 48, es); - es[0] = mix(mixdown[0], es[0], mix(0.8, pow(wrap(8 * p), 0.25), 0.5)); - es[1] = mix(mixdown[1], es[1], mix(0.8, pow(wrap(8 * p), 0.25), 0.5)); + es[0] = mix(mixdown[0], es[0], mix(0.8, pow(wrap(8 * p), 0.25), 1)); + es[1] = mix(mixdown[1], es[1], mix(0.8, 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-10-03 21:59:40 +0100 diff --git a/src/go.c b/src/go.c index c201e7b8..0636e760 100644 --- a/src/go.c +++ b/src/go.c @@ -372,8 +372,8 @@ go(S *s, int channels, const float *in, float *out) double er = delread4(&s->edelay2, rdelms + si); double es[2] = { co * el + si * er, -si * el + co * er }; compress(es, &s->ecompress1, 5, 10, 25, 48, es); - es[0] = mix(mixdown[0], es[0], mix(0.8, pow(wrap(8 * p), 0.25), 1)); - es[1] = mix(mixdown[1], es[1], mix(0.8, pow(wrap(8 * p), 0.25), 1)); + es[0] = mix(mixdown[0], es[0], mix(0.5, pow(wrap(8 * p), 0.25), 1)); + es[1] = mix(mixdown[1], es[1], mix(0.5, 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-10-03 21:59:47 +0100 diff --git a/src/go.c b/src/go.c index 0636e760..d340461d 100644 --- a/src/go.c +++ b/src/go.c @@ -372,8 +372,8 @@ go(S *s, int channels, const float *in, float *out) double er = delread4(&s->edelay2, rdelms + si); double es[2] = { co * el + si * er, -si * el + co * er }; compress(es, &s->ecompress1, 5, 10, 25, 48, es); - es[0] = mix(mixdown[0], es[0], mix(0.5, pow(wrap(8 * p), 0.25), 1)); - es[1] = mix(mixdown[1], es[1], mix(0.5, pow(wrap(8 * p), 0.25), 1)); + es[0] = mix(mixdown[0], es[0], mix(0, pow(wrap(8 * p), 0.25), 1)); + es[1] = mix(mixdown[1], es[1], mix(0, 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-10-03 21:59:53 +0100 diff --git a/src/go.c b/src/go.c index d340461d..966698bf 100644 --- a/src/go.c +++ b/src/go.c @@ -372,8 +372,8 @@ go(S *s, int channels, const float *in, float *out) double er = delread4(&s->edelay2, rdelms + si); double es[2] = { co * el + si * er, -si * el + co * er }; compress(es, &s->ecompress1, 5, 10, 25, 48, es); - es[0] = mix(mixdown[0], es[0], mix(0, pow(wrap(8 * p), 0.25), 1)); - es[1] = mix(mixdown[1], es[1], mix(0, pow(wrap(8 * p), 0.25), 1)); + es[0] = mix(mixdown[0], es[0], mix(0, pow(wrap(8 * p), 0.5), 1)); + es[1] = mix(mixdown[1], es[1], mix(0, pow(wrap(8 * p), 0.5), 1)); compress(es, &s->ecompress2, 5, 10, 25, 48, es); delwrite(&s->edelay1, es[0]); delwrite(&s->edelay2, es[1]);
diff @ 2018-10-03 22:00:08 +0100 diff --git a/src/go.c b/src/go.c index 966698bf..d340461d 100644 --- a/src/go.c +++ b/src/go.c @@ -372,8 +372,8 @@ go(S *s, int channels, const float *in, float *out) double er = delread4(&s->edelay2, rdelms + si); double es[2] = { co * el + si * er, -si * el + co * er }; compress(es, &s->ecompress1, 5, 10, 25, 48, es); - es[0] = mix(mixdown[0], es[0], mix(0, pow(wrap(8 * p), 0.5), 1)); - es[1] = mix(mixdown[1], es[1], mix(0, pow(wrap(8 * p), 0.5), 1)); + es[0] = mix(mixdown[0], es[0], mix(0, pow(wrap(8 * p), 0.25), 1)); + es[1] = mix(mixdown[1], es[1], mix(0, 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-10-03 22:00:11 +0100 diff --git a/src/go.c b/src/go.c index d340461d..de0dfdcb 100644 --- a/src/go.c +++ b/src/go.c @@ -372,8 +372,8 @@ go(S *s, int channels, const float *in, float *out) double er = delread4(&s->edelay2, rdelms + si); double es[2] = { co * el + si * er, -si * el + co * er }; compress(es, &s->ecompress1, 5, 10, 25, 48, es); - es[0] = mix(mixdown[0], es[0], mix(0, pow(wrap(8 * p), 0.25), 1)); - es[1] = mix(mixdown[1], es[1], mix(0, pow(wrap(8 * p), 0.25), 1)); + es[0] = mix(mixdown[0], es[0], mix(0, pow(wrap(8 * p), 0.125), 1)); + es[1] = mix(mixdown[1], es[1], mix(0, pow(wrap(8 * p), 0.125), 1)); compress(es, &s->ecompress2, 5, 10, 25, 48, es); delwrite(&s->edelay1, es[0]); delwrite(&s->edelay2, es[1]);
diff @ 2018-10-03 22:00:29 +0100 diff --git a/src/go.c b/src/go.c index de0dfdcb..035cdd05 100644 --- a/src/go.c +++ b/src/go.c @@ -364,7 +364,7 @@ go(S *s, int channels, const float *in, float *out) double t = twopi * p; double co = cos(t); double si = sin(t); - double ldelms = 60000 / bpm * (p < 0.75 ? 1 : 1./8); + double ldelms = 60000 / bpm * (p < 0.75 ? (wrap(2 * p) > 0.5 ? 2 : 1) : 1./8); double rdelms = 60000 / bpm * (p < 0.5 ? 1 : 1./16); ldelms = lop(&s->elop[0], ldelms, 5); rdelms = lop(&s->elop[1], rdelms, 5);
diff @ 2018-10-03 22:00:49 +0100 diff --git a/src/go.c b/src/go.c index 035cdd05..a4ec141f 100644 --- a/src/go.c +++ b/src/go.c @@ -365,7 +365,7 @@ go(S *s, int channels, const float *in, float *out) double co = cos(t); double si = sin(t); double ldelms = 60000 / bpm * (p < 0.75 ? (wrap(2 * p) > 0.5 ? 2 : 1) : 1./8); - double rdelms = 60000 / bpm * (p < 0.5 ? 1 : 1./16); + double rdelms = 60000 / bpm * (p < 0.5 ? (wrap(4 *p) > 0.5 ? 1 : 1./64) : 1./16); ldelms = lop(&s->elop[0], ldelms, 5); rdelms = lop(&s->elop[1], rdelms, 5); double el = delread4(&s->edelay1, ldelms + co);
diff @ 2018-10-03 22:00:56 +0100 diff --git a/src/go.c b/src/go.c index a4ec141f..6c87dc01 100644 --- a/src/go.c +++ b/src/go.c @@ -366,8 +366,8 @@ go(S *s, int channels, const float *in, float *out) double si = sin(t); double ldelms = 60000 / bpm * (p < 0.75 ? (wrap(2 * p) > 0.5 ? 2 : 1) : 1./8); double rdelms = 60000 / bpm * (p < 0.5 ? (wrap(4 *p) > 0.5 ? 1 : 1./64) : 1./16); - ldelms = lop(&s->elop[0], ldelms, 5); - rdelms = lop(&s->elop[1], rdelms, 5); + ldelms = lop(&s->elop[0], ldelms, 15); + rdelms = lop(&s->elop[1], rdelms, 15); double el = delread4(&s->edelay1, ldelms + co); double er = delread4(&s->edelay2, rdelms + si); double es[2] = { co * el + si * er, -si * el + co * er };
diff @ 2018-10-03 22:01:58 +0100 diff --git a/src/go.c b/src/go.c index 6c87dc01..87e0f98b 100644 --- a/src/go.c +++ b/src/go.c @@ -364,7 +364,8 @@ go(S *s, int channels, const float *in, float *out) double t = twopi * p; double co = cos(t); double si = sin(t); - double ldelms = 60000 / bpm * (p < 0.75 ? (wrap(2 * p) > 0.5 ? 2 : 1) : 1./8); + double seq[4] = { 64, 32, 48, 12 }; + double ldelms = 60000 / bpm * (p < 0.75 ? (wrap(2 * p) > 0.5 ? (1./seq[(int)floor(4*p)]) : 1) : 1./8); double rdelms = 60000 / bpm * (p < 0.5 ? (wrap(4 *p) > 0.5 ? 1 : 1./64) : 1./16); ldelms = lop(&s->elop[0], ldelms, 15); rdelms = lop(&s->elop[1], rdelms, 15);
diff @ 2018-10-03 22:02:15 +0100 diff --git a/src/go.c b/src/go.c index 87e0f98b..73e18a2a 100644 --- a/src/go.c +++ b/src/go.c @@ -365,7 +365,7 @@ go(S *s, int channels, const float *in, float *out) double co = cos(t); double si = sin(t); double seq[4] = { 64, 32, 48, 12 }; - double ldelms = 60000 / bpm * (p < 0.75 ? (wrap(2 * p) > 0.5 ? (1./seq[(int)floor(4*p)]) : 1) : 1./8); + double ldelms = 60000 / bpm * (p < 0.75 ? (wrap(4 * p) > 0.5 ? (1./seq[(int)floor(4*p)]) : 1) : 1./8); double rdelms = 60000 / bpm * (p < 0.5 ? (wrap(4 *p) > 0.5 ? 1 : 1./64) : 1./16); ldelms = lop(&s->elop[0], ldelms, 15); rdelms = lop(&s->elop[1], rdelms, 15);
diff @ 2018-10-03 22:02:31 +0100 diff --git a/src/go.c b/src/go.c index 73e18a2a..e279257e 100644 --- a/src/go.c +++ b/src/go.c @@ -365,7 +365,10 @@ go(S *s, int channels, const float *in, float *out) double co = cos(t); double si = sin(t); double seq[4] = { 64, 32, 48, 12 }; - double ldelms = 60000 / bpm * (p < 0.75 ? (wrap(4 * p) > 0.5 ? (1./seq[(int)floor(4*p)]) : 1) : 1./8); + double ldelms = 60000 / bpm * + (p < 0.75 + ? (wrap(4 * p) > 0.5 ? (1./seq[(int)floor(4*p)]) : 1) + : 1./8); double rdelms = 60000 / bpm * (p < 0.5 ? (wrap(4 *p) > 0.5 ? 1 : 1./64) : 1./16); ldelms = lop(&s->elop[0], ldelms, 15); rdelms = lop(&s->elop[1], rdelms, 15);
diff @ 2018-10-03 22:02:50 +0100 diff --git a/src/go.c b/src/go.c index e279257e..6c3ec65c 100644 --- a/src/go.c +++ b/src/go.c @@ -358,7 +358,7 @@ go(S *s, int channels, const float *in, float *out) } s->edelay1.length = 4 * SR; s->edelay2.length = 4 * SR; - double hz = 0.125 * bpm / 60; + double hz = 0.125/4 * bpm / 60; double p = phasor(&s->ephase, hz); elphase = p; double t = twopi * p;
diff @ 2018-10-03 22:03:10 +0100 diff --git a/src/go.c b/src/go.c index 6c3ec65c..cdc334e5 100644 --- a/src/go.c +++ b/src/go.c @@ -376,8 +376,8 @@ go(S *s, int channels, const float *in, float *out) double er = delread4(&s->edelay2, rdelms + si); double es[2] = { co * el + si * er, -si * el + co * er }; compress(es, &s->ecompress1, 5, 10, 25, 48, es); - es[0] = mix(mixdown[0], es[0], mix(0, pow(wrap(8 * p), 0.125), 1)); - es[1] = mix(mixdown[1], es[1], mix(0, pow(wrap(8 * p), 0.125), 1)); + es[0] = mix(mixdown[0], es[0], mix(0, pow(wrap(4 * 8 * p), 0.125), 1)); + es[1] = mix(mixdown[1], es[1], mix(0, pow(wrap(4 * 8 * p), 0.125), 1)); compress(es, &s->ecompress2, 5, 10, 25, 48, es); delwrite(&s->edelay1, es[0]); delwrite(&s->edelay2, es[1]);
diff @ 2018-10-03 22:03:52 +0100 diff --git a/src/go.c b/src/go.c index cdc334e5..37e7013c 100644 --- a/src/go.c +++ b/src/go.c @@ -365,11 +365,14 @@ go(S *s, int channels, const float *in, float *out) double co = cos(t); double si = sin(t); double seq[4] = { 64, 32, 48, 12 }; + double seq2[4] = { 65, 33, 47, 11 }; double ldelms = 60000 / bpm * (p < 0.75 ? (wrap(4 * p) > 0.5 ? (1./seq[(int)floor(4*p)]) : 1) : 1./8); - double rdelms = 60000 / bpm * (p < 0.5 ? (wrap(4 *p) > 0.5 ? 1 : 1./64) : 1./16); + double rdelms = 60000 / bpm * (p < 0.5 + ? (wrap(4 * p) < 0.5 ? (1./seq2[(int)floor(4*p)]) : 1) + : 1./16); ldelms = lop(&s->elop[0], ldelms, 15); rdelms = lop(&s->elop[1], rdelms, 15); double el = delread4(&s->edelay1, ldelms + co);
diff @ 2018-10-03 22:04:19 +0100 diff --git a/src/go.c b/src/go.c index 37e7013c..d3ecc672 100644 --- a/src/go.c +++ b/src/go.c @@ -257,7 +257,7 @@ go(S *s, int channels, const float *in, float *out) int n = (time / 5) & ((1 << N) - 1); double zeroes = clamp(count_trailing_zeroes(n), 0, N); double probability = pow(0.57, N - zeroes); - probability = (8 + 5 * (n >= 0xC001)) * probability - 0.5; + probability = (0 * (n >= 0xC001)) * probability - 0.5; probability = clamp(probability, 0, 1); double uniform = rand() / (double) RAND_MAX; double trigger = uniform < probability;
diff @ 2018-10-03 22:05:23 +0100 diff --git a/src/go.c b/src/go.c index d3ecc672..0910596b 100644 --- a/src/go.c +++ b/src/go.c @@ -198,6 +198,7 @@ typedef struct // = append only data structure BIQUAD sow[2]; + BIQUAD elbq[2]; } S; @@ -377,6 +378,8 @@ go(S *s, int channels, const float *in, float *out) rdelms = lop(&s->elop[1], rdelms, 15); double el = delread4(&s->edelay1, ldelms + co); double er = delread4(&s->edelay2, rdelms + si); + el = biquad(highpass(&s->elbq[0], 10, flatq), el); + er = biquad(highpass(&s->elbq[0], 10, flatq), er); double es[2] = { co * el + si * er, -si * el + co * er }; compress(es, &s->ecompress1, 5, 10, 25, 48, es); es[0] = mix(mixdown[0], es[0], mix(0, pow(wrap(4 * 8 * p), 0.125), 1));
diff @ 2018-10-03 22:05:26 +0100 diff --git a/src/go.c b/src/go.c index 0910596b..f4b5ec65 100644 --- a/src/go.c +++ b/src/go.c @@ -379,7 +379,7 @@ go(S *s, int channels, const float *in, float *out) double el = delread4(&s->edelay1, ldelms + co); double er = delread4(&s->edelay2, rdelms + si); el = biquad(highpass(&s->elbq[0], 10, flatq), el); - er = biquad(highpass(&s->elbq[0], 10, flatq), er); + er = biquad(highpass(&s->elbq[1], 10, flatq), er); double es[2] = { co * el + si * er, -si * el + co * er }; compress(es, &s->ecompress1, 5, 10, 25, 48, es); es[0] = mix(mixdown[0], es[0], mix(0, pow(wrap(4 * 8 * p), 0.125), 1));
diff @ 2018-10-03 22:05:32 +0100 diff --git a/src/go.c b/src/go.c index f4b5ec65..8f63067d 100644 --- a/src/go.c +++ b/src/go.c @@ -378,8 +378,8 @@ go(S *s, int channels, const float *in, float *out) rdelms = lop(&s->elop[1], rdelms, 15); double el = delread4(&s->edelay1, ldelms + co); double er = delread4(&s->edelay2, rdelms + si); - el = biquad(highpass(&s->elbq[0], 10, flatq), el); - er = biquad(highpass(&s->elbq[1], 10, flatq), er); + el = biquad(highpass(&s->elbq[0], 20, flatq), el); + er = biquad(highpass(&s->elbq[1], 20, flatq), er); double es[2] = { co * el + si * er, -si * el + co * er }; compress(es, &s->ecompress1, 5, 10, 25, 48, es); es[0] = mix(mixdown[0], es[0], mix(0, pow(wrap(4 * 8 * p), 0.125), 1));
diff @ 2018-10-03 22:05:45 +0100 diff --git a/src/go.c b/src/go.c index 8f63067d..63b7f954 100644 --- a/src/go.c +++ b/src/go.c @@ -378,8 +378,8 @@ go(S *s, int channels, const float *in, float *out) rdelms = lop(&s->elop[1], rdelms, 15); double el = delread4(&s->edelay1, ldelms + co); double er = delread4(&s->edelay2, rdelms + si); - el = biquad(highpass(&s->elbq[0], 20, flatq), el); - er = biquad(highpass(&s->elbq[1], 20, flatq), er); + el = biquad(highpass(&s->elbq[0], 50, 3), el); + er = biquad(highpass(&s->elbq[1], 50, 3), er); double es[2] = { co * el + si * er, -si * el + co * er }; compress(es, &s->ecompress1, 5, 10, 25, 48, es); es[0] = mix(mixdown[0], es[0], mix(0, pow(wrap(4 * 8 * p), 0.125), 1));
diff @ 2018-10-03 22:05:58 +0100 diff --git a/src/go.c b/src/go.c index 63b7f954..631f95bb 100644 --- a/src/go.c +++ b/src/go.c @@ -378,7 +378,7 @@ go(S *s, int channels, const float *in, float *out) rdelms = lop(&s->elop[1], rdelms, 15); double el = delread4(&s->edelay1, ldelms + co); double er = delread4(&s->edelay2, rdelms + si); - el = biquad(highpass(&s->elbq[0], 50, 3), el); + el = biquad(highpass(&s->elbq[0], 60, 3), el); er = biquad(highpass(&s->elbq[1], 50, 3), er); double es[2] = { co * el + si * er, -si * el + co * er }; compress(es, &s->ecompress1, 5, 10, 25, 48, es);
diff @ 2018-10-03 22:06:05 +0100 diff --git a/src/go.c b/src/go.c index 631f95bb..bfeb6445 100644 --- a/src/go.c +++ b/src/go.c @@ -379,7 +379,7 @@ go(S *s, int channels, const float *in, float *out) double el = delread4(&s->edelay1, ldelms + co); double er = delread4(&s->edelay2, rdelms + si); el = biquad(highpass(&s->elbq[0], 60, 3), el); - er = biquad(highpass(&s->elbq[1], 50, 3), er); + er = biquad(highpass(&s->elbq[1], 61, 3), er); double es[2] = { co * el + si * er, -si * el + co * er }; compress(es, &s->ecompress1, 5, 10, 25, 48, es); es[0] = mix(mixdown[0], es[0], mix(0, pow(wrap(4 * 8 * p), 0.125), 1));
diff @ 2018-10-03 22:06:17 +0100 diff --git a/src/go.c b/src/go.c index bfeb6445..af8d441d 100644 --- a/src/go.c +++ b/src/go.c @@ -380,6 +380,8 @@ go(S *s, int channels, const float *in, float *out) double er = delread4(&s->edelay2, rdelms + si); el = biquad(highpass(&s->elbq[0], 60, 3), el); er = biquad(highpass(&s->elbq[1], 61, 3), er); + el = sin(el); + er = sin(er); double es[2] = { co * el + si * er, -si * el + co * er }; compress(es, &s->ecompress1, 5, 10, 25, 48, es); es[0] = mix(mixdown[0], es[0], mix(0, pow(wrap(4 * 8 * p), 0.125), 1));
diff @ 2018-10-03 22:06:26 +0100 diff --git a/src/go.c b/src/go.c index af8d441d..1ee5d3aa 100644 --- a/src/go.c +++ b/src/go.c @@ -380,8 +380,8 @@ go(S *s, int channels, const float *in, float *out) double er = delread4(&s->edelay2, rdelms + si); el = biquad(highpass(&s->elbq[0], 60, 3), el); er = biquad(highpass(&s->elbq[1], 61, 3), er); - el = sin(el); - er = sin(er); + el = sin(2 * el); + er = sin(2 *er); double es[2] = { co * el + si * er, -si * el + co * er }; compress(es, &s->ecompress1, 5, 10, 25, 48, es); es[0] = mix(mixdown[0], es[0], mix(0, pow(wrap(4 * 8 * p), 0.125), 1));
diff @ 2018-10-03 22:06:30 +0100 diff --git a/src/go.c b/src/go.c index 1ee5d3aa..3a6ea23d 100644 --- a/src/go.c +++ b/src/go.c @@ -380,8 +380,8 @@ go(S *s, int channels, const float *in, float *out) double er = delread4(&s->edelay2, rdelms + si); el = biquad(highpass(&s->elbq[0], 60, 3), el); er = biquad(highpass(&s->elbq[1], 61, 3), er); - el = sin(2 * el); - er = sin(2 *er); + el = sin(3 * el); + er = sin(3 * er); double es[2] = { co * el + si * er, -si * el + co * er }; compress(es, &s->ecompress1, 5, 10, 25, 48, es); es[0] = mix(mixdown[0], es[0], mix(0, pow(wrap(4 * 8 * p), 0.125), 1));
diff @ 2018-10-03 22:06:38 +0100 diff --git a/src/go.c b/src/go.c index 3a6ea23d..f2dea2f1 100644 --- a/src/go.c +++ b/src/go.c @@ -380,8 +380,8 @@ go(S *s, int channels, const float *in, float *out) double er = delread4(&s->edelay2, rdelms + si); el = biquad(highpass(&s->elbq[0], 60, 3), el); er = biquad(highpass(&s->elbq[1], 61, 3), er); - el = sin(3 * el); - er = sin(3 * er); + el = sin(5 * el); + er = sin(5 * er); double es[2] = { co * el + si * er, -si * el + co * er }; compress(es, &s->ecompress1, 5, 10, 25, 48, es); es[0] = mix(mixdown[0], es[0], mix(0, pow(wrap(4 * 8 * p), 0.125), 1));
diff @ 2018-10-03 22:06:57 +0100 diff --git a/src/go.c b/src/go.c index f2dea2f1..f4d99495 100644 --- a/src/go.c +++ b/src/go.c @@ -384,8 +384,8 @@ go(S *s, int channels, const float *in, float *out) er = sin(5 * er); double es[2] = { co * el + si * er, -si * el + co * er }; compress(es, &s->ecompress1, 5, 10, 25, 48, es); - es[0] = mix(mixdown[0], es[0], mix(0, pow(wrap(4 * 8 * p), 0.125), 1)); - es[1] = mix(mixdown[1], es[1], mix(0, pow(wrap(4 * 8 * p), 0.125), 1)); + es[0] = mix(mixdown[0], es[0], mix(1, pow(wrap(4 * 8 * p), 0.125), 0)); + es[1] = mix(mixdown[1], es[1], mix(1, pow(wrap(4 * 8 * p), 0.125), 0)); compress(es, &s->ecompress2, 5, 10, 25, 48, es); delwrite(&s->edelay1, es[0]); delwrite(&s->edelay2, es[1]);
diff @ 2018-10-03 22:07:07 +0100 diff --git a/src/go.c b/src/go.c index f4d99495..81da0398 100644 --- a/src/go.c +++ b/src/go.c @@ -374,8 +374,8 @@ go(S *s, int channels, const float *in, float *out) double rdelms = 60000 / bpm * (p < 0.5 ? (wrap(4 * p) < 0.5 ? (1./seq2[(int)floor(4*p)]) : 1) : 1./16); - ldelms = lop(&s->elop[0], ldelms, 15); - rdelms = lop(&s->elop[1], rdelms, 15); + ldelms = lop(&s->elop[0], ldelms, 5); + rdelms = lop(&s->elop[1], rdelms, 5); double el = delread4(&s->edelay1, ldelms + co); double er = delread4(&s->edelay2, rdelms + si); el = biquad(highpass(&s->elbq[0], 60, 3), el);
diff @ 2018-10-03 22:07:10 +0100 diff --git a/src/go.c b/src/go.c index 81da0398..dfe9d8e3 100644 --- a/src/go.c +++ b/src/go.c @@ -374,8 +374,8 @@ go(S *s, int channels, const float *in, float *out) double rdelms = 60000 / bpm * (p < 0.5 ? (wrap(4 * p) < 0.5 ? (1./seq2[(int)floor(4*p)]) : 1) : 1./16); - ldelms = lop(&s->elop[0], ldelms, 5); - rdelms = lop(&s->elop[1], rdelms, 5); + ldelms = lop(&s->elop[0], ldelms, 1); + rdelms = lop(&s->elop[1], rdelms, 1); double el = delread4(&s->edelay1, ldelms + co); double er = delread4(&s->edelay2, rdelms + si); el = biquad(highpass(&s->elbq[0], 60, 3), el);
diff @ 2018-10-03 22:07:26 +0100 diff --git a/src/go.c b/src/go.c index dfe9d8e3..851f8496 100644 --- a/src/go.c +++ b/src/go.c @@ -380,8 +380,8 @@ go(S *s, int channels, const float *in, float *out) double er = delread4(&s->edelay2, rdelms + si); el = biquad(highpass(&s->elbq[0], 60, 3), el); er = biquad(highpass(&s->elbq[1], 61, 3), er); - el = sin(5 * el); - er = sin(5 * er); + el = sin(6 * el); + er = sin(6 * er); double es[2] = { co * el + si * er, -si * el + co * er }; compress(es, &s->ecompress1, 5, 10, 25, 48, es); es[0] = mix(mixdown[0], es[0], mix(1, pow(wrap(4 * 8 * p), 0.125), 0));
diff @ 2018-10-03 22:07:28 +0100 diff --git a/src/go.c b/src/go.c index 851f8496..f026a996 100644 --- a/src/go.c +++ b/src/go.c @@ -380,8 +380,8 @@ go(S *s, int channels, const float *in, float *out) double er = delread4(&s->edelay2, rdelms + si); el = biquad(highpass(&s->elbq[0], 60, 3), el); er = biquad(highpass(&s->elbq[1], 61, 3), er); - el = sin(6 * el); - er = sin(6 * er); + el = sin(16 * el); + er = sin(16 * er); double es[2] = { co * el + si * er, -si * el + co * er }; compress(es, &s->ecompress1, 5, 10, 25, 48, es); es[0] = mix(mixdown[0], es[0], mix(1, pow(wrap(4 * 8 * p), 0.125), 0));
diff @ 2018-10-03 22:08:01 +0100 diff --git a/src/go.c b/src/go.c index f026a996..f3b5e28d 100644 --- a/src/go.c +++ b/src/go.c @@ -380,6 +380,8 @@ go(S *s, int channels, const float *in, float *out) double er = delread4(&s->edelay2, rdelms + si); el = biquad(highpass(&s->elbq[0], 60, 3), el); er = biquad(highpass(&s->elbq[1], 61, 3), er); + el = biquad(lowpass(&s->sow[0], 600, 3), el); + er = biquad(lowpass(&s->sow[1], 601, 3), er); el = sin(16 * el); er = sin(16 * er); double es[2] = { co * el + si * er, -si * el + co * er };
diff @ 2018-10-03 22:08:08 +0100 diff --git a/src/go.c b/src/go.c index f3b5e28d..f7680d18 100644 --- a/src/go.c +++ b/src/go.c @@ -380,8 +380,8 @@ go(S *s, int channels, const float *in, float *out) double er = delread4(&s->edelay2, rdelms + si); el = biquad(highpass(&s->elbq[0], 60, 3), el); er = biquad(highpass(&s->elbq[1], 61, 3), er); - el = biquad(lowpass(&s->sow[0], 600, 3), el); - er = biquad(lowpass(&s->sow[1], 601, 3), er); + el = biquad(lowpass(&s->sow[0], 60, 3), el); + er = biquad(lowpass(&s->sow[1], 61, 3), er); el = sin(16 * el); er = sin(16 * er); double es[2] = { co * el + si * er, -si * el + co * er };
diff @ 2018-10-03 22:08:48 +0100 diff --git a/src/go.c b/src/go.c index f7680d18..ea280c58 100644 --- a/src/go.c +++ b/src/go.c @@ -523,12 +523,16 @@ go(S *s, int channels, const float *in, float *out) o[0] += kick; o[1] += kick; } - if (0) + if (1) { // hihat double closed = 1 - wrap(8 * t - 0.58); double open = 1 - wrap(4 * t - 0.50); closed *= closed; closed *= closed; + open *= open; + open *= open; + closed *= closed; + closed *= closed; closed *= 1.3; open *= 1.3; closed *= closed; @@ -543,7 +547,7 @@ go(S *s, int channels, const float *in, float *out) o[1] += 4 * tanh(env * hip(&s->hip59[4], hip(&s->hip59[5], h * noise(), 3000), 1500)); } - if (1) + if (0) { // bass double lfo = lop(&s->lop59[0], wrap(8/3. * t), 5); double sub = sin(twopi * osc); @@ -588,8 +592,8 @@ go(S *s, int channels, const float *in, float *out) o[1] += r; } compress(o, &s->comp59, 5, 10, 15, 36, o); - mixdown[0] += o[0] * 0; - mixdown[1] += o[1] * 0; + mixdown[0] += o[0] * 1; + mixdown[1] += o[1] * 1; } // ===================================================================
diff @ 2018-10-03 22:09:16 +0100 diff --git a/src/go.c b/src/go.c index ea280c58..8b942da3 100644 --- a/src/go.c +++ b/src/go.c @@ -382,8 +382,8 @@ go(S *s, int channels, const float *in, float *out) er = biquad(highpass(&s->elbq[1], 61, 3), er); el = biquad(lowpass(&s->sow[0], 60, 3), el); er = biquad(lowpass(&s->sow[1], 61, 3), er); - el = sin(16 * el); - er = sin(16 * er); + el = sin(1 * el); + er = sin(1 * er); double es[2] = { co * el + si * er, -si * el + co * er }; compress(es, &s->ecompress1, 5, 10, 25, 48, es); es[0] = mix(mixdown[0], es[0], mix(1, pow(wrap(4 * 8 * p), 0.125), 0)); @@ -505,7 +505,7 @@ go(S *s, int channels, const float *in, float *out) double t = phasor(&s->phase59, tempo); double osc = phasor(&s->osc59, hz); double o[2] = { 0, 0 }; - if (0) + if (1) { // kick double peak = hz * 8; double env = 1 - wrap(2 * t);
diff @ 2018-10-03 22:09:31 +0100 diff --git a/src/go.c b/src/go.c index 8b942da3..ecbd878c 100644 --- a/src/go.c +++ b/src/go.c @@ -562,7 +562,7 @@ go(S *s, int channels, const float *in, float *out) o[0] += bass; o[1] += bass; } - if (0) + if (1) { // bell double env = lop(&s->lop59[4], clamp(2 * (0.5 - wrap(0.5 + 4 * t)), 0, 1), 15); double env2 = lop(&s->lop59[5], clamp(2 * (0.5 - wrap(8 * t)) * (wrap(4 * t) < 0.5), 0, 1), 15);
diff @ 2018-10-03 22:09:42 +0100 diff --git a/src/go.c b/src/go.c index ecbd878c..93d8a8b8 100644 --- a/src/go.c +++ b/src/go.c @@ -570,7 +570,7 @@ go(S *s, int channels, const float *in, float *out) = sin(4 * twopi * osc) * sin(5 * twopi * osc) * sin(7 * twopi * osc) - * env + * env * (t < 0.5) * 4; double bell1 = pitchshift(&s->ps59[0], 2, 100, 3, bell); double bell2 = pitchshift(&s->ps59[1], 2, 100, 4, bell1);
diff @ 2018-10-03 22:09:50 +0100 diff --git a/src/go.c b/src/go.c index 93d8a8b8..8193d3b6 100644 --- a/src/go.c +++ b/src/go.c @@ -570,7 +570,7 @@ go(S *s, int channels, const float *in, float *out) = sin(4 * twopi * osc) * sin(5 * twopi * osc) * sin(7 * twopi * osc) - * env * (t < 0.5) + * env * (t < 0.25) * 4; double bell1 = pitchshift(&s->ps59[0], 2, 100, 3, bell); double bell2 = pitchshift(&s->ps59[1], 2, 100, 4, bell1);
diff @ 2018-10-03 22:10:11 +0100 diff --git a/src/go.c b/src/go.c index 8193d3b6..16818335 100644 --- a/src/go.c +++ b/src/go.c @@ -391,8 +391,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]; } // =================================================================== @@ -547,7 +547,7 @@ go(S *s, int channels, const float *in, float *out) o[1] += 4 * tanh(env * hip(&s->hip59[4], hip(&s->hip59[5], h * noise(), 3000), 1500)); } - if (0) + if (1) { // bass double lfo = lop(&s->lop59[0], wrap(8/3. * t), 5); double sub = sin(twopi * osc);
diff @ 2018-10-03 22:10:36 +0100 diff --git a/src/go.c b/src/go.c index 16818335..1a03e078 100644 --- a/src/go.c +++ b/src/go.c @@ -557,7 +557,7 @@ go(S *s, int channels, const float *in, float *out) = sub + lop(&s->lop59[1], lop(&s->lop59[2], bosc, 1000), 1000) + sin(4 * twopi * vcf(&s->vcf59[0], bosc, 4 * hz, 6)) - + sin(2 * twopi * vcf(&s->vcf59[1], bosc, 8 * hz, 4)) * 0.7; + + sin((2 * floor(4 * t)) * twopi * vcf(&s->vcf59[1], bosc, 8 * hz, 4)) * 0.7; bass *= 1.5; o[0] += bass; o[1] += bass;
diff @ 2018-10-03 22:10:49 +0100 diff --git a/src/go.c b/src/go.c index 1a03e078..e641e041 100644 --- a/src/go.c +++ b/src/go.c @@ -556,7 +556,7 @@ go(S *s, int channels, const float *in, float *out) double 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(4 * ceil(4 * t) * twopi * vcf(&s->vcf59[0], bosc, 4 * hz, 6)) + sin((2 * floor(4 * t)) * twopi * vcf(&s->vcf59[1], bosc, 8 * hz, 4)) * 0.7; bass *= 1.5; o[0] += bass;
diff @ 2018-10-03 22:11:06 +0100 diff --git a/src/go.c b/src/go.c index e641e041..599d6a8a 100644 --- a/src/go.c +++ b/src/go.c @@ -556,7 +556,7 @@ go(S *s, int channels, const float *in, float *out) double bass = sub + lop(&s->lop59[1], lop(&s->lop59[2], bosc, 1000), 1000) - + sin(4 * ceil(4 * t) * twopi * vcf(&s->vcf59[0], bosc, 4 * hz, 6)) + + sin(4 * ceil(4 * t) * twopi * vcf(&s->vcf59[0], bosc, (t > 0.5 ? 4 : 2) * hz, 6)) + sin((2 * floor(4 * t)) * twopi * vcf(&s->vcf59[1], bosc, 8 * hz, 4)) * 0.7; bass *= 1.5; o[0] += bass;
diff @ 2018-10-03 22:11:17 +0100 diff --git a/src/go.c b/src/go.c index 599d6a8a..cf59ffa1 100644 --- a/src/go.c +++ b/src/go.c @@ -557,7 +557,7 @@ go(S *s, int channels, const float *in, float *out) = sub + lop(&s->lop59[1], lop(&s->lop59[2], bosc, 1000), 1000) + sin(4 * ceil(4 * t) * twopi * vcf(&s->vcf59[0], bosc, (t > 0.5 ? 4 : 2) * hz, 6)) - + sin((2 * floor(4 * t)) * twopi * vcf(&s->vcf59[1], bosc, 8 * hz, 4)) * 0.7; + + sin((2 * floor(4 * t)) * twopi * vcf(&s->vcf59[1], bosc, (t > 0.5 ? 6 : 8) * hz, 4)) * 0.7; bass *= 1.5; o[0] += bass; o[1] += bass;
diff @ 2018-10-03 22:11:23 +0100 diff --git a/src/go.c b/src/go.c index cf59ffa1..f40dc373 100644 --- a/src/go.c +++ b/src/go.c @@ -557,7 +557,7 @@ go(S *s, int channels, const float *in, float *out) = sub + lop(&s->lop59[1], lop(&s->lop59[2], bosc, 1000), 1000) + sin(4 * ceil(4 * t) * twopi * vcf(&s->vcf59[0], bosc, (t > 0.5 ? 4 : 2) * hz, 6)) - + sin((2 * floor(4 * t)) * twopi * vcf(&s->vcf59[1], bosc, (t > 0.5 ? 6 : 8) * hz, 4)) * 0.7; + + sin((2 * floor(4 * t)) * twopi * vcf(&s->vcf59[1], bosc, (wrap(2 * t) > 0.5 ? 6 : 8) * hz, 4)) * 0.7; bass *= 1.5; o[0] += bass; o[1] += bass;
diff @ 2018-10-03 22:11:29 +0100 diff --git a/src/go.c b/src/go.c index f40dc373..5a7629bc 100644 --- a/src/go.c +++ b/src/go.c @@ -556,7 +556,7 @@ go(S *s, int channels, const float *in, float *out) double bass = sub + lop(&s->lop59[1], lop(&s->lop59[2], bosc, 1000), 1000) - + sin(4 * ceil(4 * t) * twopi * vcf(&s->vcf59[0], bosc, (t > 0.5 ? 4 : 2) * hz, 6)) + + sin(4 * ceil(4 * t) * twopi * vcf(&s->vcf59[0], bosc, (t > 0.5 ? 4 : 2) * hz, 9)) + sin((2 * floor(4 * t)) * twopi * vcf(&s->vcf59[1], bosc, (wrap(2 * t) > 0.5 ? 6 : 8) * hz, 4)) * 0.7; bass *= 1.5; o[0] += bass;
diff @ 2018-10-03 22:11:36 +0100 diff --git a/src/go.c b/src/go.c index 5a7629bc..2dbd0ad5 100644 --- a/src/go.c +++ b/src/go.c @@ -557,7 +557,7 @@ go(S *s, int channels, const float *in, float *out) = sub + lop(&s->lop59[1], lop(&s->lop59[2], bosc, 1000), 1000) + sin(4 * ceil(4 * t) * twopi * vcf(&s->vcf59[0], bosc, (t > 0.5 ? 4 : 2) * hz, 9)) - + sin((2 * floor(4 * t)) * twopi * vcf(&s->vcf59[1], bosc, (wrap(2 * t) > 0.5 ? 6 : 8) * hz, 4)) * 0.7; + + sin((2 * floor(4 * t)) * twopi * vcf(&s->vcf59[1], bosc, (wrap(2 * t) > 0.5 ? 6 : 8) * hz, 6)) * 0.7; bass *= 1.5; o[0] += bass; o[1] += bass;
diff @ 2018-10-03 22:11:46 +0100 diff --git a/src/go.c b/src/go.c index 2dbd0ad5..4493df1b 100644 --- a/src/go.c +++ b/src/go.c @@ -584,8 +584,8 @@ go(S *s, int channels, const float *in, float *out) bell += becho; bell *= 4; double lfo = 11 * sin(16 * twopi * t); - double l = 0.3 * delread4(&s->del59l, ms4 + lfo) + bell; - double r = 0.3 * delread4(&s->del59r, ms4 - lfo) + bell; + double l = 0.4 * delread4(&s->del59l, ms4 + lfo) + bell; + double r = 0.4 * delread4(&s->del59r, ms4 - lfo) + bell; delwrite(&s->del59l, -r); delwrite(&s->del59r, l); o[0] += l;
diff @ 2018-10-03 22:11:49 +0100 diff --git a/src/go.c b/src/go.c index 4493df1b..888ac28d 100644 --- a/src/go.c +++ b/src/go.c @@ -584,8 +584,8 @@ go(S *s, int channels, const float *in, float *out) bell += becho; bell *= 4; double lfo = 11 * sin(16 * twopi * t); - double l = 0.4 * delread4(&s->del59l, ms4 + lfo) + bell; - double r = 0.4 * delread4(&s->del59r, ms4 - lfo) + bell; + double l = 0.5 * delread4(&s->del59l, ms4 + lfo) + bell; + double r = 0.5 * delread4(&s->del59r, ms4 - lfo) + bell; delwrite(&s->del59l, -r); delwrite(&s->del59r, l); o[0] += l;
diff @ 2018-10-03 22:11:50 +0100 diff --git a/src/go.c b/src/go.c index 888ac28d..4fc7f1a6 100644 --- a/src/go.c +++ b/src/go.c @@ -583,7 +583,7 @@ go(S *s, int channels, const float *in, float *out) becho *= env2; bell += becho; bell *= 4; - double lfo = 11 * sin(16 * twopi * t); + double lfo = 1 * sin(16 * twopi * t); double l = 0.5 * delread4(&s->del59l, ms4 + lfo) + bell; double r = 0.5 * delread4(&s->del59r, ms4 - lfo) + bell; delwrite(&s->del59l, -r);
diff @ 2018-10-03 22:11:55 +0100 diff --git a/src/go.c b/src/go.c index 4fc7f1a6..7a00c4b0 100644 --- a/src/go.c +++ b/src/go.c @@ -584,8 +584,8 @@ go(S *s, int channels, const float *in, float *out) bell += becho; bell *= 4; double lfo = 1 * sin(16 * twopi * t); - double l = 0.5 * delread4(&s->del59l, ms4 + lfo) + bell; - double r = 0.5 * delread4(&s->del59r, ms4 - lfo) + bell; + double l = 0.6 * delread4(&s->del59l, ms4 + lfo) + bell; + double r = 0.6 * delread4(&s->del59r, ms4 - lfo) + bell; delwrite(&s->del59l, -r); delwrite(&s->del59r, l); o[0] += l;
diff @ 2018-10-03 22:12:00 +0100 diff --git a/src/go.c b/src/go.c index 7a00c4b0..76c98598 100644 --- a/src/go.c +++ b/src/go.c @@ -584,8 +584,8 @@ go(S *s, int channels, const float *in, float *out) bell += becho; bell *= 4; double lfo = 1 * sin(16 * twopi * t); - double l = 0.6 * delread4(&s->del59l, ms4 + lfo) + bell; - double r = 0.6 * delread4(&s->del59r, ms4 - lfo) + bell; + double l = 0.7 * delread4(&s->del59l, ms4 + lfo) + bell; + double r = 0.7 * delread4(&s->del59r, ms4 - lfo) + bell; delwrite(&s->del59l, -r); delwrite(&s->del59r, l); o[0] += l;
diff @ 2018-10-03 22:12:04 +0100 diff --git a/src/go.c b/src/go.c index 76c98598..95887513 100644 --- a/src/go.c +++ b/src/go.c @@ -583,7 +583,7 @@ go(S *s, int channels, const float *in, float *out) becho *= env2; bell += becho; bell *= 4; - double lfo = 1 * sin(16 * twopi * t); + double lfo = 1 * sin(4 * twopi * t); double l = 0.7 * delread4(&s->del59l, ms4 + lfo) + bell; double r = 0.7 * delread4(&s->del59r, ms4 - lfo) + bell; delwrite(&s->del59l, -r);
diff @ 2018-10-03 22:12:09 +0100 diff --git a/src/go.c b/src/go.c index 95887513..e8a604fe 100644 --- a/src/go.c +++ b/src/go.c @@ -584,8 +584,8 @@ go(S *s, int channels, const float *in, float *out) bell += becho; bell *= 4; double lfo = 1 * sin(4 * twopi * t); - double l = 0.7 * delread4(&s->del59l, ms4 + lfo) + bell; - double r = 0.7 * delread4(&s->del59r, ms4 - lfo) + bell; + double l = 0.8 * delread4(&s->del59l, ms4 + lfo) + bell; + double r = 0.8 * delread4(&s->del59r, ms4 - lfo) + bell; delwrite(&s->del59l, -r); delwrite(&s->del59r, l); o[0] += l;
diff @ 2018-10-03 22:12:20 +0100 diff --git a/src/go.c b/src/go.c index e8a604fe..6f3fabc4 100644 --- a/src/go.c +++ b/src/go.c @@ -507,8 +507,8 @@ go(S *s, int channels, const float *in, float *out) double o[2] = { 0, 0 }; if (1) { // kick - double peak = hz * 8; - double env = 1 - wrap(2 * t); + double peak = hz * 4; + double env = 1 - wrap(4 * t); double env2 = env * 2; env *= env; env *= env;
diff @ 2018-10-03 22:12:31 +0100 diff --git a/src/go.c b/src/go.c index 6f3fabc4..2eddb818 100644 --- a/src/go.c +++ b/src/go.c @@ -584,8 +584,8 @@ go(S *s, int channels, const float *in, float *out) bell += becho; bell *= 4; double lfo = 1 * sin(4 * twopi * t); - double l = 0.8 * delread4(&s->del59l, ms4 + lfo) + bell; - double r = 0.8 * delread4(&s->del59r, ms4 - lfo) + bell; + double l = 0.9 * delread4(&s->del59l, ms4 + lfo) + bell; + double r = 0.9 * delread4(&s->del59r, ms4 - lfo) + bell; delwrite(&s->del59l, -r); delwrite(&s->del59r, l); o[0] += l;
diff @ 2018-10-03 22:12:40 +0100 diff --git a/src/go.c b/src/go.c index 2eddb818..fcb5f504 100644 --- a/src/go.c +++ b/src/go.c @@ -582,7 +582,7 @@ go(S *s, int channels, const float *in, float *out) delwrite(&s->del59, bell3 + pitchshift(&s->ps59[3], 2, 100, 3, becho)); becho *= env2; bell += becho; - bell *= 4; + bell *= 1; double lfo = 1 * sin(4 * twopi * t); double l = 0.9 * delread4(&s->del59l, ms4 + lfo) + bell; double r = 0.9 * delread4(&s->del59r, ms4 - lfo) + bell;
diff @ 2018-10-03 22:12:56 +0100 diff --git a/src/go.c b/src/go.c index fcb5f504..6601ac5b 100644 --- a/src/go.c +++ b/src/go.c @@ -586,6 +586,8 @@ go(S *s, int channels, const float *in, float *out) double lfo = 1 * sin(4 * twopi * t); double l = 0.9 * delread4(&s->del59l, ms4 + lfo) + bell; double r = 0.9 * delread4(&s->del59r, ms4 - lfo) + bell; + l = tanh(l); + r = tanh(r); delwrite(&s->del59l, -r); delwrite(&s->del59r, l); o[0] += l;
diff @ 2018-10-03 22:13:03 +0100 diff --git a/src/go.c b/src/go.c index 6601ac5b..9bc1a0f1 100644 --- a/src/go.c +++ b/src/go.c @@ -584,8 +584,8 @@ go(S *s, int channels, const float *in, float *out) bell += becho; bell *= 1; double lfo = 1 * sin(4 * twopi * t); - double l = 0.9 * delread4(&s->del59l, ms4 + lfo) + bell; - double r = 0.9 * delread4(&s->del59r, ms4 - lfo) + bell; + double l = 1 * delread4(&s->del59l, ms4 + lfo) + bell; + double r = 1 * delread4(&s->del59r, ms4 - lfo) + bell; l = tanh(l); r = tanh(r); delwrite(&s->del59l, -r);
diff @ 2018-10-03 22:13:12 +0100 diff --git a/src/go.c b/src/go.c index 9bc1a0f1..b281f9b1 100644 --- a/src/go.c +++ b/src/go.c @@ -529,10 +529,6 @@ go(S *s, int channels, const float *in, float *out) double open = 1 - wrap(4 * t - 0.50); closed *= closed; closed *= closed; - open *= open; - open *= open; - closed *= closed; - closed *= closed; closed *= 1.3; open *= 1.3; closed *= closed;
diff @ 2018-10-03 22:13:24 +0100 diff --git a/src/go.c b/src/go.c index b281f9b1..df7c45b0 100644 --- a/src/go.c +++ b/src/go.c @@ -552,7 +552,7 @@ go(S *s, int channels, const float *in, float *out) double bass = sub + lop(&s->lop59[1], lop(&s->lop59[2], bosc, 1000), 1000) - + sin(4 * ceil(4 * t) * twopi * vcf(&s->vcf59[0], bosc, (t > 0.5 ? 4 : 2) * hz, 9)) + + sin(4 / ceil(4 * t) * twopi * vcf(&s->vcf59[0], bosc, (t > 0.5 ? 4 : 2) * hz, 9)) + sin((2 * floor(4 * t)) * twopi * vcf(&s->vcf59[1], bosc, (wrap(2 * t) > 0.5 ? 6 : 8) * hz, 6)) * 0.7; bass *= 1.5; o[0] += bass;
diff @ 2018-10-03 22:13:33 +0100 diff --git a/src/go.c b/src/go.c index df7c45b0..e1d41032 100644 --- a/src/go.c +++ b/src/go.c @@ -552,7 +552,7 @@ go(S *s, int channels, const float *in, float *out) double bass = sub + lop(&s->lop59[1], lop(&s->lop59[2], bosc, 1000), 1000) - + sin(4 / ceil(4 * t) * twopi * vcf(&s->vcf59[0], bosc, (t > 0.5 ? 4 : 2) * hz, 9)) + + sin(4 / ceil(1 + * t) * twopi * vcf(&s->vcf59[0], bosc, (t > 0.5 ? 4 : 2) * hz, 9)) + sin((2 * floor(4 * t)) * twopi * vcf(&s->vcf59[1], bosc, (wrap(2 * t) > 0.5 ? 6 : 8) * hz, 6)) * 0.7; bass *= 1.5; o[0] += bass;
diff @ 2018-10-03 22:13:36 +0100 diff --git a/src/go.c b/src/go.c index e1d41032..d1a0f2f7 100644 --- a/src/go.c +++ b/src/go.c @@ -552,7 +552,7 @@ go(S *s, int channels, const float *in, float *out) double bass = sub + lop(&s->lop59[1], lop(&s->lop59[2], bosc, 1000), 1000) - + sin(4 / ceil(1 + * t) * twopi * vcf(&s->vcf59[0], bosc, (t > 0.5 ? 4 : 2) * hz, 9)) + + sin(4 / ceil(1 +4 * t) * twopi * vcf(&s->vcf59[0], bosc, (t > 0.5 ? 4 : 2) * hz, 9)) + sin((2 * floor(4 * t)) * twopi * vcf(&s->vcf59[1], bosc, (wrap(2 * t) > 0.5 ? 6 : 8) * hz, 6)) * 0.7; bass *= 1.5; o[0] += bass;
diff @ 2018-10-03 22:13:39 +0100 diff --git a/src/go.c b/src/go.c index d1a0f2f7..f04ca8ba 100644 --- a/src/go.c +++ b/src/go.c @@ -553,7 +553,7 @@ go(S *s, int channels, const float *in, float *out) = sub + lop(&s->lop59[1], lop(&s->lop59[2], bosc, 1000), 1000) + sin(4 / ceil(1 +4 * t) * twopi * vcf(&s->vcf59[0], bosc, (t > 0.5 ? 4 : 2) * hz, 9)) - + sin((2 * floor(4 * t)) * twopi * vcf(&s->vcf59[1], bosc, (wrap(2 * t) > 0.5 ? 6 : 8) * hz, 6)) * 0.7; + + sin((2 * floor(1 + 4 * t)) * twopi * vcf(&s->vcf59[1], bosc, (wrap(2 * t) > 0.5 ? 6 : 8) * hz, 6)) * 0.7; bass *= 1.5; o[0] += bass; o[1] += bass;
diff @ 2018-10-03 22:13:46 +0100 diff --git a/src/go.c b/src/go.c index f04ca8ba..39b8ac06 100644 --- a/src/go.c +++ b/src/go.c @@ -553,7 +553,7 @@ go(S *s, int channels, const float *in, float *out) = sub + lop(&s->lop59[1], lop(&s->lop59[2], bosc, 1000), 1000) + sin(4 / ceil(1 +4 * t) * twopi * vcf(&s->vcf59[0], bosc, (t > 0.5 ? 4 : 2) * hz, 9)) - + sin((2 * floor(1 + 4 * t)) * twopi * vcf(&s->vcf59[1], bosc, (wrap(2 * t) > 0.5 ? 6 : 8) * hz, 6)) * 0.7; + + sin((2 / floor(1 + 4 * t)) * twopi * vcf(&s->vcf59[1], bosc, (wrap(2 * t) > 0.5 ? 6 : 8) * hz, 6)) * 0.7; bass *= 1.5; o[0] += bass; o[1] += bass;
diff @ 2018-10-03 22:13:56 +0100 diff --git a/src/go.c b/src/go.c index 39b8ac06..e9c7b5a5 100644 --- a/src/go.c +++ b/src/go.c @@ -578,7 +578,7 @@ go(S *s, int channels, const float *in, float *out) delwrite(&s->del59, bell3 + pitchshift(&s->ps59[3], 2, 100, 3, becho)); becho *= env2; bell += becho; - bell *= 1; + bell *=2; double lfo = 1 * sin(4 * twopi * t); double l = 1 * delread4(&s->del59l, ms4 + lfo) + bell; double r = 1 * delread4(&s->del59r, ms4 - lfo) + bell;
diff @ 2018-10-03 22:14:07 +0100 diff --git a/src/go.c b/src/go.c index e9c7b5a5..fad17089 100644 --- a/src/go.c +++ b/src/go.c @@ -505,7 +505,7 @@ go(S *s, int channels, const float *in, float *out) double t = phasor(&s->phase59, tempo); double osc = phasor(&s->osc59, hz); double o[2] = { 0, 0 }; - if (1) + if (0) { // kick double peak = hz * 4; double env = 1 - wrap(4 * t); @@ -523,7 +523,7 @@ go(S *s, int channels, const float *in, float *out) o[0] += kick; o[1] += kick; } - if (1) + if (0) { // hihat double closed = 1 - wrap(8 * t - 0.58); double open = 1 - wrap(4 * t - 0.50);
diff @ 2018-10-03 22:14:21 +0100 diff --git a/src/go.c b/src/go.c index fad17089..821a0ed8 100644 --- a/src/go.c +++ b/src/go.c @@ -543,7 +543,7 @@ go(S *s, int channels, const float *in, float *out) o[1] += 4 * tanh(env * hip(&s->hip59[4], hip(&s->hip59[5], h * noise(), 3000), 1500)); } - if (1) + if (0) { // bass double lfo = lop(&s->lop59[0], wrap(8/3. * t), 5); double sub = sin(twopi * osc); @@ -567,7 +567,7 @@ go(S *s, int channels, const float *in, float *out) * sin(5 * twopi * osc) * sin(7 * twopi * osc) * env * (t < 0.25) - * 4; + * 0; double bell1 = pitchshift(&s->ps59[0], 2, 100, 3, bell); double bell2 = pitchshift(&s->ps59[1], 2, 100, 4, bell1); double bell3 = pitchshift(&s->ps59[2], 2, 100, 5, bell2);
diff @ 2018-10-03 22:14:35 +0100 diff --git a/src/go.c b/src/go.c index 821a0ed8..de0e76a3 100644 --- a/src/go.c +++ b/src/go.c @@ -580,8 +580,8 @@ go(S *s, int channels, const float *in, float *out) bell += becho; bell *=2; double lfo = 1 * sin(4 * twopi * t); - double l = 1 * delread4(&s->del59l, ms4 + lfo) + bell; - double r = 1 * delread4(&s->del59r, ms4 - lfo) + bell; + double l = 0.6 * delread4(&s->del59l, ms4 + lfo) + bell; + double r = 0.6 * delread4(&s->del59r, ms4 - lfo) + bell; l = tanh(l); r = tanh(r); delwrite(&s->del59l, -r);
diff @ 2018-10-03 22:14:43 +0100 diff --git a/src/go.c b/src/go.c index de0e76a3..e638c9ee 100644 --- a/src/go.c +++ b/src/go.c @@ -580,8 +580,8 @@ go(S *s, int channels, const float *in, float *out) bell += becho; bell *=2; double lfo = 1 * sin(4 * twopi * t); - double l = 0.6 * delread4(&s->del59l, ms4 + lfo) + bell; - double r = 0.6 * delread4(&s->del59r, ms4 - lfo) + bell; + double l = 0.2 * delread4(&s->del59l, ms4 + lfo) + bell; + double r = 0.2 * delread4(&s->del59r, ms4 - lfo) + bell; l = tanh(l); r = tanh(r); delwrite(&s->del59l, -r);