a C audio live-coding skeleton
diff @ 2019-02-22 22:30:34 +0000 diff --git a/client/go.c b/client/go.c index 48b5519fd..b36093797 100644 --- a/client/go.c +++ b/client/go.c @@ -96,9 +96,9 @@ go(S *s, int channels, const float *in, float *out) // pitchshift feedback for (int c = 0; c < 2; ++c) { sample down = pitchshift(&s->so2.shift[2 * c + 0], 2, 100, - lop(&s->so2.lag[0], -12, 1e-4), feedback[c]); + lop(&s->so2.lag[0], -12, 1e-3), feedback[c]); sample up = pitchshift(&s->so2.shift[2 * c + 1], 2, 100, - lop(&s->so2.lag[1], 19, 1e-4), down); + lop(&s->so2.lag[1], 19, 1e-3), down); feedback[c] = feedback[c] - down - up; }
diff @ 2019-02-22 22:31:07 +0000 diff --git a/client/go.c b/client/go.c index b36093797..8d8b7856d 100644 --- a/client/go.c +++ b/client/go.c @@ -87,7 +87,7 @@ go(S *s, int channels, const float *in, float *out) sample so2[2] = { 0, 0 }; { // modulate delay times - sample p = phasor(&s->so2.phase, bpm/60/64); + sample p = phasor(&s->so2.phase, 2*bpm/60/64); sample modulation = 10 * cos(twopi * p); sample feedback[2] = { delread4(&s->so2.echo[1].del, 1000/(bpm/60) - modulation)
diff @ 2019-02-22 22:31:34 +0000 diff --git a/client/go.c b/client/go.c index 8d8b7856d..55a8990cd 100644 --- a/client/go.c +++ b/client/go.c @@ -87,7 +87,7 @@ go(S *s, int channels, const float *in, float *out) sample so2[2] = { 0, 0 }; { // modulate delay times - sample p = phasor(&s->so2.phase, 2*bpm/60/64); + sample p = phasor(&s->so2.phase, 2*2*bpm/60/64); sample modulation = 10 * cos(twopi * p); sample feedback[2] = { delread4(&s->so2.echo[1].del, 1000/(bpm/60) - modulation)
diff @ 2019-02-22 22:31:59 +0000 diff --git a/client/go.c b/client/go.c index 55a8990cd..fbf33854d 100644 --- a/client/go.c +++ b/client/go.c @@ -126,7 +126,7 @@ go(S *s, int channels, const float *in, float *out) so2[1] *= gain; // write to delay lines for (int c = 0; c < 2; ++c) { - so2echo(&s->so2.echo[c], 20, 500, tanh(so2[c] + in[c])); + so2echo(&s->so2.echo[c], 20, 600, tanh(so2[c] + in[c])); } mixdown[0] += so2[0]; mixdown[1] += so2[1];
diff @ 2019-02-22 22:32:08 +0000 diff --git a/client/go.c b/client/go.c index fbf33854d..a89a740d8 100644 --- a/client/go.c +++ b/client/go.c @@ -126,7 +126,7 @@ go(S *s, int channels, const float *in, float *out) so2[1] *= gain; // write to delay lines for (int c = 0; c < 2; ++c) { - so2echo(&s->so2.echo[c], 20, 600, tanh(so2[c] + in[c])); + so2echo(&s->so2.echo[c], 20, 700, tanh(so2[c] + in[c])); } mixdown[0] += so2[0]; mixdown[1] += so2[1];
diff @ 2019-02-22 22:32:20 +0000 diff --git a/client/go.c b/client/go.c index a89a740d8..d63514725 100644 --- a/client/go.c +++ b/client/go.c @@ -126,7 +126,7 @@ go(S *s, int channels, const float *in, float *out) so2[1] *= gain; // write to delay lines for (int c = 0; c < 2; ++c) { - so2echo(&s->so2.echo[c], 20, 700, tanh(so2[c] + in[c])); + so2echo(&s->so2.echo[c], 20, 800, tanh(so2[c] + in[c])); } mixdown[0] += so2[0]; mixdown[1] += so2[1];
diff @ 2019-02-22 22:32:25 +0000 diff --git a/client/go.c b/client/go.c index d63514725..aeb1cf30a 100644 --- a/client/go.c +++ b/client/go.c @@ -126,7 +126,7 @@ go(S *s, int channels, const float *in, float *out) so2[1] *= gain; // write to delay lines for (int c = 0; c < 2; ++c) { - so2echo(&s->so2.echo[c], 20, 800, tanh(so2[c] + in[c])); + so2echo(&s->so2.echo[c], 20, 900, tanh(so2[c] + in[c])); } mixdown[0] += so2[0]; mixdown[1] += so2[1];
diff @ 2019-02-22 22:32:31 +0000 diff --git a/client/go.c b/client/go.c index aeb1cf30a..af2663abb 100644 --- a/client/go.c +++ b/client/go.c @@ -126,7 +126,7 @@ go(S *s, int channels, const float *in, float *out) so2[1] *= gain; // write to delay lines for (int c = 0; c < 2; ++c) { - so2echo(&s->so2.echo[c], 20, 900, tanh(so2[c] + in[c])); + so2echo(&s->so2.echo[c], 20, 1000, tanh(so2[c] + in[c])); } mixdown[0] += so2[0]; mixdown[1] += so2[1];
diff @ 2019-02-22 22:32:35 +0000 diff --git a/client/go.c b/client/go.c index af2663abb..7b3692e4e 100644 --- a/client/go.c +++ b/client/go.c @@ -126,7 +126,7 @@ go(S *s, int channels, const float *in, float *out) so2[1] *= gain; // write to delay lines for (int c = 0; c < 2; ++c) { - so2echo(&s->so2.echo[c], 20, 1000, tanh(so2[c] + in[c])); + so2echo(&s->so2.echo[c], 20, 1200, tanh(so2[c] + in[c])); } mixdown[0] += so2[0]; mixdown[1] += so2[1];
diff @ 2019-02-22 22:32:49 +0000 diff --git a/client/go.c b/client/go.c index 7b3692e4e..3d289ca7d 100644 --- a/client/go.c +++ b/client/go.c @@ -96,9 +96,9 @@ go(S *s, int channels, const float *in, float *out) // pitchshift feedback for (int c = 0; c < 2; ++c) { sample down = pitchshift(&s->so2.shift[2 * c + 0], 2, 100, - lop(&s->so2.lag[0], -12, 1e-3), feedback[c]); + lop(&s->so2.lag[0], -19, 1e-4), feedback[c]); sample up = pitchshift(&s->so2.shift[2 * c + 1], 2, 100, - lop(&s->so2.lag[1], 19, 1e-3), down); + lop(&s->so2.lag[1], 12, 1e-4), down); feedback[c] = feedback[c] - down - up; }
diff @ 2019-02-22 22:33:00 +0000 diff --git a/client/go.c b/client/go.c index 3d289ca7d..341954480 100644 --- a/client/go.c +++ b/client/go.c @@ -126,7 +126,7 @@ go(S *s, int channels, const float *in, float *out) so2[1] *= gain; // write to delay lines for (int c = 0; c < 2; ++c) { - so2echo(&s->so2.echo[c], 20, 1200, tanh(so2[c] + in[c])); + so2echo(&s->so2.echo[c], 20, 1400, tanh(so2[c] + in[c])); } mixdown[0] += so2[0]; mixdown[1] += so2[1];
diff @ 2019-02-22 22:33:10 +0000 diff --git a/client/go.c b/client/go.c index 341954480..d2a4ab2e8 100644 --- a/client/go.c +++ b/client/go.c @@ -99,7 +99,7 @@ go(S *s, int channels, const float *in, float *out) lop(&s->so2.lag[0], -19, 1e-4), feedback[c]); sample up = pitchshift(&s->so2.shift[2 * c + 1], 2, 100, lop(&s->so2.lag[1], 12, 1e-4), down); - feedback[c] = feedback[c] - down - up; + feedback[c] = 2 * feedback[c] - down - up; } // multiband compressor
diff @ 2019-02-22 22:33:15 +0000 diff --git a/client/go.c b/client/go.c index d2a4ab2e8..132005703 100644 --- a/client/go.c +++ b/client/go.c @@ -99,7 +99,7 @@ go(S *s, int channels, const float *in, float *out) lop(&s->so2.lag[0], -19, 1e-4), feedback[c]); sample up = pitchshift(&s->so2.shift[2 * c + 1], 2, 100, lop(&s->so2.lag[1], 12, 1e-4), down); - feedback[c] = 2 * feedback[c] - down - up; + feedback[c] = sin(2 * feedback[c] - down - up); } // multiband compressor
diff @ 2019-02-22 22:33:27 +0000 diff --git a/client/go.c b/client/go.c index 132005703..c9dc74069 100644 --- a/client/go.c +++ b/client/go.c @@ -126,7 +126,7 @@ go(S *s, int channels, const float *in, float *out) so2[1] *= gain; // write to delay lines for (int c = 0; c < 2; ++c) { - so2echo(&s->so2.echo[c], 20, 1400, tanh(so2[c] + in[c])); + so2echo(&s->so2.echo[c], 20, 1600, tanh(so2[c] + in[c])); } mixdown[0] += so2[0]; mixdown[1] += so2[1];
diff @ 2019-02-22 22:33:38 +0000 diff --git a/client/go.c b/client/go.c index c9dc74069..796c3a225 100644 --- a/client/go.c +++ b/client/go.c @@ -96,9 +96,9 @@ go(S *s, int channels, const float *in, float *out) // pitchshift feedback for (int c = 0; c < 2; ++c) { sample down = pitchshift(&s->so2.shift[2 * c + 0], 2, 100, - lop(&s->so2.lag[0], -19, 1e-4), feedback[c]); + lop(&s->so2.lag[0], 19, 1e-4), feedback[c]); sample up = pitchshift(&s->so2.shift[2 * c + 1], 2, 100, - lop(&s->so2.lag[1], 12, 1e-4), down); + lop(&s->so2.lag[1], -12, 1e-4), down); feedback[c] = sin(2 * feedback[c] - down - up); }
diff @ 2019-02-22 22:33:46 +0000 diff --git a/client/go.c b/client/go.c index 796c3a225..43da5bdaa 100644 --- a/client/go.c +++ b/client/go.c @@ -126,7 +126,7 @@ go(S *s, int channels, const float *in, float *out) so2[1] *= gain; // write to delay lines for (int c = 0; c < 2; ++c) { - so2echo(&s->so2.echo[c], 20, 1600, tanh(so2[c] + in[c])); + so2echo(&s->so2.echo[c], 20, 1800, tanh(so2[c] + in[c])); } mixdown[0] += so2[0]; mixdown[1] += so2[1];
diff @ 2019-02-22 22:33:49 +0000 diff --git a/client/go.c b/client/go.c index 43da5bdaa..e1e9ae399 100644 --- a/client/go.c +++ b/client/go.c @@ -126,7 +126,7 @@ go(S *s, int channels, const float *in, float *out) so2[1] *= gain; // write to delay lines for (int c = 0; c < 2; ++c) { - so2echo(&s->so2.echo[c], 20, 1800, tanh(so2[c] + in[c])); + so2echo(&s->so2.echo[c], 20, 2000, tanh(so2[c] + in[c])); } mixdown[0] += so2[0]; mixdown[1] += so2[1];
diff @ 2019-02-22 22:34:24 +0000 diff --git a/client/go.c b/client/go.c index e1e9ae399..cf44a602c 100644 --- a/client/go.c +++ b/client/go.c @@ -126,7 +126,7 @@ go(S *s, int channels, const float *in, float *out) so2[1] *= gain; // write to delay lines for (int c = 0; c < 2; ++c) { - so2echo(&s->so2.echo[c], 20, 2000, tanh(so2[c] + in[c])); + so2echo(&s->so2.echo[c], 20, 2300, tanh(so2[c] + in[c])); } mixdown[0] += so2[0]; mixdown[1] += so2[1];
diff @ 2019-02-22 22:34:33 +0000 diff --git a/client/go.c b/client/go.c index cf44a602c..ac72083ee 100644 --- a/client/go.c +++ b/client/go.c @@ -126,7 +126,7 @@ go(S *s, int channels, const float *in, float *out) so2[1] *= gain; // write to delay lines for (int c = 0; c < 2; ++c) { - so2echo(&s->so2.echo[c], 20, 2300, tanh(so2[c] + in[c])); + so2echo(&s->so2.echo[c], 20, 2600, tanh(so2[c] + in[c])); } mixdown[0] += so2[0]; mixdown[1] += so2[1];
diff @ 2019-02-22 22:34:42 +0000 diff --git a/client/go.c b/client/go.c index ac72083ee..b0e0d718b 100644 --- a/client/go.c +++ b/client/go.c @@ -126,7 +126,7 @@ go(S *s, int channels, const float *in, float *out) so2[1] *= gain; // write to delay lines for (int c = 0; c < 2; ++c) { - so2echo(&s->so2.echo[c], 20, 2600, tanh(so2[c] + in[c])); + so2echo(&s->so2.echo[c], 20, 2900, tanh(so2[c] + in[c])); } mixdown[0] += so2[0]; mixdown[1] += so2[1];
diff @ 2019-02-22 22:34:48 +0000 diff --git a/client/go.c b/client/go.c index b0e0d718b..9de094fd9 100644 --- a/client/go.c +++ b/client/go.c @@ -126,7 +126,7 @@ go(S *s, int channels, const float *in, float *out) so2[1] *= gain; // write to delay lines for (int c = 0; c < 2; ++c) { - so2echo(&s->so2.echo[c], 20, 2900, tanh(so2[c] + in[c])); + so2echo(&s->so2.echo[c], 20, 3200, tanh(so2[c] + in[c])); } mixdown[0] += so2[0]; mixdown[1] += so2[1];
diff @ 2019-02-22 22:35:11 +0000 diff --git a/client/go.c b/client/go.c index 9de094fd9..4627fe7e4 100644 --- a/client/go.c +++ b/client/go.c @@ -113,8 +113,9 @@ go(S *s, int channels, const float *in, float *out) band[c] = biquad(bandpass(&s->multiband[o][c], 10 * pow(2, o), flatq), input[c]); } compress(band, &s->multicomp[o], 5, 10, 25, 48, band); - output[0] += band[0]; - output[1] += band[1]; + sample g = 10 / (o + 10); + output[0] += band[0] * g; + output[1] += band[1] * g; } feedback[0] = output[0]; feedback[1] = output[1];
diff @ 2019-02-22 22:35:17 +0000 diff --git a/client/go.c b/client/go.c index 4627fe7e4..cff0e27f0 100644 --- a/client/go.c +++ b/client/go.c @@ -113,7 +113,7 @@ go(S *s, int channels, const float *in, float *out) band[c] = biquad(bandpass(&s->multiband[o][c], 10 * pow(2, o), flatq), input[c]); } compress(band, &s->multicomp[o], 5, 10, 25, 48, band); - sample g = 10 / (o + 10); + sample g = 20 / (o + 10); output[0] += band[0] * g; output[1] += band[1] * g; }
diff @ 2019-02-22 22:35:35 +0000 diff --git a/client/go.c b/client/go.c index cff0e27f0..e87803859 100644 --- a/client/go.c +++ b/client/go.c @@ -113,7 +113,7 @@ go(S *s, int channels, const float *in, float *out) band[c] = biquad(bandpass(&s->multiband[o][c], 10 * pow(2, o), flatq), input[c]); } compress(band, &s->multicomp[o], 5, 10, 25, 48, band); - sample g = 20 / (o + 10); + sample g = 2 / (o + 1); output[0] += band[0] * g; output[1] += band[1] * g; }
diff @ 2019-02-22 22:35:42 +0000 diff --git a/client/go.c b/client/go.c index e87803859..d7dd8e5f1 100644 --- a/client/go.c +++ b/client/go.c @@ -99,7 +99,7 @@ go(S *s, int channels, const float *in, float *out) lop(&s->so2.lag[0], 19, 1e-4), feedback[c]); sample up = pitchshift(&s->so2.shift[2 * c + 1], 2, 100, lop(&s->so2.lag[1], -12, 1e-4), down); - feedback[c] = sin(2 * feedback[c] - down - up); + feedback[c] = sin(12 * feedback[c] - down - up); } // multiband compressor
diff @ 2019-02-22 22:35:49 +0000 diff --git a/client/go.c b/client/go.c index d7dd8e5f1..017f1d16e 100644 --- a/client/go.c +++ b/client/go.c @@ -113,7 +113,7 @@ go(S *s, int channels, const float *in, float *out) band[c] = biquad(bandpass(&s->multiband[o][c], 10 * pow(2, o), flatq), input[c]); } compress(band, &s->multicomp[o], 5, 10, 25, 48, band); - sample g = 2 / (o + 1); + sample g = 12 / (o + 1); output[0] += band[0] * g; output[1] += band[1] * g; }
diff @ 2019-02-22 22:36:08 +0000 diff --git a/client/go.c b/client/go.c index 017f1d16e..bc3749aab 100644 --- a/client/go.c +++ b/client/go.c @@ -88,7 +88,7 @@ go(S *s, int channels, const float *in, float *out) { // modulate delay times sample p = phasor(&s->so2.phase, 2*2*bpm/60/64); - sample modulation = 10 * cos(twopi * p); + sample modulation = 1 * cos(twopi * p); sample feedback[2] = { delread4(&s->so2.echo[1].del, 1000/(bpm/60) - modulation) , delread4(&s->so2.echo[0].del, 1000/(bpm/60) + modulation)
diff @ 2019-02-22 22:36:16 +0000 diff --git a/client/go.c b/client/go.c index bc3749aab..5e825ca85 100644 --- a/client/go.c +++ b/client/go.c @@ -96,9 +96,9 @@ go(S *s, int channels, const float *in, float *out) // pitchshift feedback for (int c = 0; c < 2; ++c) { sample down = pitchshift(&s->so2.shift[2 * c + 0], 2, 100, - lop(&s->so2.lag[0], 19, 1e-4), feedback[c]); + lop(&s->so2.lag[0], 19, 1e-3), feedback[c]); sample up = pitchshift(&s->so2.shift[2 * c + 1], 2, 100, - lop(&s->so2.lag[1], -12, 1e-4), down); + lop(&s->so2.lag[1], -12, 1e-3), down); feedback[c] = sin(12 * feedback[c] - down - up); }
diff @ 2019-02-22 22:36:31 +0000 diff --git a/client/go.c b/client/go.c index 5e825ca85..1f584127e 100644 --- a/client/go.c +++ b/client/go.c @@ -95,9 +95,9 @@ go(S *s, int channels, const float *in, float *out) }; // pitchshift feedback for (int c = 0; c < 2; ++c) { - sample down = pitchshift(&s->so2.shift[2 * c + 0], 2, 100, + sample down = pitchshift(&s->so2.shift[2 * c + 0], 2, 100+ modulation, lop(&s->so2.lag[0], 19, 1e-3), feedback[c]); - sample up = pitchshift(&s->so2.shift[2 * c + 1], 2, 100, + sample up = pitchshift(&s->so2.shift[2 * c + 1], 2, 100-modulation, lop(&s->so2.lag[1], -12, 1e-3), down); feedback[c] = sin(12 * feedback[c] - down - up); }
diff @ 2019-02-22 22:36:53 +0000 diff --git a/client/go.c b/client/go.c index 1f584127e..471fa40b6 100644 --- a/client/go.c +++ b/client/go.c @@ -95,9 +95,9 @@ go(S *s, int channels, const float *in, float *out) }; // pitchshift feedback for (int c = 0; c < 2; ++c) { - sample down = pitchshift(&s->so2.shift[2 * c + 0], 2, 100+ modulation, + sample down = pitchshift(&s->so2.shift[2 * c + 0], 2, 90+ modulation, lop(&s->so2.lag[0], 19, 1e-3), feedback[c]); - sample up = pitchshift(&s->so2.shift[2 * c + 1], 2, 100-modulation, + sample up = pitchshift(&s->so2.shift[2 * c + 1], 2, 90-modulation, lop(&s->so2.lag[1], -12, 1e-3), down); feedback[c] = sin(12 * feedback[c] - down - up); }
diff @ 2019-02-22 22:37:02 +0000 diff --git a/client/go.c b/client/go.c index 471fa40b6..7ad5c1981 100644 --- a/client/go.c +++ b/client/go.c @@ -95,9 +95,9 @@ go(S *s, int channels, const float *in, float *out) }; // pitchshift feedback for (int c = 0; c < 2; ++c) { - sample down = pitchshift(&s->so2.shift[2 * c + 0], 2, 90+ modulation, + sample down = pitchshift(&s->so2.shift[2 * c + 0], 2, 80+ modulation, lop(&s->so2.lag[0], 19, 1e-3), feedback[c]); - sample up = pitchshift(&s->so2.shift[2 * c + 1], 2, 90-modulation, + sample up = pitchshift(&s->so2.shift[2 * c + 1], 2, 80-modulation, lop(&s->so2.lag[1], -12, 1e-3), down); feedback[c] = sin(12 * feedback[c] - down - up); }
diff @ 2019-02-22 22:37:05 +0000 diff --git a/client/go.c b/client/go.c index 7ad5c1981..9b26e432e 100644 --- a/client/go.c +++ b/client/go.c @@ -95,9 +95,9 @@ go(S *s, int channels, const float *in, float *out) }; // pitchshift feedback for (int c = 0; c < 2; ++c) { - sample down = pitchshift(&s->so2.shift[2 * c + 0], 2, 80+ modulation, + sample down = pitchshift(&s->so2.shift[2 * c + 0], 1, 80+ modulation, lop(&s->so2.lag[0], 19, 1e-3), feedback[c]); - sample up = pitchshift(&s->so2.shift[2 * c + 1], 2, 80-modulation, + sample up = pitchshift(&s->so2.shift[2 * c + 1], 1, 80-modulation, lop(&s->so2.lag[1], -12, 1e-3), down); feedback[c] = sin(12 * feedback[c] - down - up); }
diff @ 2019-02-22 22:37:12 +0000 diff --git a/client/go.c b/client/go.c index 9b26e432e..dd7fbab20 100644 --- a/client/go.c +++ b/client/go.c @@ -95,9 +95,9 @@ go(S *s, int channels, const float *in, float *out) }; // pitchshift feedback for (int c = 0; c < 2; ++c) { - sample down = pitchshift(&s->so2.shift[2 * c + 0], 1, 80+ modulation, + sample down = pitchshift(&s->so2.shift[2 * c + 0], 1, 70+ modulation, lop(&s->so2.lag[0], 19, 1e-3), feedback[c]); - sample up = pitchshift(&s->so2.shift[2 * c + 1], 1, 80-modulation, + sample up = pitchshift(&s->so2.shift[2 * c + 1], 1, 70-modulation, lop(&s->so2.lag[1], -12, 1e-3), down); feedback[c] = sin(12 * feedback[c] - down - up); }
diff @ 2019-02-22 22:37:18 +0000 diff --git a/client/go.c b/client/go.c index dd7fbab20..67470e067 100644 --- a/client/go.c +++ b/client/go.c @@ -95,9 +95,9 @@ go(S *s, int channels, const float *in, float *out) }; // pitchshift feedback for (int c = 0; c < 2; ++c) { - sample down = pitchshift(&s->so2.shift[2 * c + 0], 1, 70+ modulation, + sample down = pitchshift(&s->so2.shift[2 * c + 0], 1, 60+ modulation, lop(&s->so2.lag[0], 19, 1e-3), feedback[c]); - sample up = pitchshift(&s->so2.shift[2 * c + 1], 1, 70-modulation, + sample up = pitchshift(&s->so2.shift[2 * c + 1], 1, 60-modulation, lop(&s->so2.lag[1], -12, 1e-3), down); feedback[c] = sin(12 * feedback[c] - down - up); }
diff @ 2019-02-22 22:37:25 +0000 diff --git a/client/go.c b/client/go.c index 67470e067..88b75296e 100644 --- a/client/go.c +++ b/client/go.c @@ -95,9 +95,9 @@ go(S *s, int channels, const float *in, float *out) }; // pitchshift feedback for (int c = 0; c < 2; ++c) { - sample down = pitchshift(&s->so2.shift[2 * c + 0], 1, 60+ modulation, + sample down = pitchshift(&s->so2.shift[2 * c + 0], 1, 50+ modulation, lop(&s->so2.lag[0], 19, 1e-3), feedback[c]); - sample up = pitchshift(&s->so2.shift[2 * c + 1], 1, 60-modulation, + sample up = pitchshift(&s->so2.shift[2 * c + 1], 1, 50-modulation, lop(&s->so2.lag[1], -12, 1e-3), down); feedback[c] = sin(12 * feedback[c] - down - up); }
diff @ 2019-02-22 22:37:33 +0000 diff --git a/client/go.c b/client/go.c index 88b75296e..f0da32c10 100644 --- a/client/go.c +++ b/client/go.c @@ -95,9 +95,9 @@ go(S *s, int channels, const float *in, float *out) }; // pitchshift feedback for (int c = 0; c < 2; ++c) { - sample down = pitchshift(&s->so2.shift[2 * c + 0], 1, 50+ modulation, + sample down = pitchshift(&s->so2.shift[2 * c + 0], 1, 45+ modulation, lop(&s->so2.lag[0], 19, 1e-3), feedback[c]); - sample up = pitchshift(&s->so2.shift[2 * c + 1], 1, 50-modulation, + sample up = pitchshift(&s->so2.shift[2 * c + 1], 1, 45-modulation, lop(&s->so2.lag[1], -12, 1e-3), down); feedback[c] = sin(12 * feedback[c] - down - up); }
diff @ 2019-02-22 22:37:41 +0000 diff --git a/client/go.c b/client/go.c index f0da32c10..86fa9f7ca 100644 --- a/client/go.c +++ b/client/go.c @@ -110,7 +110,7 @@ go(S *s, int channels, const float *in, float *out) sample band[2]; for (int c = 0; c < 2; ++c) { - band[c] = biquad(bandpass(&s->multiband[o][c], 10 * pow(2, o), flatq), input[c]); + band[c] = biquad(bandpass(&s->multiband[o][c], 15 * pow(2, o), flatq), input[c]); } compress(band, &s->multicomp[o], 5, 10, 25, 48, band); sample g = 12 / (o + 1);
diff @ 2019-02-22 22:38:02 +0000 diff --git a/client/go.c b/client/go.c index 86fa9f7ca..69c5478f8 100644 --- a/client/go.c +++ b/client/go.c @@ -96,7 +96,7 @@ go(S *s, int channels, const float *in, float *out) // pitchshift feedback for (int c = 0; c < 2; ++c) { sample down = pitchshift(&s->so2.shift[2 * c + 0], 1, 45+ modulation, - lop(&s->so2.lag[0], 19, 1e-3), feedback[c]); + lop(&s->so2.lag[0], 12, 1e-3), feedback[c]); sample up = pitchshift(&s->so2.shift[2 * c + 1], 1, 45-modulation, lop(&s->so2.lag[1], -12, 1e-3), down); feedback[c] = sin(12 * feedback[c] - down - up);
diff @ 2019-02-22 22:38:18 +0000 diff --git a/client/go.c b/client/go.c index 69c5478f8..8fb9ad663 100644 --- a/client/go.c +++ b/client/go.c @@ -90,8 +90,8 @@ go(S *s, int channels, const float *in, float *out) sample p = phasor(&s->so2.phase, 2*2*bpm/60/64); sample modulation = 1 * cos(twopi * p); sample feedback[2] = - { delread4(&s->so2.echo[1].del, 1000/(bpm/60) - modulation) - , delread4(&s->so2.echo[0].del, 1000/(bpm/60) + modulation) + { delread4(&s->so2.echo[1].del, 1000/(bpm/60)/2 - modulation) + , delread4(&s->so2.echo[0].del, 1000/(bpm/60)/2 + modulation) }; // pitchshift feedback for (int c = 0; c < 2; ++c) {
diff @ 2019-02-22 22:38:27 +0000 diff --git a/client/go.c b/client/go.c index 8fb9ad663..7b892086e 100644 --- a/client/go.c +++ b/client/go.c @@ -90,8 +90,8 @@ go(S *s, int channels, const float *in, float *out) sample p = phasor(&s->so2.phase, 2*2*bpm/60/64); sample modulation = 1 * cos(twopi * p); sample feedback[2] = - { delread4(&s->so2.echo[1].del, 1000/(bpm/60)/2 - modulation) - , delread4(&s->so2.echo[0].del, 1000/(bpm/60)/2 + modulation) + { delread4(&s->so2.echo[1].del, 1000/(bpm/60)/2/2 - modulation) + , delread4(&s->so2.echo[0].del, 1000/(bpm/60)/2/2 + modulation) }; // pitchshift feedback for (int c = 0; c < 2; ++c) {
diff @ 2019-02-22 22:38:43 +0000 diff --git a/client/go.c b/client/go.c index 7b892086e..0c8c6f631 100644 --- a/client/go.c +++ b/client/go.c @@ -90,8 +90,8 @@ go(S *s, int channels, const float *in, float *out) sample p = phasor(&s->so2.phase, 2*2*bpm/60/64); sample modulation = 1 * cos(twopi * p); sample feedback[2] = - { delread4(&s->so2.echo[1].del, 1000/(bpm/60)/2/2 - modulation) - , delread4(&s->so2.echo[0].del, 1000/(bpm/60)/2/2 + modulation) + { delread4(&s->so2.echo[1].del, 1000/(bpm/60)/2/2 - modulation/16) + , delread4(&s->so2.echo[0].del, 1000/(bpm/60)/2/2 + modulation/16) }; // pitchshift feedback for (int c = 0; c < 2; ++c) {
diff @ 2019-02-22 22:38:50 +0000 diff --git a/client/go.c b/client/go.c index 0c8c6f631..8a605abb9 100644 --- a/client/go.c +++ b/client/go.c @@ -90,8 +90,8 @@ go(S *s, int channels, const float *in, float *out) sample p = phasor(&s->so2.phase, 2*2*bpm/60/64); sample modulation = 1 * cos(twopi * p); sample feedback[2] = - { delread4(&s->so2.echo[1].del, 1000/(bpm/60)/2/2 - modulation/16) - , delread4(&s->so2.echo[0].del, 1000/(bpm/60)/2/2 + modulation/16) + { delread4(&s->so2.echo[1].del, 1000/(bpm/60)/2/2/2 - modulation/16) + , delread4(&s->so2.echo[0].del, 1000/(bpm/60)/2/2/2 + modulation/16) }; // pitchshift feedback for (int c = 0; c < 2; ++c) {
diff @ 2019-02-22 22:39:31 +0000 diff --git a/client/go.c b/client/go.c index 8a605abb9..b16d70ed3 100644 --- a/client/go.c +++ b/client/go.c @@ -105,6 +105,7 @@ go(S *s, int channels, const float *in, float *out) // multiband compressor sample input[2] = { feedback[0], feedback[1] }; sample output[2] = { 0, 0 }; + sample gsum = 0; for (int o = 0; o < OCTAVES; ++o) { sample band[2]; @@ -113,12 +114,13 @@ go(S *s, int channels, const float *in, float *out) band[c] = biquad(bandpass(&s->multiband[o][c], 15 * pow(2, o), flatq), input[c]); } compress(band, &s->multicomp[o], 5, 10, 25, 48, band); - sample g = 12 / (o + 1); + sample g = 1 / (o + 1); + gsum += g; output[0] += band[0] * g; output[1] += band[1] * g; } - feedback[0] = output[0]; - feedback[1] = output[1]; + feedback[0] = output[0] / gsum; + feedback[1] = output[1] / gsum; // compress feedback compress(so2, &s->so2.compress, 5, 10, 25, 48, feedback);
diff @ 2019-02-22 22:39:37 +0000 diff --git a/client/go.c b/client/go.c index b16d70ed3..c0c85a067 100644 --- a/client/go.c +++ b/client/go.c @@ -114,7 +114,7 @@ go(S *s, int channels, const float *in, float *out) band[c] = biquad(bandpass(&s->multiband[o][c], 15 * pow(2, o), flatq), input[c]); } compress(band, &s->multicomp[o], 5, 10, 25, 48, band); - sample g = 1 / (o + 1); + sample g = 10 / (o + 1); gsum += g; output[0] += band[0] * g; output[1] += band[1] * g;
diff @ 2019-02-22 22:40:10 +0000 diff --git a/client/go.c b/client/go.c index c0c85a067..cafdf97c8 100644 --- a/client/go.c +++ b/client/go.c @@ -111,7 +111,7 @@ go(S *s, int channels, const float *in, float *out) sample band[2]; for (int c = 0; c < 2; ++c) { - band[c] = biquad(bandpass(&s->multiband[o][c], 15 * pow(2, o), flatq), input[c]); + band[c] = biquad(bandpass(&s->multiband[o][c], 20 * pow(2, o), flatq), input[c]); } compress(band, &s->multicomp[o], 5, 10, 25, 48, band); sample g = 10 / (o + 1);
diff @ 2019-02-22 22:40:19 +0000 diff --git a/client/go.c b/client/go.c index cafdf97c8..eef4f5e2e 100644 --- a/client/go.c +++ b/client/go.c @@ -90,8 +90,8 @@ go(S *s, int channels, const float *in, float *out) sample p = phasor(&s->so2.phase, 2*2*bpm/60/64); sample modulation = 1 * cos(twopi * p); sample feedback[2] = - { delread4(&s->so2.echo[1].del, 1000/(bpm/60)/2/2/2 - modulation/16) - , delread4(&s->so2.echo[0].del, 1000/(bpm/60)/2/2/2 + modulation/16) + { delread4(&s->so2.echo[1].del, 1000/(bpm/60)/2/2/2/2 - modulation/16) + , delread4(&s->so2.echo[0].del, 1000/(bpm/60)/2/2/2/2 + modulation/16) }; // pitchshift feedback for (int c = 0; c < 2; ++c) {
diff @ 2019-02-22 22:40:26 +0000 diff --git a/client/go.c b/client/go.c index eef4f5e2e..0d7e7bd90 100644 --- a/client/go.c +++ b/client/go.c @@ -90,8 +90,8 @@ go(S *s, int channels, const float *in, float *out) sample p = phasor(&s->so2.phase, 2*2*bpm/60/64); sample modulation = 1 * cos(twopi * p); sample feedback[2] = - { delread4(&s->so2.echo[1].del, 1000/(bpm/60)/2/2/2/2 - modulation/16) - , delread4(&s->so2.echo[0].del, 1000/(bpm/60)/2/2/2/2 + modulation/16) + { delread4(&s->so2.echo[1].del, 1000/(bpm/60)/2/2/2/2/2 - modulation/16) + , delread4(&s->so2.echo[0].del, 1000/(bpm/60)/2/2/2/2/2 + modulation/16) }; // pitchshift feedback for (int c = 0; c < 2; ++c) {
diff @ 2019-02-22 22:40:35 +0000 diff --git a/client/go.c b/client/go.c index 0d7e7bd90..710dc48e3 100644 --- a/client/go.c +++ b/client/go.c @@ -90,8 +90,8 @@ go(S *s, int channels, const float *in, float *out) sample p = phasor(&s->so2.phase, 2*2*bpm/60/64); sample modulation = 1 * cos(twopi * p); sample feedback[2] = - { delread4(&s->so2.echo[1].del, 1000/(bpm/60)/2/2/2/2/2 - modulation/16) - , delread4(&s->so2.echo[0].del, 1000/(bpm/60)/2/2/2/2/2 + modulation/16) + { delread4(&s->so2.echo[1].del, 1000/(bpm/60)/2/2/2/2/2/2 - modulation/16) + , delread4(&s->so2.echo[0].del, 1000/(bpm/60)/2/2/2/2/2/2 + modulation/16) }; // pitchshift feedback for (int c = 0; c < 2; ++c) {
diff @ 2019-02-22 22:40:47 +0000 diff --git a/client/go.c b/client/go.c index 710dc48e3..f0248ee31 100644 --- a/client/go.c +++ b/client/go.c @@ -88,7 +88,7 @@ go(S *s, int channels, const float *in, float *out) { // modulate delay times sample p = phasor(&s->so2.phase, 2*2*bpm/60/64); - sample modulation = 1 * cos(twopi * p); + sample modulation = 1.1 * cos(twopi * p); sample feedback[2] = { delread4(&s->so2.echo[1].del, 1000/(bpm/60)/2/2/2/2/2/2 - modulation/16) , delread4(&s->so2.echo[0].del, 1000/(bpm/60)/2/2/2/2/2/2 + modulation/16)
diff @ 2019-02-22 22:40:53 +0000 diff --git a/client/go.c b/client/go.c index f0248ee31..5cb7ed7cb 100644 --- a/client/go.c +++ b/client/go.c @@ -88,7 +88,7 @@ go(S *s, int channels, const float *in, float *out) { // modulate delay times sample p = phasor(&s->so2.phase, 2*2*bpm/60/64); - sample modulation = 1.1 * cos(twopi * p); + sample modulation = 1.2 * cos(twopi * p); sample feedback[2] = { delread4(&s->so2.echo[1].del, 1000/(bpm/60)/2/2/2/2/2/2 - modulation/16) , delread4(&s->so2.echo[0].del, 1000/(bpm/60)/2/2/2/2/2/2 + modulation/16)
diff @ 2019-02-22 22:41:21 +0000 diff --git a/client/go.c b/client/go.c index 5cb7ed7cb..1983e8db7 100644 --- a/client/go.c +++ b/client/go.c @@ -88,7 +88,7 @@ go(S *s, int channels, const float *in, float *out) { // modulate delay times sample p = phasor(&s->so2.phase, 2*2*bpm/60/64); - sample modulation = 1.2 * cos(twopi * p); + sample modulation = (1 + 0.1 * cos(twopi * p)) * cos(twopi * p); sample feedback[2] = { delread4(&s->so2.echo[1].del, 1000/(bpm/60)/2/2/2/2/2/2 - modulation/16) , delread4(&s->so2.echo[0].del, 1000/(bpm/60)/2/2/2/2/2/2 + modulation/16)
diff @ 2019-02-22 22:41:29 +0000 diff --git a/client/go.c b/client/go.c index 1983e8db7..a203e2d63 100644 --- a/client/go.c +++ b/client/go.c @@ -88,7 +88,7 @@ go(S *s, int channels, const float *in, float *out) { // modulate delay times sample p = phasor(&s->so2.phase, 2*2*bpm/60/64); - sample modulation = (1 + 0.1 * cos(twopi * p)) * cos(twopi * p); + sample modulation = (1 + 0.5 * cos(twopi * p)) * cos(twopi * p); sample feedback[2] = { delread4(&s->so2.echo[1].del, 1000/(bpm/60)/2/2/2/2/2/2 - modulation/16) , delread4(&s->so2.echo[0].del, 1000/(bpm/60)/2/2/2/2/2/2 + modulation/16)
diff @ 2019-02-22 22:41:47 +0000 diff --git a/client/go.c b/client/go.c index a203e2d63..c7bca3b7d 100644 --- a/client/go.c +++ b/client/go.c @@ -119,8 +119,8 @@ go(S *s, int channels, const float *in, float *out) output[0] += band[0] * g; output[1] += band[1] * g; } - feedback[0] = output[0] / gsum; - feedback[1] = output[1] / gsum; + feedback[0] = output[0] / gsum * 2; + feedback[1] = output[1] / gsum * 2; // compress feedback compress(so2, &s->so2.compress, 5, 10, 25, 48, feedback);
diff @ 2019-02-22 22:42:04 +0000 diff --git a/client/go.c b/client/go.c index c7bca3b7d..c722e3e5a 100644 --- a/client/go.c +++ b/client/go.c @@ -129,7 +129,7 @@ go(S *s, int channels, const float *in, float *out) so2[1] *= gain; // write to delay lines for (int c = 0; c < 2; ++c) { - so2echo(&s->so2.echo[c], 20, 3200, tanh(so2[c] + in[c])); + so2echo(&s->so2.echo[c], 20, 320, tanh(so2[c] + in[c])); } mixdown[0] += so2[0]; mixdown[1] += so2[1];
diff @ 2019-02-22 22:42:10 +0000 diff --git a/client/go.c b/client/go.c index c722e3e5a..2b7f11009 100644 --- a/client/go.c +++ b/client/go.c @@ -129,7 +129,7 @@ go(S *s, int channels, const float *in, float *out) so2[1] *= gain; // write to delay lines for (int c = 0; c < 2; ++c) { - so2echo(&s->so2.echo[c], 20, 320, tanh(so2[c] + in[c])); + so2echo(&s->so2.echo[c], 300, 320, tanh(so2[c] + in[c])); } mixdown[0] += so2[0]; mixdown[1] += so2[1];
diff @ 2019-02-22 22:42:14 +0000 diff --git a/client/go.c b/client/go.c index 2b7f11009..d8d8a60d6 100644 --- a/client/go.c +++ b/client/go.c @@ -129,7 +129,7 @@ go(S *s, int channels, const float *in, float *out) so2[1] *= gain; // write to delay lines for (int c = 0; c < 2; ++c) { - so2echo(&s->so2.echo[c], 300, 320, tanh(so2[c] + in[c])); + so2echo(&s->so2.echo[c], 3000, 320, tanh(so2[c] + in[c])); } mixdown[0] += so2[0]; mixdown[1] += so2[1];
diff @ 2019-02-22 22:42:24 +0000 diff --git a/client/go.c b/client/go.c index d8d8a60d6..62368a8de 100644 --- a/client/go.c +++ b/client/go.c @@ -129,7 +129,7 @@ go(S *s, int channels, const float *in, float *out) so2[1] *= gain; // write to delay lines for (int c = 0; c < 2; ++c) { - so2echo(&s->so2.echo[c], 3000, 320, tanh(so2[c] + in[c])); + so2echo(&s->so2.echo[c], 3000, 30, tanh(so2[c] + in[c])); } mixdown[0] += so2[0]; mixdown[1] += so2[1];
diff @ 2019-02-22 22:42:39 +0000 diff --git a/client/go.c b/client/go.c index 62368a8de..3259cbb2d 100644 --- a/client/go.c +++ b/client/go.c @@ -95,9 +95,9 @@ go(S *s, int channels, const float *in, float *out) }; // pitchshift feedback for (int c = 0; c < 2; ++c) { - sample down = pitchshift(&s->so2.shift[2 * c + 0], 1, 45+ modulation, + sample down = pitchshift(&s->so2.shift[2 * c + 0], 1, 40+ modulation, lop(&s->so2.lag[0], 12, 1e-3), feedback[c]); - sample up = pitchshift(&s->so2.shift[2 * c + 1], 1, 45-modulation, + sample up = pitchshift(&s->so2.shift[2 * c + 1], 1, 40-modulation, lop(&s->so2.lag[1], -12, 1e-3), down); feedback[c] = sin(12 * feedback[c] - down - up); }
diff @ 2019-02-22 22:42:52 +0000 diff --git a/client/go.c b/client/go.c index 3259cbb2d..7f5d79248 100644 --- a/client/go.c +++ b/client/go.c @@ -95,9 +95,9 @@ go(S *s, int channels, const float *in, float *out) }; // pitchshift feedback for (int c = 0; c < 2; ++c) { - sample down = pitchshift(&s->so2.shift[2 * c + 0], 1, 40+ modulation, + sample down = pitchshift(&s->so2.shift[2 * c + 0], 1, 35+ modulation, lop(&s->so2.lag[0], 12, 1e-3), feedback[c]); - sample up = pitchshift(&s->so2.shift[2 * c + 1], 1, 40-modulation, + sample up = pitchshift(&s->so2.shift[2 * c + 1], 1, 35-modulation, lop(&s->so2.lag[1], -12, 1e-3), down); feedback[c] = sin(12 * feedback[c] - down - up); }
diff @ 2019-02-22 22:43:05 +0000 diff --git a/client/go.c b/client/go.c index 7f5d79248..7dda45b25 100644 --- a/client/go.c +++ b/client/go.c @@ -90,8 +90,8 @@ go(S *s, int channels, const float *in, float *out) sample p = phasor(&s->so2.phase, 2*2*bpm/60/64); sample modulation = (1 + 0.5 * cos(twopi * p)) * cos(twopi * p); sample feedback[2] = - { delread4(&s->so2.echo[1].del, 1000/(bpm/60)/2/2/2/2/2/2 - modulation/16) - , delread4(&s->so2.echo[0].del, 1000/(bpm/60)/2/2/2/2/2/2 + modulation/16) + { delread4(&s->so2.echo[1].del, 1000/(bpm/60)/2/2/2/2/2/2/2 - modulation/16) + , delread4(&s->so2.echo[0].del, 1000/(bpm/60)/2/2/2/2/2/2/2 + modulation/16) }; // pitchshift feedback for (int c = 0; c < 2; ++c) {
diff @ 2019-02-22 22:43:16 +0000 diff --git a/client/go.c b/client/go.c index 7dda45b25..ce7364644 100644 --- a/client/go.c +++ b/client/go.c @@ -87,7 +87,7 @@ go(S *s, int channels, const float *in, float *out) sample so2[2] = { 0, 0 }; { // modulate delay times - sample p = phasor(&s->so2.phase, 2*2*bpm/60/64); + sample p = phasor(&s->so2.phase, 2*2*2*bpm/60/64); sample modulation = (1 + 0.5 * cos(twopi * p)) * cos(twopi * p); sample feedback[2] = { delread4(&s->so2.echo[1].del, 1000/(bpm/60)/2/2/2/2/2/2/2 - modulation/16)
diff @ 2019-02-22 22:43:25 +0000 diff --git a/client/go.c b/client/go.c index ce7364644..805da62c4 100644 --- a/client/go.c +++ b/client/go.c @@ -87,7 +87,7 @@ go(S *s, int channels, const float *in, float *out) sample so2[2] = { 0, 0 }; { // modulate delay times - sample p = phasor(&s->so2.phase, 2*2*2*bpm/60/64); + sample p = phasor(&s->so2.phase, 2*2*2*2*bpm/60/64); sample modulation = (1 + 0.5 * cos(twopi * p)) * cos(twopi * p); sample feedback[2] = { delread4(&s->so2.echo[1].del, 1000/(bpm/60)/2/2/2/2/2/2/2 - modulation/16)
diff @ 2019-02-22 22:43:35 +0000 diff --git a/client/go.c b/client/go.c index 805da62c4..e126343a6 100644 --- a/client/go.c +++ b/client/go.c @@ -87,7 +87,7 @@ go(S *s, int channels, const float *in, float *out) sample so2[2] = { 0, 0 }; { // modulate delay times - sample p = phasor(&s->so2.phase, 2*2*2*2*bpm/60/64); + sample p = phasor(&s->so2.phase, 2*2*2*2*2*bpm/60/64); sample modulation = (1 + 0.5 * cos(twopi * p)) * cos(twopi * p); sample feedback[2] = { delread4(&s->so2.echo[1].del, 1000/(bpm/60)/2/2/2/2/2/2/2 - modulation/16)
diff @ 2019-02-22 22:43:42 +0000 diff --git a/client/go.c b/client/go.c index e126343a6..afbd051c4 100644 --- a/client/go.c +++ b/client/go.c @@ -87,7 +87,7 @@ go(S *s, int channels, const float *in, float *out) sample so2[2] = { 0, 0 }; { // modulate delay times - sample p = phasor(&s->so2.phase, 2*2*2*2*2*bpm/60/64); + sample p = phasor(&s->so2.phase, 2*2*2*2*2*2*bpm/60/64); sample modulation = (1 + 0.5 * cos(twopi * p)) * cos(twopi * p); sample feedback[2] = { delread4(&s->so2.echo[1].del, 1000/(bpm/60)/2/2/2/2/2/2/2 - modulation/16)
diff @ 2019-02-22 22:43:49 +0000 diff --git a/client/go.c b/client/go.c index afbd051c4..7fea8defa 100644 --- a/client/go.c +++ b/client/go.c @@ -87,7 +87,7 @@ go(S *s, int channels, const float *in, float *out) sample so2[2] = { 0, 0 }; { // modulate delay times - sample p = phasor(&s->so2.phase, 2*2*2*2*2*2*bpm/60/64); + sample p = phasor(&s->so2.phase, 2*2*2*2*2*2*2*bpm/60/64); sample modulation = (1 + 0.5 * cos(twopi * p)) * cos(twopi * p); sample feedback[2] = { delread4(&s->so2.echo[1].del, 1000/(bpm/60)/2/2/2/2/2/2/2 - modulation/16)
diff @ 2019-02-22 22:44:02 +0000 diff --git a/client/go.c b/client/go.c index 7fea8defa..f523857ef 100644 --- a/client/go.c +++ b/client/go.c @@ -87,7 +87,7 @@ go(S *s, int channels, const float *in, float *out) sample so2[2] = { 0, 0 }; { // modulate delay times - sample p = phasor(&s->so2.phase, 2*2*2*2*2*2*2*bpm/60/64); + sample p = phasor(&s->so2.phase, 2*2*2*2*2*2*2*2*bpm/60/64); sample modulation = (1 + 0.5 * cos(twopi * p)) * cos(twopi * p); sample feedback[2] = { delread4(&s->so2.echo[1].del, 1000/(bpm/60)/2/2/2/2/2/2/2 - modulation/16)
diff @ 2019-02-22 22:44:11 +0000 diff --git a/client/go.c b/client/go.c index f523857ef..4250f5fb4 100644 --- a/client/go.c +++ b/client/go.c @@ -88,7 +88,7 @@ go(S *s, int channels, const float *in, float *out) { // modulate delay times sample p = phasor(&s->so2.phase, 2*2*2*2*2*2*2*2*bpm/60/64); - sample modulation = (1 + 0.5 * cos(twopi * p)) * cos(twopi * p); + sample modulation = (2 + 0.5 * cos(twopi * p)) * cos(twopi * p); sample feedback[2] = { delread4(&s->so2.echo[1].del, 1000/(bpm/60)/2/2/2/2/2/2/2 - modulation/16) , delread4(&s->so2.echo[0].del, 1000/(bpm/60)/2/2/2/2/2/2/2 + modulation/16)
diff @ 2019-02-22 22:44:17 +0000 diff --git a/client/go.c b/client/go.c index 4250f5fb4..9d1510239 100644 --- a/client/go.c +++ b/client/go.c @@ -88,7 +88,7 @@ go(S *s, int channels, const float *in, float *out) { // modulate delay times sample p = phasor(&s->so2.phase, 2*2*2*2*2*2*2*2*bpm/60/64); - sample modulation = (2 + 0.5 * cos(twopi * p)) * cos(twopi * p); + sample modulation = (2 + 1.5 * cos(twopi * p)) * cos(twopi * p); sample feedback[2] = { delread4(&s->so2.echo[1].del, 1000/(bpm/60)/2/2/2/2/2/2/2 - modulation/16) , delread4(&s->so2.echo[0].del, 1000/(bpm/60)/2/2/2/2/2/2/2 + modulation/16)
diff @ 2019-02-22 22:44:43 +0000 diff --git a/client/go.c b/client/go.c index 9d1510239..d3ee73756 100644 --- a/client/go.c +++ b/client/go.c @@ -87,7 +87,7 @@ go(S *s, int channels, const float *in, float *out) sample so2[2] = { 0, 0 }; { // modulate delay times - sample p = phasor(&s->so2.phase, 2*2*2*2*2*2*2*2*bpm/60/64); + sample p = phasor(&s->so2.phase, bpm/60/64); sample modulation = (2 + 1.5 * cos(twopi * p)) * cos(twopi * p); sample feedback[2] = { delread4(&s->so2.echo[1].del, 1000/(bpm/60)/2/2/2/2/2/2/2 - modulation/16)
diff @ 2019-02-22 22:44:53 +0000 diff --git a/client/go.c b/client/go.c index d3ee73756..c552d5396 100644 --- a/client/go.c +++ b/client/go.c @@ -96,9 +96,9 @@ go(S *s, int channels, const float *in, float *out) // pitchshift feedback for (int c = 0; c < 2; ++c) { sample down = pitchshift(&s->so2.shift[2 * c + 0], 1, 35+ modulation, - lop(&s->so2.lag[0], 12, 1e-3), feedback[c]); + lop(&s->so2.lag[0], 0, 1e-3), feedback[c]); sample up = pitchshift(&s->so2.shift[2 * c + 1], 1, 35-modulation, - lop(&s->so2.lag[1], -12, 1e-3), down); + lop(&s->so2.lag[1], 0, 1e-3), down); feedback[c] = sin(12 * feedback[c] - down - up); }
diff @ 2019-02-22 22:44:57 +0000 diff --git a/client/go.c b/client/go.c index c552d5396..f529f629f 100644 --- a/client/go.c +++ b/client/go.c @@ -96,9 +96,9 @@ go(S *s, int channels, const float *in, float *out) // pitchshift feedback for (int c = 0; c < 2; ++c) { sample down = pitchshift(&s->so2.shift[2 * c + 0], 1, 35+ modulation, - lop(&s->so2.lag[0], 0, 1e-3), feedback[c]); + lop(&s->so2.lag[0], 0, 1e-4), feedback[c]); sample up = pitchshift(&s->so2.shift[2 * c + 1], 1, 35-modulation, - lop(&s->so2.lag[1], 0, 1e-3), down); + lop(&s->so2.lag[1], 0, 1e-4), down); feedback[c] = sin(12 * feedback[c] - down - up); }
diff @ 2019-02-22 22:45:33 +0000 diff --git a/client/go.c b/client/go.c index f529f629f..238a67f5b 100644 --- a/client/go.c +++ b/client/go.c @@ -143,7 +143,7 @@ go(S *s, int channels, const float *in, float *out) sample t = twopi * p; sample co = cos(t); sample si = sin(t); - sample ldelms = 60000 / bpm * (p < 0.75 ? 1 : 2); + sample ldelms = 60000 / bpm * (p < 0.75 ? 1 : 1./32); sample rdelms = ldelms; ldelms = lop(&s->elop[0], ldelms, 5); rdelms = lop(&s->elop[1], rdelms, 5);
diff @ 2019-02-22 22:45:45 +0000 diff --git a/client/go.c b/client/go.c index 238a67f5b..3525f0d0b 100644 --- a/client/go.c +++ b/client/go.c @@ -153,8 +153,8 @@ go(S *s, int channels, const float *in, float *out) //#define feedback es //#undef feedback compress(es, &s->ecompress1, 5, 10, 25, 48, es); - es[0] = mix(mixdown[0], es[0], mix(0, pow(wrap(8 * p), 0.25), 0)); - es[1] = mix(mixdown[1], es[1], mix(0, pow(wrap(8 * p), 0.25), 0)); + es[0] = mix(mixdown[0], es[0], mix(0.01, pow(wrap(8 * p), 0.25), 0)); + es[1] = mix(mixdown[1], es[1], mix(0.01, pow(wrap(8 * p), 0.25), 0)); compress(es, &s->ecompress2, 5, 10, 25, 48, es); delwrite(&s->edelay1, es[0]); delwrite(&s->edelay2, es[1]);
diff @ 2019-02-22 22:45:55 +0000 diff --git a/client/go.c b/client/go.c index 3525f0d0b..67c798934 100644 --- a/client/go.c +++ b/client/go.c @@ -153,8 +153,8 @@ go(S *s, int channels, const float *in, float *out) //#define feedback es //#undef feedback compress(es, &s->ecompress1, 5, 10, 25, 48, es); - es[0] = mix(mixdown[0], es[0], mix(0.01, pow(wrap(8 * p), 0.25), 0)); - es[1] = mix(mixdown[1], es[1], mix(0.01, pow(wrap(8 * p), 0.25), 0)); + es[0] = mix(mixdown[0], es[0], mix(0.1, pow(wrap(8 * p), 0.25), 0)); + es[1] = mix(mixdown[1], es[1], mix(0.1, pow(wrap(8 * p), 0.25), 0)); compress(es, &s->ecompress2, 5, 10, 25, 48, es); delwrite(&s->edelay1, es[0]); delwrite(&s->edelay2, es[1]);
diff @ 2019-02-22 22:46:06 +0000 diff --git a/client/go.c b/client/go.c index 67c798934..6444698f9 100644 --- a/client/go.c +++ b/client/go.c @@ -143,7 +143,7 @@ go(S *s, int channels, const float *in, float *out) sample t = twopi * p; sample co = cos(t); sample si = sin(t); - sample ldelms = 60000 / bpm * (p < 0.75 ? 1 : 1./32); + sample ldelms = 60000 / bpm * (p < 0.75 ? 1./3 : 1./32); sample rdelms = ldelms; ldelms = lop(&s->elop[0], ldelms, 5); rdelms = lop(&s->elop[1], rdelms, 5);
diff @ 2019-02-22 22:46:21 +0000 diff --git a/client/go.c b/client/go.c index 6444698f9..f2e793b6f 100644 --- a/client/go.c +++ b/client/go.c @@ -144,7 +144,7 @@ go(S *s, int channels, const float *in, float *out) sample co = cos(t); sample si = sin(t); sample ldelms = 60000 / bpm * (p < 0.75 ? 1./3 : 1./32); - sample rdelms = ldelms; + sample rdelms = 60000 / bpm * (p < 0.5 ? 1./3 : 1./32); ldelms = lop(&s->elop[0], ldelms, 5); rdelms = lop(&s->elop[1], rdelms, 5); sample el = delread4(&s->edelay1, ldelms + co);
diff @ 2019-02-22 22:46:26 +0000 diff --git a/client/go.c b/client/go.c index f2e793b6f..8519ba83f 100644 --- a/client/go.c +++ b/client/go.c @@ -144,7 +144,7 @@ go(S *s, int channels, const float *in, float *out) sample co = cos(t); sample si = sin(t); sample ldelms = 60000 / bpm * (p < 0.75 ? 1./3 : 1./32); - sample rdelms = 60000 / bpm * (p < 0.5 ? 1./3 : 1./32); + sample rdelms = 60000 / bpm * (p < 0.5 ? 1./3 : 1./48); ldelms = lop(&s->elop[0], ldelms, 5); rdelms = lop(&s->elop[1], rdelms, 5); sample el = delread4(&s->edelay1, ldelms + co);
diff @ 2019-02-22 22:46:31 +0000 diff --git a/client/go.c b/client/go.c index 8519ba83f..bffe2937a 100644 --- a/client/go.c +++ b/client/go.c @@ -153,8 +153,8 @@ go(S *s, int channels, const float *in, float *out) //#define feedback es //#undef feedback compress(es, &s->ecompress1, 5, 10, 25, 48, es); - es[0] = mix(mixdown[0], es[0], mix(0.1, pow(wrap(8 * p), 0.25), 0)); - es[1] = mix(mixdown[1], es[1], mix(0.1, pow(wrap(8 * p), 0.25), 0)); + es[0] = mix(mixdown[0], es[0], mix(0.2, pow(wrap(8 * p), 0.25), 0)); + es[1] = mix(mixdown[1], es[1], mix(0.2, pow(wrap(8 * p), 0.25), 0)); compress(es, &s->ecompress2, 5, 10, 25, 48, es); delwrite(&s->edelay1, es[0]); delwrite(&s->edelay2, es[1]);
diff @ 2019-02-22 22:46:42 +0000 diff --git a/client/go.c b/client/go.c index bffe2937a..13078f2d7 100644 --- a/client/go.c +++ b/client/go.c @@ -145,8 +145,8 @@ go(S *s, int channels, const float *in, float *out) sample si = sin(t); sample ldelms = 60000 / bpm * (p < 0.75 ? 1./3 : 1./32); sample rdelms = 60000 / bpm * (p < 0.5 ? 1./3 : 1./48); - ldelms = lop(&s->elop[0], ldelms, 5); - rdelms = lop(&s->elop[1], rdelms, 5); + ldelms = lop(&s->elop[0], ldelms, 2); + rdelms = lop(&s->elop[1], rdelms, 2); sample el = delread4(&s->edelay1, ldelms + co); sample er = delread4(&s->edelay2, rdelms + si); sample es[2] = { co * el + si * er, -si * el + co * er };
diff @ 2019-02-22 22:46:51 +0000 diff --git a/client/go.c b/client/go.c index 13078f2d7..f2e90724d 100644 --- a/client/go.c +++ b/client/go.c @@ -153,8 +153,8 @@ go(S *s, int channels, const float *in, float *out) //#define feedback es //#undef feedback compress(es, &s->ecompress1, 5, 10, 25, 48, es); - es[0] = mix(mixdown[0], es[0], mix(0.2, pow(wrap(8 * p), 0.25), 0)); - es[1] = mix(mixdown[1], es[1], mix(0.2, pow(wrap(8 * p), 0.25), 0)); + es[0] = mix(mixdown[0], es[0], mix(0.3, pow(wrap(8 * p), 0.25), 0)); + es[1] = mix(mixdown[1], es[1], mix(0.3, pow(wrap(8 * p), 0.25), 0)); compress(es, &s->ecompress2, 5, 10, 25, 48, es); delwrite(&s->edelay1, es[0]); delwrite(&s->edelay2, es[1]);
diff @ 2019-02-22 22:47:04 +0000 diff --git a/client/go.c b/client/go.c index f2e90724d..8133a55f4 100644 --- a/client/go.c +++ b/client/go.c @@ -153,8 +153,8 @@ go(S *s, int channels, const float *in, float *out) //#define feedback es //#undef feedback compress(es, &s->ecompress1, 5, 10, 25, 48, es); - es[0] = mix(mixdown[0], es[0], mix(0.3, pow(wrap(8 * p), 0.25), 0)); - es[1] = mix(mixdown[1], es[1], mix(0.3, pow(wrap(8 * p), 0.25), 0)); + es[0] = mix(mixdown[0], es[0], mix(0.4, pow(wrap(8 * p), 0.25), 0)); + es[1] = mix(mixdown[1], es[1], mix(0.4, pow(wrap(8 * p), 0.25), 0)); compress(es, &s->ecompress2, 5, 10, 25, 48, es); delwrite(&s->edelay1, es[0]); delwrite(&s->edelay2, es[1]);
diff @ 2019-02-22 22:47:33 +0000 diff --git a/client/go.c b/client/go.c index 8133a55f4..229b765e1 100644 --- a/client/go.c +++ b/client/go.c @@ -141,8 +141,8 @@ go(S *s, int channels, const float *in, float *out) s->edelay2.length = 4 * SR; sample p = phasor(&s->ephase, bpm / 60 / 8); sample t = twopi * p; - sample co = cos(t); - sample si = sin(t); + sample co = cos(2 * t); + sample si = sin(3 * t); sample ldelms = 60000 / bpm * (p < 0.75 ? 1./3 : 1./32); sample rdelms = 60000 / bpm * (p < 0.5 ? 1./3 : 1./48); ldelms = lop(&s->elop[0], ldelms, 2);
diff @ 2019-02-22 22:47:45 +0000 diff --git a/client/go.c b/client/go.c index 229b765e1..d4ea98e9e 100644 --- a/client/go.c +++ b/client/go.c @@ -141,7 +141,7 @@ go(S *s, int channels, const float *in, float *out) s->edelay2.length = 4 * SR; sample p = phasor(&s->ephase, bpm / 60 / 8); sample t = twopi * p; - sample co = cos(2 * t); + sample co = cos(5 * t); sample si = sin(3 * t); sample ldelms = 60000 / bpm * (p < 0.75 ? 1./3 : 1./32); sample rdelms = 60000 / bpm * (p < 0.5 ? 1./3 : 1./48);
diff @ 2019-02-22 22:48:07 +0000 diff --git a/client/go.c b/client/go.c index d4ea98e9e..8877d8005 100644 --- a/client/go.c +++ b/client/go.c @@ -153,8 +153,8 @@ go(S *s, int channels, const float *in, float *out) //#define feedback es //#undef feedback compress(es, &s->ecompress1, 5, 10, 25, 48, es); - es[0] = mix(mixdown[0], es[0], mix(0.4, pow(wrap(8 * p), 0.25), 0)); - es[1] = mix(mixdown[1], es[1], mix(0.4, pow(wrap(8 * p), 0.25), 0)); + es[0] = mix(mixdown[0], es[0], mix(0.5, pow(wrap(8 * p), 0.25), 0)); + es[1] = mix(mixdown[1], es[1], mix(0.5, pow(wrap(8 * p), 0.25), 0)); compress(es, &s->ecompress2, 5, 10, 25, 48, es); delwrite(&s->edelay1, es[0]); delwrite(&s->edelay2, es[1]);
diff @ 2019-02-22 22:48:16 +0000 diff --git a/client/go.c b/client/go.c index 8877d8005..da4e9e229 100644 --- a/client/go.c +++ b/client/go.c @@ -153,8 +153,8 @@ go(S *s, int channels, const float *in, float *out) //#define feedback es //#undef feedback compress(es, &s->ecompress1, 5, 10, 25, 48, es); - es[0] = mix(mixdown[0], es[0], mix(0.5, pow(wrap(8 * p), 0.25), 0)); - es[1] = mix(mixdown[1], es[1], mix(0.5, pow(wrap(8 * p), 0.25), 0)); + es[0] = mix(mixdown[0], es[0], mix(0.6, pow(wrap(8 * p), 0.25), 0)); + es[1] = mix(mixdown[1], es[1], mix(0.6, pow(wrap(8 * p), 0.25), 0)); compress(es, &s->ecompress2, 5, 10, 25, 48, es); delwrite(&s->edelay1, es[0]); delwrite(&s->edelay2, es[1]);
diff @ 2019-02-22 22:48:33 +0000 diff --git a/client/go.c b/client/go.c index da4e9e229..224a00048 100644 --- a/client/go.c +++ b/client/go.c @@ -153,8 +153,8 @@ go(S *s, int channels, const float *in, float *out) //#define feedback es //#undef feedback compress(es, &s->ecompress1, 5, 10, 25, 48, es); - es[0] = mix(mixdown[0], es[0], mix(0.6, pow(wrap(8 * p), 0.25), 0)); - es[1] = mix(mixdown[1], es[1], mix(0.6, pow(wrap(8 * p), 0.25), 0)); + es[0] = mix(mixdown[0], es[0], mix(0.7, pow(wrap(8 * p), 0.25), 0)); + es[1] = mix(mixdown[1], es[1], mix(0.7, pow(wrap(8 * p), 0.25), 0)); compress(es, &s->ecompress2, 5, 10, 25, 48, es); delwrite(&s->edelay1, es[0]); delwrite(&s->edelay2, es[1]);
diff @ 2019-02-22 22:48:51 +0000 diff --git a/client/go.c b/client/go.c index 224a00048..692c95ccf 100644 --- a/client/go.c +++ b/client/go.c @@ -96,9 +96,9 @@ go(S *s, int channels, const float *in, float *out) // pitchshift feedback for (int c = 0; c < 2; ++c) { sample down = pitchshift(&s->so2.shift[2 * c + 0], 1, 35+ modulation, - lop(&s->so2.lag[0], 0, 1e-4), feedback[c]); + lop(&s->so2.lag[0], -12, 1e-4), feedback[c]); sample up = pitchshift(&s->so2.shift[2 * c + 1], 1, 35-modulation, - lop(&s->so2.lag[1], 0, 1e-4), down); + lop(&s->so2.lag[1], -12, 1e-4), down); feedback[c] = sin(12 * feedback[c] - down - up); }
diff @ 2019-02-22 22:48:59 +0000 diff --git a/client/go.c b/client/go.c index 692c95ccf..94b7c0bc9 100644 --- a/client/go.c +++ b/client/go.c @@ -96,9 +96,9 @@ go(S *s, int channels, const float *in, float *out) // pitchshift feedback for (int c = 0; c < 2; ++c) { sample down = pitchshift(&s->so2.shift[2 * c + 0], 1, 35+ modulation, - lop(&s->so2.lag[0], -12, 1e-4), feedback[c]); + lop(&s->so2.lag[0], -12, 1e-3), feedback[c]); sample up = pitchshift(&s->so2.shift[2 * c + 1], 1, 35-modulation, - lop(&s->so2.lag[1], -12, 1e-4), down); + lop(&s->so2.lag[1], -12, 1e-3), down); feedback[c] = sin(12 * feedback[c] - down - up); }
diff @ 2019-02-22 22:49:45 +0000 diff --git a/client/go.c b/client/go.c index 94b7c0bc9..d11976a59 100644 --- a/client/go.c +++ b/client/go.c @@ -96,9 +96,9 @@ go(S *s, int channels, const float *in, float *out) // pitchshift feedback for (int c = 0; c < 2; ++c) { sample down = pitchshift(&s->so2.shift[2 * c + 0], 1, 35+ modulation, - lop(&s->so2.lag[0], -12, 1e-3), feedback[c]); + lop(&s->so2.lag[0], -12, 1e-2), feedback[c]); sample up = pitchshift(&s->so2.shift[2 * c + 1], 1, 35-modulation, - lop(&s->so2.lag[1], -12, 1e-3), down); + lop(&s->so2.lag[1], -12, 1e-2), down); feedback[c] = sin(12 * feedback[c] - down - up); }
diff @ 2019-02-22 22:50:16 +0000 diff --git a/client/go.c b/client/go.c index d11976a59..66238ad9e 100644 --- a/client/go.c +++ b/client/go.c @@ -90,8 +90,8 @@ go(S *s, int channels, const float *in, float *out) sample p = phasor(&s->so2.phase, bpm/60/64); sample modulation = (2 + 1.5 * cos(twopi * p)) * cos(twopi * p); sample feedback[2] = - { delread4(&s->so2.echo[1].del, 1000/(bpm/60)/2/2/2/2/2/2/2 - modulation/16) - , delread4(&s->so2.echo[0].del, 1000/(bpm/60)/2/2/2/2/2/2/2 + modulation/16) + { delread4(&s->so2.echo[1].del, 1000/(bpm/60)/2/2/2/2/2 - modulation/16) + , delread4(&s->so2.echo[0].del, 1000/(bpm/60)/2/2/2/2/2 + modulation/16) }; // pitchshift feedback for (int c = 0; c < 2; ++c) {
diff @ 2019-02-22 22:50:52 +0000 diff --git a/client/go.c b/client/go.c index 66238ad9e..33eb39a74 100644 --- a/client/go.c +++ b/client/go.c @@ -90,8 +90,8 @@ go(S *s, int channels, const float *in, float *out) sample p = phasor(&s->so2.phase, bpm/60/64); sample modulation = (2 + 1.5 * cos(twopi * p)) * cos(twopi * p); sample feedback[2] = - { delread4(&s->so2.echo[1].del, 1000/(bpm/60)/2/2/2/2/2 - modulation/16) - , delread4(&s->so2.echo[0].del, 1000/(bpm/60)/2/2/2/2/2 + modulation/16) + { delread4(&s->so2.echo[1].del, 1000/(bpm/60) - modulation/16) + , delread4(&s->so2.echo[0].del, 1000/(bpm/60) + modulation/16) }; // pitchshift feedback for (int c = 0; c < 2; ++c) {
diff @ 2019-02-22 22:51:32 +0000 diff --git a/client/go.c b/client/go.c index 33eb39a74..50d9e3912 100644 --- a/client/go.c +++ b/client/go.c @@ -114,7 +114,7 @@ go(S *s, int channels, const float *in, float *out) band[c] = biquad(bandpass(&s->multiband[o][c], 20 * pow(2, o), flatq), input[c]); } compress(band, &s->multicomp[o], 5, 10, 25, 48, band); - sample g = 10 / (o + 1); + sample g = 1; gsum += g; output[0] += band[0] * g; output[1] += band[1] * g;
diff @ 2019-02-22 22:51:59 +0000 diff --git a/client/go.c b/client/go.c index 50d9e3912..ae0a5c51d 100644 --- a/client/go.c +++ b/client/go.c @@ -141,8 +141,8 @@ go(S *s, int channels, const float *in, float *out) s->edelay2.length = 4 * SR; sample p = phasor(&s->ephase, bpm / 60 / 8); sample t = twopi * p; - sample co = cos(5 * t); - sample si = sin(3 * t); + sample co = cos(t); + sample si = sin(t); sample ldelms = 60000 / bpm * (p < 0.75 ? 1./3 : 1./32); sample rdelms = 60000 / bpm * (p < 0.5 ? 1./3 : 1./48); ldelms = lop(&s->elop[0], ldelms, 2);
diff @ 2019-02-22 22:53:09 +0000 diff --git a/client/go.c b/client/go.c index ae0a5c51d..c04d70997 100644 --- a/client/go.c +++ b/client/go.c @@ -102,27 +102,7 @@ go(S *s, int channels, const float *in, float *out) feedback[c] = sin(12 * feedback[c] - down - up); } - // multiband compressor - sample input[2] = { feedback[0], feedback[1] }; - sample output[2] = { 0, 0 }; - sample gsum = 0; - for (int o = 0; o < OCTAVES; ++o) - { - sample band[2]; - for (int c = 0; c < 2; ++c) - { - band[c] = biquad(bandpass(&s->multiband[o][c], 20 * pow(2, o), flatq), input[c]); - } - compress(band, &s->multicomp[o], 5, 10, 25, 48, band); - sample g = 1; - gsum += g; - output[0] += band[0] * g; - output[1] += band[1] * g; - } - feedback[0] = output[0] / gsum * 2; - feedback[1] = output[1] / gsum * 2; - - // compress feedback + // compress feedback compress(so2, &s->so2.compress, 5, 10, 25, 48, feedback); sample gain = 1; so2[0] *= gain; @@ -150,8 +130,28 @@ go(S *s, int channels, const float *in, float *out) sample el = delread4(&s->edelay1, ldelms + co); sample er = delread4(&s->edelay2, rdelms + si); sample es[2] = { co * el + si * er, -si * el + co * er }; -//#define feedback es -//#undef feedback +#define feedback es +// multiband compressor + sample input[2] = { feedback[0], feedback[1] }; + sample output[2] = { 0, 0 }; + sample gsum = 0; + for (int o = 0; o < OCTAVES; ++o) + { + sample band[2]; + for (int c = 0; c < 2; ++c) + { + band[c] = biquad(bandpass(&s->multiband[o][c], 20 * pow(2, o), flatq), input[c]); + } + compress(band, &s->multicomp[o], 5, 10, 25, 48, band); + sample g = 1; + gsum += g; + output[0] += band[0] * g; + output[1] += band[1] * g; + } + feedback[0] = output[0] / gsum * 2; + feedback[1] = output[1] / gsum * 2; +#undef feedback + compress(es, &s->ecompress1, 5, 10, 25, 48, es); es[0] = mix(mixdown[0], es[0], mix(0.7, pow(wrap(8 * p), 0.25), 0)); es[1] = mix(mixdown[1], es[1], mix(0.7, pow(wrap(8 * p), 0.25), 0));
diff @ 2019-02-22 22:54:06 +0000 diff --git a/client/go.c b/client/go.c index c04d70997..5800f9e05 100644 --- a/client/go.c +++ b/client/go.c @@ -153,8 +153,8 @@ go(S *s, int channels, const float *in, float *out) #undef feedback compress(es, &s->ecompress1, 5, 10, 25, 48, es); - es[0] = mix(mixdown[0], es[0], mix(0.7, pow(wrap(8 * p), 0.25), 0)); - es[1] = mix(mixdown[1], es[1], mix(0.7, pow(wrap(8 * p), 0.25), 0)); + es[0] = mix(mixdown[0], es[0], mix(1, pow(wrap(8 * p), 0.25), 0)); + es[1] = mix(mixdown[1], es[1], mix(1, pow(wrap(8 * p), 0.25), 0)); compress(es, &s->ecompress2, 5, 10, 25, 48, es); delwrite(&s->edelay1, es[0]); delwrite(&s->edelay2, es[1]);
diff @ 2019-02-22 22:54:33 +0000 diff --git a/client/go.c b/client/go.c index 5800f9e05..3d6686465 100644 --- a/client/go.c +++ b/client/go.c @@ -135,7 +135,7 @@ go(S *s, int channels, const float *in, float *out) sample input[2] = { feedback[0], feedback[1] }; sample output[2] = { 0, 0 }; sample gsum = 0; - for (int o = 0; o < OCTAVES; ++o) + for (int o = 0; o < 0; ++o) { sample band[2]; for (int c = 0; c < 2; ++c)
diff @ 2019-02-22 22:54:42 +0000 diff --git a/client/go.c b/client/go.c index 3d6686465..f773c1b2c 100644 --- a/client/go.c +++ b/client/go.c @@ -134,7 +134,7 @@ go(S *s, int channels, const float *in, float *out) // multiband compressor sample input[2] = { feedback[0], feedback[1] }; sample output[2] = { 0, 0 }; - sample gsum = 0; + sample gsum = 1; for (int o = 0; o < 0; ++o) { sample band[2];
diff @ 2019-02-22 22:54:57 +0000 diff --git a/client/go.c b/client/go.c index f773c1b2c..572f27ed9 100644 --- a/client/go.c +++ b/client/go.c @@ -153,8 +153,8 @@ go(S *s, int channels, const float *in, float *out) #undef feedback compress(es, &s->ecompress1, 5, 10, 25, 48, es); - es[0] = mix(mixdown[0], es[0], mix(1, pow(wrap(8 * p), 0.25), 0)); - es[1] = mix(mixdown[1], es[1], mix(1, pow(wrap(8 * p), 0.25), 0)); + es[0] = mix(mixdown[0], es[0], mix(0.1, pow(wrap(8 * p), 0.25), 0)); + es[1] = mix(mixdown[1], es[1], mix(0.1, pow(wrap(8 * p), 0.25), 0)); compress(es, &s->ecompress2, 5, 10, 25, 48, es); delwrite(&s->edelay1, es[0]); delwrite(&s->edelay2, es[1]);
diff @ 2019-02-22 22:55:15 +0000 diff --git a/client/go.c b/client/go.c index 572f27ed9..f6d1a5823 100644 --- a/client/go.c +++ b/client/go.c @@ -78,7 +78,7 @@ go(S *s, int channels, const float *in, float *out) { if (s->reloaded) { - // memset(s, 0, sizeof(*s)); + memset(s, 0, sizeof(*s)); } sample mixdown[2] = { 0, 0 }; sample bpm = 100;
diff @ 2019-02-22 22:55:18 +0000 diff --git a/client/go.c b/client/go.c index f6d1a5823..90f1c98a9 100644 --- a/client/go.c +++ b/client/go.c @@ -78,7 +78,7 @@ go(S *s, int channels, const float *in, float *out) { if (s->reloaded) { - memset(s, 0, sizeof(*s)); + //memset(s, 0, sizeof(*s)); } sample mixdown[2] = { 0, 0 }; sample bpm = 100;
diff @ 2019-02-22 22:56:11 +0000 diff --git a/client/go.c b/client/go.c index 90f1c98a9..94b9002ee 100644 --- a/client/go.c +++ b/client/go.c @@ -99,7 +99,7 @@ go(S *s, int channels, const float *in, float *out) lop(&s->so2.lag[0], -12, 1e-2), feedback[c]); sample up = pitchshift(&s->so2.shift[2 * c + 1], 1, 35-modulation, lop(&s->so2.lag[1], -12, 1e-2), down); - feedback[c] = sin(12 * feedback[c] - down - up); + feedback[c] = sin(1 * feedback[c] - down - up); } // compress feedback
diff @ 2019-02-22 22:56:15 +0000 diff --git a/client/go.c b/client/go.c index 94b9002ee..3e756fe25 100644 --- a/client/go.c +++ b/client/go.c @@ -99,7 +99,7 @@ go(S *s, int channels, const float *in, float *out) lop(&s->so2.lag[0], -12, 1e-2), feedback[c]); sample up = pitchshift(&s->so2.shift[2 * c + 1], 1, 35-modulation, lop(&s->so2.lag[1], -12, 1e-2), down); - feedback[c] = sin(1 * feedback[c] - down - up); + feedback[c] = -sin(1 * feedback[c] - down - up); } // compress feedback
diff @ 2019-02-22 22:56:59 +0000 diff --git a/client/go.c b/client/go.c index 3e756fe25..f428db274 100644 --- a/client/go.c +++ b/client/go.c @@ -96,9 +96,9 @@ go(S *s, int channels, const float *in, float *out) // pitchshift feedback for (int c = 0; c < 2; ++c) { sample down = pitchshift(&s->so2.shift[2 * c + 0], 1, 35+ modulation, - lop(&s->so2.lag[0], -12, 1e-2), feedback[c]); + lop(&s->so2.lag[0], -12, 1e-3), feedback[c]); sample up = pitchshift(&s->so2.shift[2 * c + 1], 1, 35-modulation, - lop(&s->so2.lag[1], -12, 1e-2), down); + lop(&s->so2.lag[1], 12, 1e-3), down); feedback[c] = -sin(1 * feedback[c] - down - up); }
diff @ 2019-02-22 22:57:30 +0000 diff --git a/client/go.c b/client/go.c index f428db274..da86ed85d 100644 --- a/client/go.c +++ b/client/go.c @@ -109,7 +109,7 @@ go(S *s, int channels, const float *in, float *out) so2[1] *= gain; // write to delay lines for (int c = 0; c < 2; ++c) { - so2echo(&s->so2.echo[c], 3000, 30, tanh(so2[c] + in[c])); + so2echo(&s->so2.echo[c], 3000, 60, tanh(so2[c] + in[c])); } mixdown[0] += so2[0]; mixdown[1] += so2[1];
diff @ 2019-02-22 22:57:48 +0000 diff --git a/client/go.c b/client/go.c index da86ed85d..87f3df607 100644 --- a/client/go.c +++ b/client/go.c @@ -109,7 +109,7 @@ go(S *s, int channels, const float *in, float *out) so2[1] *= gain; // write to delay lines for (int c = 0; c < 2; ++c) { - so2echo(&s->so2.echo[c], 3000, 60, tanh(so2[c] + in[c])); + so2echo(&s->so2.echo[c], 3000, 120, tanh(so2[c] + in[c])); } mixdown[0] += so2[0]; mixdown[1] += so2[1];
diff @ 2019-02-22 22:58:01 +0000 diff --git a/client/go.c b/client/go.c index 87f3df607..a018c3661 100644 --- a/client/go.c +++ b/client/go.c @@ -109,7 +109,7 @@ go(S *s, int channels, const float *in, float *out) so2[1] *= gain; // write to delay lines for (int c = 0; c < 2; ++c) { - so2echo(&s->so2.echo[c], 3000, 120, tanh(so2[c] + in[c])); + so2echo(&s->so2.echo[c], 3000, 160, tanh(so2[c] + in[c])); } mixdown[0] += so2[0]; mixdown[1] += so2[1];
diff @ 2019-02-22 22:58:23 +0000 diff --git a/client/go.c b/client/go.c index a018c3661..38b34175e 100644 --- a/client/go.c +++ b/client/go.c @@ -99,7 +99,7 @@ go(S *s, int channels, const float *in, float *out) lop(&s->so2.lag[0], -12, 1e-3), feedback[c]); sample up = pitchshift(&s->so2.shift[2 * c + 1], 1, 35-modulation, lop(&s->so2.lag[1], 12, 1e-3), down); - feedback[c] = -sin(1 * feedback[c] - down - up); + feedback[c] = -sin(2 * feedback[c] - down - up); } // compress feedback
diff @ 2019-02-22 22:58:39 +0000 diff --git a/client/go.c b/client/go.c index 38b34175e..54de1b857 100644 --- a/client/go.c +++ b/client/go.c @@ -98,7 +98,7 @@ go(S *s, int channels, const float *in, float *out) sample down = pitchshift(&s->so2.shift[2 * c + 0], 1, 35+ modulation, lop(&s->so2.lag[0], -12, 1e-3), feedback[c]); sample up = pitchshift(&s->so2.shift[2 * c + 1], 1, 35-modulation, - lop(&s->so2.lag[1], 12, 1e-3), down); + lop(&s->so2.lag[1], 24, 1e-3), down); feedback[c] = -sin(2 * feedback[c] - down - up); }
diff @ 2019-02-22 22:58:42 +0000 diff --git a/client/go.c b/client/go.c index 54de1b857..008a009a0 100644 --- a/client/go.c +++ b/client/go.c @@ -98,7 +98,7 @@ go(S *s, int channels, const float *in, float *out) sample down = pitchshift(&s->so2.shift[2 * c + 0], 1, 35+ modulation, lop(&s->so2.lag[0], -12, 1e-3), feedback[c]); sample up = pitchshift(&s->so2.shift[2 * c + 1], 1, 35-modulation, - lop(&s->so2.lag[1], 24, 1e-3), down); + lop(&s->so2.lag[1], 24, 1e-4), down); feedback[c] = -sin(2 * feedback[c] - down - up); }
diff @ 2019-02-22 22:58:50 +0000 diff --git a/client/go.c b/client/go.c index 008a009a0..492feb664 100644 --- a/client/go.c +++ b/client/go.c @@ -96,7 +96,7 @@ go(S *s, int channels, const float *in, float *out) // pitchshift feedback for (int c = 0; c < 2; ++c) { sample down = pitchshift(&s->so2.shift[2 * c + 0], 1, 35+ modulation, - lop(&s->so2.lag[0], -12, 1e-3), feedback[c]); + lop(&s->so2.lag[0], -24, 1e-4), feedback[c]); sample up = pitchshift(&s->so2.shift[2 * c + 1], 1, 35-modulation, lop(&s->so2.lag[1], 24, 1e-4), down); feedback[c] = -sin(2 * feedback[c] - down - up);
diff @ 2019-02-22 22:59:10 +0000 diff --git a/client/go.c b/client/go.c index 492feb664..4fbd99a8c 100644 --- a/client/go.c +++ b/client/go.c @@ -96,9 +96,9 @@ go(S *s, int channels, const float *in, float *out) // pitchshift feedback for (int c = 0; c < 2; ++c) { sample down = pitchshift(&s->so2.shift[2 * c + 0], 1, 35+ modulation, - lop(&s->so2.lag[0], -24, 1e-4), feedback[c]); + lop(&s->so2.lag[0], -24, 1e-3), feedback[c]); sample up = pitchshift(&s->so2.shift[2 * c + 1], 1, 35-modulation, - lop(&s->so2.lag[1], 24, 1e-4), down); + lop(&s->so2.lag[1], 24, 1e-3), down); feedback[c] = -sin(2 * feedback[c] - down - up); }
diff @ 2019-02-22 22:59:55 +0000 diff --git a/client/go.c b/client/go.c index 4fbd99a8c..08defc008 100644 --- a/client/go.c +++ b/client/go.c @@ -81,7 +81,7 @@ go(S *s, int channels, const float *in, float *out) //memset(s, 0, sizeof(*s)); } sample mixdown[2] = { 0, 0 }; - sample bpm = 100; + sample bpm = 100 - lop(&s->lag, 100, 1e-4); // = 1 = sea organ 2 ================================================= sample so2[2] = { 0, 0 }; diff --git a/client/go.h b/client/go.h index 78f03b79c..3025cf66b 100644 --- a/client/go.h +++ b/client/go.h @@ -21,6 +21,6 @@ typedef struct LOP elop[2]; PHASOR ephase; // = append only data structure ====================================== - + LOP lag; } S; #endif
diff @ 2019-02-22 23:00:00 +0000 diff --git a/client/go.c b/client/go.c index 08defc008..6f0367fd4 100644 --- a/client/go.c +++ b/client/go.c @@ -81,7 +81,7 @@ go(S *s, int channels, const float *in, float *out) //memset(s, 0, sizeof(*s)); } sample mixdown[2] = { 0, 0 }; - sample bpm = 100 - lop(&s->lag, 100, 1e-4); + sample bpm = 100 + lop(&s->lag, 100, 1e-4); // = 1 = sea organ 2 ================================================= sample so2[2] = { 0, 0 };
diff @ 2019-02-22 23:00:13 +0000 diff --git a/client/go.c b/client/go.c index 6f0367fd4..5b327e2ce 100644 --- a/client/go.c +++ b/client/go.c @@ -81,7 +81,7 @@ go(S *s, int channels, const float *in, float *out) //memset(s, 0, sizeof(*s)); } sample mixdown[2] = { 0, 0 }; - sample bpm = 100 + lop(&s->lag, 100, 1e-4); + sample bpm = 100 + lop(&s->lag, 200, 1e-4); // = 1 = sea organ 2 ================================================= sample so2[2] = { 0, 0 };
diff @ 2019-02-22 23:00:27 +0000 diff --git a/client/go.c b/client/go.c index 5b327e2ce..1fc8f5fde 100644 --- a/client/go.c +++ b/client/go.c @@ -81,7 +81,7 @@ go(S *s, int channels, const float *in, float *out) //memset(s, 0, sizeof(*s)); } sample mixdown[2] = { 0, 0 }; - sample bpm = 100 + lop(&s->lag, 200, 1e-4); + sample bpm = 100 + lop(&s->lag, 400, 1e-4); // = 1 = sea organ 2 ================================================= sample so2[2] = { 0, 0 };
diff @ 2019-02-22 23:00:39 +0000 diff --git a/client/go.c b/client/go.c index 1fc8f5fde..dc162e815 100644 --- a/client/go.c +++ b/client/go.c @@ -81,7 +81,7 @@ go(S *s, int channels, const float *in, float *out) //memset(s, 0, sizeof(*s)); } sample mixdown[2] = { 0, 0 }; - sample bpm = 100 + lop(&s->lag, 400, 1e-4); + sample bpm = 100 + lop(&s->lag, 800, 1e-4); // = 1 = sea organ 2 ================================================= sample so2[2] = { 0, 0 };
diff @ 2019-02-22 23:00:42 +0000 diff --git a/client/go.c b/client/go.c index dc162e815..3f386f3d7 100644 --- a/client/go.c +++ b/client/go.c @@ -81,7 +81,7 @@ go(S *s, int channels, const float *in, float *out) //memset(s, 0, sizeof(*s)); } sample mixdown[2] = { 0, 0 }; - sample bpm = 100 + lop(&s->lag, 800, 1e-4); + sample bpm = 100 + lop(&s->lag, 800, 1e-3); // = 1 = sea organ 2 ================================================= sample so2[2] = { 0, 0 };
diff @ 2019-02-22 23:00:47 +0000 diff --git a/client/go.c b/client/go.c index 3f386f3d7..cc46acf14 100644 --- a/client/go.c +++ b/client/go.c @@ -81,7 +81,7 @@ go(S *s, int channels, const float *in, float *out) //memset(s, 0, sizeof(*s)); } sample mixdown[2] = { 0, 0 }; - sample bpm = 100 + lop(&s->lag, 800, 1e-3); + sample bpm = 100 + lop(&s->lag, 1000, 1e-3); // = 1 = sea organ 2 ================================================= sample so2[2] = { 0, 0 };
diff @ 2019-02-22 23:00:51 +0000 diff --git a/client/go.c b/client/go.c index cc46acf14..625c15c5b 100644 --- a/client/go.c +++ b/client/go.c @@ -81,7 +81,7 @@ go(S *s, int channels, const float *in, float *out) //memset(s, 0, sizeof(*s)); } sample mixdown[2] = { 0, 0 }; - sample bpm = 100 + lop(&s->lag, 1000, 1e-3); + sample bpm = 100 + lop(&s->lag, 2000, 1e-3); // = 1 = sea organ 2 ================================================= sample so2[2] = { 0, 0 };
diff @ 2019-02-22 23:00:54 +0000 diff --git a/client/go.c b/client/go.c index 625c15c5b..825680817 100644 --- a/client/go.c +++ b/client/go.c @@ -81,7 +81,7 @@ go(S *s, int channels, const float *in, float *out) //memset(s, 0, sizeof(*s)); } sample mixdown[2] = { 0, 0 }; - sample bpm = 100 + lop(&s->lag, 2000, 1e-3); + sample bpm = 100 + lop(&s->lag, 4000, 1e-3); // = 1 = sea organ 2 ================================================= sample so2[2] = { 0, 0 };
diff @ 2019-02-22 23:00:58 +0000 diff --git a/client/go.c b/client/go.c index 825680817..0e883b464 100644 --- a/client/go.c +++ b/client/go.c @@ -81,7 +81,7 @@ go(S *s, int channels, const float *in, float *out) //memset(s, 0, sizeof(*s)); } sample mixdown[2] = { 0, 0 }; - sample bpm = 100 + lop(&s->lag, 4000, 1e-3); + sample bpm = 100 + lop(&s->lag, 8000, 1e-3); // = 1 = sea organ 2 ================================================= sample so2[2] = { 0, 0 };
diff @ 2019-02-22 23:01:01 +0000 diff --git a/client/go.c b/client/go.c index 0e883b464..6739a4981 100644 --- a/client/go.c +++ b/client/go.c @@ -81,7 +81,7 @@ go(S *s, int channels, const float *in, float *out) //memset(s, 0, sizeof(*s)); } sample mixdown[2] = { 0, 0 }; - sample bpm = 100 + lop(&s->lag, 8000, 1e-3); + sample bpm = 100 + lop(&s->lag, 16000, 1e-3); // = 1 = sea organ 2 ================================================= sample so2[2] = { 0, 0 };
diff @ 2019-02-22 23:01:05 +0000 diff --git a/client/go.c b/client/go.c index 6739a4981..69b72a983 100644 --- a/client/go.c +++ b/client/go.c @@ -81,7 +81,7 @@ go(S *s, int channels, const float *in, float *out) //memset(s, 0, sizeof(*s)); } sample mixdown[2] = { 0, 0 }; - sample bpm = 100 + lop(&s->lag, 16000, 1e-3); + sample bpm = 100 + lop(&s->lag, 16000*2, 1e-3); // = 1 = sea organ 2 ================================================= sample so2[2] = { 0, 0 };
diff @ 2019-02-22 23:01:08 +0000 diff --git a/client/go.c b/client/go.c index 69b72a983..76227a1b2 100644 --- a/client/go.c +++ b/client/go.c @@ -81,7 +81,7 @@ go(S *s, int channels, const float *in, float *out) //memset(s, 0, sizeof(*s)); } sample mixdown[2] = { 0, 0 }; - sample bpm = 100 + lop(&s->lag, 16000*2, 1e-3); + sample bpm = 100 + lop(&s->lag, 16000*2*2, 1e-3); // = 1 = sea organ 2 ================================================= sample so2[2] = { 0, 0 };
diff @ 2019-02-22 23:01:10 +0000 diff --git a/client/go.c b/client/go.c index 76227a1b2..94af56c3e 100644 --- a/client/go.c +++ b/client/go.c @@ -81,7 +81,7 @@ go(S *s, int channels, const float *in, float *out) //memset(s, 0, sizeof(*s)); } sample mixdown[2] = { 0, 0 }; - sample bpm = 100 + lop(&s->lag, 16000*2*2, 1e-3); + sample bpm = 100 + lop(&s->lag, 16000*2*2*2, 1e-3); // = 1 = sea organ 2 ================================================= sample so2[2] = { 0, 0 };
diff @ 2019-02-22 23:01:12 +0000 diff --git a/client/go.c b/client/go.c index 94af56c3e..be2db829d 100644 --- a/client/go.c +++ b/client/go.c @@ -81,7 +81,7 @@ go(S *s, int channels, const float *in, float *out) //memset(s, 0, sizeof(*s)); } sample mixdown[2] = { 0, 0 }; - sample bpm = 100 + lop(&s->lag, 16000*2*2*2, 1e-3); + sample bpm = 100 + lop(&s->lag, 16000*2*2*2*2, 1e-3); // = 1 = sea organ 2 ================================================= sample so2[2] = { 0, 0 };
diff @ 2019-02-22 23:01:15 +0000 diff --git a/client/go.c b/client/go.c index be2db829d..ad6c7e5c9 100644 --- a/client/go.c +++ b/client/go.c @@ -81,7 +81,7 @@ go(S *s, int channels, const float *in, float *out) //memset(s, 0, sizeof(*s)); } sample mixdown[2] = { 0, 0 }; - sample bpm = 100 + lop(&s->lag, 16000*2*2*2*2, 1e-3); + sample bpm = 100 + lop(&s->lag, 16000*2*2*2*2*., 1e-3); // = 1 = sea organ 2 ================================================= sample so2[2] = { 0, 0 };
diff @ 2019-02-22 23:01:17 +0000 diff --git a/client/go.c b/client/go.c index ad6c7e5c9..b1f9390eb 100644 --- a/client/go.c +++ b/client/go.c @@ -81,7 +81,7 @@ go(S *s, int channels, const float *in, float *out) //memset(s, 0, sizeof(*s)); } sample mixdown[2] = { 0, 0 }; - sample bpm = 100 + lop(&s->lag, 16000*2*2*2*2*., 1e-3); + sample bpm = 100 + lop(&s->lag, 16000*2*2*2*2*2., 1e-3); // = 1 = sea organ 2 ================================================= sample so2[2] = { 0, 0 };
diff @ 2019-02-22 23:01:19 +0000 diff --git a/client/go.c b/client/go.c index b1f9390eb..a93936399 100644 --- a/client/go.c +++ b/client/go.c @@ -81,7 +81,7 @@ go(S *s, int channels, const float *in, float *out) //memset(s, 0, sizeof(*s)); } sample mixdown[2] = { 0, 0 }; - sample bpm = 100 + lop(&s->lag, 16000*2*2*2*2*2., 1e-3); + sample bpm = 100 + lop(&s->lag, 16000*2*2*2*2*2.*2, 1e-3); // = 1 = sea organ 2 ================================================= sample so2[2] = { 0, 0 };
diff @ 2019-02-22 23:01:27 +0000 diff --git a/client/go.c b/client/go.c index a93936399..86e428a8c 100644 --- a/client/go.c +++ b/client/go.c @@ -81,7 +81,7 @@ go(S *s, int channels, const float *in, float *out) //memset(s, 0, sizeof(*s)); } sample mixdown[2] = { 0, 0 }; - sample bpm = 100 + lop(&s->lag, 16000*2*2*2*2*2.*2, 1e-3); + sample bpm = 100 + lop(&s->lag, 16000*2*2*2*2*2.*2*2, 1e-3); // = 1 = sea organ 2 ================================================= sample so2[2] = { 0, 0 };
diff @ 2019-02-22 23:01:35 +0000 diff --git a/client/go.c b/client/go.c index 86e428a8c..d5ed24e4b 100644 --- a/client/go.c +++ b/client/go.c @@ -81,7 +81,7 @@ go(S *s, int channels, const float *in, float *out) //memset(s, 0, sizeof(*s)); } sample mixdown[2] = { 0, 0 }; - sample bpm = 100 + lop(&s->lag, 16000*2*2*2*2*2.*2*2, 1e-3); + sample bpm = 100 + lop(&s->lag, 16000*2*2*2*2*2.*2*2*2, 1e-3); // = 1 = sea organ 2 ================================================= sample so2[2] = { 0, 0 };
diff @ 2019-02-22 23:01:39 +0000 diff --git a/client/go.c b/client/go.c index d5ed24e4b..cb338bdb9 100644 --- a/client/go.c +++ b/client/go.c @@ -81,7 +81,7 @@ go(S *s, int channels, const float *in, float *out) //memset(s, 0, sizeof(*s)); } sample mixdown[2] = { 0, 0 }; - sample bpm = 100 + lop(&s->lag, 16000*2*2*2*2*2.*2*2*2, 1e-3); + sample bpm = 100 + lop(&s->lag, 16000*2*2*2*2*2.*2*2*2*2, 1e-3); // = 1 = sea organ 2 ================================================= sample so2[2] = { 0, 0 };
diff @ 2019-02-22 23:01:43 +0000 diff --git a/client/go.c b/client/go.c index cb338bdb9..8713be989 100644 --- a/client/go.c +++ b/client/go.c @@ -81,7 +81,7 @@ go(S *s, int channels, const float *in, float *out) //memset(s, 0, sizeof(*s)); } sample mixdown[2] = { 0, 0 }; - sample bpm = 100 + lop(&s->lag, 16000*2*2*2*2*2.*2*2*2*2, 1e-3); + sample bpm = 100 + lop(&s->lag, 16000*2*2*2*2*2.*2*2*2*2*2, 1e-3); // = 1 = sea organ 2 ================================================= sample so2[2] = { 0, 0 };
diff @ 2019-02-22 23:01:51 +0000 diff --git a/client/go.c b/client/go.c index 8713be989..950093aca 100644 --- a/client/go.c +++ b/client/go.c @@ -165,7 +165,7 @@ go(S *s, int channels, const float *in, float *out) // = m = mixdown ===================================================== { compress(mixdown, &s->mixdown, 5, 10, 25, 48, mixdown); - sample volume = 1; + sample volume = 0; mixdown[0] *= volume; mixdown[1] *= volume; for (int c = 0; c < channels && c < 2; ++c)