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-11-17 20:31:05 +0000 diff --git a/src/go.c b/src/go.c index 90f3350..d70414e 100644 --- a/src/go.c +++ b/src/go.c @@ -21,7 +21,7 @@ int go(S *s, int channels, const float *in, float *out) { // noise double n = pink(&s->pink); - double q = 10; + double q = 20; n = vcf(&s->bass, n, 50, q) * q; n = sin(n);
diff @ 2016-11-17 20:31:11 +0000 diff --git a/src/go.c b/src/go.c index d70414e..e2b5744 100644 --- a/src/go.c +++ b/src/go.c @@ -21,7 +21,7 @@ int go(S *s, int channels, const float *in, float *out) { // noise double n = pink(&s->pink); - double q = 20; + double q = 40; n = vcf(&s->bass, n, 50, q) * q; n = sin(n);
diff @ 2016-11-17 20:31:17 +0000 diff --git a/src/go.c b/src/go.c index e2b5744..d2bfc76 100644 --- a/src/go.c +++ b/src/go.c @@ -16,7 +16,7 @@ int go(S *s, int channels, const float *in, float *out) { // trigger impulse on reload if (s->reloaded) { s->reloaded = 0; - pink_init(&s->pink, 10, 0xBeefCafe); + //pink_init(&s->pink, 10, 0xBeefCafe); } // noise
diff @ 2016-11-17 20:31:29 +0000 diff --git a/src/go.c b/src/go.c index d2bfc76..f9e6a58 100644 --- a/src/go.c +++ b/src/go.c @@ -8,6 +8,7 @@ typedef struct { COMPRESS mixdown; PINK pink; VCF bass; + PHASOR psh; } S; // per sample DSP callback @@ -21,7 +22,7 @@ int go(S *s, int channels, const float *in, float *out) { // noise double n = pink(&s->pink); - double q = 40; + double q = 60; n = vcf(&s->bass, n, 50, q) * q; n = sin(n);
diff @ 2016-11-17 20:31:38 +0000 diff --git a/src/go.c b/src/go.c index f9e6a58..efff13b 100644 --- a/src/go.c +++ b/src/go.c @@ -9,6 +9,7 @@ typedef struct { PINK pink; VCF bass; PHASOR psh; + SAMPHOLD sh[2]; } S; // per sample DSP callback @@ -22,7 +23,7 @@ int go(S *s, int channels, const float *in, float *out) { // noise double n = pink(&s->pink); - double q = 60; + double q = 90; n = vcf(&s->bass, n, 50, q) * q; n = sin(n);
diff @ 2016-11-17 20:31:53 +0000 diff --git a/src/go.c b/src/go.c index efff13b..aca6e9b 100644 --- a/src/go.c +++ b/src/go.c @@ -25,6 +25,7 @@ int go(S *s, int channels, const float *in, float *out) { double n = pink(&s->pink); double q = 90; n = vcf(&s->bass, n, 50, q) * q; + double psh = phasor(&s->psh, 20000); n = sin(n); // mix down
diff @ 2016-11-17 20:32:15 +0000 diff --git a/src/go.c b/src/go.c index aca6e9b..c4da643 100644 --- a/src/go.c +++ b/src/go.c @@ -27,11 +27,13 @@ int go(S *s, int channels, const float *in, float *out) { n = vcf(&s->bass, n, 50, q) * q; double psh = phasor(&s->psh, 20000); n = sin(n); + double ns[2]; + ns[0] = samphold(&s->sh[0], n, psh); // mix down double mixdown[2] = { 0, 0 }; - mixdown[0] += n; - mixdown[1] += n; + mixdown[0] += ns[0]; + mixdown[1] += ns[0]; // compress compress(mixdown, &s->mixdown, 5, 10, 25, 36, mixdown);
diff @ 2016-11-17 20:32:47 +0000 diff --git a/src/go.c b/src/go.c index c4da643..fcfad65 100644 --- a/src/go.c +++ b/src/go.c @@ -10,6 +10,7 @@ typedef struct { VCF bass; PHASOR psh; SAMPHOLD sh[2]; + LOP shf; } S; // per sample DSP callback @@ -25,7 +26,7 @@ int go(S *s, int channels, const float *in, float *out) { double n = pink(&s->pink); double q = 90; n = vcf(&s->bass, n, 50, q) * q; - double psh = phasor(&s->psh, 20000); + double psh = phasor(&s->psh, 20000 - lop(&s->shf, 18000, 0.01)); n = sin(n); double ns[2]; ns[0] = samphold(&s->sh[0], n, psh);
diff @ 2016-11-17 20:33:01 +0000 diff --git a/src/go.c b/src/go.c index fcfad65..a7776ec 100644 --- a/src/go.c +++ b/src/go.c @@ -30,11 +30,12 @@ int go(S *s, int channels, const float *in, float *out) { n = sin(n); double ns[2]; ns[0] = samphold(&s->sh[0], n, psh); + ns[1] = samphold(&s->sh[0], n, wrap(psh + 0.5)); // mix down double mixdown[2] = { 0, 0 }; mixdown[0] += ns[0]; - mixdown[1] += ns[0]; + mixdown[1] += ns[1]; // compress compress(mixdown, &s->mixdown, 5, 10, 25, 36, mixdown);
diff @ 2016-11-17 20:33:05 +0000 diff --git a/src/go.c b/src/go.c index a7776ec..05f0450 100644 --- a/src/go.c +++ b/src/go.c @@ -30,7 +30,7 @@ int go(S *s, int channels, const float *in, float *out) { n = sin(n); double ns[2]; ns[0] = samphold(&s->sh[0], n, psh); - ns[1] = samphold(&s->sh[0], n, wrap(psh + 0.5)); + ns[1] = samphold(&s->sh[1], n, wrap(psh + 0.5)); // mix down double mixdown[2] = { 0, 0 };
diff @ 2016-11-17 20:33:14 +0000 diff --git a/src/go.c b/src/go.c index 05f0450..edd4e60 100644 --- a/src/go.c +++ b/src/go.c @@ -24,7 +24,7 @@ int go(S *s, int channels, const float *in, float *out) { // noise double n = pink(&s->pink); - double q = 90; + double q = 150; n = vcf(&s->bass, n, 50, q) * q; double psh = phasor(&s->psh, 20000 - lop(&s->shf, 18000, 0.01)); n = sin(n);
diff @ 2016-11-17 20:33:27 +0000 diff --git a/src/go.c b/src/go.c index edd4e60..2d09ea0 100644 --- a/src/go.c +++ b/src/go.c @@ -25,7 +25,7 @@ int go(S *s, int channels, const float *in, float *out) { // noise double n = pink(&s->pink); double q = 150; - n = vcf(&s->bass, n, 50, q) * q; + n = vcf(&s->bass, n, 50, q) * q * 1.5; double psh = phasor(&s->psh, 20000 - lop(&s->shf, 18000, 0.01)); n = sin(n); double ns[2];
diff @ 2016-11-17 20:33:46 +0000 diff --git a/src/go.c b/src/go.c index 2d09ea0..37f381a 100644 --- a/src/go.c +++ b/src/go.c @@ -11,6 +11,8 @@ typedef struct { PHASOR psh; SAMPHOLD sh[2]; LOP shf; + PHASOR clock; + double bpm; } S; // per sample DSP callback @@ -32,6 +34,8 @@ int go(S *s, int channels, const float *in, float *out) { ns[0] = samphold(&s->sh[0], n, psh); ns[1] = samphold(&s->sh[1], n, wrap(psh + 0.5)); + + // mix down double mixdown[2] = { 0, 0 }; mixdown[0] += ns[0];
diff @ 2016-11-17 20:34:11 +0000 diff --git a/src/go.c b/src/go.c index 37f381a..b536862 100644 --- a/src/go.c +++ b/src/go.c @@ -21,6 +21,7 @@ int go(S *s, int channels, const float *in, float *out) { // trigger impulse on reload if (s->reloaded) { s->reloaded = 0; + s->bpm = 133; //pink_init(&s->pink, 10, 0xBeefCafe); } @@ -34,7 +35,8 @@ int go(S *s, int channels, const float *in, float *out) { ns[0] = samphold(&s->sh[0], n, psh); ns[1] = samphold(&s->sh[1], n, wrap(psh + 0.5)); - + // rhythm + double t = phasor(&s->clock, s->bpm / 60.0 / 64.0); // mix down double mixdown[2] = { 0, 0 };
diff @ 2016-11-17 20:35:01 +0000 diff --git a/src/go.c b/src/go.c index b536862..a5b16e5 100644 --- a/src/go.c +++ b/src/go.c @@ -38,10 +38,23 @@ int go(S *s, int channels, const float *in, float *out) { // rhythm double t = phasor(&s->clock, s->bpm / 60.0 / 64.0); + double k = 1 - wrap(16 * t); + k *= k; + k *= k; + k *= k; + k *= k; + k *= k; + k *= k; + k *= k; + k *= 12; + k = sin(twopi * k); + k *= 4; + k = tanh(k); + // mix down double mixdown[2] = { 0, 0 }; - mixdown[0] += ns[0]; - mixdown[1] += ns[1]; + mixdown[0] += ns[0] + k; + mixdown[1] += ns[1] + k; // compress compress(mixdown, &s->mixdown, 5, 10, 25, 36, mixdown);
diff @ 2016-11-17 20:35:05 +0000 diff --git a/src/go.c b/src/go.c index a5b16e5..51590c9 100644 --- a/src/go.c +++ b/src/go.c @@ -45,7 +45,6 @@ int go(S *s, int channels, const float *in, float *out) { k *= k; k *= k; k *= k; - k *= k; k *= 12; k = sin(twopi * k); k *= 4;
diff @ 2016-11-17 20:35:08 +0000 diff --git a/src/go.c b/src/go.c index 51590c9..b8fc028 100644 --- a/src/go.c +++ b/src/go.c @@ -44,7 +44,6 @@ int go(S *s, int channels, const float *in, float *out) { k *= k; k *= k; k *= k; - k *= k; k *= 12; k = sin(twopi * k); k *= 4;
diff @ 2016-11-17 20:35:55 +0000 diff --git a/src/go.c b/src/go.c index b8fc028..55aeb2a 100644 --- a/src/go.c +++ b/src/go.c @@ -13,6 +13,7 @@ typedef struct { LOP shf; PHASOR clock; double bpm; + BIQUAD morebass; } S; // per sample DSP callback @@ -47,6 +48,7 @@ int go(S *s, int channels, const float *in, float *out) { k *= 12; k = sin(twopi * k); k *= 4; + k += biquad(highpass(&s->morebass, 50, 5), k); k = tanh(k); // mix down
diff @ 2016-11-17 20:36:02 +0000 diff --git a/src/go.c b/src/go.c index 55aeb2a..2cd269e 100644 --- a/src/go.c +++ b/src/go.c @@ -48,7 +48,7 @@ int go(S *s, int channels, const float *in, float *out) { k *= 12; k = sin(twopi * k); k *= 4; - k += biquad(highpass(&s->morebass, 50, 5), k); + k += biquad(highpass(&s->morebass, 50, 10), k); k = tanh(k); // mix down
diff @ 2016-11-17 20:36:06 +0000 diff --git a/src/go.c b/src/go.c index 2cd269e..c3cc6dd 100644 --- a/src/go.c +++ b/src/go.c @@ -48,7 +48,7 @@ int go(S *s, int channels, const float *in, float *out) { k *= 12; k = sin(twopi * k); k *= 4; - k += biquad(highpass(&s->morebass, 50, 10), k); + k += biquad(highpass(&s->morebass, 50, 20), k); k = tanh(k); // mix down
diff @ 2016-11-17 20:36:10 +0000 diff --git a/src/go.c b/src/go.c index c3cc6dd..abbf0cb 100644 --- a/src/go.c +++ b/src/go.c @@ -48,7 +48,7 @@ int go(S *s, int channels, const float *in, float *out) { k *= 12; k = sin(twopi * k); k *= 4; - k += biquad(highpass(&s->morebass, 50, 20), k); + k += biquad(highpass(&s->morebass, 50, 40), k); k = tanh(k); // mix down
diff @ 2016-11-17 20:36:16 +0000 diff --git a/src/go.c b/src/go.c index abbf0cb..da98ea2 100644 --- a/src/go.c +++ b/src/go.c @@ -48,7 +48,7 @@ int go(S *s, int channels, const float *in, float *out) { k *= 12; k = sin(twopi * k); k *= 4; - k += biquad(highpass(&s->morebass, 50, 40), k); + k += biquad(highpass(&s->morebass, 50, 80), k); k = tanh(k); // mix down
diff @ 2016-11-17 20:36:23 +0000 diff --git a/src/go.c b/src/go.c index da98ea2..0753cbc 100644 --- a/src/go.c +++ b/src/go.c @@ -48,7 +48,7 @@ int go(S *s, int channels, const float *in, float *out) { k *= 12; k = sin(twopi * k); k *= 4; - k += biquad(highpass(&s->morebass, 50, 80), k); + k += biquad(highpass(&s->morebass, 50, 160), k); k = tanh(k); // mix down
diff @ 2016-11-17 20:36:37 +0000 diff --git a/src/go.c b/src/go.c index 0753cbc..7c469b4 100644 --- a/src/go.c +++ b/src/go.c @@ -49,6 +49,7 @@ int go(S *s, int channels, const float *in, float *out) { k = sin(twopi * k); k *= 4; k += biquad(highpass(&s->morebass, 50, 160), k); + k + sin(k)l k = tanh(k); // mix down
diff @ 2016-11-17 20:36:38 +0000 diff --git a/src/go.c b/src/go.c index 7c469b4..ec274bf 100644 --- a/src/go.c +++ b/src/go.c @@ -49,7 +49,7 @@ int go(S *s, int channels, const float *in, float *out) { k = sin(twopi * k); k *= 4; k += biquad(highpass(&s->morebass, 50, 160), k); - k + sin(k)l + k + sin(k); k = tanh(k); // mix down
diff @ 2016-11-17 20:36:43 +0000 diff --git a/src/go.c b/src/go.c index ec274bf..08e1dd0 100644 --- a/src/go.c +++ b/src/go.c @@ -49,7 +49,7 @@ int go(S *s, int channels, const float *in, float *out) { k = sin(twopi * k); k *= 4; k += biquad(highpass(&s->morebass, 50, 160), k); - k + sin(k); + k += sin(k); k = tanh(k); // mix down
diff @ 2016-11-17 20:37:29 +0000 diff --git a/src/go.c b/src/go.c index 08e1dd0..f30e042 100644 --- a/src/go.c +++ b/src/go.c @@ -52,10 +52,21 @@ int go(S *s, int channels, const float *in, float *out) { k += sin(k); k = tanh(k); + double sn = 1 - wrap(16 * t + 0.5); + sn *= sn; + sn *= sn; + sn *= sn; + sn *= sn; + sn *= sn; + sn *= sn; + sn *= noise(); + sn *= 4; + sn = tanh(sn); + // mix down double mixdown[2] = { 0, 0 }; - mixdown[0] += ns[0] + k; - mixdown[1] += ns[1] + k; + mixdown[0] += ns[0] + k + sn; + mixdown[1] += ns[1] + k + sn; // compress compress(mixdown, &s->mixdown, 5, 10, 25, 36, mixdown);
diff @ 2016-11-17 20:38:13 +0000 diff --git a/src/go.c b/src/go.c index f30e042..301d414 100644 --- a/src/go.c +++ b/src/go.c @@ -14,6 +14,7 @@ typedef struct { PHASOR clock; double bpm; BIQUAD morebass; + BIQUAD snare; } S; // per sample DSP callback @@ -61,6 +62,7 @@ int go(S *s, int channels, const float *in, float *out) { sn *= sn; sn *= noise(); sn *= 4; + sn += biquad(lowpass(s->snare, 300, 10), sn); sn = tanh(sn); // mix down
diff @ 2016-11-17 20:38:29 +0000 diff --git a/src/go.c b/src/go.c index 301d414..256b725 100644 --- a/src/go.c +++ b/src/go.c @@ -62,7 +62,7 @@ int go(S *s, int channels, const float *in, float *out) { sn *= sn; sn *= noise(); sn *= 4; - sn += biquad(lowpass(s->snare, 300, 10), sn); + sn += biquad(lowpass(&s->snare, 300, 10), sn); sn = tanh(sn); // mix down
diff @ 2016-11-17 20:38:33 +0000 diff --git a/src/go.c b/src/go.c index 256b725..d89443c 100644 --- a/src/go.c +++ b/src/go.c @@ -62,7 +62,7 @@ int go(S *s, int channels, const float *in, float *out) { sn *= sn; sn *= noise(); sn *= 4; - sn += biquad(lowpass(&s->snare, 300, 10), sn); + sn += biquad(lowpass(&s->snare, 300, 20), sn); sn = tanh(sn); // mix down
diff @ 2016-11-17 20:38:38 +0000 diff --git a/src/go.c b/src/go.c index d89443c..8b1e4e5 100644 --- a/src/go.c +++ b/src/go.c @@ -62,7 +62,7 @@ int go(S *s, int channels, const float *in, float *out) { sn *= sn; sn *= noise(); sn *= 4; - sn += biquad(lowpass(&s->snare, 300, 20), sn); + sn += biquad(lowpass(&s->snare, 300, 30), sn); sn = tanh(sn); // mix down
diff @ 2016-11-17 20:38:42 +0000 diff --git a/src/go.c b/src/go.c index 8b1e4e5..747d20c 100644 --- a/src/go.c +++ b/src/go.c @@ -62,7 +62,7 @@ int go(S *s, int channels, const float *in, float *out) { sn *= sn; sn *= noise(); sn *= 4; - sn += biquad(lowpass(&s->snare, 300, 30), sn); + sn += biquad(lowpass(&s->snare, 300, 50), sn); sn = tanh(sn); // mix down
diff @ 2016-11-17 20:38:46 +0000 diff --git a/src/go.c b/src/go.c index 747d20c..31740b0 100644 --- a/src/go.c +++ b/src/go.c @@ -62,7 +62,7 @@ int go(S *s, int channels, const float *in, float *out) { sn *= sn; sn *= noise(); sn *= 4; - sn += biquad(lowpass(&s->snare, 300, 50), sn); + sn += 2 * biquad(lowpass(&s->snare, 300, 50), sn); sn = tanh(sn); // mix down
diff @ 2016-11-17 20:38:59 +0000 diff --git a/src/go.c b/src/go.c index 31740b0..e117888 100644 --- a/src/go.c +++ b/src/go.c @@ -63,6 +63,7 @@ int go(S *s, int channels, const float *in, float *out) { sn *= noise(); sn *= 4; sn += 2 * biquad(lowpass(&s->snare, 300, 50), sn); + sn += sin(sn); sn = tanh(sn); // mix down
diff @ 2016-11-17 20:39:24 +0000 diff --git a/src/go.c b/src/go.c index e117888..cb0d36f 100644 --- a/src/go.c +++ b/src/go.c @@ -15,6 +15,8 @@ typedef struct { double bpm; BIQUAD morebass; BIQUAD snare; + DELAY del1; + float del1buf[SR]; } S; // per sample DSP callback @@ -24,6 +26,7 @@ int go(S *s, int channels, const float *in, float *out) { if (s->reloaded) { s->reloaded = 0; s->bpm = 133; + s->del1.length = SR; //pink_init(&s->pink, 10, 0xBeefCafe); }
diff @ 2016-11-17 20:40:05 +0000 diff --git a/src/go.c b/src/go.c index cb0d36f..fcab074 100644 --- a/src/go.c +++ b/src/go.c @@ -66,8 +66,10 @@ int go(S *s, int channels, const float *in, float *out) { sn *= noise(); sn *= 4; sn += 2 * biquad(lowpass(&s->snare, 300, 50), sn); + sn += 0.5 * delread(&s->del1, 2 * 15000 / s->bpm); sn += sin(sn); sn = tanh(sn); + delwrite(&s->del1, sn); // mix down double mixdown[2] = { 0, 0 };
diff @ 2016-11-17 20:40:10 +0000 diff --git a/src/go.c b/src/go.c index fcab074..89aa023 100644 --- a/src/go.c +++ b/src/go.c @@ -66,7 +66,7 @@ int go(S *s, int channels, const float *in, float *out) { sn *= noise(); sn *= 4; sn += 2 * biquad(lowpass(&s->snare, 300, 50), sn); - sn += 0.5 * delread(&s->del1, 2 * 15000 / s->bpm); + sn += 0.5 * delread4(&s->del1, 2 * 15000 / s->bpm); sn += sin(sn); sn = tanh(sn); delwrite(&s->del1, sn);
diff @ 2016-11-17 20:40:15 +0000 diff --git a/src/go.c b/src/go.c index 89aa023..35e7256 100644 --- a/src/go.c +++ b/src/go.c @@ -66,7 +66,7 @@ int go(S *s, int channels, const float *in, float *out) { sn *= noise(); sn *= 4; sn += 2 * biquad(lowpass(&s->snare, 300, 50), sn); - sn += 0.5 * delread4(&s->del1, 2 * 15000 / s->bpm); + sn += 0.25 * delread4(&s->del1, 2 * 15000 / s->bpm); sn += sin(sn); sn = tanh(sn); delwrite(&s->del1, sn);
diff @ 2016-11-17 20:41:02 +0000 diff --git a/src/go.c b/src/go.c index 35e7256..3cb94e0 100644 --- a/src/go.c +++ b/src/go.c @@ -17,6 +17,7 @@ typedef struct { BIQUAD snare; DELAY del1; float del1buf[SR]; + PITCHSHIFT ps; } S; // per sample DSP callback @@ -66,7 +67,7 @@ int go(S *s, int channels, const float *in, float *out) { sn *= noise(); sn *= 4; sn += 2 * biquad(lowpass(&s->snare, 300, 50), sn); - sn += 0.25 * delread4(&s->del1, 2 * 15000 / s->bpm); + sn += 0.25 * pitchshift(&s->ps, 1, 50, 3 * sin(twopi * 4 * t), delread4(&s->del1, 2 * 15000 / s->bpm)); sn += sin(sn); sn = tanh(sn); delwrite(&s->del1, sn);
diff @ 2016-11-17 20:41:13 +0000 diff --git a/src/go.c b/src/go.c index 3cb94e0..eb96255 100644 --- a/src/go.c +++ b/src/go.c @@ -67,7 +67,8 @@ int go(S *s, int channels, const float *in, float *out) { sn *= noise(); sn *= 4; sn += 2 * biquad(lowpass(&s->snare, 300, 50), sn); - sn += 0.25 * pitchshift(&s->ps, 1, 50, 3 * sin(twopi * 4 * t), delread4(&s->del1, 2 * 15000 / s->bpm)); + sn += 0.25 * pitchshift(&s->ps, 1, 50, 3 * sin(twopi * 4 * t), + delread4(&s->del1, 2 * 15000 / s->bpm)); sn += sin(sn); sn = tanh(sn); delwrite(&s->del1, sn);
diff @ 2016-11-17 20:41:19 +0000 diff --git a/src/go.c b/src/go.c index eb96255..bdcf8db 100644 --- a/src/go.c +++ b/src/go.c @@ -67,7 +67,7 @@ int go(S *s, int channels, const float *in, float *out) { sn *= noise(); sn *= 4; sn += 2 * biquad(lowpass(&s->snare, 300, 50), sn); - sn += 0.25 * pitchshift(&s->ps, 1, 50, 3 * sin(twopi * 4 * t), + sn += 0.33 * pitchshift(&s->ps, 1, 50, 3 * sin(twopi * 4 * t), delread4(&s->del1, 2 * 15000 / s->bpm)); sn += sin(sn); sn = tanh(sn);
diff @ 2016-11-17 20:42:00 +0000 diff --git a/src/go.c b/src/go.c index bdcf8db..353690a 100644 --- a/src/go.c +++ b/src/go.c @@ -17,7 +17,7 @@ typedef struct { BIQUAD snare; DELAY del1; float del1buf[SR]; - PITCHSHIFT ps; + PITCHSHIFT ps[2]; } S; // per sample DSP callback @@ -67,9 +67,10 @@ int go(S *s, int channels, const float *in, float *out) { sn *= noise(); sn *= 4; sn += 2 * biquad(lowpass(&s->snare, 300, 50), sn); - sn += 0.33 * pitchshift(&s->ps, 1, 50, 3 * sin(twopi * 4 * t), + sn += 0.33 * pitchshift(&s->ps[1], 1, 50, 3 * sin(twopi * 4 * t), delread4(&s->del1, 2 * 15000 / s->bpm)); sn += sin(sn); + sn += pitchshift(&s->ps[0], 1, 50, -12, sn); sn = tanh(sn); delwrite(&s->del1, sn);
diff @ 2016-11-17 20:43:09 +0000 diff --git a/src/go.c b/src/go.c index 353690a..3d2c272 100644 --- a/src/go.c +++ b/src/go.c @@ -18,6 +18,8 @@ typedef struct { DELAY del1; float del1buf[SR]; PITCHSHIFT ps[2]; + DELAY del2; + float del2buf[SR]; } S; // per sample DSP callback @@ -28,6 +30,7 @@ int go(S *s, int channels, const float *in, float *out) { s->reloaded = 0; s->bpm = 133; s->del1.length = SR; + s->del2.length = SR; //pink_init(&s->pink, 10, 0xBeefCafe); } @@ -73,7 +76,7 @@ int go(S *s, int channels, const float *in, float *out) { sn += pitchshift(&s->ps[0], 1, 50, -12, sn); sn = tanh(sn); delwrite(&s->del1, sn); - + // mix down double mixdown[2] = { 0, 0 }; mixdown[0] += ns[0] + k + sn;
diff @ 2016-11-17 20:44:38 +0000 diff --git a/src/go.c b/src/go.c index 3d2c272..d836bb1 100644 --- a/src/go.c +++ b/src/go.c @@ -76,7 +76,13 @@ int go(S *s, int channels, const float *in, float *out) { sn += pitchshift(&s->ps[0], 1, 50, -12, sn); sn = tanh(sn); delwrite(&s->del1, sn); - + double sn2 = delread4(&s->del2, 1000 / 150.0); + sn2 += sn; + sn2 *= 0.5; + delwrite(&s->del2, sn2); + sn += sn2; + + // mix down double mixdown[2] = { 0, 0 }; mixdown[0] += ns[0] + k + sn;
diff @ 2016-11-17 20:44:52 +0000 diff --git a/src/go.c b/src/go.c index d836bb1..55a69cf 100644 --- a/src/go.c +++ b/src/go.c @@ -78,7 +78,7 @@ int go(S *s, int channels, const float *in, float *out) { delwrite(&s->del1, sn); double sn2 = delread4(&s->del2, 1000 / 150.0); sn2 += sn; - sn2 *= 0.5; + sn2 *= 0.65; delwrite(&s->del2, sn2); sn += sn2;
diff @ 2016-11-17 20:44:56 +0000 diff --git a/src/go.c b/src/go.c index 55a69cf..163c4c2 100644 --- a/src/go.c +++ b/src/go.c @@ -78,7 +78,7 @@ int go(S *s, int channels, const float *in, float *out) { delwrite(&s->del1, sn); double sn2 = delread4(&s->del2, 1000 / 150.0); sn2 += sn; - sn2 *= 0.65; + sn2 *= 0.85; delwrite(&s->del2, sn2); sn += sn2;
diff @ 2016-11-17 20:45:10 +0000 diff --git a/src/go.c b/src/go.c index 163c4c2..e8e6a15 100644 --- a/src/go.c +++ b/src/go.c @@ -78,7 +78,7 @@ int go(S *s, int channels, const float *in, float *out) { delwrite(&s->del1, sn); double sn2 = delread4(&s->del2, 1000 / 150.0); sn2 += sn; - sn2 *= 0.85; + sn2 *= -0.85; delwrite(&s->del2, sn2); sn += sn2;
diff @ 2016-11-17 20:45:30 +0000 diff --git a/src/go.c b/src/go.c index e8e6a15..6fd0923 100644 --- a/src/go.c +++ b/src/go.c @@ -78,7 +78,7 @@ int go(S *s, int channels, const float *in, float *out) { delwrite(&s->del1, sn); double sn2 = delread4(&s->del2, 1000 / 150.0); sn2 += sn; - sn2 *= -0.85; + sn2 *= -0.95; delwrite(&s->del2, sn2); sn += sn2;
diff @ 2016-11-17 20:46:50 +0000 diff --git a/src/go.c b/src/go.c index 6fd0923..0a9daa6 100644 --- a/src/go.c +++ b/src/go.c @@ -76,7 +76,12 @@ int go(S *s, int channels, const float *in, float *out) { sn += pitchshift(&s->ps[0], 1, 50, -12, sn); sn = tanh(sn); delwrite(&s->del1, sn); - double sn2 = delread4(&s->del2, 1000 / 150.0); + + int step = floor(256 * t); + double hz = (step * 7) % 16; + hz += 1; + hz *= 50; + double sn2 = delread4(&s->del2, 1000 / hz); sn2 += sn; sn2 *= -0.95; delwrite(&s->del2, sn2);
diff @ 2016-11-17 20:46:52 +0000 diff --git a/src/go.c b/src/go.c index 0a9daa6..5824d8d 100644 --- a/src/go.c +++ b/src/go.c @@ -80,7 +80,7 @@ int go(S *s, int channels, const float *in, float *out) { int step = floor(256 * t); double hz = (step * 7) % 16; hz += 1; - hz *= 50; + hz *= 50; double sn2 = delread4(&s->del2, 1000 / hz); sn2 += sn; sn2 *= -0.95;
diff @ 2016-11-17 20:47:09 +0000 diff --git a/src/go.c b/src/go.c index 5824d8d..e134319 100644 --- a/src/go.c +++ b/src/go.c @@ -78,7 +78,7 @@ int go(S *s, int channels, const float *in, float *out) { delwrite(&s->del1, sn); int step = floor(256 * t); - double hz = (step * 7) % 16; + double hz = ((step/4) * 7) % 16; hz += 1; hz *= 50; double sn2 = delread4(&s->del2, 1000 / hz);
diff @ 2016-11-17 20:47:26 +0000 diff --git a/src/go.c b/src/go.c index e134319..4fd1dd2 100644 --- a/src/go.c +++ b/src/go.c @@ -36,7 +36,7 @@ int go(S *s, int channels, const float *in, float *out) { // noise double n = pink(&s->pink); - double q = 150; + double q = 200; n = vcf(&s->bass, n, 50, q) * q * 1.5; double psh = phasor(&s->psh, 20000 - lop(&s->shf, 18000, 0.01)); n = sin(n);
diff @ 2016-11-17 20:47:40 +0000 diff --git a/src/go.c b/src/go.c index 4fd1dd2..81da412 100644 --- a/src/go.c +++ b/src/go.c @@ -38,7 +38,7 @@ int go(S *s, int channels, const float *in, float *out) { double n = pink(&s->pink); double q = 200; n = vcf(&s->bass, n, 50, q) * q * 1.5; - double psh = phasor(&s->psh, 20000 - lop(&s->shf, 18000, 0.01)); + double psh = phasor(&s->psh, 20000 - lop(&s->shf, 19000, 0.01)); n = sin(n); double ns[2]; ns[0] = samphold(&s->sh[0], n, psh);
diff @ 2016-11-17 20:48:01 +0000 diff --git a/src/go.c b/src/go.c index 81da412..df97e3d 100644 --- a/src/go.c +++ b/src/go.c @@ -71,7 +71,7 @@ int go(S *s, int channels, const float *in, float *out) { sn *= 4; sn += 2 * biquad(lowpass(&s->snare, 300, 50), sn); sn += 0.33 * pitchshift(&s->ps[1], 1, 50, 3 * sin(twopi * 4 * t), - delread4(&s->del1, 2 * 15000 / s->bpm)); + delread4(&s->del1, (2 + sin(twopi * 4 * t)) * 15000 / s->bpm)); sn += sin(sn); sn += pitchshift(&s->ps[0], 1, 50, -12, sn); sn = tanh(sn);
diff @ 2016-11-17 20:48:35 +0000 diff --git a/src/go.c b/src/go.c index df97e3d..1519a04 100644 --- a/src/go.c +++ b/src/go.c @@ -47,7 +47,7 @@ int go(S *s, int channels, const float *in, float *out) { // rhythm double t = phasor(&s->clock, s->bpm / 60.0 / 64.0); - double k = 1 - wrap(16 * t); + double k = 1 - wrap(2.666 * wrap(8 * t)); k *= k; k *= k; k *= k;
diff @ 2016-11-17 20:48:58 +0000 diff --git a/src/go.c b/src/go.c index 1519a04..057ac18 100644 --- a/src/go.c +++ b/src/go.c @@ -70,7 +70,7 @@ int go(S *s, int channels, const float *in, float *out) { sn *= noise(); sn *= 4; sn += 2 * biquad(lowpass(&s->snare, 300, 50), sn); - sn += 0.33 * pitchshift(&s->ps[1], 1, 50, 3 * sin(twopi * 4 * t), + sn += 0.33 * pitchshift(&s->ps[1], 1, 50, 12 * sin(twopi * 4 * t), delread4(&s->del1, (2 + sin(twopi * 4 * t)) * 15000 / s->bpm)); sn += sin(sn); sn += pitchshift(&s->ps[0], 1, 50, -12, sn);
diff @ 2016-11-17 20:49:35 +0000 diff --git a/src/go.c b/src/go.c index 057ac18..cc6ae62 100644 --- a/src/go.c +++ b/src/go.c @@ -20,6 +20,7 @@ typedef struct { PITCHSHIFT ps[2]; DELAY del2; float del2buf[SR]; + LOP mbf; } S; // per sample DSP callback @@ -56,7 +57,7 @@ int go(S *s, int channels, const float *in, float *out) { k *= 12; k = sin(twopi * k); k *= 4; - k += biquad(highpass(&s->morebass, 50, 160), k); + k += biquad(highpass(&s->morebass, 50 + lop(&s->mbf, 50, 0.01), 160), k); k += sin(k); k = tanh(k);
diff @ 2016-11-17 20:50:05 +0000 diff --git a/src/go.c b/src/go.c index cc6ae62..3f61f73 100644 --- a/src/go.c +++ b/src/go.c @@ -84,7 +84,7 @@ int go(S *s, int channels, const float *in, float *out) { hz *= 50; double sn2 = delread4(&s->del2, 1000 / hz); sn2 += sn; - sn2 *= -0.95; + sn2 *= -0.995; delwrite(&s->del2, sn2); sn += sn2;
diff @ 2016-11-17 20:50:08 +0000 diff --git a/src/go.c b/src/go.c index 3f61f73..9fd96f0 100644 --- a/src/go.c +++ b/src/go.c @@ -84,7 +84,7 @@ int go(S *s, int channels, const float *in, float *out) { hz *= 50; double sn2 = delread4(&s->del2, 1000 / hz); sn2 += sn; - sn2 *= -0.995; + sn2 *= -0.985; delwrite(&s->del2, sn2); sn += sn2;
diff @ 2016-11-17 20:50:24 +0000 diff --git a/src/go.c b/src/go.c index 9fd96f0..807fbe2 100644 --- a/src/go.c +++ b/src/go.c @@ -85,6 +85,7 @@ int go(S *s, int channels, const float *in, float *out) { double sn2 = delread4(&s->del2, 1000 / hz); sn2 += sn; sn2 *= -0.985; + sn2 = sin(sn2); delwrite(&s->del2, sn2); sn += sn2;
diff @ 2016-11-17 20:50:33 +0000 diff --git a/src/go.c b/src/go.c index 807fbe2..c3243bf 100644 --- a/src/go.c +++ b/src/go.c @@ -84,8 +84,8 @@ int go(S *s, int channels, const float *in, float *out) { hz *= 50; double sn2 = delread4(&s->del2, 1000 / hz); sn2 += sn; - sn2 *= -0.985; - sn2 = sin(sn2); + sn2 *= -0.995; + sn2 = sin(pi / 2 * sn2); delwrite(&s->del2, sn2); sn += sn2;
diff @ 2016-11-17 20:50:36 +0000 diff --git a/src/go.c b/src/go.c index c3243bf..f2760eb 100644 --- a/src/go.c +++ b/src/go.c @@ -84,7 +84,7 @@ int go(S *s, int channels, const float *in, float *out) { hz *= 50; double sn2 = delread4(&s->del2, 1000 / hz); sn2 += sn; - sn2 *= -0.995; + sn2 *= -0.95; sn2 = sin(pi / 2 * sn2); delwrite(&s->del2, sn2); sn += sn2;
diff @ 2016-11-17 20:50:40 +0000 diff --git a/src/go.c b/src/go.c index f2760eb..84d7d4a 100644 --- a/src/go.c +++ b/src/go.c @@ -84,7 +84,7 @@ int go(S *s, int channels, const float *in, float *out) { hz *= 50; double sn2 = delread4(&s->del2, 1000 / hz); sn2 += sn; - sn2 *= -0.95; + sn2 *= -0.9; sn2 = sin(pi / 2 * sn2); delwrite(&s->del2, sn2); sn += sn2;
diff @ 2016-11-17 20:50:59 +0000 diff --git a/src/go.c b/src/go.c index 84d7d4a..cdd9877 100644 --- a/src/go.c +++ b/src/go.c @@ -57,7 +57,7 @@ int go(S *s, int channels, const float *in, float *out) { k *= 12; k = sin(twopi * k); k *= 4; - k += biquad(highpass(&s->morebass, 50 + lop(&s->mbf, 50, 0.01), 160), k); + k += biquad(highpass(&s->morebass, 50 + lop(&s->mbf, 50.01, 0.01), 160), k); k += sin(k); k = tanh(k);
diff @ 2016-11-17 20:51:19 +0000 diff --git a/src/go.c b/src/go.c index cdd9877..dfa8de4 100644 --- a/src/go.c +++ b/src/go.c @@ -38,7 +38,7 @@ int go(S *s, int channels, const float *in, float *out) { // noise double n = pink(&s->pink); double q = 200; - n = vcf(&s->bass, n, 50, q) * q * 1.5; + n = vcf(&s->bass, n, 49.9, q) * q * 1.5; double psh = phasor(&s->psh, 20000 - lop(&s->shf, 19000, 0.01)); n = sin(n); double ns[2];
diff @ 2016-11-17 20:51:27 +0000 diff --git a/src/go.c b/src/go.c index dfa8de4..253db8a 100644 --- a/src/go.c +++ b/src/go.c @@ -57,7 +57,7 @@ int go(S *s, int channels, const float *in, float *out) { k *= 12; k = sin(twopi * k); k *= 4; - k += biquad(highpass(&s->morebass, 50 + lop(&s->mbf, 50.01, 0.01), 160), k); + k += biquad(highpass(&s->morebass, 50 + lop(&s->mbf, 50.1, 0.01), 160), k); k += sin(k); k = tanh(k);
diff @ 2016-11-17 20:51:44 +0000 diff --git a/src/go.c b/src/go.c index 253db8a..3eb574a 100644 --- a/src/go.c +++ b/src/go.c @@ -71,7 +71,7 @@ int go(S *s, int channels, const float *in, float *out) { sn *= noise(); sn *= 4; sn += 2 * biquad(lowpass(&s->snare, 300, 50), sn); - sn += 0.33 * pitchshift(&s->ps[1], 1, 50, 12 * sin(twopi * 4 * t), + sn += 0.33 * pitchshift(&s->ps[1], 1, 50, -12, delread4(&s->del1, (2 + sin(twopi * 4 * t)) * 15000 / s->bpm)); sn += sin(sn); sn += pitchshift(&s->ps[0], 1, 50, -12, sn);
diff @ 2016-11-17 20:51:59 +0000 diff --git a/src/go.c b/src/go.c index 3eb574a..de7b25e 100644 --- a/src/go.c +++ b/src/go.c @@ -57,7 +57,7 @@ int go(S *s, int channels, const float *in, float *out) { k *= 12; k = sin(twopi * k); k *= 4; - k += biquad(highpass(&s->morebass, 50 + lop(&s->mbf, 50.1, 0.01), 160), k); + k += biquad(highpass(&s->morebass, 50 + 0*lop(&s->mbf, 50.1, 0.01), 160), k); k += sin(k); k = tanh(k);
diff @ 2016-11-17 20:52:33 +0000 diff --git a/src/go.c b/src/go.c index de7b25e..f2fef24 100644 --- a/src/go.c +++ b/src/go.c @@ -57,7 +57,7 @@ int go(S *s, int channels, const float *in, float *out) { k *= 12; k = sin(twopi * k); k *= 4; - k += biquad(highpass(&s->morebass, 50 + 0*lop(&s->mbf, 50.1, 0.01), 160), k); + k += biquad(highpass(&s->morebass, 50 + (wrap(16 * t) > 0.75) * lop(&s->mbf, 50.1, 0.01), 160), k); k += sin(k); k = tanh(k);
diff @ 2016-11-17 20:53:12 +0000 diff --git a/src/go.c b/src/go.c index f2fef24..2e72835 100644 --- a/src/go.c +++ b/src/go.c @@ -21,6 +21,7 @@ typedef struct { DELAY del2; float del2buf[SR]; LOP mbf; + HIP hip; } S; // per sample DSP callback @@ -33,6 +34,7 @@ int go(S *s, int channels, const float *in, float *out) { s->del1.length = SR; s->del2.length = SR; //pink_init(&s->pink, 10, 0xBeefCafe); + } // noise @@ -75,6 +77,7 @@ int go(S *s, int channels, const float *in, float *out) { delread4(&s->del1, (2 + sin(twopi * 4 * t)) * 15000 / s->bpm)); sn += sin(sn); sn += pitchshift(&s->ps[0], 1, 50, -12, sn); + sn = hip(sn, 50); sn = tanh(sn); delwrite(&s->del1, sn);
diff @ 2016-11-17 20:53:16 +0000 diff --git a/src/go.c b/src/go.c index 2e72835..1b9a66d 100644 --- a/src/go.c +++ b/src/go.c @@ -77,7 +77,7 @@ int go(S *s, int channels, const float *in, float *out) { delread4(&s->del1, (2 + sin(twopi * 4 * t)) * 15000 / s->bpm)); sn += sin(sn); sn += pitchshift(&s->ps[0], 1, 50, -12, sn); - sn = hip(sn, 50); + sn = hip(&s->hip, sn, 50); sn = tanh(sn); delwrite(&s->del1, sn);
diff @ 2016-11-17 20:53:30 +0000 diff --git a/src/go.c b/src/go.c index 1b9a66d..5910fd3 100644 --- a/src/go.c +++ b/src/go.c @@ -82,7 +82,7 @@ int go(S *s, int channels, const float *in, float *out) { delwrite(&s->del1, sn); int step = floor(256 * t); - double hz = ((step/4) * 7) % 16; + double hz = ((step/5) * 7) % 16; hz += 1; hz *= 50; double sn2 = delread4(&s->del2, 1000 / hz);
diff @ 2016-11-17 20:53:34 +0000 diff --git a/src/go.c b/src/go.c index 5910fd3..edcf5db 100644 --- a/src/go.c +++ b/src/go.c @@ -82,7 +82,7 @@ int go(S *s, int channels, const float *in, float *out) { delwrite(&s->del1, sn); int step = floor(256 * t); - double hz = ((step/5) * 7) % 16; + double hz = ((step/6) * 7) % 16; hz += 1; hz *= 50; double sn2 = delread4(&s->del2, 1000 / hz);
diff @ 2016-11-17 20:53:39 +0000 diff --git a/src/go.c b/src/go.c index edcf5db..0555c55 100644 --- a/src/go.c +++ b/src/go.c @@ -82,7 +82,7 @@ int go(S *s, int channels, const float *in, float *out) { delwrite(&s->del1, sn); int step = floor(256 * t); - double hz = ((step/6) * 7) % 16; + double hz = ((step/6) * 7) % 12; hz += 1; hz *= 50; double sn2 = delread4(&s->del2, 1000 / hz);
diff @ 2016-11-17 20:54:05 +0000 diff --git a/src/go.c b/src/go.c index 0555c55..2eb46a6 100644 --- a/src/go.c +++ b/src/go.c @@ -50,7 +50,7 @@ int go(S *s, int channels, const float *in, float *out) { // rhythm double t = phasor(&s->clock, s->bpm / 60.0 / 64.0); - double k = 1 - wrap(2.666 * wrap(8 * t)); + double k = 1 - wrap(4 * wrap(8 * t)); k *= k; k *= k; k *= k;
diff @ 2016-11-17 20:54:16 +0000 diff --git a/src/go.c b/src/go.c index 2eb46a6..f6b49ad 100644 --- a/src/go.c +++ b/src/go.c @@ -50,8 +50,7 @@ int go(S *s, int channels, const float *in, float *out) { // rhythm double t = phasor(&s->clock, s->bpm / 60.0 / 64.0); - double k = 1 - wrap(4 * wrap(8 * t)); - k *= k; + double k = 1 - wrap(4 * wrap(16 * t)); k *= k; k *= k; k *= k;
diff @ 2016-11-17 20:54:28 +0000 diff --git a/src/go.c b/src/go.c index f6b49ad..ca2922a 100644 --- a/src/go.c +++ b/src/go.c @@ -59,7 +59,7 @@ int go(S *s, int channels, const float *in, float *out) { k = sin(twopi * k); k *= 4; k += biquad(highpass(&s->morebass, 50 + (wrap(16 * t) > 0.75) * lop(&s->mbf, 50.1, 0.01), 160), k); - k += sin(k); + k += sin(2 * k); k = tanh(k); double sn = 1 - wrap(16 * t + 0.5);
diff @ 2016-11-17 20:54:43 +0000 diff --git a/src/go.c b/src/go.c index ca2922a..3a36281 100644 --- a/src/go.c +++ b/src/go.c @@ -85,7 +85,7 @@ int go(S *s, int channels, const float *in, float *out) { hz += 1; hz *= 50; double sn2 = delread4(&s->del2, 1000 / hz); - sn2 += sn; + sn2 *= -0.9; sn2 = sin(pi / 2 * sn2); delwrite(&s->del2, sn2);
diff @ 2016-11-17 20:54:52 +0000 diff --git a/src/go.c b/src/go.c index 3a36281..4ab111c 100644 --- a/src/go.c +++ b/src/go.c @@ -89,7 +89,7 @@ int go(S *s, int channels, const float *in, float *out) { sn2 *= -0.9; sn2 = sin(pi / 2 * sn2); delwrite(&s->del2, sn2); - sn += sn2; + sn = sn2; // mix down
diff @ 2016-11-17 20:55:07 +0000 diff --git a/src/go.c b/src/go.c index 4ab111c..72defc1 100644 --- a/src/go.c +++ b/src/go.c @@ -86,7 +86,7 @@ int go(S *s, int channels, const float *in, float *out) { hz *= 50; double sn2 = delread4(&s->del2, 1000 / hz); - sn2 *= -0.9; + sn2 *= -0.8; sn2 = sin(pi / 2 * sn2); delwrite(&s->del2, sn2); sn = sn2;
diff @ 2016-11-17 20:55:33 +0000 diff --git a/src/go.c b/src/go.c index 72defc1..f99a955 100644 --- a/src/go.c +++ b/src/go.c @@ -30,13 +30,14 @@ int go(S *s, int channels, const float *in, float *out) { // trigger impulse on reload if (s->reloaded) { s->reloaded = 0; - s->bpm = 133; +// s->bpm = 133; s->del1.length = SR; s->del2.length = SR; //pink_init(&s->pink, 10, 0xBeefCafe); } + s->bpm *= 0.9999995; // noise double n = pink(&s->pink); double q = 200;
diff @ 2016-11-17 20:55:43 +0000 diff --git a/src/go.c b/src/go.c index f99a955..aa8a823 100644 --- a/src/go.c +++ b/src/go.c @@ -37,7 +37,7 @@ int go(S *s, int channels, const float *in, float *out) { } - s->bpm *= 0.9999995; + //s->bpm *= 0.9999995; // noise double n = pink(&s->pink); double q = 200;
diff @ 2016-11-17 20:55:54 +0000 diff --git a/src/go.c b/src/go.c index aa8a823..c03e895 100644 --- a/src/go.c +++ b/src/go.c @@ -51,7 +51,7 @@ int go(S *s, int channels, const float *in, float *out) { // rhythm double t = phasor(&s->clock, s->bpm / 60.0 / 64.0); - double k = 1 - wrap(4 * wrap(16 * t)); + double k = 1 - wrap(5.33333 * wrap(16 * t)); k *= k; k *= k; k *= k;
diff @ 2016-11-17 20:56:09 +0000 diff --git a/src/go.c b/src/go.c index c03e895..af1731d 100644 --- a/src/go.c +++ b/src/go.c @@ -51,7 +51,7 @@ int go(S *s, int channels, const float *in, float *out) { // rhythm double t = phasor(&s->clock, s->bpm / 60.0 / 64.0); - double k = 1 - wrap(5.33333 * wrap(16 * t)); + double k = 1 - wrap(5.33333 * wrap(8 * t)); k *= k; k *= k; k *= k;
diff @ 2016-11-17 20:56:57 +0000 diff --git a/src/go.c b/src/go.c index af1731d..3825763 100644 --- a/src/go.c +++ b/src/go.c @@ -22,6 +22,7 @@ typedef struct { float del2buf[SR]; LOP mbf; HIP hip; + VCF vcf; } S; // per sample DSP callback @@ -86,7 +87,7 @@ int go(S *s, int channels, const float *in, float *out) { hz += 1; hz *= 50; double sn2 = delread4(&s->del2, 1000 / hz); - + sn2 = vcf(&s->vcf, sn2, 1000, 3); sn2 *= -0.8; sn2 = sin(pi / 2 * sn2); delwrite(&s->del2, sn2);
diff @ 2016-11-17 20:57:03 +0000 diff --git a/src/go.c b/src/go.c index 3825763..d934326 100644 --- a/src/go.c +++ b/src/go.c @@ -87,7 +87,7 @@ int go(S *s, int channels, const float *in, float *out) { hz += 1; hz *= 50; double sn2 = delread4(&s->del2, 1000 / hz); - sn2 = vcf(&s->vcf, sn2, 1000, 3); + sn2 += vcf(&s->vcf, sn2, 1000, 3); sn2 *= -0.8; sn2 = sin(pi / 2 * sn2); delwrite(&s->del2, sn2);
diff @ 2016-11-17 20:57:05 +0000 diff --git a/src/go.c b/src/go.c index d934326..3825763 100644 --- a/src/go.c +++ b/src/go.c @@ -87,7 +87,7 @@ int go(S *s, int channels, const float *in, float *out) { hz += 1; hz *= 50; double sn2 = delread4(&s->del2, 1000 / hz); - sn2 += vcf(&s->vcf, sn2, 1000, 3); + sn2 = vcf(&s->vcf, sn2, 1000, 3); sn2 *= -0.8; sn2 = sin(pi / 2 * sn2); delwrite(&s->del2, sn2);
diff @ 2016-11-17 20:57:21 +0000 diff --git a/src/go.c b/src/go.c index 3825763..cf810ec 100644 --- a/src/go.c +++ b/src/go.c @@ -87,7 +87,7 @@ int go(S *s, int channels, const float *in, float *out) { hz += 1; hz *= 50; double sn2 = delread4(&s->del2, 1000 / hz); - sn2 = vcf(&s->vcf, sn2, 1000, 3); + sn2 = vcf(&s->vcf, sn2, 500, 3); sn2 *= -0.8; sn2 = sin(pi / 2 * sn2); delwrite(&s->del2, sn2);
diff @ 2016-11-17 20:57:39 +0000 diff --git a/src/go.c b/src/go.c index cf810ec..f4fad93 100644 --- a/src/go.c +++ b/src/go.c @@ -52,7 +52,7 @@ int go(S *s, int channels, const float *in, float *out) { // rhythm double t = phasor(&s->clock, s->bpm / 60.0 / 64.0); - double k = 1 - wrap(5.33333 * wrap(8 * t)); + double k = 1 - 0*wrap(5.33333 * wrap(8 * t)); k *= k; k *= k; k *= k;
diff @ 2016-11-17 20:57:54 +0000 diff --git a/src/go.c b/src/go.c index f4fad93..dc22506 100644 --- a/src/go.c +++ b/src/go.c @@ -41,7 +41,7 @@ int go(S *s, int channels, const float *in, float *out) { //s->bpm *= 0.9999995; // noise double n = pink(&s->pink); - double q = 200; + double q = 150; n = vcf(&s->bass, n, 49.9, q) * q * 1.5; double psh = phasor(&s->psh, 20000 - lop(&s->shf, 19000, 0.01)); n = sin(n);
diff @ 2016-11-17 20:58:05 +0000 diff --git a/src/go.c b/src/go.c index dc22506..e6265d0 100644 --- a/src/go.c +++ b/src/go.c @@ -41,7 +41,7 @@ int go(S *s, int channels, const float *in, float *out) { //s->bpm *= 0.9999995; // noise double n = pink(&s->pink); - double q = 150; + double q = 100; n = vcf(&s->bass, n, 49.9, q) * q * 1.5; double psh = phasor(&s->psh, 20000 - lop(&s->shf, 19000, 0.01)); n = sin(n);
diff @ 2016-11-17 20:58:16 +0000 diff --git a/src/go.c b/src/go.c index e6265d0..d3eb0b2 100644 --- a/src/go.c +++ b/src/go.c @@ -41,9 +41,9 @@ int go(S *s, int channels, const float *in, float *out) { //s->bpm *= 0.9999995; // noise double n = pink(&s->pink); - double q = 100; + double q = 80; n = vcf(&s->bass, n, 49.9, q) * q * 1.5; - double psh = phasor(&s->psh, 20000 - lop(&s->shf, 19000, 0.01)); + double psh = phasor(&s->psh, 20000 - lop(&s->shf, 0, 0.01)); n = sin(n); double ns[2]; ns[0] = samphold(&s->sh[0], n, psh);
diff @ 2016-11-17 20:58:20 +0000 diff --git a/src/go.c b/src/go.c index d3eb0b2..c6d7c7b 100644 --- a/src/go.c +++ b/src/go.c @@ -41,7 +41,7 @@ int go(S *s, int channels, const float *in, float *out) { //s->bpm *= 0.9999995; // noise double n = pink(&s->pink); - double q = 80; + double q = 50; n = vcf(&s->bass, n, 49.9, q) * q * 1.5; double psh = phasor(&s->psh, 20000 - lop(&s->shf, 0, 0.01)); n = sin(n);
diff @ 2016-11-17 20:58:24 +0000 diff --git a/src/go.c b/src/go.c index c6d7c7b..28f0b95 100644 --- a/src/go.c +++ b/src/go.c @@ -41,7 +41,7 @@ int go(S *s, int channels, const float *in, float *out) { //s->bpm *= 0.9999995; // noise double n = pink(&s->pink); - double q = 50; + double q = 40; n = vcf(&s->bass, n, 49.9, q) * q * 1.5; double psh = phasor(&s->psh, 20000 - lop(&s->shf, 0, 0.01)); n = sin(n);
diff @ 2016-11-17 20:58:27 +0000 diff --git a/src/go.c b/src/go.c index 28f0b95..7ffe8ad 100644 --- a/src/go.c +++ b/src/go.c @@ -41,7 +41,7 @@ int go(S *s, int channels, const float *in, float *out) { //s->bpm *= 0.9999995; // noise double n = pink(&s->pink); - double q = 40; + double q = 30; n = vcf(&s->bass, n, 49.9, q) * q * 1.5; double psh = phasor(&s->psh, 20000 - lop(&s->shf, 0, 0.01)); n = sin(n);
diff @ 2016-11-17 20:58:32 +0000 diff --git a/src/go.c b/src/go.c index 7ffe8ad..1952012 100644 --- a/src/go.c +++ b/src/go.c @@ -41,7 +41,7 @@ int go(S *s, int channels, const float *in, float *out) { //s->bpm *= 0.9999995; // noise double n = pink(&s->pink); - double q = 30; + double q = 20; n = vcf(&s->bass, n, 49.9, q) * q * 1.5; double psh = phasor(&s->psh, 20000 - lop(&s->shf, 0, 0.01)); n = sin(n);
diff @ 2016-11-17 20:58:35 +0000 diff --git a/src/go.c b/src/go.c index 1952012..face61d 100644 --- a/src/go.c +++ b/src/go.c @@ -41,7 +41,7 @@ int go(S *s, int channels, const float *in, float *out) { //s->bpm *= 0.9999995; // noise double n = pink(&s->pink); - double q = 20; + double q = 10; n = vcf(&s->bass, n, 49.9, q) * q * 1.5; double psh = phasor(&s->psh, 20000 - lop(&s->shf, 0, 0.01)); n = sin(n);
diff @ 2016-11-17 20:58:44 +0000 diff --git a/src/go.c b/src/go.c index face61d..fc48df7 100644 --- a/src/go.c +++ b/src/go.c @@ -41,7 +41,7 @@ int go(S *s, int channels, const float *in, float *out) { //s->bpm *= 0.9999995; // noise double n = pink(&s->pink); - double q = 10; + double q = flatq; n = vcf(&s->bass, n, 49.9, q) * q * 1.5; double psh = phasor(&s->psh, 20000 - lop(&s->shf, 0, 0.01)); n = sin(n);
diff @ 2016-11-17 20:58:57 +0000 diff --git a/src/go.c b/src/go.c index fc48df7..ffd2096 100644 --- a/src/go.c +++ b/src/go.c @@ -101,7 +101,7 @@ int go(S *s, int channels, const float *in, float *out) { // compress compress(mixdown, &s->mixdown, 5, 10, 25, 36, mixdown); - double volume = 1; + double volume = 0; mixdown[0] *= volume; mixdown[1] *= volume;