clive is a C audio live-coding skeleton. It allows you to hot-swap DSP processing callbacks, providing not much more than automatic C code recompilation, object code reloading, and state preservation.
diff @ 2016-08-07 21:12:21 +0100 diff --git a/src/go.c b/src/go.c index 2624721..226c342 100644 --- a/src/go.c +++ b/src/go.c @@ -47,8 +47,8 @@ int go(S *s, int channels, const float *in, float *out) { // pitchshift feedback for (int c = 0; c < 2; ++c) { - double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 0/*-12*/, feedback[c]); - double up = pitchshift(&s->shift[2 * c + 1], 2, 100, 0/* 19*/, down); + double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 0.2, feedback[c]); + double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -0.1, down); feedback[c] = feedback[c] + down + up; }
diff @ 2016-08-07 21:12:53 +0100 diff --git a/src/go.c b/src/go.c index 226c342..cc79be6 100644 --- a/src/go.c +++ b/src/go.c @@ -47,7 +47,7 @@ int go(S *s, int channels, const float *in, float *out) { // pitchshift feedback for (int c = 0; c < 2; ++c) { - double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 0.2, feedback[c]); + double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 0.3, feedback[c]); double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -0.1, down); feedback[c] = feedback[c] + down + up; }
diff @ 2016-08-07 21:13:04 +0100 diff --git a/src/go.c b/src/go.c index cc79be6..f362ea6 100644 --- a/src/go.c +++ b/src/go.c @@ -48,7 +48,7 @@ int go(S *s, int channels, const float *in, float *out) { // pitchshift feedback for (int c = 0; c < 2; ++c) { double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 0.3, feedback[c]); - double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -0.1, down); + double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -0.2, down); feedback[c] = feedback[c] + down + up; }
diff @ 2016-08-07 21:13:08 +0100 diff --git a/src/go.c b/src/go.c index f362ea6..211180d 100644 --- a/src/go.c +++ b/src/go.c @@ -48,7 +48,7 @@ int go(S *s, int channels, const float *in, float *out) { // pitchshift feedback for (int c = 0; c < 2; ++c) { double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 0.3, feedback[c]); - double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -0.2, down); + double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -0.3, down); feedback[c] = feedback[c] + down + up; }
diff @ 2016-08-07 21:13:22 +0100 diff --git a/src/go.c b/src/go.c index 211180d..4bb912a 100644 --- a/src/go.c +++ b/src/go.c @@ -47,7 +47,7 @@ int go(S *s, int channels, const float *in, float *out) { // pitchshift feedback for (int c = 0; c < 2; ++c) { - double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 0.3, feedback[c]); + double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 0.5, feedback[c]); double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -0.3, down); feedback[c] = feedback[c] + down + up; }
diff @ 2016-08-07 21:13:38 +0100 diff --git a/src/go.c b/src/go.c index 4bb912a..16b8634 100644 --- a/src/go.c +++ b/src/go.c @@ -48,7 +48,7 @@ int go(S *s, int channels, const float *in, float *out) { // pitchshift feedback for (int c = 0; c < 2; ++c) { double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 0.5, feedback[c]); - double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -0.3, down); + double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -0.6, down); feedback[c] = feedback[c] + down + up; }
diff @ 2016-08-07 21:13:50 +0100 diff --git a/src/go.c b/src/go.c index 16b8634..f685ae0 100644 --- a/src/go.c +++ b/src/go.c @@ -47,7 +47,7 @@ int go(S *s, int channels, const float *in, float *out) { // pitchshift feedback for (int c = 0; c < 2; ++c) { - double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 0.5, feedback[c]); + double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 0.9, feedback[c]); double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -0.6, down); feedback[c] = feedback[c] + down + up; }
diff @ 2016-08-07 21:14:04 +0100 diff --git a/src/go.c b/src/go.c index f685ae0..1bf15a7 100644 --- a/src/go.c +++ b/src/go.c @@ -61,7 +61,7 @@ int go(S *s, int channels, const float *in, float *out) { // write to delay lines for (int c = 0; c < 2; ++c) { - so2echo(&s->echo[c], 20, 500, tanh(compressed[c] + impulse[c])); + so2echo(&s->echo[c], 20, 1000, tanh(compressed[c] + impulse[c])); } // breakbeats
diff @ 2016-08-07 21:14:14 +0100 diff --git a/src/go.c b/src/go.c index 1bf15a7..eaa9f3b 100644 --- a/src/go.c +++ b/src/go.c @@ -48,7 +48,7 @@ int go(S *s, int channels, const float *in, float *out) { // pitchshift feedback for (int c = 0; c < 2; ++c) { double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 0.9, feedback[c]); - double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -0.6, down); + double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -1, down); feedback[c] = feedback[c] + down + up; }
diff @ 2016-08-07 21:14:26 +0100 diff --git a/src/go.c b/src/go.c index eaa9f3b..911f1ce 100644 --- a/src/go.c +++ b/src/go.c @@ -47,8 +47,8 @@ int go(S *s, int channels, const float *in, float *out) { // pitchshift feedback for (int c = 0; c < 2; ++c) { - double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 0.9, feedback[c]); - double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -1, down); + double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 1.3, feedback[c]); + double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -1.3, down); feedback[c] = feedback[c] + down + up; }
diff @ 2016-08-07 21:14:38 +0100 diff --git a/src/go.c b/src/go.c index 911f1ce..4422f7d 100644 --- a/src/go.c +++ b/src/go.c @@ -32,10 +32,10 @@ typedef struct { int go(S *s, int channels, const float *in, float *out) { // trigger impulse on reload - double impulse[2] = { s->reloaded, s->reloaded }; if (s->reloaded) { s->reloaded = 0; } + double impulse[2] = { s->reloaded, s->reloaded }; // modulate delay times double p = phasor(&s->phase, 0.001);
diff @ 2016-08-07 21:14:52 +0100 diff --git a/src/go.c b/src/go.c index 4422f7d..5320f5d 100644 --- a/src/go.c +++ b/src/go.c @@ -47,8 +47,8 @@ int go(S *s, int channels, const float *in, float *out) { // pitchshift feedback for (int c = 0; c < 2; ++c) { - double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 1.3, feedback[c]); - double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -1.3, down); + double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 1.5, feedback[c]); + double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -1.51, down); feedback[c] = feedback[c] + down + up; }
diff @ 2016-08-07 21:15:01 +0100 diff --git a/src/go.c b/src/go.c index 5320f5d..e6fe318 100644 --- a/src/go.c +++ b/src/go.c @@ -38,8 +38,8 @@ int go(S *s, int channels, const float *in, float *out) { double impulse[2] = { s->reloaded, s->reloaded }; // modulate delay times - double p = phasor(&s->phase, 0.001); - double modulation = 100 * cos(twopi * p); + double p = phasor(&s->phase, 0.01); + double modulation = 10 * cos(twopi * p); double feedback[2] = { delread4(&s->echo[1].del, 200 - modulation) , delread4(&s->echo[0].del, 200 + modulation)
diff @ 2016-08-07 21:15:16 +0100 diff --git a/src/go.c b/src/go.c index e6fe318..2445e53 100644 --- a/src/go.c +++ b/src/go.c @@ -47,8 +47,8 @@ int go(S *s, int channels, const float *in, float *out) { // pitchshift feedback for (int c = 0; c < 2; ++c) { - double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 1.5, feedback[c]); - double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -1.51, down); + double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 2.1, feedback[c]); + double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -2.1, down); feedback[c] = feedback[c] + down + up; }
diff @ 2016-08-07 21:15:41 +0100 diff --git a/src/go.c b/src/go.c index 2445e53..3d10b41 100644 --- a/src/go.c +++ b/src/go.c @@ -47,8 +47,8 @@ int go(S *s, int channels, const float *in, float *out) { // pitchshift feedback for (int c = 0; c < 2; ++c) { - double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 2.1, feedback[c]); - double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -2.1, down); + double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 3.1, feedback[c]); + double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -3.1, down); feedback[c] = feedback[c] + down + up; }
diff @ 2016-08-07 21:16:02 +0100 diff --git a/src/go.c b/src/go.c index 3d10b41..9e63b7c 100644 --- a/src/go.c +++ b/src/go.c @@ -47,7 +47,7 @@ int go(S *s, int channels, const float *in, float *out) { // pitchshift feedback for (int c = 0; c < 2; ++c) { - double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 3.1, feedback[c]); + double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 3.2, feedback[c]); double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -3.1, down); feedback[c] = feedback[c] + down + up; }
diff @ 2016-08-07 21:17:02 +0100 diff --git a/src/go.c b/src/go.c index 9e63b7c..f30c6c6 100644 --- a/src/go.c +++ b/src/go.c @@ -26,6 +26,7 @@ typedef struct { PITCHSHIFT shift[4]; COMPRESS compress[2]; SO2ECHO echo[2]; + PHASOR bass; } S; // per sample DSP callback @@ -47,8 +48,8 @@ int go(S *s, int channels, const float *in, float *out) { // pitchshift feedback for (int c = 0; c < 2; ++c) { - double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 3.2, feedback[c]); - double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -3.1, down); + double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 4.1, feedback[c]); + double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -4.1, down); feedback[c] = feedback[c] + down + up; } @@ -64,12 +65,9 @@ int go(S *s, int channels, const float *in, float *out) { so2echo(&s->echo[c], 20, 1000, tanh(compressed[c] + impulse[c])); } - // breakbeats - const short *breakbeat = &samples_u47_samples_u47_breakbeat_u46_wav; - const short *breakbeat_end = &samples_u47_samples_u47_breakbeat_u46_wav_end; - const size_t breakbeat_length = (breakbeat_end - breakbeat) / 2; - (void) breakbeat; - (void) breakbeat_length; + double bass = phasor(&s->bass, 45); + + // compress mix down double mixdown[2] = { 0, 0 };
diff @ 2016-08-07 21:17:25 +0100 diff --git a/src/go.c b/src/go.c index f30c6c6..fa49e55 100644 --- a/src/go.c +++ b/src/go.c @@ -49,7 +49,7 @@ int go(S *s, int channels, const float *in, float *out) { // pitchshift feedback for (int c = 0; c < 2; ++c) { double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 4.1, feedback[c]); - double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -4.1, down); + double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -4.2, down); feedback[c] = feedback[c] + down + up; } @@ -66,7 +66,7 @@ int go(S *s, int channels, const float *in, float *out) { } double bass = phasor(&s->bass, 45); - + bass = (bass > 0.5) - 0.5; // compress mix down
diff @ 2016-08-07 21:17:59 +0100 diff --git a/src/go.c b/src/go.c index fa49e55..8e3b770 100644 --- a/src/go.c +++ b/src/go.c @@ -48,8 +48,8 @@ int go(S *s, int channels, const float *in, float *out) { // pitchshift feedback for (int c = 0; c < 2; ++c) { - double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 4.1, feedback[c]); - double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -4.2, down); + double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 5.1, feedback[c]); + double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -7.2, down); feedback[c] = feedback[c] + down + up; } @@ -67,6 +67,8 @@ int go(S *s, int channels, const float *in, float *out) { double bass = phasor(&s->bass, 45); bass = (bass > 0.5) - 0.5; + compressed[0] += bass; + compressed[1] += bass; // compress mix down
diff @ 2016-08-07 21:18:12 +0100 diff --git a/src/go.c b/src/go.c index 8e3b770..0a3aa7c 100644 --- a/src/go.c +++ b/src/go.c @@ -66,6 +66,7 @@ int go(S *s, int channels, const float *in, float *out) { } double bass = phasor(&s->bass, 45); + bass = wrap(2.6666 * bass); bass = (bass > 0.5) - 0.5; compressed[0] += bass; compressed[1] += bass;
diff @ 2016-08-07 21:18:47 +0100 diff --git a/src/go.c b/src/go.c index 0a3aa7c..d0922fd 100644 --- a/src/go.c +++ b/src/go.c @@ -66,7 +66,7 @@ int go(S *s, int channels, const float *in, float *out) { } double bass = phasor(&s->bass, 45); - bass = wrap(2.6666 * bass); + bass = wrap(pow(4, 1 - wrap(64 * p)) * bass); bass = (bass > 0.5) - 0.5; compressed[0] += bass; compressed[1] += bass;
diff @ 2016-08-07 21:18:59 +0100 diff --git a/src/go.c b/src/go.c index d0922fd..0b8a366 100644 --- a/src/go.c +++ b/src/go.c @@ -48,8 +48,8 @@ int go(S *s, int channels, const float *in, float *out) { // pitchshift feedback for (int c = 0; c < 2; ++c) { - double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 5.1, feedback[c]); - double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -7.2, down); + double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 12.1, feedback[c]); + double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -12.1, down); feedback[c] = feedback[c] + down + up; }
diff @ 2016-08-07 21:19:36 +0100 diff --git a/src/go.c b/src/go.c index 0b8a366..a9fe8d9 100644 --- a/src/go.c +++ b/src/go.c @@ -65,7 +65,7 @@ int go(S *s, int channels, const float *in, float *out) { so2echo(&s->echo[c], 20, 1000, tanh(compressed[c] + impulse[c])); } - double bass = phasor(&s->bass, 45); + double bass = phasor(&s->bass, 45 + 15 * (wrap(256 * p) > 0.666)); bass = wrap(pow(4, 1 - wrap(64 * p)) * bass); bass = (bass > 0.5) - 0.5; compressed[0] += bass;
diff @ 2016-08-07 21:19:47 +0100 diff --git a/src/go.c b/src/go.c index a9fe8d9..be17558 100644 --- a/src/go.c +++ b/src/go.c @@ -66,7 +66,7 @@ int go(S *s, int channels, const float *in, float *out) { } double bass = phasor(&s->bass, 45 + 15 * (wrap(256 * p) > 0.666)); - bass = wrap(pow(4, 1 - wrap(64 * p)) * bass); + bass = wrap(pow(8, 1 - wrap(64 * p)) * bass); bass = (bass > 0.5) - 0.5; compressed[0] += bass; compressed[1] += bass;
diff @ 2016-08-07 21:20:01 +0100 diff --git a/src/go.c b/src/go.c index be17558..a30b97e 100644 --- a/src/go.c +++ b/src/go.c @@ -66,7 +66,7 @@ int go(S *s, int channels, const float *in, float *out) { } double bass = phasor(&s->bass, 45 + 15 * (wrap(256 * p) > 0.666)); - bass = wrap(pow(8, 1 - wrap(64 * p)) * bass); + bass = wrap(pow(16, 1 - wrap(64 * p)) * bass); bass = (bass > 0.5) - 0.5; compressed[0] += bass; compressed[1] += bass;
diff @ 2016-08-07 21:20:20 +0100 diff --git a/src/go.c b/src/go.c index a30b97e..97a9d08 100644 --- a/src/go.c +++ b/src/go.c @@ -66,7 +66,7 @@ int go(S *s, int channels, const float *in, float *out) { } double bass = phasor(&s->bass, 45 + 15 * (wrap(256 * p) > 0.666)); - bass = wrap(pow(16, 1 - wrap(64 * p)) * bass); + bass = wrap(pow(16, fabs(sin(twopi * wrap(64 * p)))) * bass); bass = (bass > 0.5) - 0.5; compressed[0] += bass; compressed[1] += bass;
diff @ 2016-08-07 21:20:27 +0100 diff --git a/src/go.c b/src/go.c index 97a9d08..dafe6bc 100644 --- a/src/go.c +++ b/src/go.c @@ -66,7 +66,7 @@ int go(S *s, int channels, const float *in, float *out) { } double bass = phasor(&s->bass, 45 + 15 * (wrap(256 * p) > 0.666)); - bass = wrap(pow(16, fabs(sin(twopi * wrap(64 * p)))) * bass); + bass = wrap(pow(16, fabs(sin(twopi * wrap(32 * p)))) * bass); bass = (bass > 0.5) - 0.5; compressed[0] += bass; compressed[1] += bass;
diff @ 2016-08-07 21:20:45 +0100 diff --git a/src/go.c b/src/go.c index dafe6bc..35035ef 100644 --- a/src/go.c +++ b/src/go.c @@ -65,8 +65,8 @@ int go(S *s, int channels, const float *in, float *out) { so2echo(&s->echo[c], 20, 1000, tanh(compressed[c] + impulse[c])); } - double bass = phasor(&s->bass, 45 + 15 * (wrap(256 * p) > 0.666)); - bass = wrap(pow(16, fabs(sin(twopi * wrap(32 * p)))) * bass); + double bass = phasor(&s->bass, 45 + 15 * (wrap(128 * p) > 0.666)); + bass = wrap(pow(4, fabs(sin(twopi * wrap(32 * p)))) * bass); bass = (bass > 0.5) - 0.5; compressed[0] += bass; compressed[1] += bass;
diff @ 2016-08-07 21:21:44 +0100 diff --git a/src/go.c b/src/go.c index 35035ef..8441c9c 100644 --- a/src/go.c +++ b/src/go.c @@ -71,6 +71,16 @@ int go(S *s, int channels, const float *in, float *out) { compressed[0] += bass; compressed[1] += bass; + double kick = 1 - wrap(128 * p); + kick *= kick; + kick *= kick; + kick *= kick; + kick *= kick; + kick *= 12; + kick = sin(twopi * kick); + kick *= 4; + compressed[0] += kick; + compressed[1] += kick; // compress mix down double mixdown[2] = { 0, 0 };
diff @ 2016-08-07 21:22:04 +0100 diff --git a/src/go.c b/src/go.c index 8441c9c..c468896 100644 --- a/src/go.c +++ b/src/go.c @@ -71,7 +71,7 @@ int go(S *s, int channels, const float *in, float *out) { compressed[0] += bass; compressed[1] += bass; - double kick = 1 - wrap(128 * p); + double kick = 1 - wrap(2.6666 * wrap(64 * p)); kick *= kick; kick *= kick; kick *= kick;
diff @ 2016-08-07 21:22:28 +0100 diff --git a/src/go.c b/src/go.c index c468896..be77891 100644 --- a/src/go.c +++ b/src/go.c @@ -62,7 +62,7 @@ int go(S *s, int channels, const float *in, float *out) { // write to delay lines for (int c = 0; c < 2; ++c) { - so2echo(&s->echo[c], 20, 1000, tanh(compressed[c] + impulse[c])); + so2echo(&s->echo[c], 200, 4000, tanh(compressed[c] + impulse[c])); } double bass = phasor(&s->bass, 45 + 15 * (wrap(128 * p) > 0.666)); @@ -82,6 +82,7 @@ int go(S *s, int channels, const float *in, float *out) { compressed[0] += kick; compressed[1] += kick; + // compress mix down double mixdown[2] = { 0, 0 }; compress(mixdown, &s->compress[1], 5, 10, 25, 36, compressed);
diff @ 2016-08-07 21:23:19 +0100 diff --git a/src/go.c b/src/go.c index be77891..cbefccc 100644 --- a/src/go.c +++ b/src/go.c @@ -82,6 +82,19 @@ int go(S *s, int channels, const float *in, float *out) { compressed[0] += kick; compressed[1] += kick; + double snare = 1 - wrap(64 * p + 0.5); + snare *= snare; + snare *= snare; + snare *= snare; + snare *= snare; + snare *= snare; + snare *= noise(); + snare *= 4; + snare = tanh(snare); + snare *= 4; + compressed[0] += snare; + compressed[1] += snare; + // compress mix down double mixdown[2] = { 0, 0 };
diff @ 2016-08-07 21:23:38 +0100 diff --git a/src/go.c b/src/go.c index cbefccc..9c45629 100644 --- a/src/go.c +++ b/src/go.c @@ -48,7 +48,7 @@ int go(S *s, int channels, const float *in, float *out) { // pitchshift feedback for (int c = 0; c < 2; ++c) { - double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 12.1, feedback[c]); + double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 15.1, feedback[c]); double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -12.1, down); feedback[c] = feedback[c] + down + up; }
diff @ 2016-08-07 21:23:42 +0100 diff --git a/src/go.c b/src/go.c index 9c45629..3df2ed9 100644 --- a/src/go.c +++ b/src/go.c @@ -49,7 +49,7 @@ int go(S *s, int channels, const float *in, float *out) { // pitchshift feedback for (int c = 0; c < 2; ++c) { double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 15.1, feedback[c]); - double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -12.1, down); + double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -24.1, down); feedback[c] = feedback[c] + down + up; }
diff @ 2016-08-07 21:23:51 +0100 diff --git a/src/go.c b/src/go.c index 3df2ed9..9150a5a 100644 --- a/src/go.c +++ b/src/go.c @@ -56,7 +56,7 @@ int go(S *s, int channels, const float *in, float *out) { // compress feedback double compressed[2] = { 0, 0 }; compress(compressed, &s->compress[0], 5, 10, 25, 48, feedback); - double gain = 1; + double gain = 2; compressed[0] *= gain; compressed[1] *= gain;
diff @ 2016-08-07 21:24:56 +0100 diff --git a/src/go.c b/src/go.c index 9150a5a..53746ca 100644 --- a/src/go.c +++ b/src/go.c @@ -27,6 +27,7 @@ typedef struct { COMPRESS compress[2]; SO2ECHO echo[2]; PHASOR bass; + MOOG moog; } S; // per sample DSP callback @@ -68,6 +69,9 @@ int go(S *s, int channels, const float *in, float *out) { double bass = phasor(&s->bass, 45 + 15 * (wrap(128 * p) > 0.666)); bass = wrap(pow(4, fabs(sin(twopi * wrap(32 * p)))) * bass); bass = (bass > 0.5) - 0.5; + + bass = moog(&s->moog, bass, 180 * pow(8, 1 - wrap(512 * p)), 0.2); + compressed[0] += bass; compressed[1] += bass;
diff @ 2016-08-07 21:25:03 +0100 diff --git a/src/go.c b/src/go.c index 53746ca..938b37e 100644 --- a/src/go.c +++ b/src/go.c @@ -70,7 +70,7 @@ int go(S *s, int channels, const float *in, float *out) { bass = wrap(pow(4, fabs(sin(twopi * wrap(32 * p)))) * bass); bass = (bass > 0.5) - 0.5; - bass = moog(&s->moog, bass, 180 * pow(8, 1 - wrap(512 * p)), 0.2); + bass = moog(&s->moog, 2 * bass, 180 * pow(8, 1 - wrap(512 * p)), 0.2); compressed[0] += bass; compressed[1] += bass;
diff @ 2016-08-07 21:25:12 +0100 diff --git a/src/go.c b/src/go.c index 938b37e..7a26b0e 100644 --- a/src/go.c +++ b/src/go.c @@ -70,7 +70,7 @@ int go(S *s, int channels, const float *in, float *out) { bass = wrap(pow(4, fabs(sin(twopi * wrap(32 * p)))) * bass); bass = (bass > 0.5) - 0.5; - bass = moog(&s->moog, 2 * bass, 180 * pow(8, 1 - wrap(512 * p)), 0.2); + bass = moog(&s->moog, 3 * bass, 180 * pow(8, 1 - wrap(512 * p)), 0.2); compressed[0] += bass; compressed[1] += bass;
diff @ 2016-08-07 21:25:19 +0100 diff --git a/src/go.c b/src/go.c index 7a26b0e..6b6aea9 100644 --- a/src/go.c +++ b/src/go.c @@ -70,7 +70,7 @@ int go(S *s, int channels, const float *in, float *out) { bass = wrap(pow(4, fabs(sin(twopi * wrap(32 * p)))) * bass); bass = (bass > 0.5) - 0.5; - bass = moog(&s->moog, 3 * bass, 180 * pow(8, 1 - wrap(512 * p)), 0.2); + bass = moog(&s->moog, 3 * bass, 180 * pow(8, 1 - wrap(512 * p)), 0.3); compressed[0] += bass; compressed[1] += bass;
diff @ 2016-08-07 21:25:22 +0100 diff --git a/src/go.c b/src/go.c index 6b6aea9..21a6133 100644 --- a/src/go.c +++ b/src/go.c @@ -70,7 +70,7 @@ int go(S *s, int channels, const float *in, float *out) { bass = wrap(pow(4, fabs(sin(twopi * wrap(32 * p)))) * bass); bass = (bass > 0.5) - 0.5; - bass = moog(&s->moog, 3 * bass, 180 * pow(8, 1 - wrap(512 * p)), 0.3); + bass = moog(&s->moog, 3 * bass, 180 * pow(8, 1 - wrap(512 * p)), 0.4); compressed[0] += bass; compressed[1] += bass;
diff @ 2016-08-07 21:25:27 +0100 diff --git a/src/go.c b/src/go.c index 21a6133..da68476 100644 --- a/src/go.c +++ b/src/go.c @@ -70,7 +70,7 @@ int go(S *s, int channels, const float *in, float *out) { bass = wrap(pow(4, fabs(sin(twopi * wrap(32 * p)))) * bass); bass = (bass > 0.5) - 0.5; - bass = moog(&s->moog, 3 * bass, 180 * pow(8, 1 - wrap(512 * p)), 0.4); + bass = moog(&s->moog, 3 * bass, 180 * pow(8, 1 - wrap(512 * p)), 0.6); compressed[0] += bass; compressed[1] += bass;
diff @ 2016-08-07 21:25:33 +0100 diff --git a/src/go.c b/src/go.c index da68476..39ed079 100644 --- a/src/go.c +++ b/src/go.c @@ -70,7 +70,7 @@ int go(S *s, int channels, const float *in, float *out) { bass = wrap(pow(4, fabs(sin(twopi * wrap(32 * p)))) * bass); bass = (bass > 0.5) - 0.5; - bass = moog(&s->moog, 3 * bass, 180 * pow(8, 1 - wrap(512 * p)), 0.6); + bass = moog(&s->moog, 3 * bass, 180 * pow(16, 1 - wrap(512 * p)), 0.6); compressed[0] += bass; compressed[1] += bass;
diff @ 2016-08-07 21:25:47 +0100 diff --git a/src/go.c b/src/go.c index 39ed079..acdb21f 100644 --- a/src/go.c +++ b/src/go.c @@ -49,7 +49,7 @@ int go(S *s, int channels, const float *in, float *out) { // pitchshift feedback for (int c = 0; c < 2; ++c) { - double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 15.1, feedback[c]); + double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 18.1, feedback[c]); double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -24.1, down); feedback[c] = feedback[c] + down + up; }
diff @ 2016-08-07 21:26:04 +0100 diff --git a/src/go.c b/src/go.c index acdb21f..986bf8d 100644 --- a/src/go.c +++ b/src/go.c @@ -75,7 +75,7 @@ int go(S *s, int channels, const float *in, float *out) { compressed[0] += bass; compressed[1] += bass; - double kick = 1 - wrap(2.6666 * wrap(64 * p)); + double kick = 1 - wrap(3 * wrap(64 * p)); kick *= kick; kick *= kick; kick *= kick;
diff @ 2016-08-07 21:26:22 +0100 diff --git a/src/go.c b/src/go.c index 986bf8d..aef01a7 100644 --- a/src/go.c +++ b/src/go.c @@ -86,7 +86,7 @@ int go(S *s, int channels, const float *in, float *out) { compressed[0] += kick; compressed[1] += kick; - double snare = 1 - wrap(64 * p + 0.5); + double snare = 1 - wrap(32 * 3 * p + 0.5); snare *= snare; snare *= snare; snare *= snare;
diff @ 2016-08-07 21:26:35 +0100 diff --git a/src/go.c b/src/go.c index aef01a7..886dfd7 100644 --- a/src/go.c +++ b/src/go.c @@ -91,7 +91,6 @@ int go(S *s, int channels, const float *in, float *out) { snare *= snare; snare *= snare; snare *= snare; - snare *= snare; snare *= noise(); snare *= 4; snare = tanh(snare);
diff @ 2016-08-07 21:26:54 +0100 diff --git a/src/go.c b/src/go.c index 886dfd7..c1a63b6 100644 --- a/src/go.c +++ b/src/go.c @@ -70,7 +70,7 @@ int go(S *s, int channels, const float *in, float *out) { bass = wrap(pow(4, fabs(sin(twopi * wrap(32 * p)))) * bass); bass = (bass > 0.5) - 0.5; - bass = moog(&s->moog, 3 * bass, 180 * pow(16, 1 - wrap(512 * p)), 0.6); + bass = moog(&s->moog, 3 * bass, 180 * pow(16, 1 - wrap(256 * 3 * p)), 0.6); compressed[0] += bass; compressed[1] += bass;
diff @ 2016-08-07 21:27:09 +0100 diff --git a/src/go.c b/src/go.c index c1a63b6..b0a4dfc 100644 --- a/src/go.c +++ b/src/go.c @@ -49,7 +49,7 @@ int go(S *s, int channels, const float *in, float *out) { // pitchshift feedback for (int c = 0; c < 2; ++c) { - double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 18.1, feedback[c]); + double down = pitchshift(&s->shift[2 * c + 0], 2, 100, 12.1, feedback[c]); double up = pitchshift(&s->shift[2 * c + 1], 2, 100, -24.1, down); feedback[c] = feedback[c] + down + up; }
diff @ 2016-08-07 21:28:10 +0100 diff --git a/src/go.c b/src/go.c index b0a4dfc..73d4379 100644 --- a/src/go.c +++ b/src/go.c @@ -97,7 +97,14 @@ int go(S *s, int channels, const float *in, float *out) { snare *= 4; compressed[0] += snare; compressed[1] += snare; - + + int t = (1 << 18) * p; + double bb = bytebeat( + t + ); + compressed[0] += bb; + compressed[1] += bb; + // compress mix down double mixdown[2] = { 0, 0 };
diff @ 2016-08-07 21:28:14 +0100 diff --git a/src/go.c b/src/go.c index 73d4379..ad698a6 100644 --- a/src/go.c +++ b/src/go.c @@ -98,7 +98,7 @@ int go(S *s, int channels, const float *in, float *out) { compressed[0] += snare; compressed[1] += snare; - int t = (1 << 18) * p; + int t = (1 << 20) * p; double bb = bytebeat( t );
diff @ 2016-08-07 21:28:19 +0100 diff --git a/src/go.c b/src/go.c index ad698a6..02eb353 100644 --- a/src/go.c +++ b/src/go.c @@ -98,7 +98,7 @@ int go(S *s, int channels, const float *in, float *out) { compressed[0] += snare; compressed[1] += snare; - int t = (1 << 20) * p; + int t = (1 << 21) * p; double bb = bytebeat( t );
diff @ 2016-08-07 21:28:42 +0100 diff --git a/src/go.c b/src/go.c index 02eb353..c2c5ca7 100644 --- a/src/go.c +++ b/src/go.c @@ -100,7 +100,7 @@ int go(S *s, int channels, const float *in, float *out) { int t = (1 << 21) * p; double bb = bytebeat( - t + "4232"[(t >> 8) &3] * t ); compressed[0] += bb; compressed[1] += bb;
diff @ 2016-08-07 21:28:46 +0100 diff --git a/src/go.c b/src/go.c index c2c5ca7..e6e9c04 100644 --- a/src/go.c +++ b/src/go.c @@ -100,7 +100,7 @@ int go(S *s, int channels, const float *in, float *out) { int t = (1 << 21) * p; double bb = bytebeat( - "4232"[(t >> 8) &3] * t + "4232"[(t >> 12) & 3] * t ); compressed[0] += bb; compressed[1] += bb;
diff @ 2016-08-07 21:28:51 +0100 diff --git a/src/go.c b/src/go.c index e6e9c04..22bba9d 100644 --- a/src/go.c +++ b/src/go.c @@ -100,7 +100,7 @@ int go(S *s, int channels, const float *in, float *out) { int t = (1 << 21) * p; double bb = bytebeat( - "4232"[(t >> 12) & 3] * t + "4232"[(t >> 14) & 3] * t ); compressed[0] += bb; compressed[1] += bb;
diff @ 2016-08-07 21:28:56 +0100 diff --git a/src/go.c b/src/go.c index 22bba9d..e6e9c04 100644 --- a/src/go.c +++ b/src/go.c @@ -100,7 +100,7 @@ int go(S *s, int channels, const float *in, float *out) { int t = (1 << 21) * p; double bb = bytebeat( - "4232"[(t >> 14) & 3] * t + "4232"[(t >> 12) & 3] * t ); compressed[0] += bb; compressed[1] += bb;
diff @ 2016-08-07 21:29:04 +0100 diff --git a/src/go.c b/src/go.c index e6e9c04..5c88a0e 100644 --- a/src/go.c +++ b/src/go.c @@ -100,7 +100,7 @@ int go(S *s, int channels, const float *in, float *out) { int t = (1 << 21) * p; double bb = bytebeat( - "4232"[(t >> 12) & 3] * t + "4231"[(t >> 12) & 3] * t ); compressed[0] += bb; compressed[1] += bb;
diff @ 2016-08-07 21:29:20 +0100 diff --git a/src/go.c b/src/go.c index 5c88a0e..c7b5619 100644 --- a/src/go.c +++ b/src/go.c @@ -100,7 +100,7 @@ int go(S *s, int channels, const float *in, float *out) { int t = (1 << 21) * p; double bb = bytebeat( - "4231"[(t >> 12) & 3] * t + ("4231"[(t >> 12) & 3]-'0') * t ); compressed[0] += bb; compressed[1] += bb;
diff @ 2016-08-07 21:29:35 +0100 diff --git a/src/go.c b/src/go.c index c7b5619..645c5d8 100644 --- a/src/go.c +++ b/src/go.c @@ -100,7 +100,7 @@ int go(S *s, int channels, const float *in, float *out) { int t = (1 << 21) * p; double bb = bytebeat( - ("4231"[(t >> 12) & 3]-'0') * t + ("42318756"[(t >> 12) & 3]-'0') * t ); compressed[0] += bb; compressed[1] += bb;
diff @ 2016-08-07 21:29:38 +0100 diff --git a/src/go.c b/src/go.c index 645c5d8..bdbbdbd 100644 --- a/src/go.c +++ b/src/go.c @@ -100,7 +100,7 @@ int go(S *s, int channels, const float *in, float *out) { int t = (1 << 21) * p; double bb = bytebeat( - ("42318756"[(t >> 12) & 3]-'0') * t + ("42318756"[(t >> 12) & 8]-'0') * t ); compressed[0] += bb; compressed[1] += bb;
diff @ 2016-08-07 21:29:39 +0100 diff --git a/src/go.c b/src/go.c index bdbbdbd..d0e00b8 100644 --- a/src/go.c +++ b/src/go.c @@ -100,7 +100,7 @@ int go(S *s, int channels, const float *in, float *out) { int t = (1 << 21) * p; double bb = bytebeat( - ("42318756"[(t >> 12) & 8]-'0') * t + ("42318756"[(t >> 12) & 7]-'0') * t ); compressed[0] += bb; compressed[1] += bb;
diff @ 2016-08-07 21:29:48 +0100 diff --git a/src/go.c b/src/go.c index d0e00b8..00b3ad7 100644 --- a/src/go.c +++ b/src/go.c @@ -100,7 +100,7 @@ int go(S *s, int channels, const float *in, float *out) { int t = (1 << 21) * p; double bb = bytebeat( - ("42318756"[(t >> 12) & 7]-'0') * t + ("82318756"[(t >> 12) & 7]-'0') * t ); compressed[0] += bb; compressed[1] += bb;
diff @ 2016-08-07 21:29:56 +0100 diff --git a/src/go.c b/src/go.c index 00b3ad7..054e60f 100644 --- a/src/go.c +++ b/src/go.c @@ -100,7 +100,7 @@ int go(S *s, int channels, const float *in, float *out) { int t = (1 << 21) * p; double bb = bytebeat( - ("82318756"[(t >> 12) & 7]-'0') * t + ("82387586"[(t >> 12) & 7]-'0') * t ); compressed[0] += bb; compressed[1] += bb;
diff @ 2016-08-07 21:30:08 +0100 diff --git a/src/go.c b/src/go.c index 054e60f..82b9406 100644 --- a/src/go.c +++ b/src/go.c @@ -100,7 +100,7 @@ int go(S *s, int channels, const float *in, float *out) { int t = (1 << 21) * p; double bb = bytebeat( - ("82387586"[(t >> 12) & 7]-'0') * t + ("82387586"[(t >> 12) & 7]-'0') * (t >> t) ); compressed[0] += bb; compressed[1] += bb;
diff @ 2016-08-07 21:30:13 +0100 diff --git a/src/go.c b/src/go.c index 82b9406..054e60f 100644 --- a/src/go.c +++ b/src/go.c @@ -100,7 +100,7 @@ int go(S *s, int channels, const float *in, float *out) { int t = (1 << 21) * p; double bb = bytebeat( - ("82387586"[(t >> 12) & 7]-'0') * (t >> t) + ("82387586"[(t >> 12) & 7]-'0') * t ); compressed[0] += bb; compressed[1] += bb;
diff @ 2016-08-07 21:30:47 +0100 diff --git a/src/go.c b/src/go.c index 054e60f..4610b9f 100644 --- a/src/go.c +++ b/src/go.c @@ -100,7 +100,8 @@ int go(S *s, int channels, const float *in, float *out) { int t = (1 << 21) * p; double bb = bytebeat( - ("82387586"[(t >> 12) & 7]-'0') * t + ("82387586"[(t >> 12) & 7]-'0') * t ^ + ("421421"[(t >> 12) % 6]-'0') * t ); compressed[0] += bb; compressed[1] += bb;
diff @ 2016-08-07 21:31:35 +0100 diff --git a/src/go.c b/src/go.c index 4610b9f..7edaaf2 100644 --- a/src/go.c +++ b/src/go.c @@ -101,7 +101,8 @@ int go(S *s, int channels, const float *in, float *out) { int t = (1 << 21) * p; double bb = bytebeat( ("82387586"[(t >> 12) & 7]-'0') * t ^ - ("421421"[(t >> 12) % 6]-'0') * t + ("421632"[(t >> 12) % 6]-'0') * t ^ + ("1234"[(t >> 14) % 4]-'0') * t ); compressed[0] += bb; compressed[1] += bb;
diff @ 2016-08-07 21:31:55 +0100 diff --git a/src/go.c b/src/go.c index 7edaaf2..1b0c8f0 100644 --- a/src/go.c +++ b/src/go.c @@ -57,7 +57,7 @@ int go(S *s, int channels, const float *in, float *out) { // compress feedback double compressed[2] = { 0, 0 }; compress(compressed, &s->compress[0], 5, 10, 25, 48, feedback); - double gain = 2; + double gain = 0.00001; compressed[0] *= gain; compressed[1] *= gain;
diff @ 2016-08-07 21:32:04 +0100 diff --git a/src/go.c b/src/go.c index 1b0c8f0..229f529 100644 --- a/src/go.c +++ b/src/go.c @@ -70,7 +70,7 @@ int go(S *s, int channels, const float *in, float *out) { bass = wrap(pow(4, fabs(sin(twopi * wrap(32 * p)))) * bass); bass = (bass > 0.5) - 0.5; - bass = moog(&s->moog, 3 * bass, 180 * pow(16, 1 - wrap(256 * 3 * p)), 0.6); + bass = moog(&s->moog, 3 * bass, 4 * 180 * pow(16, 1 - wrap(256 * 3 * p)), 0.6); compressed[0] += bass; compressed[1] += bass;
diff @ 2016-08-07 21:32:13 +0100 diff --git a/src/go.c b/src/go.c index 229f529..5be842e 100644 --- a/src/go.c +++ b/src/go.c @@ -70,7 +70,7 @@ int go(S *s, int channels, const float *in, float *out) { bass = wrap(pow(4, fabs(sin(twopi * wrap(32 * p)))) * bass); bass = (bass > 0.5) - 0.5; - bass = moog(&s->moog, 3 * bass, 4 * 180 * pow(16, 1 - wrap(256 * 3 * p)), 0.6); + bass = moog(&s->moog, 3 * bass, 4 * 180 * pow(16, 1 - wrap(256 * 3 * p)), 0.0); compressed[0] += bass; compressed[1] += bass;
diff @ 2016-08-07 21:32:19 +0100 diff --git a/src/go.c b/src/go.c index 5be842e..e25cb26 100644 --- a/src/go.c +++ b/src/go.c @@ -70,7 +70,7 @@ int go(S *s, int channels, const float *in, float *out) { bass = wrap(pow(4, fabs(sin(twopi * wrap(32 * p)))) * bass); bass = (bass > 0.5) - 0.5; - bass = moog(&s->moog, 3 * bass, 4 * 180 * pow(16, 1 - wrap(256 * 3 * p)), 0.0); + bass = moog(&s->moog, 3 * bass, 4 * 180 * pow(16, 1 - wrap(256 * 3 * p)), 0.9); compressed[0] += bass; compressed[1] += bass;
diff @ 2016-08-07 21:32:24 +0100 diff --git a/src/go.c b/src/go.c index e25cb26..b97a4aa 100644 --- a/src/go.c +++ b/src/go.c @@ -70,7 +70,7 @@ int go(S *s, int channels, const float *in, float *out) { bass = wrap(pow(4, fabs(sin(twopi * wrap(32 * p)))) * bass); bass = (bass > 0.5) - 0.5; - bass = moog(&s->moog, 3 * bass, 4 * 180 * pow(16, 1 - wrap(256 * 3 * p)), 0.9); + bass = moog(&s->moog, 3 * bass, 2 * 180 * pow(16, 1 - wrap(256 * 3 * p)), 0.9); compressed[0] += bass; compressed[1] += bass;
diff @ 2016-08-07 21:32:33 +0100 diff --git a/src/go.c b/src/go.c index b97a4aa..47cfca9 100644 --- a/src/go.c +++ b/src/go.c @@ -70,7 +70,7 @@ int go(S *s, int channels, const float *in, float *out) { bass = wrap(pow(4, fabs(sin(twopi * wrap(32 * p)))) * bass); bass = (bass > 0.5) - 0.5; - bass = moog(&s->moog, 3 * bass, 2 * 180 * pow(16, 1 - wrap(256 * 3 * p)), 0.9); + bass = 2 * moog(&s->moog, 3 * bass, 2 * 180 * pow(16, 1 - wrap(256 * 3 * p)), 0.9); compressed[0] += bass; compressed[1] += bass;
diff @ 2016-08-07 21:33:02 +0100 diff --git a/src/go.c b/src/go.c index 47cfca9..a5d2ce0 100644 --- a/src/go.c +++ b/src/go.c @@ -83,6 +83,7 @@ int go(S *s, int channels, const float *in, float *out) { kick *= 12; kick = sin(twopi * kick); kick *= 4; + kick *= 0; compressed[0] += kick; compressed[1] += kick; @@ -95,6 +96,7 @@ int go(S *s, int channels, const float *in, float *out) { snare *= 4; snare = tanh(snare); snare *= 4; + snare *= 0; compressed[0] += snare; compressed[1] += snare;
diff @ 2016-08-07 21:33:17 +0100 diff --git a/src/go.c b/src/go.c index a5d2ce0..b148467 100644 --- a/src/go.c +++ b/src/go.c @@ -66,7 +66,7 @@ int go(S *s, int channels, const float *in, float *out) { so2echo(&s->echo[c], 200, 4000, tanh(compressed[c] + impulse[c])); } - double bass = phasor(&s->bass, 45 + 15 * (wrap(128 * p) > 0.666)); + double bass = phasor(&s->bass, 45 + 15 * (wrap(64 * p) > 0.666)); bass = wrap(pow(4, fabs(sin(twopi * wrap(32 * p)))) * bass); bass = (bass > 0.5) - 0.5;
diff @ 2016-08-07 21:33:37 +0100 diff --git a/src/go.c b/src/go.c index b148467..ab8c238 100644 --- a/src/go.c +++ b/src/go.c @@ -68,7 +68,7 @@ int go(S *s, int channels, const float *in, float *out) { double bass = phasor(&s->bass, 45 + 15 * (wrap(64 * p) > 0.666)); bass = wrap(pow(4, fabs(sin(twopi * wrap(32 * p)))) * bass); - bass = (bass > 0.5) - 0.5; + bass = (bass > wrap(16 * p)) - 0.5; bass = 2 * moog(&s->moog, 3 * bass, 2 * 180 * pow(16, 1 - wrap(256 * 3 * p)), 0.9);
diff @ 2016-08-07 21:34:12 +0100 diff --git a/src/go.c b/src/go.c index ab8c238..01cb91e 100644 --- a/src/go.c +++ b/src/go.c @@ -28,6 +28,7 @@ typedef struct { SO2ECHO echo[2]; PHASOR bass; MOOG moog; + double tempo; } S; // per sample DSP callback @@ -36,11 +37,12 @@ int go(S *s, int channels, const float *in, float *out) { // trigger impulse on reload if (s->reloaded) { s->reloaded = 0; + s->tempo = 1; } double impulse[2] = { s->reloaded, s->reloaded }; // modulate delay times - double p = phasor(&s->phase, 0.01); + double p = phasor(&s->phase, 0.01 * s->tempo); double modulation = 10 * cos(twopi * p); double feedback[2] = { delread4(&s->echo[1].del, 200 - modulation)
diff @ 2016-08-07 21:34:28 +0100 diff --git a/src/go.c b/src/go.c index 01cb91e..af83ebc 100644 --- a/src/go.c +++ b/src/go.c @@ -98,7 +98,6 @@ int go(S *s, int channels, const float *in, float *out) { snare *= 4; snare = tanh(snare); snare *= 4; - snare *= 0; compressed[0] += snare; compressed[1] += snare;
diff @ 2016-08-07 21:34:36 +0100 diff --git a/src/go.c b/src/go.c index af83ebc..e573372 100644 --- a/src/go.c +++ b/src/go.c @@ -89,7 +89,7 @@ int go(S *s, int channels, const float *in, float *out) { compressed[0] += kick; compressed[1] += kick; - double snare = 1 - wrap(32 * 3 * p + 0.5); + double snare = 1 - wrap(32 * 2 * p + 0.5); snare *= snare; snare *= snare; snare *= snare;
diff @ 2016-08-07 21:34:52 +0100 diff --git a/src/go.c b/src/go.c index e573372..157597b 100644 --- a/src/go.c +++ b/src/go.c @@ -77,7 +77,7 @@ int go(S *s, int channels, const float *in, float *out) { compressed[0] += bass; compressed[1] += bass; - double kick = 1 - wrap(3 * wrap(64 * p)); + double kick = 1 - wrap(4 * wrap(64 * p)); kick *= kick; kick *= kick; kick *= kick; @@ -85,7 +85,6 @@ int go(S *s, int channels, const float *in, float *out) { kick *= 12; kick = sin(twopi * kick); kick *= 4; - kick *= 0; compressed[0] += kick; compressed[1] += kick;
diff @ 2016-08-07 21:35:06 +0100 diff --git a/src/go.c b/src/go.c index 157597b..eff684f 100644 --- a/src/go.c +++ b/src/go.c @@ -39,6 +39,7 @@ int go(S *s, int channels, const float *in, float *out) { s->reloaded = 0; s->tempo = 1; } + s->tempo *= 0.9999999; double impulse[2] = { s->reloaded, s->reloaded }; // modulate delay times
diff @ 2016-08-07 21:35:24 +0100 diff --git a/src/go.c b/src/go.c index eff684f..0421f92 100644 --- a/src/go.c +++ b/src/go.c @@ -37,9 +37,9 @@ int go(S *s, int channels, const float *in, float *out) { // trigger impulse on reload if (s->reloaded) { s->reloaded = 0; - s->tempo = 1; + //s->tempo = 1; } - s->tempo *= 0.9999999; + s->tempo *= 0.9999996; double impulse[2] = { s->reloaded, s->reloaded }; // modulate delay times
diff @ 2016-08-07 21:35:39 +0100 diff --git a/src/go.c b/src/go.c index 0421f92..782ac42 100644 --- a/src/go.c +++ b/src/go.c @@ -39,7 +39,7 @@ int go(S *s, int channels, const float *in, float *out) { s->reloaded = 0; //s->tempo = 1; } - s->tempo *= 0.9999996; + //s->tempo *= 0.9999996; double impulse[2] = { s->reloaded, s->reloaded }; // modulate delay times
diff @ 2016-08-07 21:35:53 +0100 diff --git a/src/go.c b/src/go.c index 782ac42..8543ccb 100644 --- a/src/go.c +++ b/src/go.c @@ -39,7 +39,7 @@ int go(S *s, int channels, const float *in, float *out) { s->reloaded = 0; //s->tempo = 1; } - //s->tempo *= 0.9999996; + s->tempo *= 0.999999; double impulse[2] = { s->reloaded, s->reloaded }; // modulate delay times
diff @ 2016-08-07 21:36:02 +0100 diff --git a/src/go.c b/src/go.c index 8543ccb..6e4a90b 100644 --- a/src/go.c +++ b/src/go.c @@ -39,7 +39,7 @@ int go(S *s, int channels, const float *in, float *out) { s->reloaded = 0; //s->tempo = 1; } - s->tempo *= 0.999999; + //s->tempo *= 0.999999; double impulse[2] = { s->reloaded, s->reloaded }; // modulate delay times
diff @ 2016-08-07 21:36:11 +0100 diff --git a/src/go.c b/src/go.c index 6e4a90b..446716f 100644 --- a/src/go.c +++ b/src/go.c @@ -39,7 +39,7 @@ int go(S *s, int channels, const float *in, float *out) { s->reloaded = 0; //s->tempo = 1; } - //s->tempo *= 0.999999; + s->tempo *= 1.000001; double impulse[2] = { s->reloaded, s->reloaded }; // modulate delay times
diff @ 2016-08-07 21:36:27 +0100 diff --git a/src/go.c b/src/go.c index 446716f..5e60f39 100644 --- a/src/go.c +++ b/src/go.c @@ -73,7 +73,7 @@ int go(S *s, int channels, const float *in, float *out) { bass = wrap(pow(4, fabs(sin(twopi * wrap(32 * p)))) * bass); bass = (bass > wrap(16 * p)) - 0.5; - bass = 2 * moog(&s->moog, 3 * bass, 2 * 180 * pow(16, 1 - wrap(256 * 3 * p)), 0.9); + bass = 0 * moog(&s->moog, 3 * bass, 2 * 180 * pow(16, 1 - wrap(256 * 3 * p)), 0.9); compressed[0] += bass; compressed[1] += bass;
diff @ 2016-08-07 21:36:35 +0100 diff --git a/src/go.c b/src/go.c index 5e60f39..5e5a032 100644 --- a/src/go.c +++ b/src/go.c @@ -89,7 +89,7 @@ int go(S *s, int channels, const float *in, float *out) { compressed[0] += kick; compressed[1] += kick; - double snare = 1 - wrap(32 * 2 * p + 0.5); + double snare = 1 - wrap(32 * 4 * p + 0.5); snare *= snare; snare *= snare; snare *= snare;
diff @ 2016-08-07 21:36:42 +0100 diff --git a/src/go.c b/src/go.c index 5e5a032..2482fed 100644 --- a/src/go.c +++ b/src/go.c @@ -89,7 +89,7 @@ int go(S *s, int channels, const float *in, float *out) { compressed[0] += kick; compressed[1] += kick; - double snare = 1 - wrap(32 * 4 * p + 0.5); + double snare = 1 - wrap(32 * 8 * p + 0.5); snare *= snare; snare *= snare; snare *= snare;
diff @ 2016-08-07 21:36:46 +0100 diff --git a/src/go.c b/src/go.c index 2482fed..dbc4e39 100644 --- a/src/go.c +++ b/src/go.c @@ -92,8 +92,6 @@ int go(S *s, int channels, const float *in, float *out) { double snare = 1 - wrap(32 * 8 * p + 0.5); snare *= snare; snare *= snare; - snare *= snare; - snare *= snare; snare *= noise(); snare *= 4; snare = tanh(snare);
diff @ 2016-08-07 21:37:02 +0100 diff --git a/src/go.c b/src/go.c index dbc4e39..ad2b197 100644 --- a/src/go.c +++ b/src/go.c @@ -39,7 +39,7 @@ int go(S *s, int channels, const float *in, float *out) { s->reloaded = 0; //s->tempo = 1; } - s->tempo *= 1.000001; + s->tempo *= 1.000002; double impulse[2] = { s->reloaded, s->reloaded }; // modulate delay times
diff @ 2016-08-07 21:37:07 +0100 diff --git a/src/go.c b/src/go.c index ad2b197..5ae483f 100644 --- a/src/go.c +++ b/src/go.c @@ -39,7 +39,7 @@ int go(S *s, int channels, const float *in, float *out) { s->reloaded = 0; //s->tempo = 1; } - s->tempo *= 1.000002; + s->tempo *= 1.000003; double impulse[2] = { s->reloaded, s->reloaded }; // modulate delay times
diff @ 2016-08-07 21:37:10 +0100 diff --git a/src/go.c b/src/go.c index 5ae483f..62aef1b 100644 --- a/src/go.c +++ b/src/go.c @@ -39,7 +39,7 @@ int go(S *s, int channels, const float *in, float *out) { s->reloaded = 0; //s->tempo = 1; } - s->tempo *= 1.000003; + s->tempo *= 1.00001; double impulse[2] = { s->reloaded, s->reloaded }; // modulate delay times
diff @ 2016-08-07 21:37:16 +0100 diff --git a/src/go.c b/src/go.c index 62aef1b..8e4fdbf 100644 --- a/src/go.c +++ b/src/go.c @@ -39,7 +39,7 @@ int go(S *s, int channels, const float *in, float *out) { s->reloaded = 0; //s->tempo = 1; } - s->tempo *= 1.00001; + s->tempo *= 1.0001; double impulse[2] = { s->reloaded, s->reloaded }; // modulate delay times
diff @ 2016-08-07 21:37:22 +0100 diff --git a/src/go.c b/src/go.c index 8e4fdbf..56bcb10 100644 --- a/src/go.c +++ b/src/go.c @@ -39,7 +39,7 @@ int go(S *s, int channels, const float *in, float *out) { s->reloaded = 0; //s->tempo = 1; } - s->tempo *= 1.0001; + s->tempo *= 1; double impulse[2] = { s->reloaded, s->reloaded }; // modulate delay times
diff @ 2016-08-07 21:37:27 +0100 diff --git a/src/go.c b/src/go.c index 56bcb10..dff57b2 100644 --- a/src/go.c +++ b/src/go.c @@ -39,7 +39,7 @@ int go(S *s, int channels, const float *in, float *out) { s->reloaded = 0; //s->tempo = 1; } - s->tempo *= 1; + //s->tempo *= 1; double impulse[2] = { s->reloaded, s->reloaded }; // modulate delay times @@ -112,7 +112,7 @@ int go(S *s, int channels, const float *in, float *out) { // compress mix down double mixdown[2] = { 0, 0 }; compress(mixdown, &s->compress[1], 5, 10, 25, 36, compressed); - double volume = 1; + double volume = 0; mixdown[0] *= volume; mixdown[1] *= volume;