clive is a C audio live-coding skeleton. It allows you to hot-swap DSP processing callbacks, providing not much more than automatic C code recompilation, object code reloading, and state preservation.
diff @ 2017-05-27 20:45:22 +0100 diff --git a/src/go.c b/src/go.c index 97b60ec7..cb865d93 100644 --- a/src/go.c +++ b/src/go.c @@ -220,7 +220,7 @@ go(S *s, int channels, const float *in, float *out) // =================================================================== // = 1 = sea organ 2.1 { -#if 1 +#if 0 double impulse[2] = { s->reloaded, s->reloaded }; #endif double p = phasor(&s->phase, 0.01);
diff @ 2017-05-27 20:45:26 +0100 diff --git a/src/go.c b/src/go.c index cb865d93..4d6c9e80 100644 --- a/src/go.c +++ b/src/go.c @@ -245,7 +245,7 @@ go(S *s, int channels, const float *in, float *out) so2echo(&s->echo[c], 20, 500, tanh( so2[c] + -#if 1 +#if 0 impulse[c] + #endif biquad(highpass(&s->hi[c], 1000, flatq), 0 * pnoise[c])
diff @ 2017-05-27 20:45:33 +0100 diff --git a/src/go.c b/src/go.c index 4d6c9e80..dfa9e02b 100644 --- a/src/go.c +++ b/src/go.c @@ -231,7 +231,7 @@ go(S *s, int channels, const float *in, float *out) }; for (int c = 0; c < 2; ++c) { - double down = pitchshift(&s->shift[2 * c + 0], 2, 125, 0, fb[c]); + double down = pitchshift(&s->shift[2 * c + 0], 2, 125, 0.1, fb[c]); double up = pitchshift(&s->shift[2 * c + 1], 2, 125, 0, down); fb[c] = fb[c] + down + up; }
diff @ 2017-05-27 20:45:42 +0100 diff --git a/src/go.c b/src/go.c index dfa9e02b..b501e35b 100644 --- a/src/go.c +++ b/src/go.c @@ -232,7 +232,7 @@ go(S *s, int channels, const float *in, float *out) for (int c = 0; c < 2; ++c) { double down = pitchshift(&s->shift[2 * c + 0], 2, 125, 0.1, fb[c]); - double up = pitchshift(&s->shift[2 * c + 1], 2, 125, 0, down); + double up = pitchshift(&s->shift[2 * c + 1], 2, 125, -0.1, down); fb[c] = fb[c] + down + up; } double so2[2] = { fb[0], fb[1] };
diff @ 2017-05-27 20:45:50 +0100 diff --git a/src/go.c b/src/go.c index b501e35b..70c05e74 100644 --- a/src/go.c +++ b/src/go.c @@ -231,7 +231,7 @@ go(S *s, int channels, const float *in, float *out) }; for (int c = 0; c < 2; ++c) { - double down = pitchshift(&s->shift[2 * c + 0], 2, 125, 0.1, fb[c]); + double down = pitchshift(&s->shift[2 * c + 0], 2, 125, 0.2, fb[c]); double up = pitchshift(&s->shift[2 * c + 1], 2, 125, -0.1, down); fb[c] = fb[c] + down + up; }
diff @ 2017-05-27 20:45:58 +0100 diff --git a/src/go.c b/src/go.c index 70c05e74..4e04827f 100644 --- a/src/go.c +++ b/src/go.c @@ -231,7 +231,7 @@ go(S *s, int channels, const float *in, float *out) }; for (int c = 0; c < 2; ++c) { - double down = pitchshift(&s->shift[2 * c + 0], 2, 125, 0.2, fb[c]); + double down = pitchshift(&s->shift[2 * c + 0], 2, 125, 0.3, fb[c]); double up = pitchshift(&s->shift[2 * c + 1], 2, 125, -0.1, down); fb[c] = fb[c] + down + up; }
diff @ 2017-05-27 20:46:06 +0100 diff --git a/src/go.c b/src/go.c index 4e04827f..fcad1061 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; for (int c = 0; c < 2; ++c) { - so2echo(&s->echo[c], 20, 500, + so2echo(&s->echo[c], 20, 1000, tanh( so2[c] + #if 0
diff @ 2017-05-27 20:46:14 +0100 diff --git a/src/go.c b/src/go.c index fcad1061..4931de81 100644 --- a/src/go.c +++ b/src/go.c @@ -231,7 +231,7 @@ go(S *s, int channels, const float *in, float *out) }; for (int c = 0; c < 2; ++c) { - double down = pitchshift(&s->shift[2 * c + 0], 2, 125, 0.3, fb[c]); + double down = pitchshift(&s->shift[2 * c + 0], 2, 125, 0.5, fb[c]); double up = pitchshift(&s->shift[2 * c + 1], 2, 125, -0.1, down); fb[c] = fb[c] + down + up; }
diff @ 2017-05-27 20:46:21 +0100 diff --git a/src/go.c b/src/go.c index 4931de81..ba49e002 100644 --- a/src/go.c +++ b/src/go.c @@ -232,7 +232,7 @@ go(S *s, int channels, const float *in, float *out) for (int c = 0; c < 2; ++c) { double down = pitchshift(&s->shift[2 * c + 0], 2, 125, 0.5, fb[c]); - double up = pitchshift(&s->shift[2 * c + 1], 2, 125, -0.1, down); + double up = pitchshift(&s->shift[2 * c + 1], 2, 125, -0.3, down); fb[c] = fb[c] + down + up; } double so2[2] = { fb[0], fb[1] };
diff @ 2017-05-27 20:46:28 +0100 diff --git a/src/go.c b/src/go.c index ba49e002..6fe2313e 100644 --- a/src/go.c +++ b/src/go.c @@ -232,7 +232,7 @@ go(S *s, int channels, const float *in, float *out) for (int c = 0; c < 2; ++c) { double down = pitchshift(&s->shift[2 * c + 0], 2, 125, 0.5, fb[c]); - double up = pitchshift(&s->shift[2 * c + 1], 2, 125, -0.3, down); + double up = pitchshift(&s->shift[2 * c + 1], 2, 125, -0.4, down); fb[c] = fb[c] + down + up; } double so2[2] = { fb[0], fb[1] };
diff @ 2017-05-27 20:46:47 +0100 diff --git a/src/go.c b/src/go.c index 6fe2313e..a9cf2078 100644 --- a/src/go.c +++ b/src/go.c @@ -233,7 +233,7 @@ go(S *s, int channels, const float *in, float *out) { double down = pitchshift(&s->shift[2 * c + 0], 2, 125, 0.5, fb[c]); double up = pitchshift(&s->shift[2 * c + 1], 2, 125, -0.4, down); - fb[c] = fb[c] + down + up; + fb[c] = sin(fb[c] + down + up); } double so2[2] = { fb[0], fb[1] }; compress(so2, &s->compress[0], 5, 15, 30, 48, so2);
diff @ 2017-05-27 20:46:55 +0100 diff --git a/src/go.c b/src/go.c index a9cf2078..10788862 100644 --- a/src/go.c +++ b/src/go.c @@ -233,7 +233,7 @@ go(S *s, int channels, const float *in, float *out) { double down = pitchshift(&s->shift[2 * c + 0], 2, 125, 0.5, fb[c]); double up = pitchshift(&s->shift[2 * c + 1], 2, 125, -0.4, down); - fb[c] = sin(fb[c] + down + up); + fb[c] = sin(fb[c] - down - up); } double so2[2] = { fb[0], fb[1] }; compress(so2, &s->compress[0], 5, 15, 30, 48, so2);
diff @ 2017-05-27 20:47:03 +0100 diff --git a/src/go.c b/src/go.c index 10788862..2d2d759b 100644 --- a/src/go.c +++ b/src/go.c @@ -231,7 +231,7 @@ go(S *s, int channels, const float *in, float *out) }; for (int c = 0; c < 2; ++c) { - double down = pitchshift(&s->shift[2 * c + 0], 2, 125, 0.5, fb[c]); + double down = pitchshift(&s->shift[2 * c + 0], 2, 125, 0.7, fb[c]); double up = pitchshift(&s->shift[2 * c + 1], 2, 125, -0.4, down); fb[c] = sin(fb[c] - down - up); }
diff @ 2017-05-27 20:47:22 +0100 diff --git a/src/go.c b/src/go.c index 2d2d759b..427ab8f7 100644 --- a/src/go.c +++ b/src/go.c @@ -226,8 +226,8 @@ go(S *s, int channels, const float *in, float *out) double p = phasor(&s->phase, 0.01); double modulation = 10 * cos(twopi * p); double fb[2] = - { delread4(&s->echo[1].del, 683/6. - modulation) - , delread4(&s->echo[0].del, 683/6. + modulation) + { delread4(&s->echo[1].del, 683/12. - modulation) + , delread4(&s->echo[0].del, 683/12. + modulation) }; for (int c = 0; c < 2; ++c) {
diff @ 2017-05-27 20:47:32 +0100 diff --git a/src/go.c b/src/go.c index 427ab8f7..c4e0be55 100644 --- a/src/go.c +++ b/src/go.c @@ -226,8 +226,8 @@ go(S *s, int channels, const float *in, float *out) double p = phasor(&s->phase, 0.01); double modulation = 10 * cos(twopi * p); double fb[2] = - { delread4(&s->echo[1].del, 683/12. - modulation) - , delread4(&s->echo[0].del, 683/12. + modulation) + { delread4(&s->echo[1].del, 683/24. - modulation) + , delread4(&s->echo[0].del, 683/24. + modulation) }; for (int c = 0; c < 2; ++c) {
diff @ 2017-05-27 20:47:49 +0100 diff --git a/src/go.c b/src/go.c index c4e0be55..d01a00e0 100644 --- a/src/go.c +++ b/src/go.c @@ -223,8 +223,8 @@ go(S *s, int channels, const float *in, float *out) #if 0 double impulse[2] = { s->reloaded, s->reloaded }; #endif - double p = phasor(&s->phase, 0.01); - double modulation = 10 * cos(twopi * p); + double p = phasor(&s->phase, 0.1); + double modulation = 1 * cos(twopi * p); double fb[2] = { delread4(&s->echo[1].del, 683/24. - modulation) , delread4(&s->echo[0].del, 683/24. + modulation) @@ -232,7 +232,7 @@ go(S *s, int channels, const float *in, float *out) for (int c = 0; c < 2; ++c) { double down = pitchshift(&s->shift[2 * c + 0], 2, 125, 0.7, fb[c]); - double up = pitchshift(&s->shift[2 * c + 1], 2, 125, -0.4, down); + double up = pitchshift(&s->shift[2 * c + 1], 2, 125, -0.6, down); fb[c] = sin(fb[c] - down - up); } double so2[2] = { fb[0], fb[1] };
diff @ 2017-05-27 20:48:01 +0100 diff --git a/src/go.c b/src/go.c index d01a00e0..8a3b8d72 100644 --- a/src/go.c +++ b/src/go.c @@ -231,7 +231,7 @@ go(S *s, int channels, const float *in, float *out) }; for (int c = 0; c < 2; ++c) { - double down = pitchshift(&s->shift[2 * c + 0], 2, 125, 0.7, fb[c]); + double down = pitchshift(&s->shift[2 * c + 0], 2, 125, 1.1, fb[c]); double up = pitchshift(&s->shift[2 * c + 1], 2, 125, -0.6, down); fb[c] = sin(fb[c] - down - up); }
diff @ 2017-05-27 20:48:08 +0100 diff --git a/src/go.c b/src/go.c index 8a3b8d72..2149667e 100644 --- a/src/go.c +++ b/src/go.c @@ -232,7 +232,7 @@ go(S *s, int channels, const float *in, float *out) for (int c = 0; c < 2; ++c) { double down = pitchshift(&s->shift[2 * c + 0], 2, 125, 1.1, fb[c]); - double up = pitchshift(&s->shift[2 * c + 1], 2, 125, -0.6, down); + double up = pitchshift(&s->shift[2 * c + 1], 2, 125, -1.1, down); fb[c] = sin(fb[c] - down - up); } double so2[2] = { fb[0], fb[1] };
diff @ 2017-05-27 20:48:20 +0100 diff --git a/src/go.c b/src/go.c index 2149667e..1fd8f345 100644 --- a/src/go.c +++ b/src/go.c @@ -231,8 +231,8 @@ go(S *s, int channels, const float *in, float *out) }; for (int c = 0; c < 2; ++c) { - double down = pitchshift(&s->shift[2 * c + 0], 2, 125, 1.1, fb[c]); - double up = pitchshift(&s->shift[2 * c + 1], 2, 125, -1.1, down); + double down = pitchshift(&s->shift[2 * c + 0], 2, 125/2., 1.1, fb[c]); + double up = pitchshift(&s->shift[2 * c + 1], 2, 125/2., -1.1, down); fb[c] = sin(fb[c] - down - up); } double so2[2] = { fb[0], fb[1] };
diff @ 2017-05-27 20:48:30 +0100 diff --git a/src/go.c b/src/go.c index 1fd8f345..1d769fb5 100644 --- a/src/go.c +++ b/src/go.c @@ -231,8 +231,8 @@ go(S *s, int channels, const float *in, float *out) }; for (int c = 0; c < 2; ++c) { - double down = pitchshift(&s->shift[2 * c + 0], 2, 125/2., 1.1, fb[c]); - double up = pitchshift(&s->shift[2 * c + 1], 2, 125/2., -1.1, down); + double down = pitchshift(&s->shift[2 * c + 0], 2, 125/2., 1.2, fb[c]); + double up = pitchshift(&s->shift[2 * c + 1], 2, 125/2., -1.2, down); fb[c] = sin(fb[c] - down - up); } double so2[2] = { fb[0], fb[1] };
diff @ 2017-05-27 20:48:46 +0100 diff --git a/src/go.c b/src/go.c index 1d769fb5..c0851f0f 100644 --- a/src/go.c +++ b/src/go.c @@ -231,7 +231,7 @@ go(S *s, int channels, const float *in, float *out) }; for (int c = 0; c < 2; ++c) { - double down = pitchshift(&s->shift[2 * c + 0], 2, 125/2., 1.2, fb[c]); + double down = pitchshift(&s->shift[2 * c + 0], 2, 125/2., 1.2 + 0.1 * wrap(4 * p), fb[c]); double up = pitchshift(&s->shift[2 * c + 1], 2, 125/2., -1.2, down); fb[c] = sin(fb[c] - down - up); }
diff @ 2017-05-27 20:48:59 +0100 diff --git a/src/go.c b/src/go.c index c0851f0f..42df2117 100644 --- a/src/go.c +++ b/src/go.c @@ -232,7 +232,7 @@ go(S *s, int channels, const float *in, float *out) for (int c = 0; c < 2; ++c) { double down = pitchshift(&s->shift[2 * c + 0], 2, 125/2., 1.2 + 0.1 * wrap(4 * p), fb[c]); - double up = pitchshift(&s->shift[2 * c + 1], 2, 125/2., -1.2, down); + double up = pitchshift(&s->shift[2 * c + 1], 2, 125/2., -1.2 + 0.1 * wrap(4 * p + 0.5), down); fb[c] = sin(fb[c] - down - up); } double so2[2] = { fb[0], fb[1] };
diff @ 2017-05-27 20:49:19 +0100 diff --git a/src/go.c b/src/go.c index 42df2117..4f86f02a 100644 --- a/src/go.c +++ b/src/go.c @@ -231,8 +231,10 @@ go(S *s, int channels, const float *in, float *out) }; for (int c = 0; c < 2; ++c) { - double down = pitchshift(&s->shift[2 * c + 0], 2, 125/2., 1.2 + 0.1 * wrap(4 * p), fb[c]); - double up = pitchshift(&s->shift[2 * c + 1], 2, 125/2., -1.2 + 0.1 * wrap(4 * p + 0.5), down); + double down = pitchshift(&s->shift[2 * c + 0], 2 + , 125/2., 1.2 + 0.2 * wrap(4 * p), fb[c]); + double up = pitchshift(&s->shift[2 * c + 1], 2 + , 125/2., -1.2 + 0.2 * wrap(4 * p + 0.5), down); fb[c] = sin(fb[c] - down - up); } double so2[2] = { fb[0], fb[1] };
diff @ 2017-05-27 20:49:42 +0100 diff --git a/src/go.c b/src/go.c index 4f86f02a..2db1a396 100644 --- a/src/go.c +++ b/src/go.c @@ -232,9 +232,9 @@ go(S *s, int channels, const float *in, float *out) for (int c = 0; c < 2; ++c) { double down = pitchshift(&s->shift[2 * c + 0], 2 - , 125/2., 1.2 + 0.2 * wrap(4 * p), fb[c]); + , 125/2., 1.2 + 0.5 * wrap(4 * p), fb[c]); double up = pitchshift(&s->shift[2 * c + 1], 2 - , 125/2., -1.2 + 0.2 * wrap(4 * p + 0.5), down); + , 125/2., -1.2 + 0.5 * wrap(4 * p + 0.5), down); fb[c] = sin(fb[c] - down - up); } double so2[2] = { fb[0], fb[1] };
diff @ 2017-05-27 20:49:50 +0100 diff --git a/src/go.c b/src/go.c index 2db1a396..39c5c87c 100644 --- a/src/go.c +++ b/src/go.c @@ -232,9 +232,9 @@ go(S *s, int channels, const float *in, float *out) for (int c = 0; c < 2; ++c) { double down = pitchshift(&s->shift[2 * c + 0], 2 - , 125/2., 1.2 + 0.5 * wrap(4 * p), fb[c]); + , 125/2., 1.5 + 0.5 * wrap(4 * p), fb[c]); double up = pitchshift(&s->shift[2 * c + 1], 2 - , 125/2., -1.2 + 0.5 * wrap(4 * p + 0.5), down); + , 125/2., -1.5 + 0.5 * wrap(4 * p + 0.5), down); fb[c] = sin(fb[c] - down - up); } double so2[2] = { fb[0], fb[1] };
diff @ 2017-05-27 20:49:57 +0100 diff --git a/src/go.c b/src/go.c index 39c5c87c..59954453 100644 --- a/src/go.c +++ b/src/go.c @@ -232,9 +232,9 @@ go(S *s, int channels, const float *in, float *out) for (int c = 0; c < 2; ++c) { double down = pitchshift(&s->shift[2 * c + 0], 2 - , 125/2., 1.5 + 0.5 * wrap(4 * p), fb[c]); + , 125/2., 2.5 + 0.5 * wrap(4 * p), fb[c]); double up = pitchshift(&s->shift[2 * c + 1], 2 - , 125/2., -1.5 + 0.5 * wrap(4 * p + 0.5), down); + , 125/2., -2.5 + 0.5 * wrap(4 * p + 0.5), down); fb[c] = sin(fb[c] - down - up); } double so2[2] = { fb[0], fb[1] };
diff @ 2017-05-27 20:50:03 +0100 diff --git a/src/go.c b/src/go.c index 59954453..9a63137b 100644 --- a/src/go.c +++ b/src/go.c @@ -235,7 +235,7 @@ go(S *s, int channels, const float *in, float *out) , 125/2., 2.5 + 0.5 * wrap(4 * p), fb[c]); double up = pitchshift(&s->shift[2 * c + 1], 2 , 125/2., -2.5 + 0.5 * wrap(4 * p + 0.5), down); - fb[c] = sin(fb[c] - down - up); + fb[c] = sin(1.1 * (fb[c] - down - up)); } double so2[2] = { fb[0], fb[1] }; compress(so2, &s->compress[0], 5, 15, 30, 48, so2);
diff @ 2017-05-27 20:50:10 +0100 diff --git a/src/go.c b/src/go.c index 9a63137b..0f934f3b 100644 --- a/src/go.c +++ b/src/go.c @@ -235,7 +235,7 @@ go(S *s, int channels, const float *in, float *out) , 125/2., 2.5 + 0.5 * wrap(4 * p), fb[c]); double up = pitchshift(&s->shift[2 * c + 1], 2 , 125/2., -2.5 + 0.5 * wrap(4 * p + 0.5), down); - fb[c] = sin(1.1 * (fb[c] - down - up)); + fb[c] = sin(1.2 * (fb[c] - down - up)); } double so2[2] = { fb[0], fb[1] }; compress(so2, &s->compress[0], 5, 15, 30, 48, so2);
diff @ 2017-05-27 20:50:18 +0100 diff --git a/src/go.c b/src/go.c index 0f934f3b..8f702128 100644 --- a/src/go.c +++ b/src/go.c @@ -235,7 +235,7 @@ go(S *s, int channels, const float *in, float *out) , 125/2., 2.5 + 0.5 * wrap(4 * p), fb[c]); double up = pitchshift(&s->shift[2 * c + 1], 2 , 125/2., -2.5 + 0.5 * wrap(4 * p + 0.5), down); - fb[c] = sin(1.2 * (fb[c] - down - up)); + fb[c] = sin(1.3 * (fb[c] - down - up)); } double so2[2] = { fb[0], fb[1] }; compress(so2, &s->compress[0], 5, 15, 30, 48, so2);
diff @ 2017-05-27 20:50:29 +0100 diff --git a/src/go.c b/src/go.c index 8f702128..0d20f002 100644 --- a/src/go.c +++ b/src/go.c @@ -226,8 +226,8 @@ go(S *s, int channels, const float *in, float *out) double p = phasor(&s->phase, 0.1); double modulation = 1 * cos(twopi * p); double fb[2] = - { delread4(&s->echo[1].del, 683/24. - modulation) - , delread4(&s->echo[0].del, 683/24. + modulation) + { delread4(&s->echo[1].del, 683/48. - modulation) + , delread4(&s->echo[0].del, 683/48. + modulation) }; for (int c = 0; c < 2; ++c) {
diff @ 2017-05-27 20:50:38 +0100 diff --git a/src/go.c b/src/go.c index 0d20f002..ea233304 100644 --- a/src/go.c +++ b/src/go.c @@ -232,9 +232,9 @@ go(S *s, int channels, const float *in, float *out) for (int c = 0; c < 2; ++c) { double down = pitchshift(&s->shift[2 * c + 0], 2 - , 125/2., 2.5 + 0.5 * wrap(4 * p), fb[c]); + , 125/3., 2.5 + 0.5 * wrap(4 * p), fb[c]); double up = pitchshift(&s->shift[2 * c + 1], 2 - , 125/2., -2.5 + 0.5 * wrap(4 * p + 0.5), down); + , 125/3., -2.5 + 0.5 * wrap(4 * p + 0.5), down); fb[c] = sin(1.3 * (fb[c] - down - up)); } double so2[2] = { fb[0], fb[1] };
diff @ 2017-05-27 20:50:46 +0100 diff --git a/src/go.c b/src/go.c index ea233304..a1f151b6 100644 --- a/src/go.c +++ b/src/go.c @@ -232,9 +232,9 @@ go(S *s, int channels, const float *in, float *out) for (int c = 0; c < 2; ++c) { double down = pitchshift(&s->shift[2 * c + 0], 2 - , 125/3., 2.5 + 0.5 * wrap(4 * p), fb[c]); + , 125/3., 2.7 + 0.5 * wrap(4 * p), fb[c]); double up = pitchshift(&s->shift[2 * c + 1], 2 - , 125/3., -2.5 + 0.5 * wrap(4 * p + 0.5), down); + , 125/3., -2.7 + 0.5 * wrap(4 * p + 0.5), down); fb[c] = sin(1.3 * (fb[c] - down - up)); } double so2[2] = { fb[0], fb[1] };
diff @ 2017-05-27 20:50:54 +0100 diff --git a/src/go.c b/src/go.c index a1f151b6..fe0961e0 100644 --- a/src/go.c +++ b/src/go.c @@ -244,7 +244,7 @@ go(S *s, int channels, const float *in, float *out) so2[1] *= gain; for (int c = 0; c < 2; ++c) { - so2echo(&s->echo[c], 20, 1000, + so2echo(&s->echo[c], 20, 1500, tanh( so2[c] + #if 0
diff @ 2017-05-27 20:51:01 +0100 diff --git a/src/go.c b/src/go.c index fe0961e0..017b2234 100644 --- a/src/go.c +++ b/src/go.c @@ -235,7 +235,7 @@ go(S *s, int channels, const float *in, float *out) , 125/3., 2.7 + 0.5 * wrap(4 * p), fb[c]); double up = pitchshift(&s->shift[2 * c + 1], 2 , 125/3., -2.7 + 0.5 * wrap(4 * p + 0.5), down); - fb[c] = sin(1.3 * (fb[c] - down - up)); + fb[c] = sin(1.5 * (fb[c] - down - up)); } double so2[2] = { fb[0], fb[1] }; compress(so2, &s->compress[0], 5, 15, 30, 48, so2);
diff @ 2017-05-27 20:51:52 +0100 diff --git a/src/go.c b/src/go.c index 017b2234..74649db2 100644 --- a/src/go.c +++ b/src/go.c @@ -53,6 +53,10 @@ typedef struct float tcomb2buf[SR]; SAMPHOLD tgate[4]; BIQUAD hi[2]; + + + SAMPHOLD sosh[2]; + } S; // ===================================================================== @@ -235,7 +239,9 @@ go(S *s, int channels, const float *in, float *out) , 125/3., 2.7 + 0.5 * wrap(4 * p), fb[c]); double up = pitchshift(&s->shift[2 * c + 1], 2 , 125/3., -2.7 + 0.5 * wrap(4 * p + 0.5), down); - fb[c] = sin(1.5 * (fb[c] - down - up)); + fb[c] = samphold(&s->sosh[c] + , sin(1.5 * (fb[c] - down - up)) + , wrap(240000 * p)); } double so2[2] = { fb[0], fb[1] }; compress(so2, &s->compress[0], 5, 15, 30, 48, so2);
diff @ 2017-05-27 20:52:03 +0100 diff --git a/src/go.c b/src/go.c index 74649db2..21396dd1 100644 --- a/src/go.c +++ b/src/go.c @@ -241,7 +241,7 @@ go(S *s, int channels, const float *in, float *out) , 125/3., -2.7 + 0.5 * wrap(4 * p + 0.5), down); fb[c] = samphold(&s->sosh[c] , sin(1.5 * (fb[c] - down - up)) - , wrap(240000 * p)); + , wrap(160000 * p)); } double so2[2] = { fb[0], fb[1] }; compress(so2, &s->compress[0], 5, 15, 30, 48, so2);
diff @ 2017-05-27 20:52:12 +0100 diff --git a/src/go.c b/src/go.c index 21396dd1..c708d33c 100644 --- a/src/go.c +++ b/src/go.c @@ -240,7 +240,7 @@ go(S *s, int channels, const float *in, float *out) double up = pitchshift(&s->shift[2 * c + 1], 2 , 125/3., -2.7 + 0.5 * wrap(4 * p + 0.5), down); fb[c] = samphold(&s->sosh[c] - , sin(1.5 * (fb[c] - down - up)) + , sin(1.7 * (fb[c] - down - up)) , wrap(160000 * p)); } double so2[2] = { fb[0], fb[1] };
diff @ 2017-05-27 20:52:17 +0100 diff --git a/src/go.c b/src/go.c index c708d33c..4d928e0c 100644 --- a/src/go.c +++ b/src/go.c @@ -241,7 +241,7 @@ go(S *s, int channels, const float *in, float *out) , 125/3., -2.7 + 0.5 * wrap(4 * p + 0.5), down); fb[c] = samphold(&s->sosh[c] , sin(1.7 * (fb[c] - down - up)) - , wrap(160000 * p)); + , wrap(120000 * p)); } double so2[2] = { fb[0], fb[1] }; compress(so2, &s->compress[0], 5, 15, 30, 48, so2);
diff @ 2017-05-27 20:53:04 +0100 diff --git a/src/go.c b/src/go.c index 4d928e0c..a8788997 100644 --- a/src/go.c +++ b/src/go.c @@ -56,6 +56,7 @@ typedef struct SAMPHOLD sosh[2]; + LOP shlag; } S; @@ -241,7 +242,7 @@ go(S *s, int channels, const float *in, float *out) , 125/3., -2.7 + 0.5 * wrap(4 * p + 0.5), down); fb[c] = samphold(&s->sosh[c] , sin(1.7 * (fb[c] - down - up)) - , wrap(120000 * p)); + , wrap((120000 - 80000 * lop(&s->shlag, 1, 0.1)) * p)); } double so2[2] = { fb[0], fb[1] }; compress(so2, &s->compress[0], 5, 15, 30, 48, so2);
diff @ 2017-05-27 20:53:20 +0100 diff --git a/src/go.c b/src/go.c index a8788997..32e27c69 100644 --- a/src/go.c +++ b/src/go.c @@ -241,7 +241,7 @@ go(S *s, int channels, const float *in, float *out) double up = pitchshift(&s->shift[2 * c + 1], 2 , 125/3., -2.7 + 0.5 * wrap(4 * p + 0.5), down); fb[c] = samphold(&s->sosh[c] - , sin(1.7 * (fb[c] - down - up)) + , sin(1.8 * (fb[c] - down - up)) , wrap((120000 - 80000 * lop(&s->shlag, 1, 0.1)) * p)); } double so2[2] = { fb[0], fb[1] };
diff @ 2017-05-27 20:53:22 +0100 diff --git a/src/go.c b/src/go.c index 32e27c69..2f9f820e 100644 --- a/src/go.c +++ b/src/go.c @@ -241,7 +241,7 @@ go(S *s, int channels, const float *in, float *out) double up = pitchshift(&s->shift[2 * c + 1], 2 , 125/3., -2.7 + 0.5 * wrap(4 * p + 0.5), down); fb[c] = samphold(&s->sosh[c] - , sin(1.8 * (fb[c] - down - up)) + , sin(1.9 * (fb[c] - down - up)) , wrap((120000 - 80000 * lop(&s->shlag, 1, 0.1)) * p)); } double so2[2] = { fb[0], fb[1] };
diff @ 2017-05-27 20:53:24 +0100 diff --git a/src/go.c b/src/go.c index 2f9f820e..ac681533 100644 --- a/src/go.c +++ b/src/go.c @@ -241,7 +241,7 @@ go(S *s, int channels, const float *in, float *out) double up = pitchshift(&s->shift[2 * c + 1], 2 , 125/3., -2.7 + 0.5 * wrap(4 * p + 0.5), down); fb[c] = samphold(&s->sosh[c] - , sin(1.9 * (fb[c] - down - up)) + , sin(2 * (fb[c] - down - up)) , wrap((120000 - 80000 * lop(&s->shlag, 1, 0.1)) * p)); } double so2[2] = { fb[0], fb[1] };
diff @ 2017-05-27 20:53:38 +0100 diff --git a/src/go.c b/src/go.c index ac681533..4cdb39cb 100644 --- a/src/go.c +++ b/src/go.c @@ -242,7 +242,7 @@ go(S *s, int channels, const float *in, float *out) , 125/3., -2.7 + 0.5 * wrap(4 * p + 0.5), down); fb[c] = samphold(&s->sosh[c] , sin(2 * (fb[c] - down - up)) - , wrap((120000 - 80000 * lop(&s->shlag, 1, 0.1)) * p)); + , wrap((120000 - 80000 * lop(&s->shlag, 0, 0.01)) * p)); } double so2[2] = { fb[0], fb[1] }; compress(so2, &s->compress[0], 5, 15, 30, 48, so2);
diff @ 2017-05-27 20:53:53 +0100 diff --git a/src/go.c b/src/go.c index 4cdb39cb..6ff0e6ab 100644 --- a/src/go.c +++ b/src/go.c @@ -242,7 +242,7 @@ go(S *s, int channels, const float *in, float *out) , 125/3., -2.7 + 0.5 * wrap(4 * p + 0.5), down); fb[c] = samphold(&s->sosh[c] , sin(2 * (fb[c] - down - up)) - , wrap((120000 - 80000 * lop(&s->shlag, 0, 0.01)) * p)); + , wrap((120000 - 80000 * lop(&s->shlag, wrap(p) > 0.5, 0.001)) * p)); } double so2[2] = { fb[0], fb[1] }; compress(so2, &s->compress[0], 5, 15, 30, 48, so2);
diff @ 2017-05-27 20:54:09 +0100 diff --git a/src/go.c b/src/go.c index 6ff0e6ab..86535f5b 100644 --- a/src/go.c +++ b/src/go.c @@ -242,7 +242,7 @@ go(S *s, int channels, const float *in, float *out) , 125/3., -2.7 + 0.5 * wrap(4 * p + 0.5), down); fb[c] = samphold(&s->sosh[c] , sin(2 * (fb[c] - down - up)) - , wrap((120000 - 80000 * lop(&s->shlag, wrap(p) > 0.5, 0.001)) * p)); + , wrap((120000 - 80000 * lop(&s->shlag, wrap(p) > 0.5, 0.01)) * p)); } double so2[2] = { fb[0], fb[1] }; compress(so2, &s->compress[0], 5, 15, 30, 48, so2);
diff @ 2017-05-27 20:54:15 +0100 diff --git a/src/go.c b/src/go.c index 86535f5b..9a04e72c 100644 --- a/src/go.c +++ b/src/go.c @@ -242,7 +242,7 @@ go(S *s, int channels, const float *in, float *out) , 125/3., -2.7 + 0.5 * wrap(4 * p + 0.5), down); fb[c] = samphold(&s->sosh[c] , sin(2 * (fb[c] - down - up)) - , wrap((120000 - 80000 * lop(&s->shlag, wrap(p) > 0.5, 0.01)) * p)); + , wrap((120000 - 80000 * lop(&s->shlag, wrap(2 * p) > 0.5, 0.01)) * p)); } double so2[2] = { fb[0], fb[1] }; compress(so2, &s->compress[0], 5, 15, 30, 48, so2);
diff @ 2017-05-27 20:54:30 +0100 diff --git a/src/go.c b/src/go.c index 9a04e72c..faba7770 100644 --- a/src/go.c +++ b/src/go.c @@ -251,7 +251,7 @@ go(S *s, int channels, const float *in, float *out) so2[1] *= gain; for (int c = 0; c < 2; ++c) { - so2echo(&s->echo[c], 20, 1500, + so2echo(&s->echo[c], 100, 1500, tanh( so2[c] + #if 0
diff @ 2017-05-27 20:54:45 +0100 diff --git a/src/go.c b/src/go.c index faba7770..0d6ca26b 100644 --- a/src/go.c +++ b/src/go.c @@ -186,7 +186,7 @@ go(S *s, int channels, const float *in, float *out) // = 2 = going deep double pnoise[2]; { -#if 1 +#if 0 if (s->reloaded) { pink_init(&s->pink[0], 10, 0xCafe070+0); @@ -215,7 +215,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]; @@ -251,7 +251,7 @@ go(S *s, int channels, const float *in, float *out) so2[1] *= gain; for (int c = 0; c < 2; ++c) { - so2echo(&s->echo[c], 100, 1500, + so2echo(&s->echo[c], 200, 1500, tanh( so2[c] + #if 0
diff @ 2017-05-27 20:54:55 +0100 diff --git a/src/go.c b/src/go.c index 0d6ca26b..13640c9d 100644 --- a/src/go.c +++ b/src/go.c @@ -195,7 +195,7 @@ go(S *s, int channels, const float *in, float *out) #endif double na = env * pink(&s->pink[0]); double nb = env * pink(&s->pink[1]); - double q = 10; + double q = 20; na *= 10; nb *= 10; na = vcf(&s->pvcf[0], na * q, freq, q);
diff @ 2017-05-27 20:55:11 +0100 diff --git a/src/go.c b/src/go.c index 13640c9d..de583402 100644 --- a/src/go.c +++ b/src/go.c @@ -242,7 +242,7 @@ go(S *s, int channels, const float *in, float *out) , 125/3., -2.7 + 0.5 * wrap(4 * p + 0.5), down); fb[c] = samphold(&s->sosh[c] , sin(2 * (fb[c] - down - up)) - , wrap((120000 - 80000 * lop(&s->shlag, wrap(2 * p) > 0.5, 0.01)) * p)); + , wrap((120000 - 80000 * lop(&s->shlag, wrap(8 * p) > 0.5, 0.001)) * p)); } double so2[2] = { fb[0], fb[1] }; compress(so2, &s->compress[0], 5, 15, 30, 48, so2);
diff @ 2017-05-27 20:55:22 +0100 diff --git a/src/go.c b/src/go.c index de583402..13372df9 100644 --- a/src/go.c +++ b/src/go.c @@ -195,7 +195,7 @@ go(S *s, int channels, const float *in, float *out) #endif double na = env * pink(&s->pink[0]); double nb = env * pink(&s->pink[1]); - double q = 20; + double q = 50; na *= 10; nb *= 10; na = vcf(&s->pvcf[0], na * q, freq, q);
diff @ 2017-05-27 20:55:30 +0100 diff --git a/src/go.c b/src/go.c index 13372df9..7925b2e9 100644 --- a/src/go.c +++ b/src/go.c @@ -195,7 +195,7 @@ go(S *s, int channels, const float *in, float *out) #endif double na = env * pink(&s->pink[0]); double nb = env * pink(&s->pink[1]); - double q = 50; + double q = 70; na *= 10; nb *= 10; na = vcf(&s->pvcf[0], na * q, freq, q);
diff @ 2017-05-27 20:55:35 +0100 diff --git a/src/go.c b/src/go.c index 7925b2e9..50dee27e 100644 --- a/src/go.c +++ b/src/go.c @@ -195,7 +195,7 @@ go(S *s, int channels, const float *in, float *out) #endif double na = env * pink(&s->pink[0]); double nb = env * pink(&s->pink[1]); - double q = 70; + double q = 100; na *= 10; nb *= 10; na = vcf(&s->pvcf[0], na * q, freq, q);
diff @ 2017-05-27 20:55:43 +0100 diff --git a/src/go.c b/src/go.c index 50dee27e..63c15bd1 100644 --- a/src/go.c +++ b/src/go.c @@ -210,8 +210,8 @@ go(S *s, int channels, const float *in, float *out) pb[0] = wrap(atan2(pb[0], pb[1]) / twopi); double na2 = na; double nb2 = nb; - na += 0*samphold(&s->psh[0], nb2, wrap(3 * pa[0])); - nb += 0*samphold(&s->psh[1], na2, wrap(3 * pb[0])); + na += 0*samphold(&s->psh[0], na2, wrap(3 * pa[0])); + nb += 0*samphold(&s->psh[1], nb2, wrap(3 * pb[0])); pnoise[0] = na; pnoise[1] = nb; compress(pnoise, &s->pcompress, 5, 10, 25, 48, pnoise);
diff @ 2017-05-27 20:55:50 +0100 diff --git a/src/go.c b/src/go.c index 63c15bd1..fc6bd21a 100644 --- a/src/go.c +++ b/src/go.c @@ -210,8 +210,8 @@ go(S *s, int channels, const float *in, float *out) pb[0] = wrap(atan2(pb[0], pb[1]) / twopi); double na2 = na; double nb2 = nb; - na += 0*samphold(&s->psh[0], na2, wrap(3 * pa[0])); - nb += 0*samphold(&s->psh[1], nb2, wrap(3 * pb[0])); + na += 0.1*samphold(&s->psh[0], na2, wrap(3 * pa[0])); + nb += 0.1*samphold(&s->psh[1], nb2, wrap(3 * pb[0])); pnoise[0] = na; pnoise[1] = nb; compress(pnoise, &s->pcompress, 5, 10, 25, 48, pnoise);
diff @ 2017-05-27 20:55:55 +0100 diff --git a/src/go.c b/src/go.c index fc6bd21a..4f73233a 100644 --- a/src/go.c +++ b/src/go.c @@ -210,8 +210,8 @@ go(S *s, int channels, const float *in, float *out) pb[0] = wrap(atan2(pb[0], pb[1]) / twopi); double na2 = na; double nb2 = nb; - na += 0.1*samphold(&s->psh[0], na2, wrap(3 * pa[0])); - nb += 0.1*samphold(&s->psh[1], nb2, wrap(3 * pb[0])); + na += 0.2*samphold(&s->psh[0], na2, wrap(3 * pa[0])); + nb += 0.2*samphold(&s->psh[1], nb2, wrap(3 * pb[0])); pnoise[0] = na; pnoise[1] = nb; compress(pnoise, &s->pcompress, 5, 10, 25, 48, pnoise);
diff @ 2017-05-27 20:56:01 +0100 diff --git a/src/go.c b/src/go.c index 4f73233a..38ec22be 100644 --- a/src/go.c +++ b/src/go.c @@ -210,8 +210,8 @@ go(S *s, int channels, const float *in, float *out) pb[0] = wrap(atan2(pb[0], pb[1]) / twopi); double na2 = na; double nb2 = nb; - na += 0.2*samphold(&s->psh[0], na2, wrap(3 * pa[0])); - nb += 0.2*samphold(&s->psh[1], nb2, wrap(3 * pb[0])); + na += 0.4*samphold(&s->psh[0], na2, wrap(3 * pa[0])); + nb += 0.4*samphold(&s->psh[1], nb2, wrap(3 * pb[0])); pnoise[0] = na; pnoise[1] = nb; compress(pnoise, &s->pcompress, 5, 10, 25, 48, pnoise);
diff @ 2017-05-27 20:56:11 +0100 diff --git a/src/go.c b/src/go.c index 38ec22be..aed0e23d 100644 --- a/src/go.c +++ b/src/go.c @@ -210,8 +210,8 @@ go(S *s, int channels, const float *in, float *out) pb[0] = wrap(atan2(pb[0], pb[1]) / twopi); double na2 = na; double nb2 = nb; - na += 0.4*samphold(&s->psh[0], na2, wrap(3 * pa[0])); - nb += 0.4*samphold(&s->psh[1], nb2, wrap(3 * pb[0])); + na += 0.4*samphold(&s->psh[0], na2, wrap(5 * pa[0])); + nb += 0.4*samphold(&s->psh[1], nb2, wrap(5 * pb[0])); pnoise[0] = na; pnoise[1] = nb; compress(pnoise, &s->pcompress, 5, 10, 25, 48, pnoise);
diff @ 2017-05-27 20:56:17 +0100 diff --git a/src/go.c b/src/go.c index aed0e23d..2579eefe 100644 --- a/src/go.c +++ b/src/go.c @@ -257,7 +257,7 @@ go(S *s, int channels, const float *in, float *out) #if 0 impulse[c] + #endif - biquad(highpass(&s->hi[c], 1000, flatq), 0 * pnoise[c]) + biquad(highpass(&s->hi[c], 1000, flatq), 1 * pnoise[c]) )); } mixdown[0] += so2[0];
diff @ 2017-05-27 20:56:26 +0100 diff --git a/src/go.c b/src/go.c index 2579eefe..0016ec04 100644 --- a/src/go.c +++ b/src/go.c @@ -242,7 +242,7 @@ go(S *s, int channels, const float *in, float *out) , 125/3., -2.7 + 0.5 * wrap(4 * p + 0.5), down); fb[c] = samphold(&s->sosh[c] , sin(2 * (fb[c] - down - up)) - , wrap((120000 - 80000 * lop(&s->shlag, wrap(8 * p) > 0.5, 0.001)) * p)); + , wrap((120000 - 80000 * lop(&s->shlag, wrap(8 * p) > 1.5, 0.001)) * p)); } double so2[2] = { fb[0], fb[1] }; compress(so2, &s->compress[0], 5, 15, 30, 48, so2);
diff @ 2017-05-27 20:56:35 +0100 diff --git a/src/go.c b/src/go.c index 0016ec04..00cd4f59 100644 --- a/src/go.c +++ b/src/go.c @@ -242,7 +242,7 @@ go(S *s, int channels, const float *in, float *out) , 125/3., -2.7 + 0.5 * wrap(4 * p + 0.5), down); fb[c] = samphold(&s->sosh[c] , sin(2 * (fb[c] - down - up)) - , wrap((120000 - 80000 * lop(&s->shlag, wrap(8 * p) > 1.5, 0.001)) * p)); + , wrap((120000 - 0 * lop(&s->shlag, wrap(8 * p) > 1.5, 0.001)) * p)); } double so2[2] = { fb[0], fb[1] }; compress(so2, &s->compress[0], 5, 15, 30, 48, so2);
diff @ 2017-05-27 20:56:40 +0100 diff --git a/src/go.c b/src/go.c index 00cd4f59..dae2fdde 100644 --- a/src/go.c +++ b/src/go.c @@ -242,7 +242,7 @@ go(S *s, int channels, const float *in, float *out) , 125/3., -2.7 + 0.5 * wrap(4 * p + 0.5), down); fb[c] = samphold(&s->sosh[c] , sin(2 * (fb[c] - down - up)) - , wrap((120000 - 0 * lop(&s->shlag, wrap(8 * p) > 1.5, 0.001)) * p)); + , wrap((240000 - 0 * lop(&s->shlag, wrap(8 * p) > 1.5, 0.001)) * p)); } double so2[2] = { fb[0], fb[1] }; compress(so2, &s->compress[0], 5, 15, 30, 48, so2);
diff @ 2017-05-27 20:56:50 +0100 diff --git a/src/go.c b/src/go.c index dae2fdde..eb90594d 100644 --- a/src/go.c +++ b/src/go.c @@ -210,8 +210,8 @@ go(S *s, int channels, const float *in, float *out) pb[0] = wrap(atan2(pb[0], pb[1]) / twopi); double na2 = na; double nb2 = nb; - na += 0.4*samphold(&s->psh[0], na2, wrap(5 * pa[0])); - nb += 0.4*samphold(&s->psh[1], nb2, wrap(5 * pb[0])); + na += 0.6*samphold(&s->psh[0], na2, wrap(5 * pa[0])); + nb += 0.6*samphold(&s->psh[1], nb2, wrap(5 * pb[0])); pnoise[0] = na; pnoise[1] = nb; compress(pnoise, &s->pcompress, 5, 10, 25, 48, pnoise);
diff @ 2017-05-27 20:56:55 +0100 diff --git a/src/go.c b/src/go.c index eb90594d..735cc96c 100644 --- a/src/go.c +++ b/src/go.c @@ -210,8 +210,8 @@ go(S *s, int channels, const float *in, float *out) pb[0] = wrap(atan2(pb[0], pb[1]) / twopi); double na2 = na; double nb2 = nb; - na += 0.6*samphold(&s->psh[0], na2, wrap(5 * pa[0])); - nb += 0.6*samphold(&s->psh[1], nb2, wrap(5 * pb[0])); + na += 1*samphold(&s->psh[0], na2, wrap(5 * pa[0])); + nb += 1*samphold(&s->psh[1], nb2, wrap(5 * pb[0])); pnoise[0] = na; pnoise[1] = nb; compress(pnoise, &s->pcompress, 5, 10, 25, 48, pnoise);
diff @ 2017-05-27 20:57:04 +0100 diff --git a/src/go.c b/src/go.c index 735cc96c..6a4b0025 100644 --- a/src/go.c +++ b/src/go.c @@ -210,8 +210,8 @@ go(S *s, int channels, const float *in, float *out) pb[0] = wrap(atan2(pb[0], pb[1]) / twopi); double na2 = na; double nb2 = nb; - na += 1*samphold(&s->psh[0], na2, wrap(5 * pa[0])); - nb += 1*samphold(&s->psh[1], nb2, wrap(5 * pb[0])); + na = 1*samphold(&s->psh[0], na2, wrap(3 * pa[0])); + nb = 1*samphold(&s->psh[1], nb2, wrap(3 * pb[0])); pnoise[0] = na; pnoise[1] = nb; compress(pnoise, &s->pcompress, 5, 10, 25, 48, pnoise);
diff @ 2017-05-27 20:57:14 +0100 diff --git a/src/go.c b/src/go.c index 6a4b0025..943333f9 100644 --- a/src/go.c +++ b/src/go.c @@ -169,7 +169,7 @@ go(S *s, int channels, const float *in, float *out) s->ctzn = (s->ctzn + 1) & ((1 << 16) - 1); double zeroes = clamp(count_trailing_zeroes(s->ctzn), 0, 16); double probability = pow(0.5, 16 - zeroes); - probability = (0.5 + 0 * (s->ctzn >= 0xC001)) * probability - 0.5; + probability = (1.5 + 0 * (s->ctzn >= 0xC001)) * probability - 0.5; probability = clamp(probability, 0, 1); double uniform = rand() / (double) RAND_MAX; double trigger = uniform < probability;
diff @ 2017-05-27 20:57:29 +0100 diff --git a/src/go.c b/src/go.c index 943333f9..e53d8c9d 100644 --- a/src/go.c +++ b/src/go.c @@ -179,8 +179,6 @@ go(S *s, int channels, const float *in, float *out) freq = 10 * samphold(&s->ctzs, harmonic, 1 - trigger); freq = lop(&s->ctzf, freq, 20); } - env = 0.5; - freq = 50; // =================================================================== // = 2 = going deep @@ -241,7 +239,7 @@ go(S *s, int channels, const float *in, float *out) double up = pitchshift(&s->shift[2 * c + 1], 2 , 125/3., -2.7 + 0.5 * wrap(4 * p + 0.5), down); fb[c] = samphold(&s->sosh[c] - , sin(2 * (fb[c] - down - up)) + , sin(0.2 * (fb[c] - down - up)) , wrap((240000 - 0 * lop(&s->shlag, wrap(8 * p) > 1.5, 0.001)) * p)); } double so2[2] = { fb[0], fb[1] };
diff @ 2017-05-27 20:57:54 +0100 diff --git a/src/go.c b/src/go.c index e53d8c9d..d2738c5b 100644 --- a/src/go.c +++ b/src/go.c @@ -169,7 +169,7 @@ go(S *s, int channels, const float *in, float *out) s->ctzn = (s->ctzn + 1) & ((1 << 16) - 1); double zeroes = clamp(count_trailing_zeroes(s->ctzn), 0, 16); double probability = pow(0.5, 16 - zeroes); - probability = (1.5 + 0 * (s->ctzn >= 0xC001)) * probability - 0.5; + probability = (2.5 + 0 * (s->ctzn >= 0xC001)) * probability - 0.5; probability = clamp(probability, 0, 1); double uniform = rand() / (double) RAND_MAX; double trigger = uniform < probability; @@ -244,7 +244,7 @@ go(S *s, int channels, const float *in, float *out) } double so2[2] = { fb[0], fb[1] }; compress(so2, &s->compress[0], 5, 15, 30, 48, so2); - double gain = 1; + double gain = 0; so2[0] *= gain; so2[1] *= gain; for (int c = 0; c < 2; ++c)
diff @ 2017-05-27 20:58:27 +0100 diff --git a/src/go.c b/src/go.c index d2738c5b..cda0beaa 100644 --- a/src/go.c +++ b/src/go.c @@ -166,16 +166,17 @@ go(S *s, int channels, const float *in, float *out) double env; double freq; { - s->ctzn = (s->ctzn + 1) & ((1 << 16) - 1); - double zeroes = clamp(count_trailing_zeroes(s->ctzn), 0, 16); - double probability = pow(0.5, 16 - zeroes); - probability = (2.5 + 0 * (s->ctzn >= 0xC001)) * probability - 0.5; + int z = 16; + s->ctzn = (s->ctzn + 1) & ((1 << z) - 1); + double zeroes = clamp(count_trailing_zeroes(s->ctzn), 0, z); + double probability = pow(0.5, z - zeroes); + probability = (3.5 + 0 * (s->ctzn >= 0xC001)) * probability - 0.5; probability = clamp(probability, 0, 1); double uniform = rand() / (double) RAND_MAX; double trigger = uniform < probability; s->ctze.y += trigger; env = lop(&s->ctze, 0, 5); - double harmonic = 5 + clamp(16 - zeroes, 0, 20); + double harmonic = 5 + clamp(z - zeroes, 0, 20); freq = 10 * samphold(&s->ctzs, harmonic, 1 - trigger); freq = lop(&s->ctzf, freq, 20); }
diff @ 2017-05-27 20:58:33 +0100 diff --git a/src/go.c b/src/go.c index cda0beaa..9c1ead4c 100644 --- a/src/go.c +++ b/src/go.c @@ -166,7 +166,7 @@ go(S *s, int channels, const float *in, float *out) double env; double freq; { - int z = 16; + int z = 17; s->ctzn = (s->ctzn + 1) & ((1 << z) - 1); double zeroes = clamp(count_trailing_zeroes(s->ctzn), 0, z); double probability = pow(0.5, z - zeroes);
diff @ 2017-05-27 20:58:44 +0100 diff --git a/src/go.c b/src/go.c index 9c1ead4c..77ce7f8d 100644 --- a/src/go.c +++ b/src/go.c @@ -170,7 +170,7 @@ go(S *s, int channels, const float *in, float *out) s->ctzn = (s->ctzn + 1) & ((1 << z) - 1); double zeroes = clamp(count_trailing_zeroes(s->ctzn), 0, z); double probability = pow(0.5, z - zeroes); - probability = (3.5 + 0 * (s->ctzn >= 0xC001)) * probability - 0.5; + probability = (3.5 + 4 * (s->ctzn >= 0xC001)) * probability - 0.5; probability = clamp(probability, 0, 1); double uniform = rand() / (double) RAND_MAX; double trigger = uniform < probability;
diff @ 2017-05-27 20:59:00 +0100 diff --git a/src/go.c b/src/go.c index 77ce7f8d..ed4c3e10 100644 --- a/src/go.c +++ b/src/go.c @@ -170,7 +170,7 @@ go(S *s, int channels, const float *in, float *out) s->ctzn = (s->ctzn + 1) & ((1 << z) - 1); double zeroes = clamp(count_trailing_zeroes(s->ctzn), 0, z); double probability = pow(0.5, z - zeroes); - probability = (3.5 + 4 * (s->ctzn >= 0xC001)) * probability - 0.5; + probability = (3.5 + 4 * (s->ctzn >= (0xC001 << (z - 16)))) * probability - 0.5; probability = clamp(probability, 0, 1); double uniform = rand() / (double) RAND_MAX; double trigger = uniform < probability;
diff @ 2017-05-27 20:59:07 +0100 diff --git a/src/go.c b/src/go.c index ed4c3e10..f27a475a 100644 --- a/src/go.c +++ b/src/go.c @@ -170,7 +170,7 @@ go(S *s, int channels, const float *in, float *out) s->ctzn = (s->ctzn + 1) & ((1 << z) - 1); double zeroes = clamp(count_trailing_zeroes(s->ctzn), 0, z); double probability = pow(0.5, z - zeroes); - probability = (3.5 + 4 * (s->ctzn >= (0xC001 << (z - 16)))) * probability - 0.5; + probability = (8 + 4 * (s->ctzn >= (0xC001 << (z - 16)))) * probability - 0.5; probability = clamp(probability, 0, 1); double uniform = rand() / (double) RAND_MAX; double trigger = uniform < probability;
diff @ 2017-05-27 20:59:22 +0100 diff --git a/src/go.c b/src/go.c index f27a475a..294cb33d 100644 --- a/src/go.c +++ b/src/go.c @@ -170,7 +170,7 @@ go(S *s, int channels, const float *in, float *out) s->ctzn = (s->ctzn + 1) & ((1 << z) - 1); double zeroes = clamp(count_trailing_zeroes(s->ctzn), 0, z); double probability = pow(0.5, z - zeroes); - probability = (8 + 4 * (s->ctzn >= (0xC001 << (z - 16)))) * probability - 0.5; + probability = (8 + 8 * (s->ctzn >= (0xC001 << (z - 16)))) * probability - 0.5; probability = clamp(probability, 0, 1); double uniform = rand() / (double) RAND_MAX; double trigger = uniform < probability; @@ -194,7 +194,7 @@ go(S *s, int channels, const float *in, float *out) #endif double na = env * pink(&s->pink[0]); double nb = env * pink(&s->pink[1]); - double q = 100; + double q = 50; na *= 10; nb *= 10; na = vcf(&s->pvcf[0], na * q, freq, q);
diff @ 2017-05-27 20:59:33 +0100 diff --git a/src/go.c b/src/go.c index 294cb33d..0b9d3e0d 100644 --- a/src/go.c +++ b/src/go.c @@ -166,7 +166,7 @@ go(S *s, int channels, const float *in, float *out) double env; double freq; { - int z = 17; + int z = 16; s->ctzn = (s->ctzn + 1) & ((1 << z) - 1); double zeroes = clamp(count_trailing_zeroes(s->ctzn), 0, z); double probability = pow(0.5, z - zeroes);
diff @ 2017-05-27 21:00:00 +0100 diff --git a/src/go.c b/src/go.c index 0b9d3e0d..79e516a5 100644 --- a/src/go.c +++ b/src/go.c @@ -166,11 +166,11 @@ go(S *s, int channels, const float *in, float *out) double env; double freq; { - int z = 16; + int z = 15; s->ctzn = (s->ctzn + 1) & ((1 << z) - 1); double zeroes = clamp(count_trailing_zeroes(s->ctzn), 0, z); double probability = pow(0.5, z - zeroes); - probability = (8 + 8 * (s->ctzn >= (0xC001 << (z - 16)))) * probability - 0.5; + probability = (8 + 8 * (s->ctzn >= (0xC001 >> (16 - z)))) * probability - 0.5; probability = clamp(probability, 0, 1); double uniform = rand() / (double) RAND_MAX; double trigger = uniform < probability;
diff @ 2017-05-27 21:00:05 +0100 diff --git a/src/go.c b/src/go.c index 79e516a5..b26e5dc9 100644 --- a/src/go.c +++ b/src/go.c @@ -170,7 +170,7 @@ go(S *s, int channels, const float *in, float *out) s->ctzn = (s->ctzn + 1) & ((1 << z) - 1); double zeroes = clamp(count_trailing_zeroes(s->ctzn), 0, z); double probability = pow(0.5, z - zeroes); - probability = (8 + 8 * (s->ctzn >= (0xC001 >> (16 - z)))) * probability - 0.5; + probability = (8 + 4 * (s->ctzn >= (0xC001 >> (16 - z)))) * probability - 0.5; probability = clamp(probability, 0, 1); double uniform = rand() / (double) RAND_MAX; double trigger = uniform < probability;
diff @ 2017-05-27 21:00:09 +0100 diff --git a/src/go.c b/src/go.c index b26e5dc9..0def406f 100644 --- a/src/go.c +++ b/src/go.c @@ -170,7 +170,7 @@ go(S *s, int channels, const float *in, float *out) s->ctzn = (s->ctzn + 1) & ((1 << z) - 1); double zeroes = clamp(count_trailing_zeroes(s->ctzn), 0, z); double probability = pow(0.5, z - zeroes); - probability = (8 + 4 * (s->ctzn >= (0xC001 >> (16 - z)))) * probability - 0.5; + probability = (4 + 4 * (s->ctzn >= (0xC001 >> (16 - z)))) * probability - 0.5; probability = clamp(probability, 0, 1); double uniform = rand() / (double) RAND_MAX; double trigger = uniform < probability;
diff @ 2017-05-27 21:00:23 +0100 diff --git a/src/go.c b/src/go.c index 0def406f..126f6479 100644 --- a/src/go.c +++ b/src/go.c @@ -194,7 +194,7 @@ go(S *s, int channels, const float *in, float *out) #endif double na = env * pink(&s->pink[0]); double nb = env * pink(&s->pink[1]); - double q = 50; + double q = 40; na *= 10; nb *= 10; na = vcf(&s->pvcf[0], na * q, freq, q);
diff @ 2017-05-27 21:00:29 +0100 diff --git a/src/go.c b/src/go.c index 126f6479..a0403c12 100644 --- a/src/go.c +++ b/src/go.c @@ -194,7 +194,7 @@ go(S *s, int channels, const float *in, float *out) #endif double na = env * pink(&s->pink[0]); double nb = env * pink(&s->pink[1]); - double q = 40; + double q = 20; na *= 10; nb *= 10; na = vcf(&s->pvcf[0], na * q, freq, q);
diff @ 2017-05-27 21:00:34 +0100 diff --git a/src/go.c b/src/go.c index a0403c12..f03f4291 100644 --- a/src/go.c +++ b/src/go.c @@ -194,7 +194,7 @@ go(S *s, int channels, const float *in, float *out) #endif double na = env * pink(&s->pink[0]); double nb = env * pink(&s->pink[1]); - double q = 20; + double q = 10; na *= 10; nb *= 10; na = vcf(&s->pvcf[0], na * q, freq, q);
diff @ 2017-05-27 21:00:58 +0100 diff --git a/src/go.c b/src/go.c index f03f4291..8b80fc54 100644 --- a/src/go.c +++ b/src/go.c @@ -209,8 +209,8 @@ go(S *s, int channels, const float *in, float *out) pb[0] = wrap(atan2(pb[0], pb[1]) / twopi); double na2 = na; double nb2 = nb; - na = 1*samphold(&s->psh[0], na2, wrap(3 * pa[0])); - nb = 1*samphold(&s->psh[1], nb2, wrap(3 * pb[0])); + na = 1*samphold(&s->psh[0], na2, wrap(5 * pa[0])); + nb = 1*samphold(&s->psh[1], nb2, wrap(5 * pb[0])); pnoise[0] = na; pnoise[1] = nb; compress(pnoise, &s->pcompress, 5, 10, 25, 48, pnoise);
diff @ 2017-05-27 21:01:48 +0100 diff --git a/src/go.c b/src/go.c index 8b80fc54..ba07da6e 100644 --- a/src/go.c +++ b/src/go.c @@ -239,13 +239,11 @@ go(S *s, int channels, const float *in, float *out) , 125/3., 2.7 + 0.5 * wrap(4 * p), fb[c]); double up = pitchshift(&s->shift[2 * c + 1], 2 , 125/3., -2.7 + 0.5 * wrap(4 * p + 0.5), down); - fb[c] = samphold(&s->sosh[c] - , sin(0.2 * (fb[c] - down - up)) - , wrap((240000 - 0 * lop(&s->shlag, wrap(8 * p) > 1.5, 0.001)) * p)); + fb[c] = sin(0.1 * (fb[c] - down - up)); } double so2[2] = { fb[0], fb[1] }; - compress(so2, &s->compress[0], 5, 15, 30, 48, so2); - double gain = 0; + //compress(so2, &s->compress[0], 5, 15, 30, 48, so2); + double gain = 1; so2[0] *= gain; so2[1] *= gain; for (int c = 0; c < 2; ++c)
diff @ 2017-05-27 21:01:58 +0100 diff --git a/src/go.c b/src/go.c index ba07da6e..49401f75 100644 --- a/src/go.c +++ b/src/go.c @@ -239,7 +239,7 @@ go(S *s, int channels, const float *in, float *out) , 125/3., 2.7 + 0.5 * wrap(4 * p), fb[c]); double up = pitchshift(&s->shift[2 * c + 1], 2 , 125/3., -2.7 + 0.5 * wrap(4 * p + 0.5), down); - fb[c] = sin(0.1 * (fb[c] - down - up)); + fb[c] = sin(0.2 * (fb[c] - down - up)); } double so2[2] = { fb[0], fb[1] }; //compress(so2, &s->compress[0], 5, 15, 30, 48, so2);
diff @ 2017-05-27 21:02:04 +0100 diff --git a/src/go.c b/src/go.c index 49401f75..44d6bdc7 100644 --- a/src/go.c +++ b/src/go.c @@ -239,7 +239,7 @@ go(S *s, int channels, const float *in, float *out) , 125/3., 2.7 + 0.5 * wrap(4 * p), fb[c]); double up = pitchshift(&s->shift[2 * c + 1], 2 , 125/3., -2.7 + 0.5 * wrap(4 * p + 0.5), down); - fb[c] = sin(0.2 * (fb[c] - down - up)); + fb[c] = sin(0.3 * (fb[c] - down - up)); } double so2[2] = { fb[0], fb[1] }; //compress(so2, &s->compress[0], 5, 15, 30, 48, so2);
diff @ 2017-05-27 21:02:11 +0100 diff --git a/src/go.c b/src/go.c index 44d6bdc7..707ef6b9 100644 --- a/src/go.c +++ b/src/go.c @@ -239,7 +239,7 @@ go(S *s, int channels, const float *in, float *out) , 125/3., 2.7 + 0.5 * wrap(4 * p), fb[c]); double up = pitchshift(&s->shift[2 * c + 1], 2 , 125/3., -2.7 + 0.5 * wrap(4 * p + 0.5), down); - fb[c] = sin(0.3 * (fb[c] - down - up)); + fb[c] = sin(0.4 * (fb[c] - down - up)); } double so2[2] = { fb[0], fb[1] }; //compress(so2, &s->compress[0], 5, 15, 30, 48, so2);
diff @ 2017-05-27 21:02:15 +0100 diff --git a/src/go.c b/src/go.c index 707ef6b9..e9cdfd7d 100644 --- a/src/go.c +++ b/src/go.c @@ -239,7 +239,7 @@ go(S *s, int channels, const float *in, float *out) , 125/3., 2.7 + 0.5 * wrap(4 * p), fb[c]); double up = pitchshift(&s->shift[2 * c + 1], 2 , 125/3., -2.7 + 0.5 * wrap(4 * p + 0.5), down); - fb[c] = sin(0.4 * (fb[c] - down - up)); + fb[c] = sin(0.5 * (fb[c] - down - up)); } double so2[2] = { fb[0], fb[1] }; //compress(so2, &s->compress[0], 5, 15, 30, 48, so2);
diff @ 2017-05-27 21:02:25 +0100 diff --git a/src/go.c b/src/go.c index e9cdfd7d..b279ade2 100644 --- a/src/go.c +++ b/src/go.c @@ -236,9 +236,9 @@ go(S *s, int channels, const float *in, float *out) for (int c = 0; c < 2; ++c) { double down = pitchshift(&s->shift[2 * c + 0], 2 - , 125/3., 2.7 + 0.5 * wrap(4 * p), fb[c]); + , 125/3., 12 + 0.5 * wrap(4 * p), fb[c]); double up = pitchshift(&s->shift[2 * c + 1], 2 - , 125/3., -2.7 + 0.5 * wrap(4 * p + 0.5), down); + , 125/3., -24 + 0.5 * wrap(4 * p + 0.5), down); fb[c] = sin(0.5 * (fb[c] - down - up)); } double so2[2] = { fb[0], fb[1] };
diff @ 2017-05-27 21:02:44 +0100 diff --git a/src/go.c b/src/go.c index b279ade2..54667607 100644 --- a/src/go.c +++ b/src/go.c @@ -153,7 +153,7 @@ go(S *s, int channels, const float *in, float *out) tilex[0] += gain * kick; tilex[1] += gain * kick; compress(tilex, &s->tcompress2, 5, 10, 25, 48, tilex); - gain = 0; + gain = 1; gain = samphold(&s->tgate[1], gain, p); tilex[0] *= gain; tilex[1] *= gain;
diff @ 2017-05-27 21:02:58 +0100 diff --git a/src/go.c b/src/go.c index 54667607..ff975d36 100644 --- a/src/go.c +++ b/src/go.c @@ -135,7 +135,7 @@ go(S *s, int channels, const float *in, float *out) double sfb2 = delread4(&s->tcomb2, 1000 / hz2); double fb1 = mix(sfb1, -sfb2, 0); double fb2 = mix(sfb2, -sfb1, 0); - double fb = samphold(&s->tgate[2], 0, wrap(4 * p)); + double fb = samphold(&s->tgate[2], p, wrap(16 * p)); delwrite(&s->tcomb1, sin(hat * noise() - fb * fb1)); delwrite(&s->tcomb2, sin(hat * noise() - fb * fb2)); kick += 3*(fb1 + fb2);
diff @ 2017-05-27 21:03:07 +0100 diff --git a/src/go.c b/src/go.c index ff975d36..f2529063 100644 --- a/src/go.c +++ b/src/go.c @@ -135,7 +135,7 @@ go(S *s, int channels, const float *in, float *out) double sfb2 = delread4(&s->tcomb2, 1000 / hz2); double fb1 = mix(sfb1, -sfb2, 0); double fb2 = mix(sfb2, -sfb1, 0); - double fb = samphold(&s->tgate[2], p, wrap(16 * p)); + double fb = samphold(&s->tgate[2], 1 - pow(p, 16), wrap(16 * p)); delwrite(&s->tcomb1, sin(hat * noise() - fb * fb1)); delwrite(&s->tcomb2, sin(hat * noise() - fb * fb2)); kick += 3*(fb1 + fb2);
diff @ 2017-05-27 21:03:18 +0100 diff --git a/src/go.c b/src/go.c index f2529063..d07209c2 100644 --- a/src/go.c +++ b/src/go.c @@ -133,8 +133,8 @@ go(S *s, int channels, const float *in, float *out) double hz2 = 2 * khz * floor(pow(2, wrap(4 * p + 0.5))); double sfb1 = delread4(&s->tcomb1, 1000 / hz1); double sfb2 = delread4(&s->tcomb2, 1000 / hz2); - double fb1 = mix(sfb1, -sfb2, 0); - double fb2 = mix(sfb2, -sfb1, 0); + double fb1 = mix(sfb1, -sfb2, 0.1); + double fb2 = mix(sfb2, -sfb1, 0.1); double fb = samphold(&s->tgate[2], 1 - pow(p, 16), wrap(16 * p)); delwrite(&s->tcomb1, sin(hat * noise() - fb * fb1)); delwrite(&s->tcomb2, sin(hat * noise() - fb * fb2));
diff @ 2017-05-27 21:03:26 +0100 diff --git a/src/go.c b/src/go.c index d07209c2..f3e89a51 100644 --- a/src/go.c +++ b/src/go.c @@ -107,7 +107,7 @@ go(S *s, int channels, const float *in, float *out) { if (s->ctzn == 0) { - s->tphase.phase = 0; +// s->tphase.phase = 0; s->ttempo = SR * 1.0 / (1 << 18); } double p = phasor(&s->tphase, s->ttempo);
diff @ 2017-05-27 21:03:40 +0100 diff --git a/src/go.c b/src/go.c index f3e89a51..9c92982e 100644 --- a/src/go.c +++ b/src/go.c @@ -135,7 +135,7 @@ go(S *s, int channels, const float *in, float *out) double sfb2 = delread4(&s->tcomb2, 1000 / hz2); double fb1 = mix(sfb1, -sfb2, 0.1); double fb2 = mix(sfb2, -sfb1, 0.1); - double fb = samphold(&s->tgate[2], 1 - pow(p, 16), wrap(16 * p)); + double fb = samphold(&s->tgate[2], 1 - pow(p, 3), wrap(16 * p)); delwrite(&s->tcomb1, sin(hat * noise() - fb * fb1)); delwrite(&s->tcomb2, sin(hat * noise() - fb * fb2)); kick += 3*(fb1 + fb2);
diff @ 2017-05-27 21:03:51 +0100 diff --git a/src/go.c b/src/go.c index 9c92982e..3e298a5d 100644 --- a/src/go.c +++ b/src/go.c @@ -135,7 +135,7 @@ go(S *s, int channels, const float *in, float *out) double sfb2 = delread4(&s->tcomb2, 1000 / hz2); double fb1 = mix(sfb1, -sfb2, 0.1); double fb2 = mix(sfb2, -sfb1, 0.1); - double fb = samphold(&s->tgate[2], 1 - pow(p, 3), wrap(16 * p)); + double fb = samphold(&s->tgate[2], 1 - pow(wrap(3 * p), 3), wrap(16 * p)); delwrite(&s->tcomb1, sin(hat * noise() - fb * fb1)); delwrite(&s->tcomb2, sin(hat * noise() - fb * fb2)); kick += 3*(fb1 + fb2);
diff @ 2017-05-27 21:03:53 +0100 diff --git a/src/go.c b/src/go.c index 3e298a5d..ed00a2bd 100644 --- a/src/go.c +++ b/src/go.c @@ -135,7 +135,7 @@ go(S *s, int channels, const float *in, float *out) double sfb2 = delread4(&s->tcomb2, 1000 / hz2); double fb1 = mix(sfb1, -sfb2, 0.1); double fb2 = mix(sfb2, -sfb1, 0.1); - double fb = samphold(&s->tgate[2], 1 - pow(wrap(3 * p), 3), wrap(16 * p)); + double fb = samphold(&s->tgate[2], 1 - pow(wrap(7 * p), 3), wrap(16 * p)); delwrite(&s->tcomb1, sin(hat * noise() - fb * fb1)); delwrite(&s->tcomb2, sin(hat * noise() - fb * fb2)); kick += 3*(fb1 + fb2);
diff @ 2017-05-27 21:04:11 +0100 diff --git a/src/go.c b/src/go.c index ed00a2bd..24358684 100644 --- a/src/go.c +++ b/src/go.c @@ -130,12 +130,12 @@ go(S *s, int channels, const float *in, float *out) s->tcomb2.length = SR; double khz = 50 + 10 * (wrap(8 * p) > 1) + 25 * (wrap(2 * p) > 1); double hz1 = 2 * khz * floor(pow(2, wrap(4 * p + 0.0))); - double hz2 = 2 * khz * floor(pow(2, wrap(4 * p + 0.5))); + double hz2 = 3 * khz * floor(pow(2, wrap(4 * p + 0.5))); double sfb1 = delread4(&s->tcomb1, 1000 / hz1); double sfb2 = delread4(&s->tcomb2, 1000 / hz2); double fb1 = mix(sfb1, -sfb2, 0.1); double fb2 = mix(sfb2, -sfb1, 0.1); - double fb = samphold(&s->tgate[2], 1 - pow(wrap(7 * p), 3), wrap(16 * p)); + double fb = samphold(&s->tgate[2], 1 - pow(wrap(17 * p), 3), wrap(16 * p)); delwrite(&s->tcomb1, sin(hat * noise() - fb * fb1)); delwrite(&s->tcomb2, sin(hat * noise() - fb * fb2)); kick += 3*(fb1 + fb2);
diff @ 2017-05-27 21:04:23 +0100 diff --git a/src/go.c b/src/go.c index 24358684..71d5aba4 100644 --- a/src/go.c +++ b/src/go.c @@ -133,8 +133,8 @@ go(S *s, int channels, const float *in, float *out) double hz2 = 3 * khz * floor(pow(2, wrap(4 * p + 0.5))); double sfb1 = delread4(&s->tcomb1, 1000 / hz1); double sfb2 = delread4(&s->tcomb2, 1000 / hz2); - double fb1 = mix(sfb1, -sfb2, 0.1); - double fb2 = mix(sfb2, -sfb1, 0.1); + double fb1 = mix(sfb1, -sfb2, 0.2); + double fb2 = mix(sfb2, -sfb1, 0.2); double fb = samphold(&s->tgate[2], 1 - pow(wrap(17 * p), 3), wrap(16 * p)); delwrite(&s->tcomb1, sin(hat * noise() - fb * fb1)); delwrite(&s->tcomb2, sin(hat * noise() - fb * fb2));
diff @ 2017-05-27 21:04:31 +0100 diff --git a/src/go.c b/src/go.c index 71d5aba4..a90eff93 100644 --- a/src/go.c +++ b/src/go.c @@ -134,7 +134,7 @@ go(S *s, int channels, const float *in, float *out) double sfb1 = delread4(&s->tcomb1, 1000 / hz1); double sfb2 = delread4(&s->tcomb2, 1000 / hz2); double fb1 = mix(sfb1, -sfb2, 0.2); - double fb2 = mix(sfb2, -sfb1, 0.2); + double fb2 = mix(sfb2, sfb1, 0.2); double fb = samphold(&s->tgate[2], 1 - pow(wrap(17 * p), 3), wrap(16 * p)); delwrite(&s->tcomb1, sin(hat * noise() - fb * fb1)); delwrite(&s->tcomb2, sin(hat * noise() - fb * fb2));
diff @ 2017-05-27 21:04:42 +0100 diff --git a/src/go.c b/src/go.c index a90eff93..b0692f95 100644 --- a/src/go.c +++ b/src/go.c @@ -129,8 +129,8 @@ go(S *s, int channels, const float *in, float *out) s->tcomb1.length = SR; s->tcomb2.length = SR; double khz = 50 + 10 * (wrap(8 * p) > 1) + 25 * (wrap(2 * p) > 1); - double hz1 = 2 * khz * floor(pow(2, wrap(4 * p + 0.0))); - double hz2 = 3 * khz * floor(pow(2, wrap(4 * p + 0.5))); + double hz1 = 2 * khz * floor(pow(16, wrap(4 * p + 0.0))); + double hz2 = 3 * khz * floor(pow(16, wrap(4 * p + 0.5))); double sfb1 = delread4(&s->tcomb1, 1000 / hz1); double sfb2 = delread4(&s->tcomb2, 1000 / hz2); double fb1 = mix(sfb1, -sfb2, 0.2);
diff @ 2017-05-27 21:05:01 +0100 diff --git a/src/go.c b/src/go.c index b0692f95..3acaf306 100644 --- a/src/go.c +++ b/src/go.c @@ -138,7 +138,6 @@ go(S *s, int channels, const float *in, float *out) double fb = samphold(&s->tgate[2], 1 - pow(wrap(17 * p), 3), wrap(16 * p)); delwrite(&s->tcomb1, sin(hat * noise() - fb * fb1)); delwrite(&s->tcomb2, sin(hat * noise() - fb * fb2)); - kick += 3*(fb1 + fb2); kick +=tanh(vcf(&s->tkick[0], kick, khz, 5)*5)*2; kick += sin(vcf(&s->tkick[1], kick, khz * 2, 5)*5); kick += sin(vcf(&s->tkick[2], kick, khz*4-20, 5)*5) @@ -148,7 +147,7 @@ go(S *s, int channels, const float *in, float *out) compress(tilex, &s->tcompress1, 5, 10, 25, 48, tilex); tilex[0] *= 5; tilex[1] *= 5; - double gain = 0; + double gain = 1; gain = samphold(&s->tgate[0], gain, p); tilex[0] += gain * kick; tilex[1] += gain * kick;
diff @ 2017-05-27 21:05:26 +0100 diff --git a/src/go.c b/src/go.c index 3acaf306..acbdf8b3 100644 --- a/src/go.c +++ b/src/go.c @@ -169,7 +169,7 @@ go(S *s, int channels, const float *in, float *out) s->ctzn = (s->ctzn + 1) & ((1 << z) - 1); double zeroes = clamp(count_trailing_zeroes(s->ctzn), 0, z); double probability = pow(0.5, z - zeroes); - probability = (4 + 4 * (s->ctzn >= (0xC001 >> (16 - z)))) * probability - 0.5; + probability = (0 + 4 * (s->ctzn >= (0xC001 >> (16 - z)))) * probability - 0.5; probability = clamp(probability, 0, 1); double uniform = rand() / (double) RAND_MAX; double trigger = uniform < probability;
diff @ 2017-05-27 21:05:41 +0100 diff --git a/src/go.c b/src/go.c index acbdf8b3..f178398b 100644 --- a/src/go.c +++ b/src/go.c @@ -138,7 +138,7 @@ go(S *s, int channels, const float *in, float *out) double fb = samphold(&s->tgate[2], 1 - pow(wrap(17 * p), 3), wrap(16 * p)); delwrite(&s->tcomb1, sin(hat * noise() - fb * fb1)); delwrite(&s->tcomb2, sin(hat * noise() - fb * fb2)); - kick +=tanh(vcf(&s->tkick[0], kick, khz, 5)*5)*2; + kick +=tanh(vcf(&s->tkick[0], kick, khz, 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 @ 2017-05-27 21:05:54 +0100 diff --git a/src/go.c b/src/go.c index f178398b..4fa4d8e9 100644 --- a/src/go.c +++ b/src/go.c @@ -140,8 +140,8 @@ go(S *s, int channels, const float *in, float *out) delwrite(&s->tcomb2, sin(hat * noise() - fb * fb2)); kick +=tanh(vcf(&s->tkick[0], kick, khz, 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); + kick += sin(vcf(&s->tkick[2], kick, khz*4-20, 100)*100) + * sin(vcf(&s->tkick[3], kick, khz*4+20, 100)*100); tilex[0] = fb1; tilex[1] = fb2; compress(tilex, &s->tcompress1, 5, 10, 25, 48, tilex);
diff @ 2017-05-27 21:06:15 +0100 diff --git a/src/go.c b/src/go.c index 4fa4d8e9..11b5aa12 100644 --- a/src/go.c +++ b/src/go.c @@ -140,8 +140,8 @@ go(S *s, int channels, const float *in, float *out) delwrite(&s->tcomb2, sin(hat * noise() - fb * fb2)); kick +=tanh(vcf(&s->tkick[0], kick, khz, 15)*15)*2; kick += sin(vcf(&s->tkick[1], kick, khz * 2, 5)*5); - kick += sin(vcf(&s->tkick[2], kick, khz*4-20, 100)*100) - * sin(vcf(&s->tkick[3], kick, khz*4+20, 100)*100); + kick += sin(vcf(&s->tkick[2], kick, khz*4-(20 + p), 100)*100) + * sin(vcf(&s->tkick[3], kick, khz*4+(20 - p), 100)*100); tilex[0] = fb1; tilex[1] = fb2; compress(tilex, &s->tcompress1, 5, 10, 25, 48, tilex);
diff @ 2017-05-27 21:06:23 +0100 diff --git a/src/go.c b/src/go.c index 11b5aa12..92344e57 100644 --- a/src/go.c +++ b/src/go.c @@ -140,8 +140,8 @@ go(S *s, int channels, const float *in, float *out) delwrite(&s->tcomb2, sin(hat * noise() - fb * fb2)); kick +=tanh(vcf(&s->tkick[0], kick, khz, 15)*15)*2; kick += sin(vcf(&s->tkick[1], kick, khz * 2, 5)*5); - kick += sin(vcf(&s->tkick[2], kick, khz*4-(20 + p), 100)*100) - * sin(vcf(&s->tkick[3], kick, khz*4+(20 - p), 100)*100); + kick += sin(vcf(&s->tkick[2], kick, khz*4-(20 + 5 * p), 100)*100) + * sin(vcf(&s->tkick[3], kick, khz*4+(20 - 5 * p), 100)*100); tilex[0] = fb1; tilex[1] = fb2; compress(tilex, &s->tcompress1, 5, 10, 25, 48, tilex);
diff @ 2017-05-27 21:06:30 +0100 diff --git a/src/go.c b/src/go.c index 92344e57..90d3ffa7 100644 --- a/src/go.c +++ b/src/go.c @@ -140,8 +140,8 @@ go(S *s, int channels, const float *in, float *out) delwrite(&s->tcomb2, sin(hat * noise() - fb * fb2)); kick +=tanh(vcf(&s->tkick[0], kick, khz, 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 * p), 100)*100) - * sin(vcf(&s->tkick[3], kick, khz*4+(20 - 5 * p), 100)*100); + kick += sin(vcf(&s->tkick[2], kick, khz*4-(20 + 15 * p), 100)*100) + * sin(vcf(&s->tkick[3], kick, khz*4+(20 - 15 * p), 100)*100); tilex[0] = fb1; tilex[1] = fb2; compress(tilex, &s->tcompress1, 5, 10, 25, 48, tilex);
diff @ 2017-05-27 21:06:48 +0100 diff --git a/src/go.c b/src/go.c index 90d3ffa7..9bd5d7dd 100644 --- a/src/go.c +++ b/src/go.c @@ -139,7 +139,7 @@ go(S *s, int channels, const float *in, float *out) delwrite(&s->tcomb1, sin(hat * noise() - fb * fb1)); delwrite(&s->tcomb2, sin(hat * noise() - fb * fb2)); kick +=tanh(vcf(&s->tkick[0], kick, khz, 15)*15)*2; - kick += sin(vcf(&s->tkick[1], kick, khz * 2, 5)*5); + kick += sin(vcf(&s->tkick[1], kick, khz * 2, 50)*50); kick += sin(vcf(&s->tkick[2], kick, khz*4-(20 + 15 * p), 100)*100) * sin(vcf(&s->tkick[3], kick, khz*4+(20 - 15 * p), 100)*100); tilex[0] = fb1;
diff @ 2017-05-27 21:06:59 +0100 diff --git a/src/go.c b/src/go.c index 9bd5d7dd..61e10b6f 100644 --- a/src/go.c +++ b/src/go.c @@ -128,7 +128,7 @@ go(S *s, int channels, const float *in, float *out) hat *= hat; s->tcomb1.length = SR; s->tcomb2.length = SR; - double khz = 50 + 10 * (wrap(8 * p) > 1) + 25 * (wrap(2 * p) > 1); + double khz = 50 + 10 * (wrap(8 * p) > 0.75) + 25 * (wrap(2 * p) > 1); double hz1 = 2 * khz * floor(pow(16, wrap(4 * p + 0.0))); double hz2 = 3 * khz * floor(pow(16, wrap(4 * p + 0.5))); double sfb1 = delread4(&s->tcomb1, 1000 / hz1);
diff @ 2017-05-27 21:07:21 +0100 diff --git a/src/go.c b/src/go.c index 61e10b6f..90c3c40e 100644 --- a/src/go.c +++ b/src/go.c @@ -121,14 +121,14 @@ go(S *s, int channels, const float *in, float *out) kick *= 1 + kickenv; kick *= 2; kick = tanh(kick); - double hat = 1 - wrap(32 * p + 0.0); + double hat = 1 - wrap(64 * p + 0.); hat *= hat; hat *= hat; hat *= hat; hat *= hat; s->tcomb1.length = SR; s->tcomb2.length = SR; - double khz = 50 + 10 * (wrap(8 * p) > 0.75) + 25 * (wrap(2 * p) > 1); + double khz = 50 + 10 * (wrap(8 * p) > 0.75) + 25 * (wrap(2 * p) > 0.75); double hz1 = 2 * khz * floor(pow(16, wrap(4 * p + 0.0))); double hz2 = 3 * khz * floor(pow(16, wrap(4 * p + 0.5))); double sfb1 = delread4(&s->tcomb1, 1000 / hz1);
diff @ 2017-05-27 21:07:51 +0100 diff --git a/src/go.c b/src/go.c index 90c3c40e..e9d18987 100644 --- a/src/go.c +++ b/src/go.c @@ -128,7 +128,7 @@ go(S *s, int channels, const float *in, float *out) hat *= hat; s->tcomb1.length = SR; s->tcomb2.length = SR; - double khz = 50 + 10 * (wrap(8 * p) > 0.75) + 25 * (wrap(2 * p) > 0.75); + double khz = 40 + 10 * (wrap(8 * p) > 0.75) + 30 * (wrap(2 * p) > 0.75); double hz1 = 2 * khz * floor(pow(16, wrap(4 * p + 0.0))); double hz2 = 3 * khz * floor(pow(16, wrap(4 * p + 0.5))); double sfb1 = delread4(&s->tcomb1, 1000 / hz1);
diff @ 2017-05-27 21:08:09 +0100 diff --git a/src/go.c b/src/go.c index e9d18987..ba3abacc 100644 --- a/src/go.c +++ b/src/go.c @@ -138,7 +138,7 @@ go(S *s, int channels, const float *in, float *out) double fb = samphold(&s->tgate[2], 1 - pow(wrap(17 * p), 3), wrap(16 * p)); delwrite(&s->tcomb1, sin(hat * noise() - fb * fb1)); delwrite(&s->tcomb2, sin(hat * noise() - fb * fb2)); - kick +=tanh(vcf(&s->tkick[0], kick, khz, 15)*15)*2; + kick +=tanh(vcf(&s->tkick[0], kick, khz, 15)*15)*20; kick += sin(vcf(&s->tkick[1], kick, khz * 2, 50)*50); kick += sin(vcf(&s->tkick[2], kick, khz*4-(20 + 15 * p), 100)*100) * sin(vcf(&s->tkick[3], kick, khz*4+(20 - 15 * p), 100)*100);
diff @ 2017-05-27 21:08:19 +0100 diff --git a/src/go.c b/src/go.c index ba3abacc..a465f2e7 100644 --- a/src/go.c +++ b/src/go.c @@ -145,7 +145,7 @@ go(S *s, int channels, const float *in, float *out) tilex[0] = fb1; tilex[1] = fb2; compress(tilex, &s->tcompress1, 5, 10, 25, 48, tilex); - tilex[0] *= 5; + tilex[0] *= 1; tilex[1] *= 5; double gain = 1; gain = samphold(&s->tgate[0], gain, p);
diff @ 2017-05-27 21:08:20 +0100 diff --git a/src/go.c b/src/go.c index a465f2e7..053a8d11 100644 --- a/src/go.c +++ b/src/go.c @@ -146,7 +146,7 @@ go(S *s, int channels, const float *in, float *out) tilex[1] = fb2; compress(tilex, &s->tcompress1, 5, 10, 25, 48, tilex); tilex[0] *= 1; - tilex[1] *= 5; + tilex[1] *= 1; double gain = 1; gain = samphold(&s->tgate[0], gain, p); tilex[0] += gain * kick;
diff @ 2017-05-27 21:08:34 +0100 diff --git a/src/go.c b/src/go.c index 053a8d11..39a07423 100644 --- a/src/go.c +++ b/src/go.c @@ -138,7 +138,7 @@ go(S *s, int channels, const float *in, float *out) double fb = samphold(&s->tgate[2], 1 - pow(wrap(17 * p), 3), wrap(16 * p)); delwrite(&s->tcomb1, sin(hat * noise() - fb * fb1)); delwrite(&s->tcomb2, sin(hat * noise() - fb * fb2)); - kick +=tanh(vcf(&s->tkick[0], kick, khz, 15)*15)*20; + kick +=tanh(vcf(&s->tkick[0], kick, khz, 15)*15)*0; kick += sin(vcf(&s->tkick[1], kick, khz * 2, 50)*50); kick += sin(vcf(&s->tkick[2], kick, khz*4-(20 + 15 * p), 100)*100) * sin(vcf(&s->tkick[3], kick, khz*4+(20 - 15 * p), 100)*100);
diff @ 2017-05-27 21:08:45 +0100 diff --git a/src/go.c b/src/go.c index 39a07423..22561caf 100644 --- a/src/go.c +++ b/src/go.c @@ -140,8 +140,8 @@ go(S *s, int channels, const float *in, float *out) delwrite(&s->tcomb2, sin(hat * noise() - fb * fb2)); kick +=tanh(vcf(&s->tkick[0], kick, khz, 15)*15)*0; kick += sin(vcf(&s->tkick[1], kick, khz * 2, 50)*50); - kick += sin(vcf(&s->tkick[2], kick, khz*4-(20 + 15 * p), 100)*100) - * sin(vcf(&s->tkick[3], kick, khz*4+(20 - 15 * p), 100)*100); + kick += sin(vcf(&s->tkick[2], kick, khz*4-(20 + 15 * p), 1000)*1000) + * sin(vcf(&s->tkick[3], kick, khz*4+(20 - 15 * p), 1000)*1000); tilex[0] = fb1; tilex[1] = fb2; compress(tilex, &s->tcompress1, 5, 10, 25, 48, tilex);
diff @ 2017-05-27 21:09:01 +0100 diff --git a/src/go.c b/src/go.c index 22561caf..aa0e4c60 100644 --- a/src/go.c +++ b/src/go.c @@ -140,8 +140,8 @@ go(S *s, int channels, const float *in, float *out) delwrite(&s->tcomb2, sin(hat * noise() - fb * fb2)); kick +=tanh(vcf(&s->tkick[0], kick, khz, 15)*15)*0; kick += sin(vcf(&s->tkick[1], kick, khz * 2, 50)*50); - kick += sin(vcf(&s->tkick[2], kick, khz*4-(20 + 15 * p), 1000)*1000) - * sin(vcf(&s->tkick[3], kick, khz*4+(20 - 15 * p), 1000)*1000); + kick += sin(vcf(&s->tkick[2], kick, khz*4-(20 + 15 * p), 1000)*500) + * sin(vcf(&s->tkick[3], kick, khz*4+(20 - 15 * p), 1000)*500); tilex[0] = fb1; tilex[1] = fb2; compress(tilex, &s->tcompress1, 5, 10, 25, 48, tilex);
diff @ 2017-05-27 21:09:07 +0100 diff --git a/src/go.c b/src/go.c index aa0e4c60..92b7fceb 100644 --- a/src/go.c +++ b/src/go.c @@ -140,8 +140,8 @@ go(S *s, int channels, const float *in, float *out) delwrite(&s->tcomb2, sin(hat * noise() - fb * fb2)); kick +=tanh(vcf(&s->tkick[0], kick, khz, 15)*15)*0; kick += sin(vcf(&s->tkick[1], kick, khz * 2, 50)*50); - kick += sin(vcf(&s->tkick[2], kick, khz*4-(20 + 15 * p), 1000)*500) - * sin(vcf(&s->tkick[3], kick, khz*4+(20 - 15 * p), 1000)*500); + kick += sin(vcf(&s->tkick[2], kick, khz*6-(20 + 15 * p), 1000)*500) + * sin(vcf(&s->tkick[3], kick, khz*6+(20 - 15 * p), 1000)*500); tilex[0] = fb1; tilex[1] = fb2; compress(tilex, &s->tcompress1, 5, 10, 25, 48, tilex);
diff @ 2017-05-27 21:09:32 +0100 diff --git a/src/go.c b/src/go.c index 92b7fceb..cdc6d1a8 100644 --- a/src/go.c +++ b/src/go.c @@ -140,8 +140,8 @@ go(S *s, int channels, const float *in, float *out) delwrite(&s->tcomb2, sin(hat * noise() - fb * fb2)); kick +=tanh(vcf(&s->tkick[0], kick, khz, 15)*15)*0; kick += sin(vcf(&s->tkick[1], kick, khz * 2, 50)*50); - kick += sin(vcf(&s->tkick[2], kick, khz*6-(20 + 15 * p), 1000)*500) - * sin(vcf(&s->tkick[3], kick, khz*6+(20 - 15 * p), 1000)*500); + kick += sin(vcf(&s->tkick[2], kick, khz*(8 + floor(16 * p))-(20 + 15 * p), 1000)*500) + * sin(vcf(&s->tkick[3], kick, khz*(8 + floor(16 * p))+(20 - 15 * p), 1000)*500); tilex[0] = fb1; tilex[1] = fb2; compress(tilex, &s->tcompress1, 5, 10, 25, 48, tilex);
diff @ 2017-05-27 21:09:52 +0100 diff --git a/src/go.c b/src/go.c index cdc6d1a8..b13a67d8 100644 --- a/src/go.c +++ b/src/go.c @@ -140,7 +140,7 @@ go(S *s, int channels, const float *in, float *out) delwrite(&s->tcomb2, sin(hat * noise() - fb * fb2)); kick +=tanh(vcf(&s->tkick[0], kick, khz, 15)*15)*0; kick += sin(vcf(&s->tkick[1], kick, khz * 2, 50)*50); - kick += sin(vcf(&s->tkick[2], kick, khz*(8 + floor(16 * p))-(20 + 15 * p), 1000)*500) + kick += sin(vcf(&s->tkick[2], kick, khz*(8 + floor(16 * wrap(4 * p)))-(20 + 15 * p), 1000)*500) * sin(vcf(&s->tkick[3], kick, khz*(8 + floor(16 * p))+(20 - 15 * p), 1000)*500); tilex[0] = fb1; tilex[1] = fb2;
diff @ 2017-05-27 21:09:59 +0100 diff --git a/src/go.c b/src/go.c index b13a67d8..a6b024c3 100644 --- a/src/go.c +++ b/src/go.c @@ -141,7 +141,7 @@ go(S *s, int channels, const float *in, float *out) kick +=tanh(vcf(&s->tkick[0], kick, khz, 15)*15)*0; kick += sin(vcf(&s->tkick[1], kick, khz * 2, 50)*50); kick += sin(vcf(&s->tkick[2], kick, khz*(8 + floor(16 * wrap(4 * p)))-(20 + 15 * p), 1000)*500) - * sin(vcf(&s->tkick[3], kick, khz*(8 + floor(16 * p))+(20 - 15 * p), 1000)*500); + * sin(vcf(&s->tkick[3], kick, khz*(8 + floor(16 * wrap(8 * p)))+(20 - 15 * p), 1000)*500); tilex[0] = fb1; tilex[1] = fb2; compress(tilex, &s->tcompress1, 5, 10, 25, 48, tilex);
diff @ 2017-05-27 21:10:01 +0100 diff --git a/src/go.c b/src/go.c index a6b024c3..f703a869 100644 --- a/src/go.c +++ b/src/go.c @@ -140,7 +140,7 @@ go(S *s, int channels, const float *in, float *out) delwrite(&s->tcomb2, sin(hat * noise() - fb * fb2)); kick +=tanh(vcf(&s->tkick[0], kick, khz, 15)*15)*0; kick += sin(vcf(&s->tkick[1], kick, khz * 2, 50)*50); - kick += sin(vcf(&s->tkick[2], kick, khz*(8 + floor(16 * wrap(4 * p)))-(20 + 15 * p), 1000)*500) + kick += sin(vcf(&s->tkick[2], kick, khz*(8 + floor(16 * wrap(8 * p)))-(20 + 15 * p), 1000)*500) * sin(vcf(&s->tkick[3], kick, khz*(8 + floor(16 * wrap(8 * p)))+(20 - 15 * p), 1000)*500); tilex[0] = fb1; tilex[1] = fb2;
diff @ 2017-05-27 21:10:08 +0100 diff --git a/src/go.c b/src/go.c index f703a869..9994a50e 100644 --- a/src/go.c +++ b/src/go.c @@ -138,7 +138,7 @@ go(S *s, int channels, const float *in, float *out) double fb = samphold(&s->tgate[2], 1 - pow(wrap(17 * p), 3), wrap(16 * p)); delwrite(&s->tcomb1, sin(hat * noise() - fb * fb1)); delwrite(&s->tcomb2, sin(hat * noise() - fb * fb2)); - kick +=tanh(vcf(&s->tkick[0], kick, khz, 15)*15)*0; + kick +=tanh(vcf(&s->tkick[0], kick, khz, 15)*15)*5; kick += sin(vcf(&s->tkick[1], kick, khz * 2, 50)*50); kick += sin(vcf(&s->tkick[2], kick, khz*(8 + floor(16 * wrap(8 * p)))-(20 + 15 * p), 1000)*500) * sin(vcf(&s->tkick[3], kick, khz*(8 + floor(16 * wrap(8 * p)))+(20 - 15 * p), 1000)*500);
diff @ 2017-05-27 21:10:25 +0100 diff --git a/src/go.c b/src/go.c index 9994a50e..be4c01d8 100644 --- a/src/go.c +++ b/src/go.c @@ -253,7 +253,7 @@ go(S *s, int channels, const float *in, float *out) #if 0 impulse[c] + #endif - biquad(highpass(&s->hi[c], 1000, flatq), 1 * pnoise[c]) + biquad(highpass(&s->hi[c], 1000, flatq), 1 * tilex[c]) )); } mixdown[0] += so2[0];
diff @ 2017-05-27 21:10:51 +0100 diff --git a/src/go.c b/src/go.c index be4c01d8..bce10a2b 100644 --- a/src/go.c +++ b/src/go.c @@ -108,7 +108,8 @@ go(S *s, int channels, const float *in, float *out) if (s->ctzn == 0) { // s->tphase.phase = 0; - s->ttempo = SR * 1.0 / (1 << 18); + //s->ttempo = SR * 1.0 / (1 << 18); + s->ttempo *= noise() < 0 ? 0.5 : 2; } double p = phasor(&s->tphase, s->ttempo); double kick = 1 - wrap(16 * p);
diff @ 2017-05-27 21:11:14 +0100 diff --git a/src/go.c b/src/go.c index bce10a2b..0ae960cd 100644 --- a/src/go.c +++ b/src/go.c @@ -108,7 +108,7 @@ go(S *s, int channels, const float *in, float *out) if (s->ctzn == 0) { // s->tphase.phase = 0; - //s->ttempo = SR * 1.0 / (1 << 18); + s->ttempo = SR * 1.0 / (1 << 18); s->ttempo *= noise() < 0 ? 0.5 : 2; } double p = phasor(&s->tphase, s->ttempo);
diff @ 2017-05-27 21:11:16 +0100 diff --git a/src/go.c b/src/go.c index 0ae960cd..39af4f7d 100644 --- a/src/go.c +++ b/src/go.c @@ -108,7 +108,7 @@ go(S *s, int channels, const float *in, float *out) if (s->ctzn == 0) { // s->tphase.phase = 0; - s->ttempo = SR * 1.0 / (1 << 18); + /s->ttempo = SR * 1.0 / (1 << 18); s->ttempo *= noise() < 0 ? 0.5 : 2; } double p = phasor(&s->tphase, s->ttempo);
diff @ 2017-05-27 21:11:16 +0100 diff --git a/src/go.c b/src/go.c index 39af4f7d..bce10a2b 100644 --- a/src/go.c +++ b/src/go.c @@ -108,7 +108,7 @@ go(S *s, int channels, const float *in, float *out) if (s->ctzn == 0) { // s->tphase.phase = 0; - /s->ttempo = SR * 1.0 / (1 << 18); + //s->ttempo = SR * 1.0 / (1 << 18); s->ttempo *= noise() < 0 ? 0.5 : 2; } double p = phasor(&s->tphase, s->ttempo);
diff @ 2017-05-27 21:11:26 +0100 diff --git a/src/go.c b/src/go.c index bce10a2b..60853b86 100644 --- a/src/go.c +++ b/src/go.c @@ -108,8 +108,8 @@ go(S *s, int channels, const float *in, float *out) if (s->ctzn == 0) { // s->tphase.phase = 0; - //s->ttempo = SR * 1.0 / (1 << 18); - s->ttempo *= noise() < 0 ? 0.5 : 2; + s->ttempo = SR * 1.0 / (1 << 18); + //s->ttempo *= noise() < 0 ? 0.5 : 2; } double p = phasor(&s->tphase, s->ttempo); double kick = 1 - wrap(16 * p);
diff @ 2017-05-27 21:11:39 +0100 diff --git a/src/go.c b/src/go.c index 60853b86..1ea72a21 100644 --- a/src/go.c +++ b/src/go.c @@ -108,7 +108,7 @@ go(S *s, int channels, const float *in, float *out) if (s->ctzn == 0) { // s->tphase.phase = 0; - s->ttempo = SR * 1.0 / (1 << 18); + s->ttempo = SR * 1.0 / (1 << 18) * 2.0/3; //s->ttempo *= noise() < 0 ? 0.5 : 2; } double p = phasor(&s->tphase, s->ttempo);
diff @ 2017-05-27 21:11:49 +0100 diff --git a/src/go.c b/src/go.c index 1ea72a21..46632baf 100644 --- a/src/go.c +++ b/src/go.c @@ -107,9 +107,9 @@ go(S *s, int channels, const float *in, float *out) { if (s->ctzn == 0) { -// s->tphase.phase = 0; - s->ttempo = SR * 1.0 / (1 << 18) * 2.0/3; - //s->ttempo *= noise() < 0 ? 0.5 : 2; + s->tphase.phase = 0; +// s->ttempo = SR * 1.0 / (1 << 18) * 2.0/3; + s->ttempo *= noise() < 0 ? 0.5 : 2; } double p = phasor(&s->tphase, s->ttempo); double kick = 1 - wrap(16 * p);
diff @ 2017-05-27 21:11:56 +0100 diff --git a/src/go.c b/src/go.c index 46632baf..2bc69b17 100644 --- a/src/go.c +++ b/src/go.c @@ -166,7 +166,7 @@ go(S *s, int channels, const float *in, float *out) double env; double freq; { - int z = 15; + int z = 12; s->ctzn = (s->ctzn + 1) & ((1 << z) - 1); double zeroes = clamp(count_trailing_zeroes(s->ctzn), 0, z); double probability = pow(0.5, z - zeroes);
diff @ 2017-05-27 21:12:05 +0100 diff --git a/src/go.c b/src/go.c index 2bc69b17..a0717b0c 100644 --- a/src/go.c +++ b/src/go.c @@ -116,6 +116,8 @@ go(S *s, int channels, const float *in, float *out) kick *= kick; kick *= kick; kick *= kick; + kick *= kick; + kick *= kick; double kickenv = kick; kick *= 12; kick = sin(twopi * kick);
diff @ 2017-05-27 21:12:13 +0100 diff --git a/src/go.c b/src/go.c index a0717b0c..c202cf1a 100644 --- a/src/go.c +++ b/src/go.c @@ -129,6 +129,10 @@ go(S *s, int channels, const float *in, float *out) hat *= hat; hat *= hat; hat *= hat; + hat *= hat; + hat *= hat; + hat *= hat; + hat *= hat; s->tcomb1.length = SR; s->tcomb2.length = SR; double khz = 40 + 10 * (wrap(8 * p) > 0.75) + 30 * (wrap(2 * p) > 0.75);
diff @ 2017-05-27 21:12:19 +0100 diff --git a/src/go.c b/src/go.c index c202cf1a..28a4aa11 100644 --- a/src/go.c +++ b/src/go.c @@ -124,7 +124,7 @@ go(S *s, int channels, const float *in, float *out) kick *= 1 + kickenv; kick *= 2; kick = tanh(kick); - double hat = 1 - wrap(64 * p + 0.); + double hat = 1 - wrap(12 * p + 0.); hat *= hat; hat *= hat; hat *= hat;
diff @ 2017-05-27 21:12:28 +0100 diff --git a/src/go.c b/src/go.c index 28a4aa11..c132e1e8 100644 --- a/src/go.c +++ b/src/go.c @@ -135,7 +135,7 @@ go(S *s, int channels, const float *in, float *out) hat *= hat; s->tcomb1.length = SR; s->tcomb2.length = SR; - double khz = 40 + 10 * (wrap(8 * p) > 0.75) + 30 * (wrap(2 * p) > 0.75); + double khz = 40 + 10 * (wrap(8 * p) > 1) + 30 * (wrap(2 * p) > 1); double hz1 = 2 * khz * floor(pow(16, wrap(4 * p + 0.0))); double hz2 = 3 * khz * floor(pow(16, wrap(4 * p + 0.5))); double sfb1 = delread4(&s->tcomb1, 1000 / hz1);
diff @ 2017-05-27 21:12:34 +0100 diff --git a/src/go.c b/src/go.c index c132e1e8..c9be436c 100644 --- a/src/go.c +++ b/src/go.c @@ -136,8 +136,8 @@ go(S *s, int channels, const float *in, float *out) s->tcomb1.length = SR; s->tcomb2.length = SR; double khz = 40 + 10 * (wrap(8 * p) > 1) + 30 * (wrap(2 * p) > 1); - double hz1 = 2 * khz * floor(pow(16, wrap(4 * p + 0.0))); - double hz2 = 3 * khz * floor(pow(16, wrap(4 * p + 0.5))); + double hz1 = 2 * khz * floor(pow(2, wrap(4 * p + 0.0))); + double hz2 = 3 * khz * floor(pow(2, wrap(4 * p + 0.5))); double sfb1 = delread4(&s->tcomb1, 1000 / hz1); double sfb2 = delread4(&s->tcomb2, 1000 / hz2); double fb1 = mix(sfb1, -sfb2, 0.2);
diff @ 2017-05-27 21:12:43 +0100 diff --git a/src/go.c b/src/go.c index c9be436c..30457b67 100644 --- a/src/go.c +++ b/src/go.c @@ -145,7 +145,7 @@ go(S *s, int channels, const float *in, float *out) double fb = samphold(&s->tgate[2], 1 - pow(wrap(17 * p), 3), wrap(16 * p)); delwrite(&s->tcomb1, sin(hat * noise() - fb * fb1)); delwrite(&s->tcomb2, sin(hat * noise() - fb * fb2)); - kick +=tanh(vcf(&s->tkick[0], kick, khz, 15)*15)*5; + kick +=tanh(vcf(&s->tkick[0], kick, khz, 15)*15)*1; kick += sin(vcf(&s->tkick[1], kick, khz * 2, 50)*50); kick += sin(vcf(&s->tkick[2], kick, khz*(8 + floor(16 * wrap(8 * p)))-(20 + 15 * p), 1000)*500) * sin(vcf(&s->tkick[3], kick, khz*(8 + floor(16 * wrap(8 * p)))+(20 - 15 * p), 1000)*500);
diff @ 2017-05-27 21:12:48 +0100 diff --git a/src/go.c b/src/go.c index 30457b67..c9d8800a 100644 --- a/src/go.c +++ b/src/go.c @@ -146,7 +146,7 @@ go(S *s, int channels, const float *in, float *out) delwrite(&s->tcomb1, sin(hat * noise() - fb * fb1)); delwrite(&s->tcomb2, sin(hat * noise() - fb * fb2)); kick +=tanh(vcf(&s->tkick[0], kick, khz, 15)*15)*1; - kick += sin(vcf(&s->tkick[1], kick, khz * 2, 50)*50); + kick += sin(vcf(&s->tkick[1], kick, khz * 2, 150)*150); kick += sin(vcf(&s->tkick[2], kick, khz*(8 + floor(16 * wrap(8 * p)))-(20 + 15 * p), 1000)*500) * sin(vcf(&s->tkick[3], kick, khz*(8 + floor(16 * wrap(8 * p)))+(20 - 15 * p), 1000)*500); tilex[0] = fb1;
diff @ 2017-05-27 21:13:06 +0100 diff --git a/src/go.c b/src/go.c index c9d8800a..29a7abcd 100644 --- a/src/go.c +++ b/src/go.c @@ -245,7 +245,7 @@ go(S *s, int channels, const float *in, float *out) , 125/3., 12 + 0.5 * wrap(4 * p), fb[c]); double up = pitchshift(&s->shift[2 * c + 1], 2 , 125/3., -24 + 0.5 * wrap(4 * p + 0.5), down); - fb[c] = sin(0.5 * (fb[c] - down - up)); + fb[c] = sin(0.6 * (fb[c] - down - up)); } double so2[2] = { fb[0], fb[1] }; //compress(so2, &s->compress[0], 5, 15, 30, 48, so2);
diff @ 2017-05-27 21:13:12 +0100 diff --git a/src/go.c b/src/go.c index 29a7abcd..8c492f59 100644 --- a/src/go.c +++ b/src/go.c @@ -245,7 +245,7 @@ go(S *s, int channels, const float *in, float *out) , 125/3., 12 + 0.5 * wrap(4 * p), fb[c]); double up = pitchshift(&s->shift[2 * c + 1], 2 , 125/3., -24 + 0.5 * wrap(4 * p + 0.5), down); - fb[c] = sin(0.6 * (fb[c] - down - up)); + fb[c] = sin(0.7 * (fb[c] - down - up)); } double so2[2] = { fb[0], fb[1] }; //compress(so2, &s->compress[0], 5, 15, 30, 48, so2);
diff @ 2017-05-27 21:13:19 +0100 diff --git a/src/go.c b/src/go.c index 8c492f59..670323ff 100644 --- a/src/go.c +++ b/src/go.c @@ -245,7 +245,7 @@ go(S *s, int channels, const float *in, float *out) , 125/3., 12 + 0.5 * wrap(4 * p), fb[c]); double up = pitchshift(&s->shift[2 * c + 1], 2 , 125/3., -24 + 0.5 * wrap(4 * p + 0.5), down); - fb[c] = sin(0.7 * (fb[c] - down - up)); + fb[c] = sin(0.8 * (fb[c] - down - up)); } double so2[2] = { fb[0], fb[1] }; //compress(so2, &s->compress[0], 5, 15, 30, 48, so2);
diff @ 2017-05-27 21:13:27 +0100 diff --git a/src/go.c b/src/go.c index 670323ff..7b7e5095 100644 --- a/src/go.c +++ b/src/go.c @@ -245,7 +245,7 @@ go(S *s, int channels, const float *in, float *out) , 125/3., 12 + 0.5 * wrap(4 * p), fb[c]); double up = pitchshift(&s->shift[2 * c + 1], 2 , 125/3., -24 + 0.5 * wrap(4 * p + 0.5), down); - fb[c] = sin(0.8 * (fb[c] - down - up)); + fb[c] = sin(0.75 * (fb[c] - down - up)); } double so2[2] = { fb[0], fb[1] }; //compress(so2, &s->compress[0], 5, 15, 30, 48, so2);
diff @ 2017-05-27 21:13:44 +0100 diff --git a/src/go.c b/src/go.c index 7b7e5095..a944b8cd 100644 --- a/src/go.c +++ b/src/go.c @@ -260,7 +260,7 @@ go(S *s, int channels, const float *in, float *out) #if 0 impulse[c] + #endif - biquad(highpass(&s->hi[c], 1000, flatq), 1 * tilex[c]) + biquad(highpass(&s->hi[c], 250, 5), 1 * tilex[c]) )); } mixdown[0] += so2[0];
diff @ 2017-05-27 21:13:52 +0100 diff --git a/src/go.c b/src/go.c index a944b8cd..9748112d 100644 --- a/src/go.c +++ b/src/go.c @@ -260,7 +260,7 @@ go(S *s, int channels, const float *in, float *out) #if 0 impulse[c] + #endif - biquad(highpass(&s->hi[c], 250, 5), 1 * tilex[c]) + biquad(highpass(&s->hi[c], 50, 5), 1 * tilex[c]) )); } mixdown[0] += so2[0];
diff @ 2017-05-27 21:14:02 +0100 diff --git a/src/go.c b/src/go.c index 9748112d..f78b5b4c 100644 --- a/src/go.c +++ b/src/go.c @@ -254,7 +254,7 @@ go(S *s, int channels, const float *in, float *out) so2[1] *= gain; for (int c = 0; c < 2; ++c) { - so2echo(&s->echo[c], 200, 1500, + so2echo(&s->echo[c], 100, 1500, tanh( so2[c] + #if 0
diff @ 2017-05-27 21:14:08 +0100 diff --git a/src/go.c b/src/go.c index f78b5b4c..2f715e6a 100644 --- a/src/go.c +++ b/src/go.c @@ -254,7 +254,7 @@ go(S *s, int channels, const float *in, float *out) so2[1] *= gain; for (int c = 0; c < 2; ++c) { - so2echo(&s->echo[c], 100, 1500, + so2echo(&s->echo[c], 50, 1500, tanh( so2[c] + #if 0
diff @ 2017-05-27 21:14:13 +0100 diff --git a/src/go.c b/src/go.c index 2f715e6a..875c75a6 100644 --- a/src/go.c +++ b/src/go.c @@ -254,7 +254,7 @@ go(S *s, int channels, const float *in, float *out) so2[1] *= gain; for (int c = 0; c < 2; ++c) { - so2echo(&s->echo[c], 50, 1500, + so2echo(&s->echo[c], 25, 1500, tanh( so2[c] + #if 0
diff @ 2017-05-27 21:14:26 +0100 diff --git a/src/go.c b/src/go.c index 875c75a6..89b7648e 100644 --- a/src/go.c +++ b/src/go.c @@ -236,8 +236,8 @@ go(S *s, int channels, const float *in, float *out) double p = phasor(&s->phase, 0.1); double modulation = 1 * cos(twopi * p); double fb[2] = - { delread4(&s->echo[1].del, 683/48. - modulation) - , delread4(&s->echo[0].del, 683/48. + modulation) + { delread4(&s->echo[1].del, 683/96. - modulation) + , delread4(&s->echo[0].del, 683/96. + modulation) }; for (int c = 0; c < 2; ++c) {
diff @ 2017-05-27 21:14:37 +0100 diff --git a/src/go.c b/src/go.c index 89b7648e..c402303b 100644 --- a/src/go.c +++ b/src/go.c @@ -234,7 +234,7 @@ go(S *s, int channels, const float *in, float *out) double impulse[2] = { s->reloaded, s->reloaded }; #endif double p = phasor(&s->phase, 0.1); - double modulation = 1 * cos(twopi * p); + double modulation = 2 * cos(twopi * p); double fb[2] = { delread4(&s->echo[1].del, 683/96. - modulation) , delread4(&s->echo[0].del, 683/96. + modulation)
diff @ 2017-05-27 21:14:43 +0100 diff --git a/src/go.c b/src/go.c index c402303b..6e8bcd84 100644 --- a/src/go.c +++ b/src/go.c @@ -234,7 +234,7 @@ go(S *s, int channels, const float *in, float *out) double impulse[2] = { s->reloaded, s->reloaded }; #endif double p = phasor(&s->phase, 0.1); - double modulation = 2 * cos(twopi * p); + double modulation = 4 * cos(twopi * p); double fb[2] = { delread4(&s->echo[1].del, 683/96. - modulation) , delread4(&s->echo[0].del, 683/96. + modulation)
diff @ 2017-05-27 21:14:51 +0100 diff --git a/src/go.c b/src/go.c index 6e8bcd84..a129f89a 100644 --- a/src/go.c +++ b/src/go.c @@ -234,7 +234,7 @@ go(S *s, int channels, const float *in, float *out) double impulse[2] = { s->reloaded, s->reloaded }; #endif double p = phasor(&s->phase, 0.1); - double modulation = 4 * cos(twopi * p); + double modulation = 5 * cos(twopi * p); double fb[2] = { delread4(&s->echo[1].del, 683/96. - modulation) , delread4(&s->echo[0].del, 683/96. + modulation)
diff @ 2017-05-27 21:14:56 +0100 diff --git a/src/go.c b/src/go.c index a129f89a..de6d5434 100644 --- a/src/go.c +++ b/src/go.c @@ -233,7 +233,7 @@ go(S *s, int channels, const float *in, float *out) #if 0 double impulse[2] = { s->reloaded, s->reloaded }; #endif - double p = phasor(&s->phase, 0.1); + double p = phasor(&s->phase, 0.5); double modulation = 5 * cos(twopi * p); double fb[2] = { delread4(&s->echo[1].del, 683/96. - modulation)
diff @ 2017-05-27 21:15:02 +0100 diff --git a/src/go.c b/src/go.c index de6d5434..9f15634f 100644 --- a/src/go.c +++ b/src/go.c @@ -233,7 +233,7 @@ go(S *s, int channels, const float *in, float *out) #if 0 double impulse[2] = { s->reloaded, s->reloaded }; #endif - double p = phasor(&s->phase, 0.5); + double p = phasor(&s->phase, 0.25); double modulation = 5 * cos(twopi * p); double fb[2] = { delread4(&s->echo[1].del, 683/96. - modulation)
diff @ 2017-05-27 21:15:12 +0100 diff --git a/src/go.c b/src/go.c index 9f15634f..57ad0d26 100644 --- a/src/go.c +++ b/src/go.c @@ -242,9 +242,9 @@ go(S *s, int channels, const float *in, float *out) for (int c = 0; c < 2; ++c) { double down = pitchshift(&s->shift[2 * c + 0], 2 - , 125/3., 12 + 0.5 * wrap(4 * p), fb[c]); + , 125/3., 12 + 3 * wrap(4 * p), fb[c]); double up = pitchshift(&s->shift[2 * c + 1], 2 - , 125/3., -24 + 0.5 * wrap(4 * p + 0.5), down); + , 125/3., -24 + 3 * wrap(4 * p + 0.5), down); fb[c] = sin(0.75 * (fb[c] - down - up)); } double so2[2] = { fb[0], fb[1] };
diff @ 2017-05-27 21:15:24 +0100 diff --git a/src/go.c b/src/go.c index 57ad0d26..7bd1210a 100644 --- a/src/go.c +++ b/src/go.c @@ -233,7 +233,7 @@ go(S *s, int channels, const float *in, float *out) #if 0 double impulse[2] = { s->reloaded, s->reloaded }; #endif - double p = phasor(&s->phase, 0.25); + double p = phasor(&s->phase, 0.5); double modulation = 5 * cos(twopi * p); double fb[2] = { delread4(&s->echo[1].del, 683/96. - modulation)
diff @ 2017-05-27 21:15:28 +0100 diff --git a/src/go.c b/src/go.c index 7bd1210a..58473411 100644 --- a/src/go.c +++ b/src/go.c @@ -233,7 +233,7 @@ go(S *s, int channels, const float *in, float *out) #if 0 double impulse[2] = { s->reloaded, s->reloaded }; #endif - double p = phasor(&s->phase, 0.5); + double p = phasor(&s->phase, 1); double modulation = 5 * cos(twopi * p); double fb[2] = { delread4(&s->echo[1].del, 683/96. - modulation)
diff @ 2017-05-27 21:15:43 +0100 diff --git a/src/go.c b/src/go.c index 58473411..81ed7ff3 100644 --- a/src/go.c +++ b/src/go.c @@ -159,7 +159,7 @@ go(S *s, int channels, const float *in, float *out) tilex[0] += gain * kick; tilex[1] += gain * kick; compress(tilex, &s->tcompress2, 5, 10, 25, 48, tilex); - gain = 1; + gain = 0; gain = samphold(&s->tgate[1], gain, p); tilex[0] *= gain; tilex[1] *= gain;
diff @ 2017-05-27 21:16:01 +0100 diff --git a/src/go.c b/src/go.c index 81ed7ff3..fe29c2eb 100644 --- a/src/go.c +++ b/src/go.c @@ -249,7 +249,7 @@ go(S *s, int channels, const float *in, float *out) } double so2[2] = { fb[0], fb[1] }; //compress(so2, &s->compress[0], 5, 15, 30, 48, so2); - double gain = 1; + double gain = 0.9; so2[0] *= gain; so2[1] *= gain; for (int c = 0; c < 2; ++c)
diff @ 2017-05-27 21:16:08 +0100 diff --git a/src/go.c b/src/go.c index fe29c2eb..630976f5 100644 --- a/src/go.c +++ b/src/go.c @@ -220,7 +220,7 @@ go(S *s, int channels, const float *in, float *out) pnoise[0] = na; pnoise[1] = nb; compress(pnoise, &s->pcompress, 5, 10, 25, 48, pnoise); - double gain = 1; + double gain = 0; pnoise[0] *= gain; pnoise[1] *= gain; mixdown[0] += pnoise[0];
diff @ 2017-05-27 21:16:14 +0100 diff --git a/src/go.c b/src/go.c index 630976f5..21f91392 100644 --- a/src/go.c +++ b/src/go.c @@ -249,7 +249,7 @@ go(S *s, int channels, const float *in, float *out) } double so2[2] = { fb[0], fb[1] }; //compress(so2, &s->compress[0], 5, 15, 30, 48, so2); - double gain = 0.9; + double gain = 0.8; so2[0] *= gain; so2[1] *= gain; for (int c = 0; c < 2; ++c)