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 @ 2016-04-23 21:45:42 +0100 diff --git a/src/go.c b/src/go.c index f33b706..1d80bfa 100644 --- a/src/go.c +++ b/src/go.c @@ -43,8 +43,8 @@ int go(S *s, int channels, const float *in, float *out) { // pitchshift feedback for (int c = 0; c < 2; ++c) { - double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 0/*-12*/, feedback[c]); - double up = pitchshift(&s->shift[2 * c + 1], 2, 100, 0/* 19*/, down); + double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 0.1, feedback[c]); + double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -0.2, down); feedback[c] = feedback[c] + down + up; }
diff @ 2016-04-23 21:45:52 +0100 diff --git a/src/go.c b/src/go.c index 1d80bfa..92f0a52 100644 --- a/src/go.c +++ b/src/go.c @@ -43,8 +43,8 @@ int go(S *s, int channels, const float *in, float *out) { // pitchshift feedback for (int c = 0; c < 2; ++c) { - double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 0.1, feedback[c]); - double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -0.2, down); + double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 0.2, feedback[c]); + double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -0.4, down); feedback[c] = feedback[c] + down + up; }
diff @ 2016-04-23 21:45:57 +0100 diff --git a/src/go.c b/src/go.c index 92f0a52..99c1576 100644 --- a/src/go.c +++ b/src/go.c @@ -43,8 +43,8 @@ int go(S *s, int channels, const float *in, float *out) { // pitchshift feedback for (int c = 0; c < 2; ++c) { - double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 0.2, feedback[c]); - double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -0.4, down); + double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 0.3, feedback[c]); + double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -0.6, down); feedback[c] = feedback[c] + down + up; }
diff @ 2016-04-23 21:46:04 +0100 diff --git a/src/go.c b/src/go.c index 99c1576..f34ff76 100644 --- a/src/go.c +++ b/src/go.c @@ -57,7 +57,7 @@ int go(S *s, int channels, const float *in, float *out) { // write to delay lines for (int c = 0; c < 2; ++c) { - so2echo(&s->echo[c], 20, 500, tanh(compressed[c] + impulse[c])); + so2echo(&s->echo[c], 20, 750, tanh(compressed[c] + impulse[c])); } // compress mix down
diff @ 2016-04-23 21:46:17 +0100 diff --git a/src/go.c b/src/go.c index f34ff76..baff200 100644 --- a/src/go.c +++ b/src/go.c @@ -28,10 +28,10 @@ typedef struct { int go(S *s, int channels, const float *in, float *out) { // trigger impulse on reload - double impulse[2] = { s->reloaded, s->reloaded }; if (s->reloaded) { s->reloaded = 0; } + double impulse[2] = { s->reloaded, s->reloaded }; // modulate delay times double p = phasor(&s->phase, 0.001); @@ -43,8 +43,8 @@ int go(S *s, int channels, const float *in, float *out) { // pitchshift feedback for (int c = 0; c < 2; ++c) { - double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 0.3, feedback[c]); - double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -0.6, down); + double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 0.5, feedback[c]); + double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -1, down); feedback[c] = feedback[c] + down + up; }
diff @ 2016-04-23 21:46:24 +0100 diff --git a/src/go.c b/src/go.c index baff200..dc0a66c 100644 --- a/src/go.c +++ b/src/go.c @@ -43,8 +43,8 @@ int go(S *s, int channels, const float *in, float *out) { // pitchshift feedback for (int c = 0; c < 2; ++c) { - double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 0.5, feedback[c]); - double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -1, down); + double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 1, feedback[c]); + double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -2, down); feedback[c] = feedback[c] + down + up; }
diff @ 2016-04-23 21:46:30 +0100 diff --git a/src/go.c b/src/go.c index dc0a66c..ddba2a2 100644 --- a/src/go.c +++ b/src/go.c @@ -57,7 +57,7 @@ int go(S *s, int channels, const float *in, float *out) { // write to delay lines for (int c = 0; c < 2; ++c) { - so2echo(&s->echo[c], 20, 750, tanh(compressed[c] + impulse[c])); + so2echo(&s->echo[c], 20, 1500, tanh(compressed[c] + impulse[c])); } // compress mix down
diff @ 2016-04-23 21:46:37 +0100 diff --git a/src/go.c b/src/go.c index ddba2a2..896c56c 100644 --- a/src/go.c +++ b/src/go.c @@ -43,8 +43,8 @@ int go(S *s, int channels, const float *in, float *out) { // pitchshift feedback for (int c = 0; c < 2; ++c) { - double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 1, feedback[c]); - double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -2, down); + double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 2, feedback[c]); + double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -4, down); feedback[c] = feedback[c] + down + up; }
diff @ 2016-04-23 21:46:48 +0100 diff --git a/src/go.c b/src/go.c index 896c56c..6c09f25 100644 --- a/src/go.c +++ b/src/go.c @@ -34,8 +34,8 @@ int go(S *s, int channels, const float *in, float *out) { double impulse[2] = { s->reloaded, s->reloaded }; // modulate delay times - double p = phasor(&s->phase, 0.001); - double modulation = 100 * cos(twopi * p); + double p = phasor(&s->phase, 0.01); + double modulation = 10 * cos(twopi * p); double feedback[2] = { delread4(&s->echo[1].del, 200 - modulation) , delread4(&s->echo[0].del, 200 + modulation)
diff @ 2016-04-23 21:46:56 +0100 diff --git a/src/go.c b/src/go.c index 6c09f25..80241c0 100644 --- a/src/go.c +++ b/src/go.c @@ -43,8 +43,8 @@ int go(S *s, int channels, const float *in, float *out) { // pitchshift feedback for (int c = 0; c < 2; ++c) { - double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 2, feedback[c]); - double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -4, down); + double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 3, feedback[c]); + double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -5, down); feedback[c] = feedback[c] + down + up; }
diff @ 2016-04-23 21:47:01 +0100 diff --git a/src/go.c b/src/go.c index 80241c0..0154eec 100644 --- a/src/go.c +++ b/src/go.c @@ -44,7 +44,7 @@ int go(S *s, int channels, const float *in, float *out) { // pitchshift feedback for (int c = 0; c < 2; ++c) { double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 3, feedback[c]); - double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -5, down); + double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -6, down); feedback[c] = feedback[c] + down + up; }
diff @ 2016-04-23 21:47:06 +0100 diff --git a/src/go.c b/src/go.c index 0154eec..af4cb29 100644 --- a/src/go.c +++ b/src/go.c @@ -47,7 +47,7 @@ int go(S *s, int channels, const float *in, float *out) { double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -6, down); feedback[c] = feedback[c] + down + up; } - + // compress feedback double compressed[2] = { 0, 0 }; compress(compressed, &s->compress[0], 5, 10, 25, 48, feedback);
diff @ 2016-04-23 21:47:11 +0100 diff --git a/src/go.c b/src/go.c index af4cb29..77f98b4 100644 --- a/src/go.c +++ b/src/go.c @@ -47,7 +47,7 @@ int go(S *s, int channels, const float *in, float *out) { double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -6, down); feedback[c] = feedback[c] + down + up; } - + // compress feedback double compressed[2] = { 0, 0 }; compress(compressed, &s->compress[0], 5, 10, 25, 48, feedback); @@ -57,7 +57,7 @@ int go(S *s, int channels, const float *in, float *out) { // write to delay lines for (int c = 0; c < 2; ++c) { - so2echo(&s->echo[c], 20, 1500, tanh(compressed[c] + impulse[c])); + so2echo(&s->echo[c], 30, 1500, tanh(compressed[c] + impulse[c])); } // compress mix down
diff @ 2016-04-23 21:47:24 +0100 diff --git a/src/go.c b/src/go.c index 77f98b4..c04883c 100644 --- a/src/go.c +++ b/src/go.c @@ -43,8 +43,8 @@ int go(S *s, int channels, const float *in, float *out) { // pitchshift feedback for (int c = 0; c < 2; ++c) { - double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 3, feedback[c]); - double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -6, down); + double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 3.1, feedback[c]); + double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -6.1, down); feedback[c] = feedback[c] + down + up; } @@ -57,7 +57,7 @@ int go(S *s, int channels, const float *in, float *out) { // write to delay lines for (int c = 0; c < 2; ++c) { - so2echo(&s->echo[c], 30, 1500, tanh(compressed[c] + impulse[c])); + so2echo(&s->echo[c], 30, 2000, tanh(compressed[c] + impulse[c])); } // compress mix down
diff @ 2016-04-23 21:47:37 +0100 diff --git a/src/go.c b/src/go.c index c04883c..3ac8b18 100644 --- a/src/go.c +++ b/src/go.c @@ -34,8 +34,8 @@ int go(S *s, int channels, const float *in, float *out) { double impulse[2] = { s->reloaded, s->reloaded }; // modulate delay times - 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 feedback[2] = { delread4(&s->echo[1].del, 200 - modulation) , delread4(&s->echo[0].del, 200 + modulation) @@ -43,8 +43,8 @@ int go(S *s, int channels, const float *in, float *out) { // pitchshift feedback for (int c = 0; c < 2; ++c) { - double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 3.1, feedback[c]); - double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -6.1, down); + double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 3.2, feedback[c]); + double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -6.2, down); feedback[c] = feedback[c] + down + up; }
diff @ 2016-04-23 21:47:56 +0100 diff --git a/src/go.c b/src/go.c index 3ac8b18..4c87f1b 100644 --- a/src/go.c +++ b/src/go.c @@ -43,8 +43,8 @@ int go(S *s, int channels, const float *in, float *out) { // pitchshift feedback for (int c = 0; c < 2; ++c) { - double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 3.2, feedback[c]); - double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -6.2, down); + double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 3.5, feedback[c]); + double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -6.5, down); feedback[c] = feedback[c] + down + up; } @@ -57,7 +57,7 @@ int go(S *s, int channels, const float *in, float *out) { // write to delay lines for (int c = 0; c < 2; ++c) { - so2echo(&s->echo[c], 30, 2000, tanh(compressed[c] + impulse[c])); + so2echo(&s->echo[c], 40, 2000, tanh(compressed[c] + impulse[c])); } // compress mix down
diff @ 2016-04-23 21:48:12 +0100 diff --git a/src/go.c b/src/go.c index 4c87f1b..a334b88 100644 --- a/src/go.c +++ b/src/go.c @@ -36,9 +36,10 @@ int go(S *s, int channels, const float *in, float *out) { // modulate delay times double p = phasor(&s->phase, 0.1); double modulation = 1 * cos(twopi * p); + double modulation2 = 1 * sin(twopi * p); double feedback[2] = { delread4(&s->echo[1].del, 200 - modulation) - , delread4(&s->echo[0].del, 200 + modulation) + , delread4(&s->echo[0].del, 200 + modulation2) }; // pitchshift feedback
diff @ 2016-04-23 21:48:19 +0100 diff --git a/src/go.c b/src/go.c index a334b88..11c3d5d 100644 --- a/src/go.c +++ b/src/go.c @@ -45,7 +45,7 @@ int go(S *s, int channels, const float *in, float *out) { // pitchshift feedback for (int c = 0; c < 2; ++c) { double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 3.5, feedback[c]); - double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -6.5, down); + double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -7, down); feedback[c] = feedback[c] + down + up; }
diff @ 2016-04-23 21:48:26 +0100 diff --git a/src/go.c b/src/go.c index 11c3d5d..e4fa721 100644 --- a/src/go.c +++ b/src/go.c @@ -35,8 +35,8 @@ int go(S *s, int channels, const float *in, float *out) { // modulate delay times double p = phasor(&s->phase, 0.1); - double modulation = 1 * cos(twopi * p); - double modulation2 = 1 * sin(twopi * p); + double modulation = 2 * cos(twopi * p); + double modulation2 = 2 * sin(twopi * p); double feedback[2] = { delread4(&s->echo[1].del, 200 - modulation) , delread4(&s->echo[0].del, 200 + modulation2)
diff @ 2016-04-23 21:48:30 +0100 diff --git a/src/go.c b/src/go.c index e4fa721..cf28015 100644 --- a/src/go.c +++ b/src/go.c @@ -44,7 +44,7 @@ int go(S *s, int channels, const float *in, float *out) { // pitchshift feedback for (int c = 0; c < 2; ++c) { - double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 3.5, feedback[c]); + double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 3.51, feedback[c]); double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -7, down); feedback[c] = feedback[c] + down + up; }
diff @ 2016-04-23 21:48:35 +0100 diff --git a/src/go.c b/src/go.c index cf28015..9f4713d 100644 --- a/src/go.c +++ b/src/go.c @@ -35,8 +35,8 @@ int go(S *s, int channels, const float *in, float *out) { // modulate delay times double p = phasor(&s->phase, 0.1); - double modulation = 2 * cos(twopi * p); - double modulation2 = 2 * sin(twopi * p); + double modulation = 3 * cos(twopi * p); + double modulation2 = 3 * sin(twopi * p); double feedback[2] = { delread4(&s->echo[1].del, 200 - modulation) , delread4(&s->echo[0].del, 200 + modulation2)
diff @ 2016-04-23 21:48:40 +0100 diff --git a/src/go.c b/src/go.c index 9f4713d..e3483d4 100644 --- a/src/go.c +++ b/src/go.c @@ -45,7 +45,7 @@ int go(S *s, int channels, const float *in, float *out) { // pitchshift feedback for (int c = 0; c < 2; ++c) { double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 3.51, feedback[c]); - double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -7, down); + double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -7.1, down); feedback[c] = feedback[c] + down + up; }
diff @ 2016-04-23 21:48:46 +0100 diff --git a/src/go.c b/src/go.c index e3483d4..70e2c05 100644 --- a/src/go.c +++ b/src/go.c @@ -44,7 +44,7 @@ int go(S *s, int channels, const float *in, float *out) { // pitchshift feedback for (int c = 0; c < 2; ++c) { - double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 3.51, feedback[c]); + double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 3.7, feedback[c]); double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -7.1, down); feedback[c] = feedback[c] + down + up; }
diff @ 2016-04-23 21:48:51 +0100 diff --git a/src/go.c b/src/go.c index 70e2c05..61eed6b 100644 --- a/src/go.c +++ b/src/go.c @@ -45,7 +45,7 @@ int go(S *s, int channels, const float *in, float *out) { // pitchshift feedback for (int c = 0; c < 2; ++c) { double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 3.7, feedback[c]); - double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -7.1, down); + double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -7.4, down); feedback[c] = feedback[c] + down + up; }
diff @ 2016-04-23 21:48:55 +0100 diff --git a/src/go.c b/src/go.c index 61eed6b..66be335 100644 --- a/src/go.c +++ b/src/go.c @@ -45,7 +45,7 @@ int go(S *s, int channels, const float *in, float *out) { // pitchshift feedback for (int c = 0; c < 2; ++c) { double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 3.7, feedback[c]); - double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -7.4, down); + double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -7.5, down); feedback[c] = feedback[c] + down + up; }
diff @ 2016-04-23 21:49:07 +0100 diff --git a/src/go.c b/src/go.c index 66be335..5fbe32e 100644 --- a/src/go.c +++ b/src/go.c @@ -45,7 +45,7 @@ int go(S *s, int channels, const float *in, float *out) { // pitchshift feedback for (int c = 0; c < 2; ++c) { double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 3.7, feedback[c]); - double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -7.5, down); + double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -7.6, down); feedback[c] = feedback[c] + down + up; } @@ -58,7 +58,7 @@ int go(S *s, int channels, const float *in, float *out) { // write to delay lines for (int c = 0; c < 2; ++c) { - so2echo(&s->echo[c], 40, 2000, tanh(compressed[c] + impulse[c])); + so2echo(&s->echo[c], 50, 3000, tanh(compressed[c] + impulse[c])); } // compress mix down
diff @ 2016-04-23 21:49:13 +0100 diff --git a/src/go.c b/src/go.c index 5fbe32e..6921fe5 100644 --- a/src/go.c +++ b/src/go.c @@ -35,8 +35,8 @@ int go(S *s, int channels, const float *in, float *out) { // modulate delay times double p = phasor(&s->phase, 0.1); - double modulation = 3 * cos(twopi * p); - double modulation2 = 3 * sin(twopi * p); + double modulation = 5 * cos(twopi * p); + double modulation2 = 5 * sin(twopi * p); double feedback[2] = { delread4(&s->echo[1].del, 200 - modulation) , delread4(&s->echo[0].del, 200 + modulation2)
diff @ 2016-04-23 21:49:21 +0100 diff --git a/src/go.c b/src/go.c index 6921fe5..2c3b9ab 100644 --- a/src/go.c +++ b/src/go.c @@ -44,7 +44,7 @@ int go(S *s, int channels, const float *in, float *out) { // pitchshift feedback for (int c = 0; c < 2; ++c) { - double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 3.7, feedback[c]); + double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 3.8, feedback[c]); double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -7.6, down); feedback[c] = feedback[c] + down + up; }
diff @ 2016-04-23 21:49:25 +0100 diff --git a/src/go.c b/src/go.c index 2c3b9ab..1a2439d 100644 --- a/src/go.c +++ b/src/go.c @@ -45,7 +45,7 @@ int go(S *s, int channels, const float *in, float *out) { // pitchshift feedback for (int c = 0; c < 2; ++c) { double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 3.8, feedback[c]); - double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -7.6, down); + double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -7.9, down); feedback[c] = feedback[c] + down + up; }
diff @ 2016-04-23 21:49:30 +0100 diff --git a/src/go.c b/src/go.c index 1a2439d..626bc8c 100644 --- a/src/go.c +++ b/src/go.c @@ -44,7 +44,7 @@ int go(S *s, int channels, const float *in, float *out) { // pitchshift feedback for (int c = 0; c < 2; ++c) { - double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 3.8, feedback[c]); + double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 4, feedback[c]); double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -7.9, down); feedback[c] = feedback[c] + down + up; }
diff @ 2016-04-23 21:49:39 +0100 diff --git a/src/go.c b/src/go.c index 626bc8c..4216b19 100644 --- a/src/go.c +++ b/src/go.c @@ -35,8 +35,8 @@ int go(S *s, int channels, const float *in, float *out) { // modulate delay times double p = phasor(&s->phase, 0.1); - double modulation = 5 * cos(twopi * p); - double modulation2 = 5 * sin(twopi * p); + double modulation = 7 * cos(twopi * p); + double modulation2 = 7 * sin(twopi * p); double feedback[2] = { delread4(&s->echo[1].del, 200 - modulation) , delread4(&s->echo[0].del, 200 + modulation2)
diff @ 2016-04-23 21:49:46 +0100 diff --git a/src/go.c b/src/go.c index 4216b19..fcf8279 100644 --- a/src/go.c +++ b/src/go.c @@ -45,7 +45,7 @@ int go(S *s, int channels, const float *in, float *out) { // pitchshift feedback for (int c = 0; c < 2; ++c) { double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 4, feedback[c]); - double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -7.9, down); + double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -8, down); feedback[c] = feedback[c] + down + up; }
diff @ 2016-04-23 21:49:51 +0100 diff --git a/src/go.c b/src/go.c index fcf8279..a87c78e 100644 --- a/src/go.c +++ b/src/go.c @@ -44,7 +44,7 @@ int go(S *s, int channels, const float *in, float *out) { // pitchshift feedback for (int c = 0; c < 2; ++c) { - double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 4, feedback[c]); + double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 4.1, feedback[c]); double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -8, down); feedback[c] = feedback[c] + down + up; }
diff @ 2016-04-23 21:49:59 +0100 diff --git a/src/go.c b/src/go.c index a87c78e..3b9a08a 100644 --- a/src/go.c +++ b/src/go.c @@ -58,7 +58,7 @@ int go(S *s, int channels, const float *in, float *out) { // write to delay lines for (int c = 0; c < 2; ++c) { - so2echo(&s->echo[c], 50, 3000, tanh(compressed[c] + impulse[c])); + so2echo(&s->echo[c], 50, 4000, tanh(compressed[c] + impulse[c])); } // compress mix down
diff @ 2016-04-23 21:50:06 +0100 diff --git a/src/go.c b/src/go.c index 3b9a08a..ac68b30 100644 --- a/src/go.c +++ b/src/go.c @@ -45,7 +45,7 @@ int go(S *s, int channels, const float *in, float *out) { // pitchshift feedback for (int c = 0; c < 2; ++c) { double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 4.1, feedback[c]); - double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -8, down); + double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -8.1, down); feedback[c] = feedback[c] + down + up; }
diff @ 2016-04-23 21:50:18 +0100 diff --git a/src/go.c b/src/go.c index ac68b30..6744ec2 100644 --- a/src/go.c +++ b/src/go.c @@ -44,8 +44,8 @@ int go(S *s, int channels, const float *in, float *out) { // pitchshift feedback for (int c = 0; c < 2; ++c) { - double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 4.1, feedback[c]); - double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -8.1, down); + double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 4.5, feedback[c]); + double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -9, down); feedback[c] = feedback[c] + down + up; }
diff @ 2016-04-23 21:50:23 +0100 diff --git a/src/go.c b/src/go.c index 6744ec2..f9c60da 100644 --- a/src/go.c +++ b/src/go.c @@ -52,7 +52,7 @@ int go(S *s, int channels, const float *in, float *out) { // compress feedback double compressed[2] = { 0, 0 }; compress(compressed, &s->compress[0], 5, 10, 25, 48, feedback); - double gain = 1; + double gain = 1.1; compressed[0] *= gain; compressed[1] *= gain;
diff @ 2016-04-23 21:50:29 +0100 diff --git a/src/go.c b/src/go.c index f9c60da..aa480bc 100644 --- a/src/go.c +++ b/src/go.c @@ -58,7 +58,7 @@ int go(S *s, int channels, const float *in, float *out) { // write to delay lines for (int c = 0; c < 2; ++c) { - so2echo(&s->echo[c], 50, 4000, tanh(compressed[c] + impulse[c])); + so2echo(&s->echo[c], 50, 5000, tanh(compressed[c] + impulse[c])); } // compress mix down
diff @ 2016-04-23 21:50:35 +0100 diff --git a/src/go.c b/src/go.c index aa480bc..58bba53 100644 --- a/src/go.c +++ b/src/go.c @@ -35,8 +35,8 @@ int go(S *s, int channels, const float *in, float *out) { // modulate delay times double p = phasor(&s->phase, 0.1); - double modulation = 7 * cos(twopi * p); - double modulation2 = 7 * sin(twopi * p); + double modulation = 10 * cos(twopi * p); + double modulation2 = 10 * sin(twopi * p); double feedback[2] = { delread4(&s->echo[1].del, 200 - modulation) , delread4(&s->echo[0].del, 200 + modulation2)
diff @ 2016-04-23 21:50:43 +0100 diff --git a/src/go.c b/src/go.c index 58bba53..11c1b66 100644 --- a/src/go.c +++ b/src/go.c @@ -44,8 +44,8 @@ int go(S *s, int channels, const float *in, float *out) { // pitchshift feedback for (int c = 0; c < 2; ++c) { - double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 4.5, feedback[c]); - double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -9, down); + double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 5, feedback[c]); + double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -10, down); feedback[c] = feedback[c] + down + up; }
diff @ 2016-04-23 21:50:48 +0100 diff --git a/src/go.c b/src/go.c index 11c1b66..fbef47d 100644 --- a/src/go.c +++ b/src/go.c @@ -52,7 +52,7 @@ int go(S *s, int channels, const float *in, float *out) { // compress feedback double compressed[2] = { 0, 0 }; compress(compressed, &s->compress[0], 5, 10, 25, 48, feedback); - double gain = 1.1; + double gain = 1.2; compressed[0] *= gain; compressed[1] *= gain;
diff @ 2016-04-23 21:50:54 +0100 diff --git a/src/go.c b/src/go.c index fbef47d..3588c9f 100644 --- a/src/go.c +++ b/src/go.c @@ -45,7 +45,7 @@ int go(S *s, int channels, const float *in, float *out) { // pitchshift feedback for (int c = 0; c < 2; ++c) { double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 5, feedback[c]); - double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -10, down); + double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -10.1, down); feedback[c] = feedback[c] + down + up; }
diff @ 2016-04-23 21:50:57 +0100 diff --git a/src/go.c b/src/go.c index 3588c9f..4a3188e 100644 --- a/src/go.c +++ b/src/go.c @@ -45,7 +45,7 @@ int go(S *s, int channels, const float *in, float *out) { // pitchshift feedback for (int c = 0; c < 2; ++c) { double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 5, feedback[c]); - double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -10.1, down); + double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -10.2, down); feedback[c] = feedback[c] + down + up; }
diff @ 2016-04-23 21:51:01 +0100 diff --git a/src/go.c b/src/go.c index 4a3188e..9285deb 100644 --- a/src/go.c +++ b/src/go.c @@ -45,7 +45,7 @@ int go(S *s, int channels, const float *in, float *out) { // pitchshift feedback for (int c = 0; c < 2; ++c) { double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 5, feedback[c]); - double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -10.2, down); + double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -10.3, down); feedback[c] = feedback[c] + down + up; }
diff @ 2016-04-23 21:51:06 +0100 diff --git a/src/go.c b/src/go.c index 9285deb..9de264b 100644 --- a/src/go.c +++ b/src/go.c @@ -44,7 +44,7 @@ int go(S *s, int channels, const float *in, float *out) { // pitchshift feedback for (int c = 0; c < 2; ++c) { - double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 5, feedback[c]); + double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 5.1, feedback[c]); double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -10.3, down); feedback[c] = feedback[c] + down + up; }
diff @ 2016-04-23 21:51:12 +0100 diff --git a/src/go.c b/src/go.c index 9de264b..827e7dc 100644 --- a/src/go.c +++ b/src/go.c @@ -58,7 +58,7 @@ int go(S *s, int channels, const float *in, float *out) { // write to delay lines for (int c = 0; c < 2; ++c) { - so2echo(&s->echo[c], 50, 5000, tanh(compressed[c] + impulse[c])); + so2echo(&s->echo[c], 40, 5000, tanh(compressed[c] + impulse[c])); } // compress mix down
diff @ 2016-04-23 21:51:39 +0100 diff --git a/src/go.c b/src/go.c index 827e7dc..8bf9282 100644 --- a/src/go.c +++ b/src/go.c @@ -44,7 +44,7 @@ int go(S *s, int channels, const float *in, float *out) { // pitchshift feedback for (int c = 0; c < 2; ++c) { - double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 5.1, feedback[c]); + double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 5.2, feedback[c]); double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -10.3, down); feedback[c] = feedback[c] + down + up; } @@ -56,6 +56,13 @@ int go(S *s, int channels, const float *in, float *out) { compressed[0] *= gain; compressed[1] *= gain; + double k = 1 - wrap(16 * p); + k *= k; + k *= k; + k *= k; + k *= k; + + // write to delay lines for (int c = 0; c < 2; ++c) { so2echo(&s->echo[c], 40, 5000, tanh(compressed[c] + impulse[c]));
diff @ 2016-04-23 21:52:03 +0100 diff --git a/src/go.c b/src/go.c index 8bf9282..a9d9498 100644 --- a/src/go.c +++ b/src/go.c @@ -44,8 +44,8 @@ int go(S *s, int channels, const float *in, float *out) { // pitchshift feedback for (int c = 0; c < 2; ++c) { - double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 5.2, feedback[c]); - double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -10.3, down); + double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 5.5, feedback[c]); + double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -10.5, down); feedback[c] = feedback[c] + down + up; } @@ -61,7 +61,8 @@ int go(S *s, int channels, const float *in, float *out) { k *= k; k *= k; k *= k; - + k *= 8; + k = 4 * sin(twopi * k); // write to delay lines for (int c = 0; c < 2; ++c) {
diff @ 2016-04-23 21:52:11 +0100 diff --git a/src/go.c b/src/go.c index a9d9498..00910e4 100644 --- a/src/go.c +++ b/src/go.c @@ -45,7 +45,7 @@ int go(S *s, int channels, const float *in, float *out) { // pitchshift feedback for (int c = 0; c < 2; ++c) { double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 5.5, feedback[c]); - double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -10.5, down); + double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -10.7, down); feedback[c] = feedback[c] + down + up; }
diff @ 2016-04-23 21:52:20 +0100 diff --git a/src/go.c b/src/go.c index 00910e4..12eb4c7 100644 --- a/src/go.c +++ b/src/go.c @@ -35,8 +35,8 @@ int go(S *s, int channels, const float *in, float *out) { // modulate delay times double p = phasor(&s->phase, 0.1); - double modulation = 10 * cos(twopi * p); - double modulation2 = 10 * sin(twopi * p); + double modulation = 1 * cos(twopi * p); + double modulation2 = 1 * sin(twopi * p); double feedback[2] = { delread4(&s->echo[1].del, 200 - modulation) , delread4(&s->echo[0].del, 200 + modulation2)
diff @ 2016-04-23 21:52:25 +0100 diff --git a/src/go.c b/src/go.c index 12eb4c7..f6dbbc0 100644 --- a/src/go.c +++ b/src/go.c @@ -45,7 +45,7 @@ int go(S *s, int channels, const float *in, float *out) { // pitchshift feedback for (int c = 0; c < 2; ++c) { double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 5.5, feedback[c]); - double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -10.7, down); + double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -11, down); feedback[c] = feedback[c] + down + up; }
diff @ 2016-04-23 21:52:33 +0100 diff --git a/src/go.c b/src/go.c index f6dbbc0..1464caf 100644 --- a/src/go.c +++ b/src/go.c @@ -66,7 +66,7 @@ int go(S *s, int channels, const float *in, float *out) { // write to delay lines for (int c = 0; c < 2; ++c) { - so2echo(&s->echo[c], 40, 5000, tanh(compressed[c] + impulse[c])); + so2echo(&s->echo[c], 80, 5000, tanh(compressed[c] + impulse[c])); } // compress mix down
diff @ 2016-04-23 21:53:02 +0100 diff --git a/src/go.c b/src/go.c index 1464caf..4275d66 100644 --- a/src/go.c +++ b/src/go.c @@ -69,6 +69,9 @@ int go(S *s, int channels, const float *in, float *out) { so2echo(&s->echo[c], 80, 5000, tanh(compressed[c] + impulse[c])); } + compressed[0] += k; + compressed[1] += k; + // compress mix down double mixdown[2] = { 0, 0 }; compress(mixdown, &s->compress[1], 5, 10, 25, 36, compressed);
diff @ 2016-04-23 21:53:38 +0100 diff --git a/src/go.c b/src/go.c index 4275d66..4d5a714 100644 --- a/src/go.c +++ b/src/go.c @@ -64,9 +64,18 @@ int go(S *s, int channels, const float *in, float *out) { k *= 8; k = 4 * sin(twopi * k); + double s = 1 - wrap(8 * p + 0.5); + s *= s; + s *= s; + s *= s; + s *= s; + s *= s; + s *= noise(); + s = tanh(5 * s); + // write to delay lines for (int c = 0; c < 2; ++c) { - so2echo(&s->echo[c], 80, 5000, tanh(compressed[c] + impulse[c])); + so2echo(&s->echo[c], 80, 5000, tanh(compressed[c] + s)); } compressed[0] += k;
diff @ 2016-04-23 21:53:48 +0100 diff --git a/src/go.c b/src/go.c index 4d5a714..ff10b6e 100644 --- a/src/go.c +++ b/src/go.c @@ -44,8 +44,8 @@ int go(S *s, int channels, const float *in, float *out) { // pitchshift feedback for (int c = 0; c < 2; ++c) { - double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 5.5, feedback[c]); - double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -11, down); + double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 6, feedback[c]); + double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -12, down); feedback[c] = feedback[c] + down + up; }
diff @ 2016-04-23 21:53:57 +0100 diff --git a/src/go.c b/src/go.c index ff10b6e..7fb78a8 100644 --- a/src/go.c +++ b/src/go.c @@ -75,7 +75,7 @@ int go(S *s, int channels, const float *in, float *out) { // write to delay lines for (int c = 0; c < 2; ++c) { - so2echo(&s->echo[c], 80, 5000, tanh(compressed[c] + s)); + so2echo(&s->echo[c], 150, 5000, tanh(compressed[c] + s)); } compressed[0] += k;
diff @ 2016-04-23 21:54:03 +0100 diff --git a/src/go.c b/src/go.c index 7fb78a8..581a157 100644 --- a/src/go.c +++ b/src/go.c @@ -71,7 +71,7 @@ int go(S *s, int channels, const float *in, float *out) { s *= s; s *= s; s *= noise(); - s = tanh(5 * s); + s = 4 * tanh(5 * s); // write to delay lines for (int c = 0; c < 2; ++c) {
diff @ 2016-04-23 21:54:40 +0100 diff --git a/src/go.c b/src/go.c index 581a157..580c3da 100644 --- a/src/go.c +++ b/src/go.c @@ -64,18 +64,18 @@ int go(S *s, int channels, const float *in, float *out) { k *= 8; k = 4 * sin(twopi * k); - double s = 1 - wrap(8 * p + 0.5); - s *= s; - s *= s; - s *= s; - s *= s; - s *= s; - s *= noise(); - s = 4 * tanh(5 * s); + double sn = 1 - wrap(8 * p + 0.5); + sn *= sn; + sn *= sn; + sn *= sn; + sn *= sn; + sn *= sn; + sn *= noise(); + sn = 4 * tanh(5 * sn); // write to delay lines for (int c = 0; c < 2; ++c) { - so2echo(&s->echo[c], 150, 5000, tanh(compressed[c] + s)); + so2echo(&s->echo[c], 150, 5000, tanh(compressed[c] + sn)); } compressed[0] += k;
diff @ 2016-04-23 21:54:50 +0100 diff --git a/src/go.c b/src/go.c index 580c3da..25eaeb0 100644 --- a/src/go.c +++ b/src/go.c @@ -64,7 +64,10 @@ int go(S *s, int channels, const float *in, float *out) { k *= 8; k = 4 * sin(twopi * k); - double sn = 1 - wrap(8 * p + 0.5); + double sn = 1 - wrap(4 * p + 0.5); + sn *= sn; + sn *= sn; + sn *= sn; sn *= sn; sn *= sn; sn *= sn;
diff @ 2016-04-23 21:55:02 +0100 diff --git a/src/go.c b/src/go.c index 25eaeb0..6923fee 100644 --- a/src/go.c +++ b/src/go.c @@ -78,7 +78,7 @@ int go(S *s, int channels, const float *in, float *out) { // write to delay lines for (int c = 0; c < 2; ++c) { - so2echo(&s->echo[c], 150, 5000, tanh(compressed[c] + sn)); + so2echo(&s->echo[c], 250, 5000, tanh(compressed[c] + sn)); } compressed[0] += k;
diff @ 2016-04-23 21:55:13 +0100 diff --git a/src/go.c b/src/go.c index 6923fee..ad9565f 100644 --- a/src/go.c +++ b/src/go.c @@ -44,7 +44,7 @@ int go(S *s, int channels, const float *in, float *out) { // pitchshift feedback for (int c = 0; c < 2; ++c) { - double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 6, feedback[c]); + double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 7, feedback[c]); double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -12, down); feedback[c] = feedback[c] + down + up; }
diff @ 2016-04-23 21:56:00 +0100 diff --git a/src/go.c b/src/go.c index ad9565f..e8f3f07 100644 --- a/src/go.c +++ b/src/go.c @@ -80,9 +80,15 @@ int go(S *s, int channels, const float *in, float *out) { for (int c = 0; c < 2; ++c) { so2echo(&s->echo[c], 250, 5000, tanh(compressed[c] + sn)); } - +/* compressed[0] += k; compressed[1] += k; +*/ + double b = wrap(500 * p); + double bs = 0.5 * sin(twopi * b); + compressed[0] += bs; + compressed[1] += bs; + // compress mix down double mixdown[2] = { 0, 0 };
diff @ 2016-04-23 21:56:24 +0100 diff --git a/src/go.c b/src/go.c index e8f3f07..7408711 100644 --- a/src/go.c +++ b/src/go.c @@ -85,7 +85,7 @@ int go(S *s, int channels, const float *in, float *out) { compressed[1] += k; */ double b = wrap(500 * p); - double bs = 0.5 * sin(twopi * b); + double bs = 0.5 * sin(twopi * b + sin(12 * twopi * p) * sin(3 * twopi * b))); compressed[0] += bs; compressed[1] += bs;
diff @ 2016-04-23 21:56:25 +0100 diff --git a/src/go.c b/src/go.c index 7408711..a083744 100644 --- a/src/go.c +++ b/src/go.c @@ -85,7 +85,7 @@ int go(S *s, int channels, const float *in, float *out) { compressed[1] += k; */ double b = wrap(500 * p); - double bs = 0.5 * sin(twopi * b + sin(12 * twopi * p) * sin(3 * twopi * b))); + double bs = 0.5 * sin(twopi * b + sin(12 * twopi * p) * sin(3 * twopi * b)); compressed[0] += bs; compressed[1] += bs;
diff @ 2016-04-23 21:56:35 +0100 diff --git a/src/go.c b/src/go.c index a083744..8547e9a 100644 --- a/src/go.c +++ b/src/go.c @@ -78,7 +78,7 @@ int go(S *s, int channels, const float *in, float *out) { // write to delay lines for (int c = 0; c < 2; ++c) { - so2echo(&s->echo[c], 250, 5000, tanh(compressed[c] + sn)); + so2echo(&s->echo[c], 500, 5000, tanh(compressed[c] + sn)); } /* compressed[0] += k;
diff @ 2016-04-23 21:57:30 +0100 diff --git a/src/go.c b/src/go.c index 8547e9a..7afec0e 100644 --- a/src/go.c +++ b/src/go.c @@ -22,6 +22,7 @@ typedef struct { PITCHSHIFT shift[4]; COMPRESS compress[2]; SO2ECHO echo[2]; + SAMPHOLD sh[2]; } S; // per sample DSP callback @@ -45,7 +46,7 @@ int go(S *s, int channels, const float *in, float *out) { // pitchshift feedback for (int c = 0; c < 2; ++c) { double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 7, feedback[c]); - double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -12, down); + double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -14, down); feedback[c] = feedback[c] + down + up; } @@ -86,8 +87,8 @@ int go(S *s, int channels, const float *in, float *out) { */ double b = wrap(500 * p); double bs = 0.5 * sin(twopi * b + sin(12 * twopi * p) * sin(3 * twopi * b)); - compressed[0] += bs; - compressed[1] += bs; + compressed[0] += samphold(&s->sh[0], bs, wrap(30 * p)); + compressed[1] += samphold(&s->sh[1], bs, wrap(30 * p + 0.5)); // compress mix down
diff @ 2016-04-23 21:57:36 +0100 diff --git a/src/go.c b/src/go.c index 7afec0e..1de07b7 100644 --- a/src/go.c +++ b/src/go.c @@ -87,8 +87,8 @@ int go(S *s, int channels, const float *in, float *out) { */ double b = wrap(500 * p); double bs = 0.5 * sin(twopi * b + sin(12 * twopi * p) * sin(3 * twopi * b)); - compressed[0] += samphold(&s->sh[0], bs, wrap(30 * p)); - compressed[1] += samphold(&s->sh[1], bs, wrap(30 * p + 0.5)); + compressed[0] += samphold(&s->sh[0], bs, wrap(30 * b)); + compressed[1] += samphold(&s->sh[1], bs, wrap(30 * b + 0.5)); // compress mix down
diff @ 2016-04-23 21:57:58 +0100 diff --git a/src/go.c b/src/go.c index 1de07b7..9d949d0 100644 --- a/src/go.c +++ b/src/go.c @@ -86,7 +86,7 @@ int go(S *s, int channels, const float *in, float *out) { compressed[1] += k; */ double b = wrap(500 * p); - double bs = 0.5 * sin(twopi * b + sin(12 * twopi * p) * sin(3 * twopi * b)); + double bs = 0.5 * sin(twopi * b + sin((12 + 20 * (wrap(2 * p) > 0.5)) * twopi * p) * sin(3 * twopi * b)); compressed[0] += samphold(&s->sh[0], bs, wrap(30 * b)); compressed[1] += samphold(&s->sh[1], bs, wrap(30 * b + 0.5));
diff @ 2016-04-23 21:58:46 +0100 diff --git a/src/go.c b/src/go.c index 9d949d0..02bfb3e 100644 --- a/src/go.c +++ b/src/go.c @@ -57,7 +57,8 @@ int go(S *s, int channels, const float *in, float *out) { compressed[0] *= gain; compressed[1] *= gain; - double k = 1 - wrap(16 * p); + double k = 1 - wrap(32 * p); + k *= k; k *= k; k *= k; k *= k; @@ -86,7 +87,8 @@ int go(S *s, int channels, const float *in, float *out) { compressed[1] += k; */ double b = wrap(500 * p); - double bs = 0.5 * sin(twopi * b + sin((12 + 20 * (wrap(2 * p) > 0.5)) * twopi * p) * sin(3 * twopi * b)); + double bs = 0.5 * sin(twopi * b + sin((12 + 20 * (wrap(2 * p) > 0.5)) * twopi * p) * + sin((3 + 2 * wrap(4 * p) > 0.5) * twopi * b)); compressed[0] += samphold(&s->sh[0], bs, wrap(30 * b)); compressed[1] += samphold(&s->sh[1], bs, wrap(30 * b + 0.5));
diff @ 2016-04-23 21:58:55 +0100 diff --git a/src/go.c b/src/go.c index 02bfb3e..7611ad0 100644 --- a/src/go.c +++ b/src/go.c @@ -61,8 +61,6 @@ int go(S *s, int channels, const float *in, float *out) { k *= k; k *= k; k *= k; - k *= k; - k *= k; k *= 8; k = 4 * sin(twopi * k); @@ -82,10 +80,9 @@ int go(S *s, int channels, const float *in, float *out) { for (int c = 0; c < 2; ++c) { so2echo(&s->echo[c], 500, 5000, tanh(compressed[c] + sn)); } -/* compressed[0] += k; compressed[1] += k; -*/ + double b = wrap(500 * p); double bs = 0.5 * sin(twopi * b + sin((12 + 20 * (wrap(2 * p) > 0.5)) * twopi * p) * sin((3 + 2 * wrap(4 * p) > 0.5) * twopi * b));
diff @ 2016-04-23 21:59:10 +0100 diff --git a/src/go.c b/src/go.c index 7611ad0..c531d1a 100644 --- a/src/go.c +++ b/src/go.c @@ -84,7 +84,7 @@ int go(S *s, int channels, const float *in, float *out) { compressed[1] += k; double b = wrap(500 * p); - double bs = 0.5 * sin(twopi * b + sin((12 + 20 * (wrap(2 * p) > 0.5)) * twopi * p) * + double bs = 0.5 * sin(twopi * b + sin((12 + 30 * (wrap(2 * p) > 0.5)) * twopi * p) * sin((3 + 2 * wrap(4 * p) > 0.5) * twopi * b)); compressed[0] += samphold(&s->sh[0], bs, wrap(30 * b)); compressed[1] += samphold(&s->sh[1], bs, wrap(30 * b + 0.5));
diff @ 2016-04-23 21:59:12 +0100 diff --git a/src/go.c b/src/go.c index c531d1a..7611ad0 100644 --- a/src/go.c +++ b/src/go.c @@ -84,7 +84,7 @@ int go(S *s, int channels, const float *in, float *out) { compressed[1] += k; double b = wrap(500 * p); - double bs = 0.5 * sin(twopi * b + sin((12 + 30 * (wrap(2 * p) > 0.5)) * twopi * p) * + double bs = 0.5 * sin(twopi * b + sin((12 + 20 * (wrap(2 * p) > 0.5)) * twopi * p) * sin((3 + 2 * wrap(4 * p) > 0.5) * twopi * b)); compressed[0] += samphold(&s->sh[0], bs, wrap(30 * b)); compressed[1] += samphold(&s->sh[1], bs, wrap(30 * b + 0.5));
diff @ 2016-04-23 21:59:21 +0100 diff --git a/src/go.c b/src/go.c index 7611ad0..f93b0bc 100644 --- a/src/go.c +++ b/src/go.c @@ -83,7 +83,7 @@ int go(S *s, int channels, const float *in, float *out) { compressed[0] += k; compressed[1] += k; - double b = wrap(500 * p); + double b = wrap(500 * p - 100 * p); double bs = 0.5 * sin(twopi * b + sin((12 + 20 * (wrap(2 * p) > 0.5)) * twopi * p) * sin((3 + 2 * wrap(4 * p) > 0.5) * twopi * b)); compressed[0] += samphold(&s->sh[0], bs, wrap(30 * b));
diff @ 2016-04-23 21:59:29 +0100 diff --git a/src/go.c b/src/go.c index f93b0bc..d78674f 100644 --- a/src/go.c +++ b/src/go.c @@ -46,7 +46,7 @@ int go(S *s, int channels, const float *in, float *out) { // pitchshift feedback for (int c = 0; c < 2; ++c) { double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 7, feedback[c]); - double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -14, down); + double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -24, down); feedback[c] = feedback[c] + down + up; }
diff @ 2016-04-23 21:59:35 +0100 diff --git a/src/go.c b/src/go.c index d78674f..5c4b1e7 100644 --- a/src/go.c +++ b/src/go.c @@ -45,7 +45,7 @@ int go(S *s, int channels, const float *in, float *out) { // pitchshift feedback for (int c = 0; c < 2; ++c) { - double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 7, feedback[c]); + double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 12, feedback[c]); double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -24, down); feedback[c] = feedback[c] + down + up; }
diff @ 2016-04-23 21:59:56 +0100 diff --git a/src/go.c b/src/go.c index 5c4b1e7..5cdb31c 100644 --- a/src/go.c +++ b/src/go.c @@ -57,7 +57,7 @@ int go(S *s, int channels, const float *in, float *out) { compressed[0] *= gain; compressed[1] *= gain; - double k = 1 - wrap(32 * p); + double k = 1 - 2 * wrap(16 * p); k *= k; k *= k; k *= k;
diff @ 2016-04-23 22:00:05 +0100 diff --git a/src/go.c b/src/go.c index 5cdb31c..8548460 100644 --- a/src/go.c +++ b/src/go.c @@ -57,7 +57,7 @@ int go(S *s, int channels, const float *in, float *out) { compressed[0] *= gain; compressed[1] *= gain; - double k = 1 - 2 * wrap(16 * p); + double k = 1 - 3 * wrap(16 * p); k *= k; k *= k; k *= k;
diff @ 2016-04-23 22:00:08 +0100 diff --git a/src/go.c b/src/go.c index 8548460..5cdb31c 100644 --- a/src/go.c +++ b/src/go.c @@ -57,7 +57,7 @@ int go(S *s, int channels, const float *in, float *out) { compressed[0] *= gain; compressed[1] *= gain; - double k = 1 - 3 * wrap(16 * p); + double k = 1 - 2 * wrap(16 * p); k *= k; k *= k; k *= k;
diff @ 2016-04-23 22:00:11 +0100 diff --git a/src/go.c b/src/go.c index 5cdb31c..650d3f2 100644 --- a/src/go.c +++ b/src/go.c @@ -53,7 +53,7 @@ int go(S *s, int channels, const float *in, float *out) { // compress feedback double compressed[2] = { 0, 0 }; compress(compressed, &s->compress[0], 5, 10, 25, 48, feedback); - double gain = 1.2; + double gain = 1.3; compressed[0] *= gain; compressed[1] *= gain;
diff @ 2016-04-23 22:00:18 +0100 diff --git a/src/go.c b/src/go.c index 650d3f2..1d8e086 100644 --- a/src/go.c +++ b/src/go.c @@ -36,8 +36,8 @@ int go(S *s, int channels, const float *in, float *out) { // modulate delay times double p = phasor(&s->phase, 0.1); - double modulation = 1 * cos(twopi * p); - double modulation2 = 1 * sin(twopi * p); + double modulation = 10 * cos(twopi * p); + double modulation2 = 10 * sin(twopi * p); double feedback[2] = { delread4(&s->echo[1].del, 200 - modulation) , delread4(&s->echo[0].del, 200 + modulation2)
diff @ 2016-04-23 22:00:40 +0100 diff --git a/src/go.c b/src/go.c index 1d8e086..b71d32f 100644 --- a/src/go.c +++ b/src/go.c @@ -83,7 +83,7 @@ int go(S *s, int channels, const float *in, float *out) { compressed[0] += k; compressed[1] += k; - double b = wrap(500 * p - 100 * p); + double b = wrap(500 * p + 100 * p); double bs = 0.5 * sin(twopi * b + sin((12 + 20 * (wrap(2 * p) > 0.5)) * twopi * p) * sin((3 + 2 * wrap(4 * p) > 0.5) * twopi * b)); compressed[0] += samphold(&s->sh[0], bs, wrap(30 * b));
diff @ 2016-04-23 22:00:54 +0100 diff --git a/src/go.c b/src/go.c index b71d32f..2a6aab7 100644 --- a/src/go.c +++ b/src/go.c @@ -83,9 +83,9 @@ int go(S *s, int channels, const float *in, float *out) { compressed[0] += k; compressed[1] += k; - double b = wrap(500 * p + 100 * p); + double b = wrap((500 + 100 * p) * p); double bs = 0.5 * sin(twopi * b + sin((12 + 20 * (wrap(2 * p) > 0.5)) * twopi * p) * - sin((3 + 2 * wrap(4 * p) > 0.5) * twopi * b)); + sin((3 + 2 * wrap(8 * p) > 0.5) * twopi * b)); compressed[0] += samphold(&s->sh[0], bs, wrap(30 * b)); compressed[1] += samphold(&s->sh[1], bs, wrap(30 * b + 0.5));
diff @ 2016-04-23 22:01:03 +0100 diff --git a/src/go.c b/src/go.c index 2a6aab7..1ec282b 100644 --- a/src/go.c +++ b/src/go.c @@ -53,7 +53,7 @@ int go(S *s, int channels, const float *in, float *out) { // compress feedback double compressed[2] = { 0, 0 }; compress(compressed, &s->compress[0], 5, 10, 25, 48, feedback); - double gain = 1.3; + double gain = 0.1; compressed[0] *= gain; compressed[1] *= gain;
diff @ 2016-04-23 22:01:17 +0100 diff --git a/src/go.c b/src/go.c index 1ec282b..bd862ac 100644 --- a/src/go.c +++ b/src/go.c @@ -85,7 +85,7 @@ int go(S *s, int channels, const float *in, float *out) { double b = wrap((500 + 100 * p) * p); double bs = 0.5 * sin(twopi * b + sin((12 + 20 * (wrap(2 * p) > 0.5)) * twopi * p) * - sin((3 + 2 * wrap(8 * p) > 0.5) * twopi * b)); + sin((1 + 2 * wrap(8 * p) > 0.5) * twopi * b)); compressed[0] += samphold(&s->sh[0], bs, wrap(30 * b)); compressed[1] += samphold(&s->sh[1], bs, wrap(30 * b + 0.5));
diff @ 2016-04-23 22:01:30 +0100 diff --git a/src/go.c b/src/go.c index bd862ac..00bd3b7 100644 --- a/src/go.c +++ b/src/go.c @@ -84,7 +84,7 @@ int go(S *s, int channels, const float *in, float *out) { compressed[1] += k; double b = wrap((500 + 100 * p) * p); - double bs = 0.5 * sin(twopi * b + sin((12 + 20 * (wrap(2 * p) > 0.5)) * twopi * p) * + double bs = 0.5 * sin(twopi * b + 2 * sin((12 + 20 * (wrap(2 * p) > 0.5)) * twopi * p) * sin((1 + 2 * wrap(8 * p) > 0.5) * twopi * b)); compressed[0] += samphold(&s->sh[0], bs, wrap(30 * b)); compressed[1] += samphold(&s->sh[1], bs, wrap(30 * b + 0.5));
diff @ 2016-04-23 22:01:36 +0100 diff --git a/src/go.c b/src/go.c index 00bd3b7..835d131 100644 --- a/src/go.c +++ b/src/go.c @@ -84,7 +84,7 @@ int go(S *s, int channels, const float *in, float *out) { compressed[1] += k; double b = wrap((500 + 100 * p) * p); - double bs = 0.5 * sin(twopi * b + 2 * sin((12 + 20 * (wrap(2 * p) > 0.5)) * twopi * p) * + double bs = 0.5 * sin(twopi * b + 3 * sin((12 + 20 * (wrap(2 * p) > 0.5)) * twopi * p) * sin((1 + 2 * wrap(8 * p) > 0.5) * twopi * b)); compressed[0] += samphold(&s->sh[0], bs, wrap(30 * b)); compressed[1] += samphold(&s->sh[1], bs, wrap(30 * b + 0.5));
diff @ 2016-04-23 22:01:41 +0100 diff --git a/src/go.c b/src/go.c index 835d131..432a312 100644 --- a/src/go.c +++ b/src/go.c @@ -84,7 +84,7 @@ int go(S *s, int channels, const float *in, float *out) { compressed[1] += k; double b = wrap((500 + 100 * p) * p); - double bs = 0.5 * sin(twopi * b + 3 * sin((12 + 20 * (wrap(2 * p) > 0.5)) * twopi * p) * + double bs = 0.5 * sin(twopi * b + 4 * sin((12 + 20 * (wrap(2 * p) > 0.5)) * twopi * p) * sin((1 + 2 * wrap(8 * p) > 0.5) * twopi * b)); compressed[0] += samphold(&s->sh[0], bs, wrap(30 * b)); compressed[1] += samphold(&s->sh[1], bs, wrap(30 * b + 0.5));
diff @ 2016-04-23 22:01:51 +0100 diff --git a/src/go.c b/src/go.c index 432a312..6573f75 100644 --- a/src/go.c +++ b/src/go.c @@ -84,7 +84,7 @@ int go(S *s, int channels, const float *in, float *out) { compressed[1] += k; double b = wrap((500 + 100 * p) * p); - double bs = 0.5 * sin(twopi * b + 4 * sin((12 + 20 * (wrap(2 * p) > 0.5)) * twopi * p) * + double bs = 0.5 * sin(twopi * b + 67 * sin((12 + 20 * (wrap(2 * p) > 0.5)) * twopi * p) * sin((1 + 2 * wrap(8 * p) > 0.5) * twopi * b)); compressed[0] += samphold(&s->sh[0], bs, wrap(30 * b)); compressed[1] += samphold(&s->sh[1], bs, wrap(30 * b + 0.5));
diff @ 2016-04-23 22:01:53 +0100 diff --git a/src/go.c b/src/go.c index 6573f75..18fc0a6 100644 --- a/src/go.c +++ b/src/go.c @@ -84,7 +84,7 @@ int go(S *s, int channels, const float *in, float *out) { compressed[1] += k; double b = wrap((500 + 100 * p) * p); - double bs = 0.5 * sin(twopi * b + 67 * sin((12 + 20 * (wrap(2 * p) > 0.5)) * twopi * p) * + double bs = 0.5 * sin(twopi * b + 6 * sin((12 + 20 * (wrap(2 * p) > 0.5)) * twopi * p) * sin((1 + 2 * wrap(8 * p) > 0.5) * twopi * b)); compressed[0] += samphold(&s->sh[0], bs, wrap(30 * b)); compressed[1] += samphold(&s->sh[1], bs, wrap(30 * b + 0.5));
diff @ 2016-04-23 22:02:03 +0100 diff --git a/src/go.c b/src/go.c index 18fc0a6..3ee3f9a 100644 --- a/src/go.c +++ b/src/go.c @@ -84,7 +84,7 @@ int go(S *s, int channels, const float *in, float *out) { compressed[1] += k; double b = wrap((500 + 100 * p) * p); - double bs = 0.5 * sin(twopi * b + 6 * sin((12 + 20 * (wrap(2 * p) > 0.5)) * twopi * p) * + double bs = 0.5 * sin(twopi * b + 6 * sin((12 + 20 * (wrap(4 * p) > 0.5)) * twopi * p) * sin((1 + 2 * wrap(8 * p) > 0.5) * twopi * b)); compressed[0] += samphold(&s->sh[0], bs, wrap(30 * b)); compressed[1] += samphold(&s->sh[1], bs, wrap(30 * b + 0.5));
diff @ 2016-04-23 22:03:21 +0100 diff --git a/src/go.c b/src/go.c index 3ee3f9a..dec3bfc 100644 --- a/src/go.c +++ b/src/go.c @@ -53,7 +53,7 @@ int go(S *s, int channels, const float *in, float *out) { // compress feedback double compressed[2] = { 0, 0 }; compress(compressed, &s->compress[0], 5, 10, 25, 48, feedback); - double gain = 0.1; + double gain = 0.2; compressed[0] *= gain; compressed[1] *= gain; @@ -88,7 +88,12 @@ int go(S *s, int channels, const float *in, float *out) { sin((1 + 2 * wrap(8 * p) > 0.5) * twopi * b)); compressed[0] += samphold(&s->sh[0], bs, wrap(30 * b)); compressed[1] += samphold(&s->sh[1], bs, wrap(30 * b + 0.5)); - + + int t = 65536 * p; + double a = bytebeat(8 * ("1234123412122424"[t%16]-'0') * t) + + compressed[0] += a; + compressed[1] += a; // compress mix down double mixdown[2] = { 0, 0 };
diff @ 2016-04-23 22:03:31 +0100 diff --git a/src/go.c b/src/go.c index dec3bfc..6b52307 100644 --- a/src/go.c +++ b/src/go.c @@ -90,7 +90,7 @@ int go(S *s, int channels, const float *in, float *out) { compressed[1] += samphold(&s->sh[1], bs, wrap(30 * b + 0.5)); int t = 65536 * p; - double a = bytebeat(8 * ("1234123412122424"[t%16]-'0') * t) + double a = bytebeat(8 * ("1234123412122424"[t%16]-'0') * t); compressed[0] += a; compressed[1] += a;
diff @ 2016-04-23 22:03:47 +0100 diff --git a/src/go.c b/src/go.c index 6b52307..70fc51f 100644 --- a/src/go.c +++ b/src/go.c @@ -90,7 +90,7 @@ int go(S *s, int channels, const float *in, float *out) { compressed[1] += samphold(&s->sh[1], bs, wrap(30 * b + 0.5)); int t = 65536 * p; - double a = bytebeat(8 * ("1234123412122424"[t%16]-'0') * t); + double a = bytebeat(1 * ("1234123412122424"[t%16]-'0') * t); compressed[0] += a; compressed[1] += a;
diff @ 2016-04-23 22:03:56 +0100 diff --git a/src/go.c b/src/go.c index 70fc51f..2c1e9b2 100644 --- a/src/go.c +++ b/src/go.c @@ -90,7 +90,7 @@ int go(S *s, int channels, const float *in, float *out) { compressed[1] += samphold(&s->sh[1], bs, wrap(30 * b + 0.5)); int t = 65536 * p; - double a = bytebeat(1 * ("1234123412122424"[t%16]-'0') * t); + double a = bytebeat(1 * ("1234123412122424"[(t>>10)%16]-'0') * t); compressed[0] += a; compressed[1] += a;
diff @ 2016-04-23 22:04:16 +0100 diff --git a/src/go.c b/src/go.c index 2c1e9b2..9aa2a08 100644 --- a/src/go.c +++ b/src/go.c @@ -90,7 +90,7 @@ int go(S *s, int channels, const float *in, float *out) { compressed[1] += samphold(&s->sh[1], bs, wrap(30 * b + 0.5)); int t = 65536 * p; - double a = bytebeat(1 * ("1234123412122424"[(t>>10)%16]-'0') * t); + double a = bytebeat(1 * ("1234123412122424"[(t>>10)%16]-'0') * t - (t >> t)); compressed[0] += a; compressed[1] += a;
diff @ 2016-04-23 22:04:28 +0100 diff --git a/src/go.c b/src/go.c index 9aa2a08..28e5205 100644 --- a/src/go.c +++ b/src/go.c @@ -90,7 +90,7 @@ int go(S *s, int channels, const float *in, float *out) { compressed[1] += samphold(&s->sh[1], bs, wrap(30 * b + 0.5)); int t = 65536 * p; - double a = bytebeat(1 * ("1234123412122424"[(t>>10)%16]-'0') * t - (t >> t)); + double a = bytebeat(1 * ("1234123412122424"[(t>>10)%16]-'0') * t - (t >> t) * 2); compressed[0] += a; compressed[1] += a;
diff @ 2016-04-23 22:04:36 +0100 diff --git a/src/go.c b/src/go.c index 28e5205..382ec98 100644 --- a/src/go.c +++ b/src/go.c @@ -90,7 +90,7 @@ int go(S *s, int channels, const float *in, float *out) { compressed[1] += samphold(&s->sh[1], bs, wrap(30 * b + 0.5)); int t = 65536 * p; - double a = bytebeat(1 * ("1234123412122424"[(t>>10)%16]-'0') * t - (t >> t) * 2); + double a = bytebeat(1 * ("1234123412122424"[(t>>10)%16]-'0') * t - (t >> (t >> 4)) * 2); compressed[0] += a; compressed[1] += a;
diff @ 2016-04-23 22:04:40 +0100 diff --git a/src/go.c b/src/go.c index 382ec98..160a38e 100644 --- a/src/go.c +++ b/src/go.c @@ -90,7 +90,7 @@ int go(S *s, int channels, const float *in, float *out) { compressed[1] += samphold(&s->sh[1], bs, wrap(30 * b + 0.5)); int t = 65536 * p; - double a = bytebeat(1 * ("1234123412122424"[(t>>10)%16]-'0') * t - (t >> (t >> 4)) * 2); + double a = bytebeat(1 * ("1234123412122424"[(t>>10)%16]-'0') * t - (t >> (t >> 2)) * 2); compressed[0] += a; compressed[1] += a;
diff @ 2016-04-23 22:04:51 +0100 diff --git a/src/go.c b/src/go.c index 160a38e..7ccba04 100644 --- a/src/go.c +++ b/src/go.c @@ -90,7 +90,7 @@ int go(S *s, int channels, const float *in, float *out) { compressed[1] += samphold(&s->sh[1], bs, wrap(30 * b + 0.5)); int t = 65536 * p; - double a = bytebeat(1 * ("1234123412122424"[(t>>10)%16]-'0') * t - (t >> (t >> 2)) * 2); + double a = bytebeat(1 * ("8234823412122424"[(t>>10)%16]-'0') * t - (t >> (t >> 2)) * 2); compressed[0] += a; compressed[1] += a;
diff @ 2016-04-23 22:05:08 +0100 diff --git a/src/go.c b/src/go.c index 7ccba04..1e97053 100644 --- a/src/go.c +++ b/src/go.c @@ -90,7 +90,7 @@ int go(S *s, int channels, const float *in, float *out) { compressed[1] += samphold(&s->sh[1], bs, wrap(30 * b + 0.5)); int t = 65536 * p; - double a = bytebeat(1 * ("8234823412122424"[(t>>10)%16]-'0') * t - (t >> (t >> 2)) * 2); + double a = bytebeat(1 * ("8234823412122424"[(t>>10)%16]-'0') * t - (t & 0xFF < 0x60); compressed[0] += a; compressed[1] += a;
diff @ 2016-04-23 22:05:14 +0100 diff --git a/src/go.c b/src/go.c index 1e97053..e75767f 100644 --- a/src/go.c +++ b/src/go.c @@ -90,7 +90,7 @@ int go(S *s, int channels, const float *in, float *out) { compressed[1] += samphold(&s->sh[1], bs, wrap(30 * b + 0.5)); int t = 65536 * p; - double a = bytebeat(1 * ("8234823412122424"[(t>>10)%16]-'0') * t - (t & 0xFF < 0x60); + double a = bytebeat(1 * ("8234823412122424"[(t>>10)%16]-'0') * t - ((t & 0xFF) < 0x60); compressed[0] += a; compressed[1] += a;
diff @ 2016-04-23 22:05:20 +0100 diff --git a/src/go.c b/src/go.c index e75767f..89d1802 100644 --- a/src/go.c +++ b/src/go.c @@ -90,7 +90,7 @@ int go(S *s, int channels, const float *in, float *out) { compressed[1] += samphold(&s->sh[1], bs, wrap(30 * b + 0.5)); int t = 65536 * p; - double a = bytebeat(1 * ("8234823412122424"[(t>>10)%16]-'0') * t - ((t & 0xFF) < 0x60); + double a = bytebeat(1 * ("8234823412122424"[(t>>10)%16]-'0') * t - 8 * ((t & 0xFF) < 0x60); compressed[0] += a; compressed[1] += a;
diff @ 2016-04-23 22:05:33 +0100 diff --git a/src/go.c b/src/go.c index 89d1802..cd4de97 100644 --- a/src/go.c +++ b/src/go.c @@ -90,7 +90,7 @@ int go(S *s, int channels, const float *in, float *out) { compressed[1] += samphold(&s->sh[1], bs, wrap(30 * b + 0.5)); int t = 65536 * p; - double a = bytebeat(1 * ("8234823412122424"[(t>>10)%16]-'0') * t - 8 * ((t & 0xFF) < 0x60); + double a = bytebeat(1 * ("8234823412122424"[(t>>10)%16]-'0') * t - 8 * (0x80 * ((t & 0xFF) < 0x60)); compressed[0] += a; compressed[1] += a;
diff @ 2016-04-23 22:05:51 +0100 diff --git a/src/go.c b/src/go.c index cd4de97..5810de0 100644 --- a/src/go.c +++ b/src/go.c @@ -90,7 +90,8 @@ int go(S *s, int channels, const float *in, float *out) { compressed[1] += samphold(&s->sh[1], bs, wrap(30 * b + 0.5)); int t = 65536 * p; - double a = bytebeat(1 * ("8234823412122424"[(t>>10)%16]-'0') * t - 8 * (0x80 * ((t & 0xFF) < 0x60)); + double a = bytebeat(2 * ("8234823412122424"[(t>>10)%8]-'0') * t - + 8 * (0x80 * ((t & 0xFF) < 0x60)); compressed[0] += a; compressed[1] += a;
diff @ 2016-04-23 22:06:11 +0100 diff --git a/src/go.c b/src/go.c index 5810de0..3e57ea2 100644 --- a/src/go.c +++ b/src/go.c @@ -90,7 +90,7 @@ int go(S *s, int channels, const float *in, float *out) { compressed[1] += samphold(&s->sh[1], bs, wrap(30 * b + 0.5)); int t = 65536 * p; - double a = bytebeat(2 * ("8234823412122424"[(t>>10)%8]-'0') * t - + double a = bytebeat(2 * ("8234823412122424"[(t>>10)%8]-'0') * t * (*t >> 8 & 0xFF) < 0x80) - 8 * (0x80 * ((t & 0xFF) < 0x60)); compressed[0] += a;
diff @ 2016-04-23 22:06:16 +0100 diff --git a/src/go.c b/src/go.c index 3e57ea2..34d87ce 100644 --- a/src/go.c +++ b/src/go.c @@ -90,7 +90,7 @@ int go(S *s, int channels, const float *in, float *out) { compressed[1] += samphold(&s->sh[1], bs, wrap(30 * b + 0.5)); int t = 65536 * p; - double a = bytebeat(2 * ("8234823412122424"[(t>>10)%8]-'0') * t * (*t >> 8 & 0xFF) < 0x80) - + double a = bytebeat(2 * ("8234823412122424"[(t>>10)%8]-'0') * t * ((t >> 8 & 0xFF) < 0x80) - 8 * (0x80 * ((t & 0xFF) < 0x60)); compressed[0] += a;
diff @ 2016-04-23 22:06:21 +0100 diff --git a/src/go.c b/src/go.c index 34d87ce..d988bdb 100644 --- a/src/go.c +++ b/src/go.c @@ -90,7 +90,7 @@ int go(S *s, int channels, const float *in, float *out) { compressed[1] += samphold(&s->sh[1], bs, wrap(30 * b + 0.5)); int t = 65536 * p; - double a = bytebeat(2 * ("8234823412122424"[(t>>10)%8]-'0') * t * ((t >> 8 & 0xFF) < 0x80) - + double a = bytebeat(2 * ("8234823412122424"[(t>>10)%8]-'0') * t * ((t >> 8) & 0xFF) < 0x80) - 8 * (0x80 * ((t & 0xFF) < 0x60)); compressed[0] += a;
diff @ 2016-04-23 22:06:33 +0100 diff --git a/src/go.c b/src/go.c index d988bdb..b5b2f1e 100644 --- a/src/go.c +++ b/src/go.c @@ -90,7 +90,7 @@ int go(S *s, int channels, const float *in, float *out) { compressed[1] += samphold(&s->sh[1], bs, wrap(30 * b + 0.5)); int t = 65536 * p; - double a = bytebeat(2 * ("8234823412122424"[(t>>10)%8]-'0') * t * ((t >> 8) & 0xFF) < 0x80) - + double a = bytebeat(2 * ("8234823412122424"[(t>>10)%8]-'0') * t * (((t >> 12) & 0xFF) < 0x80) - 8 * (0x80 * ((t & 0xFF) < 0x60)); compressed[0] += a;
diff @ 2016-04-23 22:06:42 +0100 diff --git a/src/go.c b/src/go.c index b5b2f1e..1911540 100644 --- a/src/go.c +++ b/src/go.c @@ -91,7 +91,7 @@ int go(S *s, int channels, const float *in, float *out) { int t = 65536 * p; double a = bytebeat(2 * ("8234823412122424"[(t>>10)%8]-'0') * t * (((t >> 12) & 0xFF) < 0x80) - - 8 * (0x80 * ((t & 0xFF) < 0x60)); + 8 * (0x80 * ((t & 0xFF) < 0x60))); compressed[0] += a; compressed[1] += a;
diff @ 2016-04-23 22:07:04 +0100 diff --git a/src/go.c b/src/go.c index 1911540..034837d 100644 --- a/src/go.c +++ b/src/go.c @@ -90,7 +90,7 @@ int go(S *s, int channels, const float *in, float *out) { compressed[1] += samphold(&s->sh[1], bs, wrap(30 * b + 0.5)); int t = 65536 * p; - double a = bytebeat(2 * ("8234823412122424"[(t>>10)%8]-'0') * t * (((t >> 12) & 0xFF) < 0x80) - + double a = bytebeat(2 * ("8234823412122424"[(t>>10)%8]-'0') * t * (((t >> 9) & 0xFF) < 0x80) - 8 * (0x80 * ((t & 0xFF) < 0x60))); compressed[0] += a; @@ -109,3 +109,4 @@ int go(S *s, int channels, const float *in, float *out) { } return 0; } +
diff @ 2016-04-23 22:07:12 +0100 diff --git a/src/go.c b/src/go.c index 034837d..189857f 100644 --- a/src/go.c +++ b/src/go.c @@ -90,8 +90,7 @@ int go(S *s, int channels, const float *in, float *out) { compressed[1] += samphold(&s->sh[1], bs, wrap(30 * b + 0.5)); int t = 65536 * p; - double a = bytebeat(2 * ("8234823412122424"[(t>>10)%8]-'0') * t * (((t >> 9) & 0xFF) < 0x80) - - 8 * (0x80 * ((t & 0xFF) < 0x60))); + double a = bytebeat(2 * ("8234823412122424"[(t>>10)%8]-'0') * t * (((t >> 9) & 0xFF) < 0x80)); compressed[0] += a; compressed[1] += a;
diff @ 2016-04-23 22:07:28 +0100 diff --git a/src/go.c b/src/go.c index 189857f..4086b92 100644 --- a/src/go.c +++ b/src/go.c @@ -90,7 +90,7 @@ int go(S *s, int channels, const float *in, float *out) { compressed[1] += samphold(&s->sh[1], bs, wrap(30 * b + 0.5)); int t = 65536 * p; - double a = bytebeat(2 * ("8234823412122424"[(t>>10)%8]-'0') * t * (((t >> 9) & 0xFF) < 0x80)); + double a = bytebeat(2 * ("8234823412122424"[(t>>10)%8]-'0') * t * (((t >> 12) & 0xFF) < 0x80)); compressed[0] += a; compressed[1] += a;
diff @ 2016-04-23 22:07:35 +0100 diff --git a/src/go.c b/src/go.c index 4086b92..9a05561 100644 --- a/src/go.c +++ b/src/go.c @@ -90,7 +90,7 @@ int go(S *s, int channels, const float *in, float *out) { compressed[1] += samphold(&s->sh[1], bs, wrap(30 * b + 0.5)); int t = 65536 * p; - double a = bytebeat(2 * ("8234823412122424"[(t>>10)%8]-'0') * t * (((t >> 12) & 0xFF) < 0x80)); + double a = bytebeat(2 * ("8234823412122424"[(t>>10)%8]-'0') * t * (((t >> 12) & 0xFF) < 0x40)); compressed[0] += a; compressed[1] += a;
diff @ 2016-04-23 22:07:40 +0100 diff --git a/src/go.c b/src/go.c index 9a05561..03397ec 100644 --- a/src/go.c +++ b/src/go.c @@ -90,7 +90,7 @@ int go(S *s, int channels, const float *in, float *out) { compressed[1] += samphold(&s->sh[1], bs, wrap(30 * b + 0.5)); int t = 65536 * p; - double a = bytebeat(2 * ("8234823412122424"[(t>>10)%8]-'0') * t * (((t >> 12) & 0xFF) < 0x40)); + double a = bytebeat(2 * ("8234823412122424"[(t>>10)%16]-'0') * t * (((t >> 12) & 0xFF) < 0x40)); compressed[0] += a; compressed[1] += a;
diff @ 2016-04-23 22:07:47 +0100 diff --git a/src/go.c b/src/go.c index 03397ec..68b6b86 100644 --- a/src/go.c +++ b/src/go.c @@ -57,7 +57,7 @@ int go(S *s, int channels, const float *in, float *out) { compressed[0] *= gain; compressed[1] *= gain; - double k = 1 - 2 * wrap(16 * p); + double k = 1 - 1 * wrap(16 * p); k *= k; k *= k; k *= k;
diff @ 2016-04-23 22:08:02 +0100 diff --git a/src/go.c b/src/go.c index 68b6b86..f3e13e5 100644 --- a/src/go.c +++ b/src/go.c @@ -90,7 +90,7 @@ int go(S *s, int channels, const float *in, float *out) { compressed[1] += samphold(&s->sh[1], bs, wrap(30 * b + 0.5)); int t = 65536 * p; - double a = bytebeat(2 * ("8234823412122424"[(t>>10)%16]-'0') * t * (((t >> 12) & 0xFF) < 0x40)); + double a = bytebeat(2 * ("8030803010102020"[(t>>10)%16]-'0') * t * (((t >> 12) & 0xFF) < 0x40)); compressed[0] += a; compressed[1] += a;
diff @ 2016-04-23 22:08:10 +0100 diff --git a/src/go.c b/src/go.c index f3e13e5..1eeacb3 100644 --- a/src/go.c +++ b/src/go.c @@ -90,7 +90,7 @@ int go(S *s, int channels, const float *in, float *out) { compressed[1] += samphold(&s->sh[1], bs, wrap(30 * b + 0.5)); int t = 65536 * p; - double a = bytebeat(2 * ("8030803010102020"[(t>>10)%16]-'0') * t * (((t >> 12) & 0xFF) < 0x40)); + double a = bytebeat(2 * ("8030803010102020"[(t>>9)%16]-'0') * t * (((t >> 12) & 0xFF) < 0x40)); compressed[0] += a; compressed[1] += a;
diff @ 2016-04-23 22:08:11 +0100 diff --git a/src/go.c b/src/go.c index 1eeacb3..f3e13e5 100644 --- a/src/go.c +++ b/src/go.c @@ -90,7 +90,7 @@ int go(S *s, int channels, const float *in, float *out) { compressed[1] += samphold(&s->sh[1], bs, wrap(30 * b + 0.5)); int t = 65536 * p; - double a = bytebeat(2 * ("8030803010102020"[(t>>9)%16]-'0') * t * (((t >> 12) & 0xFF) < 0x40)); + double a = bytebeat(2 * ("8030803010102020"[(t>>10)%16]-'0') * t * (((t >> 12) & 0xFF) < 0x40)); compressed[0] += a; compressed[1] += a;
diff @ 2016-04-23 22:08:20 +0100 diff --git a/src/go.c b/src/go.c index f3e13e5..1eeacb3 100644 --- a/src/go.c +++ b/src/go.c @@ -90,7 +90,7 @@ int go(S *s, int channels, const float *in, float *out) { compressed[1] += samphold(&s->sh[1], bs, wrap(30 * b + 0.5)); int t = 65536 * p; - double a = bytebeat(2 * ("8030803010102020"[(t>>10)%16]-'0') * t * (((t >> 12) & 0xFF) < 0x40)); + double a = bytebeat(2 * ("8030803010102020"[(t>>9)%16]-'0') * t * (((t >> 12) & 0xFF) < 0x40)); compressed[0] += a; compressed[1] += a;
diff @ 2016-04-23 22:08:23 +0100 diff --git a/src/go.c b/src/go.c index 1eeacb3..71fd545 100644 --- a/src/go.c +++ b/src/go.c @@ -90,7 +90,7 @@ int go(S *s, int channels, const float *in, float *out) { compressed[1] += samphold(&s->sh[1], bs, wrap(30 * b + 0.5)); int t = 65536 * p; - double a = bytebeat(2 * ("8030803010102020"[(t>>9)%16]-'0') * t * (((t >> 12) & 0xFF) < 0x40)); + double a = bytebeat(2 * ("8030803010102020"[(t>>8)%16]-'0') * t * (((t >> 12) & 0xFF) < 0x40)); compressed[0] += a; compressed[1] += a;
diff @ 2016-04-23 22:08:37 +0100 diff --git a/src/go.c b/src/go.c index 71fd545..268b5ef 100644 --- a/src/go.c +++ b/src/go.c @@ -90,7 +90,7 @@ int go(S *s, int channels, const float *in, float *out) { compressed[1] += samphold(&s->sh[1], bs, wrap(30 * b + 0.5)); int t = 65536 * p; - double a = bytebeat(2 * ("8030803010102020"[(t>>8)%16]-'0') * t * (((t >> 12) & 0xFF) < 0x40)); + double a = bytebeat(2 * ("8030803010102020"[(t>>(9 + (t < 0xC0))%16]-'0') * t * (((t >> 12) & 0xFF) < 0x40)); compressed[0] += a; compressed[1] += a;
diff @ 2016-04-23 22:08:41 +0100 diff --git a/src/go.c b/src/go.c index 268b5ef..bc86d51 100644 --- a/src/go.c +++ b/src/go.c @@ -90,7 +90,7 @@ int go(S *s, int channels, const float *in, float *out) { compressed[1] += samphold(&s->sh[1], bs, wrap(30 * b + 0.5)); int t = 65536 * p; - double a = bytebeat(2 * ("8030803010102020"[(t>>(9 + (t < 0xC0))%16]-'0') * t * (((t >> 12) & 0xFF) < 0x40)); + double a = bytebeat(2 * ("8030803010102020"[(t>>(9 + (t < 0xC000))%16]-'0') * t * (((t >> 12) & 0xFF) < 0x40)); compressed[0] += a; compressed[1] += a;
diff @ 2016-04-23 22:08:53 +0100 diff --git a/src/go.c b/src/go.c index bc86d51..e569c2b 100644 --- a/src/go.c +++ b/src/go.c @@ -90,7 +90,7 @@ int go(S *s, int channels, const float *in, float *out) { compressed[1] += samphold(&s->sh[1], bs, wrap(30 * b + 0.5)); int t = 65536 * p; - double a = bytebeat(2 * ("8030803010102020"[(t>>(9 + (t < 0xC000))%16]-'0') * t * (((t >> 12) & 0xFF) < 0x40)); + double a = bytebeat(2 * ("8030803010102020"[(t>>(10 + (t < 0xC000))%16]-'0') * t * (((t >> 12) & 0xFF) < 0x40)); compressed[0] += a; compressed[1] += a;
diff @ 2016-04-23 22:09:02 +0100 diff --git a/src/go.c b/src/go.c index e569c2b..92c807b 100644 --- a/src/go.c +++ b/src/go.c @@ -90,7 +90,7 @@ int go(S *s, int channels, const float *in, float *out) { compressed[1] += samphold(&s->sh[1], bs, wrap(30 * b + 0.5)); int t = 65536 * p; - double a = bytebeat(2 * ("8030803010102020"[(t>>(10 + (t < 0xC000))%16]-'0') * t * (((t >> 12) & 0xFF) < 0x40)); + double a = bytebeat(2 * ("8030803010102020"[(t>>(10 + (t < 0xC000)))%16]-'0') * t * (((t >> 12) & 0xFF) < 0x40)); compressed[0] += a; compressed[1] += a;
diff @ 2016-04-23 22:09:17 +0100 diff --git a/src/go.c b/src/go.c index 92c807b..4782fa2 100644 --- a/src/go.c +++ b/src/go.c @@ -84,7 +84,7 @@ int go(S *s, int channels, const float *in, float *out) { compressed[1] += k; double b = wrap((500 + 100 * p) * p); - double bs = 0.5 * sin(twopi * b + 6 * sin((12 + 20 * (wrap(4 * p) > 0.5)) * twopi * p) * + double bs = 0.5 * sin(twopi * b + 10 * sin((12 + 20 * (wrap(4 * p) > 0.5)) * twopi * p) * sin((1 + 2 * wrap(8 * p) > 0.5) * twopi * b)); compressed[0] += samphold(&s->sh[0], bs, wrap(30 * b)); compressed[1] += samphold(&s->sh[1], bs, wrap(30 * b + 0.5));
diff @ 2016-04-23 22:09:25 +0100 diff --git a/src/go.c b/src/go.c index 4782fa2..429ac1f 100644 --- a/src/go.c +++ b/src/go.c @@ -90,7 +90,7 @@ int go(S *s, int channels, const float *in, float *out) { compressed[1] += samphold(&s->sh[1], bs, wrap(30 * b + 0.5)); int t = 65536 * p; - double a = bytebeat(2 * ("8030803010102020"[(t>>(10 + (t < 0xC000)))%16]-'0') * t * (((t >> 12) & 0xFF) < 0x40)); + double a = bytebeat(2 * ("8030803101020205"[(t>>(10 + (t < 0xC000)))%16]-'0') * t * (((t >> 12) & 0xFF) < 0x40)); compressed[0] += a; compressed[1] += a;
diff @ 2016-04-23 22:09:40 +0100 diff --git a/src/go.c b/src/go.c index 429ac1f..4c01ea0 100644 --- a/src/go.c +++ b/src/go.c @@ -92,8 +92,8 @@ int go(S *s, int channels, const float *in, float *out) { int t = 65536 * p; double a = bytebeat(2 * ("8030803101020205"[(t>>(10 + (t < 0xC000)))%16]-'0') * t * (((t >> 12) & 0xFF) < 0x40)); - compressed[0] += a; - compressed[1] += a; + compressed[0] += a*0.5; + compressed[1] += a*0.5; // compress mix down double mixdown[2] = { 0, 0 };
diff @ 2016-04-23 22:10:13 +0100 diff --git a/src/go.c b/src/go.c index 4c01ea0..e27c2c7 100644 --- a/src/go.c +++ b/src/go.c @@ -53,7 +53,7 @@ int go(S *s, int channels, const float *in, float *out) { // compress feedback double compressed[2] = { 0, 0 }; compress(compressed, &s->compress[0], 5, 10, 25, 48, feedback); - double gain = 0.2; + double gain = 0.5; compressed[0] *= gain; compressed[1] *= gain; @@ -90,7 +90,7 @@ int go(S *s, int channels, const float *in, float *out) { compressed[1] += samphold(&s->sh[1], bs, wrap(30 * b + 0.5)); int t = 65536 * p; - double a = bytebeat(2 * ("8030803101020205"[(t>>(10 + (t < 0xC000)))%16]-'0') * t * (((t >> 12) & 0xFF) < 0x40)); + double a = bytebeat(2 * ("8030803101020205"[(t>>(10 + (t < 0xC000)))%16]-'0') * t)); compressed[0] += a*0.5; compressed[1] += a*0.5;
diff @ 2016-04-23 22:10:29 +0100 diff --git a/src/go.c b/src/go.c index e27c2c7..d0a4c85 100644 --- a/src/go.c +++ b/src/go.c @@ -90,7 +90,7 @@ int go(S *s, int channels, const float *in, float *out) { compressed[1] += samphold(&s->sh[1], bs, wrap(30 * b + 0.5)); int t = 65536 * p; - double a = bytebeat(2 * ("8030803101020205"[(t>>(10 + (t < 0xC000)))%16]-'0') * t)); + double a = bytebeat((2 + 2 * (p > 0.75)) * ("8030803101020205"[(t>>(10 + (t < 0xC000)))%16]-'0') * t)); compressed[0] += a*0.5; compressed[1] += a*0.5;
diff @ 2016-04-23 22:10:35 +0100 diff --git a/src/go.c b/src/go.c index d0a4c85..bc92cdf 100644 --- a/src/go.c +++ b/src/go.c @@ -35,7 +35,7 @@ int go(S *s, int channels, const float *in, float *out) { double impulse[2] = { s->reloaded, s->reloaded }; // modulate delay times - double p = phasor(&s->phase, 0.1); + double p = phasor(&s->phase, 0.101); double modulation = 10 * cos(twopi * p); double modulation2 = 10 * sin(twopi * p); double feedback[2] =
diff @ 2016-04-23 22:10:50 +0100 diff --git a/src/go.c b/src/go.c index bc92cdf..7fd0cf8 100644 --- a/src/go.c +++ b/src/go.c @@ -90,7 +90,7 @@ int go(S *s, int channels, const float *in, float *out) { compressed[1] += samphold(&s->sh[1], bs, wrap(30 * b + 0.5)); int t = 65536 * p; - double a = bytebeat((2 + 2 * (p > 0.75)) * ("8030803101020205"[(t>>(10 + (t < 0xC000)))%16]-'0') * t)); + double a = bytebeat((2 + 2 * (p > 0.75)) * ("8030803101020205"[(t>>(10 + (t < 0xC000)))%16]-'0') * t); compressed[0] += a*0.5; compressed[1] += a*0.5;
diff @ 2016-04-23 22:11:37 +0100 diff --git a/src/go.c b/src/go.c index 7fd0cf8..0cfd1e9 100644 --- a/src/go.c +++ b/src/go.c @@ -23,6 +23,7 @@ typedef struct { COMPRESS compress[2]; SO2ECHO echo[2]; SAMPHOLD sh[2]; + double tempo; } S; // per sample DSP callback @@ -31,11 +32,15 @@ int go(S *s, int channels, const float *in, float *out) { // trigger impulse on reload if (s->reloaded) { s->reloaded = 0; + s->tempo = 0.1; } double impulse[2] = { s->reloaded, s->reloaded }; + + // modulate delay times - double p = phasor(&s->phase, 0.101); + s->tempo *= 1.0001; + double p = phasor(&s->phase, s->tempo); double modulation = 10 * cos(twopi * p); double modulation2 = 10 * sin(twopi * p); double feedback[2] =
diff @ 2016-04-23 22:11:41 +0100 diff --git a/src/go.c b/src/go.c index 0cfd1e9..86c4ecd 100644 --- a/src/go.c +++ b/src/go.c @@ -39,7 +39,7 @@ int go(S *s, int channels, const float *in, float *out) { // modulate delay times - s->tempo *= 1.0001; + s->tempo *= 1; double p = phasor(&s->phase, s->tempo); double modulation = 10 * cos(twopi * p); double modulation2 = 10 * sin(twopi * p);
diff @ 2016-04-23 22:11:56 +0100 diff --git a/src/go.c b/src/go.c index 86c4ecd..ae21df3 100644 --- a/src/go.c +++ b/src/go.c @@ -37,9 +37,8 @@ int go(S *s, int channels, const float *in, float *out) { double impulse[2] = { s->reloaded, s->reloaded }; - // modulate delay times - s->tempo *= 1; + s->tempo *= 1.00000000001; double p = phasor(&s->phase, s->tempo); double modulation = 10 * cos(twopi * p); double modulation2 = 10 * sin(twopi * p);
diff @ 2016-04-23 22:12:13 +0100 diff --git a/src/go.c b/src/go.c index ae21df3..a29e0ba 100644 --- a/src/go.c +++ b/src/go.c @@ -94,7 +94,7 @@ int go(S *s, int channels, const float *in, float *out) { compressed[1] += samphold(&s->sh[1], bs, wrap(30 * b + 0.5)); int t = 65536 * p; - double a = bytebeat((2 + 2 * (p > 0.75)) * ("8030803101020205"[(t>>(10 + (t < 0xC000)))%16]-'0') * t); + double a = bytebeat((2 + 2 * (p > 0.75)) * ("8030803101020205"[(t>>(9 + (t < 0xC000)))%16]-'0') * t); compressed[0] += a*0.5; compressed[1] += a*0.5;
diff @ 2016-04-23 22:12:34 +0100 diff --git a/src/go.c b/src/go.c index a29e0ba..f33518f 100644 --- a/src/go.c +++ b/src/go.c @@ -94,7 +94,7 @@ int go(S *s, int channels, const float *in, float *out) { compressed[1] += samphold(&s->sh[1], bs, wrap(30 * b + 0.5)); int t = 65536 * p; - double a = bytebeat((2 + 2 * (p > 0.75)) * ("8030803101020205"[(t>>(9 + (t < 0xC000)))%16]-'0') * t); + double a = bytebeat((2 + 2 * (p > 0.75)) * ("8030803101020205"[(t>>(9 + (t < 0xC000)))%(p < 0.5 ? 8 : 16)]-'0') * t); compressed[0] += a*0.5; compressed[1] += a*0.5;
diff @ 2016-04-23 22:12:50 +0100 diff --git a/src/go.c b/src/go.c index f33518f..d4ec35b 100644 --- a/src/go.c +++ b/src/go.c @@ -38,7 +38,7 @@ int go(S *s, int channels, const float *in, float *out) { // modulate delay times - s->tempo *= 1.00000000001; + s->tempo *= 1.000000001; double p = phasor(&s->phase, s->tempo); double modulation = 10 * cos(twopi * p); double modulation2 = 10 * sin(twopi * p);
diff @ 2016-04-23 22:13:01 +0100 diff --git a/src/go.c b/src/go.c index d4ec35b..2df95b9 100644 --- a/src/go.c +++ b/src/go.c @@ -38,7 +38,7 @@ int go(S *s, int channels, const float *in, float *out) { // modulate delay times - s->tempo *= 1.000000001; + s->tempo *= 0.9999999; double p = phasor(&s->phase, s->tempo); double modulation = 10 * cos(twopi * p); double modulation2 = 10 * sin(twopi * p);
diff @ 2016-04-23 22:13:07 +0100 diff --git a/src/go.c b/src/go.c index 2df95b9..9e62419 100644 --- a/src/go.c +++ b/src/go.c @@ -38,7 +38,7 @@ int go(S *s, int channels, const float *in, float *out) { // modulate delay times - s->tempo *= 0.9999999; + s->tempo *= 0.999999; double p = phasor(&s->phase, s->tempo); double modulation = 10 * cos(twopi * p); double modulation2 = 10 * sin(twopi * p);
diff @ 2016-04-23 22:13:15 +0100 diff --git a/src/go.c b/src/go.c index 9e62419..a3af8be 100644 --- a/src/go.c +++ b/src/go.c @@ -38,7 +38,7 @@ int go(S *s, int channels, const float *in, float *out) { // modulate delay times - s->tempo *= 0.999999; + s->tempo *= 1; double p = phasor(&s->phase, s->tempo); double modulation = 10 * cos(twopi * p); double modulation2 = 10 * sin(twopi * p);
diff @ 2016-04-23 22:13:29 +0100 diff --git a/src/go.c b/src/go.c index a3af8be..e74d086 100644 --- a/src/go.c +++ b/src/go.c @@ -32,13 +32,12 @@ int go(S *s, int channels, const float *in, float *out) { // trigger impulse on reload if (s->reloaded) { s->reloaded = 0; - s->tempo = 0.1; } double impulse[2] = { s->reloaded, s->reloaded }; // modulate delay times - s->tempo *= 1; + s->tempo *= 0.999999; double p = phasor(&s->phase, s->tempo); double modulation = 10 * cos(twopi * p); double modulation2 = 10 * sin(twopi * p);
diff @ 2016-04-23 22:13:39 +0100 diff --git a/src/go.c b/src/go.c index e74d086..649ec3b 100644 --- a/src/go.c +++ b/src/go.c @@ -37,7 +37,7 @@ int go(S *s, int channels, const float *in, float *out) { // modulate delay times - s->tempo *= 0.999999; + s->tempo *= 1.000001; double p = phasor(&s->phase, s->tempo); double modulation = 10 * cos(twopi * p); double modulation2 = 10 * sin(twopi * p);
diff @ 2016-04-23 22:13:51 +0100 diff --git a/src/go.c b/src/go.c index 649ec3b..f8cb611 100644 --- a/src/go.c +++ b/src/go.c @@ -93,7 +93,7 @@ int go(S *s, int channels, const float *in, float *out) { compressed[1] += samphold(&s->sh[1], bs, wrap(30 * b + 0.5)); int t = 65536 * p; - double a = bytebeat((2 + 2 * (p > 0.75)) * ("8030803101020205"[(t>>(9 + (t < 0xC000)))%(p < 0.5 ? 8 : 16)]-'0') * t); + double a = bytebeat((2 + 3 * (p > 0.75)) * ("8030803101020205"[(t>>(9 + (t < 0xC000)))%(p < 0.5 ? 8 : 16)]-'0') * t); compressed[0] += a*0.5; compressed[1] += a*0.5;
diff @ 2016-04-23 22:14:00 +0100 diff --git a/src/go.c b/src/go.c index f8cb611..18fd42b 100644 --- a/src/go.c +++ b/src/go.c @@ -86,7 +86,7 @@ int go(S *s, int channels, const float *in, float *out) { compressed[0] += k; compressed[1] += k; - double b = wrap((500 + 100 * p) * p); + double b = wrap((1500 + 200 * p) * p); double bs = 0.5 * sin(twopi * b + 10 * sin((12 + 20 * (wrap(4 * p) > 0.5)) * twopi * p) * sin((1 + 2 * wrap(8 * p) > 0.5) * twopi * b)); compressed[0] += samphold(&s->sh[0], bs, wrap(30 * b));
diff @ 2016-04-23 22:14:10 +0100 diff --git a/src/go.c b/src/go.c index 18fd42b..e95bcf0 100644 --- a/src/go.c +++ b/src/go.c @@ -95,8 +95,8 @@ int go(S *s, int channels, const float *in, float *out) { int t = 65536 * p; double a = bytebeat((2 + 3 * (p > 0.75)) * ("8030803101020205"[(t>>(9 + (t < 0xC000)))%(p < 0.5 ? 8 : 16)]-'0') * t); - compressed[0] += a*0.5; - compressed[1] += a*0.5; + compressed[0] += a*0.25; + compressed[1] += a*0.25; // compress mix down double mixdown[2] = { 0, 0 };
diff @ 2016-04-23 22:15:40 +0100 diff --git a/src/go.c b/src/go.c index e95bcf0..bb42398 100644 --- a/src/go.c +++ b/src/go.c @@ -95,8 +95,8 @@ int go(S *s, int channels, const float *in, float *out) { int t = 65536 * p; double a = bytebeat((2 + 3 * (p > 0.75)) * ("8030803101020205"[(t>>(9 + (t < 0xC000)))%(p < 0.5 ? 8 : 16)]-'0') * t); - compressed[0] += a*0.25; - compressed[1] += a*0.25; + compressed[0] = 0; + compressed[1] = 0; // compress mix down double mixdown[2] = { 0, 0 };
diff @ 2016-04-23 22:15:58 +0100 diff --git a/src/go.c b/src/go.c index bb42398..60eacb6 100644 --- a/src/go.c +++ b/src/go.c @@ -101,7 +101,7 @@ int go(S *s, int channels, const float *in, float *out) { // compress mix down double mixdown[2] = { 0, 0 }; compress(mixdown, &s->compress[1], 5, 10, 25, 36, compressed); - double volume = 1; + double volume = 0 mixdown[0] *= volume; mixdown[1] *= volume;
diff @ 2016-04-23 22:15:59 +0100 diff --git a/src/go.c b/src/go.c index 60eacb6..3b4f821 100644 --- a/src/go.c +++ b/src/go.c @@ -101,7 +101,7 @@ int go(S *s, int channels, const float *in, float *out) { // compress mix down double mixdown[2] = { 0, 0 }; compress(mixdown, &s->compress[1], 5, 10, 25, 36, compressed); - double volume = 0 + double volume = 0; mixdown[0] *= volume; mixdown[1] *= volume;