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-02-25 18:01:24 +0000 diff --git a/src/go.c b/src/go.c index 2ea76dd6..15659852 100644 --- a/src/go.c +++ b/src/go.c @@ -143,7 +143,7 @@ int go(S *s, int channels, const float *in, float *out) { int trigger = 0; if (s->reloaded) { s->reloaded = 0; - trigger = 1; + //trigger = 1; } double mixdown[2] = { 0, 0 };
diff @ 2017-02-25 18:01:50 +0000 diff --git a/src/go.c b/src/go.c index 15659852..085bd0a0 100644 --- a/src/go.c +++ b/src/go.c @@ -60,7 +60,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 200 + modulation) }; for (int c = 0; c < 2; ++c) { - double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 0, feedback[c]); + double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 0.1, feedback[c]); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, 0, down); feedback[c] = feedback[c] + down + up; } @@ -152,7 +152,7 @@ int go(S *s, int channels, const float *in, float *out) { part3(s, mixdown); compress(mixdown, &s->mixdown, 5, 10, 25, 48, mixdown); - double volume = 1; + double volume = 1.1; mixdown[0] *= volume; mixdown[1] *= volume; for (int c = 0; c < channels && c < 2; ++c) {
diff @ 2017-02-25 18:01:55 +0000 diff --git a/src/go.c b/src/go.c index 085bd0a0..5abc73de 100644 --- a/src/go.c +++ b/src/go.c @@ -152,7 +152,7 @@ int go(S *s, int channels, const float *in, float *out) { part3(s, mixdown); compress(mixdown, &s->mixdown, 5, 10, 25, 48, mixdown); - double volume = 1.1; + double volume = 1.2; mixdown[0] *= volume; mixdown[1] *= volume; for (int c = 0; c < channels && c < 2; ++c) {
diff @ 2017-02-25 18:02:01 +0000 diff --git a/src/go.c b/src/go.c index 5abc73de..c54d221e 100644 --- a/src/go.c +++ b/src/go.c @@ -152,7 +152,7 @@ int go(S *s, int channels, const float *in, float *out) { part3(s, mixdown); compress(mixdown, &s->mixdown, 5, 10, 25, 48, mixdown); - double volume = 1.2; + double volume = 1.4; mixdown[0] *= volume; mixdown[1] *= volume; for (int c = 0; c < channels && c < 2; ++c) {
diff @ 2017-02-25 18:02:08 +0000 diff --git a/src/go.c b/src/go.c index c54d221e..16adc15d 100644 --- a/src/go.c +++ b/src/go.c @@ -152,7 +152,7 @@ int go(S *s, int channels, const float *in, float *out) { part3(s, mixdown); compress(mixdown, &s->mixdown, 5, 10, 25, 48, mixdown); - double volume = 1.4; + double volume = 1.5; mixdown[0] *= volume; mixdown[1] *= volume; for (int c = 0; c < channels && c < 2; ++c) {
diff @ 2017-02-25 18:02:25 +0000 diff --git a/src/go.c b/src/go.c index 16adc15d..41a18684 100644 --- a/src/go.c +++ b/src/go.c @@ -152,7 +152,7 @@ int go(S *s, int channels, const float *in, float *out) { part3(s, mixdown); compress(mixdown, &s->mixdown, 5, 10, 25, 48, mixdown); - double volume = 1.5; + double volume = 1.6; mixdown[0] *= volume; mixdown[1] *= volume; for (int c = 0; c < channels && c < 2; ++c) {
diff @ 2017-02-25 18:02:35 +0000 diff --git a/src/go.c b/src/go.c index 41a18684..8750034c 100644 --- a/src/go.c +++ b/src/go.c @@ -60,7 +60,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 200 + modulation) }; for (int c = 0; c < 2; ++c) { - double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 0.1, feedback[c]); + double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 0.2, feedback[c]); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, 0, down); feedback[c] = feedback[c] + down + up; }
diff @ 2017-02-25 18:02:42 +0000 diff --git a/src/go.c b/src/go.c index 8750034c..71560371 100644 --- a/src/go.c +++ b/src/go.c @@ -60,7 +60,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 200 + modulation) }; for (int c = 0; c < 2; ++c) { - double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 0.2, feedback[c]); + double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 0.3, feedback[c]); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, 0, down); feedback[c] = feedback[c] + down + up; }
diff @ 2017-02-25 18:03:01 +0000 diff --git a/src/go.c b/src/go.c index 71560371..498f5a91 100644 --- a/src/go.c +++ b/src/go.c @@ -61,7 +61,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { }; for (int c = 0; c < 2; ++c) { double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 0.3, feedback[c]); - double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, 0, down); + double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -0.3, down); feedback[c] = feedback[c] + down + up; } double compressed[2] = { 0, 0 };
diff @ 2017-02-25 18:03:27 +0000 diff --git a/src/go.c b/src/go.c index 498f5a91..61d0cda6 100644 --- a/src/go.c +++ b/src/go.c @@ -60,7 +60,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 200 + modulation) }; for (int c = 0; c < 2; ++c) { - double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 0.3, feedback[c]); + double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 0.4, feedback[c]); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -0.3, down); feedback[c] = feedback[c] + down + up; }
diff @ 2017-02-25 18:03:47 +0000 diff --git a/src/go.c b/src/go.c index 61d0cda6..185da53f 100644 --- a/src/go.c +++ b/src/go.c @@ -152,7 +152,7 @@ int go(S *s, int channels, const float *in, float *out) { part3(s, mixdown); compress(mixdown, &s->mixdown, 5, 10, 25, 48, mixdown); - double volume = 1.6; + double volume = 1.2; mixdown[0] *= volume; mixdown[1] *= volume; for (int c = 0; c < channels && c < 2; ++c) {
diff @ 2017-02-25 18:03:51 +0000 diff --git a/src/go.c b/src/go.c index 185da53f..bdbddb22 100644 --- a/src/go.c +++ b/src/go.c @@ -152,7 +152,7 @@ int go(S *s, int channels, const float *in, float *out) { part3(s, mixdown); compress(mixdown, &s->mixdown, 5, 10, 25, 48, mixdown); - double volume = 1.2; + double volume = 1; mixdown[0] *= volume; mixdown[1] *= volume; for (int c = 0; c < channels && c < 2; ++c) {
diff @ 2017-02-25 18:04:08 +0000 diff --git a/src/go.c b/src/go.c index bdbddb22..47b57172 100644 --- a/src/go.c +++ b/src/go.c @@ -60,7 +60,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 200 + modulation) }; for (int c = 0; c < 2; ++c) { - double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 0.4, feedback[c]); + double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 0.5, feedback[c]); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -0.3, down); feedback[c] = feedback[c] + down + up; }
diff @ 2017-02-25 18:04:12 +0000 diff --git a/src/go.c b/src/go.c index 47b57172..6570556b 100644 --- a/src/go.c +++ b/src/go.c @@ -61,7 +61,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { }; for (int c = 0; c < 2; ++c) { double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 0.5, feedback[c]); - double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -0.3, down); + double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -0.4, down); feedback[c] = feedback[c] + down + up; } double compressed[2] = { 0, 0 };
diff @ 2017-02-25 18:04:22 +0000 diff --git a/src/go.c b/src/go.c index 6570556b..47b57172 100644 --- a/src/go.c +++ b/src/go.c @@ -61,7 +61,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { }; for (int c = 0; c < 2; ++c) { double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 0.5, feedback[c]); - double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -0.4, down); + double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -0.3, down); feedback[c] = feedback[c] + down + up; } double compressed[2] = { 0, 0 };
diff @ 2017-02-25 18:04:26 +0000 diff --git a/src/go.c b/src/go.c index 47b57172..cb91a4d1 100644 --- a/src/go.c +++ b/src/go.c @@ -61,7 +61,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { }; for (int c = 0; c < 2; ++c) { double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 0.5, feedback[c]); - double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -0.3, down); + double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -0.2, down); feedback[c] = feedback[c] + down + up; } double compressed[2] = { 0, 0 };
diff @ 2017-02-25 18:04:40 +0000 diff --git a/src/go.c b/src/go.c index cb91a4d1..b0714b56 100644 --- a/src/go.c +++ b/src/go.c @@ -70,7 +70,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { compressed[0] *= gain; compressed[1] *= gain; for (int c = 0; c < 2; ++c) { - so2echo(&so2->echo[c], 20, 500, tanh(compressed[c] + impulse[c])); + so2echo(&so2->echo[c], 20, 750, tanh(compressed[c] + impulse[c])); } mixdown[0] += compressed[0]; mixdown[1] += compressed[1];
diff @ 2017-02-25 18:04:50 +0000 diff --git a/src/go.c b/src/go.c index b0714b56..fb61dfb2 100644 --- a/src/go.c +++ b/src/go.c @@ -70,7 +70,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { compressed[0] *= gain; compressed[1] *= gain; for (int c = 0; c < 2; ++c) { - so2echo(&so2->echo[c], 20, 750, tanh(compressed[c] + impulse[c])); + so2echo(&so2->echo[c], 20, 1000, tanh(compressed[c] + impulse[c])); } mixdown[0] += compressed[0]; mixdown[1] += compressed[1];
diff @ 2017-02-25 18:05:04 +0000 diff --git a/src/go.c b/src/go.c index fb61dfb2..be3bfb46 100644 --- a/src/go.c +++ b/src/go.c @@ -61,7 +61,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { }; for (int c = 0; c < 2; ++c) { double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 0.5, feedback[c]); - double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -0.2, down); + double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -0.4, down); feedback[c] = feedback[c] + down + up; } double compressed[2] = { 0, 0 };
diff @ 2017-02-25 18:05:15 +0000 diff --git a/src/go.c b/src/go.c index be3bfb46..5630b9b6 100644 --- a/src/go.c +++ b/src/go.c @@ -61,7 +61,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { }; for (int c = 0; c < 2; ++c) { double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 0.5, feedback[c]); - double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -0.4, down); + double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -0.5, down); feedback[c] = feedback[c] + down + up; } double compressed[2] = { 0, 0 };
diff @ 2017-02-25 18:05:58 +0000 diff --git a/src/go.c b/src/go.c index 5630b9b6..09893058 100644 --- a/src/go.c +++ b/src/go.c @@ -60,7 +60,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 200 + modulation) }; for (int c = 0; c < 2; ++c) { - double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 0.5, feedback[c]); + double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 0.7, feedback[c]); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -0.5, down); feedback[c] = feedback[c] + down + up; }
diff @ 2017-02-25 18:06:06 +0000 diff --git a/src/go.c b/src/go.c index 09893058..449720d1 100644 --- a/src/go.c +++ b/src/go.c @@ -53,8 +53,8 @@ static inline void so2echo(SO2ECHO *s, double hiphz, double lophz, double x) { static inline void part1(S *s, double *mixdown, double trigger) { SO2 *so2 = &s->part1; double impulse[2] = { trigger, trigger }; - double p = phasor(&so2->phase, 0.001); - double modulation = 100 * cos(twopi * p); + double p = phasor(&so2->phase, 0.01); + double modulation = 10 * cos(twopi * p); double feedback[2] = { delread4(&so2->echo[1].del, 200 - modulation) , delread4(&so2->echo[0].del, 200 + modulation)
diff @ 2017-02-25 18:06:15 +0000 diff --git a/src/go.c b/src/go.c index 449720d1..d3eaf590 100644 --- a/src/go.c +++ b/src/go.c @@ -60,7 +60,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 200 + modulation) }; for (int c = 0; c < 2; ++c) { - double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 0.7, feedback[c]); + double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 0.8, feedback[c]); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -0.5, down); feedback[c] = feedback[c] + down + up; }
diff @ 2017-02-25 18:06:32 +0000 diff --git a/src/go.c b/src/go.c index d3eaf590..ea5ebe99 100644 --- a/src/go.c +++ b/src/go.c @@ -60,7 +60,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 200 + modulation) }; for (int c = 0; c < 2; ++c) { - double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 0.8, feedback[c]); + double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 0.9, feedback[c]); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -0.5, down); feedback[c] = feedback[c] + down + up; }
diff @ 2017-02-25 18:06:41 +0000 diff --git a/src/go.c b/src/go.c index ea5ebe99..1efc4960 100644 --- a/src/go.c +++ b/src/go.c @@ -61,7 +61,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { }; for (int c = 0; c < 2; ++c) { double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 0.9, feedback[c]); - double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -0.5, down); + double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -1.0, down); feedback[c] = feedback[c] + down + up; } double compressed[2] = { 0, 0 };
diff @ 2017-02-25 18:07:01 +0000 diff --git a/src/go.c b/src/go.c index 1efc4960..f76fc14e 100644 --- a/src/go.c +++ b/src/go.c @@ -60,7 +60,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 200 + modulation) }; for (int c = 0; c < 2; ++c) { - double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 0.9, feedback[c]); + double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 1.1, feedback[c]); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -1.0, down); feedback[c] = feedback[c] + down + up; }
diff @ 2017-02-25 18:07:09 +0000 diff --git a/src/go.c b/src/go.c index f76fc14e..9e6fc32f 100644 --- a/src/go.c +++ b/src/go.c @@ -61,7 +61,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { }; for (int c = 0; c < 2; ++c) { double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 1.1, feedback[c]); - double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -1.0, down); + double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -1.2, down); feedback[c] = feedback[c] + down + up; } double compressed[2] = { 0, 0 };
diff @ 2017-02-25 18:07:23 +0000 diff --git a/src/go.c b/src/go.c index 9e6fc32f..96820171 100644 --- a/src/go.c +++ b/src/go.c @@ -60,7 +60,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 200 + modulation) }; for (int c = 0; c < 2; ++c) { - double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 1.1, feedback[c]); + double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 1.5, feedback[c]); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -1.2, down); feedback[c] = feedback[c] + down + up; }
diff @ 2017-02-25 18:07:30 +0000 diff --git a/src/go.c b/src/go.c index 96820171..762ac6f0 100644 --- a/src/go.c +++ b/src/go.c @@ -61,7 +61,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { }; for (int c = 0; c < 2; ++c) { double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 1.5, feedback[c]); - double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -1.2, down); + double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -1.5, down); feedback[c] = feedback[c] + down + up; } double compressed[2] = { 0, 0 };
diff @ 2017-02-25 18:07:55 +0000 diff --git a/src/go.c b/src/go.c index 762ac6f0..8071150e 100644 --- a/src/go.c +++ b/src/go.c @@ -62,7 +62,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { for (int c = 0; c < 2; ++c) { double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 1.5, feedback[c]); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -1.5, down); - feedback[c] = feedback[c] + down + up; + feedback[c] = feedback[c] + down - up; } double compressed[2] = { 0, 0 }; compress(compressed, &so2->compress[0], 5, 10, 25, 48, feedback);
diff @ 2017-02-25 18:08:07 +0000 diff --git a/src/go.c b/src/go.c index 8071150e..01b3d974 100644 --- a/src/go.c +++ b/src/go.c @@ -60,7 +60,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 200 + modulation) }; for (int c = 0; c < 2; ++c) { - double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 1.5, feedback[c]); + double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 1.7, feedback[c]); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -1.5, down); feedback[c] = feedback[c] + down - up; }
diff @ 2017-02-25 18:08:14 +0000 diff --git a/src/go.c b/src/go.c index 01b3d974..a490f879 100644 --- a/src/go.c +++ b/src/go.c @@ -61,7 +61,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { }; for (int c = 0; c < 2; ++c) { double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 1.7, feedback[c]); - double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -1.5, down); + double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -1.7, down); feedback[c] = feedback[c] + down - up; } double compressed[2] = { 0, 0 };
diff @ 2017-02-25 18:08:32 +0000 diff --git a/src/go.c b/src/go.c index a490f879..0425256e 100644 --- a/src/go.c +++ b/src/go.c @@ -60,7 +60,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 200 + modulation) }; for (int c = 0; c < 2; ++c) { - double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 1.7, feedback[c]); + double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 1.8, feedback[c]); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -1.7, down); feedback[c] = feedback[c] + down - up; }
diff @ 2017-02-25 18:08:47 +0000 diff --git a/src/go.c b/src/go.c index 0425256e..3c042712 100644 --- a/src/go.c +++ b/src/go.c @@ -60,7 +60,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 200 + modulation) }; for (int c = 0; c < 2; ++c) { - double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 1.8, feedback[c]); + double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 1.9, feedback[c]); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -1.7, down); feedback[c] = feedback[c] + down - up; }
diff @ 2017-02-25 18:08:58 +0000 diff --git a/src/go.c b/src/go.c index 3c042712..b58bc5c3 100644 --- a/src/go.c +++ b/src/go.c @@ -60,7 +60,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 200 + modulation) }; for (int c = 0; c < 2; ++c) { - double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 1.9, feedback[c]); + double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 2, feedback[c]); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -1.7, down); feedback[c] = feedback[c] + down - up; }
diff @ 2017-02-25 18:09:10 +0000 diff --git a/src/go.c b/src/go.c index b58bc5c3..1a6a3cea 100644 --- a/src/go.c +++ b/src/go.c @@ -70,7 +70,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { compressed[0] *= gain; compressed[1] *= gain; for (int c = 0; c < 2; ++c) { - so2echo(&so2->echo[c], 20, 1000, tanh(compressed[c] + impulse[c])); + so2echo(&so2->echo[c], 20, 1500, tanh(compressed[c] + impulse[c])); } mixdown[0] += compressed[0]; mixdown[1] += compressed[1];
diff @ 2017-02-25 18:09:22 +0000 diff --git a/src/go.c b/src/go.c index 1a6a3cea..efa7ade5 100644 --- a/src/go.c +++ b/src/go.c @@ -61,7 +61,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { }; for (int c = 0; c < 2; ++c) { double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 2, feedback[c]); - double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -1.7, down); + double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -2, down); feedback[c] = feedback[c] + down - up; } double compressed[2] = { 0, 0 };
diff @ 2017-02-25 18:09:42 +0000 diff --git a/src/go.c b/src/go.c index efa7ade5..2af511ac 100644 --- a/src/go.c +++ b/src/go.c @@ -70,7 +70,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { compressed[0] *= gain; compressed[1] *= gain; for (int c = 0; c < 2; ++c) { - so2echo(&so2->echo[c], 20, 1500, tanh(compressed[c] + impulse[c])); + so2echo(&so2->echo[c], 20, 2000, tanh(compressed[c] + impulse[c])); } mixdown[0] += compressed[0]; mixdown[1] += compressed[1];
diff @ 2017-02-25 18:10:04 +0000 diff --git a/src/go.c b/src/go.c index 2af511ac..ecf35641 100644 --- a/src/go.c +++ b/src/go.c @@ -61,7 +61,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { }; for (int c = 0; c < 2; ++c) { double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 2, feedback[c]); - double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -2, down); + double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -2.1, down); feedback[c] = feedback[c] + down - up; } double compressed[2] = { 0, 0 };
diff @ 2017-02-25 18:10:29 +0000 diff --git a/src/go.c b/src/go.c index ecf35641..5ed17741 100644 --- a/src/go.c +++ b/src/go.c @@ -60,7 +60,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 200 + modulation) }; for (int c = 0; c < 2; ++c) { - double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 2, feedback[c]); + double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 2.1, feedback[c]); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -2.1, down); feedback[c] = feedback[c] + down - up; }
diff @ 2017-02-25 18:10:36 +0000 diff --git a/src/go.c b/src/go.c index 5ed17741..052e07b4 100644 --- a/src/go.c +++ b/src/go.c @@ -61,7 +61,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { }; for (int c = 0; c < 2; ++c) { double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 2.1, feedback[c]); - double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -2.1, down); + double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -2.2, down); feedback[c] = feedback[c] + down - up; } double compressed[2] = { 0, 0 };
diff @ 2017-02-25 18:10:51 +0000 diff --git a/src/go.c b/src/go.c index 052e07b4..015146ca 100644 --- a/src/go.c +++ b/src/go.c @@ -60,7 +60,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 200 + modulation) }; for (int c = 0; c < 2; ++c) { - double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 2.1, feedback[c]); + double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 2.2, feedback[c]); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -2.2, down); feedback[c] = feedback[c] + down - up; }
diff @ 2017-02-25 18:11:00 +0000 diff --git a/src/go.c b/src/go.c index 015146ca..d41de3ed 100644 --- a/src/go.c +++ b/src/go.c @@ -61,7 +61,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { }; for (int c = 0; c < 2; ++c) { double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 2.2, feedback[c]); - double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -2.2, down); + double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -2.4, down); feedback[c] = feedback[c] + down - up; } double compressed[2] = { 0, 0 };
diff @ 2017-02-25 18:11:20 +0000 diff --git a/src/go.c b/src/go.c index d41de3ed..caa2eca0 100644 --- a/src/go.c +++ b/src/go.c @@ -60,7 +60,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 200 + modulation) }; for (int c = 0; c < 2; ++c) { - double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 2.2, feedback[c]); + double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 2.4, feedback[c]); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -2.4, down); feedback[c] = feedback[c] + down - up; }
diff @ 2017-02-25 18:11:28 +0000 diff --git a/src/go.c b/src/go.c index caa2eca0..dad4182a 100644 --- a/src/go.c +++ b/src/go.c @@ -60,7 +60,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 200 + modulation) }; for (int c = 0; c < 2; ++c) { - double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 2.4, feedback[c]); + double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 2.5, feedback[c]); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -2.4, down); feedback[c] = feedback[c] + down - up; }
diff @ 2017-02-25 18:11:43 +0000 diff --git a/src/go.c b/src/go.c index dad4182a..cf7ad06a 100644 --- a/src/go.c +++ b/src/go.c @@ -60,7 +60,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 200 + modulation) }; for (int c = 0; c < 2; ++c) { - double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 2.5, feedback[c]); + double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 2.6, feedback[c]); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -2.4, down); feedback[c] = feedback[c] + down - up; }
diff @ 2017-02-25 18:11:57 +0000 diff --git a/src/go.c b/src/go.c index cf7ad06a..6bdcfb71 100644 --- a/src/go.c +++ b/src/go.c @@ -60,7 +60,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 200 + modulation) }; for (int c = 0; c < 2; ++c) { - double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 2.6, feedback[c]); + double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 2.7, feedback[c]); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -2.4, down); feedback[c] = feedback[c] + down - up; }
diff @ 2017-02-25 18:12:14 +0000 diff --git a/src/go.c b/src/go.c index 6bdcfb71..733ca943 100644 --- a/src/go.c +++ b/src/go.c @@ -61,7 +61,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { }; for (int c = 0; c < 2; ++c) { double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 2.7, feedback[c]); - double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -2.4, down); + double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -2.7, down); feedback[c] = feedback[c] + down - up; } double compressed[2] = { 0, 0 };
diff @ 2017-02-25 18:12:25 +0000 diff --git a/src/go.c b/src/go.c index 733ca943..fd053a7f 100644 --- a/src/go.c +++ b/src/go.c @@ -60,7 +60,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 200 + modulation) }; for (int c = 0; c < 2; ++c) { - double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 2.7, feedback[c]); + double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 2.8, feedback[c]); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -2.7, down); feedback[c] = feedback[c] + down - up; } @@ -70,7 +70,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { compressed[0] *= gain; compressed[1] *= gain; for (int c = 0; c < 2; ++c) { - so2echo(&so2->echo[c], 20, 2000, tanh(compressed[c] + impulse[c])); + so2echo(&so2->echo[c], 20, 3000, tanh(compressed[c] + impulse[c])); } mixdown[0] += compressed[0]; mixdown[1] += compressed[1];
diff @ 2017-02-25 18:12:38 +0000 diff --git a/src/go.c b/src/go.c index fd053a7f..8539de69 100644 --- a/src/go.c +++ b/src/go.c @@ -60,7 +60,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 200 + modulation) }; for (int c = 0; c < 2; ++c) { - double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 2.8, feedback[c]); + double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 2.9, feedback[c]); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -2.7, down); feedback[c] = feedback[c] + down - up; }
diff @ 2017-02-25 18:13:17 +0000 diff --git a/src/go.c b/src/go.c index 8539de69..442b8586 100644 --- a/src/go.c +++ b/src/go.c @@ -42,6 +42,7 @@ typedef struct { PNK part2; FLY part3; // add data here + BIQUAD lop[2]; } S; @@ -60,7 +61,8 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 200 + modulation) }; for (int c = 0; c < 2; ++c) { - double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 2.9, feedback[c]); + double in = feedback[c]; + double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 2.8, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -2.7, down); feedback[c] = feedback[c] + down - up; }
diff @ 2017-02-25 18:13:54 +0000 diff --git a/src/go.c b/src/go.c index 442b8586..ca31e5ce 100644 --- a/src/go.c +++ b/src/go.c @@ -61,7 +61,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 200 + modulation) }; for (int c = 0; c < 2; ++c) { - double in = feedback[c]; + double in = biquad(lowpass(&s->lop[c], 200, flatq), feedback[c]); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 2.8, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -2.7, down); feedback[c] = feedback[c] + down - up;
diff @ 2017-02-25 18:14:00 +0000 diff --git a/src/go.c b/src/go.c index ca31e5ce..28cd031b 100644 --- a/src/go.c +++ b/src/go.c @@ -61,7 +61,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 200 + modulation) }; for (int c = 0; c < 2; ++c) { - double in = biquad(lowpass(&s->lop[c], 200, flatq), feedback[c]); + double in = biquad(lowpass(&s->lop[c], 200, flatq + 1), feedback[c]); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 2.8, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -2.7, down); feedback[c] = feedback[c] + down - up;
diff @ 2017-02-25 18:14:06 +0000 diff --git a/src/go.c b/src/go.c index 28cd031b..e99c807d 100644 --- a/src/go.c +++ b/src/go.c @@ -62,7 +62,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { }; for (int c = 0; c < 2; ++c) { double in = biquad(lowpass(&s->lop[c], 200, flatq + 1), feedback[c]); - double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 2.8, in); + double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 3, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -2.7, down); feedback[c] = feedback[c] + down - up; }
diff @ 2017-02-25 18:14:12 +0000 diff --git a/src/go.c b/src/go.c index e99c807d..02e6b4fc 100644 --- a/src/go.c +++ b/src/go.c @@ -63,7 +63,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { for (int c = 0; c < 2; ++c) { double in = biquad(lowpass(&s->lop[c], 200, flatq + 1), feedback[c]); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 3, in); - double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -2.7, down); + double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -2.9, down); feedback[c] = feedback[c] + down - up; } double compressed[2] = { 0, 0 };
diff @ 2017-02-25 18:14:17 +0000 diff --git a/src/go.c b/src/go.c index 02e6b4fc..41c8b308 100644 --- a/src/go.c +++ b/src/go.c @@ -61,7 +61,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 200 + modulation) }; for (int c = 0; c < 2; ++c) { - double in = biquad(lowpass(&s->lop[c], 200, flatq + 1), feedback[c]); + double in = biquad(lowpass(&s->lop[c], 200, flatq + 2), feedback[c]); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 3, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -2.9, down); feedback[c] = feedback[c] + down - up;
diff @ 2017-02-25 18:14:26 +0000 diff --git a/src/go.c b/src/go.c index 41c8b308..a7ab9ea4 100644 --- a/src/go.c +++ b/src/go.c @@ -61,7 +61,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 200 + modulation) }; for (int c = 0; c < 2; ++c) { - double in = biquad(lowpass(&s->lop[c], 200, flatq + 2), feedback[c]); + double in = biquad(lowpass(&s->lop[c], 200, flatq + 3), feedback[c]); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 3, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -2.9, down); feedback[c] = feedback[c] + down - up;
diff @ 2017-02-25 18:14:30 +0000 diff --git a/src/go.c b/src/go.c index a7ab9ea4..b862e13c 100644 --- a/src/go.c +++ b/src/go.c @@ -61,7 +61,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 200 + modulation) }; for (int c = 0; c < 2; ++c) { - double in = biquad(lowpass(&s->lop[c], 200, flatq + 3), feedback[c]); + double in = biquad(lowpass(&s->lop[c], 200, flatq + 4), feedback[c]); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 3, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -2.9, down); feedback[c] = feedback[c] + down - up;
diff @ 2017-02-25 18:14:36 +0000 diff --git a/src/go.c b/src/go.c index b862e13c..f0d5f8de 100644 --- a/src/go.c +++ b/src/go.c @@ -63,7 +63,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { for (int c = 0; c < 2; ++c) { double in = biquad(lowpass(&s->lop[c], 200, flatq + 4), feedback[c]); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 3, in); - double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -2.9, down); + double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -3, down); feedback[c] = feedback[c] + down - up; } double compressed[2] = { 0, 0 };
diff @ 2017-02-25 18:14:51 +0000 diff --git a/src/go.c b/src/go.c index f0d5f8de..50cb733c 100644 --- a/src/go.c +++ b/src/go.c @@ -61,10 +61,10 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 200 + modulation) }; for (int c = 0; c < 2; ++c) { - double in = biquad(lowpass(&s->lop[c], 200, flatq + 4), feedback[c]); + double in = biquad(lowpass(&s->lop[c], 200, flatq + 5), feedback[c]); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 3, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -3, down); - feedback[c] = feedback[c] + down - up; + feedback[c] = sin(feedback[c] + down - up); } double compressed[2] = { 0, 0 }; compress(compressed, &so2->compress[0], 5, 10, 25, 48, feedback);
diff @ 2017-02-25 18:15:02 +0000 diff --git a/src/go.c b/src/go.c index 50cb733c..49d8308f 100644 --- a/src/go.c +++ b/src/go.c @@ -61,7 +61,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 200 + modulation) }; for (int c = 0; c < 2; ++c) { - double in = biquad(lowpass(&s->lop[c], 200, flatq + 5), feedback[c]); + double in = biquad(lowpass(&s->lop[c], 200, flatq + 6), feedback[c]); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 3, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -3, down); feedback[c] = sin(feedback[c] + down - up);
diff @ 2017-02-25 18:15:07 +0000 diff --git a/src/go.c b/src/go.c index 49d8308f..0e8afb7d 100644 --- a/src/go.c +++ b/src/go.c @@ -61,7 +61,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 200 + modulation) }; for (int c = 0; c < 2; ++c) { - double in = biquad(lowpass(&s->lop[c], 200, flatq + 6), feedback[c]); + double in = biquad(lowpass(&s->lop[c], 200, flatq + 8), feedback[c]); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 3, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -3, down); feedback[c] = sin(feedback[c] + down - up);
diff @ 2017-02-25 18:15:10 +0000 diff --git a/src/go.c b/src/go.c index 0e8afb7d..96aa5a69 100644 --- a/src/go.c +++ b/src/go.c @@ -61,7 +61,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 200 + modulation) }; for (int c = 0; c < 2; ++c) { - double in = biquad(lowpass(&s->lop[c], 200, flatq + 8), feedback[c]); + double in = biquad(lowpass(&s->lop[c], 200, flatq + 9), feedback[c]); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 3, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -3, down); feedback[c] = sin(feedback[c] + down - up);
diff @ 2017-02-25 18:15:12 +0000 diff --git a/src/go.c b/src/go.c index 96aa5a69..d478661f 100644 --- a/src/go.c +++ b/src/go.c @@ -61,7 +61,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 200 + modulation) }; for (int c = 0; c < 2; ++c) { - double in = biquad(lowpass(&s->lop[c], 200, flatq + 9), feedback[c]); + double in = biquad(lowpass(&s->lop[c], 200, flatq + 10), feedback[c]); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 3, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -3, down); feedback[c] = sin(feedback[c] + down - up);
diff @ 2017-02-25 18:15:37 +0000 diff --git a/src/go.c b/src/go.c index d478661f..52924382 100644 --- a/src/go.c +++ b/src/go.c @@ -154,7 +154,7 @@ int go(S *s, int channels, const float *in, float *out) { part3(s, mixdown); compress(mixdown, &s->mixdown, 5, 10, 25, 48, mixdown); - double volume = 1; + double volume = 1.1; mixdown[0] *= volume; mixdown[1] *= volume; for (int c = 0; c < channels && c < 2; ++c) {
diff @ 2017-02-25 18:15:44 +0000 diff --git a/src/go.c b/src/go.c index 52924382..cd8c1fe4 100644 --- a/src/go.c +++ b/src/go.c @@ -154,7 +154,7 @@ int go(S *s, int channels, const float *in, float *out) { part3(s, mixdown); compress(mixdown, &s->mixdown, 5, 10, 25, 48, mixdown); - double volume = 1.1; + double volume = 1.2; mixdown[0] *= volume; mixdown[1] *= volume; for (int c = 0; c < channels && c < 2; ++c) {
diff @ 2017-02-25 18:15:46 +0000 diff --git a/src/go.c b/src/go.c index cd8c1fe4..78f049e7 100644 --- a/src/go.c +++ b/src/go.c @@ -154,7 +154,7 @@ int go(S *s, int channels, const float *in, float *out) { part3(s, mixdown); compress(mixdown, &s->mixdown, 5, 10, 25, 48, mixdown); - double volume = 1.2; + double volume = 1.3; mixdown[0] *= volume; mixdown[1] *= volume; for (int c = 0; c < channels && c < 2; ++c) {
diff @ 2017-02-25 18:15:49 +0000 diff --git a/src/go.c b/src/go.c index 78f049e7..86ecc414 100644 --- a/src/go.c +++ b/src/go.c @@ -154,7 +154,7 @@ int go(S *s, int channels, const float *in, float *out) { part3(s, mixdown); compress(mixdown, &s->mixdown, 5, 10, 25, 48, mixdown); - double volume = 1.3; + double volume = 1.4; mixdown[0] *= volume; mixdown[1] *= volume; for (int c = 0; c < channels && c < 2; ++c) {
diff @ 2017-02-25 18:15:56 +0000 diff --git a/src/go.c b/src/go.c index 86ecc414..299add54 100644 --- a/src/go.c +++ b/src/go.c @@ -154,7 +154,7 @@ int go(S *s, int channels, const float *in, float *out) { part3(s, mixdown); compress(mixdown, &s->mixdown, 5, 10, 25, 48, mixdown); - double volume = 1.4; + double volume = 1.5; mixdown[0] *= volume; mixdown[1] *= volume; for (int c = 0; c < channels && c < 2; ++c) {
diff @ 2017-02-25 18:16:11 +0000 diff --git a/src/go.c b/src/go.c index 299add54..4dd0ca10 100644 --- a/src/go.c +++ b/src/go.c @@ -62,7 +62,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { }; for (int c = 0; c < 2; ++c) { double in = biquad(lowpass(&s->lop[c], 200, flatq + 10), feedback[c]); - double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 3, in); + double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 3.1, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -3, down); feedback[c] = sin(feedback[c] + down - up); }
diff @ 2017-02-25 18:16:24 +0000 diff --git a/src/go.c b/src/go.c index 4dd0ca10..ad40d4c0 100644 --- a/src/go.c +++ b/src/go.c @@ -64,7 +64,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { double in = biquad(lowpass(&s->lop[c], 200, flatq + 10), feedback[c]); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 3.1, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -3, down); - feedback[c] = sin(feedback[c] + down - up); + feedback[c] = sin(1.1 * (feedback[c] + down - up)); } double compressed[2] = { 0, 0 }; compress(compressed, &so2->compress[0], 5, 10, 25, 48, feedback);
diff @ 2017-02-25 18:16:31 +0000 diff --git a/src/go.c b/src/go.c index ad40d4c0..4850a575 100644 --- a/src/go.c +++ b/src/go.c @@ -62,7 +62,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { }; for (int c = 0; c < 2; ++c) { double in = biquad(lowpass(&s->lop[c], 200, flatq + 10), feedback[c]); - double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 3.1, in); + double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 3.2, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -3, down); feedback[c] = sin(1.1 * (feedback[c] + down - up)); }
diff @ 2017-02-25 18:16:41 +0000 diff --git a/src/go.c b/src/go.c index 4850a575..7b2d1e94 100644 --- a/src/go.c +++ b/src/go.c @@ -62,7 +62,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { }; for (int c = 0; c < 2; ++c) { double in = biquad(lowpass(&s->lop[c], 200, flatq + 10), feedback[c]); - double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 3.2, in); + double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 3.3, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -3, down); feedback[c] = sin(1.1 * (feedback[c] + down - up)); }
diff @ 2017-02-25 18:16:48 +0000 diff --git a/src/go.c b/src/go.c index 7b2d1e94..2f12bb11 100644 --- a/src/go.c +++ b/src/go.c @@ -62,7 +62,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { }; for (int c = 0; c < 2; ++c) { double in = biquad(lowpass(&s->lop[c], 200, flatq + 10), feedback[c]); - double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 3.3, in); + double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 3.4, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -3, down); feedback[c] = sin(1.1 * (feedback[c] + down - up)); }
diff @ 2017-02-25 18:16:54 +0000 diff --git a/src/go.c b/src/go.c index 2f12bb11..38913517 100644 --- a/src/go.c +++ b/src/go.c @@ -64,7 +64,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { double in = biquad(lowpass(&s->lop[c], 200, flatq + 10), feedback[c]); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 3.4, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -3, down); - feedback[c] = sin(1.1 * (feedback[c] + down - up)); + feedback[c] = sin(1.2 * (feedback[c] + down - up)); } double compressed[2] = { 0, 0 }; compress(compressed, &so2->compress[0], 5, 10, 25, 48, feedback);
diff @ 2017-02-25 18:16:58 +0000 diff --git a/src/go.c b/src/go.c index 38913517..f4975c8e 100644 --- a/src/go.c +++ b/src/go.c @@ -64,7 +64,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { double in = biquad(lowpass(&s->lop[c], 200, flatq + 10), feedback[c]); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 3.4, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -3, down); - feedback[c] = sin(1.2 * (feedback[c] + down - up)); + feedback[c] = sin(1.3 * (feedback[c] + down - up)); } double compressed[2] = { 0, 0 }; compress(compressed, &so2->compress[0], 5, 10, 25, 48, feedback);
diff @ 2017-02-25 18:17:02 +0000 diff --git a/src/go.c b/src/go.c index f4975c8e..814db021 100644 --- a/src/go.c +++ b/src/go.c @@ -64,7 +64,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { double in = biquad(lowpass(&s->lop[c], 200, flatq + 10), feedback[c]); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 3.4, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -3, down); - feedback[c] = sin(1.3 * (feedback[c] + down - up)); + feedback[c] = sin(1.4 * (feedback[c] + down - up)); } double compressed[2] = { 0, 0 }; compress(compressed, &so2->compress[0], 5, 10, 25, 48, feedback);
diff @ 2017-02-25 18:17:07 +0000 diff --git a/src/go.c b/src/go.c index 814db021..eafbe88b 100644 --- a/src/go.c +++ b/src/go.c @@ -64,7 +64,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { double in = biquad(lowpass(&s->lop[c], 200, flatq + 10), feedback[c]); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 3.4, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -3, down); - feedback[c] = sin(1.4 * (feedback[c] + down - up)); + feedback[c] = sin(1.5 * (feedback[c] + down - up)); } double compressed[2] = { 0, 0 }; compress(compressed, &so2->compress[0], 5, 10, 25, 48, feedback);
diff @ 2017-02-25 18:17:13 +0000 diff --git a/src/go.c b/src/go.c index eafbe88b..2e76729f 100644 --- a/src/go.c +++ b/src/go.c @@ -62,7 +62,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { }; for (int c = 0; c < 2; ++c) { double in = biquad(lowpass(&s->lop[c], 200, flatq + 10), feedback[c]); - double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 3.4, in); + double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 3.5, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -3, down); feedback[c] = sin(1.5 * (feedback[c] + down - up)); }
diff @ 2017-02-25 18:17:20 +0000 diff --git a/src/go.c b/src/go.c index 2e76729f..26f7acc0 100644 --- a/src/go.c +++ b/src/go.c @@ -62,7 +62,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { }; for (int c = 0; c < 2; ++c) { double in = biquad(lowpass(&s->lop[c], 200, flatq + 10), feedback[c]); - double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 3.5, in); + double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 3.6, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -3, down); feedback[c] = sin(1.5 * (feedback[c] + down - up)); }
diff @ 2017-02-25 18:17:25 +0000 diff --git a/src/go.c b/src/go.c index 26f7acc0..dc8a8591 100644 --- a/src/go.c +++ b/src/go.c @@ -62,7 +62,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { }; for (int c = 0; c < 2; ++c) { double in = biquad(lowpass(&s->lop[c], 200, flatq + 10), feedback[c]); - double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 3.6, in); + double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 3.7, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -3, down); feedback[c] = sin(1.5 * (feedback[c] + down - up)); }
diff @ 2017-02-25 18:17:31 +0000 diff --git a/src/go.c b/src/go.c index dc8a8591..f5ec27b2 100644 --- a/src/go.c +++ b/src/go.c @@ -62,7 +62,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { }; for (int c = 0; c < 2; ++c) { double in = biquad(lowpass(&s->lop[c], 200, flatq + 10), feedback[c]); - double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 3.7, in); + double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 3.9, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -3, down); feedback[c] = sin(1.5 * (feedback[c] + down - up)); }
diff @ 2017-02-25 18:17:36 +0000 diff --git a/src/go.c b/src/go.c index f5ec27b2..ec0ff200 100644 --- a/src/go.c +++ b/src/go.c @@ -62,7 +62,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { }; for (int c = 0; c < 2; ++c) { double in = biquad(lowpass(&s->lop[c], 200, flatq + 10), feedback[c]); - double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 3.9, in); + double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 4, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -3, down); feedback[c] = sin(1.5 * (feedback[c] + down - up)); }
diff @ 2017-02-25 18:17:44 +0000 diff --git a/src/go.c b/src/go.c index ec0ff200..9d094e2b 100644 --- a/src/go.c +++ b/src/go.c @@ -64,7 +64,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { double in = biquad(lowpass(&s->lop[c], 200, flatq + 10), feedback[c]); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 4, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -3, down); - feedback[c] = sin(1.5 * (feedback[c] + down - up)); + feedback[c] = sin(1.6 * (feedback[c] + down - up)); } double compressed[2] = { 0, 0 }; compress(compressed, &so2->compress[0], 5, 10, 25, 48, feedback);
diff @ 2017-02-25 18:17:49 +0000 diff --git a/src/go.c b/src/go.c index 9d094e2b..37bfb126 100644 --- a/src/go.c +++ b/src/go.c @@ -64,7 +64,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { double in = biquad(lowpass(&s->lop[c], 200, flatq + 10), feedback[c]); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 4, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -3, down); - feedback[c] = sin(1.6 * (feedback[c] + down - up)); + feedback[c] = sin(1.7 * (feedback[c] + down - up)); } double compressed[2] = { 0, 0 }; compress(compressed, &so2->compress[0], 5, 10, 25, 48, feedback);
diff @ 2017-02-25 18:17:54 +0000 diff --git a/src/go.c b/src/go.c index 37bfb126..1af10f5b 100644 --- a/src/go.c +++ b/src/go.c @@ -64,7 +64,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { double in = biquad(lowpass(&s->lop[c], 200, flatq + 10), feedback[c]); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 4, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -3, down); - feedback[c] = sin(1.7 * (feedback[c] + down - up)); + feedback[c] = sin(1.8 * (feedback[c] + down - up)); } double compressed[2] = { 0, 0 }; compress(compressed, &so2->compress[0], 5, 10, 25, 48, feedback);
diff @ 2017-02-25 18:17:58 +0000 diff --git a/src/go.c b/src/go.c index 1af10f5b..6346ab01 100644 --- a/src/go.c +++ b/src/go.c @@ -64,7 +64,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { double in = biquad(lowpass(&s->lop[c], 200, flatq + 10), feedback[c]); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 4, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -3, down); - feedback[c] = sin(1.8 * (feedback[c] + down - up)); + feedback[c] = sin(1.9 * (feedback[c] + down - up)); } double compressed[2] = { 0, 0 }; compress(compressed, &so2->compress[0], 5, 10, 25, 48, feedback);
diff @ 2017-02-25 18:18:04 +0000 diff --git a/src/go.c b/src/go.c index 6346ab01..220703df 100644 --- a/src/go.c +++ b/src/go.c @@ -64,7 +64,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { double in = biquad(lowpass(&s->lop[c], 200, flatq + 10), feedback[c]); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 4, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -3, down); - feedback[c] = sin(1.9 * (feedback[c] + down - up)); + feedback[c] = sin(2 * (feedback[c] + down - up)); } double compressed[2] = { 0, 0 }; compress(compressed, &so2->compress[0], 5, 10, 25, 48, feedback);
diff @ 2017-02-25 18:18:13 +0000 diff --git a/src/go.c b/src/go.c index 220703df..9e41c4c5 100644 --- a/src/go.c +++ b/src/go.c @@ -63,7 +63,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { for (int c = 0; c < 2; ++c) { double in = biquad(lowpass(&s->lop[c], 200, flatq + 10), feedback[c]); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 4, in); - double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -3, down); + double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -4, down); feedback[c] = sin(2 * (feedback[c] + down - up)); } double compressed[2] = { 0, 0 };
diff @ 2017-02-25 18:18:32 +0000 diff --git a/src/go.c b/src/go.c index 9e41c4c5..e1db64ca 100644 --- a/src/go.c +++ b/src/go.c @@ -61,7 +61,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 200 + modulation) }; for (int c = 0; c < 2; ++c) { - double in = biquad(lowpass(&s->lop[c], 200, flatq + 10), feedback[c]); + double in = biquad(lowpass(&s->lop[c], 200, flatq + 5), feedback[c]); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 4, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -4, down); feedback[c] = sin(2 * (feedback[c] + down - up));
diff @ 2017-02-25 18:18:37 +0000 diff --git a/src/go.c b/src/go.c index e1db64ca..05f02c0e 100644 --- a/src/go.c +++ b/src/go.c @@ -61,7 +61,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 200 + modulation) }; for (int c = 0; c < 2; ++c) { - double in = biquad(lowpass(&s->lop[c], 200, flatq + 5), feedback[c]); + double in = biquad(lowpass(&s->lop[c], 200, flatq + 15), feedback[c]); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 4, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -4, down); feedback[c] = sin(2 * (feedback[c] + down - up));
diff @ 2017-02-25 18:18:41 +0000 diff --git a/src/go.c b/src/go.c index 05f02c0e..f67ea2e2 100644 --- a/src/go.c +++ b/src/go.c @@ -61,7 +61,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 200 + modulation) }; for (int c = 0; c < 2; ++c) { - double in = biquad(lowpass(&s->lop[c], 200, flatq + 15), feedback[c]); + double in = biquad(lowpass(&s->lop[c], 200, flatq + 12), feedback[c]); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 4, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -4, down); feedback[c] = sin(2 * (feedback[c] + down - up));
diff @ 2017-02-25 18:19:21 +0000 diff --git a/src/go.c b/src/go.c index f67ea2e2..8387ca32 100644 --- a/src/go.c +++ b/src/go.c @@ -43,6 +43,7 @@ typedef struct { FLY part3; // add data here BIQUAD lop[2]; + BIQUAD hip[2]; } S; @@ -62,6 +63,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { }; for (int c = 0; c < 2; ++c) { double in = biquad(lowpass(&s->lop[c], 200, flatq + 12), feedback[c]); + in = biquad(highpass(&s->hip[c], 100, flatq + 12), feedback[c]); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 4, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -4, down); feedback[c] = sin(2 * (feedback[c] + down - up));
diff @ 2017-02-25 18:19:42 +0000 diff --git a/src/go.c b/src/go.c index 8387ca32..af7e00f4 100644 --- a/src/go.c +++ b/src/go.c @@ -63,7 +63,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { }; for (int c = 0; c < 2; ++c) { double in = biquad(lowpass(&s->lop[c], 200, flatq + 12), feedback[c]); - in = biquad(highpass(&s->hip[c], 100, flatq + 12), feedback[c]); + in = biquad(highpass(&s->hip[c], 100, flatq + 12), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 4, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -4, down); feedback[c] = sin(2 * (feedback[c] + down - up));
diff @ 2017-02-25 18:19:58 +0000 diff --git a/src/go.c b/src/go.c index af7e00f4..04397f34 100644 --- a/src/go.c +++ b/src/go.c @@ -64,8 +64,8 @@ static inline void part1(S *s, double *mixdown, double trigger) { for (int c = 0; c < 2; ++c) { double in = biquad(lowpass(&s->lop[c], 200, flatq + 12), feedback[c]); in = biquad(highpass(&s->hip[c], 100, flatq + 12), in); - double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 4, in); - double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -4, down); + double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 5, in); + double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -5, down); feedback[c] = sin(2 * (feedback[c] + down - up)); } double compressed[2] = { 0, 0 };
diff @ 2017-02-25 18:20:04 +0000 diff --git a/src/go.c b/src/go.c index 04397f34..b159861f 100644 --- a/src/go.c +++ b/src/go.c @@ -64,8 +64,8 @@ static inline void part1(S *s, double *mixdown, double trigger) { for (int c = 0; c < 2; ++c) { double in = biquad(lowpass(&s->lop[c], 200, flatq + 12), feedback[c]); in = biquad(highpass(&s->hip[c], 100, flatq + 12), in); - double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 5, in); - double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -5, down); + double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 6, in); + double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -6, down); feedback[c] = sin(2 * (feedback[c] + down - up)); } double compressed[2] = { 0, 0 };
diff @ 2017-02-25 18:20:19 +0000 diff --git a/src/go.c b/src/go.c index b159861f..1da8cc07 100644 --- a/src/go.c +++ b/src/go.c @@ -64,8 +64,8 @@ static inline void part1(S *s, double *mixdown, double trigger) { for (int c = 0; c < 2; ++c) { double in = biquad(lowpass(&s->lop[c], 200, flatq + 12), feedback[c]); in = biquad(highpass(&s->hip[c], 100, flatq + 12), in); - double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 6, in); - double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -6, down); + double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 12, in); + double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -12, down); feedback[c] = sin(2 * (feedback[c] + down - up)); } double compressed[2] = { 0, 0 };
diff @ 2017-02-25 18:20:35 +0000 diff --git a/src/go.c b/src/go.c index 1da8cc07..bd2eda0b 100644 --- a/src/go.c +++ b/src/go.c @@ -65,7 +65,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { double in = biquad(lowpass(&s->lop[c], 200, flatq + 12), feedback[c]); in = biquad(highpass(&s->hip[c], 100, flatq + 12), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 12, in); - double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -12, down); + double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -19, down); feedback[c] = sin(2 * (feedback[c] + down - up)); } double compressed[2] = { 0, 0 };
diff @ 2017-02-25 18:20:49 +0000 diff --git a/src/go.c b/src/go.c index bd2eda0b..74446cbd 100644 --- a/src/go.c +++ b/src/go.c @@ -65,7 +65,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { double in = biquad(lowpass(&s->lop[c], 200, flatq + 12), feedback[c]); in = biquad(highpass(&s->hip[c], 100, flatq + 12), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 12, in); - double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -19, down); + double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -24, down); feedback[c] = sin(2 * (feedback[c] + down - up)); } double compressed[2] = { 0, 0 };
diff @ 2017-02-25 18:20:56 +0000 diff --git a/src/go.c b/src/go.c index 74446cbd..b231bad3 100644 --- a/src/go.c +++ b/src/go.c @@ -63,7 +63,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { }; for (int c = 0; c < 2; ++c) { double in = biquad(lowpass(&s->lop[c], 200, flatq + 12), feedback[c]); - in = biquad(highpass(&s->hip[c], 100, flatq + 12), in); + in = biquad(highpass(&s->hip[c], 50, flatq + 12), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 12, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -24, down); feedback[c] = sin(2 * (feedback[c] + down - up));
diff @ 2017-02-25 18:21:15 +0000 diff --git a/src/go.c b/src/go.c index b231bad3..2b6cdd79 100644 --- a/src/go.c +++ b/src/go.c @@ -62,7 +62,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 200 + modulation) }; for (int c = 0; c < 2; ++c) { - double in = biquad(lowpass(&s->lop[c], 200, flatq + 12), feedback[c]); + double in = biquad(lowpass(&s->lop[c], 200, flatq + 20), feedback[c]); in = biquad(highpass(&s->hip[c], 50, flatq + 12), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 12, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -24, down);
diff @ 2017-02-25 18:21:31 +0000 diff --git a/src/go.c b/src/go.c index 2b6cdd79..24780c94 100644 --- a/src/go.c +++ b/src/go.c @@ -66,7 +66,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { in = biquad(highpass(&s->hip[c], 50, flatq + 12), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 12, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -24, down); - feedback[c] = sin(2 * (feedback[c] + down - up)); + feedback[c] = sin(2.1 * (feedback[c] + down - up)); } double compressed[2] = { 0, 0 }; compress(compressed, &so2->compress[0], 5, 10, 25, 48, feedback);
diff @ 2017-02-25 18:21:39 +0000 diff --git a/src/go.c b/src/go.c index 24780c94..ac663aa0 100644 --- a/src/go.c +++ b/src/go.c @@ -66,7 +66,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { in = biquad(highpass(&s->hip[c], 50, flatq + 12), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 12, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -24, down); - feedback[c] = sin(2.1 * (feedback[c] + down - up)); + feedback[c] = sin(2.2 * (feedback[c] + down - up)); } double compressed[2] = { 0, 0 }; compress(compressed, &so2->compress[0], 5, 10, 25, 48, feedback);
diff @ 2017-02-25 18:22:26 +0000 diff --git a/src/go.c b/src/go.c index ac663aa0..135c9277 100644 --- a/src/go.c +++ b/src/go.c @@ -62,8 +62,8 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 200 + modulation) }; for (int c = 0; c < 2; ++c) { - double in = biquad(lowpass(&s->lop[c], 200, flatq + 20), feedback[c]); - in = biquad(highpass(&s->hip[c], 50, flatq + 12), in); + double in = biquad(lowpass(&s->lop[c], 200 * pow(2, sin(4 * twopi * p)), flatq + 20), feedback[c]); + in = biquad(highpass(&s->hip[c], 50 * pow(2, sin(4 * twopi * p)), flatq + 12), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 12, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -24, down); feedback[c] = sin(2.2 * (feedback[c] + down - up));
diff @ 2017-02-25 18:22:39 +0000 diff --git a/src/go.c b/src/go.c index 135c9277..912487f5 100644 --- a/src/go.c +++ b/src/go.c @@ -62,8 +62,8 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 200 + modulation) }; for (int c = 0; c < 2; ++c) { - double in = biquad(lowpass(&s->lop[c], 200 * pow(2, sin(4 * twopi * p)), flatq + 20), feedback[c]); - in = biquad(highpass(&s->hip[c], 50 * pow(2, sin(4 * twopi * p)), flatq + 12), in); + double in = biquad(lowpass(&s->lop[c], 200 * pow(2, sin(twopi * p)), flatq + 20), feedback[c]); + in = biquad(highpass(&s->hip[c], 50 * pow(2, sin(twopi * p)), flatq + 12), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 12, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -24, down); feedback[c] = sin(2.2 * (feedback[c] + down - up));
diff @ 2017-02-25 18:23:04 +0000 diff --git a/src/go.c b/src/go.c index 912487f5..23db104f 100644 --- a/src/go.c +++ b/src/go.c @@ -62,8 +62,8 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 200 + modulation) }; for (int c = 0; c < 2; ++c) { - double in = biquad(lowpass(&s->lop[c], 200 * pow(2, sin(twopi * p)), flatq + 20), feedback[c]); - in = biquad(highpass(&s->hip[c], 50 * pow(2, sin(twopi * p)), flatq + 12), in); + double in = biquad(lowpass(&s->lop[c], 400 * pow(2, sin(twopi * p)), flatq + 20), feedback[c]); + in = biquad(highpass(&s->hip[c], 100 * pow(2, sin(twopi * p)), flatq + 12), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 12, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -24, down); feedback[c] = sin(2.2 * (feedback[c] + down - up));
diff @ 2017-02-25 18:24:02 +0000 diff --git a/src/go.c b/src/go.c index 23db104f..7ea59380 100644 --- a/src/go.c +++ b/src/go.c @@ -56,6 +56,8 @@ static inline void part1(S *s, double *mixdown, double trigger) { SO2 *so2 = &s->part1; double impulse[2] = { trigger, trigger }; double p = phasor(&so2->phase, 0.01); + double t = 12 * (wrap(4 * p) > 0.5); + double modulation = 10 * cos(twopi * p); double feedback[2] = { delread4(&so2->echo[1].del, 200 - modulation) @@ -63,9 +65,9 @@ static inline void part1(S *s, double *mixdown, double trigger) { }; for (int c = 0; c < 2; ++c) { double in = biquad(lowpass(&s->lop[c], 400 * pow(2, sin(twopi * p)), flatq + 20), feedback[c]); - in = biquad(highpass(&s->hip[c], 100 * pow(2, sin(twopi * p)), flatq + 12), in); - double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 12, in); - double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -24, down); + in = biquad(highpass(&s->hip[c], 100 * pow(2, sin(twopi * p)), flatq + 12), in); + double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 12 + t, in); + double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -12 - t, down); feedback[c] = sin(2.2 * (feedback[c] + down - up)); } double compressed[2] = { 0, 0 };
diff @ 2017-02-25 18:24:22 +0000 diff --git a/src/go.c b/src/go.c index 7ea59380..199185ba 100644 --- a/src/go.c +++ b/src/go.c @@ -56,7 +56,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { SO2 *so2 = &s->part1; double impulse[2] = { trigger, trigger }; double p = phasor(&so2->phase, 0.01); - double t = 12 * (wrap(4 * p) > 0.5); + double t = 12 * (wrap(2 * p) > 0.5); double modulation = 10 * cos(twopi * p); double feedback[2] =
diff @ 2017-02-25 18:24:35 +0000 diff --git a/src/go.c b/src/go.c index 199185ba..978bc9c0 100644 --- a/src/go.c +++ b/src/go.c @@ -56,7 +56,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { SO2 *so2 = &s->part1; double impulse[2] = { trigger, trigger }; double p = phasor(&so2->phase, 0.01); - double t = 12 * (wrap(2 * p) > 0.5); + double t = 12 * (wrap(2 * p - 0.5) > 0.5); double modulation = 10 * cos(twopi * p); double feedback[2] =
diff @ 2017-02-25 18:25:04 +0000 diff --git a/src/go.c b/src/go.c index 978bc9c0..d99e8a67 100644 --- a/src/go.c +++ b/src/go.c @@ -56,7 +56,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { SO2 *so2 = &s->part1; double impulse[2] = { trigger, trigger }; double p = phasor(&so2->phase, 0.01); - double t = 12 * (wrap(2 * p - 0.5) > 0.5); + double t = 12 * (wrap(p - 0.5) > 0.5); double modulation = 10 * cos(twopi * p); double feedback[2] =
diff @ 2017-02-25 18:25:25 +0000 diff --git a/src/go.c b/src/go.c index d99e8a67..978bc9c0 100644 --- a/src/go.c +++ b/src/go.c @@ -56,7 +56,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { SO2 *so2 = &s->part1; double impulse[2] = { trigger, trigger }; double p = phasor(&so2->phase, 0.01); - double t = 12 * (wrap(p - 0.5) > 0.5); + double t = 12 * (wrap(2 * p - 0.5) > 0.5); double modulation = 10 * cos(twopi * p); double feedback[2] =
diff @ 2017-02-25 18:25:49 +0000 diff --git a/src/go.c b/src/go.c index 978bc9c0..f157e86c 100644 --- a/src/go.c +++ b/src/go.c @@ -57,6 +57,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { double impulse[2] = { trigger, trigger }; double p = phasor(&so2->phase, 0.01); double t = 12 * (wrap(2 * p - 0.5) > 0.5); + t -= 7 * (wrap(4 * p - 0.5) > 0.5); double modulation = 10 * cos(twopi * p); double feedback[2] =
diff @ 2017-02-25 18:26:08 +0000 diff --git a/src/go.c b/src/go.c index f157e86c..240fba6d 100644 --- a/src/go.c +++ b/src/go.c @@ -58,6 +58,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { double p = phasor(&so2->phase, 0.01); double t = 12 * (wrap(2 * p - 0.5) > 0.5); t -= 7 * (wrap(4 * p - 0.5) > 0.5); + t += 3 * (wrap(8 * p - 0.5) > 0.5); double modulation = 10 * cos(twopi * p); double feedback[2] =
diff @ 2017-02-25 18:26:39 +0000 diff --git a/src/go.c b/src/go.c index 240fba6d..4dcc2ef2 100644 --- a/src/go.c +++ b/src/go.c @@ -70,7 +70,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { in = biquad(highpass(&s->hip[c], 100 * pow(2, sin(twopi * p)), flatq + 12), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 12 + t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -12 - t, down); - feedback[c] = sin(2.2 * (feedback[c] + down - up)); + feedback[c] = sin(1 * (feedback[c] + down - up)); } double compressed[2] = { 0, 0 }; compress(compressed, &so2->compress[0], 5, 10, 25, 48, feedback);
diff @ 2017-02-25 18:26:58 +0000 diff --git a/src/go.c b/src/go.c index 4dcc2ef2..bc5975da 100644 --- a/src/go.c +++ b/src/go.c @@ -66,8 +66,8 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 200 + modulation) }; for (int c = 0; c < 2; ++c) { - double in = biquad(lowpass(&s->lop[c], 400 * pow(2, sin(twopi * p)), flatq + 20), feedback[c]); - in = biquad(highpass(&s->hip[c], 100 * pow(2, sin(twopi * p)), flatq + 12), in); + double in = biquad(lowpass(&s->lop[c], 400 * pow(2, 0.1* sin(twopi * p)), flatq + 20), feedback[c]); + in = biquad(highpass(&s->hip[c], 100 * pow(2, 0.1* sin(twopi * p)), flatq + 12), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 12 + t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -12 - t, down); feedback[c] = sin(1 * (feedback[c] + down - up));
diff @ 2017-02-25 18:27:22 +0000 diff --git a/src/go.c b/src/go.c index bc5975da..aa68eeee 100644 --- a/src/go.c +++ b/src/go.c @@ -59,6 +59,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { double t = 12 * (wrap(2 * p - 0.5) > 0.5); t -= 7 * (wrap(4 * p - 0.5) > 0.5); t += 3 * (wrap(8 * p - 0.5) > 0.5); + t -= 2 * (wrap(16 * p - 0.5) > 0.5); double modulation = 10 * cos(twopi * p); double feedback[2] =
diff @ 2017-02-25 18:27:42 +0000 diff --git a/src/go.c b/src/go.c index aa68eeee..d0e1fe21 100644 --- a/src/go.c +++ b/src/go.c @@ -60,6 +60,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { t -= 7 * (wrap(4 * p - 0.5) > 0.5); t += 3 * (wrap(8 * p - 0.5) > 0.5); t -= 2 * (wrap(16 * p - 0.5) > 0.5); + t += 1 * (wrap(32 * p - 0.5) > 0.5); double modulation = 10 * cos(twopi * p); double feedback[2] =
diff @ 2017-02-25 18:27:59 +0000 diff --git a/src/go.c b/src/go.c index d0e1fe21..b3717641 100644 --- a/src/go.c +++ b/src/go.c @@ -60,7 +60,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { t -= 7 * (wrap(4 * p - 0.5) > 0.5); t += 3 * (wrap(8 * p - 0.5) > 0.5); t -= 2 * (wrap(16 * p - 0.5) > 0.5); - t += 1 * (wrap(32 * p - 0.5) > 0.5); + t += 12 * (wrap(32 * p - 0.5) > 0.5); double modulation = 10 * cos(twopi * p); double feedback[2] =
diff @ 2017-02-25 18:28:32 +0000 diff --git a/src/go.c b/src/go.c index b3717641..8389efc5 100644 --- a/src/go.c +++ b/src/go.c @@ -70,8 +70,8 @@ static inline void part1(S *s, double *mixdown, double trigger) { for (int c = 0; c < 2; ++c) { double in = biquad(lowpass(&s->lop[c], 400 * pow(2, 0.1* sin(twopi * p)), flatq + 20), feedback[c]); in = biquad(highpass(&s->hip[c], 100 * pow(2, 0.1* sin(twopi * p)), flatq + 12), in); - double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 12 + t, in); - double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -12 - t, down); + double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, t, in); + double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -t, down); feedback[c] = sin(1 * (feedback[c] + down - up)); } double compressed[2] = { 0, 0 };
diff @ 2017-02-25 18:28:44 +0000 diff --git a/src/go.c b/src/go.c index 8389efc5..3a3d27d5 100644 --- a/src/go.c +++ b/src/go.c @@ -69,7 +69,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { }; for (int c = 0; c < 2; ++c) { double in = biquad(lowpass(&s->lop[c], 400 * pow(2, 0.1* sin(twopi * p)), flatq + 20), feedback[c]); - in = biquad(highpass(&s->hip[c], 100 * pow(2, 0.1* sin(twopi * p)), flatq + 12), in); + in = biquad(highpass(&s->hip[c], 100 * pow(2, 0.1* sin(twopi * p)), flatq + 1), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -t, down); feedback[c] = sin(1 * (feedback[c] + down - up));
diff @ 2017-02-25 18:28:48 +0000 diff --git a/src/go.c b/src/go.c index 3a3d27d5..8f4ffc26 100644 --- a/src/go.c +++ b/src/go.c @@ -68,7 +68,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 200 + modulation) }; for (int c = 0; c < 2; ++c) { - double in = biquad(lowpass(&s->lop[c], 400 * pow(2, 0.1* sin(twopi * p)), flatq + 20), feedback[c]); + double in = biquad(lowpass(&s->lop[c], 400 * pow(2, 0.1* sin(twopi * p)), flatq + 1), feedback[c]); in = biquad(highpass(&s->hip[c], 100 * pow(2, 0.1* sin(twopi * p)), flatq + 1), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -t, down);
diff @ 2017-02-25 18:28:58 +0000 diff --git a/src/go.c b/src/go.c index 8f4ffc26..8bdc370e 100644 --- a/src/go.c +++ b/src/go.c @@ -72,7 +72,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { in = biquad(highpass(&s->hip[c], 100 * pow(2, 0.1* sin(twopi * p)), flatq + 1), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -t, down); - feedback[c] = sin(1 * (feedback[c] + down - up)); + feedback[c] = tanh(1 * (feedback[c] + down - up)); } double compressed[2] = { 0, 0 }; compress(compressed, &so2->compress[0], 5, 10, 25, 48, feedback);
diff @ 2017-02-25 18:29:06 +0000 diff --git a/src/go.c b/src/go.c index 8bdc370e..12ee380d 100644 --- a/src/go.c +++ b/src/go.c @@ -72,7 +72,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { in = biquad(highpass(&s->hip[c], 100 * pow(2, 0.1* sin(twopi * p)), flatq + 1), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -t, down); - feedback[c] = tanh(1 * (feedback[c] + down - up)); + feedback[c] = tanh(1.1 * (feedback[c] + down - up)); } double compressed[2] = { 0, 0 }; compress(compressed, &so2->compress[0], 5, 10, 25, 48, feedback);
diff @ 2017-02-25 18:29:07 +0000 diff --git a/src/go.c b/src/go.c index 12ee380d..50515744 100644 --- a/src/go.c +++ b/src/go.c @@ -72,7 +72,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { in = biquad(highpass(&s->hip[c], 100 * pow(2, 0.1* sin(twopi * p)), flatq + 1), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -t, down); - feedback[c] = tanh(1.1 * (feedback[c] + down - up)); + feedback[c] = tanh(1.2 * (feedback[c] + down - up)); } double compressed[2] = { 0, 0 }; compress(compressed, &so2->compress[0], 5, 10, 25, 48, feedback);
diff @ 2017-02-25 18:29:09 +0000 diff --git a/src/go.c b/src/go.c index 50515744..ea88e75c 100644 --- a/src/go.c +++ b/src/go.c @@ -72,7 +72,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { in = biquad(highpass(&s->hip[c], 100 * pow(2, 0.1* sin(twopi * p)), flatq + 1), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -t, down); - feedback[c] = tanh(1.2 * (feedback[c] + down - up)); + feedback[c] = tanh(1.3 * (feedback[c] + down - up)); } double compressed[2] = { 0, 0 }; compress(compressed, &so2->compress[0], 5, 10, 25, 48, feedback);
diff @ 2017-02-25 18:29:31 +0000 diff --git a/src/go.c b/src/go.c index ea88e75c..a081bc50 100644 --- a/src/go.c +++ b/src/go.c @@ -80,7 +80,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { compressed[0] *= gain; compressed[1] *= gain; for (int c = 0; c < 2; ++c) { - so2echo(&so2->echo[c], 20, 3000, tanh(compressed[c] + impulse[c])); + so2echo(&so2->echo[c], 20, 4000, tanh(compressed[c] + impulse[c])); } mixdown[0] += compressed[0]; mixdown[1] += compressed[1];
diff @ 2017-02-25 18:29:35 +0000 diff --git a/src/go.c b/src/go.c index a081bc50..b626df64 100644 --- a/src/go.c +++ b/src/go.c @@ -80,7 +80,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { compressed[0] *= gain; compressed[1] *= gain; for (int c = 0; c < 2; ++c) { - so2echo(&so2->echo[c], 20, 4000, tanh(compressed[c] + impulse[c])); + so2echo(&so2->echo[c], 20, 5000, tanh(compressed[c] + impulse[c])); } mixdown[0] += compressed[0]; mixdown[1] += compressed[1];
diff @ 2017-02-25 18:29:40 +0000 diff --git a/src/go.c b/src/go.c index b626df64..76d3ab2c 100644 --- a/src/go.c +++ b/src/go.c @@ -80,7 +80,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { compressed[0] *= gain; compressed[1] *= gain; for (int c = 0; c < 2; ++c) { - so2echo(&so2->echo[c], 20, 5000, tanh(compressed[c] + impulse[c])); + so2echo(&so2->echo[c], 20, 6000, tanh(compressed[c] + impulse[c])); } mixdown[0] += compressed[0]; mixdown[1] += compressed[1];
diff @ 2017-02-25 18:29:48 +0000 diff --git a/src/go.c b/src/go.c index 76d3ab2c..4030a15f 100644 --- a/src/go.c +++ b/src/go.c @@ -80,7 +80,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { compressed[0] *= gain; compressed[1] *= gain; for (int c = 0; c < 2; ++c) { - so2echo(&so2->echo[c], 20, 6000, tanh(compressed[c] + impulse[c])); + so2echo(&so2->echo[c], 20, 7000, tanh(compressed[c] + impulse[c])); } mixdown[0] += compressed[0]; mixdown[1] += compressed[1];
diff @ 2017-02-25 18:29:52 +0000 diff --git a/src/go.c b/src/go.c index 4030a15f..8268ef5a 100644 --- a/src/go.c +++ b/src/go.c @@ -80,7 +80,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { compressed[0] *= gain; compressed[1] *= gain; for (int c = 0; c < 2; ++c) { - so2echo(&so2->echo[c], 20, 7000, tanh(compressed[c] + impulse[c])); + so2echo(&so2->echo[c], 20, 8000, tanh(compressed[c] + impulse[c])); } mixdown[0] += compressed[0]; mixdown[1] += compressed[1];
diff @ 2017-02-25 18:31:06 +0000 diff --git a/src/go.c b/src/go.c index 8268ef5a..c5f60911 100644 --- a/src/go.c +++ b/src/go.c @@ -44,7 +44,7 @@ typedef struct { // add data here BIQUAD lop[2]; BIQUAD hip[2]; - + SAMPHOLD sh[2]; } S; // part 1 @@ -72,7 +72,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { in = biquad(highpass(&s->hip[c], 100 * pow(2, 0.1* sin(twopi * p)), flatq + 1), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -t, down); - feedback[c] = tanh(1.3 * (feedback[c] + down - up)); + feedback[c] = samphold(&s->sh[c], tanh(1.3 * (feedback[c] + down - up)), wrap(16000 * 100 * p + c / 2.0)); } double compressed[2] = { 0, 0 }; compress(compressed, &so2->compress[0], 5, 10, 25, 48, feedback);
diff @ 2017-02-25 18:31:20 +0000 diff --git a/src/go.c b/src/go.c index c5f60911..913b6faa 100644 --- a/src/go.c +++ b/src/go.c @@ -72,7 +72,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { in = biquad(highpass(&s->hip[c], 100 * pow(2, 0.1* sin(twopi * p)), flatq + 1), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -t, down); - feedback[c] = samphold(&s->sh[c], tanh(1.3 * (feedback[c] + down - up)), wrap(16000 * 100 * p + c / 2.0)); + feedback[c] = samphold(&s->sh[c], tanh(1.3 * (feedback[c] + down - up)), wrap(8000 * 100 * p + c / 2.0)); } double compressed[2] = { 0, 0 }; compress(compressed, &so2->compress[0], 5, 10, 25, 48, feedback);
diff @ 2017-02-25 18:31:40 +0000 diff --git a/src/go.c b/src/go.c index 913b6faa..a80ce50b 100644 --- a/src/go.c +++ b/src/go.c @@ -72,7 +72,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { in = biquad(highpass(&s->hip[c], 100 * pow(2, 0.1* sin(twopi * p)), flatq + 1), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -t, down); - feedback[c] = samphold(&s->sh[c], tanh(1.3 * (feedback[c] + down - up)), wrap(8000 * 100 * p + c / 2.0)); + feedback[c] = samphold(&s->sh[c], tanh(1.3 * (feedback[c] + down - up)), wrap(4000 * 100 * p + c / 2.0)); } double compressed[2] = { 0, 0 }; compress(compressed, &so2->compress[0], 5, 10, 25, 48, feedback);
diff @ 2017-02-25 18:32:04 +0000 diff --git a/src/go.c b/src/go.c index a80ce50b..79e61549 100644 --- a/src/go.c +++ b/src/go.c @@ -68,8 +68,8 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 200 + modulation) }; for (int c = 0; c < 2; ++c) { - double in = biquad(lowpass(&s->lop[c], 400 * pow(2, 0.1* sin(twopi * p)), flatq + 1), feedback[c]); - in = biquad(highpass(&s->hip[c], 100 * pow(2, 0.1* sin(twopi * p)), flatq + 1), in); + double in = biquad(lowpass(&s->lop[c], 400 * pow(2, 0.1* sin(twopi * p)), flatq + 2), feedback[c]); + in = biquad(highpass(&s->hip[c], 100 * pow(2, 0.1* sin(twopi * p)), flatq + 2), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -t, down); feedback[c] = samphold(&s->sh[c], tanh(1.3 * (feedback[c] + down - up)), wrap(4000 * 100 * p + c / 2.0));
diff @ 2017-02-25 18:32:13 +0000 diff --git a/src/go.c b/src/go.c index 79e61549..81d88570 100644 --- a/src/go.c +++ b/src/go.c @@ -68,8 +68,8 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 200 + modulation) }; for (int c = 0; c < 2; ++c) { - double in = biquad(lowpass(&s->lop[c], 400 * pow(2, 0.1* sin(twopi * p)), flatq + 2), feedback[c]); - in = biquad(highpass(&s->hip[c], 100 * pow(2, 0.1* sin(twopi * p)), flatq + 2), in); + double in = biquad(lowpass(&s->lop[c], 400 * pow(2, 0.1* sin(twopi * p)), flatq + 5), feedback[c]); + in = biquad(highpass(&s->hip[c], 100 * pow(2, 0.1* sin(twopi * p)), flatq + 5), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -t, down); feedback[c] = samphold(&s->sh[c], tanh(1.3 * (feedback[c] + down - up)), wrap(4000 * 100 * p + c / 2.0));
diff @ 2017-02-25 18:32:19 +0000 diff --git a/src/go.c b/src/go.c index 81d88570..dba80b8c 100644 --- a/src/go.c +++ b/src/go.c @@ -68,8 +68,8 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 200 + modulation) }; for (int c = 0; c < 2; ++c) { - double in = biquad(lowpass(&s->lop[c], 400 * pow(2, 0.1* sin(twopi * p)), flatq + 5), feedback[c]); - in = biquad(highpass(&s->hip[c], 100 * pow(2, 0.1* sin(twopi * p)), flatq + 5), in); + double in = biquad(lowpass(&s->lop[c], 400 * pow(2, 0.1* sin(twopi * p)), flatq + 8), feedback[c]); + in = biquad(highpass(&s->hip[c], 100 * pow(2, 0.1* sin(twopi * p)), flatq + 8), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -t, down); feedback[c] = samphold(&s->sh[c], tanh(1.3 * (feedback[c] + down - up)), wrap(4000 * 100 * p + c / 2.0));
diff @ 2017-02-25 18:32:28 +0000 diff --git a/src/go.c b/src/go.c index dba80b8c..fe1cbef5 100644 --- a/src/go.c +++ b/src/go.c @@ -68,8 +68,8 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 200 + modulation) }; for (int c = 0; c < 2; ++c) { - double in = biquad(lowpass(&s->lop[c], 400 * pow(2, 0.1* sin(twopi * p)), flatq + 8), feedback[c]); - in = biquad(highpass(&s->hip[c], 100 * pow(2, 0.1* sin(twopi * p)), flatq + 8), in); + double in = biquad(lowpass(&s->lop[c], 400 * pow(2, 0.1* sin(twopi * p)), flatq + 10), feedback[c]); + in = biquad(highpass(&s->hip[c], 100 * pow(2, 0.1* sin(twopi * p)), flatq + 10), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -t, down); feedback[c] = samphold(&s->sh[c], tanh(1.3 * (feedback[c] + down - up)), wrap(4000 * 100 * p + c / 2.0));
diff @ 2017-02-25 18:32:37 +0000 diff --git a/src/go.c b/src/go.c index fe1cbef5..14b3bf89 100644 --- a/src/go.c +++ b/src/go.c @@ -69,7 +69,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { }; for (int c = 0; c < 2; ++c) { double in = biquad(lowpass(&s->lop[c], 400 * pow(2, 0.1* sin(twopi * p)), flatq + 10), feedback[c]); - in = biquad(highpass(&s->hip[c], 100 * pow(2, 0.1* sin(twopi * p)), flatq + 10), in); + in = biquad(highpass(&s->hip[c], 50 * pow(2, 0.1* sin(twopi * p)), flatq + 10), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -t, down); feedback[c] = samphold(&s->sh[c], tanh(1.3 * (feedback[c] + down - up)), wrap(4000 * 100 * p + c / 2.0));
diff @ 2017-02-25 18:32:45 +0000 diff --git a/src/go.c b/src/go.c index 14b3bf89..15d9d0e9 100644 --- a/src/go.c +++ b/src/go.c @@ -68,8 +68,8 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 200 + modulation) }; for (int c = 0; c < 2; ++c) { - double in = biquad(lowpass(&s->lop[c], 400 * pow(2, 0.1* sin(twopi * p)), flatq + 10), feedback[c]); - in = biquad(highpass(&s->hip[c], 50 * pow(2, 0.1* sin(twopi * p)), flatq + 10), in); + double in = biquad(lowpass(&s->lop[c], 200 * pow(2, 0.1* sin(twopi * p)), flatq + 10), feedback[c]); + in = biquad(highpass(&s->hip[c], 50 * pow(2, 0.1* sin(twopi * p)), flatq + 10), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -t, down); feedback[c] = samphold(&s->sh[c], tanh(1.3 * (feedback[c] + down - up)), wrap(4000 * 100 * p + c / 2.0));
diff @ 2017-02-25 18:33:00 +0000 diff --git a/src/go.c b/src/go.c index 15d9d0e9..f2f9d51c 100644 --- a/src/go.c +++ b/src/go.c @@ -68,7 +68,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 200 + modulation) }; for (int c = 0; c < 2; ++c) { - double in = biquad(lowpass(&s->lop[c], 200 * pow(2, 0.1* sin(twopi * p)), flatq + 10), feedback[c]); + double in = biquad(lowpass(&s->lop[c], 300 * pow(2, 0.1* sin(twopi * p)), flatq + 10), feedback[c]); in = biquad(highpass(&s->hip[c], 50 * pow(2, 0.1* sin(twopi * p)), flatq + 10), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -t, down);
diff @ 2017-02-25 18:33:21 +0000 diff --git a/src/go.c b/src/go.c index f2f9d51c..1eb70e85 100644 --- a/src/go.c +++ b/src/go.c @@ -62,7 +62,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { t -= 2 * (wrap(16 * p - 0.5) > 0.5); t += 12 * (wrap(32 * p - 0.5) > 0.5); - double modulation = 10 * cos(twopi * p); + double modulation = 20 * cos(twopi * p); double feedback[2] = { delread4(&so2->echo[1].del, 200 - modulation) , delread4(&so2->echo[0].del, 200 + modulation)
diff @ 2017-02-25 18:33:29 +0000 diff --git a/src/go.c b/src/go.c index 1eb70e85..dfaaaf86 100644 --- a/src/go.c +++ b/src/go.c @@ -62,7 +62,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { t -= 2 * (wrap(16 * p - 0.5) > 0.5); t += 12 * (wrap(32 * p - 0.5) > 0.5); - double modulation = 20 * cos(twopi * p); + double modulation = 40 * cos(twopi * p); double feedback[2] = { delread4(&so2->echo[1].del, 200 - modulation) , delread4(&so2->echo[0].del, 200 + modulation)
diff @ 2017-02-25 18:33:36 +0000 diff --git a/src/go.c b/src/go.c index dfaaaf86..eb1ed980 100644 --- a/src/go.c +++ b/src/go.c @@ -62,7 +62,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { t -= 2 * (wrap(16 * p - 0.5) > 0.5); t += 12 * (wrap(32 * p - 0.5) > 0.5); - double modulation = 40 * cos(twopi * p); + double modulation = 80 * cos(twopi * p); double feedback[2] = { delread4(&so2->echo[1].del, 200 - modulation) , delread4(&so2->echo[0].del, 200 + modulation)
diff @ 2017-02-25 18:33:42 +0000 diff --git a/src/go.c b/src/go.c index eb1ed980..8ab8de3a 100644 --- a/src/go.c +++ b/src/go.c @@ -62,7 +62,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { t -= 2 * (wrap(16 * p - 0.5) > 0.5); t += 12 * (wrap(32 * p - 0.5) > 0.5); - double modulation = 80 * cos(twopi * p); + double modulation = 160 * cos(twopi * p); double feedback[2] = { delread4(&so2->echo[1].del, 200 - modulation) , delread4(&so2->echo[0].del, 200 + modulation)
diff @ 2017-02-25 18:33:53 +0000 diff --git a/src/go.c b/src/go.c index 8ab8de3a..eef53a21 100644 --- a/src/go.c +++ b/src/go.c @@ -72,7 +72,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { in = biquad(highpass(&s->hip[c], 50 * pow(2, 0.1* sin(twopi * p)), flatq + 10), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -t, down); - feedback[c] = samphold(&s->sh[c], tanh(1.3 * (feedback[c] + down - up)), wrap(4000 * 100 * p + c / 2.0)); + feedback[c] = samphold(&s->sh[c], tanh(1.4 * (feedback[c] + down - up)), wrap(4000 * 100 * p + c / 2.0)); } double compressed[2] = { 0, 0 }; compress(compressed, &so2->compress[0], 5, 10, 25, 48, feedback);
diff @ 2017-02-25 18:33:58 +0000 diff --git a/src/go.c b/src/go.c index eef53a21..19719326 100644 --- a/src/go.c +++ b/src/go.c @@ -72,7 +72,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { in = biquad(highpass(&s->hip[c], 50 * pow(2, 0.1* sin(twopi * p)), flatq + 10), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -t, down); - feedback[c] = samphold(&s->sh[c], tanh(1.4 * (feedback[c] + down - up)), wrap(4000 * 100 * p + c / 2.0)); + feedback[c] = samphold(&s->sh[c], tanh(1.5 * (feedback[c] + down - up)), wrap(4000 * 100 * p + c / 2.0)); } double compressed[2] = { 0, 0 }; compress(compressed, &so2->compress[0], 5, 10, 25, 48, feedback);
diff @ 2017-02-25 18:34:03 +0000 diff --git a/src/go.c b/src/go.c index 19719326..20e8c999 100644 --- a/src/go.c +++ b/src/go.c @@ -72,7 +72,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { in = biquad(highpass(&s->hip[c], 50 * pow(2, 0.1* sin(twopi * p)), flatq + 10), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -t, down); - feedback[c] = samphold(&s->sh[c], tanh(1.5 * (feedback[c] + down - up)), wrap(4000 * 100 * p + c / 2.0)); + feedback[c] = samphold(&s->sh[c], tanh(1.6 * (feedback[c] + down - up)), wrap(4000 * 100 * p + c / 2.0)); } double compressed[2] = { 0, 0 }; compress(compressed, &so2->compress[0], 5, 10, 25, 48, feedback);
diff @ 2017-02-25 18:34:06 +0000 diff --git a/src/go.c b/src/go.c index 20e8c999..4d6c4149 100644 --- a/src/go.c +++ b/src/go.c @@ -72,7 +72,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { in = biquad(highpass(&s->hip[c], 50 * pow(2, 0.1* sin(twopi * p)), flatq + 10), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -t, down); - feedback[c] = samphold(&s->sh[c], tanh(1.6 * (feedback[c] + down - up)), wrap(4000 * 100 * p + c / 2.0)); + feedback[c] = samphold(&s->sh[c], tanh(1.7 * (feedback[c] + down - up)), wrap(4000 * 100 * p + c / 2.0)); } double compressed[2] = { 0, 0 }; compress(compressed, &so2->compress[0], 5, 10, 25, 48, feedback);
diff @ 2017-02-25 18:34:07 +0000 diff --git a/src/go.c b/src/go.c index 4d6c4149..14226f8b 100644 --- a/src/go.c +++ b/src/go.c @@ -72,7 +72,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { in = biquad(highpass(&s->hip[c], 50 * pow(2, 0.1* sin(twopi * p)), flatq + 10), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -t, down); - feedback[c] = samphold(&s->sh[c], tanh(1.7 * (feedback[c] + down - up)), wrap(4000 * 100 * p + c / 2.0)); + feedback[c] = samphold(&s->sh[c], tanh(1.8 * (feedback[c] + down - up)), wrap(4000 * 100 * p + c / 2.0)); } double compressed[2] = { 0, 0 }; compress(compressed, &so2->compress[0], 5, 10, 25, 48, feedback);
diff @ 2017-02-25 18:34:09 +0000 diff --git a/src/go.c b/src/go.c index 14226f8b..4a5ad244 100644 --- a/src/go.c +++ b/src/go.c @@ -72,7 +72,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { in = biquad(highpass(&s->hip[c], 50 * pow(2, 0.1* sin(twopi * p)), flatq + 10), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -t, down); - feedback[c] = samphold(&s->sh[c], tanh(1.8 * (feedback[c] + down - up)), wrap(4000 * 100 * p + c / 2.0)); + feedback[c] = samphold(&s->sh[c], tanh(1.9 * (feedback[c] + down - up)), wrap(4000 * 100 * p + c / 2.0)); } double compressed[2] = { 0, 0 }; compress(compressed, &so2->compress[0], 5, 10, 25, 48, feedback);
diff @ 2017-02-25 18:34:11 +0000 diff --git a/src/go.c b/src/go.c index 4a5ad244..1bdb6930 100644 --- a/src/go.c +++ b/src/go.c @@ -72,7 +72,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { in = biquad(highpass(&s->hip[c], 50 * pow(2, 0.1* sin(twopi * p)), flatq + 10), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -t, down); - feedback[c] = samphold(&s->sh[c], tanh(1.9 * (feedback[c] + down - up)), wrap(4000 * 100 * p + c / 2.0)); + feedback[c] = samphold(&s->sh[c], tanh(2 * (feedback[c] + down - up)), wrap(4000 * 100 * p + c / 2.0)); } double compressed[2] = { 0, 0 }; compress(compressed, &so2->compress[0], 5, 10, 25, 48, feedback);
diff @ 2017-02-25 18:34:14 +0000 diff --git a/src/go.c b/src/go.c index 1bdb6930..204cb698 100644 --- a/src/go.c +++ b/src/go.c @@ -72,7 +72,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { in = biquad(highpass(&s->hip[c], 50 * pow(2, 0.1* sin(twopi * p)), flatq + 10), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -t, down); - feedback[c] = samphold(&s->sh[c], tanh(2 * (feedback[c] + down - up)), wrap(4000 * 100 * p + c / 2.0)); + feedback[c] = samphold(&s->sh[c], tanh(2.1 * (feedback[c] + down - up)), wrap(4000 * 100 * p + c / 2.0)); } double compressed[2] = { 0, 0 }; compress(compressed, &so2->compress[0], 5, 10, 25, 48, feedback);
diff @ 2017-02-25 18:34:17 +0000 diff --git a/src/go.c b/src/go.c index 204cb698..b8f9aebe 100644 --- a/src/go.c +++ b/src/go.c @@ -72,7 +72,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { in = biquad(highpass(&s->hip[c], 50 * pow(2, 0.1* sin(twopi * p)), flatq + 10), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -t, down); - feedback[c] = samphold(&s->sh[c], tanh(2.1 * (feedback[c] + down - up)), wrap(4000 * 100 * p + c / 2.0)); + feedback[c] = samphold(&s->sh[c], tanh(2.2 * (feedback[c] + down - up)), wrap(4000 * 100 * p + c / 2.0)); } double compressed[2] = { 0, 0 }; compress(compressed, &so2->compress[0], 5, 10, 25, 48, feedback);
diff @ 2017-02-25 18:34:20 +0000 diff --git a/src/go.c b/src/go.c index b8f9aebe..fc123acd 100644 --- a/src/go.c +++ b/src/go.c @@ -72,7 +72,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { in = biquad(highpass(&s->hip[c], 50 * pow(2, 0.1* sin(twopi * p)), flatq + 10), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -t, down); - feedback[c] = samphold(&s->sh[c], tanh(2.2 * (feedback[c] + down - up)), wrap(4000 * 100 * p + c / 2.0)); + feedback[c] = samphold(&s->sh[c], tanh(2.3 * (feedback[c] + down - up)), wrap(4000 * 100 * p + c / 2.0)); } double compressed[2] = { 0, 0 }; compress(compressed, &so2->compress[0], 5, 10, 25, 48, feedback);
diff @ 2017-02-25 18:34:23 +0000 diff --git a/src/go.c b/src/go.c index fc123acd..e8b3aaa7 100644 --- a/src/go.c +++ b/src/go.c @@ -72,7 +72,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { in = biquad(highpass(&s->hip[c], 50 * pow(2, 0.1* sin(twopi * p)), flatq + 10), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -t, down); - feedback[c] = samphold(&s->sh[c], tanh(2.3 * (feedback[c] + down - up)), wrap(4000 * 100 * p + c / 2.0)); + feedback[c] = samphold(&s->sh[c], tanh(2.4 * (feedback[c] + down - up)), wrap(4000 * 100 * p + c / 2.0)); } double compressed[2] = { 0, 0 }; compress(compressed, &so2->compress[0], 5, 10, 25, 48, feedback);
diff @ 2017-02-25 18:34:27 +0000 diff --git a/src/go.c b/src/go.c index e8b3aaa7..0014fdf8 100644 --- a/src/go.c +++ b/src/go.c @@ -72,7 +72,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { in = biquad(highpass(&s->hip[c], 50 * pow(2, 0.1* sin(twopi * p)), flatq + 10), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -t, down); - feedback[c] = samphold(&s->sh[c], tanh(2.4 * (feedback[c] + down - up)), wrap(4000 * 100 * p + c / 2.0)); + feedback[c] = samphold(&s->sh[c], tanh(2.5 * (feedback[c] + down - up)), wrap(4000 * 100 * p + c / 2.0)); } double compressed[2] = { 0, 0 }; compress(compressed, &so2->compress[0], 5, 10, 25, 48, feedback);
diff @ 2017-02-25 18:34:34 +0000 diff --git a/src/go.c b/src/go.c index 0014fdf8..3fc95b49 100644 --- a/src/go.c +++ b/src/go.c @@ -72,7 +72,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { in = biquad(highpass(&s->hip[c], 50 * pow(2, 0.1* sin(twopi * p)), flatq + 10), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -t, down); - feedback[c] = samphold(&s->sh[c], tanh(2.5 * (feedback[c] + down - up)), wrap(4000 * 100 * p + c / 2.0)); + feedback[c] = samphold(&s->sh[c], tanh(3 * (feedback[c] + down - up)), wrap(4000 * 100 * p + c / 2.0)); } double compressed[2] = { 0, 0 }; compress(compressed, &so2->compress[0], 5, 10, 25, 48, feedback);
diff @ 2017-02-25 18:34:44 +0000 diff --git a/src/go.c b/src/go.c index 3fc95b49..d2adac27 100644 --- a/src/go.c +++ b/src/go.c @@ -72,7 +72,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { in = biquad(highpass(&s->hip[c], 50 * pow(2, 0.1* sin(twopi * p)), flatq + 10), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -t, down); - feedback[c] = samphold(&s->sh[c], tanh(3 * (feedback[c] + down - up)), wrap(4000 * 100 * p + c / 2.0)); + feedback[c] = samphold(&s->sh[c], tanh(4 * (feedback[c] + down - up)), wrap(4000 * 100 * p + c / 2.0)); } double compressed[2] = { 0, 0 }; compress(compressed, &so2->compress[0], 5, 10, 25, 48, feedback);
diff @ 2017-02-25 18:35:09 +0000 diff --git a/src/go.c b/src/go.c index d2adac27..f467d217 100644 --- a/src/go.c +++ b/src/go.c @@ -57,8 +57,8 @@ static inline void part1(S *s, double *mixdown, double trigger) { double impulse[2] = { trigger, trigger }; double p = phasor(&so2->phase, 0.01); double t = 12 * (wrap(2 * p - 0.5) > 0.5); - t -= 7 * (wrap(4 * p - 0.5) > 0.5); - t += 3 * (wrap(8 * p - 0.5) > 0.5); + t -= 7 * (wrap(9 * p - 0.5) > 0.5); + t += 3 * (wrap(12 * p - 0.5) > 0.5); t -= 2 * (wrap(16 * p - 0.5) > 0.5); t += 12 * (wrap(32 * p - 0.5) > 0.5);
diff @ 2017-02-25 18:35:19 +0000 diff --git a/src/go.c b/src/go.c index f467d217..48153b7a 100644 --- a/src/go.c +++ b/src/go.c @@ -57,7 +57,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { double impulse[2] = { trigger, trigger }; double p = phasor(&so2->phase, 0.01); double t = 12 * (wrap(2 * p - 0.5) > 0.5); - t -= 7 * (wrap(9 * p - 0.5) > 0.5); + t -= 7 * (wrap(24 * p - 0.5) > 0.5); t += 3 * (wrap(12 * p - 0.5) > 0.5); t -= 2 * (wrap(16 * p - 0.5) > 0.5); t += 12 * (wrap(32 * p - 0.5) > 0.5);
diff @ 2017-02-25 18:35:33 +0000 diff --git a/src/go.c b/src/go.c index 48153b7a..852d89d9 100644 --- a/src/go.c +++ b/src/go.c @@ -72,7 +72,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { in = biquad(highpass(&s->hip[c], 50 * pow(2, 0.1* sin(twopi * p)), flatq + 10), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -t, down); - feedback[c] = samphold(&s->sh[c], tanh(4 * (feedback[c] + down - up)), wrap(4000 * 100 * p + c / 2.0)); + feedback[c] = samphold(&s->sh[c], tanh(6 * (feedback[c] + down - up)), wrap(4000 * 100 * p + c / 2.0)); } double compressed[2] = { 0, 0 }; compress(compressed, &so2->compress[0], 5, 10, 25, 48, feedback);
diff @ 2017-02-25 18:35:38 +0000 diff --git a/src/go.c b/src/go.c index 852d89d9..ee22ad00 100644 --- a/src/go.c +++ b/src/go.c @@ -72,7 +72,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { in = biquad(highpass(&s->hip[c], 50 * pow(2, 0.1* sin(twopi * p)), flatq + 10), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -t, down); - feedback[c] = samphold(&s->sh[c], tanh(6 * (feedback[c] + down - up)), wrap(4000 * 100 * p + c / 2.0)); + feedback[c] = samphold(&s->sh[c], tanh(8 * (feedback[c] + down - up)), wrap(4000 * 100 * p + c / 2.0)); } double compressed[2] = { 0, 0 }; compress(compressed, &so2->compress[0], 5, 10, 25, 48, feedback);
diff @ 2017-02-25 18:35:50 +0000 diff --git a/src/go.c b/src/go.c index ee22ad00..4e2400a6 100644 --- a/src/go.c +++ b/src/go.c @@ -58,7 +58,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { double p = phasor(&so2->phase, 0.01); double t = 12 * (wrap(2 * p - 0.5) > 0.5); t -= 7 * (wrap(24 * p - 0.5) > 0.5); - t += 3 * (wrap(12 * p - 0.5) > 0.5); + t += 3 * (wrap(20 * p - 0.5) > 0.5); t -= 2 * (wrap(16 * p - 0.5) > 0.5); t += 12 * (wrap(32 * p - 0.5) > 0.5);
diff @ 2017-02-25 18:35:59 +0000 diff --git a/src/go.c b/src/go.c index 4e2400a6..1af88435 100644 --- a/src/go.c +++ b/src/go.c @@ -59,7 +59,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { double t = 12 * (wrap(2 * p - 0.5) > 0.5); t -= 7 * (wrap(24 * p - 0.5) > 0.5); t += 3 * (wrap(20 * p - 0.5) > 0.5); - t -= 2 * (wrap(16 * p - 0.5) > 0.5); + t -= 2 * (wrap(25 * p - 0.5) > 0.5); t += 12 * (wrap(32 * p - 0.5) > 0.5); double modulation = 160 * cos(twopi * p);
diff @ 2017-02-25 18:36:09 +0000 diff --git a/src/go.c b/src/go.c index 1af88435..9bccb8f6 100644 --- a/src/go.c +++ b/src/go.c @@ -56,7 +56,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { SO2 *so2 = &s->part1; double impulse[2] = { trigger, trigger }; double p = phasor(&so2->phase, 0.01); - double t = 12 * (wrap(2 * p - 0.5) > 0.5); + double t = 12 * (wrap(8 * p - 0.5) > 0.5); t -= 7 * (wrap(24 * p - 0.5) > 0.5); t += 3 * (wrap(20 * p - 0.5) > 0.5); t -= 2 * (wrap(25 * p - 0.5) > 0.5);
diff @ 2017-02-25 18:36:36 +0000 diff --git a/src/go.c b/src/go.c index 9bccb8f6..7176d886 100644 --- a/src/go.c +++ b/src/go.c @@ -68,8 +68,8 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 200 + modulation) }; for (int c = 0; c < 2; ++c) { - double in = biquad(lowpass(&s->lop[c], 300 * pow(2, 0.1* sin(twopi * p)), flatq + 10), feedback[c]); - in = biquad(highpass(&s->hip[c], 50 * pow(2, 0.1* sin(twopi * p)), flatq + 10), in); + double in = biquad(lowpass(&s->lop[c], 300 * pow(2, 0.1* sin(twopi * p)), flatq), feedback[c]); + in = biquad(highpass(&s->hip[c], 50 * pow(2, 0.1* sin(twopi * p)), flatq), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -t, down); feedback[c] = samphold(&s->sh[c], tanh(8 * (feedback[c] + down - up)), wrap(4000 * 100 * p + c / 2.0));
diff @ 2017-02-25 18:36:51 +0000 diff --git a/src/go.c b/src/go.c index 7176d886..4a25382f 100644 --- a/src/go.c +++ b/src/go.c @@ -72,7 +72,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { in = biquad(highpass(&s->hip[c], 50 * pow(2, 0.1* sin(twopi * p)), flatq), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -t, down); - feedback[c] = samphold(&s->sh[c], tanh(8 * (feedback[c] + down - up)), wrap(4000 * 100 * p + c / 2.0)); + feedback[c] = samphold(&s->sh[c], tanh(8 * (feedback[c] - down - up)), wrap(4000 * 100 * p + c / 2.0)); } double compressed[2] = { 0, 0 }; compress(compressed, &so2->compress[0], 5, 10, 25, 48, feedback);
diff @ 2017-02-25 18:37:01 +0000 diff --git a/src/go.c b/src/go.c index 4a25382f..b87c61f7 100644 --- a/src/go.c +++ b/src/go.c @@ -72,7 +72,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { in = biquad(highpass(&s->hip[c], 50 * pow(2, 0.1* sin(twopi * p)), flatq), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -t, down); - feedback[c] = samphold(&s->sh[c], tanh(8 * (feedback[c] - down - up)), wrap(4000 * 100 * p + c / 2.0)); + feedback[c] = samphold(&s->sh[c], tanh(8 * (feedback[c] - down - up)), wrap(8000 * 100 * p + c / 2.0)); } double compressed[2] = { 0, 0 }; compress(compressed, &so2->compress[0], 5, 10, 25, 48, feedback);
diff @ 2017-02-25 18:37:07 +0000 diff --git a/src/go.c b/src/go.c index b87c61f7..8676db32 100644 --- a/src/go.c +++ b/src/go.c @@ -72,7 +72,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { in = biquad(highpass(&s->hip[c], 50 * pow(2, 0.1* sin(twopi * p)), flatq), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -t, down); - feedback[c] = samphold(&s->sh[c], tanh(8 * (feedback[c] - down - up)), wrap(8000 * 100 * p + c / 2.0)); + feedback[c] = samphold(&s->sh[c], tanh(8 * (feedback[c] - down - up)), wrap(16000 * 100 * p + c / 2.0)); } double compressed[2] = { 0, 0 }; compress(compressed, &so2->compress[0], 5, 10, 25, 48, feedback);
diff @ 2017-02-25 18:37:38 +0000 diff --git a/src/go.c b/src/go.c index 8676db32..0863d45c 100644 --- a/src/go.c +++ b/src/go.c @@ -72,7 +72,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { in = biquad(highpass(&s->hip[c], 50 * pow(2, 0.1* sin(twopi * p)), flatq), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -t, down); - feedback[c] = samphold(&s->sh[c], tanh(8 * (feedback[c] - down - up)), wrap(16000 * 100 * p + c / 2.0)); + feedback[c] = samphold(&s->sh[c], tanh(1 * (feedback[c] - down - up)), wrap(20000 * 100 * p + c / 2.0)); } double compressed[2] = { 0, 0 }; compress(compressed, &so2->compress[0], 5, 10, 25, 48, feedback);
diff @ 2017-02-25 18:38:09 +0000 diff --git a/src/go.c b/src/go.c index 0863d45c..71f2eeea 100644 --- a/src/go.c +++ b/src/go.c @@ -72,7 +72,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { in = biquad(highpass(&s->hip[c], 50 * pow(2, 0.1* sin(twopi * p)), flatq), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -t, down); - feedback[c] = samphold(&s->sh[c], tanh(1 * (feedback[c] - down - up)), wrap(20000 * 100 * p + c / 2.0)); + feedback[c] = tanh(1 * (feedback[c] - down - up));//, wrap(20000 * 100 * p + c / 2.0)); } double compressed[2] = { 0, 0 }; compress(compressed, &so2->compress[0], 5, 10, 25, 48, feedback);
diff @ 2017-02-25 18:38:35 +0000 diff --git a/src/go.c b/src/go.c index 71f2eeea..f7d3e89b 100644 --- a/src/go.c +++ b/src/go.c @@ -68,7 +68,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 200 + modulation) }; for (int c = 0; c < 2; ++c) { - double in = biquad(lowpass(&s->lop[c], 300 * pow(2, 0.1* sin(twopi * p)), flatq), feedback[c]); + double in = sin(biquad(lowpass(&s->lop[c], 300 * pow(2, 0.1* sin(twopi * p)), flatq), feedback[c])); in = biquad(highpass(&s->hip[c], 50 * pow(2, 0.1* sin(twopi * p)), flatq), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -t, down);
diff @ 2017-02-25 18:38:44 +0000 diff --git a/src/go.c b/src/go.c index f7d3e89b..617ca9cc 100644 --- a/src/go.c +++ b/src/go.c @@ -68,7 +68,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 200 + modulation) }; for (int c = 0; c < 2; ++c) { - double in = sin(biquad(lowpass(&s->lop[c], 300 * pow(2, 0.1* sin(twopi * p)), flatq), feedback[c])); + double in = sin(1.5 * biquad(lowpass(&s->lop[c], 300 * pow(2, 0.1* sin(twopi * p)), flatq), feedback[c])); in = biquad(highpass(&s->hip[c], 50 * pow(2, 0.1* sin(twopi * p)), flatq), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -t, down);
diff @ 2017-02-25 18:38:50 +0000 diff --git a/src/go.c b/src/go.c index 617ca9cc..0b1bed08 100644 --- a/src/go.c +++ b/src/go.c @@ -68,7 +68,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 200 + modulation) }; for (int c = 0; c < 2; ++c) { - double in = sin(1.5 * biquad(lowpass(&s->lop[c], 300 * pow(2, 0.1* sin(twopi * p)), flatq), feedback[c])); + double in = sin(1.6 * biquad(lowpass(&s->lop[c], 300 * pow(2, 0.1* sin(twopi * p)), flatq), feedback[c])); in = biquad(highpass(&s->hip[c], 50 * pow(2, 0.1* sin(twopi * p)), flatq), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -t, down);
diff @ 2017-02-25 18:38:51 +0000 diff --git a/src/go.c b/src/go.c index 0b1bed08..06a01b39 100644 --- a/src/go.c +++ b/src/go.c @@ -68,7 +68,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 200 + modulation) }; for (int c = 0; c < 2; ++c) { - double in = sin(1.6 * biquad(lowpass(&s->lop[c], 300 * pow(2, 0.1* sin(twopi * p)), flatq), feedback[c])); + double in = sin(1.7 * biquad(lowpass(&s->lop[c], 300 * pow(2, 0.1* sin(twopi * p)), flatq), feedback[c])); in = biquad(highpass(&s->hip[c], 50 * pow(2, 0.1* sin(twopi * p)), flatq), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -t, down);
diff @ 2017-02-25 18:38:53 +0000 diff --git a/src/go.c b/src/go.c index 06a01b39..6fd20533 100644 --- a/src/go.c +++ b/src/go.c @@ -68,7 +68,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 200 + modulation) }; for (int c = 0; c < 2; ++c) { - double in = sin(1.7 * biquad(lowpass(&s->lop[c], 300 * pow(2, 0.1* sin(twopi * p)), flatq), feedback[c])); + double in = sin(1.8 * biquad(lowpass(&s->lop[c], 300 * pow(2, 0.1* sin(twopi * p)), flatq), feedback[c])); in = biquad(highpass(&s->hip[c], 50 * pow(2, 0.1* sin(twopi * p)), flatq), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -t, down);
diff @ 2017-02-25 18:38:54 +0000 diff --git a/src/go.c b/src/go.c index 6fd20533..5e7007c4 100644 --- a/src/go.c +++ b/src/go.c @@ -68,7 +68,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 200 + modulation) }; for (int c = 0; c < 2; ++c) { - double in = sin(1.8 * biquad(lowpass(&s->lop[c], 300 * pow(2, 0.1* sin(twopi * p)), flatq), feedback[c])); + double in = sin(1.9 * biquad(lowpass(&s->lop[c], 300 * pow(2, 0.1* sin(twopi * p)), flatq), feedback[c])); in = biquad(highpass(&s->hip[c], 50 * pow(2, 0.1* sin(twopi * p)), flatq), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -t, down);
diff @ 2017-02-25 18:38:56 +0000 diff --git a/src/go.c b/src/go.c index 5e7007c4..d6d826e2 100644 --- a/src/go.c +++ b/src/go.c @@ -68,7 +68,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 200 + modulation) }; for (int c = 0; c < 2; ++c) { - double in = sin(1.9 * biquad(lowpass(&s->lop[c], 300 * pow(2, 0.1* sin(twopi * p)), flatq), feedback[c])); + double in = sin(2 * biquad(lowpass(&s->lop[c], 300 * pow(2, 0.1* sin(twopi * p)), flatq), feedback[c])); in = biquad(highpass(&s->hip[c], 50 * pow(2, 0.1* sin(twopi * p)), flatq), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -t, down);
diff @ 2017-02-25 18:39:03 +0000 diff --git a/src/go.c b/src/go.c index d6d826e2..50b43645 100644 --- a/src/go.c +++ b/src/go.c @@ -68,7 +68,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 200 + modulation) }; for (int c = 0; c < 2; ++c) { - double in = sin(2 * biquad(lowpass(&s->lop[c], 300 * pow(2, 0.1* sin(twopi * p)), flatq), feedback[c])); + double in = sin(3 * biquad(lowpass(&s->lop[c], 300 * pow(2, 0.1* sin(twopi * p)), flatq), feedback[c])); in = biquad(highpass(&s->hip[c], 50 * pow(2, 0.1* sin(twopi * p)), flatq), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -t, down);
diff @ 2017-02-25 18:39:14 +0000 diff --git a/src/go.c b/src/go.c index 50b43645..d4d5e0ca 100644 --- a/src/go.c +++ b/src/go.c @@ -68,7 +68,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 200 + modulation) }; for (int c = 0; c < 2; ++c) { - double in = sin(3 * biquad(lowpass(&s->lop[c], 300 * pow(2, 0.1* sin(twopi * p)), flatq), feedback[c])); + double in = sin(4 * biquad(lowpass(&s->lop[c], 300 * pow(2, 0.1* sin(twopi * p)), flatq), feedback[c])); in = biquad(highpass(&s->hip[c], 50 * pow(2, 0.1* sin(twopi * p)), flatq), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -t, down);
diff @ 2017-02-25 18:39:28 +0000 diff --git a/src/go.c b/src/go.c index d4d5e0ca..f969b637 100644 --- a/src/go.c +++ b/src/go.c @@ -68,7 +68,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 200 + modulation) }; for (int c = 0; c < 2; ++c) { - double in = sin(4 * biquad(lowpass(&s->lop[c], 300 * pow(2, 0.1* sin(twopi * p)), flatq), feedback[c])); + double in = sin(4 * biquad(lowpass(&s->lop[c], 400 * pow(2, 0.1* sin(twopi * p)), flatq), feedback[c])); in = biquad(highpass(&s->hip[c], 50 * pow(2, 0.1* sin(twopi * p)), flatq), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -t, down);
diff @ 2017-02-25 18:39:38 +0000 diff --git a/src/go.c b/src/go.c index f969b637..9a20fa25 100644 --- a/src/go.c +++ b/src/go.c @@ -68,8 +68,8 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 200 + modulation) }; for (int c = 0; c < 2; ++c) { - double in = sin(4 * biquad(lowpass(&s->lop[c], 400 * pow(2, 0.1* sin(twopi * p)), flatq), feedback[c])); - in = biquad(highpass(&s->hip[c], 50 * pow(2, 0.1* sin(twopi * p)), flatq), in); + double in = sin(4 * biquad(lowpass(&s->lop[c], 600 * pow(2, 0.1* sin(twopi * p)), flatq), feedback[c])); + in = biquad(highpass(&s->hip[c], 100 * pow(2, 0.1* sin(twopi * p)), flatq), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -t, down); feedback[c] = tanh(1 * (feedback[c] - down - up));//, wrap(20000 * 100 * p + c / 2.0));
diff @ 2017-02-25 18:39:57 +0000 diff --git a/src/go.c b/src/go.c index 9a20fa25..82b061d0 100644 --- a/src/go.c +++ b/src/go.c @@ -72,7 +72,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { in = biquad(highpass(&s->hip[c], 100 * pow(2, 0.1* sin(twopi * p)), flatq), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -t, down); - feedback[c] = tanh(1 * (feedback[c] - down - up));//, wrap(20000 * 100 * p + c / 2.0)); + feedback[c] = feedback[c] - down - up;//, wrap(20000 * 100 * p + c / 2.0)); } double compressed[2] = { 0, 0 }; compress(compressed, &so2->compress[0], 5, 10, 25, 48, feedback);
diff @ 2017-02-25 18:39:59 +0000 diff --git a/src/go.c b/src/go.c index 82b061d0..063e5a82 100644 --- a/src/go.c +++ b/src/go.c @@ -72,7 +72,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { in = biquad(highpass(&s->hip[c], 100 * pow(2, 0.1* sin(twopi * p)), flatq), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -t, down); - feedback[c] = feedback[c] - down - up;//, wrap(20000 * 100 * p + c / 2.0)); + feedback[c] = feedback[c] - down - up; } double compressed[2] = { 0, 0 }; compress(compressed, &so2->compress[0], 5, 10, 25, 48, feedback);
diff @ 2017-02-25 18:40:04 +0000 diff --git a/src/go.c b/src/go.c index 063e5a82..ed0abb1d 100644 --- a/src/go.c +++ b/src/go.c @@ -68,7 +68,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 200 + modulation) }; for (int c = 0; c < 2; ++c) { - double in = sin(4 * biquad(lowpass(&s->lop[c], 600 * pow(2, 0.1* sin(twopi * p)), flatq), feedback[c])); + double in = biquad(lowpass(&s->lop[c], 600 * pow(2, 0.1* sin(twopi * p)), flatq), feedback[c]); in = biquad(highpass(&s->hip[c], 100 * pow(2, 0.1* sin(twopi * p)), flatq), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -t, down);
diff @ 2017-02-25 18:40:17 +0000 diff --git a/src/go.c b/src/go.c index ed0abb1d..3c42efae 100644 --- a/src/go.c +++ b/src/go.c @@ -64,8 +64,8 @@ static inline void part1(S *s, double *mixdown, double trigger) { double modulation = 160 * cos(twopi * p); double feedback[2] = - { delread4(&so2->echo[1].del, 200 - modulation) - , delread4(&so2->echo[0].del, 200 + modulation) + { delread4(&so2->echo[1].del, 500 - modulation) + , delread4(&so2->echo[0].del, 500 + modulation) }; for (int c = 0; c < 2; ++c) { double in = biquad(lowpass(&s->lop[c], 600 * pow(2, 0.1* sin(twopi * p)), flatq), feedback[c]);
diff @ 2017-02-25 18:40:28 +0000 diff --git a/src/go.c b/src/go.c index 3c42efae..77f0494d 100644 --- a/src/go.c +++ b/src/go.c @@ -62,7 +62,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { t -= 2 * (wrap(25 * p - 0.5) > 0.5); t += 12 * (wrap(32 * p - 0.5) > 0.5); - double modulation = 160 * cos(twopi * p); + double modulation = 80 * cos(twopi * p); double feedback[2] = { delread4(&so2->echo[1].del, 500 - modulation) , delread4(&so2->echo[0].del, 500 + modulation)
diff @ 2017-02-25 18:40:33 +0000 diff --git a/src/go.c b/src/go.c index 77f0494d..ba6d2b68 100644 --- a/src/go.c +++ b/src/go.c @@ -64,8 +64,8 @@ static inline void part1(S *s, double *mixdown, double trigger) { double modulation = 80 * cos(twopi * p); double feedback[2] = - { delread4(&so2->echo[1].del, 500 - modulation) - , delread4(&so2->echo[0].del, 500 + modulation) + { delread4(&so2->echo[1].del, 900 - modulation) + , delread4(&so2->echo[0].del, 900 + modulation) }; for (int c = 0; c < 2; ++c) { double in = biquad(lowpass(&s->lop[c], 600 * pow(2, 0.1* sin(twopi * p)), flatq), feedback[c]);
diff @ 2017-02-25 18:40:44 +0000 diff --git a/src/go.c b/src/go.c index ba6d2b68..3461d3a7 100644 --- a/src/go.c +++ b/src/go.c @@ -62,7 +62,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { t -= 2 * (wrap(25 * p - 0.5) > 0.5); t += 12 * (wrap(32 * p - 0.5) > 0.5); - double modulation = 80 * cos(twopi * p); + double modulation = 40 * cos(twopi * p); double feedback[2] = { delread4(&so2->echo[1].del, 900 - modulation) , delread4(&so2->echo[0].del, 900 + modulation)
diff @ 2017-02-25 18:40:49 +0000 diff --git a/src/go.c b/src/go.c index 3461d3a7..309eb7df 100644 --- a/src/go.c +++ b/src/go.c @@ -62,7 +62,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { t -= 2 * (wrap(25 * p - 0.5) > 0.5); t += 12 * (wrap(32 * p - 0.5) > 0.5); - double modulation = 40 * cos(twopi * p); + double modulation = 20 * cos(twopi * p); double feedback[2] = { delread4(&so2->echo[1].del, 900 - modulation) , delread4(&so2->echo[0].del, 900 + modulation)
diff @ 2017-02-25 18:40:56 +0000 diff --git a/src/go.c b/src/go.c index 309eb7df..db5c5697 100644 --- a/src/go.c +++ b/src/go.c @@ -62,7 +62,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { t -= 2 * (wrap(25 * p - 0.5) > 0.5); t += 12 * (wrap(32 * p - 0.5) > 0.5); - double modulation = 20 * cos(twopi * p); + double modulation = 10 * cos(twopi * p); double feedback[2] = { delread4(&so2->echo[1].del, 900 - modulation) , delread4(&so2->echo[0].del, 900 + modulation)
diff @ 2017-02-25 18:41:03 +0000 diff --git a/src/go.c b/src/go.c index db5c5697..46981af7 100644 --- a/src/go.c +++ b/src/go.c @@ -62,7 +62,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { t -= 2 * (wrap(25 * p - 0.5) > 0.5); t += 12 * (wrap(32 * p - 0.5) > 0.5); - double modulation = 10 * cos(twopi * p); + double modulation = 5 * cos(twopi * p); double feedback[2] = { delread4(&so2->echo[1].del, 900 - modulation) , delread4(&so2->echo[0].del, 900 + modulation)
diff @ 2017-02-25 18:41:05 +0000 diff --git a/src/go.c b/src/go.c index 46981af7..8dff3a72 100644 --- a/src/go.c +++ b/src/go.c @@ -62,7 +62,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { t -= 2 * (wrap(25 * p - 0.5) > 0.5); t += 12 * (wrap(32 * p - 0.5) > 0.5); - double modulation = 5 * cos(twopi * p); + double modulation = 4 * cos(twopi * p); double feedback[2] = { delread4(&so2->echo[1].del, 900 - modulation) , delread4(&so2->echo[0].del, 900 + modulation)
diff @ 2017-02-25 18:41:07 +0000 diff --git a/src/go.c b/src/go.c index 8dff3a72..ca10219f 100644 --- a/src/go.c +++ b/src/go.c @@ -62,7 +62,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { t -= 2 * (wrap(25 * p - 0.5) > 0.5); t += 12 * (wrap(32 * p - 0.5) > 0.5); - double modulation = 4 * cos(twopi * p); + double modulation = 3 * cos(twopi * p); double feedback[2] = { delread4(&so2->echo[1].del, 900 - modulation) , delread4(&so2->echo[0].del, 900 + modulation)
diff @ 2017-02-25 18:41:08 +0000 diff --git a/src/go.c b/src/go.c index ca10219f..110aa5e2 100644 --- a/src/go.c +++ b/src/go.c @@ -62,7 +62,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { t -= 2 * (wrap(25 * p - 0.5) > 0.5); t += 12 * (wrap(32 * p - 0.5) > 0.5); - double modulation = 3 * cos(twopi * p); + double modulation = 2 * cos(twopi * p); double feedback[2] = { delread4(&so2->echo[1].del, 900 - modulation) , delread4(&so2->echo[0].del, 900 + modulation)
diff @ 2017-02-25 18:41:11 +0000 diff --git a/src/go.c b/src/go.c index 110aa5e2..1edcfd73 100644 --- a/src/go.c +++ b/src/go.c @@ -62,7 +62,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { t -= 2 * (wrap(25 * p - 0.5) > 0.5); t += 12 * (wrap(32 * p - 0.5) > 0.5); - double modulation = 2 * cos(twopi * p); + double modulation = 1 * cos(twopi * p); double feedback[2] = { delread4(&so2->echo[1].del, 900 - modulation) , delread4(&so2->echo[0].del, 900 + modulation)
diff @ 2017-02-25 18:41:37 +0000 diff --git a/src/go.c b/src/go.c index 1edcfd73..4509cc25 100644 --- a/src/go.c +++ b/src/go.c @@ -45,6 +45,7 @@ typedef struct { BIQUAD lop[2]; BIQUAD hip[2]; SAMPHOLD sh[2]; + double tempo; } S; // part 1 @@ -55,7 +56,8 @@ static inline void so2echo(SO2ECHO *s, double hiphz, double lophz, double x) { static inline void part1(S *s, double *mixdown, double trigger) { SO2 *so2 = &s->part1; double impulse[2] = { trigger, trigger }; - double p = phasor(&so2->phase, 0.01); + s->tempo = 0.01; + double p = phasor(&so2->phase, s->tempo); double t = 12 * (wrap(8 * p - 0.5) > 0.5); t -= 7 * (wrap(24 * p - 0.5) > 0.5); t += 3 * (wrap(20 * p - 0.5) > 0.5);
diff @ 2017-02-25 18:42:13 +0000 diff --git a/src/go.c b/src/go.c index 4509cc25..8b6c1c3c 100644 --- a/src/go.c +++ b/src/go.c @@ -56,7 +56,7 @@ static inline void so2echo(SO2ECHO *s, double hiphz, double lophz, double x) { static inline void part1(S *s, double *mixdown, double trigger) { SO2 *so2 = &s->part1; double impulse[2] = { trigger, trigger }; - s->tempo = 0.01; + s->tempo = fmin(0.02, s->tempo * 1.000001); double p = phasor(&so2->phase, s->tempo); double t = 12 * (wrap(8 * p - 0.5) > 0.5); t -= 7 * (wrap(24 * p - 0.5) > 0.5);
diff @ 2017-02-25 18:42:40 +0000 diff --git a/src/go.c b/src/go.c index 8b6c1c3c..00ce8b55 100644 --- a/src/go.c +++ b/src/go.c @@ -66,8 +66,8 @@ static inline void part1(S *s, double *mixdown, double trigger) { double modulation = 1 * cos(twopi * p); double feedback[2] = - { delread4(&so2->echo[1].del, 900 - modulation) - , delread4(&so2->echo[0].del, 900 + modulation) + { delread4(&so2->echo[1].del, 450 - modulation) + , delread4(&so2->echo[0].del, 450 + modulation) }; for (int c = 0; c < 2; ++c) { double in = biquad(lowpass(&s->lop[c], 600 * pow(2, 0.1* sin(twopi * p)), flatq), feedback[c]);
diff @ 2017-02-25 18:42:51 +0000 diff --git a/src/go.c b/src/go.c index 00ce8b55..d53c416d 100644 --- a/src/go.c +++ b/src/go.c @@ -66,8 +66,8 @@ static inline void part1(S *s, double *mixdown, double trigger) { double modulation = 1 * cos(twopi * p); double feedback[2] = - { delread4(&so2->echo[1].del, 450 - modulation) - , delread4(&so2->echo[0].del, 450 + modulation) + { delread4(&so2->echo[1].del, 250 - modulation) + , delread4(&so2->echo[0].del, 250 + modulation) }; for (int c = 0; c < 2; ++c) { double in = biquad(lowpass(&s->lop[c], 600 * pow(2, 0.1* sin(twopi * p)), flatq), feedback[c]);
diff @ 2017-02-25 18:42:57 +0000 diff --git a/src/go.c b/src/go.c index d53c416d..32f3b05c 100644 --- a/src/go.c +++ b/src/go.c @@ -66,8 +66,8 @@ static inline void part1(S *s, double *mixdown, double trigger) { double modulation = 1 * cos(twopi * p); double feedback[2] = - { delread4(&so2->echo[1].del, 250 - modulation) - , delread4(&so2->echo[0].del, 250 + modulation) + { delread4(&so2->echo[1].del, 125 - modulation) + , delread4(&so2->echo[0].del, 125 + modulation) }; for (int c = 0; c < 2; ++c) { double in = biquad(lowpass(&s->lop[c], 600 * pow(2, 0.1* sin(twopi * p)), flatq), feedback[c]);
diff @ 2017-02-25 18:43:11 +0000 diff --git a/src/go.c b/src/go.c index 32f3b05c..cbad08e6 100644 --- a/src/go.c +++ b/src/go.c @@ -66,8 +66,8 @@ static inline void part1(S *s, double *mixdown, double trigger) { double modulation = 1 * cos(twopi * p); double feedback[2] = - { delread4(&so2->echo[1].del, 125 - modulation) - , delread4(&so2->echo[0].del, 125 + modulation) + { delread4(&so2->echo[1].del, 60 - modulation) + , delread4(&so2->echo[0].del, 60 + modulation) }; for (int c = 0; c < 2; ++c) { double in = biquad(lowpass(&s->lop[c], 600 * pow(2, 0.1* sin(twopi * p)), flatq), feedback[c]);
diff @ 2017-02-25 18:43:29 +0000 diff --git a/src/go.c b/src/go.c index cbad08e6..0543d2f2 100644 --- a/src/go.c +++ b/src/go.c @@ -66,8 +66,8 @@ static inline void part1(S *s, double *mixdown, double trigger) { double modulation = 1 * cos(twopi * p); double feedback[2] = - { delread4(&so2->echo[1].del, 60 - modulation) - , delread4(&so2->echo[0].del, 60 + modulation) + { delread4(&so2->echo[1].del, 30 - modulation) + , delread4(&so2->echo[0].del, 30 + modulation) }; for (int c = 0; c < 2; ++c) { double in = biquad(lowpass(&s->lop[c], 600 * pow(2, 0.1* sin(twopi * p)), flatq), feedback[c]);
diff @ 2017-02-25 18:43:36 +0000 diff --git a/src/go.c b/src/go.c index 0543d2f2..2a92077e 100644 --- a/src/go.c +++ b/src/go.c @@ -66,8 +66,8 @@ static inline void part1(S *s, double *mixdown, double trigger) { double modulation = 1 * cos(twopi * p); double feedback[2] = - { delread4(&so2->echo[1].del, 30 - modulation) - , delread4(&so2->echo[0].del, 30 + modulation) + { delread4(&so2->echo[1].del, 20 - modulation) + , delread4(&so2->echo[0].del, 20 + modulation) }; for (int c = 0; c < 2; ++c) { double in = biquad(lowpass(&s->lop[c], 600 * pow(2, 0.1* sin(twopi * p)), flatq), feedback[c]);
diff @ 2017-02-25 18:43:42 +0000 diff --git a/src/go.c b/src/go.c index 2a92077e..eeb09339 100644 --- a/src/go.c +++ b/src/go.c @@ -66,8 +66,8 @@ static inline void part1(S *s, double *mixdown, double trigger) { double modulation = 1 * cos(twopi * p); double feedback[2] = - { delread4(&so2->echo[1].del, 20 - modulation) - , delread4(&so2->echo[0].del, 20 + modulation) + { delread4(&so2->echo[1].del, 15 - modulation) + , delread4(&so2->echo[0].del, 15 + modulation) }; for (int c = 0; c < 2; ++c) { double in = biquad(lowpass(&s->lop[c], 600 * pow(2, 0.1* sin(twopi * p)), flatq), feedback[c]);
diff @ 2017-02-25 18:44:00 +0000 diff --git a/src/go.c b/src/go.c index eeb09339..b57f34c7 100644 --- a/src/go.c +++ b/src/go.c @@ -66,8 +66,8 @@ static inline void part1(S *s, double *mixdown, double trigger) { double modulation = 1 * cos(twopi * p); double feedback[2] = - { delread4(&so2->echo[1].del, 15 - modulation) - , delread4(&so2->echo[0].del, 15 + modulation) + { delread4(&so2->echo[1].del, 10 - modulation) + , delread4(&so2->echo[0].del, 10 + modulation) }; for (int c = 0; c < 2; ++c) { double in = biquad(lowpass(&s->lop[c], 600 * pow(2, 0.1* sin(twopi * p)), flatq), feedback[c]);
diff @ 2017-02-25 18:44:05 +0000 diff --git a/src/go.c b/src/go.c index b57f34c7..01806975 100644 --- a/src/go.c +++ b/src/go.c @@ -66,8 +66,8 @@ static inline void part1(S *s, double *mixdown, double trigger) { double modulation = 1 * cos(twopi * p); double feedback[2] = - { delread4(&so2->echo[1].del, 10 - modulation) - , delread4(&so2->echo[0].del, 10 + modulation) + { delread4(&so2->echo[1].del, 8 - modulation) + , delread4(&so2->echo[0].del, 8 + modulation) }; for (int c = 0; c < 2; ++c) { double in = biquad(lowpass(&s->lop[c], 600 * pow(2, 0.1* sin(twopi * p)), flatq), feedback[c]);
diff @ 2017-02-25 18:44:14 +0000 diff --git a/src/go.c b/src/go.c index 01806975..ca5cf8eb 100644 --- a/src/go.c +++ b/src/go.c @@ -56,7 +56,7 @@ static inline void so2echo(SO2ECHO *s, double hiphz, double lophz, double x) { static inline void part1(S *s, double *mixdown, double trigger) { SO2 *so2 = &s->part1; double impulse[2] = { trigger, trigger }; - s->tempo = fmin(0.02, s->tempo * 1.000001); + s->tempo = fmin(0.04, s->tempo * 1.000001); double p = phasor(&so2->phase, s->tempo); double t = 12 * (wrap(8 * p - 0.5) > 0.5); t -= 7 * (wrap(24 * p - 0.5) > 0.5);
diff @ 2017-02-25 18:44:43 +0000 diff --git a/src/go.c b/src/go.c index ca5cf8eb..7df8d7bb 100644 --- a/src/go.c +++ b/src/go.c @@ -66,8 +66,8 @@ static inline void part1(S *s, double *mixdown, double trigger) { double modulation = 1 * cos(twopi * p); double feedback[2] = - { delread4(&so2->echo[1].del, 8 - modulation) - , delread4(&so2->echo[0].del, 8 + modulation) + { delread4(&so2->echo[1].del, 6 - modulation) + , delread4(&so2->echo[0].del, 6 + modulation) }; for (int c = 0; c < 2; ++c) { double in = biquad(lowpass(&s->lop[c], 600 * pow(2, 0.1* sin(twopi * p)), flatq), feedback[c]);
diff @ 2017-02-25 18:44:56 +0000 diff --git a/src/go.c b/src/go.c index 7df8d7bb..e845ba97 100644 --- a/src/go.c +++ b/src/go.c @@ -66,8 +66,8 @@ static inline void part1(S *s, double *mixdown, double trigger) { double modulation = 1 * cos(twopi * p); double feedback[2] = - { delread4(&so2->echo[1].del, 6 - modulation) - , delread4(&so2->echo[0].del, 6 + modulation) + { delread4(&so2->echo[1].del, 5 - modulation) + , delread4(&so2->echo[0].del, 5 + modulation) }; for (int c = 0; c < 2; ++c) { double in = biquad(lowpass(&s->lop[c], 600 * pow(2, 0.1* sin(twopi * p)), flatq), feedback[c]);
diff @ 2017-02-25 18:45:03 +0000 diff --git a/src/go.c b/src/go.c index e845ba97..27bdb0ea 100644 --- a/src/go.c +++ b/src/go.c @@ -66,8 +66,8 @@ static inline void part1(S *s, double *mixdown, double trigger) { double modulation = 1 * cos(twopi * p); double feedback[2] = - { delread4(&so2->echo[1].del, 5 - modulation) - , delread4(&so2->echo[0].del, 5 + modulation) + { delread4(&so2->echo[1].del, 4 - modulation) + , delread4(&so2->echo[0].del, 4 + modulation) }; for (int c = 0; c < 2; ++c) { double in = biquad(lowpass(&s->lop[c], 600 * pow(2, 0.1* sin(twopi * p)), flatq), feedback[c]);
diff @ 2017-02-25 18:45:19 +0000 diff --git a/src/go.c b/src/go.c index 27bdb0ea..da73ff0d 100644 --- a/src/go.c +++ b/src/go.c @@ -66,8 +66,8 @@ static inline void part1(S *s, double *mixdown, double trigger) { double modulation = 1 * cos(twopi * p); double feedback[2] = - { delread4(&so2->echo[1].del, 4 - modulation) - , delread4(&so2->echo[0].del, 4 + modulation) + { delread4(&so2->echo[1].del, 3 - modulation) + , delread4(&so2->echo[0].del, 3 + modulation) }; for (int c = 0; c < 2; ++c) { double in = biquad(lowpass(&s->lop[c], 600 * pow(2, 0.1* sin(twopi * p)), flatq), feedback[c]);
diff @ 2017-02-25 18:45:25 +0000 diff --git a/src/go.c b/src/go.c index da73ff0d..27bdb0ea 100644 --- a/src/go.c +++ b/src/go.c @@ -66,8 +66,8 @@ static inline void part1(S *s, double *mixdown, double trigger) { double modulation = 1 * cos(twopi * p); double feedback[2] = - { delread4(&so2->echo[1].del, 3 - modulation) - , delread4(&so2->echo[0].del, 3 + modulation) + { delread4(&so2->echo[1].del, 4 - modulation) + , delread4(&so2->echo[0].del, 4 + modulation) }; for (int c = 0; c < 2; ++c) { double in = biquad(lowpass(&s->lop[c], 600 * pow(2, 0.1* sin(twopi * p)), flatq), feedback[c]);
diff @ 2017-02-25 18:45:39 +0000 diff --git a/src/go.c b/src/go.c index 27bdb0ea..5609065b 100644 --- a/src/go.c +++ b/src/go.c @@ -64,7 +64,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { t -= 2 * (wrap(25 * p - 0.5) > 0.5); t += 12 * (wrap(32 * p - 0.5) > 0.5); - double modulation = 1 * cos(twopi * p); + double modulation = 1 * cos(2 * twopi * p); double feedback[2] = { delread4(&so2->echo[1].del, 4 - modulation) , delread4(&so2->echo[0].del, 4 + modulation)
diff @ 2017-02-25 18:45:45 +0000 diff --git a/src/go.c b/src/go.c index 5609065b..3f13cf39 100644 --- a/src/go.c +++ b/src/go.c @@ -64,7 +64,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { t -= 2 * (wrap(25 * p - 0.5) > 0.5); t += 12 * (wrap(32 * p - 0.5) > 0.5); - double modulation = 1 * cos(2 * twopi * p); + double modulation = 1 * cos(4 * twopi * p); double feedback[2] = { delread4(&so2->echo[1].del, 4 - modulation) , delread4(&so2->echo[0].del, 4 + modulation)
diff @ 2017-02-25 18:45:50 +0000 diff --git a/src/go.c b/src/go.c index 3f13cf39..1140888a 100644 --- a/src/go.c +++ b/src/go.c @@ -64,7 +64,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { t -= 2 * (wrap(25 * p - 0.5) > 0.5); t += 12 * (wrap(32 * p - 0.5) > 0.5); - double modulation = 1 * cos(4 * twopi * p); + double modulation = 1 * cos(8 * twopi * p); double feedback[2] = { delread4(&so2->echo[1].del, 4 - modulation) , delread4(&so2->echo[0].del, 4 + modulation)
diff @ 2017-02-25 18:45:56 +0000 diff --git a/src/go.c b/src/go.c index 1140888a..ffb360ff 100644 --- a/src/go.c +++ b/src/go.c @@ -64,7 +64,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { t -= 2 * (wrap(25 * p - 0.5) > 0.5); t += 12 * (wrap(32 * p - 0.5) > 0.5); - double modulation = 1 * cos(8 * twopi * p); + double modulation = 1 * cos(16 * twopi * p); double feedback[2] = { delread4(&so2->echo[1].del, 4 - modulation) , delread4(&so2->echo[0].del, 4 + modulation)
diff @ 2017-02-25 18:46:06 +0000 diff --git a/src/go.c b/src/go.c index ffb360ff..73d4550e 100644 --- a/src/go.c +++ b/src/go.c @@ -64,7 +64,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { t -= 2 * (wrap(25 * p - 0.5) > 0.5); t += 12 * (wrap(32 * p - 0.5) > 0.5); - double modulation = 1 * cos(16 * twopi * p); + double modulation = 1 * cos(32 * twopi * p); double feedback[2] = { delread4(&so2->echo[1].del, 4 - modulation) , delread4(&so2->echo[0].del, 4 + modulation)
diff @ 2017-02-25 18:46:11 +0000 diff --git a/src/go.c b/src/go.c index 73d4550e..bfd3af91 100644 --- a/src/go.c +++ b/src/go.c @@ -64,7 +64,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { t -= 2 * (wrap(25 * p - 0.5) > 0.5); t += 12 * (wrap(32 * p - 0.5) > 0.5); - double modulation = 1 * cos(32 * twopi * p); + double modulation = 1 * cos(64 * twopi * p); double feedback[2] = { delread4(&so2->echo[1].del, 4 - modulation) , delread4(&so2->echo[0].del, 4 + modulation)
diff @ 2017-02-25 18:46:16 +0000 diff --git a/src/go.c b/src/go.c index bfd3af91..936f13da 100644 --- a/src/go.c +++ b/src/go.c @@ -56,7 +56,7 @@ static inline void so2echo(SO2ECHO *s, double hiphz, double lophz, double x) { static inline void part1(S *s, double *mixdown, double trigger) { SO2 *so2 = &s->part1; double impulse[2] = { trigger, trigger }; - s->tempo = fmin(0.04, s->tempo * 1.000001); + s->tempo = fmin(0.04, s->tempo * 1.00001); double p = phasor(&so2->phase, s->tempo); double t = 12 * (wrap(8 * p - 0.5) > 0.5); t -= 7 * (wrap(24 * p - 0.5) > 0.5);
diff @ 2017-02-25 18:46:20 +0000 diff --git a/src/go.c b/src/go.c index 936f13da..bce40722 100644 --- a/src/go.c +++ b/src/go.c @@ -64,7 +64,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { t -= 2 * (wrap(25 * p - 0.5) > 0.5); t += 12 * (wrap(32 * p - 0.5) > 0.5); - double modulation = 1 * cos(64 * twopi * p); + double modulation = 1 * cos(128 * twopi * p); double feedback[2] = { delread4(&so2->echo[1].del, 4 - modulation) , delread4(&so2->echo[0].del, 4 + modulation)
diff @ 2017-02-25 18:46:31 +0000 diff --git a/src/go.c b/src/go.c index bce40722..6c1a69a7 100644 --- a/src/go.c +++ b/src/go.c @@ -64,7 +64,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { t -= 2 * (wrap(25 * p - 0.5) > 0.5); t += 12 * (wrap(32 * p - 0.5) > 0.5); - double modulation = 1 * cos(128 * twopi * p); + double modulation = 1 * cos(256 * twopi * p); double feedback[2] = { delread4(&so2->echo[1].del, 4 - modulation) , delread4(&so2->echo[0].del, 4 + modulation)
diff @ 2017-02-25 18:46:36 +0000 diff --git a/src/go.c b/src/go.c index 6c1a69a7..ded081a2 100644 --- a/src/go.c +++ b/src/go.c @@ -64,7 +64,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { t -= 2 * (wrap(25 * p - 0.5) > 0.5); t += 12 * (wrap(32 * p - 0.5) > 0.5); - double modulation = 1 * cos(256 * twopi * p); + double modulation = 1 * cos(512 * twopi * p); double feedback[2] = { delread4(&so2->echo[1].del, 4 - modulation) , delread4(&so2->echo[0].del, 4 + modulation)
diff @ 2017-02-25 18:46:41 +0000 diff --git a/src/go.c b/src/go.c index ded081a2..e4e94db3 100644 --- a/src/go.c +++ b/src/go.c @@ -64,7 +64,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { t -= 2 * (wrap(25 * p - 0.5) > 0.5); t += 12 * (wrap(32 * p - 0.5) > 0.5); - double modulation = 1 * cos(512 * twopi * p); + double modulation = 1 * cos(1024 * twopi * p); double feedback[2] = { delread4(&so2->echo[1].del, 4 - modulation) , delread4(&so2->echo[0].del, 4 + modulation)
diff @ 2017-02-25 18:46:51 +0000 diff --git a/src/go.c b/src/go.c index e4e94db3..19ba8865 100644 --- a/src/go.c +++ b/src/go.c @@ -64,7 +64,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { t -= 2 * (wrap(25 * p - 0.5) > 0.5); t += 12 * (wrap(32 * p - 0.5) > 0.5); - double modulation = 1 * cos(1024 * twopi * p); + double modulation = 0.25 * cos(1024 * twopi * p); double feedback[2] = { delread4(&so2->echo[1].del, 4 - modulation) , delread4(&so2->echo[0].del, 4 + modulation)
diff @ 2017-02-25 18:46:54 +0000 diff --git a/src/go.c b/src/go.c index 19ba8865..7b70a93a 100644 --- a/src/go.c +++ b/src/go.c @@ -64,7 +64,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { t -= 2 * (wrap(25 * p - 0.5) > 0.5); t += 12 * (wrap(32 * p - 0.5) > 0.5); - double modulation = 0.25 * cos(1024 * twopi * p); + double modulation = 0.125 * cos(1024 * twopi * p); double feedback[2] = { delread4(&so2->echo[1].del, 4 - modulation) , delread4(&so2->echo[0].del, 4 + modulation)
diff @ 2017-02-25 18:47:05 +0000 diff --git a/src/go.c b/src/go.c index 7b70a93a..d8d249d0 100644 --- a/src/go.c +++ b/src/go.c @@ -64,7 +64,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { t -= 2 * (wrap(25 * p - 0.5) > 0.5); t += 12 * (wrap(32 * p - 0.5) > 0.5); - double modulation = 0.125 * cos(1024 * twopi * p); + double modulation = 0.125 * cos(2 * 1024 * twopi * p); double feedback[2] = { delread4(&so2->echo[1].del, 4 - modulation) , delread4(&so2->echo[0].del, 4 + modulation)
diff @ 2017-02-25 18:47:18 +0000 diff --git a/src/go.c b/src/go.c index d8d249d0..4167a453 100644 --- a/src/go.c +++ b/src/go.c @@ -64,7 +64,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { t -= 2 * (wrap(25 * p - 0.5) > 0.5); t += 12 * (wrap(32 * p - 0.5) > 0.5); - double modulation = 0.125 * cos(2 * 1024 * twopi * p); + double modulation = 0.125 * cos(4 * 1024 * twopi * p); double feedback[2] = { delread4(&so2->echo[1].del, 4 - modulation) , delread4(&so2->echo[0].del, 4 + modulation)
diff @ 2017-02-25 18:47:27 +0000 diff --git a/src/go.c b/src/go.c index 4167a453..bc2da74b 100644 --- a/src/go.c +++ b/src/go.c @@ -58,7 +58,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { double impulse[2] = { trigger, trigger }; s->tempo = fmin(0.04, s->tempo * 1.00001); double p = phasor(&so2->phase, s->tempo); - double t = 12 * (wrap(8 * p - 0.5) > 0.5); + double t = 12 * (wrap(64 * p - 0.5) > 0.5); t -= 7 * (wrap(24 * p - 0.5) > 0.5); t += 3 * (wrap(20 * p - 0.5) > 0.5); t -= 2 * (wrap(25 * p - 0.5) > 0.5);
diff @ 2017-02-25 18:47:43 +0000 diff --git a/src/go.c b/src/go.c index bc2da74b..702f316e 100644 --- a/src/go.c +++ b/src/go.c @@ -59,8 +59,8 @@ static inline void part1(S *s, double *mixdown, double trigger) { s->tempo = fmin(0.04, s->tempo * 1.00001); double p = phasor(&so2->phase, s->tempo); double t = 12 * (wrap(64 * p - 0.5) > 0.5); - t -= 7 * (wrap(24 * p - 0.5) > 0.5); - t += 3 * (wrap(20 * p - 0.5) > 0.5); + t -= 7 * (wrap(32 * p - 0.25) > 0.5); + t += 3 * (wrap(32 * p - 0.75) > 0.5); t -= 2 * (wrap(25 * p - 0.5) > 0.5); t += 12 * (wrap(32 * p - 0.5) > 0.5);
diff @ 2017-02-25 18:47:50 +0000 diff --git a/src/go.c b/src/go.c index 702f316e..eb4fc255 100644 --- a/src/go.c +++ b/src/go.c @@ -61,7 +61,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { double t = 12 * (wrap(64 * p - 0.5) > 0.5); t -= 7 * (wrap(32 * p - 0.25) > 0.5); t += 3 * (wrap(32 * p - 0.75) > 0.5); - t -= 2 * (wrap(25 * p - 0.5) > 0.5); + t -= 2 * (wrap(24 * p - 0.5) > 0.5); t += 12 * (wrap(32 * p - 0.5) > 0.5); double modulation = 0.125 * cos(4 * 1024 * twopi * p);
diff @ 2017-02-25 18:48:17 +0000 diff --git a/src/go.c b/src/go.c index eb4fc255..03234146 100644 --- a/src/go.c +++ b/src/go.c @@ -70,8 +70,8 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 4 + modulation) }; for (int c = 0; c < 2; ++c) { - double in = biquad(lowpass(&s->lop[c], 600 * pow(2, 0.1* sin(twopi * p)), flatq), feedback[c]); - in = biquad(highpass(&s->hip[c], 100 * pow(2, 0.1* sin(twopi * p)), flatq), in); + double in = biquad(lowpass(&s->lop[c], 600 * pow(2, -p), flatq), feedback[c]); + in = biquad(highpass(&s->hip[c], 100 * pow(2, -p), flatq), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -t, down); feedback[c] = feedback[c] - down - up;
diff @ 2017-02-25 18:48:27 +0000 diff --git a/src/go.c b/src/go.c index 03234146..8cd71a9b 100644 --- a/src/go.c +++ b/src/go.c @@ -70,8 +70,8 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 4 + modulation) }; for (int c = 0; c < 2; ++c) { - double in = biquad(lowpass(&s->lop[c], 600 * pow(2, -p), flatq), feedback[c]); - in = biquad(highpass(&s->hip[c], 100 * pow(2, -p), flatq), in); + double in = biquad(lowpass(&s->lop[c], 600 * pow(2, -p), flatq + 5), feedback[c]); + in = biquad(highpass(&s->hip[c], 100 * pow(2, -p), flatq + 5), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -t, down); feedback[c] = feedback[c] - down - up;
diff @ 2017-02-25 18:48:46 +0000 diff --git a/src/go.c b/src/go.c index 8cd71a9b..495787ad 100644 --- a/src/go.c +++ b/src/go.c @@ -70,8 +70,8 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 4 + modulation) }; for (int c = 0; c < 2; ++c) { - double in = biquad(lowpass(&s->lop[c], 600 * pow(2, -p), flatq + 5), feedback[c]); - in = biquad(highpass(&s->hip[c], 100 * pow(2, -p), flatq + 5), in); + double in = biquad(lowpass(&s->lop[c], 600 * pow(2, -wrap(4 * p)), flatq + 5), feedback[c]); + in = biquad(highpass(&s->hip[c], 100 * pow(2, -wrap(4 * p)), flatq + 5), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -t, down); feedback[c] = feedback[c] - down - up;
diff @ 2017-02-25 18:48:54 +0000 diff --git a/src/go.c b/src/go.c index 495787ad..dd41d0d9 100644 --- a/src/go.c +++ b/src/go.c @@ -70,8 +70,8 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 4 + modulation) }; for (int c = 0; c < 2; ++c) { - double in = biquad(lowpass(&s->lop[c], 600 * pow(2, -wrap(4 * p)), flatq + 5), feedback[c]); - in = biquad(highpass(&s->hip[c], 100 * pow(2, -wrap(4 * p)), flatq + 5), in); + double in = biquad(lowpass(&s->lop[c], 600 * pow(2, -wrap(16 * p)), flatq + 5), feedback[c]); + in = biquad(highpass(&s->hip[c], 100 * pow(2, -wrap(16 * p)), flatq + 5), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -t, down); feedback[c] = feedback[c] - down - up;
diff @ 2017-02-25 18:49:11 +0000 diff --git a/src/go.c b/src/go.c index dd41d0d9..ce4fce9d 100644 --- a/src/go.c +++ b/src/go.c @@ -70,8 +70,8 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 4 + modulation) }; for (int c = 0; c < 2; ++c) { - double in = biquad(lowpass(&s->lop[c], 600 * pow(2, -wrap(16 * p)), flatq + 5), feedback[c]); - in = biquad(highpass(&s->hip[c], 100 * pow(2, -wrap(16 * p)), flatq + 5), in); + double in = biquad(lowpass(&s->lop[c], 600 * pow(2, -wrap(16 * p)), flatq + 10), feedback[c]); + in = biquad(highpass(&s->hip[c], 100 * pow(2, -wrap(16 * p)), flatq + 10), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -t, down); feedback[c] = feedback[c] - down - up;
diff @ 2017-02-25 18:49:20 +0000 diff --git a/src/go.c b/src/go.c index ce4fce9d..fa030bc9 100644 --- a/src/go.c +++ b/src/go.c @@ -70,8 +70,8 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 4 + modulation) }; for (int c = 0; c < 2; ++c) { - double in = biquad(lowpass(&s->lop[c], 600 * pow(2, -wrap(16 * p)), flatq + 10), feedback[c]); - in = biquad(highpass(&s->hip[c], 100 * pow(2, -wrap(16 * p)), flatq + 10), in); + double in = biquad(lowpass(&s->lop[c], 600 * pow(2, -wrap(32 * p)), flatq + 10), feedback[c]); + in = biquad(highpass(&s->hip[c], 100 * pow(2, -wrap(32 * p)), flatq + 10), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -t, down); feedback[c] = feedback[c] - down - up;
diff @ 2017-02-25 18:49:26 +0000 diff --git a/src/go.c b/src/go.c index fa030bc9..18f19e86 100644 --- a/src/go.c +++ b/src/go.c @@ -70,8 +70,8 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 4 + modulation) }; for (int c = 0; c < 2; ++c) { - double in = biquad(lowpass(&s->lop[c], 600 * pow(2, -wrap(32 * p)), flatq + 10), feedback[c]); - in = biquad(highpass(&s->hip[c], 100 * pow(2, -wrap(32 * p)), flatq + 10), in); + double in = biquad(lowpass(&s->lop[c], 600 * pow(2, -wrap(64 * p)), flatq + 10), feedback[c]); + in = biquad(highpass(&s->hip[c], 100 * pow(2, -wrap(64 * p)), flatq + 10), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -t, down); feedback[c] = feedback[c] - down - up;
diff @ 2017-02-25 18:49:31 +0000 diff --git a/src/go.c b/src/go.c index 18f19e86..46f68d8c 100644 --- a/src/go.c +++ b/src/go.c @@ -70,8 +70,8 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 4 + modulation) }; for (int c = 0; c < 2; ++c) { - double in = biquad(lowpass(&s->lop[c], 600 * pow(2, -wrap(64 * p)), flatq + 10), feedback[c]); - in = biquad(highpass(&s->hip[c], 100 * pow(2, -wrap(64 * p)), flatq + 10), in); + double in = biquad(lowpass(&s->lop[c], 600 * pow(2, -wrap(128 * p)), flatq + 10), feedback[c]); + in = biquad(highpass(&s->hip[c], 100 * pow(2, -wrap(128 * p)), flatq + 10), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -t, down); feedback[c] = feedback[c] - down - up;
diff @ 2017-02-25 18:50:00 +0000 diff --git a/src/go.c b/src/go.c index 46f68d8c..28c3ff60 100644 --- a/src/go.c +++ b/src/go.c @@ -70,8 +70,8 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 4 + modulation) }; for (int c = 0; c < 2; ++c) { - double in = biquad(lowpass(&s->lop[c], 600 * pow(2, -wrap(128 * p)), flatq + 10), feedback[c]); - in = biquad(highpass(&s->hip[c], 100 * pow(2, -wrap(128 * p)), flatq + 10), in); + double in = biquad(lowpass(&s->lop[c], 600 * pow(2, -wrap(128 * p)-wrap(64 * p)), flatq + 10), feedback[c]); + in = biquad(highpass(&s->hip[c], 100 * pow(2, -wrap(128 * p)-wrap(64 * p)), flatq + 10), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -t, down); feedback[c] = feedback[c] - down - up;
diff @ 2017-02-25 18:50:10 +0000 diff --git a/src/go.c b/src/go.c index 28c3ff60..02fc50be 100644 --- a/src/go.c +++ b/src/go.c @@ -71,7 +71,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { }; for (int c = 0; c < 2; ++c) { double in = biquad(lowpass(&s->lop[c], 600 * pow(2, -wrap(128 * p)-wrap(64 * p)), flatq + 10), feedback[c]); - in = biquad(highpass(&s->hip[c], 100 * pow(2, -wrap(128 * p)-wrap(64 * p)), flatq + 10), in); + in = biquad(highpass(&s->hip[c], 400 * pow(2, -wrap(128 * p)-wrap(64 * p)), flatq + 10), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -t, down); feedback[c] = feedback[c] - down - up;
diff @ 2017-02-25 18:50:21 +0000 diff --git a/src/go.c b/src/go.c index 02fc50be..71e52256 100644 --- a/src/go.c +++ b/src/go.c @@ -70,8 +70,8 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 4 + modulation) }; for (int c = 0; c < 2; ++c) { - double in = biquad(lowpass(&s->lop[c], 600 * pow(2, -wrap(128 * p)-wrap(64 * p)), flatq + 10), feedback[c]); - in = biquad(highpass(&s->hip[c], 400 * pow(2, -wrap(128 * p)-wrap(64 * p)), flatq + 10), in); + double in = biquad(lowpass(&s->lop[c], 600 * pow(2, -wrap(128 * p)-2*wrap(64 * p)), flatq + 10), feedback[c]); + in = biquad(highpass(&s->hip[c], 400 * pow(2, -wrap(128 * p)-2*wrap(64 * p)), flatq + 10), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -t, down); feedback[c] = feedback[c] - down - up;
diff @ 2017-02-25 18:50:40 +0000 diff --git a/src/go.c b/src/go.c index 71e52256..6329a6f7 100644 --- a/src/go.c +++ b/src/go.c @@ -70,8 +70,8 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 4 + modulation) }; for (int c = 0; c < 2; ++c) { - double in = biquad(lowpass(&s->lop[c], 600 * pow(2, -wrap(128 * p)-2*wrap(64 * p)), flatq + 10), feedback[c]); - in = biquad(highpass(&s->hip[c], 400 * pow(2, -wrap(128 * p)-2*wrap(64 * p)), flatq + 10), in); + double in = biquad(lowpass(&s->lop[c], 600 * pow(2, wrap(32 * p) -wrap(128 * p)-2*wrap(64 * p)), flatq + 10), feedback[c]); + in = biquad(highpass(&s->hip[c], 400 * pow(2, wrap(32* p)-wrap(128 * p)-2*wrap(64 * p)), flatq + 10), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -t, down); feedback[c] = feedback[c] - down - up;
diff @ 2017-02-25 18:50:55 +0000 diff --git a/src/go.c b/src/go.c index 6329a6f7..a1a56a84 100644 --- a/src/go.c +++ b/src/go.c @@ -71,9 +71,9 @@ static inline void part1(S *s, double *mixdown, double trigger) { }; for (int c = 0; c < 2; ++c) { double in = biquad(lowpass(&s->lop[c], 600 * pow(2, wrap(32 * p) -wrap(128 * p)-2*wrap(64 * p)), flatq + 10), feedback[c]); - in = biquad(highpass(&s->hip[c], 400 * pow(2, wrap(32* p)-wrap(128 * p)-2*wrap(64 * p)), flatq + 10), in); - double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, t, in); - double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, -t, down); + in = biquad(highpass(&s->hip[c], 400 * pow(2, wrap(32 * p) -wrap(128 * p)-2*wrap(64 * p)), flatq + 10), in); + double down = pitchshift(&so2->shift[2 * c + 0], 2, 50, t, in); + double up = pitchshift(&so2->shift[2 * c + 1], 2, 50, -t, down); feedback[c] = feedback[c] - down - up; } double compressed[2] = { 0, 0 };
diff @ 2017-02-25 18:51:12 +0000 diff --git a/src/go.c b/src/go.c index a1a56a84..af20c219 100644 --- a/src/go.c +++ b/src/go.c @@ -56,7 +56,7 @@ static inline void so2echo(SO2ECHO *s, double hiphz, double lophz, double x) { static inline void part1(S *s, double *mixdown, double trigger) { SO2 *so2 = &s->part1; double impulse[2] = { trigger, trigger }; - s->tempo = fmin(0.04, s->tempo * 1.00001); + s->tempo = fmin(0.08, s->tempo * 1.00001); double p = phasor(&so2->phase, s->tempo); double t = 12 * (wrap(64 * p - 0.5) > 0.5); t -= 7 * (wrap(32 * p - 0.25) > 0.5);
diff @ 2017-02-25 18:51:26 +0000 diff --git a/src/go.c b/src/go.c index af20c219..d312445d 100644 --- a/src/go.c +++ b/src/go.c @@ -56,7 +56,7 @@ static inline void so2echo(SO2ECHO *s, double hiphz, double lophz, double x) { static inline void part1(S *s, double *mixdown, double trigger) { SO2 *so2 = &s->part1; double impulse[2] = { trigger, trigger }; - s->tempo = fmin(0.08, s->tempo * 1.00001); + s->tempo = fmin(1, s->tempo * 1.000001); double p = phasor(&so2->phase, s->tempo); double t = 12 * (wrap(64 * p - 0.5) > 0.5); t -= 7 * (wrap(32 * p - 0.25) > 0.5);
diff @ 2017-02-25 18:51:31 +0000 diff --git a/src/go.c b/src/go.c index d312445d..2af41645 100644 --- a/src/go.c +++ b/src/go.c @@ -56,7 +56,7 @@ static inline void so2echo(SO2ECHO *s, double hiphz, double lophz, double x) { static inline void part1(S *s, double *mixdown, double trigger) { SO2 *so2 = &s->part1; double impulse[2] = { trigger, trigger }; - s->tempo = fmin(1, s->tempo * 1.000001); + s->tempo = fmin(1, s->tempo * 1.0000001); double p = phasor(&so2->phase, s->tempo); double t = 12 * (wrap(64 * p - 0.5) > 0.5); t -= 7 * (wrap(32 * p - 0.25) > 0.5);
diff @ 2017-02-25 18:51:37 +0000 diff --git a/src/go.c b/src/go.c index 2af41645..f812a141 100644 --- a/src/go.c +++ b/src/go.c @@ -56,7 +56,7 @@ static inline void so2echo(SO2ECHO *s, double hiphz, double lophz, double x) { static inline void part1(S *s, double *mixdown, double trigger) { SO2 *so2 = &s->part1; double impulse[2] = { trigger, trigger }; - s->tempo = fmin(1, s->tempo * 1.0000001); + s->tempo = s->tempo * 1.0000001; double p = phasor(&so2->phase, s->tempo); double t = 12 * (wrap(64 * p - 0.5) > 0.5); t -= 7 * (wrap(32 * p - 0.25) > 0.5);
diff @ 2017-02-25 18:52:01 +0000 diff --git a/src/go.c b/src/go.c index f812a141..3376c28a 100644 --- a/src/go.c +++ b/src/go.c @@ -74,7 +74,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { in = biquad(highpass(&s->hip[c], 400 * pow(2, wrap(32 * p) -wrap(128 * p)-2*wrap(64 * p)), flatq + 10), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 50, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 50, -t, down); - feedback[c] = feedback[c] - down - up; + feedback[c] = sin(feedback[c] - down - up); } double compressed[2] = { 0, 0 }; compress(compressed, &so2->compress[0], 5, 10, 25, 48, feedback);
diff @ 2017-02-25 18:52:07 +0000 diff --git a/src/go.c b/src/go.c index 3376c28a..83217feb 100644 --- a/src/go.c +++ b/src/go.c @@ -74,7 +74,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { in = biquad(highpass(&s->hip[c], 400 * pow(2, wrap(32 * p) -wrap(128 * p)-2*wrap(64 * p)), flatq + 10), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 50, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 50, -t, down); - feedback[c] = sin(feedback[c] - down - up); + feedback[c] = sin(0.5 * (feedback[c] - down - up)); } double compressed[2] = { 0, 0 }; compress(compressed, &so2->compress[0], 5, 10, 25, 48, feedback);
diff @ 2017-02-25 18:52:12 +0000 diff --git a/src/go.c b/src/go.c index 83217feb..6f5204c3 100644 --- a/src/go.c +++ b/src/go.c @@ -74,7 +74,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { in = biquad(highpass(&s->hip[c], 400 * pow(2, wrap(32 * p) -wrap(128 * p)-2*wrap(64 * p)), flatq + 10), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 50, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 50, -t, down); - feedback[c] = sin(0.5 * (feedback[c] - down - up)); + feedback[c] = sin(0.7 * (feedback[c] - down - up)); } double compressed[2] = { 0, 0 }; compress(compressed, &so2->compress[0], 5, 10, 25, 48, feedback);
diff @ 2017-02-25 18:52:32 +0000 diff --git a/src/go.c b/src/go.c index 6f5204c3..928224ca 100644 --- a/src/go.c +++ b/src/go.c @@ -74,7 +74,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { in = biquad(highpass(&s->hip[c], 400 * pow(2, wrap(32 * p) -wrap(128 * p)-2*wrap(64 * p)), flatq + 10), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 50, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 50, -t, down); - feedback[c] = sin(0.7 * (feedback[c] - down - up)); + feedback[c] = sin(feedback[c]) - sin(down) - sin(up); } double compressed[2] = { 0, 0 }; compress(compressed, &so2->compress[0], 5, 10, 25, 48, feedback);
diff @ 2017-02-25 18:52:39 +0000 diff --git a/src/go.c b/src/go.c index 928224ca..1801de1b 100644 --- a/src/go.c +++ b/src/go.c @@ -74,7 +74,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { in = biquad(highpass(&s->hip[c], 400 * pow(2, wrap(32 * p) -wrap(128 * p)-2*wrap(64 * p)), flatq + 10), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 50, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 50, -t, down); - feedback[c] = sin(feedback[c]) - sin(down) - sin(up); + feedback[c] = sin(feedback[c]) - sin(down) - sin(1.5 * up); } double compressed[2] = { 0, 0 }; compress(compressed, &so2->compress[0], 5, 10, 25, 48, feedback);
diff @ 2017-02-25 18:52:42 +0000 diff --git a/src/go.c b/src/go.c index 1801de1b..58114413 100644 --- a/src/go.c +++ b/src/go.c @@ -74,7 +74,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { in = biquad(highpass(&s->hip[c], 400 * pow(2, wrap(32 * p) -wrap(128 * p)-2*wrap(64 * p)), flatq + 10), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 50, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 50, -t, down); - feedback[c] = sin(feedback[c]) - sin(down) - sin(1.5 * up); + feedback[c] = sin(feedback[c]) - sin(1.5 * down) - sin(1.5 * up); } double compressed[2] = { 0, 0 }; compress(compressed, &so2->compress[0], 5, 10, 25, 48, feedback);
diff @ 2017-02-25 18:52:45 +0000 diff --git a/src/go.c b/src/go.c index 58114413..e6db272b 100644 --- a/src/go.c +++ b/src/go.c @@ -74,7 +74,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { in = biquad(highpass(&s->hip[c], 400 * pow(2, wrap(32 * p) -wrap(128 * p)-2*wrap(64 * p)), flatq + 10), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 50, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 50, -t, down); - feedback[c] = sin(feedback[c]) - sin(1.5 * down) - sin(1.5 * up); + feedback[c] = sin(1.5 * feedback[c]) - sin(1.5 * down) - sin(1.5 * up); } double compressed[2] = { 0, 0 }; compress(compressed, &so2->compress[0], 5, 10, 25, 48, feedback);
diff @ 2017-02-25 18:52:53 +0000 diff --git a/src/go.c b/src/go.c index e6db272b..05420d90 100644 --- a/src/go.c +++ b/src/go.c @@ -74,7 +74,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { in = biquad(highpass(&s->hip[c], 400 * pow(2, wrap(32 * p) -wrap(128 * p)-2*wrap(64 * p)), flatq + 10), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 50, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 50, -t, down); - feedback[c] = sin(1.5 * feedback[c]) - sin(1.5 * down) - sin(1.5 * up); + feedback[c] = feedback[c] - sin(1.5 * down) - sin(1.5 * up); } double compressed[2] = { 0, 0 }; compress(compressed, &so2->compress[0], 5, 10, 25, 48, feedback);
diff @ 2017-02-25 18:53:08 +0000 diff --git a/src/go.c b/src/go.c index 05420d90..d59adcfd 100644 --- a/src/go.c +++ b/src/go.c @@ -74,7 +74,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { in = biquad(highpass(&s->hip[c], 400 * pow(2, wrap(32 * p) -wrap(128 * p)-2*wrap(64 * p)), flatq + 10), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 50, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 50, -t, down); - feedback[c] = feedback[c] - sin(1.5 * down) - sin(1.5 * up); + feedback[c] = feedback[c] - sin(in) - down - up; } double compressed[2] = { 0, 0 }; compress(compressed, &so2->compress[0], 5, 10, 25, 48, feedback);
diff @ 2017-02-25 18:53:13 +0000 diff --git a/src/go.c b/src/go.c index d59adcfd..ee10ee2d 100644 --- a/src/go.c +++ b/src/go.c @@ -74,7 +74,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { in = biquad(highpass(&s->hip[c], 400 * pow(2, wrap(32 * p) -wrap(128 * p)-2*wrap(64 * p)), flatq + 10), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 50, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 50, -t, down); - feedback[c] = feedback[c] - sin(in) - down - up; + feedback[c] = feedback[c] - sin(1.5 * in) - down - up; } double compressed[2] = { 0, 0 }; compress(compressed, &so2->compress[0], 5, 10, 25, 48, feedback);
diff @ 2017-02-25 18:53:28 +0000 diff --git a/src/go.c b/src/go.c index ee10ee2d..013349d7 100644 --- a/src/go.c +++ b/src/go.c @@ -74,7 +74,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { in = biquad(highpass(&s->hip[c], 400 * pow(2, wrap(32 * p) -wrap(128 * p)-2*wrap(64 * p)), flatq + 10), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 50, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 50, -t, down); - feedback[c] = feedback[c] - sin(1.5 * in) - down - up; + feedback[c] = feedback[c] - sin(in * in * in) - down - up; } double compressed[2] = { 0, 0 }; compress(compressed, &so2->compress[0], 5, 10, 25, 48, feedback);
diff @ 2017-02-25 18:53:38 +0000 diff --git a/src/go.c b/src/go.c index 013349d7..92eeb73b 100644 --- a/src/go.c +++ b/src/go.c @@ -74,7 +74,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { in = biquad(highpass(&s->hip[c], 400 * pow(2, wrap(32 * p) -wrap(128 * p)-2*wrap(64 * p)), flatq + 10), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 50, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 50, -t, down); - feedback[c] = feedback[c] - sin(in * in * in) - down - up; + feedback[c] = feedback[c] - sin(0.5 * in * in * in) - down - up; } double compressed[2] = { 0, 0 }; compress(compressed, &so2->compress[0], 5, 10, 25, 48, feedback);
diff @ 2017-02-25 18:53:45 +0000 diff --git a/src/go.c b/src/go.c index 92eeb73b..59480e98 100644 --- a/src/go.c +++ b/src/go.c @@ -70,8 +70,8 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 4 + modulation) }; for (int c = 0; c < 2; ++c) { - double in = biquad(lowpass(&s->lop[c], 600 * pow(2, wrap(32 * p) -wrap(128 * p)-2*wrap(64 * p)), flatq + 10), feedback[c]); - in = biquad(highpass(&s->hip[c], 400 * pow(2, wrap(32 * p) -wrap(128 * p)-2*wrap(64 * p)), flatq + 10), in); + double in = biquad(lowpass(&s->lop[c], 600 * pow(2, wrap(32 * p) -wrap(128 * p)-2*wrap(64 * p)), flatq + 20), feedback[c]); + in = biquad(highpass(&s->hip[c], 400 * pow(2, wrap(32 * p) -wrap(128 * p)-2*wrap(64 * p)), flatq + 20), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 50, t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 50, -t, down); feedback[c] = feedback[c] - sin(0.5 * in * in * in) - down - up;
diff @ 2017-02-25 18:54:03 +0000 diff --git a/src/go.c b/src/go.c index 59480e98..a5ace1ec 100644 --- a/src/go.c +++ b/src/go.c @@ -64,10 +64,10 @@ static inline void part1(S *s, double *mixdown, double trigger) { t -= 2 * (wrap(24 * p - 0.5) > 0.5); t += 12 * (wrap(32 * p - 0.5) > 0.5); - double modulation = 0.125 * cos(4 * 1024 * twopi * p); + double modulation = 125 * cos(4 * 1024 * twopi * p); double feedback[2] = - { delread4(&so2->echo[1].del, 4 - modulation) - , delread4(&so2->echo[0].del, 4 + modulation) + { delread4(&so2->echo[1].del, 400 - modulation) + , delread4(&so2->echo[0].del, 400 + modulation) }; for (int c = 0; c < 2; ++c) { double in = biquad(lowpass(&s->lop[c], 600 * pow(2, wrap(32 * p) -wrap(128 * p)-2*wrap(64 * p)), flatq + 20), feedback[c]);
diff @ 2017-02-25 18:54:05 +0000 diff --git a/src/go.c b/src/go.c index a5ace1ec..110d737a 100644 --- a/src/go.c +++ b/src/go.c @@ -64,7 +64,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { t -= 2 * (wrap(24 * p - 0.5) > 0.5); t += 12 * (wrap(32 * p - 0.5) > 0.5); - double modulation = 125 * cos(4 * 1024 * twopi * p); + double modulation = 0.125 * cos(4 * 1024 * twopi * p); double feedback[2] = { delread4(&so2->echo[1].del, 400 - modulation) , delread4(&so2->echo[0].del, 400 + modulation)
diff @ 2017-02-25 18:54:22 +0000 diff --git a/src/go.c b/src/go.c index 110d737a..04f26a21 100644 --- a/src/go.c +++ b/src/go.c @@ -64,7 +64,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { t -= 2 * (wrap(24 * p - 0.5) > 0.5); t += 12 * (wrap(32 * p - 0.5) > 0.5); - double modulation = 0.125 * cos(4 * 1024 * twopi * p); + double modulation = cos(16 * twopi * p); double feedback[2] = { delread4(&so2->echo[1].del, 400 - modulation) , delread4(&so2->echo[0].del, 400 + modulation)
diff @ 2017-02-25 18:54:26 +0000 diff --git a/src/go.c b/src/go.c index 04f26a21..832cd6c5 100644 --- a/src/go.c +++ b/src/go.c @@ -64,7 +64,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { t -= 2 * (wrap(24 * p - 0.5) > 0.5); t += 12 * (wrap(32 * p - 0.5) > 0.5); - double modulation = cos(16 * twopi * p); + double modulation = 10 * cos(16 * twopi * p); double feedback[2] = { delread4(&so2->echo[1].del, 400 - modulation) , delread4(&so2->echo[0].del, 400 + modulation)
diff @ 2017-02-25 18:54:50 +0000 diff --git a/src/go.c b/src/go.c index 832cd6c5..ec75393c 100644 --- a/src/go.c +++ b/src/go.c @@ -72,8 +72,8 @@ static inline void part1(S *s, double *mixdown, double trigger) { for (int c = 0; c < 2; ++c) { double in = biquad(lowpass(&s->lop[c], 600 * pow(2, wrap(32 * p) -wrap(128 * p)-2*wrap(64 * p)), flatq + 20), feedback[c]); in = biquad(highpass(&s->hip[c], 400 * pow(2, wrap(32 * p) -wrap(128 * p)-2*wrap(64 * p)), flatq + 20), in); - double down = pitchshift(&so2->shift[2 * c + 0], 2, 50, t, in); - double up = pitchshift(&so2->shift[2 * c + 1], 2, 50, -t, down); + double down = pitchshift(&so2->shift[2 * c + 0], 2, 25, t, in); + double up = pitchshift(&so2->shift[2 * c + 1], 2, 25, -t, down); feedback[c] = feedback[c] - sin(0.5 * in * in * in) - down - up; } double compressed[2] = { 0, 0 };
diff @ 2017-02-25 18:55:04 +0000 diff --git a/src/go.c b/src/go.c index ec75393c..700a1cd7 100644 --- a/src/go.c +++ b/src/go.c @@ -58,7 +58,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { double impulse[2] = { trigger, trigger }; s->tempo = s->tempo * 1.0000001; double p = phasor(&so2->phase, s->tempo); - double t = 12 * (wrap(64 * p - 0.5) > 0.5); + double t = 12 * (wrap(16 * p - 0.5) > 0.5); t -= 7 * (wrap(32 * p - 0.25) > 0.5); t += 3 * (wrap(32 * p - 0.75) > 0.5); t -= 2 * (wrap(24 * p - 0.5) > 0.5);
diff @ 2017-02-25 18:55:17 +0000 diff --git a/src/go.c b/src/go.c index 700a1cd7..2d22b3ed 100644 --- a/src/go.c +++ b/src/go.c @@ -61,7 +61,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { double t = 12 * (wrap(16 * p - 0.5) > 0.5); t -= 7 * (wrap(32 * p - 0.25) > 0.5); t += 3 * (wrap(32 * p - 0.75) > 0.5); - t -= 2 * (wrap(24 * p - 0.5) > 0.5); + t -= 2 * (wrap(12 * p - 0.5) > 0.5); t += 12 * (wrap(32 * p - 0.5) > 0.5); double modulation = 10 * cos(16 * twopi * p);
diff @ 2017-02-25 18:55:25 +0000 diff --git a/src/go.c b/src/go.c index 2d22b3ed..c75d852c 100644 --- a/src/go.c +++ b/src/go.c @@ -59,10 +59,10 @@ static inline void part1(S *s, double *mixdown, double trigger) { s->tempo = s->tempo * 1.0000001; double p = phasor(&so2->phase, s->tempo); double t = 12 * (wrap(16 * p - 0.5) > 0.5); - t -= 7 * (wrap(32 * p - 0.25) > 0.5); - t += 3 * (wrap(32 * p - 0.75) > 0.5); + t -= 7 * (wrap(16 * p - 0.25) > 0.5); + t += 3 * (wrap(16 * p - 0.75) > 0.5); t -= 2 * (wrap(12 * p - 0.5) > 0.5); - t += 12 * (wrap(32 * p - 0.5) > 0.5); + t += 12 * (wrap(16 * p - 0.5) > 0.5); double modulation = 10 * cos(16 * twopi * p); double feedback[2] =
diff @ 2017-02-25 18:55:31 +0000 diff --git a/src/go.c b/src/go.c index c75d852c..8c5e6ddf 100644 --- a/src/go.c +++ b/src/go.c @@ -62,7 +62,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { t -= 7 * (wrap(16 * p - 0.25) > 0.5); t += 3 * (wrap(16 * p - 0.75) > 0.5); t -= 2 * (wrap(12 * p - 0.5) > 0.5); - t += 12 * (wrap(16 * p - 0.5) > 0.5); + t += 12 * (wrap(16 * p) > 0.5); double modulation = 10 * cos(16 * twopi * p); double feedback[2] =
diff @ 2017-02-25 18:55:36 +0000 diff --git a/src/go.c b/src/go.c index 8c5e6ddf..7d79d748 100644 --- a/src/go.c +++ b/src/go.c @@ -62,7 +62,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { t -= 7 * (wrap(16 * p - 0.25) > 0.5); t += 3 * (wrap(16 * p - 0.75) > 0.5); t -= 2 * (wrap(12 * p - 0.5) > 0.5); - t += 12 * (wrap(16 * p) > 0.5); + t += 12 * (wrap(16 * p -0.25) > 0.5); double modulation = 10 * cos(16 * twopi * p); double feedback[2] =
diff @ 2017-02-25 18:55:52 +0000 diff --git a/src/go.c b/src/go.c index 7d79d748..c88bc312 100644 --- a/src/go.c +++ b/src/go.c @@ -66,8 +66,8 @@ static inline void part1(S *s, double *mixdown, double trigger) { double modulation = 10 * cos(16 * twopi * p); double feedback[2] = - { delread4(&so2->echo[1].del, 400 - modulation) - , delread4(&so2->echo[0].del, 400 + modulation) + { delread4(&so2->echo[1].del, 800 - modulation) + , delread4(&so2->echo[0].del, 800 + modulation) }; for (int c = 0; c < 2; ++c) { double in = biquad(lowpass(&s->lop[c], 600 * pow(2, wrap(32 * p) -wrap(128 * p)-2*wrap(64 * p)), flatq + 20), feedback[c]);
diff @ 2017-02-25 18:56:03 +0000 diff --git a/src/go.c b/src/go.c index c88bc312..02145954 100644 --- a/src/go.c +++ b/src/go.c @@ -56,7 +56,7 @@ static inline void so2echo(SO2ECHO *s, double hiphz, double lophz, double x) { static inline void part1(S *s, double *mixdown, double trigger) { SO2 *so2 = &s->part1; double impulse[2] = { trigger, trigger }; - s->tempo = s->tempo * 1.0000001; + s->tempo = s->tempo * 1.0000002; double p = phasor(&so2->phase, s->tempo); double t = 12 * (wrap(16 * p - 0.5) > 0.5); t -= 7 * (wrap(16 * p - 0.25) > 0.5);
diff @ 2017-02-25 18:56:17 +0000 diff --git a/src/go.c b/src/go.c index 02145954..d6db3139 100644 --- a/src/go.c +++ b/src/go.c @@ -72,8 +72,8 @@ static inline void part1(S *s, double *mixdown, double trigger) { for (int c = 0; c < 2; ++c) { double in = biquad(lowpass(&s->lop[c], 600 * pow(2, wrap(32 * p) -wrap(128 * p)-2*wrap(64 * p)), flatq + 20), feedback[c]); in = biquad(highpass(&s->hip[c], 400 * pow(2, wrap(32 * p) -wrap(128 * p)-2*wrap(64 * p)), flatq + 20), in); - double down = pitchshift(&so2->shift[2 * c + 0], 2, 25, t, in); - double up = pitchshift(&so2->shift[2 * c + 1], 2, 25, -t, down); + double down = pitchshift(&so2->shift[2 * c + 0], 2, 25, 3 + t, in); + double up = pitchshift(&so2->shift[2 * c + 1], 2, 25, 3 - t, down); feedback[c] = feedback[c] - sin(0.5 * in * in * in) - down - up; } double compressed[2] = { 0, 0 };
diff @ 2017-02-25 18:56:26 +0000 diff --git a/src/go.c b/src/go.c index d6db3139..0e833dcf 100644 --- a/src/go.c +++ b/src/go.c @@ -72,8 +72,8 @@ static inline void part1(S *s, double *mixdown, double trigger) { for (int c = 0; c < 2; ++c) { double in = biquad(lowpass(&s->lop[c], 600 * pow(2, wrap(32 * p) -wrap(128 * p)-2*wrap(64 * p)), flatq + 20), feedback[c]); in = biquad(highpass(&s->hip[c], 400 * pow(2, wrap(32 * p) -wrap(128 * p)-2*wrap(64 * p)), flatq + 20), in); - double down = pitchshift(&so2->shift[2 * c + 0], 2, 25, 3 + t, in); - double up = pitchshift(&so2->shift[2 * c + 1], 2, 25, 3 - t, down); + double down = pitchshift(&so2->shift[2 * c + 0], 2, 25, 7 + t, in); + double up = pitchshift(&so2->shift[2 * c + 1], 2, 25, 7 - t, down); feedback[c] = feedback[c] - sin(0.5 * in * in * in) - down - up; } double compressed[2] = { 0, 0 };
diff @ 2017-02-25 18:56:34 +0000 diff --git a/src/go.c b/src/go.c index 0e833dcf..d31b5720 100644 --- a/src/go.c +++ b/src/go.c @@ -72,8 +72,8 @@ static inline void part1(S *s, double *mixdown, double trigger) { for (int c = 0; c < 2; ++c) { double in = biquad(lowpass(&s->lop[c], 600 * pow(2, wrap(32 * p) -wrap(128 * p)-2*wrap(64 * p)), flatq + 20), feedback[c]); in = biquad(highpass(&s->hip[c], 400 * pow(2, wrap(32 * p) -wrap(128 * p)-2*wrap(64 * p)), flatq + 20), in); - double down = pitchshift(&so2->shift[2 * c + 0], 2, 25, 7 + t, in); - double up = pitchshift(&so2->shift[2 * c + 1], 2, 25, 7 - t, down); + double down = pitchshift(&so2->shift[2 * c + 0], 2, 25, 12 + t, in); + double up = pitchshift(&so2->shift[2 * c + 1], 2, 25, 12 - t, down); feedback[c] = feedback[c] - sin(0.5 * in * in * in) - down - up; } double compressed[2] = { 0, 0 };
diff @ 2017-02-25 18:56:49 +0000 diff --git a/src/go.c b/src/go.c index d31b5720..be014ee3 100644 --- a/src/go.c +++ b/src/go.c @@ -74,7 +74,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { in = biquad(highpass(&s->hip[c], 400 * pow(2, wrap(32 * p) -wrap(128 * p)-2*wrap(64 * p)), flatq + 20), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 25, 12 + t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 25, 12 - t, down); - feedback[c] = feedback[c] - sin(0.5 * in * in * in) - down - up; + feedback[c] = feedback[c] - sin(0.7 * in * in * in) - down - up; } double compressed[2] = { 0, 0 }; compress(compressed, &so2->compress[0], 5, 10, 25, 48, feedback);
diff @ 2017-02-25 18:57:00 +0000 diff --git a/src/go.c b/src/go.c index be014ee3..36394ecb 100644 --- a/src/go.c +++ b/src/go.c @@ -64,7 +64,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { t -= 2 * (wrap(12 * p - 0.5) > 0.5); t += 12 * (wrap(16 * p -0.25) > 0.5); - double modulation = 10 * cos(16 * twopi * p); + double modulation = 10 * cos(4 * twopi * p); double feedback[2] = { delread4(&so2->echo[1].del, 800 - modulation) , delread4(&so2->echo[0].del, 800 + modulation)
diff @ 2017-02-25 18:57:04 +0000 diff --git a/src/go.c b/src/go.c index 36394ecb..a1c980a8 100644 --- a/src/go.c +++ b/src/go.c @@ -64,7 +64,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { t -= 2 * (wrap(12 * p - 0.5) > 0.5); t += 12 * (wrap(16 * p -0.25) > 0.5); - double modulation = 10 * cos(4 * twopi * p); + double modulation = 100 * cos(twopi * p); double feedback[2] = { delread4(&so2->echo[1].del, 800 - modulation) , delread4(&so2->echo[0].del, 800 + modulation)
diff @ 2017-02-25 18:57:10 +0000 diff --git a/src/go.c b/src/go.c index a1c980a8..f80fc325 100644 --- a/src/go.c +++ b/src/go.c @@ -56,7 +56,7 @@ static inline void so2echo(SO2ECHO *s, double hiphz, double lophz, double x) { static inline void part1(S *s, double *mixdown, double trigger) { SO2 *so2 = &s->part1; double impulse[2] = { trigger, trigger }; - s->tempo = s->tempo * 1.0000002; + s->tempo = s->tempo * 1.0000005; double p = phasor(&so2->phase, s->tempo); double t = 12 * (wrap(16 * p - 0.5) > 0.5); t -= 7 * (wrap(16 * p - 0.25) > 0.5);
diff @ 2017-02-25 18:57:55 +0000 diff --git a/src/go.c b/src/go.c index f80fc325..cc3444ea 100644 --- a/src/go.c +++ b/src/go.c @@ -56,7 +56,7 @@ static inline void so2echo(SO2ECHO *s, double hiphz, double lophz, double x) { static inline void part1(S *s, double *mixdown, double trigger) { SO2 *so2 = &s->part1; double impulse[2] = { trigger, trigger }; - s->tempo = s->tempo * 1.0000005; + s->tempo = 0.01; double p = phasor(&so2->phase, s->tempo); double t = 12 * (wrap(16 * p - 0.5) > 0.5); t -= 7 * (wrap(16 * p - 0.25) > 0.5);
diff @ 2017-02-25 18:58:14 +0000 diff --git a/src/go.c b/src/go.c index cc3444ea..9ef095df 100644 --- a/src/go.c +++ b/src/go.c @@ -74,7 +74,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { in = biquad(highpass(&s->hip[c], 400 * pow(2, wrap(32 * p) -wrap(128 * p)-2*wrap(64 * p)), flatq + 20), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 25, 12 + t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 25, 12 - t, down); - feedback[c] = feedback[c] - sin(0.7 * in * in * in) - down - up; + feedback[c] = feedback[c] - sin(0.17 * in * in * in) - down - up; } double compressed[2] = { 0, 0 }; compress(compressed, &so2->compress[0], 5, 10, 25, 48, feedback);
diff @ 2017-02-25 18:58:28 +0000 diff --git a/src/go.c b/src/go.c index 9ef095df..b7068459 100644 --- a/src/go.c +++ b/src/go.c @@ -74,7 +74,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { in = biquad(highpass(&s->hip[c], 400 * pow(2, wrap(32 * p) -wrap(128 * p)-2*wrap(64 * p)), flatq + 20), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 25, 12 + t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 25, 12 - t, down); - feedback[c] = feedback[c] - sin(0.17 * in * in * in) - down - up; + feedback[c] = tanh(feedback[c] - sin(0.17 * in * in * in) - down - up); } double compressed[2] = { 0, 0 }; compress(compressed, &so2->compress[0], 5, 10, 25, 48, feedback);
diff @ 2017-02-25 18:58:49 +0000 diff --git a/src/go.c b/src/go.c index b7068459..b67d9a13 100644 --- a/src/go.c +++ b/src/go.c @@ -72,8 +72,8 @@ static inline void part1(S *s, double *mixdown, double trigger) { for (int c = 0; c < 2; ++c) { double in = biquad(lowpass(&s->lop[c], 600 * pow(2, wrap(32 * p) -wrap(128 * p)-2*wrap(64 * p)), flatq + 20), feedback[c]); in = biquad(highpass(&s->hip[c], 400 * pow(2, wrap(32 * p) -wrap(128 * p)-2*wrap(64 * p)), flatq + 20), in); - double down = pitchshift(&so2->shift[2 * c + 0], 2, 25, 12 + t, in); - double up = pitchshift(&so2->shift[2 * c + 1], 2, 25, 12 - t, down); + double down = pitchshift(&so2->shift[2 * c + 0], 2, 25, 0 + t, in); + double up = pitchshift(&so2->shift[2 * c + 1], 2, 25, 0 - t, down); feedback[c] = tanh(feedback[c] - sin(0.17 * in * in * in) - down - up); } double compressed[2] = { 0, 0 };
diff @ 2017-02-25 18:59:02 +0000 diff --git a/src/go.c b/src/go.c index b67d9a13..9eb069cc 100644 --- a/src/go.c +++ b/src/go.c @@ -66,8 +66,8 @@ static inline void part1(S *s, double *mixdown, double trigger) { double modulation = 100 * cos(twopi * p); double feedback[2] = - { delread4(&so2->echo[1].del, 800 - modulation) - , delread4(&so2->echo[0].del, 800 + modulation) + { delread4(&so2->echo[1].del, 100 - modulation) + , delread4(&so2->echo[0].del, 100 + modulation) }; for (int c = 0; c < 2; ++c) { double in = biquad(lowpass(&s->lop[c], 600 * pow(2, wrap(32 * p) -wrap(128 * p)-2*wrap(64 * p)), flatq + 20), feedback[c]);
diff @ 2017-02-25 18:59:43 +0000 diff --git a/src/go.c b/src/go.c index 9eb069cc..9ab6ddf1 100644 --- a/src/go.c +++ b/src/go.c @@ -70,7 +70,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { , delread4(&so2->echo[0].del, 100 + modulation) }; for (int c = 0; c < 2; ++c) { - double in = biquad(lowpass(&s->lop[c], 600 * pow(2, wrap(32 * p) -wrap(128 * p)-2*wrap(64 * p)), flatq + 20), feedback[c]); + double in = /*biquad(lowpass(&s->lop[c], 600 * pow(2, wrap(32 * p) -wrap(128 * p)-2*wrap(64 * p)), flatq + 20),*/ feedback[c];//); in = biquad(highpass(&s->hip[c], 400 * pow(2, wrap(32 * p) -wrap(128 * p)-2*wrap(64 * p)), flatq + 20), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 25, 0 + t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 25, 0 - t, down);
diff @ 2017-02-25 18:59:49 +0000 diff --git a/src/go.c b/src/go.c index 9ab6ddf1..6923ce70 100644 --- a/src/go.c +++ b/src/go.c @@ -71,7 +71,7 @@ static inline void part1(S *s, double *mixdown, double trigger) { }; for (int c = 0; c < 2; ++c) { double in = /*biquad(lowpass(&s->lop[c], 600 * pow(2, wrap(32 * p) -wrap(128 * p)-2*wrap(64 * p)), flatq + 20),*/ feedback[c];//); - in = biquad(highpass(&s->hip[c], 400 * pow(2, wrap(32 * p) -wrap(128 * p)-2*wrap(64 * p)), flatq + 20), in); +// in = biquad(highpass(&s->hip[c], 400 * pow(2, wrap(32 * p) -wrap(128 * p)-2*wrap(64 * p)), flatq + 20), in); double down = pitchshift(&so2->shift[2 * c + 0], 2, 25, 0 + t, in); double up = pitchshift(&so2->shift[2 * c + 1], 2, 25, 0 - t, down); feedback[c] = tanh(feedback[c] - sin(0.17 * in * in * in) - down - up);
diff @ 2017-02-25 19:00:13 +0000 diff --git a/src/go.c b/src/go.c index 6923ce70..b0dc6320 100644 --- a/src/go.c +++ b/src/go.c @@ -72,8 +72,8 @@ static inline void part1(S *s, double *mixdown, double trigger) { for (int c = 0; c < 2; ++c) { double in = /*biquad(lowpass(&s->lop[c], 600 * pow(2, wrap(32 * p) -wrap(128 * p)-2*wrap(64 * p)), flatq + 20),*/ feedback[c];//); // in = biquad(highpass(&s->hip[c], 400 * pow(2, wrap(32 * p) -wrap(128 * p)-2*wrap(64 * p)), flatq + 20), in); - double down = pitchshift(&so2->shift[2 * c + 0], 2, 25, 0 + t, in); - double up = pitchshift(&so2->shift[2 * c + 1], 2, 25, 0 - t, down); + double down = pitchshift(&so2->shift[2 * c + 0], 2, 100, 0 + t, in); + double up = pitchshift(&so2->shift[2 * c + 1], 2, 100, 0 - t, down); feedback[c] = tanh(feedback[c] - sin(0.17 * in * in * in) - down - up); } double compressed[2] = { 0, 0 };