session-2019-11-23-191709
a C audio live-coding skeleton
(audio starts 0:37)
diff @ 2019-11-23 19:18:20 +0000
diff --git a/client/go.c b/client/go.c
index 0cdda438e..8ec0a9107 100644
--- a/client/go.c
+++ b/client/go.c
@@ -133,7 +133,7 @@ int go(S *s, int channels, const float *in, float *out) {
///{{{ SEA ORGAN 2.2
{
- sample RESET = 1;
+ sample RESET = 0;
sample so2[2] = { 0, 0 };
// trigger impulse on reload
sample impulse[2] = { s->reloaded, s->reloaded };
diff @ 2019-11-23 19:18:35 +0000
diff --git a/client/go.c b/client/go.c
index 8ec0a9107..2e0094745 100644
--- a/client/go.c
+++ b/client/go.c
@@ -159,7 +159,7 @@ int 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,
+ so2echo(&s->so2.echo[c], 20, 1000,
tanh(so2[c] + RESET*impulse[c]));
}
// output
diff @ 2019-11-23 19:18:42 +0000
diff --git a/client/go.c b/client/go.c
index 2e0094745..5927c75ba 100644
--- a/client/go.c
+++ b/client/go.c
@@ -159,7 +159,7 @@ int 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,
+ so2echo(&s->so2.echo[c], 20, 1500,
tanh(so2[c] + RESET*impulse[c]));
}
// output
diff @ 2019-11-23 19:18:45 +0000
diff --git a/client/go.c b/client/go.c
index 5927c75ba..597dbd726 100644
--- a/client/go.c
+++ b/client/go.c
@@ -159,7 +159,7 @@ int 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, 1500,
+ so2echo(&s->so2.echo[c], 20, 2000,
tanh(so2[c] + RESET*impulse[c]));
}
// output
diff @ 2019-11-23 19:19:01 +0000
diff --git a/client/go.c b/client/go.c
index 597dbd726..263febadb 100644
--- a/client/go.c
+++ b/client/go.c
@@ -159,7 +159,7 @@ int 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,
+ so2echo(&s->so2.echo[c], 20, 3000,
tanh(so2[c] + RESET*impulse[c]));
}
// output
diff @ 2019-11-23 19:19:03 +0000
diff --git a/client/go.c b/client/go.c
index 263febadb..ac5f6b2a5 100644
--- a/client/go.c
+++ b/client/go.c
@@ -159,7 +159,7 @@ int 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, 3000,
+ so2echo(&s->so2.echo[c], 20, 4000,
tanh(so2[c] + RESET*impulse[c]));
}
// output
diff @ 2019-11-23 19:19:11 +0000
diff --git a/client/go.c b/client/go.c
index ac5f6b2a5..ae504949f 100644
--- a/client/go.c
+++ b/client/go.c
@@ -139,7 +139,7 @@ int go(S *s, int channels, const float *in, float *out) {
sample impulse[2] = { s->reloaded, s->reloaded };
// modulate delay times
p = phasor(&s->so2.phase, bpm/60 / 16);
- sample modulation = 0 * cos(twopi * p);
+ sample modulation = 0.0001 * cos(twopi * p);
sample feedback[2] =
{ delread4(&s->so2.echo[1].del, 2 * ms4 - modulation)
, delread4(&s->so2.echo[0].del, 2 * ms4 + modulation)
diff @ 2019-11-23 19:19:22 +0000
diff --git a/client/go.c b/client/go.c
index ae504949f..44ef868e6 100644
--- a/client/go.c
+++ b/client/go.c
@@ -139,7 +139,7 @@ int go(S *s, int channels, const float *in, float *out) {
sample impulse[2] = { s->reloaded, s->reloaded };
// modulate delay times
p = phasor(&s->so2.phase, bpm/60 / 16);
- sample modulation = 0.0001 * cos(twopi * p);
+ sample modulation = 0.001 * cos(twopi * p);
sample feedback[2] =
{ delread4(&s->so2.echo[1].del, 2 * ms4 - modulation)
, delread4(&s->so2.echo[0].del, 2 * ms4 + modulation)
diff @ 2019-11-23 19:19:31 +0000
diff --git a/client/go.c b/client/go.c
index 44ef868e6..d8edb857a 100644
--- a/client/go.c
+++ b/client/go.c
@@ -139,7 +139,7 @@ int go(S *s, int channels, const float *in, float *out) {
sample impulse[2] = { s->reloaded, s->reloaded };
// modulate delay times
p = phasor(&s->so2.phase, bpm/60 / 16);
- sample modulation = 0.001 * cos(twopi * p);
+ sample modulation = 0.01 * cos(twopi * p);
sample feedback[2] =
{ delread4(&s->so2.echo[1].del, 2 * ms4 - modulation)
, delread4(&s->so2.echo[0].del, 2 * ms4 + modulation)
diff @ 2019-11-23 19:19:37 +0000
diff --git a/client/go.c b/client/go.c
index d8edb857a..e5d246e83 100644
--- a/client/go.c
+++ b/client/go.c
@@ -139,7 +139,7 @@ int go(S *s, int channels, const float *in, float *out) {
sample impulse[2] = { s->reloaded, s->reloaded };
// modulate delay times
p = phasor(&s->so2.phase, bpm/60 / 16);
- sample modulation = 0.01 * cos(twopi * p);
+ sample modulation = 0.1 * cos(twopi * p);
sample feedback[2] =
{ delread4(&s->so2.echo[1].del, 2 * ms4 - modulation)
, delread4(&s->so2.echo[0].del, 2 * ms4 + modulation)
diff @ 2019-11-23 19:19:58 +0000
diff --git a/client/go.c b/client/go.c
index e5d246e83..25cb4ae74 100644
--- a/client/go.c
+++ b/client/go.c
@@ -139,10 +139,11 @@ int go(S *s, int channels, const float *in, float *out) {
sample impulse[2] = { s->reloaded, s->reloaded };
// modulate delay times
p = phasor(&s->so2.phase, bpm/60 / 16);
- sample modulation = 0.1 * cos(twopi * p);
+ sample modulation1 = 0.1 * cos(twopi * p);
+ sample modulation2 = 0.1 * sin(twopi * p);
sample feedback[2] =
- { delread4(&s->so2.echo[1].del, 2 * ms4 - modulation)
- , delread4(&s->so2.echo[0].del, 2 * ms4 + modulation)
+ { delread4(&s->so2.echo[1].del, 2 * ms4 - modulation1)
+ , delread4(&s->so2.echo[0].del, 2 * ms4 + modulation2)
};
// pitchshift feedback
for (int c = 0; c < 2; ++c) {
diff @ 2019-11-23 19:20:07 +0000
diff --git a/client/go.c b/client/go.c
index 25cb4ae74..590994419 100644
--- a/client/go.c
+++ b/client/go.c
@@ -139,8 +139,8 @@ int go(S *s, int channels, const float *in, float *out) {
sample impulse[2] = { s->reloaded, s->reloaded };
// modulate delay times
p = phasor(&s->so2.phase, bpm/60 / 16);
- sample modulation1 = 0.1 * cos(twopi * p);
- sample modulation2 = 0.1 * sin(twopi * p);
+ sample modulation1 = 1 * cos(twopi * p);
+ sample modulation2 = 1 * sin(twopi * p);
sample feedback[2] =
{ delread4(&s->so2.echo[1].del, 2 * ms4 - modulation1)
, delread4(&s->so2.echo[0].del, 2 * ms4 + modulation2)
diff @ 2019-11-23 19:20:18 +0000
diff --git a/client/go.c b/client/go.c
index 590994419..a0e9a74a7 100644
--- a/client/go.c
+++ b/client/go.c
@@ -139,8 +139,8 @@ int go(S *s, int channels, const float *in, float *out) {
sample impulse[2] = { s->reloaded, s->reloaded };
// modulate delay times
p = phasor(&s->so2.phase, bpm/60 / 16);
- sample modulation1 = 1 * cos(twopi * p);
- sample modulation2 = 1 * sin(twopi * p);
+ sample modulation1 = 10 * cos(twopi * p);
+ sample modulation2 = 10 * sin(twopi * p);
sample feedback[2] =
{ delread4(&s->so2.echo[1].del, 2 * ms4 - modulation1)
, delread4(&s->so2.echo[0].del, 2 * ms4 + modulation2)
diff @ 2019-11-23 19:20:40 +0000
diff --git a/client/go.c b/client/go.c
index a0e9a74a7..d95113a9e 100644
--- a/client/go.c
+++ b/client/go.c
@@ -148,9 +148,9 @@ int 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[c][0], 1, ms4,
- lop(&s->so2.lag[c][0], -12, 1e-3), feedback[c]);
+ lop(&s->so2.lag[c][0], -12, 1e-2), feedback[c]);
sample up = pitchshift(&s->so2.shift[c][1], 1, ms4,
- lop(&s->so2.lag[c][1], 19, 1e-3), down);
+ lop(&s->so2.lag[c][1], 19, 1e-2), down);
feedback[c] = 2 * feedback[c] - down - up;
}
// compress feedback
diff @ 2019-11-23 19:20:59 +0000
diff --git a/client/go.c b/client/go.c
index d95113a9e..c42fe05ef 100644
--- a/client/go.c
+++ b/client/go.c
@@ -147,9 +147,9 @@ int 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[c][0], 1, ms4,
+ sample down = pitchshift(&s->so2.shift[c][0], 1, ms4/2,
lop(&s->so2.lag[c][0], -12, 1e-2), feedback[c]);
- sample up = pitchshift(&s->so2.shift[c][1], 1, ms4,
+ sample up = pitchshift(&s->so2.shift[c][1], 1, ms4/2,
lop(&s->so2.lag[c][1], 19, 1e-2), down);
feedback[c] = 2 * feedback[c] - down - up;
}
diff @ 2019-11-23 19:21:11 +0000
diff --git a/client/go.c b/client/go.c
index c42fe05ef..0c007d01e 100644
--- a/client/go.c
+++ b/client/go.c
@@ -147,9 +147,9 @@ int 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[c][0], 1, ms4/2,
+ sample down = pitchshift(&s->so2.shift[c][0], 1, ms4/4,
lop(&s->so2.lag[c][0], -12, 1e-2), feedback[c]);
- sample up = pitchshift(&s->so2.shift[c][1], 1, ms4/2,
+ sample up = pitchshift(&s->so2.shift[c][1], 1, ms4/4,
lop(&s->so2.lag[c][1], 19, 1e-2), down);
feedback[c] = 2 * feedback[c] - down - up;
}
diff @ 2019-11-23 19:21:21 +0000
diff --git a/client/go.c b/client/go.c
index 0c007d01e..e9300ff7b 100644
--- a/client/go.c
+++ b/client/go.c
@@ -150,7 +150,7 @@ int go(S *s, int channels, const float *in, float *out) {
sample down = pitchshift(&s->so2.shift[c][0], 1, ms4/4,
lop(&s->so2.lag[c][0], -12, 1e-2), feedback[c]);
sample up = pitchshift(&s->so2.shift[c][1], 1, ms4/4,
- lop(&s->so2.lag[c][1], 19, 1e-2), down);
+ lop(&s->so2.lag[c][1], 12, 1e-2), down);
feedback[c] = 2 * feedback[c] - down - up;
}
// compress feedback
diff @ 2019-11-23 19:21:37 +0000
diff --git a/client/go.c b/client/go.c
index e9300ff7b..0edf68d4c 100644
--- a/client/go.c
+++ b/client/go.c
@@ -160,7 +160,7 @@ int 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, 4000,
+ so2echo(&s->so2.echo[c], 30, 4000,
tanh(so2[c] + RESET*impulse[c]));
}
// output
diff @ 2019-11-23 19:21:42 +0000
diff --git a/client/go.c b/client/go.c
index 0edf68d4c..8788e7516 100644
--- a/client/go.c
+++ b/client/go.c
@@ -160,7 +160,7 @@ int 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], 30, 4000,
+ so2echo(&s->so2.echo[c], 40, 4000,
tanh(so2[c] + RESET*impulse[c]));
}
// output
diff @ 2019-11-23 19:21:52 +0000
diff --git a/client/go.c b/client/go.c
index 8788e7516..839245a4e 100644
--- a/client/go.c
+++ b/client/go.c
@@ -151,7 +151,7 @@ int go(S *s, int channels, const float *in, float *out) {
lop(&s->so2.lag[c][0], -12, 1e-2), feedback[c]);
sample up = pitchshift(&s->so2.shift[c][1], 1, ms4/4,
lop(&s->so2.lag[c][1], 12, 1e-2), down);
- feedback[c] = 2 * feedback[c] - down - up;
+ feedback[c] = sin(2 * feedback[c] - down - up);
}
// compress feedback
compress(so2, &s->so2.compress, 5, 10, 25, 48, feedback);
diff @ 2019-11-23 19:22:00 +0000
diff --git a/client/go.c b/client/go.c
index 839245a4e..8c98e504e 100644
--- a/client/go.c
+++ b/client/go.c
@@ -151,7 +151,7 @@ int go(S *s, int channels, const float *in, float *out) {
lop(&s->so2.lag[c][0], -12, 1e-2), feedback[c]);
sample up = pitchshift(&s->so2.shift[c][1], 1, ms4/4,
lop(&s->so2.lag[c][1], 12, 1e-2), down);
- feedback[c] = sin(2 * feedback[c] - down - up);
+ feedback[c] = sin(pi * (2 * feedback[c] - down - up));
}
// compress feedback
compress(so2, &s->so2.compress, 5, 10, 25, 48, feedback);
diff @ 2019-11-23 19:22:05 +0000
diff --git a/client/go.c b/client/go.c
index 8c98e504e..ab43bfe57 100644
--- a/client/go.c
+++ b/client/go.c
@@ -151,7 +151,7 @@ int go(S *s, int channels, const float *in, float *out) {
lop(&s->so2.lag[c][0], -12, 1e-2), feedback[c]);
sample up = pitchshift(&s->so2.shift[c][1], 1, ms4/4,
lop(&s->so2.lag[c][1], 12, 1e-2), down);
- feedback[c] = sin(pi * (2 * feedback[c] - down - up));
+ feedback[c] = sin(pi/2 * (2 * feedback[c] - down - up));
}
// compress feedback
compress(so2, &s->so2.compress, 5, 10, 25, 48, feedback);
diff @ 2019-11-23 19:22:19 +0000
diff --git a/client/go.c b/client/go.c
index ab43bfe57..89e2638dd 100644
--- a/client/go.c
+++ b/client/go.c
@@ -147,9 +147,9 @@ int 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[c][0], 1, ms4/4,
+ sample down = pitchshift(&s->so2.shift[c][0], 1, ms4/8,
lop(&s->so2.lag[c][0], -12, 1e-2), feedback[c]);
- sample up = pitchshift(&s->so2.shift[c][1], 1, ms4/4,
+ sample up = pitchshift(&s->so2.shift[c][1], 1, ms4/8,
lop(&s->so2.lag[c][1], 12, 1e-2), down);
feedback[c] = sin(pi/2 * (2 * feedback[c] - down - up));
}
diff @ 2019-11-23 19:22:32 +0000
diff --git a/client/go.c b/client/go.c
index 89e2638dd..cdb4214cf 100644
--- a/client/go.c
+++ b/client/go.c
@@ -139,8 +139,8 @@ int go(S *s, int channels, const float *in, float *out) {
sample impulse[2] = { s->reloaded, s->reloaded };
// modulate delay times
p = phasor(&s->so2.phase, bpm/60 / 16);
- sample modulation1 = 10 * cos(twopi * p);
- sample modulation2 = 10 * sin(twopi * p);
+ sample modulation1 = 1 * cos(twopi * p);
+ sample modulation2 = 1 * sin(twopi * p);
sample feedback[2] =
{ delread4(&s->so2.echo[1].del, 2 * ms4 - modulation1)
, delread4(&s->so2.echo[0].del, 2 * ms4 + modulation2)
diff @ 2019-11-23 19:22:43 +0000
diff --git a/client/go.c b/client/go.c
index cdb4214cf..77e6e316c 100644
--- a/client/go.c
+++ b/client/go.c
@@ -142,8 +142,8 @@ int go(S *s, int channels, const float *in, float *out) {
sample modulation1 = 1 * cos(twopi * p);
sample modulation2 = 1 * sin(twopi * p);
sample feedback[2] =
- { delread4(&s->so2.echo[1].del, 2 * ms4 - modulation1)
- , delread4(&s->so2.echo[0].del, 2 * ms4 + modulation2)
+ { delread4(&s->so2.echo[1].del, 2 * ms4/4 - modulation1)
+ , delread4(&s->so2.echo[0].del, 2 * ms4/4 + modulation2)
};
// pitchshift feedback
for (int c = 0; c < 2; ++c) {
diff @ 2019-11-23 19:22:55 +0000
diff --git a/client/go.c b/client/go.c
index 77e6e316c..4c89b2cfc 100644
--- a/client/go.c
+++ b/client/go.c
@@ -142,8 +142,8 @@ int go(S *s, int channels, const float *in, float *out) {
sample modulation1 = 1 * cos(twopi * p);
sample modulation2 = 1 * sin(twopi * p);
sample feedback[2] =
- { delread4(&s->so2.echo[1].del, 2 * ms4/4 - modulation1)
- , delread4(&s->so2.echo[0].del, 2 * ms4/4 + modulation2)
+ { delread4(&s->so2.echo[1].del, ms4/4 - modulation1)
+ , delread4(&s->so2.echo[0].del, ms4/4 + modulation2)
};
// pitchshift feedback
for (int c = 0; c < 2; ++c) {
diff @ 2019-11-23 19:23:16 +0000
diff --git a/client/go.c b/client/go.c
index 4c89b2cfc..2666fd995 100644
--- a/client/go.c
+++ b/client/go.c
@@ -142,8 +142,8 @@ int go(S *s, int channels, const float *in, float *out) {
sample modulation1 = 1 * cos(twopi * p);
sample modulation2 = 1 * sin(twopi * p);
sample feedback[2] =
- { delread4(&s->so2.echo[1].del, ms4/4 - modulation1)
- , delread4(&s->so2.echo[0].del, ms4/4 + modulation2)
+ { delread4(&s->so2.echo[1].del, ms4/8 - modulation1)
+ , delread4(&s->so2.echo[0].del, ms4/8 + modulation2)
};
// pitchshift feedback
for (int c = 0; c < 2; ++c) {
diff @ 2019-11-23 19:23:31 +0000
diff --git a/client/go.c b/client/go.c
index 2666fd995..9dd0ceebe 100644
--- a/client/go.c
+++ b/client/go.c
@@ -148,9 +148,9 @@ int 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[c][0], 1, ms4/8,
- lop(&s->so2.lag[c][0], -12, 1e-2), feedback[c]);
+ lop(&s->so2.lag[c][0], -19, 1e-3), feedback[c]);
sample up = pitchshift(&s->so2.shift[c][1], 1, ms4/8,
- lop(&s->so2.lag[c][1], 12, 1e-2), down);
+ lop(&s->so2.lag[c][1], 12, 1e-3), down);
feedback[c] = sin(pi/2 * (2 * feedback[c] - down - up));
}
// compress feedback
diff @ 2019-11-23 19:23:43 +0000
diff --git a/client/go.c b/client/go.c
index 9dd0ceebe..142ad5a59 100644
--- a/client/go.c
+++ b/client/go.c
@@ -150,7 +150,7 @@ int go(S *s, int channels, const float *in, float *out) {
sample down = pitchshift(&s->so2.shift[c][0], 1, ms4/8,
lop(&s->so2.lag[c][0], -19, 1e-3), feedback[c]);
sample up = pitchshift(&s->so2.shift[c][1], 1, ms4/8,
- lop(&s->so2.lag[c][1], 12, 1e-3), down);
+ lop(&s->so2.lag[c][1], 19, 1e-3), down);
feedback[c] = sin(pi/2 * (2 * feedback[c] - down - up));
}
// compress feedback
diff @ 2019-11-23 19:23:53 +0000
diff --git a/client/go.c b/client/go.c
index 142ad5a59..b65f39e3a 100644
--- a/client/go.c
+++ b/client/go.c
@@ -160,7 +160,7 @@ int 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], 40, 4000,
+ so2echo(&s->so2.echo[c], 40, 8000,
tanh(so2[c] + RESET*impulse[c]));
}
// output
diff @ 2019-11-23 19:23:58 +0000
diff --git a/client/go.c b/client/go.c
index b65f39e3a..aeb238aae 100644
--- a/client/go.c
+++ b/client/go.c
@@ -160,7 +160,7 @@ int 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], 40, 8000,
+ so2echo(&s->so2.echo[c], 80, 8000,
tanh(so2[c] + RESET*impulse[c]));
}
// output
diff @ 2019-11-23 19:24:22 +0000
diff --git a/client/go.c b/client/go.c
index aeb238aae..bed373aa8 100644
--- a/client/go.c
+++ b/client/go.c
@@ -160,7 +160,7 @@ int 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], 80, 8000,
+ so2echo(&s->so2.echo[c], 80, 4000,
tanh(so2[c] + RESET*impulse[c]));
}
// output
diff @ 2019-11-23 19:24:30 +0000
diff --git a/client/go.c b/client/go.c
index bed373aa8..698ed47ea 100644
--- a/client/go.c
+++ b/client/go.c
@@ -160,7 +160,7 @@ int 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], 80, 4000,
+ so2echo(&s->so2.echo[c], 80, 2000,
tanh(so2[c] + RESET*impulse[c]));
}
// output
diff @ 2019-11-23 19:24:33 +0000
diff --git a/client/go.c b/client/go.c
index 698ed47ea..11ddcec84 100644
--- a/client/go.c
+++ b/client/go.c
@@ -160,7 +160,7 @@ int 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], 80, 2000,
+ so2echo(&s->so2.echo[c], 80, 1000,
tanh(so2[c] + RESET*impulse[c]));
}
// output
diff @ 2019-11-23 19:24:35 +0000
diff --git a/client/go.c b/client/go.c
index 11ddcec84..3ec71db79 100644
--- a/client/go.c
+++ b/client/go.c
@@ -160,7 +160,7 @@ int 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], 80, 1000,
+ so2echo(&s->so2.echo[c], 80, 800,
tanh(so2[c] + RESET*impulse[c]));
}
// output
diff @ 2019-11-23 19:24:50 +0000
diff @ 2019-11-23 19:25:02 +0000
diff --git a/client/go.c b/client/go.c
index a2c4ddcb7..610e98018 100644
--- a/client/go.c
+++ b/client/go.c
@@ -200,7 +200,7 @@ int 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], 80, 800,
+ so2echo(&s->so2.echo[c], 160, 800,
tanh(so2[c] + RESET*impulse[c]));
}
// output
diff @ 2019-11-23 19:25:07 +0000
diff --git a/client/go.c b/client/go.c
index 610e98018..3adfb11fb 100644
--- a/client/go.c
+++ b/client/go.c
@@ -200,7 +200,7 @@ int 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], 160, 800,
+ so2echo(&s->so2.echo[c], 200, 800,
tanh(so2[c] + RESET*impulse[c]));
}
// output
diff @ 2019-11-23 19:25:09 +0000
diff --git a/client/go.c b/client/go.c
index 3adfb11fb..780428d83 100644
--- a/client/go.c
+++ b/client/go.c
@@ -200,7 +200,7 @@ int 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], 200, 800,
+ so2echo(&s->so2.echo[c], 400, 800,
tanh(so2[c] + RESET*impulse[c]));
}
// output
diff @ 2019-11-23 19:25:14 +0000
diff --git a/client/go.c b/client/go.c
index 780428d83..4824e37de 100644
--- a/client/go.c
+++ b/client/go.c
@@ -200,7 +200,7 @@ int 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], 400, 800,
+ so2echo(&s->so2.echo[c], 400, 400,
tanh(so2[c] + RESET*impulse[c]));
}
// output
diff @ 2019-11-23 19:25:17 +0000
diff --git a/client/go.c b/client/go.c
index 4824e37de..4ba7c515b 100644
--- a/client/go.c
+++ b/client/go.c
@@ -195,7 +195,7 @@ int go(S *s, int channels, const float *in, float *out) {
}
// compress feedback
compress(so2, &s->so2.compress, 5, 10, 25, 48, feedback);
- sample gain = 1;
+ sample gain = 0.1;
so2[0] *= gain;
so2[1] *= gain;
// write to delay lines
diff @ 2019-11-23 19:25:42 +0000
diff --git a/client/go.c b/client/go.c
index 4ba7c515b..93cc0e5f4 100644
--- a/client/go.c
+++ b/client/go.c
@@ -326,7 +326,7 @@ int go(S *s, int channels, const float *in, float *out) {
// kick
sample k = (1 - wrap(4 * q)) * (1 - wrap((6 <= b && b < 9.5 ? 12 : 11 <= b ? 8 : 16) * q));
k *= k;
- k *= 12 * (b < 4 || (6 <= b && b < 9.5) || (10 <= b && b <= 12));
+ k *= 10 * (b < 4 || (6 <= b && b < 9.5) || (10 <= b && b <= 12));
k *= twopi;
k = sin(pi * sin(k));
mixdown[0] += k;
diff @ 2019-11-23 19:25:47 +0000
diff --git a/client/go.c b/client/go.c
index 93cc0e5f4..4ba7c515b 100644
--- a/client/go.c
+++ b/client/go.c
@@ -326,7 +326,7 @@ int go(S *s, int channels, const float *in, float *out) {
// kick
sample k = (1 - wrap(4 * q)) * (1 - wrap((6 <= b && b < 9.5 ? 12 : 11 <= b ? 8 : 16) * q));
k *= k;
- k *= 10 * (b < 4 || (6 <= b && b < 9.5) || (10 <= b && b <= 12));
+ k *= 12 * (b < 4 || (6 <= b && b < 9.5) || (10 <= b && b <= 12));
k *= twopi;
k = sin(pi * sin(k));
mixdown[0] += k;
diff @ 2019-11-23 19:25:51 +0000
diff --git a/client/go.c b/client/go.c
index 4ba7c515b..58b19a5b2 100644
--- a/client/go.c
+++ b/client/go.c
@@ -326,7 +326,7 @@ int go(S *s, int channels, const float *in, float *out) {
// kick
sample k = (1 - wrap(4 * q)) * (1 - wrap((6 <= b && b < 9.5 ? 12 : 11 <= b ? 8 : 16) * q));
k *= k;
- k *= 12 * (b < 4 || (6 <= b && b < 9.5) || (10 <= b && b <= 12));
+ k *= 8 * (b < 4 || (6 <= b && b < 9.5) || (10 <= b && b <= 12));
k *= twopi;
k = sin(pi * sin(k));
mixdown[0] += k;
diff @ 2019-11-23 19:25:54 +0000
diff --git a/client/go.c b/client/go.c
index 58b19a5b2..4ba7c515b 100644
--- a/client/go.c
+++ b/client/go.c
@@ -326,7 +326,7 @@ int go(S *s, int channels, const float *in, float *out) {
// kick
sample k = (1 - wrap(4 * q)) * (1 - wrap((6 <= b && b < 9.5 ? 12 : 11 <= b ? 8 : 16) * q));
k *= k;
- k *= 8 * (b < 4 || (6 <= b && b < 9.5) || (10 <= b && b <= 12));
+ k *= 12 * (b < 4 || (6 <= b && b < 9.5) || (10 <= b && b <= 12));
k *= twopi;
k = sin(pi * sin(k));
mixdown[0] += k;
diff @ 2019-11-23 19:26:06 +0000
diff --git a/client/go.c b/client/go.c
index 4ba7c515b..1f0a260af 100644
--- a/client/go.c
+++ b/client/go.c
@@ -326,6 +326,7 @@ int go(S *s, int channels, const float *in, float *out) {
// kick
sample k = (1 - wrap(4 * q)) * (1 - wrap((6 <= b && b < 9.5 ? 12 : 11 <= b ? 8 : 16) * q));
k *= k;
+ k *= k;
k *= 12 * (b < 4 || (6 <= b && b < 9.5) || (10 <= b && b <= 12));
k *= twopi;
k = sin(pi * sin(k));
diff @ 2019-11-23 19:26:10 +0000
diff --git a/client/go.c b/client/go.c
index 1f0a260af..4ba7c515b 100644
--- a/client/go.c
+++ b/client/go.c
@@ -326,7 +326,6 @@ int go(S *s, int channels, const float *in, float *out) {
// kick
sample k = (1 - wrap(4 * q)) * (1 - wrap((6 <= b && b < 9.5 ? 12 : 11 <= b ? 8 : 16) * q));
k *= k;
- k *= k;
k *= 12 * (b < 4 || (6 <= b && b < 9.5) || (10 <= b && b <= 12));
k *= twopi;
k = sin(pi * sin(k));
diff @ 2019-11-23 19:26:25 +0000
diff --git a/client/go.c b/client/go.c
index 4ba7c515b..0df471cd3 100644
--- a/client/go.c
+++ b/client/go.c
@@ -328,7 +328,7 @@ int go(S *s, int channels, const float *in, float *out) {
k *= k;
k *= 12 * (b < 4 || (6 <= b && b < 9.5) || (10 <= b && b <= 12));
k *= twopi;
- k = sin(pi * sin(k));
+ k = tanh(k / 30 * sin(pi * sin(k)));
mixdown[0] += k;
mixdown[1] += k;
// snare
diff @ 2019-11-23 19:26:30 +0000
diff --git a/client/go.c b/client/go.c
index 0df471cd3..a0a10007a 100644
--- a/client/go.c
+++ b/client/go.c
@@ -328,7 +328,7 @@ int go(S *s, int channels, const float *in, float *out) {
k *= k;
k *= 12 * (b < 4 || (6 <= b && b < 9.5) || (10 <= b && b <= 12));
k *= twopi;
- k = tanh(k / 30 * sin(pi * sin(k)));
+ k = tanh(2 *k / 30 * sin(pi * sin(k)));
mixdown[0] += k;
mixdown[1] += k;
// snare
diff @ 2019-11-23 19:26:31 +0000
diff --git a/client/go.c b/client/go.c
index a0a10007a..28c81fc9f 100644
--- a/client/go.c
+++ b/client/go.c
@@ -328,7 +328,7 @@ int go(S *s, int channels, const float *in, float *out) {
k *= k;
k *= 12 * (b < 4 || (6 <= b && b < 9.5) || (10 <= b && b <= 12));
k *= twopi;
- k = tanh(2 *k / 30 * sin(pi * sin(k)));
+ k = tanh(2 * k / 30 * sin(pi * sin(k)));
mixdown[0] += k;
mixdown[1] += k;
// snare
diff @ 2019-11-23 19:27:16 +0000
diff --git a/client/go.c b/client/go.c
index 28c81fc9f..49c5b92ee 100644
--- a/client/go.c
+++ b/client/go.c
@@ -128,6 +128,7 @@ typedef struct {
///[[[ MILITARY-INDUSTRIAL COMPLEX
MICPLX micplx;
+ BIQUAD kickres;
///]]] MILITARY-INDUSTRIAL COMPLEX
///[[[ BINARAY /5
@@ -329,6 +330,7 @@ int go(S *s, int channels, const float *in, float *out) {
k *= 12 * (b < 4 || (6 <= b && b < 9.5) || (10 <= b && b <= 12));
k *= twopi;
k = tanh(2 * k / 30 * sin(pi * sin(k)));
+ k = biquad(highpass(&s->kickres, 40, 10), k);
mixdown[0] += k;
mixdown[1] += k;
// snare
diff @ 2019-11-23 19:27:31 +0000
diff --git a/client/go.c b/client/go.c
index 49c5b92ee..6e0b3c2ce 100644
--- a/client/go.c
+++ b/client/go.c
@@ -234,7 +234,7 @@ int go(S *s, int channels, const float *in, float *out) {
int t = s->micplx.tick++;
int harmonic = 0;
harmonic += "4484686684484488"[((t + 0) / 2) % (1 + ((int)clamp(b, 0, 8) & 15))]-'4';
- harmonic += 4;
+ harmonic += 6;
double _Complex z = s->micplx.z;
double _Complex c = s->micplx.c;
z = z * z + c;
diff @ 2019-11-23 19:27:37 +0000
diff --git a/client/go.c b/client/go.c
index 6e0b3c2ce..63702679d 100644
--- a/client/go.c
+++ b/client/go.c
@@ -234,7 +234,7 @@ int go(S *s, int channels, const float *in, float *out) {
int t = s->micplx.tick++;
int harmonic = 0;
harmonic += "4484686684484488"[((t + 0) / 2) % (1 + ((int)clamp(b, 0, 8) & 15))]-'4';
- harmonic += 6;
+ harmonic += 2;
double _Complex z = s->micplx.z;
double _Complex c = s->micplx.c;
z = z * z + c;
diff @ 2019-11-23 19:27:44 +0000
diff --git a/client/go.c b/client/go.c
index 63702679d..d5b163d59 100644
--- a/client/go.c
+++ b/client/go.c
@@ -330,7 +330,7 @@ int go(S *s, int channels, const float *in, float *out) {
k *= 12 * (b < 4 || (6 <= b && b < 9.5) || (10 <= b && b <= 12));
k *= twopi;
k = tanh(2 * k / 30 * sin(pi * sin(k)));
- k = biquad(highpass(&s->kickres, 40, 10), k);
+ k = biquad(highpass(&s->kickres, 40, 20), k);
mixdown[0] += k;
mixdown[1] += k;
// snare
diff @ 2019-11-23 19:27:46 +0000
diff --git a/client/go.c b/client/go.c
index d5b163d59..2be48bf32 100644
--- a/client/go.c
+++ b/client/go.c
@@ -330,7 +330,7 @@ int go(S *s, int channels, const float *in, float *out) {
k *= 12 * (b < 4 || (6 <= b && b < 9.5) || (10 <= b && b <= 12));
k *= twopi;
k = tanh(2 * k / 30 * sin(pi * sin(k)));
- k = biquad(highpass(&s->kickres, 40, 20), k);
+ k = biquad(highpass(&s->kickres, 40, 40), k);
mixdown[0] += k;
mixdown[1] += k;
// snare
diff @ 2019-11-23 19:27:49 +0000
diff --git a/client/go.c b/client/go.c
index 2be48bf32..7923530ca 100644
--- a/client/go.c
+++ b/client/go.c
@@ -330,7 +330,7 @@ int go(S *s, int channels, const float *in, float *out) {
k *= 12 * (b < 4 || (6 <= b && b < 9.5) || (10 <= b && b <= 12));
k *= twopi;
k = tanh(2 * k / 30 * sin(pi * sin(k)));
- k = biquad(highpass(&s->kickres, 40, 40), k);
+ k = biquad(highpass(&s->kickres, 60, 40), k);
mixdown[0] += k;
mixdown[1] += k;
// snare
diff @ 2019-11-23 19:28:00 +0000
diff --git a/client/go.c b/client/go.c
index 7923530ca..1b14d25a3 100644
--- a/client/go.c
+++ b/client/go.c
@@ -331,6 +331,7 @@ int go(S *s, int channels, const float *in, float *out) {
k *= twopi;
k = tanh(2 * k / 30 * sin(pi * sin(k)));
k = biquad(highpass(&s->kickres, 60, 40), k);
+ k = sin(k);
mixdown[0] += k;
mixdown[1] += k;
// snare
diff @ 2019-11-23 19:28:16 +0000
diff @ 2019-11-23 19:28:31 +0000
diff --git a/client/go.c b/client/go.c
index 5c40de0db..ae26c4930 100644
--- a/client/go.c
+++ b/client/go.c
@@ -382,7 +382,7 @@ int go(S *s, int channels, const float *in, float *out) {
time = s->time++;
sample env[2];
sample freq[2];
- int N = 16;
+ int N = 14;
int n = (time / 5) & ((1 << N) - 1);
sample zeroes = clamp(count_trailing_zeroes(n), 0, N);
sample probability = pow(0.5, N - zeroes);
diff @ 2019-11-23 19:28:42 +0000
diff --git a/client/go.c b/client/go.c
index ae26c4930..a7f74c5ec 100644
--- a/client/go.c
+++ b/client/go.c
@@ -382,7 +382,7 @@ int go(S *s, int channels, const float *in, float *out) {
time = s->time++;
sample env[2];
sample freq[2];
- int N = 14;
+ int N = 12;
int n = (time / 5) & ((1 << N) - 1);
sample zeroes = clamp(count_trailing_zeroes(n), 0, N);
sample probability = pow(0.5, N - zeroes);
diff @ 2019-11-23 19:28:48 +0000
diff --git a/client/go.c b/client/go.c
index a7f74c5ec..1082e7812 100644
--- a/client/go.c
+++ b/client/go.c
@@ -386,7 +386,7 @@ int go(S *s, int channels, const float *in, float *out) {
int n = (time / 5) & ((1 << N) - 1);
sample zeroes = clamp(count_trailing_zeroes(n), 0, N);
sample probability = pow(0.5, N - zeroes);
- probability = (0.5 + 0 * (n >= 0xC001)) * probability - 0.5;
+ probability = (0.55 + 0 * (n >= 0xC001)) * probability - 0.5;
probability = clamp(probability, 0, 1);
sample uniform[2];
uniform[0] = rand() / (double) RAND_MAX;
diff @ 2019-11-23 19:28:52 +0000
diff --git a/client/go.c b/client/go.c
index 1082e7812..ea8700c65 100644
--- a/client/go.c
+++ b/client/go.c
@@ -386,7 +386,7 @@ int go(S *s, int channels, const float *in, float *out) {
int n = (time / 5) & ((1 << N) - 1);
sample zeroes = clamp(count_trailing_zeroes(n), 0, N);
sample probability = pow(0.5, N - zeroes);
- probability = (0.55 + 0 * (n >= 0xC001)) * probability - 0.5;
+ probability = (0.55 + 0.5 * (n >= 0xC001)) * probability - 0.5;
probability = clamp(probability, 0, 1);
sample uniform[2];
uniform[0] = rand() / (double) RAND_MAX;
diff @ 2019-11-23 19:29:01 +0000
diff --git a/client/go.c b/client/go.c
index ea8700c65..4b2a1b44c 100644
--- a/client/go.c
+++ b/client/go.c
@@ -403,10 +403,8 @@ int go(S *s, int channels, const float *in, float *out) {
freq[0] = lop(&s->bfreq[0], freq[0], 20);
freq[1] = samphold(&s->bsh[1], 10 * harmonic, 1 - trigger[1]);
freq[1] = lop(&s->bfreq[1], freq[1], 20);
- env[0] = 0;
- env[1] = 0;
- freq[0] = 50;
- freq[1] = 50;
+ freq[0] = 60;
+ freq[1] = 60;
// snd
sample snd[2];
diff @ 2019-11-23 19:29:09 +0000
diff --git a/client/go.c b/client/go.c
index 4b2a1b44c..ba86fcf87 100644
--- a/client/go.c
+++ b/client/go.c
@@ -382,7 +382,7 @@ int go(S *s, int channels, const float *in, float *out) {
time = s->time++;
sample env[2];
sample freq[2];
- int N = 12;
+ int N = 13;
int n = (time / 5) & ((1 << N) - 1);
sample zeroes = clamp(count_trailing_zeroes(n), 0, N);
sample probability = pow(0.5, N - zeroes);
diff @ 2019-11-23 19:29:28 +0000
diff --git a/client/go.c b/client/go.c
index ba86fcf87..5f68c9371 100644
--- a/client/go.c
+++ b/client/go.c
@@ -264,7 +264,7 @@ int go(S *s, int channels, const float *in, float *out) {
int t = s->micplx.tick++;
int harmonic = 0;
harmonic += "4484686684484488"[((t + 0) / 2) % (1 + ((int)clamp(b, 0, 8) & 15))]-'4';
- harmonic += 2;
+ harmonic += 4;
double _Complex z = s->micplx.z;
double _Complex c = s->micplx.c;
z = z * z + c;
diff @ 2019-11-23 19:29:37 +0000
diff --git a/client/go.c b/client/go.c
index 5f68c9371..420dbc611 100644
--- a/client/go.c
+++ b/client/go.c
@@ -264,7 +264,7 @@ int go(S *s, int channels, const float *in, float *out) {
int t = s->micplx.tick++;
int harmonic = 0;
harmonic += "4484686684484488"[((t + 0) / 2) % (1 + ((int)clamp(b, 0, 8) & 15))]-'4';
- harmonic += 4;
+ harmonic += 8;
double _Complex z = s->micplx.z;
double _Complex c = s->micplx.c;
z = z * z + c;
diff @ 2019-11-23 19:29:50 +0000
diff --git a/client/go.c b/client/go.c
index 420dbc611..90083f147 100644
--- a/client/go.c
+++ b/client/go.c
@@ -398,13 +398,11 @@ int go(S *s, int channels, const float *in, float *out) {
s->benv[1].y += trigger[1];
env[0] = lop(&s->benv[0], 0, 5);
env[1] = lop(&s->benv[1], 0, 5);
- sample harmonic = 5 + clamp(N - zeroes, 0, 20);
+ sample harmonic = 6 + clamp(N - zeroes, 0, 20);
freq[0] = samphold(&s->bsh[0], 10 * harmonic, 1 - trigger[0]);
freq[0] = lop(&s->bfreq[0], freq[0], 20);
freq[1] = samphold(&s->bsh[1], 10 * harmonic, 1 - trigger[1]);
freq[1] = lop(&s->bfreq[1], freq[1], 20);
- freq[0] = 60;
- freq[1] = 60;
// snd
sample snd[2];
diff @ 2019-11-23 19:30:05 +0000
diff --git a/client/go.c b/client/go.c
index 90083f147..0a72ed6fa 100644
--- a/client/go.c
+++ b/client/go.c
@@ -386,7 +386,7 @@ int go(S *s, int channels, const float *in, float *out) {
int n = (time / 5) & ((1 << N) - 1);
sample zeroes = clamp(count_trailing_zeroes(n), 0, N);
sample probability = pow(0.5, N - zeroes);
- probability = (0.55 + 0.5 * (n >= 0xC001)) * probability - 0.5;
+ probability = (0.6 + 0.5 * (n >= 0xC001)) * probability - 0.5;
probability = clamp(probability, 0, 1);
sample uniform[2];
uniform[0] = rand() / (double) RAND_MAX;
diff @ 2019-11-23 19:30:12 +0000
diff --git a/client/go.c b/client/go.c
index 0a72ed6fa..3f64ffc5e 100644
--- a/client/go.c
+++ b/client/go.c
@@ -408,7 +408,7 @@ int go(S *s, int channels, const float *in, float *out) {
sample snd[2];
snd[0] = env[0] * mixdown[0];
snd[1] = env[1] * mixdown[1];
- sample q = 10;
+ sample q = 20;
snd[0] *= 10;
snd[1] *= 10;
snd[0] = vcf(&s->bvcf[0], snd[0] * q, freq[0], q);
diff @ 2019-11-23 19:30:16 +0000
diff --git a/client/go.c b/client/go.c
index 3f64ffc5e..90abba38c 100644
--- a/client/go.c
+++ b/client/go.c
@@ -408,7 +408,7 @@ int go(S *s, int channels, const float *in, float *out) {
sample snd[2];
snd[0] = env[0] * mixdown[0];
snd[1] = env[1] * mixdown[1];
- sample q = 20;
+ sample q = 30;
snd[0] *= 10;
snd[1] *= 10;
snd[0] = vcf(&s->bvcf[0], snd[0] * q, freq[0], q);
diff @ 2019-11-23 19:30:18 +0000
diff --git a/client/go.c b/client/go.c
index 90abba38c..f05d8a15f 100644
--- a/client/go.c
+++ b/client/go.c
@@ -409,8 +409,8 @@ int go(S *s, int channels, const float *in, float *out) {
snd[0] = env[0] * mixdown[0];
snd[1] = env[1] * mixdown[1];
sample q = 30;
- snd[0] *= 10;
- snd[1] *= 10;
+ snd[0] *= 1;
+ snd[1] *= 1;
snd[0] = vcf(&s->bvcf[0], snd[0] * q, freq[0], q);
snd[1] = vcf(&s->bvcf[1], snd[1] * q, freq[1], q);
snd[0] = sin(snd[0]);
diff @ 2019-11-23 19:30:20 +0000
diff --git a/client/go.c b/client/go.c
index f05d8a15f..7dc661ad2 100644
--- a/client/go.c
+++ b/client/go.c
@@ -408,7 +408,7 @@ int go(S *s, int channels, const float *in, float *out) {
sample snd[2];
snd[0] = env[0] * mixdown[0];
snd[1] = env[1] * mixdown[1];
- sample q = 30;
+ sample q = 50;
snd[0] *= 1;
snd[1] *= 1;
snd[0] = vcf(&s->bvcf[0], snd[0] * q, freq[0], q);
diff @ 2019-11-23 19:30:30 +0000
diff --git a/client/go.c b/client/go.c
index 7dc661ad2..7b648af72 100644
--- a/client/go.c
+++ b/client/go.c
@@ -240,141 +240,6 @@ int go(S *s, int channels, const float *in, float *out) {
}
///}}} SEA ORGAN 2.2
-///{{{ MILITARY-INDUSTRIAL COMPLEX
- {
- sample q = phasor(&s->micplx.p, bpm / 60 / 4);
- p = wrap(q * 16);
- sample hz = 36;
- // settings
- sample b = s->micplx.tick / 256.0;
- s->micplx.qscale = mix(0.1, 1.5, clamp(b, 0, 1)) - mix(0, 0.5, clamp(b - 9, 0, 1));
- s->micplx.ascale = mix(0.1, 1.5, clamp(b - 1, 0, 1)) - mix(0, 0.5, clamp(b - 8, 0, 1));
- s->micplx.hiphz1 = 10;
- s->micplx.lophz = 480 * pow(2.0, mix(0, 2, clamp(b - 2, 0, 1)) - mix(0, 2, clamp(b - 10, 0, 1)));
- s->micplx.hiphz2 = 240 * pow(2.0, mix(0, 4, clamp((b - 6)/2, 0, 1)) - mix(0, 4, clamp(b - 10, 0, 1)));
- s->micplx.dscale = 1.5 * pow(2.0, mix(0, 4, clamp((b - 4)/2, 0, 1)) - mix(0, 4, clamp(b - 11, 0, 1)));
- s->micplx.decay = mix(1, 2, clamp(b - 3, 0, 1)) - mix(0, 1, clamp(b - 11, 0, 1));
- s->micplx.dell.length = SR/10;
- s->micplx.delr.length = SR/10;
- // 4-fold
- s->micplx.c = -0.1685385494130763202755938414617354 + I * 1.0421052847193397670635483538162974;
- // go
- int trigger = p < s->micplx.oldp; s->micplx.oldp = p;
- if (trigger && b <= 12) {
- int t = s->micplx.tick++;
- int harmonic = 0;
- harmonic += "4484686684484488"[((t + 0) / 2) % (1 + ((int)clamp(b, 0, 8) & 15))]-'4';
- harmonic += 8;
- double _Complex z = s->micplx.z;
- double _Complex c = s->micplx.c;
- z = z * z + c;
- double _Complex z1 = z;
- for (int i = 0; i < 4; ++i)
- {
- z1 = z1 * z1 + c;
- }
- int v = s->micplx.voice;
- s->micplx.voice = (v + 1) % 16;
- sample re = cabs(z) - 0.25;
- sample im = carg(z - z1);
- im /= twopi;
- im = wrap(im);
- im *= 0.5;
- im *= pi;
- sample h = hz * harmonic / 4.0;
- s->micplx.voices[v].hz = h;
- s->micplx.voices[v].phase = 0;
- s->micplx.voices[v].panl = cos(im);
- s->micplx.voices[v].panr = sin(im);
- sample x = re + 1.3;
- sample re2 = re * re;
- sample re4 = re2 * re2;
- sample q = x * s->micplx.qscale * 500 / h;
- s->micplx.voices[v].q = q;
- s->micplx.voices[v].amp = s->micplx.ascale * re4 * x * 100 * q / sqrt(h);
- s->micplx.voices[v].active = 1;
- s->micplx.z = z;
- if (cabs(z) > 2) { z = 0; }
- }
- // polyphonic synth
- sample ol = 0;
- sample or = 0;
- for (int v = 0; v < 16; ++v) {
- if (s->micplx.voices[v].active) {
- sample p = (s->micplx.voices[v].phase += 1000.0 / SR);
- sample a = 0;
- if (5 <= p && p <= 6) {
- a = s->micplx.voices[v].amp * (6 - p);
- }
- a = vcf(&s->micplx.voices[v].vcf, a, s->micplx.voices[v].hz, s->micplx.voices[v].q);
- a *= a;
- a = tanh(a) * 2;
- a *= a;
- a = hip(&s->micplx.voices[v].hip, a, 10);
- sample panl = 0;
- sample panr = 0;
- if (p > 15) {
- panl = s->micplx.voices[v].panl;
- panr = s->micplx.voices[v].panr;
- if (p < 30) {
- panl *= (p - 15) / 15;
- panr *= (p - 15) / 15;
- }
- }
- if (isnan(a) || isinf(a)) { a = 0; }
- ol += panl * a;
- or += panr * a;
- sample e = a * a;
- e = lop(&s->micplx.voices[v].lop, e, 10);
- s->micplx.voices[v].active = p < 100 || rmstodb(e) > 0;
- }
- }
- ol = sin(ol);
- or = sin(or);
- mixdown[0] += ol;
- mixdown[1] += or;
- ol = hip(&s->micplx.hip[0], ol, s->micplx.hiphz1);
- or = hip(&s->micplx.hip[1], or, s->micplx.hiphz1);
- sample del = 1000 / (s->micplx.dscale * hz);
- sample decay = s->micplx.decay * (exp(- del) - 1);
- sample dl = delread4(&s->micplx.delr, del) * decay;
- sample dr = delread4(&s->micplx.dell, del) * -decay;
- mixdown[0] += 2 * dl;
- mixdown[1] += 2 * dr;
- dl = lop(&s->micplx.lop[0], dl, s->micplx.lophz);
- dr = lop(&s->micplx.lop[1], dr, s->micplx.lophz);
- dl = hip(&s->micplx.hip[2], dl, s->micplx.hiphz2);
- dr = hip(&s->micplx.hip[3], dr, s->micplx.hiphz2);
- dl = tanh(dl);
- dr = tanh(dr);
- ol += dl;
- or += dr;
- if (isnan(ol) || isinf(ol)) { ol = 0; }
- if (isnan(or) || isinf(or)) { or = 0; }
- delwrite(&s->micplx.dell, ol);
- delwrite(&s->micplx.delr, or);
- compress(mixdown, &s->micplx.compress, 1, 5, 10, 60, mixdown);
- // kick
- sample k = (1 - wrap(4 * q)) * (1 - wrap((6 <= b && b < 9.5 ? 12 : 11 <= b ? 8 : 16) * q));
- k *= k;
- k *= 12 * (b < 4 || (6 <= b && b < 9.5) || (10 <= b && b <= 12));
- k *= twopi;
- k = tanh(2 * k / 30 * sin(pi * sin(k)));
- k = biquad(highpass(&s->kickres, 60, 40), k);
- k = sin(k);
- mixdown[0] += k;
- mixdown[1] += k;
- // snare
- sample n = (1 - wrap((b < 10 ? 12 : 16) * q)) * ((4 <= b && b < 8) || (10 <= b && b <= 12));
- n *= n;
- n *= n;
- n *= n;
- n *= n;
- n *= wrap(4 * q + 0.25);
- mixdown[0] += n * noise();
- mixdown[1] += n * noise();
- }
-///}}} MILITARY-INDUSTRIAL COMPLEX
///{{{ BINARAY /5
{
diff @ 2019-11-23 19:30:45 +0000
diff --git a/client/go.c b/client/go.c
index 7b648af72..ee857f5ac 100644
--- a/client/go.c
+++ b/client/go.c
@@ -273,7 +273,7 @@ int go(S *s, int channels, const float *in, float *out) {
sample snd[2];
snd[0] = env[0] * mixdown[0];
snd[1] = env[1] * mixdown[1];
- sample q = 50;
+ sample q = 500;
snd[0] *= 1;
snd[1] *= 1;
snd[0] = vcf(&s->bvcf[0], snd[0] * q, freq[0], q);
diff @ 2019-11-23 19:30:56 +0000
diff --git a/client/go.c b/client/go.c
index ee857f5ac..758ee127f 100644
--- a/client/go.c
+++ b/client/go.c
@@ -261,8 +261,8 @@ int go(S *s, int channels, const float *in, float *out) {
trigger[1] = uniform[1] < probability;
s->benv[0].y += trigger[0];
s->benv[1].y += trigger[1];
- env[0] = lop(&s->benv[0], 0, 5);
- env[1] = lop(&s->benv[1], 0, 5);
+ env[0] = lop(&s->benv[0], env[0], 5);
+ env[1] = lop(&s->benv[1], env[1], 5);
sample harmonic = 6 + clamp(N - zeroes, 0, 20);
freq[0] = samphold(&s->bsh[0], 10 * harmonic, 1 - trigger[0]);
freq[0] = lop(&s->bfreq[0], freq[0], 20);
diff @ 2019-11-23 19:31:01 +0000
diff --git a/client/go.c b/client/go.c
index 758ee127f..ee857f5ac 100644
--- a/client/go.c
+++ b/client/go.c
@@ -261,8 +261,8 @@ int go(S *s, int channels, const float *in, float *out) {
trigger[1] = uniform[1] < probability;
s->benv[0].y += trigger[0];
s->benv[1].y += trigger[1];
- env[0] = lop(&s->benv[0], env[0], 5);
- env[1] = lop(&s->benv[1], env[1], 5);
+ env[0] = lop(&s->benv[0], 0, 5);
+ env[1] = lop(&s->benv[1], 0, 5);
sample harmonic = 6 + clamp(N - zeroes, 0, 20);
freq[0] = samphold(&s->bsh[0], 10 * harmonic, 1 - trigger[0]);
freq[0] = lop(&s->bfreq[0], freq[0], 20);
diff @ 2019-11-23 19:31:12 +0000
diff --git a/client/go.c b/client/go.c
index ee857f5ac..d3fbc333a 100644
--- a/client/go.c
+++ b/client/go.c
@@ -247,7 +247,7 @@ int go(S *s, int channels, const float *in, float *out) {
time = s->time++;
sample env[2];
sample freq[2];
- int N = 13;
+ int N = 11;
int n = (time / 5) & ((1 << N) - 1);
sample zeroes = clamp(count_trailing_zeroes(n), 0, N);
sample probability = pow(0.5, N - zeroes);
diff @ 2019-11-23 19:31:25 +0000
diff --git a/client/go.c b/client/go.c
index d3fbc333a..427021b6b 100644
--- a/client/go.c
+++ b/client/go.c
@@ -273,7 +273,7 @@ int go(S *s, int channels, const float *in, float *out) {
sample snd[2];
snd[0] = env[0] * mixdown[0];
snd[1] = env[1] * mixdown[1];
- sample q = 500;
+ sample q = 5000;
snd[0] *= 1;
snd[1] *= 1;
snd[0] = vcf(&s->bvcf[0], snd[0] * q, freq[0], q);
diff @ 2019-11-23 19:31:31 +0000
diff --git a/client/go.c b/client/go.c
index 427021b6b..94f2840ae 100644
--- a/client/go.c
+++ b/client/go.c
@@ -290,8 +290,8 @@ int go(S *s, int channels, const float *in, float *out) {
snd[1] += 0*samphold(&s->bsh2[1], snd[1], wrap(3 * pb[0]));
compress(snd, &s->bcompress, 5, 10, 25, 48, snd);
sample gain = 1;
- mixdown[0] += snd[0] * gain;
- mixdown[1] += snd[1] * gain;
+ mixdown[0] = snd[0] * gain;
+ mixdown[1] = snd[1] * gain;
}
///}}} BINARAY /5
diff @ 2019-11-23 19:31:53 +0000
diff --git a/client/go.c b/client/go.c
index 94f2840ae..8bfe15af8 100644
--- a/client/go.c
+++ b/client/go.c
@@ -263,7 +263,7 @@ int go(S *s, int channels, const float *in, float *out) {
s->benv[1].y += trigger[1];
env[0] = lop(&s->benv[0], 0, 5);
env[1] = lop(&s->benv[1], 0, 5);
- sample harmonic = 6 + clamp(N - zeroes, 0, 20);
+ sample harmonic = 10 + clamp(N - zeroes, 0, 20);
freq[0] = samphold(&s->bsh[0], 10 * harmonic, 1 - trigger[0]);
freq[0] = lop(&s->bfreq[0], freq[0], 20);
freq[1] = samphold(&s->bsh[1], 10 * harmonic, 1 - trigger[1]);
diff @ 2019-11-23 19:32:03 +0000
diff --git a/client/go.c b/client/go.c
index 8bfe15af8..5b870a22b 100644
--- a/client/go.c
+++ b/client/go.c
@@ -263,7 +263,7 @@ int go(S *s, int channels, const float *in, float *out) {
s->benv[1].y += trigger[1];
env[0] = lop(&s->benv[0], 0, 5);
env[1] = lop(&s->benv[1], 0, 5);
- sample harmonic = 10 + clamp(N - zeroes, 0, 20);
+ sample harmonic = 8 + clamp(N - zeroes, 0, 20);
freq[0] = samphold(&s->bsh[0], 10 * harmonic, 1 - trigger[0]);
freq[0] = lop(&s->bfreq[0], freq[0], 20);
freq[1] = samphold(&s->bsh[1], 10 * harmonic, 1 - trigger[1]);
diff @ 2019-11-23 19:32:10 +0000
diff --git a/client/go.c b/client/go.c
index 5b870a22b..8bfe15af8 100644
--- a/client/go.c
+++ b/client/go.c
@@ -263,7 +263,7 @@ int go(S *s, int channels, const float *in, float *out) {
s->benv[1].y += trigger[1];
env[0] = lop(&s->benv[0], 0, 5);
env[1] = lop(&s->benv[1], 0, 5);
- sample harmonic = 8 + clamp(N - zeroes, 0, 20);
+ sample harmonic = 10 + clamp(N - zeroes, 0, 20);
freq[0] = samphold(&s->bsh[0], 10 * harmonic, 1 - trigger[0]);
freq[0] = lop(&s->bfreq[0], freq[0], 20);
freq[1] = samphold(&s->bsh[1], 10 * harmonic, 1 - trigger[1]);
diff @ 2019-11-23 19:32:20 +0000
diff --git a/client/go.c b/client/go.c
index 8bfe15af8..e93e9b2d3 100644
--- a/client/go.c
+++ b/client/go.c
@@ -247,7 +247,7 @@ int go(S *s, int channels, const float *in, float *out) {
time = s->time++;
sample env[2];
sample freq[2];
- int N = 11;
+ int N = 12;
int n = (time / 5) & ((1 << N) - 1);
sample zeroes = clamp(count_trailing_zeroes(n), 0, N);
sample probability = pow(0.5, N - zeroes);
diff @ 2019-11-23 19:32:26 +0000
diff --git a/client/go.c b/client/go.c
index e93e9b2d3..168dce0d2 100644
--- a/client/go.c
+++ b/client/go.c
@@ -247,7 +247,7 @@ int go(S *s, int channels, const float *in, float *out) {
time = s->time++;
sample env[2];
sample freq[2];
- int N = 12;
+ int N = 13;
int n = (time / 5) & ((1 << N) - 1);
sample zeroes = clamp(count_trailing_zeroes(n), 0, N);
sample probability = pow(0.5, N - zeroes);
diff @ 2019-11-23 19:32:35 +0000
diff --git a/client/go.c b/client/go.c
index 168dce0d2..68c72c8b3 100644
--- a/client/go.c
+++ b/client/go.c
@@ -251,7 +251,7 @@ int go(S *s, int channels, const float *in, float *out) {
int n = (time / 5) & ((1 << N) - 1);
sample zeroes = clamp(count_trailing_zeroes(n), 0, N);
sample probability = pow(0.5, N - zeroes);
- probability = (0.6 + 0.5 * (n >= 0xC001)) * probability - 0.5;
+ probability = (0.65 + 0.5 * (n >= 0xC001)) * probability - 0.5;
probability = clamp(probability, 0, 1);
sample uniform[2];
uniform[0] = rand() / (double) RAND_MAX;
diff @ 2019-11-23 19:32:41 +0000
diff --git a/client/go.c b/client/go.c
index 68c72c8b3..05bffce89 100644
--- a/client/go.c
+++ b/client/go.c
@@ -273,7 +273,7 @@ int go(S *s, int channels, const float *in, float *out) {
sample snd[2];
snd[0] = env[0] * mixdown[0];
snd[1] = env[1] * mixdown[1];
- sample q = 5000;
+ sample q = 50;
snd[0] *= 1;
snd[1] *= 1;
snd[0] = vcf(&s->bvcf[0], snd[0] * q, freq[0], q);
diff @ 2019-11-23 19:32:52 +0000
diff --git a/client/go.c b/client/go.c
index 05bffce89..f278e5b93 100644
--- a/client/go.c
+++ b/client/go.c
@@ -286,8 +286,8 @@ int go(S *s, int channels, const float *in, float *out) {
hilbert(pb, &s->bhilbert[1], pb);
pa[0] = wrap(atan2(pa[0], pa[1]) / twopi);
pb[0] = wrap(atan2(pb[0], pb[1]) / twopi);
- snd[0] += 0*samphold(&s->bsh2[0], snd[0], wrap(3 * pa[0]));
- snd[1] += 0*samphold(&s->bsh2[1], snd[1], wrap(3 * pb[0]));
+ snd[0] += samphold(&s->bsh2[0], snd[0], wrap(3 * pa[0]));
+ snd[1] += samphold(&s->bsh2[1], snd[1], wrap(3 * pb[0]));
compress(snd, &s->bcompress, 5, 10, 25, 48, snd);
sample gain = 1;
mixdown[0] = snd[0] * gain;
diff @ 2019-11-23 19:33:04 +0000
diff --git a/client/go.c b/client/go.c
index f278e5b93..e56784551 100644
--- a/client/go.c
+++ b/client/go.c
@@ -288,7 +288,7 @@ int go(S *s, int channels, const float *in, float *out) {
pb[0] = wrap(atan2(pb[0], pb[1]) / twopi);
snd[0] += samphold(&s->bsh2[0], snd[0], wrap(3 * pa[0]));
snd[1] += samphold(&s->bsh2[1], snd[1], wrap(3 * pb[0]));
- compress(snd, &s->bcompress, 5, 10, 25, 48, snd);
+ compress(snd, &s->bcompress, 10, 1, 1, 48, snd);
sample gain = 1;
mixdown[0] = snd[0] * gain;
mixdown[1] = snd[1] * gain;
diff @ 2019-11-23 19:33:21 +0000
diff --git a/client/go.c b/client/go.c
index e56784551..d70a9bcd9 100644
--- a/client/go.c
+++ b/client/go.c
@@ -263,7 +263,7 @@ int go(S *s, int channels, const float *in, float *out) {
s->benv[1].y += trigger[1];
env[0] = lop(&s->benv[0], 0, 5);
env[1] = lop(&s->benv[1], 0, 5);
- sample harmonic = 10 + clamp(N - zeroes, 0, 20);
+ sample harmonic = 8 + clamp(N - zeroes, 0, 20);
freq[0] = samphold(&s->bsh[0], 10 * harmonic, 1 - trigger[0]);
freq[0] = lop(&s->bfreq[0], freq[0], 20);
freq[1] = samphold(&s->bsh[1], 10 * harmonic, 1 - trigger[1]);
diff @ 2019-11-23 19:33:25 +0000
diff --git a/client/go.c b/client/go.c
index d70a9bcd9..e56784551 100644
--- a/client/go.c
+++ b/client/go.c
@@ -263,7 +263,7 @@ int go(S *s, int channels, const float *in, float *out) {
s->benv[1].y += trigger[1];
env[0] = lop(&s->benv[0], 0, 5);
env[1] = lop(&s->benv[1], 0, 5);
- sample harmonic = 8 + clamp(N - zeroes, 0, 20);
+ sample harmonic = 10 + clamp(N - zeroes, 0, 20);
freq[0] = samphold(&s->bsh[0], 10 * harmonic, 1 - trigger[0]);
freq[0] = lop(&s->bfreq[0], freq[0], 20);
freq[1] = samphold(&s->bsh[1], 10 * harmonic, 1 - trigger[1]);
diff @ 2019-11-23 19:33:41 +0000
diff @ 2019-11-23 19:33:56 +0000
diff --git a/client/go.c b/client/go.c
index 9f9f98729..6199ff31f 100644
--- a/client/go.c
+++ b/client/go.c
@@ -323,7 +323,7 @@ int go(S *s, int channels, const float *in, float *out) {
sample crush = phasor(&s->tcrush, 3000);
tilex[0] = samphold(&s->tcrushsh[0], noise() * hat, crush);
tilex[1] = samphold(&s->tcrushsh[1], noise() * hat, crush);
- sample kgain = 0;
+ sample kgain = 1;
kgain = samphold(&s->tgate[0], kgain, p);
tilex[0] += kgain * kick;
tilex[1] += kgain * kick;
diff @ 2019-11-23 19:34:11 +0000
diff --git a/client/go.c b/client/go.c
index 6199ff31f..49532cdba 100644
--- a/client/go.c
+++ b/client/go.c
@@ -278,7 +278,7 @@ int go(S *s, int channels, const float *in, float *out) {
sample snd[2];
snd[0] = env[0] * mixdown[0];
snd[1] = env[1] * mixdown[1];
- sample q = 50;
+ sample q = 150;
snd[0] *= 1;
snd[1] *= 1;
snd[0] = vcf(&s->bvcf[0], snd[0] * q, freq[0], q);
diff @ 2019-11-23 19:34:26 +0000
diff --git a/client/go.c b/client/go.c
index 49532cdba..d2d94b5eb 100644
--- a/client/go.c
+++ b/client/go.c
@@ -316,7 +316,7 @@ int go(S *s, int channels, const float *in, float *out) {
sample hat = wrap(16 * p + 0.5) < 0.125;
hat *= 0;
sample khz = 50 + 10 * (wrap(8 * p) > 1) + 25 * (wrap(2 * p) > 1);
- kick +=tanh(vcf(&s->tkick[0], kick, khz, 5)*5)*2;
+ kick +=tanh(vcf(&s->tkick[0], kick, khz, 15)*15)*2;
kick += sin(vcf(&s->tkick[1], kick, khz * 2, 5)*5);
kick += sin(vcf(&s->tkick[2], kick, khz*4-20, 5)*5)
* sin(vcf(&s->tkick[3], kick, khz*4+20, 5)*5);
diff @ 2019-11-23 19:34:41 +0000
diff --git a/client/go.c b/client/go.c
index d2d94b5eb..f13474ed0 100644
--- a/client/go.c
+++ b/client/go.c
@@ -317,7 +317,7 @@ int go(S *s, int channels, const float *in, float *out) {
hat *= 0;
sample khz = 50 + 10 * (wrap(8 * p) > 1) + 25 * (wrap(2 * p) > 1);
kick +=tanh(vcf(&s->tkick[0], kick, khz, 15)*15)*2;
- kick += sin(vcf(&s->tkick[1], kick, khz * 2, 5)*5);
+ kick += sin(vcf(&s->tkick[1], kick, khz * 2, 15)*15);
kick += sin(vcf(&s->tkick[2], kick, khz*4-20, 5)*5)
* sin(vcf(&s->tkick[3], kick, khz*4+20, 5)*5);
sample crush = phasor(&s->tcrush, 3000);
diff @ 2019-11-23 19:34:49 +0000
diff --git a/client/go.c b/client/go.c
index f13474ed0..553239b08 100644
--- a/client/go.c
+++ b/client/go.c
@@ -318,8 +318,8 @@ int go(S *s, int channels, const float *in, float *out) {
sample khz = 50 + 10 * (wrap(8 * p) > 1) + 25 * (wrap(2 * p) > 1);
kick +=tanh(vcf(&s->tkick[0], kick, khz, 15)*15)*2;
kick += sin(vcf(&s->tkick[1], kick, khz * 2, 15)*15);
- kick += sin(vcf(&s->tkick[2], kick, khz*4-20, 5)*5)
- * sin(vcf(&s->tkick[3], kick, khz*4+20, 5)*5);
+ kick += sin(vcf(&s->tkick[2], kick, khz*7, 5)*5)
+ * sin(vcf(&s->tkick[3], kick, khz*9, 5)*5);
sample crush = phasor(&s->tcrush, 3000);
tilex[0] = samphold(&s->tcrushsh[0], noise() * hat, crush);
tilex[1] = samphold(&s->tcrushsh[1], noise() * hat, crush);
diff @ 2019-11-23 19:34:55 +0000
diff --git a/client/go.c b/client/go.c
index 553239b08..7afb9596b 100644
--- a/client/go.c
+++ b/client/go.c
@@ -318,8 +318,8 @@ int go(S *s, int channels, const float *in, float *out) {
sample khz = 50 + 10 * (wrap(8 * p) > 1) + 25 * (wrap(2 * p) > 1);
kick +=tanh(vcf(&s->tkick[0], kick, khz, 15)*15)*2;
kick += sin(vcf(&s->tkick[1], kick, khz * 2, 15)*15);
- kick += sin(vcf(&s->tkick[2], kick, khz*7, 5)*5)
- * sin(vcf(&s->tkick[3], kick, khz*9, 5)*5);
+ kick += sin(vcf(&s->tkick[2], kick, khz*7, 50)*5)
+ * sin(vcf(&s->tkick[3], kick, khz*9, 50)*5);
sample crush = phasor(&s->tcrush, 3000);
tilex[0] = samphold(&s->tcrushsh[0], noise() * hat, crush);
tilex[1] = samphold(&s->tcrushsh[1], noise() * hat, crush);
diff @ 2019-11-23 19:35:09 +0000
diff --git a/client/go.c b/client/go.c
index 7afb9596b..1b8add3ca 100644
--- a/client/go.c
+++ b/client/go.c
@@ -315,7 +315,7 @@ int go(S *s, int channels, const float *in, float *out) {
kick = tanh(kick);
sample hat = wrap(16 * p + 0.5) < 0.125;
hat *= 0;
- sample khz = 50 + 10 * (wrap(8 * p) > 1) + 25 * (wrap(2 * p) > 1);
+ sample khz = 50 + 10 * (wrap(8 * p) > 0.75) + 25 * (wrap(2 * p) > 1);
kick +=tanh(vcf(&s->tkick[0], kick, khz, 15)*15)*2;
kick += sin(vcf(&s->tkick[1], kick, khz * 2, 15)*15);
kick += sin(vcf(&s->tkick[2], kick, khz*7, 50)*5)
diff @ 2019-11-23 19:35:22 +0000
diff --git a/client/go.c b/client/go.c
index 1b8add3ca..d823dc745 100644
--- a/client/go.c
+++ b/client/go.c
@@ -315,7 +315,7 @@ int go(S *s, int channels, const float *in, float *out) {
kick = tanh(kick);
sample hat = wrap(16 * p + 0.5) < 0.125;
hat *= 0;
- sample khz = 50 + 10 * (wrap(8 * p) > 0.75) + 25 * (wrap(2 * p) > 1);
+ sample khz = 60 + 20 * (wrap(8 * p) > 0.75) + 25 * (wrap(2 * p) > 1);
kick +=tanh(vcf(&s->tkick[0], kick, khz, 15)*15)*2;
kick += sin(vcf(&s->tkick[1], kick, khz * 2, 15)*15);
kick += sin(vcf(&s->tkick[2], kick, khz*7, 50)*5)
diff @ 2019-11-23 19:35:36 +0000
diff --git a/client/go.c b/client/go.c
index d823dc745..3c87ae5d9 100644
--- a/client/go.c
+++ b/client/go.c
@@ -268,7 +268,7 @@ int go(S *s, int channels, const float *in, float *out) {
s->benv[1].y += trigger[1];
env[0] = lop(&s->benv[0], 0, 5);
env[1] = lop(&s->benv[1], 0, 5);
- sample harmonic = 10 + clamp(N - zeroes, 0, 20);
+ sample harmonic = 8 + clamp(N - zeroes, 0, 20);
freq[0] = samphold(&s->bsh[0], 10 * harmonic, 1 - trigger[0]);
freq[0] = lop(&s->bfreq[0], freq[0], 20);
freq[1] = samphold(&s->bsh[1], 10 * harmonic, 1 - trigger[1]);
diff @ 2019-11-23 19:35:41 +0000
diff --git a/client/go.c b/client/go.c
index 3c87ae5d9..c547e9ce8 100644
--- a/client/go.c
+++ b/client/go.c
@@ -268,7 +268,7 @@ int go(S *s, int channels, const float *in, float *out) {
s->benv[1].y += trigger[1];
env[0] = lop(&s->benv[0], 0, 5);
env[1] = lop(&s->benv[1], 0, 5);
- sample harmonic = 8 + clamp(N - zeroes, 0, 20);
+ sample harmonic = 12 + clamp(N - zeroes, 0, 20);
freq[0] = samphold(&s->bsh[0], 10 * harmonic, 1 - trigger[0]);
freq[0] = lop(&s->bfreq[0], freq[0], 20);
freq[1] = samphold(&s->bsh[1], 10 * harmonic, 1 - trigger[1]);
diff @ 2019-11-23 19:36:00 +0000
diff --git a/client/go.c b/client/go.c
index c547e9ce8..420149bfa 100644
--- a/client/go.c
+++ b/client/go.c
@@ -315,7 +315,7 @@ int go(S *s, int channels, const float *in, float *out) {
kick = tanh(kick);
sample hat = wrap(16 * p + 0.5) < 0.125;
hat *= 0;
- sample khz = 60 + 20 * (wrap(8 * p) > 0.75) + 25 * (wrap(2 * p) > 1);
+ sample khz = 60 + 20 * (wrap(8 * p) > 0.75) + 30 * (wrap(2 * p) > 0.5);
kick +=tanh(vcf(&s->tkick[0], kick, khz, 15)*15)*2;
kick += sin(vcf(&s->tkick[1], kick, khz * 2, 15)*15);
kick += sin(vcf(&s->tkick[2], kick, khz*7, 50)*5)
diff @ 2019-11-23 19:36:06 +0000
diff --git a/client/go.c b/client/go.c
index 420149bfa..e9292cf5e 100644
--- a/client/go.c
+++ b/client/go.c
@@ -315,7 +315,7 @@ int go(S *s, int channels, const float *in, float *out) {
kick = tanh(kick);
sample hat = wrap(16 * p + 0.5) < 0.125;
hat *= 0;
- sample khz = 60 + 20 * (wrap(8 * p) > 0.75) + 30 * (wrap(2 * p) > 0.5);
+ sample khz = 60 + 20 * (wrap(8 * p) > 0.75) + 30 * (wrap(8 * p) > 0.5);
kick +=tanh(vcf(&s->tkick[0], kick, khz, 15)*15)*2;
kick += sin(vcf(&s->tkick[1], kick, khz * 2, 15)*15);
kick += sin(vcf(&s->tkick[2], kick, khz*7, 50)*5)
diff @ 2019-11-23 19:36:13 +0000
diff --git a/client/go.c b/client/go.c
index e9292cf5e..c05b88b10 100644
--- a/client/go.c
+++ b/client/go.c
@@ -315,7 +315,7 @@ int go(S *s, int channels, const float *in, float *out) {
kick = tanh(kick);
sample hat = wrap(16 * p + 0.5) < 0.125;
hat *= 0;
- sample khz = 60 + 20 * (wrap(8 * p) > 0.75) + 30 * (wrap(8 * p) > 0.5);
+ sample khz = 60 + 20 * (wrap(8 * p) > 0.75) + 10 * (wrap(8 * p) > 0.5);
kick +=tanh(vcf(&s->tkick[0], kick, khz, 15)*15)*2;
kick += sin(vcf(&s->tkick[1], kick, khz * 2, 15)*15);
kick += sin(vcf(&s->tkick[2], kick, khz*7, 50)*5)
diff @ 2019-11-23 19:36:32 +0000
diff --git a/client/go.c b/client/go.c
index c05b88b10..e419a9c59 100644
--- a/client/go.c
+++ b/client/go.c
@@ -258,6 +258,7 @@ int go(S *s, int channels, const float *in, float *out) {
sample probability = pow(0.5, N - zeroes);
probability = (0.65 + 0.5 * (n >= 0xC001)) * probability - 0.5;
probability = clamp(probability, 0, 1);
+ probability = 0;
sample uniform[2];
uniform[0] = rand() / (double) RAND_MAX;
uniform[1] = rand() / (double) RAND_MAX;
diff @ 2019-11-23 19:36:43 +0000
diff --git a/client/go.c b/client/go.c
index e419a9c59..0003dc66b 100644
--- a/client/go.c
+++ b/client/go.c
@@ -315,7 +315,7 @@ int go(S *s, int channels, const float *in, float *out) {
kick *= 1 + kickenv;
kick = tanh(kick);
sample hat = wrap(16 * p + 0.5) < 0.125;
- hat *= 0;
+ hat *= 1;
sample khz = 60 + 20 * (wrap(8 * p) > 0.75) + 10 * (wrap(8 * p) > 0.5);
kick +=tanh(vcf(&s->tkick[0], kick, khz, 15)*15)*2;
kick += sin(vcf(&s->tkick[1], kick, khz * 2, 15)*15);
diff @ 2019-11-23 19:37:01 +0000
diff --git a/client/go.c b/client/go.c
index 0003dc66b..709a9b62c 100644
--- a/client/go.c
+++ b/client/go.c
@@ -321,7 +321,7 @@ int go(S *s, int channels, const float *in, float *out) {
kick += sin(vcf(&s->tkick[1], kick, khz * 2, 15)*15);
kick += sin(vcf(&s->tkick[2], kick, khz*7, 50)*5)
* sin(vcf(&s->tkick[3], kick, khz*9, 50)*5);
- sample crush = phasor(&s->tcrush, 3000);
+ sample crush = phasor(&s->tcrush, 3000 * pow(2, cos(twopi * p)));
tilex[0] = samphold(&s->tcrushsh[0], noise() * hat, crush);
tilex[1] = samphold(&s->tcrushsh[1], noise() * hat, crush);
sample kgain = 1;
diff @ 2019-11-23 19:37:08 +0000
diff --git a/client/go.c b/client/go.c
index 709a9b62c..f4442fc46 100644
--- a/client/go.c
+++ b/client/go.c
@@ -314,7 +314,7 @@ int go(S *s, int channels, const float *in, float *out) {
kick = sin(twopi * kick);
kick *= 1 + kickenv;
kick = tanh(kick);
- sample hat = wrap(16 * p + 0.5) < 0.125;
+ sample hat = wrap(16 * p + 0.5) < 0.125 * p;
hat *= 1;
sample khz = 60 + 20 * (wrap(8 * p) > 0.75) + 10 * (wrap(8 * p) > 0.5);
kick +=tanh(vcf(&s->tkick[0], kick, khz, 15)*15)*2;
diff @ 2019-11-23 19:37:13 +0000
diff --git a/client/go.c b/client/go.c
index f4442fc46..09d8f15ef 100644
--- a/client/go.c
+++ b/client/go.c
@@ -314,7 +314,7 @@ int go(S *s, int channels, const float *in, float *out) {
kick = sin(twopi * kick);
kick *= 1 + kickenv;
kick = tanh(kick);
- sample hat = wrap(16 * p + 0.5) < 0.125 * p;
+ sample hat = wrap(16 * p + 0.5) < 0.125 * (p +0.5);
hat *= 1;
sample khz = 60 + 20 * (wrap(8 * p) > 0.75) + 10 * (wrap(8 * p) > 0.5);
kick +=tanh(vcf(&s->tkick[0], kick, khz, 15)*15)*2;
diff @ 2019-11-23 19:37:14 +0000
diff --git a/client/go.c b/client/go.c
index 09d8f15ef..97350a7ac 100644
--- a/client/go.c
+++ b/client/go.c
@@ -314,7 +314,7 @@ int go(S *s, int channels, const float *in, float *out) {
kick = sin(twopi * kick);
kick *= 1 + kickenv;
kick = tanh(kick);
- sample hat = wrap(16 * p + 0.5) < 0.125 * (p +0.5);
+ sample hat = wrap(16 * p + 0.5) < 0.125 * (p + 0.5);
hat *= 1;
sample khz = 60 + 20 * (wrap(8 * p) > 0.75) + 10 * (wrap(8 * p) > 0.5);
kick +=tanh(vcf(&s->tkick[0], kick, khz, 15)*15)*2;
diff @ 2019-11-23 19:37:28 +0000
diff --git a/client/go.c b/client/go.c
index 97350a7ac..c32dbad5d 100644
--- a/client/go.c
+++ b/client/go.c
@@ -314,7 +314,7 @@ int go(S *s, int channels, const float *in, float *out) {
kick = sin(twopi * kick);
kick *= 1 + kickenv;
kick = tanh(kick);
- sample hat = wrap(16 * p + 0.5) < 0.125 * (p + 0.5);
+ sample hat = wrap(64 * p) < 0.125 * (p + 0.5);
hat *= 1;
sample khz = 60 + 20 * (wrap(8 * p) > 0.75) + 10 * (wrap(8 * p) > 0.5);
kick +=tanh(vcf(&s->tkick[0], kick, khz, 15)*15)*2;
diff @ 2019-11-23 19:37:44 +0000
diff --git a/client/go.c b/client/go.c
index c32dbad5d..ab17fa149 100644
--- a/client/go.c
+++ b/client/go.c
@@ -317,7 +317,7 @@ int go(S *s, int channels, const float *in, float *out) {
sample hat = wrap(64 * p) < 0.125 * (p + 0.5);
hat *= 1;
sample khz = 60 + 20 * (wrap(8 * p) > 0.75) + 10 * (wrap(8 * p) > 0.5);
- kick +=tanh(vcf(&s->tkick[0], kick, khz, 15)*15)*2;
+ kick +=tanh(vcf(&s->tkick[0], kick, khz, 150)*50)*2;
kick += sin(vcf(&s->tkick[1], kick, khz * 2, 15)*15);
kick += sin(vcf(&s->tkick[2], kick, khz*7, 50)*5)
* sin(vcf(&s->tkick[3], kick, khz*9, 50)*5);
diff @ 2019-11-23 19:37:59 +0000
diff --git a/client/go.c b/client/go.c
index ab17fa149..2e36d4f0f 100644
--- a/client/go.c
+++ b/client/go.c
@@ -318,7 +318,7 @@ int go(S *s, int channels, const float *in, float *out) {
hat *= 1;
sample khz = 60 + 20 * (wrap(8 * p) > 0.75) + 10 * (wrap(8 * p) > 0.5);
kick +=tanh(vcf(&s->tkick[0], kick, khz, 150)*50)*2;
- kick += sin(vcf(&s->tkick[1], kick, khz * 2, 15)*15);
+ kick += sin(vcf(&s->tkick[1], kick, khz * (wrap(4 * p) < 0.5 ? 2 : 3), 15)*15);
kick += sin(vcf(&s->tkick[2], kick, khz*7, 50)*5)
* sin(vcf(&s->tkick[3], kick, khz*9, 50)*5);
sample crush = phasor(&s->tcrush, 3000 * pow(2, cos(twopi * p)));
diff @ 2019-11-23 19:38:08 +0000
diff --git a/client/go.c b/client/go.c
index 2e36d4f0f..f79aa6017 100644
--- a/client/go.c
+++ b/client/go.c
@@ -319,8 +319,8 @@ int go(S *s, int channels, const float *in, float *out) {
sample khz = 60 + 20 * (wrap(8 * p) > 0.75) + 10 * (wrap(8 * p) > 0.5);
kick +=tanh(vcf(&s->tkick[0], kick, khz, 150)*50)*2;
kick += sin(vcf(&s->tkick[1], kick, khz * (wrap(4 * p) < 0.5 ? 2 : 3), 15)*15);
- kick += sin(vcf(&s->tkick[2], kick, khz*7, 50)*5)
- * sin(vcf(&s->tkick[3], kick, khz*9, 50)*5);
+ kick += sin(vcf(&s->tkick[2], kick, khz*7, 150)*25)
+ * sin(vcf(&s->tkick[3], kick, khz*9, 150)*25);
sample crush = phasor(&s->tcrush, 3000 * pow(2, cos(twopi * p)));
tilex[0] = samphold(&s->tcrushsh[0], noise() * hat, crush);
tilex[1] = samphold(&s->tcrushsh[1], noise() * hat, crush);
diff @ 2019-11-23 19:38:24 +0000
diff --git a/client/go.c b/client/go.c
index f79aa6017..2d2fbe3f7 100644
--- a/client/go.c
+++ b/client/go.c
@@ -328,7 +328,7 @@ int go(S *s, int channels, const float *in, float *out) {
kgain = samphold(&s->tgate[0], kgain, p);
tilex[0] += kgain * kick;
tilex[1] += kgain * kick;
- compress(tilex, &s->tcompress, 5, 10, 25, 48, tilex);
+ compress(tilex, &s->tcompress, 15, 1, 1, 48, tilex);
sample gain = 1;
gain = samphold(&s->tgate[1], gain, p);
tilex[0] *= gain;
diff @ 2019-11-23 19:38:52 +0000
diff --git a/client/go.c b/client/go.c
index 2d2fbe3f7..372c8dcc6 100644
--- a/client/go.c
+++ b/client/go.c
@@ -316,7 +316,7 @@ int go(S *s, int channels, const float *in, float *out) {
kick = tanh(kick);
sample hat = wrap(64 * p) < 0.125 * (p + 0.5);
hat *= 1;
- sample khz = 60 + 20 * (wrap(8 * p) > 0.75) + 10 * (wrap(8 * p) > 0.5);
+ sample khz = 60 + 20 * (wrap(8 * p) > 0.75) + 10 * (wrap(8 * p) > 0.5) + 10 * (wrap(2 * p) > 0.75);
kick +=tanh(vcf(&s->tkick[0], kick, khz, 150)*50)*2;
kick += sin(vcf(&s->tkick[1], kick, khz * (wrap(4 * p) < 0.5 ? 2 : 3), 15)*15);
kick += sin(vcf(&s->tkick[2], kick, khz*7, 150)*25)
diff @ 2019-11-23 19:39:12 +0000
diff --git a/client/go.c b/client/go.c
index 372c8dcc6..11a2d845c 100644
--- a/client/go.c
+++ b/client/go.c
@@ -324,7 +324,7 @@ int go(S *s, int channels, const float *in, float *out) {
sample crush = phasor(&s->tcrush, 3000 * pow(2, cos(twopi * p)));
tilex[0] = samphold(&s->tcrushsh[0], noise() * hat, crush);
tilex[1] = samphold(&s->tcrushsh[1], noise() * hat, crush);
- sample kgain = 1;
+ sample kgain = 0;
kgain = samphold(&s->tgate[0], kgain, p);
tilex[0] += kgain * kick;
tilex[1] += kgain * kick;
diff @ 2019-11-23 19:39:14 +0000
diff --git a/client/go.c b/client/go.c
index 11a2d845c..372c8dcc6 100644
--- a/client/go.c
+++ b/client/go.c
@@ -324,7 +324,7 @@ int go(S *s, int channels, const float *in, float *out) {
sample crush = phasor(&s->tcrush, 3000 * pow(2, cos(twopi * p)));
tilex[0] = samphold(&s->tcrushsh[0], noise() * hat, crush);
tilex[1] = samphold(&s->tcrushsh[1], noise() * hat, crush);
- sample kgain = 0;
+ sample kgain = 1;
kgain = samphold(&s->tgate[0], kgain, p);
tilex[0] += kgain * kick;
tilex[1] += kgain * kick;
diff @ 2019-11-23 19:39:28 +0000
diff @ 2019-11-23 19:39:46 +0000
diff --git a/client/go.c b/client/go.c
index 0140ae726..c3de3f1af 100644
--- a/client/go.c
+++ b/client/go.c
@@ -362,8 +362,8 @@ int go(S *s, int channels, const float *in, float *out) {
sample er = delread4(&s->edelay2, rdelms + si);
sample es[2] = { co * el + si * er, -si * el + co * er };
compress(es, &s->ecompress1, 5, 10, 25, 48, es);
- es[0] = mix(mixdown[0], es[0], mix(0, pow(wrap(8 * p), (sample) 0.25), 0));
- es[1] = mix(mixdown[1], es[1], mix(0, pow(wrap(8 * p), (sample) 0.25), 0));
+ es[0] = mix(mixdown[0], es[0], mix(0.1, pow(wrap(8 * p), (sample) 0.25), 0));
+ es[1] = mix(mixdown[1], es[1], mix(0.1, pow(wrap(8 * p), (sample) 0.25), 0));
es[0] = lop(&s->elop2[0], hip(&s->ehip2[0], es[0], 2), 20000);
es[1] = lop(&s->elop2[1], hip(&s->ehip2[1], es[1], 2), 20000);
compress(es, &s->ecompress2, 5, 10, 25, 48, es);
diff @ 2019-11-23 19:40:06 +0000
diff --git a/client/go.c b/client/go.c
index c3de3f1af..5bb92f608 100644
--- a/client/go.c
+++ b/client/go.c
@@ -355,7 +355,7 @@ int 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 : 1./4);
- sample rdelms = ldelms;
+ sample rdelms = 60000 / bpm * (p < 0.5 ? 1./2 : 1./4);
ldelms = lop(&s->elop[0], ldelms, 5);
rdelms = lop(&s->elop[1], rdelms, 5);
sample el = delread4(&s->edelay1, ldelms + co);
diff @ 2019-11-23 19:40:13 +0000
diff --git a/client/go.c b/client/go.c
index 5bb92f608..32638c78d 100644
--- a/client/go.c
+++ b/client/go.c
@@ -354,7 +354,7 @@ int 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./4);
+ sample ldelms = 60000 / bpm * (p < 0.75 ? 1./2 : 1./16);
sample rdelms = 60000 / bpm * (p < 0.5 ? 1./2 : 1./4);
ldelms = lop(&s->elop[0], ldelms, 5);
rdelms = lop(&s->elop[1], rdelms, 5);
diff @ 2019-11-23 19:40:17 +0000
diff --git a/client/go.c b/client/go.c
index 32638c78d..1ffb3842b 100644
--- a/client/go.c
+++ b/client/go.c
@@ -362,8 +362,8 @@ int go(S *s, int channels, const float *in, float *out) {
sample er = delread4(&s->edelay2, rdelms + si);
sample es[2] = { co * el + si * er, -si * el + co * er };
compress(es, &s->ecompress1, 5, 10, 25, 48, es);
- es[0] = mix(mixdown[0], es[0], mix(0.1, pow(wrap(8 * p), (sample) 0.25), 0));
- es[1] = mix(mixdown[1], es[1], mix(0.1, pow(wrap(8 * p), (sample) 0.25), 0));
+ es[0] = mix(mixdown[0], es[0], mix(0.2, pow(wrap(8 * p), (sample) 0.25), 0));
+ es[1] = mix(mixdown[1], es[1], mix(0.2, pow(wrap(8 * p), (sample) 0.25), 0));
es[0] = lop(&s->elop2[0], hip(&s->ehip2[0], es[0], 2), 20000);
es[1] = lop(&s->elop2[1], hip(&s->ehip2[1], es[1], 2), 20000);
compress(es, &s->ecompress2, 5, 10, 25, 48, es);
diff @ 2019-11-23 19:40:27 +0000
diff --git a/client/go.c b/client/go.c
index 1ffb3842b..3afa3661e 100644
--- a/client/go.c
+++ b/client/go.c
@@ -326,7 +326,7 @@ int go(S *s, int channels, const float *in, float *out) {
sample hat = wrap(64 * p) < 0.125 * (p + 0.5);
hat *= 1;
sample khz = 60 + 20 * (wrap(8 * p) > 0.75) + 10 * (wrap(8 * p) > 0.5) + 10 * (wrap(2 * p) > 0.75);
- kick +=tanh(vcf(&s->tkick[0], kick, khz, 150)*50)*2;
+ kick +=tanh(vcf(&s->tkick[0], kick, khz, 50)*20)*2;
kick += sin(vcf(&s->tkick[1], kick, khz * (wrap(4 * p) < 0.5 ? 2 : 3), 15)*15);
kick += sin(vcf(&s->tkick[2], kick, khz*7, 150)*25)
* sin(vcf(&s->tkick[3], kick, khz*9, 150)*25);
diff @ 2019-11-23 19:40:37 +0000
diff --git a/client/go.c b/client/go.c
index 3afa3661e..6b4df61b9 100644
--- a/client/go.c
+++ b/client/go.c
@@ -362,8 +362,8 @@ int go(S *s, int channels, const float *in, float *out) {
sample er = delread4(&s->edelay2, rdelms + si);
sample es[2] = { co * el + si * er, -si * el + co * er };
compress(es, &s->ecompress1, 5, 10, 25, 48, es);
- es[0] = mix(mixdown[0], es[0], mix(0.2, pow(wrap(8 * p), (sample) 0.25), 0));
- es[1] = mix(mixdown[1], es[1], mix(0.2, pow(wrap(8 * p), (sample) 0.25), 0));
+ es[0] = mix(mixdown[0], es[0], mix(0.3, pow(wrap(8 * p), (sample) 0.25), 0));
+ es[1] = mix(mixdown[1], es[1], mix(0.3, pow(wrap(8 * p), (sample) 0.25), 0));
es[0] = lop(&s->elop2[0], hip(&s->ehip2[0], es[0], 2), 20000);
es[1] = lop(&s->elop2[1], hip(&s->ehip2[1], es[1], 2), 20000);
compress(es, &s->ecompress2, 5, 10, 25, 48, es);
diff @ 2019-11-23 19:40:42 +0000
diff --git a/client/go.c b/client/go.c
index 6b4df61b9..6217bf11c 100644
--- a/client/go.c
+++ b/client/go.c
@@ -362,8 +362,8 @@ int go(S *s, int channels, const float *in, float *out) {
sample er = delread4(&s->edelay2, rdelms + si);
sample es[2] = { co * el + si * er, -si * el + co * er };
compress(es, &s->ecompress1, 5, 10, 25, 48, es);
- es[0] = mix(mixdown[0], es[0], mix(0.3, pow(wrap(8 * p), (sample) 0.25), 0));
- es[1] = mix(mixdown[1], es[1], mix(0.3, pow(wrap(8 * p), (sample) 0.25), 0));
+ es[0] = mix(mixdown[0], es[0], mix(0.4, pow(wrap(8 * p), (sample) 0.25), 0));
+ es[1] = mix(mixdown[1], es[1], mix(0.4, pow(wrap(8 * p), (sample) 0.25), 0));
es[0] = lop(&s->elop2[0], hip(&s->ehip2[0], es[0], 2), 20000);
es[1] = lop(&s->elop2[1], hip(&s->ehip2[1], es[1], 2), 20000);
compress(es, &s->ecompress2, 5, 10, 25, 48, es);
diff @ 2019-11-23 19:40:51 +0000
diff --git a/client/go.c b/client/go.c
index 6217bf11c..211b2abdf 100644
--- a/client/go.c
+++ b/client/go.c
@@ -364,8 +364,8 @@ int go(S *s, int channels, const float *in, float *out) {
compress(es, &s->ecompress1, 5, 10, 25, 48, es);
es[0] = mix(mixdown[0], es[0], mix(0.4, pow(wrap(8 * p), (sample) 0.25), 0));
es[1] = mix(mixdown[1], es[1], mix(0.4, pow(wrap(8 * p), (sample) 0.25), 0));
- es[0] = lop(&s->elop2[0], hip(&s->ehip2[0], es[0], 2), 20000);
- es[1] = lop(&s->elop2[1], hip(&s->ehip2[1], es[1], 2), 20000);
+ es[0] = lop(&s->elop2[0], hip(&s->ehip2[0], es[0], 20), 20000);
+ es[1] = lop(&s->elop2[1], hip(&s->ehip2[1], es[1], 20), 20000);
compress(es, &s->ecompress2, 5, 10, 25, 48, es);
delwrite(&s->edelay1, es[0]);
delwrite(&s->edelay2, es[1]);
diff @ 2019-11-23 19:40:54 +0000
diff --git a/client/go.c b/client/go.c
index 211b2abdf..084dbb144 100644
--- a/client/go.c
+++ b/client/go.c
@@ -364,8 +364,8 @@ int go(S *s, int channels, const float *in, float *out) {
compress(es, &s->ecompress1, 5, 10, 25, 48, es);
es[0] = mix(mixdown[0], es[0], mix(0.4, pow(wrap(8 * p), (sample) 0.25), 0));
es[1] = mix(mixdown[1], es[1], mix(0.4, pow(wrap(8 * p), (sample) 0.25), 0));
- es[0] = lop(&s->elop2[0], hip(&s->ehip2[0], es[0], 20), 20000);
- es[1] = lop(&s->elop2[1], hip(&s->ehip2[1], es[1], 20), 20000);
+ es[0] = lop(&s->elop2[0], hip(&s->ehip2[0], es[0], 200), 20000);
+ es[1] = lop(&s->elop2[1], hip(&s->ehip2[1], es[1], 200), 20000);
compress(es, &s->ecompress2, 5, 10, 25, 48, es);
delwrite(&s->edelay1, es[0]);
delwrite(&s->edelay2, es[1]);
diff @ 2019-11-23 19:41:04 +0000
diff --git a/client/go.c b/client/go.c
index 084dbb144..1d0473bbf 100644
--- a/client/go.c
+++ b/client/go.c
@@ -356,8 +356,8 @@ int go(S *s, int channels, const float *in, float *out) {
sample si = sin(t);
sample ldelms = 60000 / bpm * (p < 0.75 ? 1./2 : 1./16);
sample rdelms = 60000 / bpm * (p < 0.5 ? 1./2 : 1./4);
- 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-11-23 19:41:10 +0000
diff --git a/client/go.c b/client/go.c
index 1d0473bbf..721369240 100644
--- a/client/go.c
+++ b/client/go.c
@@ -355,7 +355,7 @@ int 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./2 : 1./16);
- sample rdelms = 60000 / bpm * (p < 0.5 ? 1./2 : 1./4);
+ sample rdelms = 60000 / bpm * (p < 0.5 ? 1./2 : 1./64);
ldelms = lop(&s->elop[0], ldelms, 2);
rdelms = lop(&s->elop[1], rdelms, 2);
sample el = delread4(&s->edelay1, ldelms + co);
diff @ 2019-11-23 19:41:16 +0000
diff --git a/client/go.c b/client/go.c
index 721369240..3c5fff841 100644
--- a/client/go.c
+++ b/client/go.c
@@ -362,8 +362,8 @@ int go(S *s, int channels, const float *in, float *out) {
sample er = delread4(&s->edelay2, rdelms + si);
sample es[2] = { co * el + si * er, -si * el + co * er };
compress(es, &s->ecompress1, 5, 10, 25, 48, es);
- es[0] = mix(mixdown[0], es[0], mix(0.4, pow(wrap(8 * p), (sample) 0.25), 0));
- es[1] = mix(mixdown[1], es[1], mix(0.4, pow(wrap(8 * p), (sample) 0.25), 0));
+ es[0] = mix(mixdown[0], es[0], mix(0.5, pow(wrap(8 * p), (sample) 0.25), 0));
+ es[1] = mix(mixdown[1], es[1], mix(0.5, pow(wrap(8 * p), (sample) 0.25), 0));
es[0] = lop(&s->elop2[0], hip(&s->ehip2[0], es[0], 200), 20000);
es[1] = lop(&s->elop2[1], hip(&s->ehip2[1], es[1], 200), 20000);
compress(es, &s->ecompress2, 5, 10, 25, 48, es);
diff @ 2019-11-23 19:41:22 +0000
diff --git a/client/go.c b/client/go.c
index 3c5fff841..295303a37 100644
--- a/client/go.c
+++ b/client/go.c
@@ -362,8 +362,8 @@ int go(S *s, int channels, const float *in, float *out) {
sample er = delread4(&s->edelay2, rdelms + si);
sample es[2] = { co * el + si * er, -si * el + co * er };
compress(es, &s->ecompress1, 5, 10, 25, 48, es);
- es[0] = mix(mixdown[0], es[0], mix(0.5, pow(wrap(8 * p), (sample) 0.25), 0));
- es[1] = mix(mixdown[1], es[1], mix(0.5, pow(wrap(8 * p), (sample) 0.25), 0));
+ es[0] = mix(mixdown[0], es[0], mix(0.7, pow(wrap(8 * p), (sample) 0.25), 0));
+ es[1] = mix(mixdown[1], es[1], mix(0.7, pow(wrap(8 * p), (sample) 0.25), 0));
es[0] = lop(&s->elop2[0], hip(&s->ehip2[0], es[0], 200), 20000);
es[1] = lop(&s->elop2[1], hip(&s->ehip2[1], es[1], 200), 20000);
compress(es, &s->ecompress2, 5, 10, 25, 48, es);
diff @ 2019-11-23 19:41:28 +0000
diff --git a/client/go.c b/client/go.c
index 295303a37..956e13575 100644
--- a/client/go.c
+++ b/client/go.c
@@ -362,8 +362,8 @@ int go(S *s, int channels, const float *in, float *out) {
sample er = delread4(&s->edelay2, rdelms + si);
sample es[2] = { co * el + si * er, -si * el + co * er };
compress(es, &s->ecompress1, 5, 10, 25, 48, es);
- es[0] = mix(mixdown[0], es[0], mix(0.7, pow(wrap(8 * p), (sample) 0.25), 0));
- es[1] = mix(mixdown[1], es[1], mix(0.7, pow(wrap(8 * p), (sample) 0.25), 0));
+ es[0] = mix(mixdown[0], es[0], mix(0.8, pow(wrap(8 * p), (sample) 0.25), 0));
+ es[1] = mix(mixdown[1], es[1], mix(0.8, pow(wrap(8 * p), (sample) 0.25), 0));
es[0] = lop(&s->elop2[0], hip(&s->ehip2[0], es[0], 200), 20000);
es[1] = lop(&s->elop2[1], hip(&s->ehip2[1], es[1], 200), 20000);
compress(es, &s->ecompress2, 5, 10, 25, 48, es);
diff @ 2019-11-23 19:41:35 +0000
diff --git a/client/go.c b/client/go.c
index 956e13575..6ae06bdfd 100644
--- a/client/go.c
+++ b/client/go.c
@@ -362,8 +362,8 @@ int go(S *s, int channels, const float *in, float *out) {
sample er = delread4(&s->edelay2, rdelms + si);
sample es[2] = { co * el + si * er, -si * el + co * er };
compress(es, &s->ecompress1, 5, 10, 25, 48, es);
- es[0] = mix(mixdown[0], es[0], mix(0.8, pow(wrap(8 * p), (sample) 0.25), 0));
- es[1] = mix(mixdown[1], es[1], mix(0.8, pow(wrap(8 * p), (sample) 0.25), 0));
+ es[0] = mix(mixdown[0], es[0], mix(1, pow(wrap(8 * p), (sample) 0.25), 0));
+ es[1] = mix(mixdown[1], es[1], mix(1, pow(wrap(8 * p), (sample) 0.25), 0));
es[0] = lop(&s->elop2[0], hip(&s->ehip2[0], es[0], 200), 20000);
es[1] = lop(&s->elop2[1], hip(&s->ehip2[1], es[1], 200), 20000);
compress(es, &s->ecompress2, 5, 10, 25, 48, es);
diff @ 2019-11-23 19:41:41 +0000
diff --git a/client/go.c b/client/go.c
index 6ae06bdfd..4aee1d635 100644
--- a/client/go.c
+++ b/client/go.c
@@ -364,8 +364,8 @@ int go(S *s, int channels, const float *in, float *out) {
compress(es, &s->ecompress1, 5, 10, 25, 48, es);
es[0] = mix(mixdown[0], es[0], mix(1, pow(wrap(8 * p), (sample) 0.25), 0));
es[1] = mix(mixdown[1], es[1], mix(1, pow(wrap(8 * p), (sample) 0.25), 0));
- es[0] = lop(&s->elop2[0], hip(&s->ehip2[0], es[0], 200), 20000);
- es[1] = lop(&s->elop2[1], hip(&s->ehip2[1], es[1], 200), 20000);
+ es[0] = lop(&s->elop2[0], hip(&s->ehip2[0], es[0], 20), 20000);
+ es[1] = lop(&s->elop2[1], hip(&s->ehip2[1], es[1], 20), 20000);
compress(es, &s->ecompress2, 5, 10, 25, 48, es);
delwrite(&s->edelay1, es[0]);
delwrite(&s->edelay2, es[1]);
diff @ 2019-11-23 19:41:49 +0000
diff --git a/client/go.c b/client/go.c
index 4aee1d635..effe5cadf 100644
--- a/client/go.c
+++ b/client/go.c
@@ -364,8 +364,8 @@ int go(S *s, int channels, const float *in, float *out) {
compress(es, &s->ecompress1, 5, 10, 25, 48, es);
es[0] = mix(mixdown[0], es[0], mix(1, pow(wrap(8 * p), (sample) 0.25), 0));
es[1] = mix(mixdown[1], es[1], mix(1, pow(wrap(8 * p), (sample) 0.25), 0));
- es[0] = lop(&s->elop2[0], hip(&s->ehip2[0], es[0], 20), 20000);
- es[1] = lop(&s->elop2[1], hip(&s->ehip2[1], es[1], 20), 20000);
+ es[0] = lop(&s->elop2[0], hip(&s->ehip2[0], es[0], 20), 2000);
+ es[1] = lop(&s->elop2[1], hip(&s->ehip2[1], es[1], 20), 2000);
compress(es, &s->ecompress2, 5, 10, 25, 48, es);
delwrite(&s->edelay1, es[0]);
delwrite(&s->edelay2, es[1]);
diff @ 2019-11-23 19:41:56 +0000
diff --git a/client/go.c b/client/go.c
index effe5cadf..b64081c8d 100644
--- a/client/go.c
+++ b/client/go.c
@@ -364,8 +364,8 @@ int go(S *s, int channels, const float *in, float *out) {
compress(es, &s->ecompress1, 5, 10, 25, 48, es);
es[0] = mix(mixdown[0], es[0], mix(1, pow(wrap(8 * p), (sample) 0.25), 0));
es[1] = mix(mixdown[1], es[1], mix(1, pow(wrap(8 * p), (sample) 0.25), 0));
- es[0] = lop(&s->elop2[0], hip(&s->ehip2[0], es[0], 20), 2000);
- es[1] = lop(&s->elop2[1], hip(&s->ehip2[1], es[1], 20), 2000);
+ es[0] = lop(&s->elop2[0], hip(&s->ehip2[0], es[0], 20), 12000);
+ es[1] = lop(&s->elop2[1], hip(&s->ehip2[1], es[1], 20), 12000);
compress(es, &s->ecompress2, 5, 10, 25, 48, es);
delwrite(&s->edelay1, es[0]);
delwrite(&s->edelay2, es[1]);
diff @ 2019-11-23 19:42:02 +0000
diff --git a/client/go.c b/client/go.c
index b64081c8d..5f20c1b43 100644
--- a/client/go.c
+++ b/client/go.c
@@ -354,8 +354,8 @@ int 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 : 1./16);
- sample rdelms = 60000 / bpm * (p < 0.5 ? 1./2 : 1./64);
+ sample ldelms = 60000 / bpm * (p < 0.75 ? 1./4 : 1./16);
+ sample rdelms = 60000 / bpm * (p < 0.5 ? 1./4 : 1./64);
ldelms = lop(&s->elop[0], ldelms, 2);
rdelms = lop(&s->elop[1], rdelms, 2);
sample el = delread4(&s->edelay1, ldelms + co);
diff @ 2019-11-23 19:42:16 +0000
diff --git a/client/go.c b/client/go.c
index 5f20c1b43..b43379c87 100644
--- a/client/go.c
+++ b/client/go.c
@@ -355,7 +355,7 @@ int 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./4 : 1./16);
- sample rdelms = 60000 / bpm * (p < 0.5 ? 1./4 : 1./64);
+ sample rdelms = 60000 / bpm * (p < 0.5 ? 1./4 : 1./pow(2, 6));
ldelms = lop(&s->elop[0], ldelms, 2);
rdelms = lop(&s->elop[1], rdelms, 2);
sample el = delread4(&s->edelay1, ldelms + co);
diff @ 2019-11-23 19:42:31 +0000
diff --git a/client/go.c b/client/go.c
index b43379c87..688f606a3 100644
--- a/client/go.c
+++ b/client/go.c
@@ -182,6 +182,7 @@ typedef struct {
LOP elop[2];
LOP elop2[2];
HIP ehip2[2];
+ SAMPHOLD esh[2][2];
///]]] EL DAY DE LAY
///[[[ FIFTY-NINE STELLATIONS
diff @ 2019-11-23 19:43:05 +0000
diff --git a/client/go.c b/client/go.c
index 688f606a3..0d626692b 100644
--- a/client/go.c
+++ b/client/go.c
@@ -356,7 +356,7 @@ int 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./4 : 1./16);
- sample rdelms = 60000 / bpm * (p < 0.5 ? 1./4 : 1./pow(2, 6));
+ sample rdelms = 60000 / bpm * (p < 0.5 ? 1./4 : 1./pow(2, 4 * samphold(&s->esh[1][1], noise() + 1, p)));
ldelms = lop(&s->elop[0], ldelms, 2);
rdelms = lop(&s->elop[1], rdelms, 2);
sample el = delread4(&s->edelay1, ldelms + co);
diff @ 2019-11-23 19:43:15 +0000
diff --git a/client/go.c b/client/go.c
index 0d626692b..3ee2ccb80 100644
--- a/client/go.c
+++ b/client/go.c
@@ -355,7 +355,7 @@ int 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./4 : 1./16);
+ sample ldelms = 60000 / bpm * (p < 0.75 ? 1./4 : 1./pow(2, 4 * samphold(&s->esh[1][0], noise() + 1, p))));
sample rdelms = 60000 / bpm * (p < 0.5 ? 1./4 : 1./pow(2, 4 * samphold(&s->esh[1][1], noise() + 1, p)));
ldelms = lop(&s->elop[0], ldelms, 2);
rdelms = lop(&s->elop[1], rdelms, 2);
diff @ 2019-11-23 19:43:32 +0000
diff --git a/client/go.c b/client/go.c
index 3ee2ccb80..f28f3ab3a 100644
--- a/client/go.c
+++ b/client/go.c
@@ -355,7 +355,10 @@ int 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./4 : 1./pow(2, 4 * samphold(&s->esh[1][0], noise() + 1, p))));
+ sample ldelms = 60000 / bpm * (p < 0.75
+ ? 1./4
+ : 1./pow(2, 4 * samphold(&s->esh[1][0], noise() + 1, p))
+ );
sample rdelms = 60000 / bpm * (p < 0.5 ? 1./4 : 1./pow(2, 4 * samphold(&s->esh[1][1], noise() + 1, p)));
ldelms = lop(&s->elop[0], ldelms, 2);
rdelms = lop(&s->elop[1], rdelms, 2);
diff @ 2019-11-23 19:43:44 +0000
diff --git a/client/go.c b/client/go.c
index f28f3ab3a..e2c6b031c 100644
--- a/client/go.c
+++ b/client/go.c
@@ -359,7 +359,10 @@ int go(S *s, int channels, const float *in, float *out) {
? 1./4
: 1./pow(2, 4 * samphold(&s->esh[1][0], noise() + 1, p))
);
- sample rdelms = 60000 / bpm * (p < 0.5 ? 1./4 : 1./pow(2, 4 * samphold(&s->esh[1][1], noise() + 1, p)));
+ sample rdelms = 60000 / bpm * (p < 0.5
+ ? 1./4
+ : 1./pow(2, 4 * samphold(&s->esh[1][1], noise() + 1, p))
+ );
ldelms = lop(&s->elop[0], ldelms, 2);
rdelms = lop(&s->elop[1], rdelms, 2);
sample el = delread4(&s->edelay1, ldelms + co);
diff @ 2019-11-23 19:43:49 +0000
diff --git a/client/go.c b/client/go.c
index e2c6b031c..757a4d765 100644
--- a/client/go.c
+++ b/client/go.c
@@ -356,11 +356,11 @@ int 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./4
+ ? 1./2
: 1./pow(2, 4 * samphold(&s->esh[1][0], noise() + 1, p))
);
sample rdelms = 60000 / bpm * (p < 0.5
- ? 1./4
+ ? 1./2
: 1./pow(2, 4 * samphold(&s->esh[1][1], noise() + 1, p))
);
ldelms = lop(&s->elop[0], ldelms, 2);
diff @ 2019-11-23 19:43:55 +0000
diff --git a/client/go.c b/client/go.c
index 757a4d765..10f19050d 100644
--- a/client/go.c
+++ b/client/go.c
@@ -356,11 +356,11 @@ int 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./2
+ ? 1.
: 1./pow(2, 4 * samphold(&s->esh[1][0], noise() + 1, p))
);
sample rdelms = 60000 / bpm * (p < 0.5
- ? 1./2
+ ? 1.
: 1./pow(2, 4 * samphold(&s->esh[1][1], noise() + 1, p))
);
ldelms = lop(&s->elop[0], ldelms, 2);
diff @ 2019-11-23 19:44:07 +0000
diff --git a/client/go.c b/client/go.c
index 10f19050d..c4eeb01f4 100644
--- a/client/go.c
+++ b/client/go.c
@@ -359,7 +359,7 @@ int go(S *s, int channels, const float *in, float *out) {
? 1.
: 1./pow(2, 4 * samphold(&s->esh[1][0], noise() + 1, p))
);
- sample rdelms = 60000 / bpm * (p < 0.5
+ sample rdelms = 60000 / bpm * (p < 0.875
? 1.
: 1./pow(2, 4 * samphold(&s->esh[1][1], noise() + 1, p))
);
diff @ 2019-11-23 19:44:13 +0000
diff --git a/client/go.c b/client/go.c
index c4eeb01f4..715d2942d 100644
--- a/client/go.c
+++ b/client/go.c
@@ -355,7 +355,7 @@ int 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
+ sample ldelms = 60000 / bpm * (p < 0.875
? 1.
: 1./pow(2, 4 * samphold(&s->esh[1][0], noise() + 1, p))
);
diff @ 2019-11-23 19:44:20 +0000
diff --git a/client/go.c b/client/go.c
index 715d2942d..12c62853b 100644
--- a/client/go.c
+++ b/client/go.c
@@ -357,7 +357,7 @@ int go(S *s, int channels, const float *in, float *out) {
sample si = sin(t);
sample ldelms = 60000 / bpm * (p < 0.875
? 1.
- : 1./pow(2, 4 * samphold(&s->esh[1][0], noise() + 1, p))
+ : 1./pow(2, floor(4 * samphold(&s->esh[1][0], noise() + 1, p)))
);
sample rdelms = 60000 / bpm * (p < 0.875
? 1.
diff @ 2019-11-23 19:44:27 +0000
diff --git a/client/go.c b/client/go.c
index 12c62853b..fc8b646b0 100644
--- a/client/go.c
+++ b/client/go.c
@@ -361,7 +361,7 @@ int go(S *s, int channels, const float *in, float *out) {
);
sample rdelms = 60000 / bpm * (p < 0.875
? 1.
- : 1./pow(2, 4 * samphold(&s->esh[1][1], noise() + 1, p))
+ : 1./pow(2, floor(4 * samphold(&s->esh[1][1], noise() + 1, p)))
);
ldelms = lop(&s->elop[0], ldelms, 2);
rdelms = lop(&s->elop[1], rdelms, 2);
diff @ 2019-11-23 19:44:35 +0000
diff --git a/client/go.c b/client/go.c
index fc8b646b0..225a5f526 100644
--- a/client/go.c
+++ b/client/go.c
@@ -369,8 +369,8 @@ int go(S *s, int channels, const float *in, float *out) {
sample er = delread4(&s->edelay2, rdelms + si);
sample es[2] = { co * el + si * er, -si * el + co * er };
compress(es, &s->ecompress1, 5, 10, 25, 48, es);
- es[0] = mix(mixdown[0], es[0], mix(1, pow(wrap(8 * p), (sample) 0.25), 0));
- es[1] = mix(mixdown[1], es[1], mix(1, pow(wrap(8 * p), (sample) 0.25), 0));
+ es[0] = mix(mixdown[0], es[0], mix(1, pow(wrap(8 * p), (sample) 0.25), 0.1));
+ es[1] = mix(mixdown[1], es[1], mix(1, pow(wrap(8 * p), (sample) 0.25), 0.1));
es[0] = lop(&s->elop2[0], hip(&s->ehip2[0], es[0], 20), 12000);
es[1] = lop(&s->elop2[1], hip(&s->ehip2[1], es[1], 20), 12000);
compress(es, &s->ecompress2, 5, 10, 25, 48, es);
diff @ 2019-11-23 19:44:40 +0000
diff --git a/client/go.c b/client/go.c
index 225a5f526..7a5a7579a 100644
--- a/client/go.c
+++ b/client/go.c
@@ -369,8 +369,8 @@ int go(S *s, int channels, const float *in, float *out) {
sample er = delread4(&s->edelay2, rdelms + si);
sample es[2] = { co * el + si * er, -si * el + co * er };
compress(es, &s->ecompress1, 5, 10, 25, 48, es);
- es[0] = mix(mixdown[0], es[0], mix(1, pow(wrap(8 * p), (sample) 0.25), 0.1));
- es[1] = mix(mixdown[1], es[1], mix(1, pow(wrap(8 * p), (sample) 0.25), 0.1));
+ es[0] = mix(mixdown[0], es[0], mix(1, pow(wrap(8 * p), (sample) 0.25), 0.2));
+ es[1] = mix(mixdown[1], es[1], mix(1, pow(wrap(8 * p), (sample) 0.25), 0.2));
es[0] = lop(&s->elop2[0], hip(&s->ehip2[0], es[0], 20), 12000);
es[1] = lop(&s->elop2[1], hip(&s->ehip2[1], es[1], 20), 12000);
compress(es, &s->ecompress2, 5, 10, 25, 48, es);
diff @ 2019-11-23 19:44:47 +0000
diff --git a/client/go.c b/client/go.c
index 7a5a7579a..c403664a6 100644
--- a/client/go.c
+++ b/client/go.c
@@ -369,8 +369,8 @@ int go(S *s, int channels, const float *in, float *out) {
sample er = delread4(&s->edelay2, rdelms + si);
sample es[2] = { co * el + si * er, -si * el + co * er };
compress(es, &s->ecompress1, 5, 10, 25, 48, es);
- es[0] = mix(mixdown[0], es[0], mix(1, pow(wrap(8 * p), (sample) 0.25), 0.2));
- es[1] = mix(mixdown[1], es[1], mix(1, pow(wrap(8 * p), (sample) 0.25), 0.2));
+ es[0] = mix(mixdown[0], es[0], mix(1, pow(wrap(8 * p), (sample) 0.25), 0.3));
+ es[1] = mix(mixdown[1], es[1], mix(1, pow(wrap(8 * p), (sample) 0.25), 0.3));
es[0] = lop(&s->elop2[0], hip(&s->ehip2[0], es[0], 20), 12000);
es[1] = lop(&s->elop2[1], hip(&s->ehip2[1], es[1], 20), 12000);
compress(es, &s->ecompress2, 5, 10, 25, 48, es);
diff @ 2019-11-23 19:45:03 +0000
diff --git a/client/go.c b/client/go.c
index c403664a6..21a9dbe50 100644
--- a/client/go.c
+++ b/client/go.c
@@ -326,7 +326,7 @@ int go(S *s, int channels, const float *in, float *out) {
kick = tanh(kick);
sample hat = wrap(64 * p) < 0.125 * (p + 0.5);
hat *= 1;
- sample khz = 60 + 20 * (wrap(8 * p) > 0.75) + 10 * (wrap(8 * p) > 0.5) + 10 * (wrap(2 * p) > 0.75);
+ sample khz = 60 + 20 * (wrap(8 * p) > 1) + 10 * (wrap(8 * p) > 1) + 10 * (wrap(2 * p) > 1);
kick +=tanh(vcf(&s->tkick[0], kick, khz, 50)*20)*2;
kick += sin(vcf(&s->tkick[1], kick, khz * (wrap(4 * p) < 0.5 ? 2 : 3), 15)*15);
kick += sin(vcf(&s->tkick[2], kick, khz*7, 150)*25)
diff @ 2019-11-23 19:45:13 +0000
diff --git a/client/go.c b/client/go.c
index 21a9dbe50..42856a89d 100644
--- a/client/go.c
+++ b/client/go.c
@@ -210,7 +210,7 @@ int go(S *s, int channels, const float *in, float *out) {
}
///((( MIXDOWN
- sample bpm = SR * 60.0 / 4096.0 / 5.0;
+ sample bpm = SR * 60.0 / 4096.0 / 4.0;
sample ms4 = 1000.0 * 60.0 / bpm / 4.0;
sample mixdown[2] = { 0, 0 };
int time = 0;
diff @ 2019-11-23 19:45:25 +0000
diff --git a/client/go.c b/client/go.c
index 42856a89d..4d614ff52 100644
--- a/client/go.c
+++ b/client/go.c
@@ -369,8 +369,8 @@ int go(S *s, int channels, const float *in, float *out) {
sample er = delread4(&s->edelay2, rdelms + si);
sample es[2] = { co * el + si * er, -si * el + co * er };
compress(es, &s->ecompress1, 5, 10, 25, 48, es);
- es[0] = mix(mixdown[0], es[0], mix(1, pow(wrap(8 * p), (sample) 0.25), 0.3));
- es[1] = mix(mixdown[1], es[1], mix(1, pow(wrap(8 * p), (sample) 0.25), 0.3));
+ es[0] = mix(mixdown[0], es[0], mix(1, pow(wrap(8 * p), (sample) 0.25), 0.4));
+ es[1] = mix(mixdown[1], es[1], mix(1, pow(wrap(8 * p), (sample) 0.25), 0.4));
es[0] = lop(&s->elop2[0], hip(&s->ehip2[0], es[0], 20), 12000);
es[1] = lop(&s->elop2[1], hip(&s->ehip2[1], es[1], 20), 12000);
compress(es, &s->ecompress2, 5, 10, 25, 48, es);
diff @ 2019-11-23 19:45:28 +0000
diff --git a/client/go.c b/client/go.c
index 4d614ff52..d15cdc611 100644
--- a/client/go.c
+++ b/client/go.c
@@ -369,8 +369,8 @@ int go(S *s, int channels, const float *in, float *out) {
sample er = delread4(&s->edelay2, rdelms + si);
sample es[2] = { co * el + si * er, -si * el + co * er };
compress(es, &s->ecompress1, 5, 10, 25, 48, es);
- es[0] = mix(mixdown[0], es[0], mix(1, pow(wrap(8 * p), (sample) 0.25), 0.4));
- es[1] = mix(mixdown[1], es[1], mix(1, pow(wrap(8 * p), (sample) 0.25), 0.4));
+ es[0] = mix(mixdown[0], es[0], mix(1, pow(wrap(8 * p), (sample) 0.25), 0.5));
+ es[1] = mix(mixdown[1], es[1], mix(1, pow(wrap(8 * p), (sample) 0.25), 0.5));
es[0] = lop(&s->elop2[0], hip(&s->ehip2[0], es[0], 20), 12000);
es[1] = lop(&s->elop2[1], hip(&s->ehip2[1], es[1], 20), 12000);
compress(es, &s->ecompress2, 5, 10, 25, 48, es);
diff @ 2019-11-23 19:45:31 +0000
diff --git a/client/go.c b/client/go.c
index d15cdc611..d2882eb00 100644
--- a/client/go.c
+++ b/client/go.c
@@ -369,8 +369,8 @@ int go(S *s, int channels, const float *in, float *out) {
sample er = delread4(&s->edelay2, rdelms + si);
sample es[2] = { co * el + si * er, -si * el + co * er };
compress(es, &s->ecompress1, 5, 10, 25, 48, es);
- es[0] = mix(mixdown[0], es[0], mix(1, pow(wrap(8 * p), (sample) 0.25), 0.5));
- es[1] = mix(mixdown[1], es[1], mix(1, pow(wrap(8 * p), (sample) 0.25), 0.5));
+ es[0] = mix(mixdown[0], es[0], mix(1, pow(wrap(8 * p), (sample) 0.25), 0.6));
+ es[1] = mix(mixdown[1], es[1], mix(1, pow(wrap(8 * p), (sample) 0.25), 0.6));
es[0] = lop(&s->elop2[0], hip(&s->ehip2[0], es[0], 20), 12000);
es[1] = lop(&s->elop2[1], hip(&s->ehip2[1], es[1], 20), 12000);
compress(es, &s->ecompress2, 5, 10, 25, 48, es);
diff @ 2019-11-23 19:45:34 +0000
diff --git a/client/go.c b/client/go.c
index d2882eb00..af94f8454 100644
--- a/client/go.c
+++ b/client/go.c
@@ -369,8 +369,8 @@ int go(S *s, int channels, const float *in, float *out) {
sample er = delread4(&s->edelay2, rdelms + si);
sample es[2] = { co * el + si * er, -si * el + co * er };
compress(es, &s->ecompress1, 5, 10, 25, 48, es);
- es[0] = mix(mixdown[0], es[0], mix(1, pow(wrap(8 * p), (sample) 0.25), 0.6));
- es[1] = mix(mixdown[1], es[1], mix(1, pow(wrap(8 * p), (sample) 0.25), 0.6));
+ es[0] = mix(mixdown[0], es[0], mix(1, pow(wrap(8 * p), (sample) 0.25), 0.7));
+ es[1] = mix(mixdown[1], es[1], mix(1, pow(wrap(8 * p), (sample) 0.25), 0.7));
es[0] = lop(&s->elop2[0], hip(&s->ehip2[0], es[0], 20), 12000);
es[1] = lop(&s->elop2[1], hip(&s->ehip2[1], es[1], 20), 12000);
compress(es, &s->ecompress2, 5, 10, 25, 48, es);
diff @ 2019-11-23 19:45:39 +0000
diff --git a/client/go.c b/client/go.c
index af94f8454..7756b2b48 100644
--- a/client/go.c
+++ b/client/go.c
@@ -369,8 +369,8 @@ int go(S *s, int channels, const float *in, float *out) {
sample er = delread4(&s->edelay2, rdelms + si);
sample es[2] = { co * el + si * er, -si * el + co * er };
compress(es, &s->ecompress1, 5, 10, 25, 48, es);
- es[0] = mix(mixdown[0], es[0], mix(1, pow(wrap(8 * p), (sample) 0.25), 0.7));
- es[1] = mix(mixdown[1], es[1], mix(1, pow(wrap(8 * p), (sample) 0.25), 0.7));
+ es[0] = mix(mixdown[0], es[0], mix(1, pow(wrap(8 * p), (sample) 0.25), 1));
+ es[1] = mix(mixdown[1], es[1], mix(1, pow(wrap(8 * p), (sample) 0.25), 1));
es[0] = lop(&s->elop2[0], hip(&s->ehip2[0], es[0], 20), 12000);
es[1] = lop(&s->elop2[1], hip(&s->ehip2[1], es[1], 20), 12000);
compress(es, &s->ecompress2, 5, 10, 25, 48, es);
diff @ 2019-11-23 19:46:00 +0000
diff --git a/client/go.c b/client/go.c
index 7756b2b48..bd02fdb41 100644
--- a/client/go.c
+++ b/client/go.c
@@ -352,7 +352,7 @@ int go(S *s, int channels, const float *in, float *out) {
{
s->edelay1.length = 4 * SR;
s->edelay2.length = 4 * SR;
- sample t = twopi * p;
+ sample t = 2 * twopi * p;
sample co = cos(t);
sample si = sin(t);
sample ldelms = 60000 / bpm * (p < 0.875
diff @ 2019-11-23 19:46:06 +0000
diff --git a/client/go.c b/client/go.c
index bd02fdb41..273890444 100644
--- a/client/go.c
+++ b/client/go.c
@@ -352,7 +352,7 @@ int go(S *s, int channels, const float *in, float *out) {
{
s->edelay1.length = 4 * SR;
s->edelay2.length = 4 * SR;
- sample t = 2 * twopi * p;
+ sample t = 4 * twopi * p;
sample co = cos(t);
sample si = sin(t);
sample ldelms = 60000 / bpm * (p < 0.875
diff @ 2019-11-23 19:46:12 +0000
diff --git a/client/go.c b/client/go.c
index 273890444..0b96a47f1 100644
--- a/client/go.c
+++ b/client/go.c
@@ -369,8 +369,8 @@ int go(S *s, int channels, const float *in, float *out) {
sample er = delread4(&s->edelay2, rdelms + si);
sample es[2] = { co * el + si * er, -si * el + co * er };
compress(es, &s->ecompress1, 5, 10, 25, 48, es);
- es[0] = mix(mixdown[0], es[0], mix(1, pow(wrap(8 * p), (sample) 0.25), 1));
- es[1] = mix(mixdown[1], es[1], mix(1, pow(wrap(8 * p), (sample) 0.25), 1));
+ es[0] = mix(mixdown[0], es[0], mix(1, pow(wrap(8 * p), (sample) 0.5), 1));
+ es[1] = mix(mixdown[1], es[1], mix(1, pow(wrap(8 * p), (sample) 0.5), 1));
es[0] = lop(&s->elop2[0], hip(&s->ehip2[0], es[0], 20), 12000);
es[1] = lop(&s->elop2[1], hip(&s->ehip2[1], es[1], 20), 12000);
compress(es, &s->ecompress2, 5, 10, 25, 48, es);
diff @ 2019-11-23 19:46:20 +0000
diff --git a/client/go.c b/client/go.c
index 0b96a47f1..84c7527f8 100644
--- a/client/go.c
+++ b/client/go.c
@@ -369,8 +369,8 @@ int go(S *s, int channels, const float *in, float *out) {
sample er = delread4(&s->edelay2, rdelms + si);
sample es[2] = { co * el + si * er, -si * el + co * er };
compress(es, &s->ecompress1, 5, 10, 25, 48, es);
- es[0] = mix(mixdown[0], es[0], mix(1, pow(wrap(8 * p), (sample) 0.5), 1));
- es[1] = mix(mixdown[1], es[1], mix(1, pow(wrap(8 * p), (sample) 0.5), 1));
+ es[0] = mix(mixdown[0], es[0], mix(1, pow(wrap(8 * p), (sample) 1), 1));
+ es[1] = mix(mixdown[1], es[1], mix(1, pow(wrap(8 * p), (sample) 1), 1));
es[0] = lop(&s->elop2[0], hip(&s->ehip2[0], es[0], 20), 12000);
es[1] = lop(&s->elop2[1], hip(&s->ehip2[1], es[1], 20), 12000);
compress(es, &s->ecompress2, 5, 10, 25, 48, es);
diff @ 2019-11-23 19:46:39 +0000
diff --git a/client/go.c b/client/go.c
index 84c7527f8..ca809d9cf 100644
--- a/client/go.c
+++ b/client/go.c
@@ -369,8 +369,8 @@ int go(S *s, int channels, const float *in, float *out) {
sample er = delread4(&s->edelay2, rdelms + si);
sample es[2] = { co * el + si * er, -si * el + co * er };
compress(es, &s->ecompress1, 5, 10, 25, 48, es);
- es[0] = mix(mixdown[0], es[0], mix(1, pow(wrap(8 * p), (sample) 1), 1));
- es[1] = mix(mixdown[1], es[1], mix(1, pow(wrap(8 * p), (sample) 1), 1));
+ es[0] = mix(mixdown[0], es[0], mix(1, pow(wrap(16 * p), (sample) 1), 1));
+ es[1] = mix(mixdown[1], es[1], mix(1, pow(wrap(16 * p), (sample) 1), 1));
es[0] = lop(&s->elop2[0], hip(&s->ehip2[0], es[0], 20), 12000);
es[1] = lop(&s->elop2[1], hip(&s->ehip2[1], es[1], 20), 12000);
compress(es, &s->ecompress2, 5, 10, 25, 48, es);
diff @ 2019-11-23 19:46:49 +0000
diff --git a/client/go.c b/client/go.c
index ca809d9cf..5fe1bfaa1 100644
--- a/client/go.c
+++ b/client/go.c
@@ -369,8 +369,8 @@ int go(S *s, int channels, const float *in, float *out) {
sample er = delread4(&s->edelay2, rdelms + si);
sample es[2] = { co * el + si * er, -si * el + co * er };
compress(es, &s->ecompress1, 5, 10, 25, 48, es);
- es[0] = mix(mixdown[0], es[0], mix(1, pow(wrap(16 * p), (sample) 1), 1));
- es[1] = mix(mixdown[1], es[1], mix(1, pow(wrap(16 * p), (sample) 1), 1));
+ es[0] = mix(mixdown[0], es[0], mix(1, pow(wrap(32 * p), (sample) 1), 1));
+ es[1] = mix(mixdown[1], es[1], mix(1, pow(wrap(32 * p), (sample) 1), 1));
es[0] = lop(&s->elop2[0], hip(&s->ehip2[0], es[0], 20), 12000);
es[1] = lop(&s->elop2[1], hip(&s->ehip2[1], es[1], 20), 12000);
compress(es, &s->ecompress2, 5, 10, 25, 48, es);
diff @ 2019-11-23 19:46:55 +0000
diff --git a/client/go.c b/client/go.c
index 5fe1bfaa1..48e5287bd 100644
--- a/client/go.c
+++ b/client/go.c
@@ -369,8 +369,8 @@ int go(S *s, int channels, const float *in, float *out) {
sample er = delread4(&s->edelay2, rdelms + si);
sample es[2] = { co * el + si * er, -si * el + co * er };
compress(es, &s->ecompress1, 5, 10, 25, 48, es);
- es[0] = mix(mixdown[0], es[0], mix(1, pow(wrap(32 * p), (sample) 1), 1));
- es[1] = mix(mixdown[1], es[1], mix(1, pow(wrap(32 * p), (sample) 1), 1));
+ es[0] = mix(mixdown[0], es[0], mix(1, pow(wrap(64 * p), (sample) 1), 1));
+ es[1] = mix(mixdown[1], es[1], mix(1, pow(wrap(64 * p), (sample) 1), 1));
es[0] = lop(&s->elop2[0], hip(&s->ehip2[0], es[0], 20), 12000);
es[1] = lop(&s->elop2[1], hip(&s->ehip2[1], es[1], 20), 12000);
compress(es, &s->ecompress2, 5, 10, 25, 48, es);
diff @ 2019-11-23 19:47:03 +0000
diff --git a/client/go.c b/client/go.c
index 48e5287bd..8762e0d29 100644
--- a/client/go.c
+++ b/client/go.c
@@ -369,8 +369,8 @@ int go(S *s, int channels, const float *in, float *out) {
sample er = delread4(&s->edelay2, rdelms + si);
sample es[2] = { co * el + si * er, -si * el + co * er };
compress(es, &s->ecompress1, 5, 10, 25, 48, es);
- es[0] = mix(mixdown[0], es[0], mix(1, pow(wrap(64 * p), (sample) 1), 1));
- es[1] = mix(mixdown[1], es[1], mix(1, pow(wrap(64 * p), (sample) 1), 1));
+ es[0] = mix(mixdown[0], es[0], mix(0, pow(wrap(64 * p), (sample) 1), 1));
+ es[1] = mix(mixdown[1], es[1], mix(0, pow(wrap(64 * p), (sample) 1), 1));
es[0] = lop(&s->elop2[0], hip(&s->ehip2[0], es[0], 20), 12000);
es[1] = lop(&s->elop2[1], hip(&s->ehip2[1], es[1], 20), 12000);
compress(es, &s->ecompress2, 5, 10, 25, 48, es);
diff @ 2019-11-23 19:47:18 +0000
diff @ 2019-11-23 19:47:30 +0000
diff --git a/client/go.c b/client/go.c
index aff1254a8..be01adf33 100644
--- a/client/go.c
+++ b/client/go.c
@@ -419,7 +419,7 @@ int go(S *s, int channels, const float *in, float *out) {
sample kick = sin(twopi * phasor(&s->kick59s[1], env + mod));
env2 = env2 + env2 * env2 * env2 * env2;
kick = 4 * hip(&s->hip59s[0], tanh(env2 * kick), 5);
- kick *= 0;
+ kick *= 1;
o[0] += kick;
o[1] += kick;
}
diff @ 2019-11-23 19:47:48 +0000
diff --git a/client/go.c b/client/go.c
index be01adf33..ed6395b13 100644
--- a/client/go.c
+++ b/client/go.c
@@ -222,7 +222,7 @@ int go(S *s, int channels, const float *in, float *out) {
}
///((( MIXDOWN
- sample bpm = SR * 60.0 / 4096.0 / 4.0;
+ sample bpm = SR * 60.0 / 4096.0 / 5.0;
sample ms4 = 1000.0 * 60.0 / bpm / 4.0;
sample mixdown[2] = { 0, 0 };
int time = 0;
diff @ 2019-11-23 19:48:08 +0000
diff --git a/client/go.c b/client/go.c
index ed6395b13..dfdf42d43 100644
--- a/client/go.c
+++ b/client/go.c
@@ -323,42 +323,6 @@ int go(S *s, int channels, const float *in, float *out) {
}
///}}} BINARAY /5
-///{{{ TOTAL INTRALIMINAL EXTRACTION
- {
- sample tilex[2] = { 0, 0 };
- p = wrap(time / 5.0 / (1 << 16));
- sample kick = 1 - wrap(16 * p);
- kick *= kick;
- kick *= kick;
- kick *= kick;
- sample kickenv = kick;
- kick *= 16;
- kick = sin(twopi * kick);
- kick *= 1 + kickenv;
- kick = tanh(kick);
- sample hat = wrap(64 * p) < 0.125 * (p + 0.5);
- hat *= 1;
- sample khz = 60 + 20 * (wrap(8 * p) > 1) + 10 * (wrap(8 * p) > 1) + 10 * (wrap(2 * p) > 1);
- kick +=tanh(vcf(&s->tkick[0], kick, khz, 50)*20)*2;
- kick += sin(vcf(&s->tkick[1], kick, khz * (wrap(4 * p) < 0.5 ? 2 : 3), 15)*15);
- kick += sin(vcf(&s->tkick[2], kick, khz*7, 150)*25)
- * sin(vcf(&s->tkick[3], kick, khz*9, 150)*25);
- sample crush = phasor(&s->tcrush, 3000 * pow(2, cos(twopi * p)));
- tilex[0] = samphold(&s->tcrushsh[0], noise() * hat, crush);
- tilex[1] = samphold(&s->tcrushsh[1], noise() * hat, crush);
- sample kgain = 1;
- kgain = samphold(&s->tgate[0], kgain, p);
- tilex[0] += kgain * kick;
- tilex[1] += kgain * kick;
- compress(tilex, &s->tcompress, 15, 1, 1, 48, tilex);
- sample gain = 1;
- gain = samphold(&s->tgate[1], gain, p);
- tilex[0] *= gain;
- tilex[1] *= gain;
- mixdown[0] += tilex[0];
- mixdown[1] += tilex[1];
- }
-///}}} TOTAL INTRALIMINAL EXTRACTION
///{{{ EL DAY DE LAY
{
diff @ 2019-11-23 19:48:14 +0000
diff --git a/client/go.c b/client/go.c
index dfdf42d43..d6f6ec013 100644
--- a/client/go.c
+++ b/client/go.c
@@ -267,63 +267,6 @@ int go(S *s, int channels, const float *in, float *out) {
}
///}}} SEA ORGAN 2.2
-
-///{{{ BINARAY /5
- {
- // seq
- time = s->time++;
- sample env[2];
- sample freq[2];
- int N = 13;
- int n = (time / 5) & ((1 << N) - 1);
- sample zeroes = clamp(count_trailing_zeroes(n), 0, N);
- sample probability = pow(0.5, N - zeroes);
- probability = (0.65 + 0.5 * (n >= 0xC001)) * probability - 0.5;
- probability = clamp(probability, 0, 1);
- probability = 0;
- sample uniform[2];
- uniform[0] = rand() / (double) RAND_MAX;
- uniform[1] = rand() / (double) RAND_MAX;
- sample trigger[2];
- trigger[0] = uniform[0] < probability;
- trigger[1] = uniform[1] < probability;
- s->benv[0].y += trigger[0];
- s->benv[1].y += trigger[1];
- env[0] = lop(&s->benv[0], 0, 5);
- env[1] = lop(&s->benv[1], 0, 5);
- sample harmonic = 12 + clamp(N - zeroes, 0, 20);
- freq[0] = samphold(&s->bsh[0], 10 * harmonic, 1 - trigger[0]);
- freq[0] = lop(&s->bfreq[0], freq[0], 20);
- freq[1] = samphold(&s->bsh[1], 10 * harmonic, 1 - trigger[1]);
- freq[1] = lop(&s->bfreq[1], freq[1], 20);
-
- // snd
- sample snd[2];
- snd[0] = env[0] * mixdown[0];
- snd[1] = env[1] * mixdown[1];
- sample q = 150;
- snd[0] *= 1;
- snd[1] *= 1;
- snd[0] = vcf(&s->bvcf[0], snd[0] * q, freq[0], q);
- snd[1] = vcf(&s->bvcf[1], snd[1] * q, freq[1], q);
- snd[0] = sin(snd[0]);
- snd[1] = sin(snd[1]);
- sample pa[2] = { snd[0], snd[0] };
- sample pb[2] = { snd[1], snd[1] };
- hilbert(pa, &s->bhilbert[0], pa);
- hilbert(pb, &s->bhilbert[1], pb);
- pa[0] = wrap(atan2(pa[0], pa[1]) / twopi);
- pb[0] = wrap(atan2(pb[0], pb[1]) / twopi);
- snd[0] += samphold(&s->bsh2[0], snd[0], wrap(3 * pa[0]));
- snd[1] += samphold(&s->bsh2[1], snd[1], wrap(3 * pb[0]));
- compress(snd, &s->bcompress, 10, 1, 1, 48, snd);
- sample gain = 1;
- mixdown[0] = snd[0] * gain;
- mixdown[1] = snd[1] * gain;
- }
-///}}} BINARAY /5
-
-
///{{{ EL DAY DE LAY
{
s->edelay1.length = 4 * SR;
diff @ 2019-11-23 19:48:22 +0000
diff --git a/client/go.c b/client/go.c
index d6f6ec013..771a86a71 100644
--- a/client/go.c
+++ b/client/go.c
@@ -229,43 +229,6 @@ int go(S *s, int channels, const float *in, float *out) {
sample p = 0;
///))) MIXDOWN
-///{{{ SEA ORGAN 2.2
- {
- sample RESET = 0;
- sample so2[2] = { 0, 0 };
- // trigger impulse on reload
- sample impulse[2] = { s->reloaded, s->reloaded };
- // modulate delay times
- p = phasor(&s->so2.phase, bpm/60 / 16);
- sample modulation1 = 1 * cos(twopi * p);
- sample modulation2 = 1 * sin(twopi * p);
- sample feedback[2] =
- { delread4(&s->so2.echo[1].del, ms4/8 - modulation1)
- , delread4(&s->so2.echo[0].del, ms4/8 + modulation2)
- };
- // pitchshift feedback
- for (int c = 0; c < 2; ++c) {
- sample down = pitchshift(&s->so2.shift[c][0], 1, ms4/8,
- lop(&s->so2.lag[c][0], -19, 1e-3), feedback[c]);
- sample up = pitchshift(&s->so2.shift[c][1], 1, ms4/8,
- lop(&s->so2.lag[c][1], 19, 1e-3), down);
- feedback[c] = sin(pi/2 * (2 * feedback[c] - down - up));
- }
- // compress feedback
- compress(so2, &s->so2.compress, 5, 10, 25, 48, feedback);
- sample gain = 0.1;
- so2[0] *= gain;
- so2[1] *= gain;
- // write to delay lines
- for (int c = 0; c < 2; ++c) {
- so2echo(&s->so2.echo[c], 400, 400,
- tanh(so2[c] + RESET*impulse[c]));
- }
- // output
- mixdown[0] += so2[0];
- mixdown[1] += so2[1];
- }
-///}}} SEA ORGAN 2.2
///{{{ EL DAY DE LAY
{
diff @ 2019-11-23 19:48:36 +0000
diff --git a/client/go.c b/client/go.c
index 771a86a71..f5276ff89 100644
--- a/client/go.c
+++ b/client/go.c
@@ -324,7 +324,7 @@ int go(S *s, int channels, const float *in, float *out) {
+ sin(4 * twopi * vcf(&s->vcf59s[0], bosc, 4 * hz, 6))
+ sin(2 * twopi * vcf(&s->vcf59s[1], bosc, 8 * hz, 4)) * 0.7;
bass *= 1.5;
- bass *= 0;
+ bass *= 1;
o[0] += bass;
o[1] += bass;
}
diff @ 2019-11-23 19:48:50 +0000
diff --git a/client/go.c b/client/go.c
index f5276ff89..f6d66cee0 100644
--- a/client/go.c
+++ b/client/go.c
@@ -322,7 +322,7 @@ int go(S *s, int channels, const float *in, float *out) {
= sub
+ lop(&s->lop59s[1], lop(&s->lop59s[2], bosc, 1000), 1000)
+ sin(4 * twopi * vcf(&s->vcf59s[0], bosc, 4 * hz, 6))
- + sin(2 * twopi * vcf(&s->vcf59s[1], bosc, 8 * hz, 4)) * 0.7;
+ + sin(2 * twopi * vcf(&s->vcf59s[1], bosc, 8 * hz, 6)) * 0.7;
bass *= 1.5;
bass *= 1;
o[0] += bass;
diff @ 2019-11-23 19:49:09 +0000
diff --git a/client/go.c b/client/go.c
index f6d66cee0..b58a243a3 100644
--- a/client/go.c
+++ b/client/go.c
@@ -322,7 +322,7 @@ int go(S *s, int channels, const float *in, float *out) {
= sub
+ lop(&s->lop59s[1], lop(&s->lop59s[2], bosc, 1000), 1000)
+ sin(4 * twopi * vcf(&s->vcf59s[0], bosc, 4 * hz, 6))
- + sin(2 * twopi * vcf(&s->vcf59s[1], bosc, 8 * hz, 6)) * 0.7;
+ + sin(((wrap(2 * t) < 0.5 ? 2 : 3) * twopi * vcf(&s->vcf59s[1], bosc, 8 * hz, 6)) * 0.7;
bass *= 1.5;
bass *= 1;
o[0] += bass;
diff @ 2019-11-23 19:49:14 +0000
diff --git a/client/go.c b/client/go.c
index b58a243a3..10be3d76a 100644
--- a/client/go.c
+++ b/client/go.c
@@ -322,7 +322,7 @@ int go(S *s, int channels, const float *in, float *out) {
= sub
+ lop(&s->lop59s[1], lop(&s->lop59s[2], bosc, 1000), 1000)
+ sin(4 * twopi * vcf(&s->vcf59s[0], bosc, 4 * hz, 6))
- + sin(((wrap(2 * t) < 0.5 ? 2 : 3) * twopi * vcf(&s->vcf59s[1], bosc, 8 * hz, 6)) * 0.7;
+ + sin((wrap(2 * t) < 0.5 ? 2 : 3) * twopi * vcf(&s->vcf59s[1], bosc, 8 * hz, 6)) * 0.7;
bass *= 1.5;
bass *= 1;
o[0] += bass;
diff @ 2019-11-23 19:49:34 +0000
diff --git a/client/go.c b/client/go.c
index 10be3d76a..b39deaf66 100644
--- a/client/go.c
+++ b/client/go.c
@@ -322,7 +322,7 @@ int go(S *s, int channels, const float *in, float *out) {
= sub
+ lop(&s->lop59s[1], lop(&s->lop59s[2], bosc, 1000), 1000)
+ sin(4 * twopi * vcf(&s->vcf59s[0], bosc, 4 * hz, 6))
- + sin((wrap(2 * t) < 0.5 ? 2 : 3) * twopi * vcf(&s->vcf59s[1], bosc, 8 * hz, 6)) * 0.7;
+ + sin((wrap(2 * t) < 0.5 ? 2 : 3) * twopi * vcf(&s->vcf59s[1], bosc, (wrap(4 * t) < 0.5 ? 8 : 12) * hz, 6)) * 0.7;
bass *= 1.5;
bass *= 1;
o[0] += bass;
diff @ 2019-11-23 19:49:46 +0000
diff --git a/client/go.c b/client/go.c
index b39deaf66..ffc61f0ac 100644
--- a/client/go.c
+++ b/client/go.c
@@ -322,7 +322,8 @@ int go(S *s, int channels, const float *in, float *out) {
= sub
+ lop(&s->lop59s[1], lop(&s->lop59s[2], bosc, 1000), 1000)
+ sin(4 * twopi * vcf(&s->vcf59s[0], bosc, 4 * hz, 6))
- + sin((wrap(2 * t) < 0.5 ? 2 : 3) * twopi * vcf(&s->vcf59s[1], bosc, (wrap(4 * t) < 0.5 ? 8 : 12) * hz, 6)) * 0.7;
+ + sin((wrap(2 * t) < 0.5 ? 2 : 3) * twopi * vcf(&s->vcf59s[1], bosc
+ , (wrap(4 * t) < 0.5 ? 8 : 12) * hz, 10)) * 0.7;
bass *= 1.5;
bass *= 1;
o[0] += bass;
diff @ 2019-11-23 19:49:49 +0000
diff --git a/client/go.c b/client/go.c
index ffc61f0ac..e78349f09 100644
--- a/client/go.c
+++ b/client/go.c
@@ -323,7 +323,7 @@ int go(S *s, int channels, const float *in, float *out) {
+ lop(&s->lop59s[1], lop(&s->lop59s[2], bosc, 1000), 1000)
+ sin(4 * twopi * vcf(&s->vcf59s[0], bosc, 4 * hz, 6))
+ sin((wrap(2 * t) < 0.5 ? 2 : 3) * twopi * vcf(&s->vcf59s[1], bosc
- , (wrap(4 * t) < 0.5 ? 8 : 12) * hz, 10)) * 0.7;
+ , (wrap(4 * t) < 0.5 ? 8 : 12) * hz, 4)) * 0.7;
bass *= 1.5;
bass *= 1;
o[0] += bass;
diff @ 2019-11-23 19:50:04 +0000
diff --git a/client/go.c b/client/go.c
index e78349f09..4e30ebdb0 100644
--- a/client/go.c
+++ b/client/go.c
@@ -277,7 +277,7 @@ int go(S *s, int channels, const float *in, float *out) {
sample o[2] = { 0, 0 };
{ // kick
sample peak = hz * 8;
- sample env = 1 - wrap(2 * t);
+ sample env = 1 - wrap(8./3 * t);
sample env2 = env * 2;
env *= env;
env *= env;
diff @ 2019-11-23 19:50:18 +0000
diff --git a/client/go.c b/client/go.c
index 4e30ebdb0..2ee522164 100644
--- a/client/go.c
+++ b/client/go.c
@@ -299,7 +299,7 @@ int go(S *s, int channels, const float *in, float *out) {
closed *= closed;
closed *= closed;
closed *= 1.3;
- open *= 1.3;
+ open *= 0;//1.3;
closed *= closed;
closed *= closed;
open *= open;
diff @ 2019-11-23 19:50:24 +0000
diff --git a/client/go.c b/client/go.c
index 2ee522164..27fc051f4 100644
--- a/client/go.c
+++ b/client/go.c
@@ -307,7 +307,7 @@ int go(S *s, int channels, const float *in, float *out) {
open *= open;
sample env = open + closed;
sample h = noise();
- h *= 0;
+ h *= 1;
o[0] += 4 * tanh(env * hip(&s->hip59s[2], hip(&s->hip59s[3],
h * noise(), 3000), 1500));
o[1] += 4 * tanh(env * hip(&s->hip59s[4], hip(&s->hip59s[5],
diff @ 2019-11-23 19:50:32 +0000
diff --git a/client/go.c b/client/go.c
index 27fc051f4..803bd2d54 100644
--- a/client/go.c
+++ b/client/go.c
@@ -315,7 +315,7 @@ int go(S *s, int channels, const float *in, float *out) {
}
{ // bass
sample lfo = lop(&s->lop59s[0], wrap(8/3. * t), 5);
- sample sub = sin(twopi * osc);
+ sample sub = sin(2 * twopi * osc);
sample bosc = hip(&s->hip59s[1],
wrap(samphold(&s->sh59s, lfo, osc) + osc) - osc, 5);
sample bass
diff @ 2019-11-23 19:50:57 +0000
diff --git a/client/go.c b/client/go.c
index 803bd2d54..f7bf1578c 100644
--- a/client/go.c
+++ b/client/go.c
@@ -273,7 +273,7 @@ int go(S *s, int channels, const float *in, float *out) {
sample ms4 = (1000 / (bpm / 60)) / 4;
sample hz = 40;
sample t = phasor(&s->phase59s, tempo);
- sample osc = phasor(&s->osc59s, hz);
+ sample osc = phasor(&s->osc59s, pow(2.0, t) * hz);
sample o[2] = { 0, 0 };
{ // kick
sample peak = hz * 8;
diff @ 2019-11-23 19:51:05 +0000
diff --git a/client/go.c b/client/go.c
index f7bf1578c..63c28710e 100644
--- a/client/go.c
+++ b/client/go.c
@@ -273,7 +273,7 @@ int go(S *s, int channels, const float *in, float *out) {
sample ms4 = (1000 / (bpm / 60)) / 4;
sample hz = 40;
sample t = phasor(&s->phase59s, tempo);
- sample osc = phasor(&s->osc59s, pow(2.0, t) * hz);
+ sample osc = phasor(&s->osc59s, pow(2.0, t - 1) * hz);
sample o[2] = { 0, 0 };
{ // kick
sample peak = hz * 8;
diff @ 2019-11-23 19:51:11 +0000
diff --git a/client/go.c b/client/go.c
index 63c28710e..72bedfd91 100644
--- a/client/go.c
+++ b/client/go.c
@@ -273,7 +273,7 @@ int go(S *s, int channels, const float *in, float *out) {
sample ms4 = (1000 / (bpm / 60)) / 4;
sample hz = 40;
sample t = phasor(&s->phase59s, tempo);
- sample osc = phasor(&s->osc59s, pow(2.0, t - 1) * hz);
+ sample osc = phasor(&s->osc59s, pow(2.0, t - 0.5) * hz);
sample o[2] = { 0, 0 };
{ // kick
sample peak = hz * 8;
diff @ 2019-11-23 19:51:25 +0000
diff --git a/client/go.c b/client/go.c
index 72bedfd91..8fc20a627 100644
--- a/client/go.c
+++ b/client/go.c
@@ -289,7 +289,7 @@ int go(S *s, int channels, const float *in, float *out) {
sample kick = sin(twopi * phasor(&s->kick59s[1], env + mod));
env2 = env2 + env2 * env2 * env2 * env2;
kick = 4 * hip(&s->hip59s[0], tanh(env2 * kick), 5);
- kick *= 1;
+ kick *= 0;
o[0] += kick;
o[1] += kick;
}
@@ -299,7 +299,7 @@ int go(S *s, int channels, const float *in, float *out) {
closed *= closed;
closed *= closed;
closed *= 1.3;
- open *= 0;//1.3;
+ open *= 1.3;
closed *= closed;
closed *= closed;
open *= open;
diff @ 2019-11-23 19:51:37 +0000
diff --git a/client/go.c b/client/go.c
index 8fc20a627..c3cbbb165 100644
--- a/client/go.c
+++ b/client/go.c
@@ -321,7 +321,7 @@ int go(S *s, int channels, const float *in, float *out) {
sample bass
= sub
+ lop(&s->lop59s[1], lop(&s->lop59s[2], bosc, 1000), 1000)
- + sin(4 * twopi * vcf(&s->vcf59s[0], bosc, 4 * hz, 6))
+ + sin(5 * twopi * vcf(&s->vcf59s[0], bosc, 4 * hz, 6))
+ sin((wrap(2 * t) < 0.5 ? 2 : 3) * twopi * vcf(&s->vcf59s[1], bosc
, (wrap(4 * t) < 0.5 ? 8 : 12) * hz, 4)) * 0.7;
bass *= 1.5;
diff @ 2019-11-23 19:51:39 +0000
diff --git a/client/go.c b/client/go.c
index c3cbbb165..884b967d2 100644
--- a/client/go.c
+++ b/client/go.c
@@ -321,7 +321,7 @@ int go(S *s, int channels, const float *in, float *out) {
sample bass
= sub
+ lop(&s->lop59s[1], lop(&s->lop59s[2], bosc, 1000), 1000)
- + sin(5 * twopi * vcf(&s->vcf59s[0], bosc, 4 * hz, 6))
+ + sin(6 * twopi * vcf(&s->vcf59s[0], bosc, 4 * hz, 6))
+ sin((wrap(2 * t) < 0.5 ? 2 : 3) * twopi * vcf(&s->vcf59s[1], bosc
, (wrap(4 * t) < 0.5 ? 8 : 12) * hz, 4)) * 0.7;
bass *= 1.5;
diff @ 2019-11-23 19:51:41 +0000
diff --git a/client/go.c b/client/go.c
index 884b967d2..9f370513a 100644
--- a/client/go.c
+++ b/client/go.c
@@ -321,7 +321,7 @@ int go(S *s, int channels, const float *in, float *out) {
sample bass
= sub
+ lop(&s->lop59s[1], lop(&s->lop59s[2], bosc, 1000), 1000)
- + sin(6 * twopi * vcf(&s->vcf59s[0], bosc, 4 * hz, 6))
+ + sin(7 * twopi * vcf(&s->vcf59s[0], bosc, 4 * hz, 6))
+ sin((wrap(2 * t) < 0.5 ? 2 : 3) * twopi * vcf(&s->vcf59s[1], bosc
, (wrap(4 * t) < 0.5 ? 8 : 12) * hz, 4)) * 0.7;
bass *= 1.5;
diff @ 2019-11-23 19:51:42 +0000
diff --git a/client/go.c b/client/go.c
index 9f370513a..45043466c 100644
--- a/client/go.c
+++ b/client/go.c
@@ -321,7 +321,7 @@ int go(S *s, int channels, const float *in, float *out) {
sample bass
= sub
+ lop(&s->lop59s[1], lop(&s->lop59s[2], bosc, 1000), 1000)
- + sin(7 * twopi * vcf(&s->vcf59s[0], bosc, 4 * hz, 6))
+ + sin(8 * twopi * vcf(&s->vcf59s[0], bosc, 4 * hz, 6))
+ sin((wrap(2 * t) < 0.5 ? 2 : 3) * twopi * vcf(&s->vcf59s[1], bosc
, (wrap(4 * t) < 0.5 ? 8 : 12) * hz, 4)) * 0.7;
bass *= 1.5;
diff @ 2019-11-23 19:51:44 +0000
diff --git a/client/go.c b/client/go.c
index 45043466c..728305fcb 100644
--- a/client/go.c
+++ b/client/go.c
@@ -321,7 +321,7 @@ int go(S *s, int channels, const float *in, float *out) {
sample bass
= sub
+ lop(&s->lop59s[1], lop(&s->lop59s[2], bosc, 1000), 1000)
- + sin(8 * twopi * vcf(&s->vcf59s[0], bosc, 4 * hz, 6))
+ + sin(9 * twopi * vcf(&s->vcf59s[0], bosc, 4 * hz, 6))
+ sin((wrap(2 * t) < 0.5 ? 2 : 3) * twopi * vcf(&s->vcf59s[1], bosc
, (wrap(4 * t) < 0.5 ? 8 : 12) * hz, 4)) * 0.7;
bass *= 1.5;
diff @ 2019-11-23 19:51:45 +0000
diff --git a/client/go.c b/client/go.c
index 728305fcb..8d0211a04 100644
--- a/client/go.c
+++ b/client/go.c
@@ -321,7 +321,7 @@ int go(S *s, int channels, const float *in, float *out) {
sample bass
= sub
+ lop(&s->lop59s[1], lop(&s->lop59s[2], bosc, 1000), 1000)
- + sin(9 * twopi * vcf(&s->vcf59s[0], bosc, 4 * hz, 6))
+ + sin(10 * twopi * vcf(&s->vcf59s[0], bosc, 4 * hz, 6))
+ sin((wrap(2 * t) < 0.5 ? 2 : 3) * twopi * vcf(&s->vcf59s[1], bosc
, (wrap(4 * t) < 0.5 ? 8 : 12) * hz, 4)) * 0.7;
bass *= 1.5;
diff @ 2019-11-23 19:51:47 +0000
diff --git a/client/go.c b/client/go.c
index 8d0211a04..4059650cf 100644
--- a/client/go.c
+++ b/client/go.c
@@ -321,7 +321,7 @@ int go(S *s, int channels, const float *in, float *out) {
sample bass
= sub
+ lop(&s->lop59s[1], lop(&s->lop59s[2], bosc, 1000), 1000)
- + sin(10 * twopi * vcf(&s->vcf59s[0], bosc, 4 * hz, 6))
+ + sin(12 * twopi * vcf(&s->vcf59s[0], bosc, 4 * hz, 6))
+ sin((wrap(2 * t) < 0.5 ? 2 : 3) * twopi * vcf(&s->vcf59s[1], bosc
, (wrap(4 * t) < 0.5 ? 8 : 12) * hz, 4)) * 0.7;
bass *= 1.5;
diff @ 2019-11-23 19:51:49 +0000
diff --git a/client/go.c b/client/go.c
index 4059650cf..cb4666c33 100644
--- a/client/go.c
+++ b/client/go.c
@@ -321,7 +321,7 @@ int go(S *s, int channels, const float *in, float *out) {
sample bass
= sub
+ lop(&s->lop59s[1], lop(&s->lop59s[2], bosc, 1000), 1000)
- + sin(12 * twopi * vcf(&s->vcf59s[0], bosc, 4 * hz, 6))
+ + sin(16 * twopi * vcf(&s->vcf59s[0], bosc, 4 * hz, 6))
+ sin((wrap(2 * t) < 0.5 ? 2 : 3) * twopi * vcf(&s->vcf59s[1], bosc
, (wrap(4 * t) < 0.5 ? 8 : 12) * hz, 4)) * 0.7;
bass *= 1.5;
diff @ 2019-11-23 19:52:00 +0000
diff --git a/client/go.c b/client/go.c
index cb4666c33..e6c660411 100644
--- a/client/go.c
+++ b/client/go.c
@@ -289,7 +289,7 @@ int go(S *s, int channels, const float *in, float *out) {
sample kick = sin(twopi * phasor(&s->kick59s[1], env + mod));
env2 = env2 + env2 * env2 * env2 * env2;
kick = 4 * hip(&s->hip59s[0], tanh(env2 * kick), 5);
- kick *= 0;
+ kick *= 1;
o[0] += kick;
o[1] += kick;
}
@@ -321,7 +321,7 @@ int go(S *s, int channels, const float *in, float *out) {
sample bass
= sub
+ lop(&s->lop59s[1], lop(&s->lop59s[2], bosc, 1000), 1000)
- + sin(16 * twopi * vcf(&s->vcf59s[0], bosc, 4 * hz, 6))
+ + sin(pow(2, t) * twopi * vcf(&s->vcf59s[0], bosc, 4 * hz, 6))
+ sin((wrap(2 * t) < 0.5 ? 2 : 3) * twopi * vcf(&s->vcf59s[1], bosc
, (wrap(4 * t) < 0.5 ? 8 : 12) * hz, 4)) * 0.7;
bass *= 1.5;
diff @ 2019-11-23 19:52:07 +0000
diff --git a/client/go.c b/client/go.c
index e6c660411..b85f8b6d5 100644
--- a/client/go.c
+++ b/client/go.c
@@ -321,7 +321,7 @@ int go(S *s, int channels, const float *in, float *out) {
sample bass
= sub
+ lop(&s->lop59s[1], lop(&s->lop59s[2], bosc, 1000), 1000)
- + sin(pow(2, t) * twopi * vcf(&s->vcf59s[0], bosc, 4 * hz, 6))
+ + sin(pow(16, t) * twopi * vcf(&s->vcf59s[0], bosc, 4 * hz, 6))
+ sin((wrap(2 * t) < 0.5 ? 2 : 3) * twopi * vcf(&s->vcf59s[1], bosc
, (wrap(4 * t) < 0.5 ? 8 : 12) * hz, 4)) * 0.7;
bass *= 1.5;
diff @ 2019-11-23 19:52:14 +0000
diff --git a/client/go.c b/client/go.c
index b85f8b6d5..cc0cbadae 100644
--- a/client/go.c
+++ b/client/go.c
@@ -321,7 +321,7 @@ int go(S *s, int channels, const float *in, float *out) {
sample bass
= sub
+ lop(&s->lop59s[1], lop(&s->lop59s[2], bosc, 1000), 1000)
- + sin(pow(16, t) * twopi * vcf(&s->vcf59s[0], bosc, 4 * hz, 6))
+ + sin(pow(16, 1 - t) * twopi * vcf(&s->vcf59s[0], bosc, 4 * hz, 6))
+ sin((wrap(2 * t) < 0.5 ? 2 : 3) * twopi * vcf(&s->vcf59s[1], bosc
, (wrap(4 * t) < 0.5 ? 8 : 12) * hz, 4)) * 0.7;
bass *= 1.5;
diff @ 2019-11-23 19:52:28 +0000
diff --git a/client/go.c b/client/go.c
index cc0cbadae..edb557c28 100644
--- a/client/go.c
+++ b/client/go.c
@@ -321,7 +321,7 @@ int go(S *s, int channels, const float *in, float *out) {
sample bass
= sub
+ lop(&s->lop59s[1], lop(&s->lop59s[2], bosc, 1000), 1000)
- + sin(pow(16, 1 - t) * twopi * vcf(&s->vcf59s[0], bosc, 4 * hz, 6))
+ + sin(pow(16, 1 - t) * twopi * vcf(&s->vcf59s[0], bosc, 4 * pow(2, 1 - wrap(4 * t) * hz, 6))
+ sin((wrap(2 * t) < 0.5 ? 2 : 3) * twopi * vcf(&s->vcf59s[1], bosc
, (wrap(4 * t) < 0.5 ? 8 : 12) * hz, 4)) * 0.7;
bass *= 1.5;
diff @ 2019-11-23 19:52:29 +0000
diff --git a/client/go.c b/client/go.c
index edb557c28..7ca89af00 100644
--- a/client/go.c
+++ b/client/go.c
@@ -321,7 +321,7 @@ int go(S *s, int channels, const float *in, float *out) {
sample bass
= sub
+ lop(&s->lop59s[1], lop(&s->lop59s[2], bosc, 1000), 1000)
- + sin(pow(16, 1 - t) * twopi * vcf(&s->vcf59s[0], bosc, 4 * pow(2, 1 - wrap(4 * t) * hz, 6))
+ + sin(pow(16, 1 - t) * twopi * vcf(&s->vcf59s[0], bosc, 4 * pow(2, 1 - wrap(4 * t)) * hz, 6))
+ sin((wrap(2 * t) < 0.5 ? 2 : 3) * twopi * vcf(&s->vcf59s[1], bosc
, (wrap(4 * t) < 0.5 ? 8 : 12) * hz, 4)) * 0.7;
bass *= 1.5;
diff @ 2019-11-23 19:52:33 +0000
diff --git a/client/go.c b/client/go.c
index 7ca89af00..723f3eae7 100644
--- a/client/go.c
+++ b/client/go.c
@@ -321,7 +321,7 @@ int go(S *s, int channels, const float *in, float *out) {
sample bass
= sub
+ lop(&s->lop59s[1], lop(&s->lop59s[2], bosc, 1000), 1000)
- + sin(pow(16, 1 - t) * twopi * vcf(&s->vcf59s[0], bosc, 4 * pow(2, 1 - wrap(4 * t)) * hz, 6))
+ + sin(pow(16, 1 - t) * twopi * vcf(&s->vcf59s[0], bosc, 4 * pow(2, 1 - wrap(8 * t)) * hz, 6))
+ sin((wrap(2 * t) < 0.5 ? 2 : 3) * twopi * vcf(&s->vcf59s[1], bosc
, (wrap(4 * t) < 0.5 ? 8 : 12) * hz, 4)) * 0.7;
bass *= 1.5;
diff @ 2019-11-23 19:52:37 +0000
diff --git a/client/go.c b/client/go.c
index 723f3eae7..c222749cb 100644
--- a/client/go.c
+++ b/client/go.c
@@ -321,7 +321,7 @@ int go(S *s, int channels, const float *in, float *out) {
sample bass
= sub
+ lop(&s->lop59s[1], lop(&s->lop59s[2], bosc, 1000), 1000)
- + sin(pow(16, 1 - t) * twopi * vcf(&s->vcf59s[0], bosc, 4 * pow(2, 1 - wrap(8 * t)) * hz, 6))
+ + sin(pow(16, 1 - t) * twopi * vcf(&s->vcf59s[0], bosc, 4 * pow(2, 1 - wrap(16 * t)) * hz, 6))
+ sin((wrap(2 * t) < 0.5 ? 2 : 3) * twopi * vcf(&s->vcf59s[1], bosc
, (wrap(4 * t) < 0.5 ? 8 : 12) * hz, 4)) * 0.7;
bass *= 1.5;
diff @ 2019-11-23 19:52:38 +0000
diff --git a/client/go.c b/client/go.c
index c222749cb..91d921dc0 100644
--- a/client/go.c
+++ b/client/go.c
@@ -321,7 +321,7 @@ int go(S *s, int channels, const float *in, float *out) {
sample bass
= sub
+ lop(&s->lop59s[1], lop(&s->lop59s[2], bosc, 1000), 1000)
- + sin(pow(16, 1 - t) * twopi * vcf(&s->vcf59s[0], bosc, 4 * pow(2, 1 - wrap(16 * t)) * hz, 6))
+ + sin(pow(16, 1 - t) * twopi * vcf(&s->vcf59s[0], bosc, 4 * pow(4, 1 - wrap(16 * t)) * hz, 6))
+ sin((wrap(2 * t) < 0.5 ? 2 : 3) * twopi * vcf(&s->vcf59s[1], bosc
, (wrap(4 * t) < 0.5 ? 8 : 12) * hz, 4)) * 0.7;
bass *= 1.5;
diff @ 2019-11-23 19:52:43 +0000
diff --git a/client/go.c b/client/go.c
index 91d921dc0..d9072dbc7 100644
--- a/client/go.c
+++ b/client/go.c
@@ -321,7 +321,7 @@ int go(S *s, int channels, const float *in, float *out) {
sample bass
= sub
+ lop(&s->lop59s[1], lop(&s->lop59s[2], bosc, 1000), 1000)
- + sin(pow(16, 1 - t) * twopi * vcf(&s->vcf59s[0], bosc, 4 * pow(4, 1 - wrap(16 * t)) * hz, 6))
+ + sin(pow(16, 1 - t) * twopi * vcf(&s->vcf59s[0], bosc, 4 * pow(8, 1 - wrap(16 * t)) * hz, 6))
+ sin((wrap(2 * t) < 0.5 ? 2 : 3) * twopi * vcf(&s->vcf59s[1], bosc
, (wrap(4 * t) < 0.5 ? 8 : 12) * hz, 4)) * 0.7;
bass *= 1.5;
diff @ 2019-11-23 19:52:49 +0000
diff --git a/client/go.c b/client/go.c
index d9072dbc7..c937f224f 100644
--- a/client/go.c
+++ b/client/go.c
@@ -321,7 +321,7 @@ int go(S *s, int channels, const float *in, float *out) {
sample bass
= sub
+ lop(&s->lop59s[1], lop(&s->lop59s[2], bosc, 1000), 1000)
- + sin(pow(16, 1 - t) * twopi * vcf(&s->vcf59s[0], bosc, 4 * pow(8, 1 - wrap(16 * t)) * hz, 6))
+ + sin(pow(16, 1 - t) * twopi * vcf(&s->vcf59s[0], bosc, 8 * pow(8, 1 - wrap(16 * t)) * hz, 6))
+ sin((wrap(2 * t) < 0.5 ? 2 : 3) * twopi * vcf(&s->vcf59s[1], bosc
, (wrap(4 * t) < 0.5 ? 8 : 12) * hz, 4)) * 0.7;
bass *= 1.5;
diff @ 2019-11-23 19:52:53 +0000
diff --git a/client/go.c b/client/go.c
index c937f224f..74e45c5b6 100644
--- a/client/go.c
+++ b/client/go.c
@@ -321,7 +321,7 @@ int go(S *s, int channels, const float *in, float *out) {
sample bass
= sub
+ lop(&s->lop59s[1], lop(&s->lop59s[2], bosc, 1000), 1000)
- + sin(pow(16, 1 - t) * twopi * vcf(&s->vcf59s[0], bosc, 8 * pow(8, 1 - wrap(16 * t)) * hz, 6))
+ + sin(pow(16, 1 - t) * twopi * vcf(&s->vcf59s[0], bosc, 8 * pow(8, 1 - wrap(16 * t)) * hz, 16))
+ sin((wrap(2 * t) < 0.5 ? 2 : 3) * twopi * vcf(&s->vcf59s[1], bosc
, (wrap(4 * t) < 0.5 ? 8 : 12) * hz, 4)) * 0.7;
bass *= 1.5;
diff @ 2019-11-23 19:53:09 +0000
diff --git a/client/go.c b/client/go.c
index 74e45c5b6..e0919518f 100644
--- a/client/go.c
+++ b/client/go.c
@@ -331,7 +331,7 @@ int go(S *s, int channels, const float *in, float *out) {
}
{ // bell
sample env = lop(&s->lop59s[4],
- 0 * clamp(2 * (0.5 - wrap(0.5 + 4 * t)), 0, 1), 15);
+ (t < 0.25) * clamp(2 * (0.5 - wrap(0.5 + 4 * t)), 0, 1), 15);
sample env2 = lop(&s->lop59s[5], clamp
( 2
* (0.5 - wrap(8 * t))
diff @ 2019-11-23 19:53:19 +0000
diff --git a/client/go.c b/client/go.c
index e0919518f..6c37963bc 100644
--- a/client/go.c
+++ b/client/go.c
@@ -356,8 +356,8 @@ int go(S *s, int channels, const float *in, float *out) {
bell += becho;
bell *= 4;
sample lfo = 11 * sin(16 * twopi * t);
- sample l = 0.3 * delread4(&s->del59sl, ms4 + lfo) + bell;
- sample r = 0.3 * delread4(&s->del59sr, ms4 - lfo) + bell;
+ sample l = 0.5 * delread4(&s->del59sl, ms4 + lfo) + bell;
+ sample r = 0.5 * delread4(&s->del59sr, ms4 - lfo) + bell;
delwrite(&s->del59sl, -r);
delwrite(&s->del59sr, l);
o[0] += l;
diff @ 2019-11-23 19:53:24 +0000
diff --git a/client/go.c b/client/go.c
index 6c37963bc..4bf429884 100644
--- a/client/go.c
+++ b/client/go.c
@@ -356,8 +356,8 @@ int go(S *s, int channels, const float *in, float *out) {
bell += becho;
bell *= 4;
sample lfo = 11 * sin(16 * twopi * t);
- sample l = 0.5 * delread4(&s->del59sl, ms4 + lfo) + bell;
- sample r = 0.5 * delread4(&s->del59sr, ms4 - lfo) + bell;
+ sample l = 0.75 * delread4(&s->del59sl, ms4 + lfo) + bell;
+ sample r = 0.75 * delread4(&s->del59sr, ms4 - lfo) + bell;
delwrite(&s->del59sl, -r);
delwrite(&s->del59sr, l);
o[0] += l;
diff @ 2019-11-23 19:53:30 +0000
diff --git a/client/go.c b/client/go.c
index 4bf429884..2e6e13fe0 100644
--- a/client/go.c
+++ b/client/go.c
@@ -355,7 +355,7 @@ int go(S *s, int channels, const float *in, float *out) {
becho *= env2;
bell += becho;
bell *= 4;
- sample lfo = 11 * sin(16 * twopi * t);
+ sample lfo = 6 * sin(16 * twopi * t);
sample l = 0.75 * delread4(&s->del59sl, ms4 + lfo) + bell;
sample r = 0.75 * delread4(&s->del59sr, ms4 - lfo) + bell;
delwrite(&s->del59sl, -r);
diff @ 2019-11-23 19:53:40 +0000
diff --git a/client/go.c b/client/go.c
index 2e6e13fe0..b9eca56b4 100644
--- a/client/go.c
+++ b/client/go.c
@@ -289,7 +289,7 @@ int go(S *s, int channels, const float *in, float *out) {
sample kick = sin(twopi * phasor(&s->kick59s[1], env + mod));
env2 = env2 + env2 * env2 * env2 * env2;
kick = 4 * hip(&s->hip59s[0], tanh(env2 * kick), 5);
- kick *= 1;
+ kick *= 0;
o[0] += kick;
o[1] += kick;
}
diff @ 2019-11-23 19:53:51 +0000
diff --git a/client/go.c b/client/go.c
index b9eca56b4..fa01d36b8 100644
--- a/client/go.c
+++ b/client/go.c
@@ -298,7 +298,7 @@ int go(S *s, int channels, const float *in, float *out) {
sample open = 1 - wrap(4 * t - 0.50);
closed *= closed;
closed *= closed;
- closed *= 1.3;
+ closed *= 1.3 * 0;
open *= 1.3;
closed *= closed;
closed *= closed;
diff @ 2019-11-23 19:54:01 +0000
diff --git a/client/go.c b/client/go.c
index fa01d36b8..8256895d1 100644
--- a/client/go.c
+++ b/client/go.c
@@ -355,7 +355,7 @@ int go(S *s, int channels, const float *in, float *out) {
becho *= env2;
bell += becho;
bell *= 4;
- sample lfo = 6 * sin(16 * twopi * t);
+ sample lfo = 1 * sin(16 * twopi * t);
sample l = 0.75 * delread4(&s->del59sl, ms4 + lfo) + bell;
sample r = 0.75 * delread4(&s->del59sr, ms4 - lfo) + bell;
delwrite(&s->del59sl, -r);
diff @ 2019-11-23 19:54:06 +0000
diff --git a/client/go.c b/client/go.c
index 8256895d1..42fc05cd5 100644
--- a/client/go.c
+++ b/client/go.c
@@ -355,7 +355,7 @@ int go(S *s, int channels, const float *in, float *out) {
becho *= env2;
bell += becho;
bell *= 4;
- sample lfo = 1 * sin(16 * twopi * t);
+ sample lfo = 1 * sin(12 * twopi * t);
sample l = 0.75 * delread4(&s->del59sl, ms4 + lfo) + bell;
sample r = 0.75 * delread4(&s->del59sr, ms4 - lfo) + bell;
delwrite(&s->del59sl, -r);
diff @ 2019-11-23 19:54:09 +0000
diff --git a/client/go.c b/client/go.c
index 42fc05cd5..4c5ebcb67 100644
--- a/client/go.c
+++ b/client/go.c
@@ -355,7 +355,7 @@ int go(S *s, int channels, const float *in, float *out) {
becho *= env2;
bell += becho;
bell *= 4;
- sample lfo = 1 * sin(12 * twopi * t);
+ sample lfo = 1 * sin(8 * twopi * t);
sample l = 0.75 * delread4(&s->del59sl, ms4 + lfo) + bell;
sample r = 0.75 * delread4(&s->del59sr, ms4 - lfo) + bell;
delwrite(&s->del59sl, -r);
diff @ 2019-11-23 19:54:13 +0000
diff --git a/client/go.c b/client/go.c
index 4c5ebcb67..dfeef70cb 100644
--- a/client/go.c
+++ b/client/go.c
@@ -355,7 +355,7 @@ int go(S *s, int channels, const float *in, float *out) {
becho *= env2;
bell += becho;
bell *= 4;
- sample lfo = 1 * sin(8 * twopi * t);
+ sample lfo = 1 * sin(32 * twopi * t);
sample l = 0.75 * delread4(&s->del59sl, ms4 + lfo) + bell;
sample r = 0.75 * delread4(&s->del59sr, ms4 - lfo) + bell;
delwrite(&s->del59sl, -r);
diff @ 2019-11-23 19:54:16 +0000
diff --git a/client/go.c b/client/go.c
index dfeef70cb..383ce3dec 100644
--- a/client/go.c
+++ b/client/go.c
@@ -355,7 +355,7 @@ int go(S *s, int channels, const float *in, float *out) {
becho *= env2;
bell += becho;
bell *= 4;
- sample lfo = 1 * sin(32 * twopi * t);
+ sample lfo = 0.1 * sin(32 * twopi * t);
sample l = 0.75 * delread4(&s->del59sl, ms4 + lfo) + bell;
sample r = 0.75 * delread4(&s->del59sr, ms4 - lfo) + bell;
delwrite(&s->del59sl, -r);
diff @ 2019-11-23 19:54:22 +0000
diff --git a/client/go.c b/client/go.c
index 383ce3dec..c18b4566c 100644
--- a/client/go.c
+++ b/client/go.c
@@ -338,7 +338,7 @@ int go(S *s, int channels, const float *in, float *out) {
* (wrap(4 * t) < 0.5)
, 0, 1), 15);
sample bell
- = sin(4 * twopi * osc)
+ = sin(8 * twopi * osc)
* sin(5 * twopi * osc)
* sin(7 * twopi * osc)
* env
diff @ 2019-11-23 19:54:29 +0000
diff --git a/client/go.c b/client/go.c
index c18b4566c..5e487140f 100644
--- a/client/go.c
+++ b/client/go.c
@@ -325,7 +325,7 @@ int go(S *s, int channels, const float *in, float *out) {
+ sin((wrap(2 * t) < 0.5 ? 2 : 3) * twopi * vcf(&s->vcf59s[1], bosc
, (wrap(4 * t) < 0.5 ? 8 : 12) * hz, 4)) * 0.7;
bass *= 1.5;
- bass *= 1;
+ bass *= 0;
o[0] += bass;
o[1] += bass;
}
diff @ 2019-11-23 19:54:39 +0000
diff --git a/client/go.c b/client/go.c
index 5e487140f..d13ba8fc4 100644
--- a/client/go.c
+++ b/client/go.c
@@ -355,7 +355,7 @@ int go(S *s, int channels, const float *in, float *out) {
becho *= env2;
bell += becho;
bell *= 4;
- sample lfo = 0.1 * sin(32 * twopi * t);
+ sample lfo = 0.3 * sin(32 * twopi * t);
sample l = 0.75 * delread4(&s->del59sl, ms4 + lfo) + bell;
sample r = 0.75 * delread4(&s->del59sr, ms4 - lfo) + bell;
delwrite(&s->del59sl, -r);
diff @ 2019-11-23 19:54:49 +0000
diff --git a/client/go.c b/client/go.c
index d13ba8fc4..f9266af6e 100644
--- a/client/go.c
+++ b/client/go.c
@@ -349,7 +349,7 @@ int go(S *s, int channels, const float *in, float *out) {
bell += bell1 + bell2 + bell3;
bell *= env;
sample becho = delread1(&s->del59s, ms4);
- becho = lop(&s->lop59s[3], becho, 1000) * 0.5;
+ becho = lop(&s->lop59s[3], becho, 1000) * -0.5;
delwrite(&s->del59s,
bell3 + pitchshift(&s->ps59s[3], 2, 100, 3, becho));
becho *= env2;
diff @ 2019-11-23 19:54:54 +0000
diff --git a/client/go.c b/client/go.c
index f9266af6e..eb2f57ea3 100644
--- a/client/go.c
+++ b/client/go.c
@@ -349,7 +349,7 @@ int go(S *s, int channels, const float *in, float *out) {
bell += bell1 + bell2 + bell3;
bell *= env;
sample becho = delread1(&s->del59s, ms4);
- becho = lop(&s->lop59s[3], becho, 1000) * -0.5;
+ becho = lop(&s->lop59s[3], becho, 1000) * -0.35;
delwrite(&s->del59s,
bell3 + pitchshift(&s->ps59s[3], 2, 100, 3, becho));
becho *= env2;
diff @ 2019-11-23 19:55:09 +0000
diff --git a/client/go.c b/client/go.c
index eb2f57ea3..8d9d3c617 100644
--- a/client/go.c
+++ b/client/go.c
@@ -331,7 +331,7 @@ int go(S *s, int channels, const float *in, float *out) {
}
{ // bell
sample env = lop(&s->lop59s[4],
- (t < 0.25) * clamp(2 * (0.5 - wrap(0.5 + 4 * t)), 0, 1), 15);
+ (t < 0.5) * clamp(2 * (0.5 - wrap(0.5 + 4 * t)), 0, 1), 15);
sample env2 = lop(&s->lop59s[5], clamp
( 2
* (0.5 - wrap(8 * t))
diff @ 2019-11-23 19:55:20 +0000
diff --git a/client/go.c b/client/go.c
index 8d9d3c617..acf14d079 100644
--- a/client/go.c
+++ b/client/go.c
@@ -331,7 +331,7 @@ int go(S *s, int channels, const float *in, float *out) {
}
{ // bell
sample env = lop(&s->lop59s[4],
- (t < 0.5) * clamp(2 * (0.5 - wrap(0.5 + 4 * t)), 0, 1), 15);
+ (t < 0.75) * clamp(2 * (0.5 - wrap(0.5 + 4 * t)), 0, 1), 15);
sample env2 = lop(&s->lop59s[5], clamp
( 2
* (0.5 - wrap(8 * t))
diff @ 2019-11-23 19:55:28 +0000
diff --git a/client/go.c b/client/go.c
index acf14d079..84467077b 100644
--- a/client/go.c
+++ b/client/go.c
@@ -331,7 +331,7 @@ int go(S *s, int channels, const float *in, float *out) {
}
{ // bell
sample env = lop(&s->lop59s[4],
- (t < 0.75) * clamp(2 * (0.5 - wrap(0.5 + 4 * t)), 0, 1), 15);
+ (1) * clamp(2 * (0.5 - wrap(0.5 + 4 * t)), 0, 1), 15);
sample env2 = lop(&s->lop59s[5], clamp
( 2
* (0.5 - wrap(8 * t))
diff @ 2019-11-23 19:55:35 +0000
diff --git a/client/go.c b/client/go.c
index 84467077b..25cb2ba50 100644
--- a/client/go.c
+++ b/client/go.c
@@ -340,7 +340,7 @@ int go(S *s, int channels, const float *in, float *out) {
sample bell
= sin(8 * twopi * osc)
* sin(5 * twopi * osc)
- * sin(7 * twopi * osc)
+ * sin(14 * twopi * osc)
* env
* 4;
sample bell1 = pitchshift(&s->ps59s[0], 2, 100, 3, bell);
diff @ 2019-11-23 19:55:38 +0000
diff --git a/client/go.c b/client/go.c
index 25cb2ba50..5ef3812a8 100644
--- a/client/go.c
+++ b/client/go.c
@@ -339,7 +339,7 @@ int go(S *s, int channels, const float *in, float *out) {
, 0, 1), 15);
sample bell
= sin(8 * twopi * osc)
- * sin(5 * twopi * osc)
+ * sin(10 * twopi * osc)
* sin(14 * twopi * osc)
* env
* 4;
diff @ 2019-11-23 19:55:51 +0000
diff --git a/client/go.c b/client/go.c
index 5ef3812a8..5b76a61de 100644
--- a/client/go.c
+++ b/client/go.c
@@ -356,7 +356,7 @@ int go(S *s, int channels, const float *in, float *out) {
bell += becho;
bell *= 4;
sample lfo = 0.3 * sin(32 * twopi * t);
- sample l = 0.75 * delread4(&s->del59sl, ms4 + lfo) + bell;
+ sample l = 0.75 * delread4(&s->del59sl, 1.5* ms4 + lfo) + bell;
sample r = 0.75 * delread4(&s->del59sr, ms4 - lfo) + bell;
delwrite(&s->del59sl, -r);
delwrite(&s->del59sr, l);
diff @ 2019-11-23 19:55:59 +0000
diff --git a/client/go.c b/client/go.c
index 5b76a61de..f38f05db0 100644
--- a/client/go.c
+++ b/client/go.c
@@ -356,8 +356,8 @@ int go(S *s, int channels, const float *in, float *out) {
bell += becho;
bell *= 4;
sample lfo = 0.3 * sin(32 * twopi * t);
- sample l = 0.75 * delread4(&s->del59sl, 1.5* ms4 + lfo) + bell;
- sample r = 0.75 * delread4(&s->del59sr, ms4 - lfo) + bell;
+ sample l = 0.75 * delread4(&s->del59sl, 1.5 * ms4 + lfo) + bell;
+ sample r = 0.75 * delread4(&s->del59sr, 2.5 * ms4 - lfo) + bell;
delwrite(&s->del59sl, -r);
delwrite(&s->del59sr, l);
o[0] += l;
diff @ 2019-11-23 19:56:10 +0000
diff --git a/client/go.c b/client/go.c
index f38f05db0..367216f64 100644
--- a/client/go.c
+++ b/client/go.c
@@ -349,7 +349,7 @@ int go(S *s, int channels, const float *in, float *out) {
bell += bell1 + bell2 + bell3;
bell *= env;
sample becho = delread1(&s->del59s, ms4);
- becho = lop(&s->lop59s[3], becho, 1000) * -0.35;
+ becho = lop(&s->lop59s[3], becho, 100) * -0.35;
delwrite(&s->del59s,
bell3 + pitchshift(&s->ps59s[3], 2, 100, 3, becho));
becho *= env2;
diff @ 2019-11-23 19:56:14 +0000
diff --git a/client/go.c b/client/go.c
index 367216f64..f38f05db0 100644
--- a/client/go.c
+++ b/client/go.c
@@ -349,7 +349,7 @@ int go(S *s, int channels, const float *in, float *out) {
bell += bell1 + bell2 + bell3;
bell *= env;
sample becho = delread1(&s->del59s, ms4);
- becho = lop(&s->lop59s[3], becho, 100) * -0.35;
+ becho = lop(&s->lop59s[3], becho, 1000) * -0.35;
delwrite(&s->del59s,
bell3 + pitchshift(&s->ps59s[3], 2, 100, 3, becho));
becho *= env2;
diff @ 2019-11-23 19:56:19 +0000
diff --git a/client/go.c b/client/go.c
index f38f05db0..35c430a04 100644
--- a/client/go.c
+++ b/client/go.c
@@ -355,7 +355,7 @@ int go(S *s, int channels, const float *in, float *out) {
becho *= env2;
bell += becho;
bell *= 4;
- sample lfo = 0.3 * sin(32 * twopi * t);
+ sample lfo = 0.4 * sin(32 * twopi * t);
sample l = 0.75 * delread4(&s->del59sl, 1.5 * ms4 + lfo) + bell;
sample r = 0.75 * delread4(&s->del59sr, 2.5 * ms4 - lfo) + bell;
delwrite(&s->del59sl, -r);
diff @ 2019-11-23 19:56:21 +0000
diff --git a/client/go.c b/client/go.c
index 35c430a04..ff28d2b59 100644
--- a/client/go.c
+++ b/client/go.c
@@ -355,7 +355,7 @@ int go(S *s, int channels, const float *in, float *out) {
becho *= env2;
bell += becho;
bell *= 4;
- sample lfo = 0.4 * sin(32 * twopi * t);
+ sample lfo = 1 * sin(32 * twopi * t);
sample l = 0.75 * delread4(&s->del59sl, 1.5 * ms4 + lfo) + bell;
sample r = 0.75 * delread4(&s->del59sr, 2.5 * ms4 - lfo) + bell;
delwrite(&s->del59sl, -r);
diff @ 2019-11-23 19:56:26 +0000
diff --git a/client/go.c b/client/go.c
index ff28d2b59..a939fe68d 100644
--- a/client/go.c
+++ b/client/go.c
@@ -355,7 +355,7 @@ int go(S *s, int channels, const float *in, float *out) {
becho *= env2;
bell += becho;
bell *= 4;
- sample lfo = 1 * sin(32 * twopi * t);
+ sample lfo = 2 * sin(32 * twopi * t);
sample l = 0.75 * delread4(&s->del59sl, 1.5 * ms4 + lfo) + bell;
sample r = 0.75 * delread4(&s->del59sr, 2.5 * ms4 - lfo) + bell;
delwrite(&s->del59sl, -r);
diff @ 2019-11-23 19:56:29 +0000
diff --git a/client/go.c b/client/go.c
index a939fe68d..8b9c65e74 100644
--- a/client/go.c
+++ b/client/go.c
@@ -355,7 +355,7 @@ int go(S *s, int channels, const float *in, float *out) {
becho *= env2;
bell += becho;
bell *= 4;
- sample lfo = 2 * sin(32 * twopi * t);
+ sample lfo = 3 * sin(32 * twopi * t);
sample l = 0.75 * delread4(&s->del59sl, 1.5 * ms4 + lfo) + bell;
sample r = 0.75 * delread4(&s->del59sr, 2.5 * ms4 - lfo) + bell;
delwrite(&s->del59sl, -r);
diff @ 2019-11-23 19:56:32 +0000
diff --git a/client/go.c b/client/go.c
index 8b9c65e74..8f160302f 100644
--- a/client/go.c
+++ b/client/go.c
@@ -356,8 +356,8 @@ int go(S *s, int channels, const float *in, float *out) {
bell += becho;
bell *= 4;
sample lfo = 3 * sin(32 * twopi * t);
- sample l = 0.75 * delread4(&s->del59sl, 1.5 * ms4 + lfo) + bell;
- sample r = 0.75 * delread4(&s->del59sr, 2.5 * ms4 - lfo) + bell;
+ sample l = 0.5 * delread4(&s->del59sl, 1.5 * ms4 + lfo) + bell;
+ sample r = 0.5 * delread4(&s->del59sr, 2.5 * ms4 - lfo) + bell;
delwrite(&s->del59sl, -r);
delwrite(&s->del59sr, l);
o[0] += l;
diff @ 2019-11-23 19:56:39 +0000
diff --git a/client/go.c b/client/go.c
index 8f160302f..17268f72f 100644
--- a/client/go.c
+++ b/client/go.c
@@ -356,8 +356,8 @@ int go(S *s, int channels, const float *in, float *out) {
bell += becho;
bell *= 4;
sample lfo = 3 * sin(32 * twopi * t);
- sample l = 0.5 * delread4(&s->del59sl, 1.5 * ms4 + lfo) + bell;
- sample r = 0.5 * delread4(&s->del59sr, 2.5 * ms4 - lfo) + bell;
+ sample l = t * delread4(&s->del59sl, 1.5 * ms4 + lfo) + bell;
+ sample r = t * delread4(&s->del59sr, 2.5 * ms4 - lfo) + bell;
delwrite(&s->del59sl, -r);
delwrite(&s->del59sr, l);
o[0] += l;
diff @ 2019-11-23 19:57:01 +0000
diff --git a/client/go.c b/client/go.c
index 17268f72f..f5cb3c71d 100644
--- a/client/go.c
+++ b/client/go.c
@@ -356,7 +356,7 @@ int go(S *s, int channels, const float *in, float *out) {
bell += becho;
bell *= 4;
sample lfo = 3 * sin(32 * twopi * t);
- sample l = t * delread4(&s->del59sl, 1.5 * ms4 + lfo) + bell;
+ sample l = (1 - t) * delread4(&s->del59sl, 1.5 * ms4 + lfo) + bell;
sample r = t * delread4(&s->del59sr, 2.5 * ms4 - lfo) + bell;
delwrite(&s->del59sl, -r);
delwrite(&s->del59sr, l);
diff @ 2019-11-23 19:57:06 +0000
diff --git a/client/go.c b/client/go.c
index f5cb3c71d..0b8f1d153 100644
--- a/client/go.c
+++ b/client/go.c
@@ -349,7 +349,7 @@ int go(S *s, int channels, const float *in, float *out) {
bell += bell1 + bell2 + bell3;
bell *= env;
sample becho = delread1(&s->del59s, ms4);
- becho = lop(&s->lop59s[3], becho, 1000) * -0.35;
+ becho = lop(&s->lop59s[3], becho, 1000) * -0.5;
delwrite(&s->del59s,
bell3 + pitchshift(&s->ps59s[3], 2, 100, 3, becho));
becho *= env2;
diff @ 2019-11-23 19:57:11 +0000
diff --git a/client/go.c b/client/go.c
index 0b8f1d153..a279cb14a 100644
--- a/client/go.c
+++ b/client/go.c
@@ -349,7 +349,7 @@ int go(S *s, int channels, const float *in, float *out) {
bell += bell1 + bell2 + bell3;
bell *= env;
sample becho = delread1(&s->del59s, ms4);
- becho = lop(&s->lop59s[3], becho, 1000) * -0.5;
+ becho = lop(&s->lop59s[3], becho, 1000) * -0.65;
delwrite(&s->del59s,
bell3 + pitchshift(&s->ps59s[3], 2, 100, 3, becho));
becho *= env2;
diff @ 2019-11-23 19:57:16 +0000
diff --git a/client/go.c b/client/go.c
index a279cb14a..0b8f1d153 100644
--- a/client/go.c
+++ b/client/go.c
@@ -349,7 +349,7 @@ int go(S *s, int channels, const float *in, float *out) {
bell += bell1 + bell2 + bell3;
bell *= env;
sample becho = delread1(&s->del59s, ms4);
- becho = lop(&s->lop59s[3], becho, 1000) * -0.65;
+ becho = lop(&s->lop59s[3], becho, 1000) * -0.5;
delwrite(&s->del59s,
bell3 + pitchshift(&s->ps59s[3], 2, 100, 3, becho));
becho *= env2;
diff @ 2019-11-23 19:57:29 +0000
diff --git a/client/go.c b/client/go.c
index 0b8f1d153..13752be37 100644
--- a/client/go.c
+++ b/client/go.c
@@ -289,7 +289,7 @@ int go(S *s, int channels, const float *in, float *out) {
sample kick = sin(twopi * phasor(&s->kick59s[1], env + mod));
env2 = env2 + env2 * env2 * env2 * env2;
kick = 4 * hip(&s->hip59s[0], tanh(env2 * kick), 5);
- kick *= 0;
+ kick *= 1;
o[0] += kick;
o[1] += kick;
}
@@ -298,7 +298,7 @@ int go(S *s, int channels, const float *in, float *out) {
sample open = 1 - wrap(4 * t - 0.50);
closed *= closed;
closed *= closed;
- closed *= 1.3 * 0;
+ closed *= 1.3;
open *= 1.3;
closed *= closed;
closed *= closed;
diff @ 2019-11-23 19:57:42 +0000
diff --git a/client/go.c b/client/go.c
index 13752be37..1acf0127a 100644
--- a/client/go.c
+++ b/client/go.c
@@ -277,7 +277,7 @@ int go(S *s, int channels, const float *in, float *out) {
sample o[2] = { 0, 0 };
{ // kick
sample peak = hz * 8;
- sample env = 1 - wrap(8./3 * t);
+ sample env = 1 - wrap(4 * t);
sample env2 = env * 2;
env *= env;
env *= env;
diff @ 2019-11-23 19:57:51 +0000
diff --git a/client/go.c b/client/go.c
index 1acf0127a..6d54257cc 100644
--- a/client/go.c
+++ b/client/go.c
@@ -271,7 +271,7 @@ int go(S *s, int channels, const float *in, float *out) {
s->del59sr.length = SR/4;
sample tempo = bpm / 60 / 4;
sample ms4 = (1000 / (bpm / 60)) / 4;
- sample hz = 40;
+ sample hz = 60;
sample t = phasor(&s->phase59s, tempo);
sample osc = phasor(&s->osc59s, pow(2.0, t - 0.5) * hz);
sample o[2] = { 0, 0 };
diff @ 2019-11-23 19:57:55 +0000
diff --git a/client/go.c b/client/go.c
index 6d54257cc..619f04e85 100644
--- a/client/go.c
+++ b/client/go.c
@@ -271,7 +271,7 @@ int go(S *s, int channels, const float *in, float *out) {
s->del59sr.length = SR/4;
sample tempo = bpm / 60 / 4;
sample ms4 = (1000 / (bpm / 60)) / 4;
- sample hz = 60;
+ sample hz = 20;
sample t = phasor(&s->phase59s, tempo);
sample osc = phasor(&s->osc59s, pow(2.0, t - 0.5) * hz);
sample o[2] = { 0, 0 };
diff @ 2019-11-23 19:57:56 +0000
diff --git a/client/go.c b/client/go.c
index 619f04e85..1acf0127a 100644
--- a/client/go.c
+++ b/client/go.c
@@ -271,7 +271,7 @@ int go(S *s, int channels, const float *in, float *out) {
s->del59sr.length = SR/4;
sample tempo = bpm / 60 / 4;
sample ms4 = (1000 / (bpm / 60)) / 4;
- sample hz = 20;
+ sample hz = 40;
sample t = phasor(&s->phase59s, tempo);
sample osc = phasor(&s->osc59s, pow(2.0, t - 0.5) * hz);
sample o[2] = { 0, 0 };
diff @ 2019-11-23 19:58:11 +0000
diff --git a/client/go.c b/client/go.c
index 1acf0127a..a66a45266 100644
--- a/client/go.c
+++ b/client/go.c
@@ -271,8 +271,8 @@ int go(S *s, int channels, const float *in, float *out) {
s->del59sr.length = SR/4;
sample tempo = bpm / 60 / 4;
sample ms4 = (1000 / (bpm / 60)) / 4;
- sample hz = 40;
sample t = phasor(&s->phase59s, tempo);
+ sample hz = 40 * pow(2, floor(4 * t));
sample osc = phasor(&s->osc59s, pow(2.0, t - 0.5) * hz);
sample o[2] = { 0, 0 };
{ // kick
diff @ 2019-11-23 19:58:25 +0000
diff --git a/client/go.c b/client/go.c
index a66a45266..ef82fc04e 100644
--- a/client/go.c
+++ b/client/go.c
@@ -272,7 +272,7 @@ int go(S *s, int channels, const float *in, float *out) {
sample tempo = bpm / 60 / 4;
sample ms4 = (1000 / (bpm / 60)) / 4;
sample t = phasor(&s->phase59s, tempo);
- sample hz = 40 * pow(2, floor(4 * t));
+ sample hz = 40 * pow(2, floor(3 * t));
sample osc = phasor(&s->osc59s, pow(2.0, t - 0.5) * hz);
sample o[2] = { 0, 0 };
{ // kick
diff @ 2019-11-23 19:58:32 +0000
diff --git a/client/go.c b/client/go.c
index ef82fc04e..ee7f49dae 100644
--- a/client/go.c
+++ b/client/go.c
@@ -276,7 +276,7 @@ int go(S *s, int channels, const float *in, float *out) {
sample osc = phasor(&s->osc59s, pow(2.0, t - 0.5) * hz);
sample o[2] = { 0, 0 };
{ // kick
- sample peak = hz * 8;
+ sample peak = hz * 4;
sample env = 1 - wrap(4 * t);
sample env2 = env * 2;
env *= env;
diff @ 2019-11-23 19:58:49 +0000
diff --git a/client/go.c b/client/go.c
index ee7f49dae..9cd43658d 100644
--- a/client/go.c
+++ b/client/go.c
@@ -294,7 +294,7 @@ int go(S *s, int channels, const float *in, float *out) {
o[1] += kick;
}
{ // hihat
- sample closed = 1 - wrap(8 * t - 0.58);
+ sample closed = 1 - wrap(8 * t - 0.66666);
sample open = 1 - wrap(4 * t - 0.50);
closed *= closed;
closed *= closed;
diff @ 2019-11-23 19:58:56 +0000
diff --git a/client/go.c b/client/go.c
index 9cd43658d..46a91c624 100644
--- a/client/go.c
+++ b/client/go.c
@@ -294,7 +294,7 @@ int go(S *s, int channels, const float *in, float *out) {
o[1] += kick;
}
{ // hihat
- sample closed = 1 - wrap(8 * t - 0.66666);
+ sample closed = 1 - wrap(4 * t - 0.66666);
sample open = 1 - wrap(4 * t - 0.50);
closed *= closed;
closed *= closed;
diff @ 2019-11-23 19:59:02 +0000
diff --git a/client/go.c b/client/go.c
index 46a91c624..c9e6c6190 100644
--- a/client/go.c
+++ b/client/go.c
@@ -294,7 +294,7 @@ int go(S *s, int channels, const float *in, float *out) {
o[1] += kick;
}
{ // hihat
- sample closed = 1 - wrap(4 * t - 0.66666);
+ sample closed = 1 - wrap(4 * t - 0.3333);
sample open = 1 - wrap(4 * t - 0.50);
closed *= closed;
closed *= closed;
diff @ 2019-11-23 19:59:19 +0000
diff --git a/client/go.c b/client/go.c
index c9e6c6190..ef68b71b5 100644
--- a/client/go.c
+++ b/client/go.c
@@ -269,7 +269,7 @@ int go(S *s, int channels, const float *in, float *out) {
s->del59s .length = SR/4;
s->del59sl.length = SR/4;
s->del59sr.length = SR/4;
- sample tempo = bpm / 60 / 4;
+ sample tempo = bpm / 60 / 8;
sample ms4 = (1000 / (bpm / 60)) / 4;
sample t = phasor(&s->phase59s, tempo);
sample hz = 40 * pow(2, floor(3 * t));
diff @ 2019-11-23 19:59:24 +0000
diff --git a/client/go.c b/client/go.c
index ef68b71b5..d95a90443 100644
--- a/client/go.c
+++ b/client/go.c
@@ -269,7 +269,7 @@ int go(S *s, int channels, const float *in, float *out) {
s->del59s .length = SR/4;
s->del59sl.length = SR/4;
s->del59sr.length = SR/4;
- sample tempo = bpm / 60 / 8;
+ sample tempo = bpm / 60 / 16;
sample ms4 = (1000 / (bpm / 60)) / 4;
sample t = phasor(&s->phase59s, tempo);
sample hz = 40 * pow(2, floor(3 * t));
diff @ 2019-11-23 19:59:38 +0000
diff --git a/client/go.c b/client/go.c
index d95a90443..98b96398f 100644
--- a/client/go.c
+++ b/client/go.c
@@ -269,7 +269,7 @@ int go(S *s, int channels, const float *in, float *out) {
s->del59s .length = SR/4;
s->del59sl.length = SR/4;
s->del59sr.length = SR/4;
- sample tempo = bpm / 60 / 16;
+ sample tempo = bpm / 60 / 32;
sample ms4 = (1000 / (bpm / 60)) / 4;
sample t = phasor(&s->phase59s, tempo);
sample hz = 40 * pow(2, floor(3 * t));
diff @ 2019-11-23 19:59:49 +0000
diff @ 2019-11-23 20:00:02 +0000
diff --git a/client/go.c b/client/go.c
index 1ef7e4dd6..83a7d873d 100644
--- a/client/go.c
+++ b/client/go.c
@@ -314,7 +314,7 @@ int go(S *s, int channels, const float *in, float *out) {
s->del59s .length = SR/4;
s->del59sl.length = SR/4;
s->del59sr.length = SR/4;
- sample tempo = bpm / 60 / 32;
+ sample tempo = 0;// bpm / 60 / 32;
sample ms4 = (1000 / (bpm / 60)) / 4;
sample t = phasor(&s->phase59s, tempo);
sample hz = 40 * pow(2, floor(3 * t));
diff @ 2019-11-23 20:00:16 +0000
diff --git a/client/go.c b/client/go.c
index 83a7d873d..71782ae93 100644
--- a/client/go.c
+++ b/client/go.c
@@ -308,111 +308,6 @@ int go(S *s, int channels, const float *in, float *out) {
}
///}}} EL DAY DE LAY
-///{{{ FIFTY-NINE STELLATIONS
- // = 5 = fifty-nine stellations ======================================
- {
- s->del59s .length = SR/4;
- s->del59sl.length = SR/4;
- s->del59sr.length = SR/4;
- sample tempo = 0;// bpm / 60 / 32;
- sample ms4 = (1000 / (bpm / 60)) / 4;
- sample t = phasor(&s->phase59s, tempo);
- sample hz = 40 * pow(2, floor(3 * t));
- sample osc = phasor(&s->osc59s, pow(2.0, t - 0.5) * hz);
- sample o[2] = { 0, 0 };
- { // kick
- sample peak = hz * 4;
- sample env = 1 - wrap(4 * t);
- sample env2 = env * 2;
- env *= env;
- env *= env;
- env *= sqrt(sqrt(peak));
- sample env3 = env * env * env;
- sample mod = sin(twopi * phasor(&s->kick59s[0], env * peak)) * env3;
- env *= env;
- env *= env;
- sample kick = sin(twopi * phasor(&s->kick59s[1], env + mod));
- env2 = env2 + env2 * env2 * env2 * env2;
- kick = 4 * hip(&s->hip59s[0], tanh(env2 * kick), 5);
- kick *= 1;
- o[0] += kick;
- o[1] += kick;
- }
- { // hihat
- sample closed = 1 - wrap(4 * t - 0.3333);
- sample open = 1 - wrap(4 * t - 0.50);
- closed *= closed;
- closed *= closed;
- closed *= 1.3;
- open *= 1.3;
- closed *= closed;
- closed *= closed;
- open *= open;
- open *= open;
- open *= open;
- sample env = open + closed;
- sample h = noise();
- h *= 1;
- o[0] += 4 * tanh(env * hip(&s->hip59s[2], hip(&s->hip59s[3],
- h * noise(), 3000), 1500));
- o[1] += 4 * tanh(env * hip(&s->hip59s[4], hip(&s->hip59s[5],
- h * noise(), 3000), 1500));
- }
- { // bass
- sample lfo = lop(&s->lop59s[0], wrap(8/3. * t), 5);
- sample sub = sin(2 * twopi * osc);
- sample bosc = hip(&s->hip59s[1],
- wrap(samphold(&s->sh59s, lfo, osc) + osc) - osc, 5);
- sample bass
- = sub
- + lop(&s->lop59s[1], lop(&s->lop59s[2], bosc, 1000), 1000)
- + sin(pow(16, 1 - t) * twopi * vcf(&s->vcf59s[0], bosc, 8 * pow(8, 1 - wrap(16 * t)) * hz, 16))
- + sin((wrap(2 * t) < 0.5 ? 2 : 3) * twopi * vcf(&s->vcf59s[1], bosc
- , (wrap(4 * t) < 0.5 ? 8 : 12) * hz, 4)) * 0.7;
- bass *= 1.5;
- bass *= 0;
- o[0] += bass;
- o[1] += bass;
- }
- { // bell
- sample env = lop(&s->lop59s[4],
- (1) * clamp(2 * (0.5 - wrap(0.5 + 4 * t)), 0, 1), 15);
- sample env2 = lop(&s->lop59s[5], clamp
- ( 2
- * (0.5 - wrap(8 * t))
- * (wrap(4 * t) < 0.5)
- , 0, 1), 15);
- sample bell
- = sin(8 * twopi * osc)
- * sin(10 * twopi * osc)
- * sin(14 * twopi * osc)
- * env
- * 4;
- sample bell1 = pitchshift(&s->ps59s[0], 2, 100, 3, bell);
- sample bell2 = pitchshift(&s->ps59s[1], 2, 100, 4, bell1);
- sample bell3 = pitchshift(&s->ps59s[2], 2, 100, 5, bell2);
- bell += bell1 + bell2 + bell3;
- bell *= env;
- sample becho = delread1(&s->del59s, ms4);
- becho = lop(&s->lop59s[3], becho, 1000) * -0.5;
- delwrite(&s->del59s,
- bell3 + pitchshift(&s->ps59s[3], 2, 100, 3, becho));
- becho *= env2;
- bell += becho;
- bell *= 4;
- sample lfo = 3 * sin(32 * twopi * t);
- sample l = (1 - t) * delread4(&s->del59sl, 1.5 * ms4 + lfo) + bell;
- sample r = t * delread4(&s->del59sr, 2.5 * ms4 - lfo) + bell;
- delwrite(&s->del59sl, -r);
- delwrite(&s->del59sr, l);
- o[0] += l;
- o[1] += r;
- }
- compress(o, &s->comp59s, 5, 10, 15, 36, o);
- mixdown[0] += o[0];
- mixdown[1] += o[1];
- }
-///}}} FIFTY-NINE STELLATIONS
///{{{ PEGASUS V3.7+SEF
{
diff @ 2019-11-23 20:00:24 +0000
diff --git a/client/go.c b/client/go.c
index 71782ae93..ea1b4207d 100644
--- a/client/go.c
+++ b/client/go.c
@@ -275,40 +275,6 @@ int go(S *s, int channels, const float *in, float *out) {
///))) MIXDOWN
-///{{{ EL DAY DE LAY
- {
- s->edelay1.length = 4 * SR;
- s->edelay2.length = 4 * SR;
- sample t = 4 * twopi * p;
- sample co = cos(t);
- sample si = sin(t);
- sample ldelms = 60000 / bpm * (p < 0.875
- ? 1.
- : 1./pow(2, floor(4 * samphold(&s->esh[1][0], noise() + 1, p)))
- );
- sample rdelms = 60000 / bpm * (p < 0.875
- ? 1.
- : 1./pow(2, floor(4 * samphold(&s->esh[1][1], noise() + 1, p)))
- );
- 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 };
- compress(es, &s->ecompress1, 5, 10, 25, 48, es);
- es[0] = mix(mixdown[0], es[0], mix(0, pow(wrap(64 * p), (sample) 1), 1));
- es[1] = mix(mixdown[1], es[1], mix(0, pow(wrap(64 * p), (sample) 1), 1));
- es[0] = lop(&s->elop2[0], hip(&s->ehip2[0], es[0], 20), 12000);
- es[1] = lop(&s->elop2[1], hip(&s->ehip2[1], es[1], 20), 12000);
- compress(es, &s->ecompress2, 5, 10, 25, 48, es);
- delwrite(&s->edelay1, es[0]);
- delwrite(&s->edelay2, es[1]);
- mixdown[0] = es[0];
- mixdown[1] = es[1];
- }
-///}}} EL DAY DE LAY
-
-
///{{{ PEGASUS V3.7+SEF
{
bpm *= 3.0/4.0;
diff @ 2019-11-23 20:00:59 +0000
diff --git a/client/go.c b/client/go.c
index ea1b4207d..c43be2941 100644
--- a/client/go.c
+++ b/client/go.c
@@ -390,8 +390,8 @@ int go(S *s, int channels, const float *in, float *out) {
{ o + 0.1 * o2
, o2 - 0.1 * o
};
- delwrite(&s->pdel1, 0.8 * output[0]);
- delwrite(&s->pdel2, 0.8 * output[1]);
+ delwrite(&s->pdel1, 0.7 * output[0]);
+ delwrite(&s->pdel2, 0.7 * output[1]);
mixdown[0] += clamp(r, 0, 0.5) * 8 * output[0] + 8 * (1 + sin(pi * r)) * kick;
mixdown[1] += clamp(r, 0, 0.5) * 8 * output[1] + 8 * (1 + sin(pi * r)) * kick;
}
diff @ 2019-11-23 20:01:08 +0000
diff --git a/client/go.c b/client/go.c
index c43be2941..fbf95ab5f 100644
--- a/client/go.c
+++ b/client/go.c
@@ -390,8 +390,8 @@ int go(S *s, int channels, const float *in, float *out) {
{ o + 0.1 * o2
, o2 - 0.1 * o
};
- delwrite(&s->pdel1, 0.7 * output[0]);
- delwrite(&s->pdel2, 0.7 * output[1]);
+ delwrite(&s->pdel1, 0.6 * output[0]);
+ delwrite(&s->pdel2, 0.6 * output[1]);
mixdown[0] += clamp(r, 0, 0.5) * 8 * output[0] + 8 * (1 + sin(pi * r)) * kick;
mixdown[1] += clamp(r, 0, 0.5) * 8 * output[1] + 8 * (1 + sin(pi * r)) * kick;
}
diff @ 2019-11-23 20:01:36 +0000
diff --git a/client/go.c b/client/go.c
index fbf95ab5f..642ec2b51 100644
--- a/client/go.c
+++ b/client/go.c
@@ -339,7 +339,7 @@ int go(S *s, int channels, const float *in, float *out) {
{
band[c] = biquad(bandpass(&s->pmultiband[o][c], hz/4 * pow(2, o), flatq), input[c]);
}
- compress(band, &s->pmulticomp[o], 1, 5, 10, 48, band);
+ compress(band, &s->pmulticomp[o], 10, 1, 1, 48, band);
output[0] += band[0] / (1 + 2*o);
output[1] += band[1] / (1 + 2*o);
}
diff @ 2019-11-23 20:01:40 +0000
diff --git a/client/go.c b/client/go.c
index 642ec2b51..a7ec3551b 100644
--- a/client/go.c
+++ b/client/go.c
@@ -343,7 +343,7 @@ int go(S *s, int channels, const float *in, float *out) {
output[0] += band[0] / (1 + 2*o);
output[1] += band[1] / (1 + 2*o);
}
- compress(output, &s->bellfbcomp, 1, 5, 10, 48, output);
+ compress(output, &s->bellfbcomp, 10, 1, 1, 48, output);
l = output[0];
r = output[1];
sample d = stop * pow(6, clamp(r0, 0, 1));
diff @ 2019-11-23 20:01:54 +0000
diff --git a/client/go.c b/client/go.c
index a7ec3551b..3bd02d2e1 100644
--- a/client/go.c
+++ b/client/go.c
@@ -330,7 +330,7 @@ int go(S *s, int channels, const float *in, float *out) {
sample l = clamp(mix(2, 4, r0), 0, 2) * delread4(&s->del59l, ms4 + lfo) + bell;
sample r = clamp(mix(2, 4, r0), 0, 2) * delread4(&s->del59r, ms4 - lfo) + bell;
// multiband compressor
- sample input[2] = { lop(&s->belllo[0], l, 4000), lop(&s->belllo[1], r, 4000) };
+ sample input[2] = { lop(&s->belllo[0], l, 2000), lop(&s->belllo[1], r, 2000) };
sample output[2] = { 0, 0 };
for (int o = 4; o < OCTAVES; ++o)
{
diff @ 2019-11-23 20:02:22 +0000
diff --git a/client/go.c b/client/go.c
index 3bd02d2e1..9127d76b7 100644
--- a/client/go.c
+++ b/client/go.c
@@ -292,7 +292,7 @@ int go(S *s, int channels, const float *in, float *out) {
sample gate = r < 1;
sample stop = r < 1 + 1./32;
sample p = wrap(512/4 * r);
- sample hz = 40 * pow(2, wrap(p * p * p * 8)/4);
+ sample hz = 40 * pow(2, wrap(p * p * p * 8)/4) * pow(2, r);
sample t = p;
sample osc = phasor(&s->osc59, hz);
sample oo[2] = { 0, 0 };
diff @ 2019-11-23 20:02:31 +0000
diff --git a/client/go.c b/client/go.c
index 9127d76b7..3bd02d2e1 100644
--- a/client/go.c
+++ b/client/go.c
@@ -292,7 +292,7 @@ int go(S *s, int channels, const float *in, float *out) {
sample gate = r < 1;
sample stop = r < 1 + 1./32;
sample p = wrap(512/4 * r);
- sample hz = 40 * pow(2, wrap(p * p * p * 8)/4) * pow(2, r);
+ sample hz = 40 * pow(2, wrap(p * p * p * 8)/4);
sample t = p;
sample osc = phasor(&s->osc59, hz);
sample oo[2] = { 0, 0 };
diff @ 2019-11-23 20:02:41 +0000
diff --git a/client/go.c b/client/go.c
index 3bd02d2e1..8be65f93b 100644
--- a/client/go.c
+++ b/client/go.c
@@ -306,7 +306,7 @@ int go(S *s, int channels, const float *in, float *out) {
* (wrap(4 * t) < 0.5)
, 0, 1), 15);
sample bell
- = sin(4 * twopi * osc * pow(2, t < 0.5))
+ = sin(8 * twopi * osc * pow(2, t < 0.5))
* sin(5 * twopi * osc * pow(2, wrap(2 * t) < 0.5))
* sin(7 * twopi * osc * pow(2, wrap(4 * t) < 0.5))
* env
diff @ 2019-11-23 20:02:56 +0000
diff --git a/client/go.c b/client/go.c
index 8be65f93b..96ad5c0fb 100644
--- a/client/go.c
+++ b/client/go.c
@@ -312,7 +312,7 @@ int go(S *s, int channels, const float *in, float *out) {
* env
* 4;
sample becho = delread1(&s->del59, ms4);
- becho = -sin(lop(&s->lop59[3], becho, 8000) * 0.5 * mix(3, pow(3, r), gate));
+ becho = -sin(lop(&s->lop59[3], becho, 4000) * 0.5 * mix(3, pow(3, r), gate));
becho *= env2;
bell += becho;
sample pms = ms4;// - (r >= 0.75) * 50;
diff @ 2019-11-23 20:03:12 +0000
diff --git a/client/go.c b/client/go.c
index 96ad5c0fb..7f3009fe1 100644
--- a/client/go.c
+++ b/client/go.c
@@ -318,7 +318,7 @@ int go(S *s, int channels, const float *in, float *out) {
sample pms = ms4;// - (r >= 0.75) * 50;
sample bell1 = pitchshift(&s->ps59[0], 1, pms, 12 + 3*sin(pi * r * gate), -bell);
sample bell2 = pitchshift(&s->ps59[1], 1, pms, -12 - 3*sin(pi * r * gate), -bell1);
- sample bell3 = pitchshift(&s->ps59[2], 1, pms, 3 - 6 * sin(pi * r * gate), -bell2);
+ sample bell3 = pitchshift(&s->ps59[2], 1, pms, 7 - 14 * sin(pi * r * gate), -bell2);
bell += bell1 + bell2 + bell3;
sample e = pow(32, clamp(r, 0, 1)) / 8;
bell = sin(bell * e)/e;
diff @ 2019-11-23 20:03:18 +0000
diff --git a/client/go.c b/client/go.c
index 7f3009fe1..67fb352aa 100644
--- a/client/go.c
+++ b/client/go.c
@@ -318,7 +318,7 @@ int go(S *s, int channels, const float *in, float *out) {
sample pms = ms4;// - (r >= 0.75) * 50;
sample bell1 = pitchshift(&s->ps59[0], 1, pms, 12 + 3*sin(pi * r * gate), -bell);
sample bell2 = pitchshift(&s->ps59[1], 1, pms, -12 - 3*sin(pi * r * gate), -bell1);
- sample bell3 = pitchshift(&s->ps59[2], 1, pms, 7 - 14 * sin(pi * r * gate), -bell2);
+ sample bell3 = pitchshift(&s->ps59[2], 1, pms, 12 - 24 * sin(pi * r * gate), -bell2);
bell += bell1 + bell2 + bell3;
sample e = pow(32, clamp(r, 0, 1)) / 8;
bell = sin(bell * e)/e;
diff @ 2019-11-23 20:03:27 +0000
diff --git a/client/go.c b/client/go.c
index 67fb352aa..a1a234fac 100644
--- a/client/go.c
+++ b/client/go.c
@@ -330,7 +330,7 @@ int go(S *s, int channels, const float *in, float *out) {
sample l = clamp(mix(2, 4, r0), 0, 2) * delread4(&s->del59l, ms4 + lfo) + bell;
sample r = clamp(mix(2, 4, r0), 0, 2) * delread4(&s->del59r, ms4 - lfo) + bell;
// multiband compressor
- sample input[2] = { lop(&s->belllo[0], l, 2000), lop(&s->belllo[1], r, 2000) };
+ sample input[2] = { lop(&s->belllo[0], l, 1000), lop(&s->belllo[1], r, 1000) };
sample output[2] = { 0, 0 };
for (int o = 4; o < OCTAVES; ++o)
{
diff @ 2019-11-23 20:03:42 +0000
diff --git a/client/go.c b/client/go.c
index a1a234fac..2fa404eb9 100644
--- a/client/go.c
+++ b/client/go.c
@@ -368,8 +368,8 @@ int go(S *s, int channels, const float *in, float *out) {
wrap(3 * p)))));
env = mix(1, env, stop * r);
env2 = mix(1, env2, stop * r);
- env = lop(&s->pdeclick[0], samphold(&s->psh[1], env, env), 40);
- env2 = lop(&s->pdeclick[1], samphold(&s->psh[2], env2, env2), 40);
+ env = lop(&s->pdeclick[0], samphold(&s->psh[1], env, env), 24);
+ env2 = lop(&s->pdeclick[1], samphold(&s->psh[2], env2, env2), 24);
// tones
sample o = sin((1 + 2 * sin(pi * r)) * env * mixdown[0] + (sin(pi * r * gate) * r * gate + 0.5 * (1 - gate)) * vcf(&s->pdelvcf[0], delread1(&s->pdel2, ms4/4), 1500 * pow(2, sin(twopi * r * 32)), 3));
o += biquad(lowpass(&s->pbq[6], 2000 * pow(2, env), flatq), o);
diff @ 2019-11-23 20:03:50 +0000
diff --git a/client/go.c b/client/go.c
index 2fa404eb9..7cedd2cb3 100644
--- a/client/go.c
+++ b/client/go.c
@@ -372,10 +372,10 @@ int go(S *s, int channels, const float *in, float *out) {
env2 = lop(&s->pdeclick[1], samphold(&s->psh[2], env2, env2), 24);
// tones
sample o = sin((1 + 2 * sin(pi * r)) * env * mixdown[0] + (sin(pi * r * gate) * r * gate + 0.5 * (1 - gate)) * vcf(&s->pdelvcf[0], delread1(&s->pdel2, ms4/4), 1500 * pow(2, sin(twopi * r * 32)), 3));
- o += biquad(lowpass(&s->pbq[6], 2000 * pow(2, env), flatq), o);
+ o += biquad(lowpass(&s->pbq[6], 1000 * pow(2, env), flatq), o);
o += biquad(highpass(&s->pbq[7], 50, flatq), o);
sample o2= sin((1 + 2 * sin(pi * r)) * env2 *mixdown[1] + (sin(pi * r * gate) * r * gate + 0.5 * (1 - gate)) * vcf(&s->pdelvcf[1], delread1(&s->pdel1, ms4/4), 1500 * pow(2, cos(twopi * r * 32)), 3));
- o2 += biquad(lowpass(&s->pbq[8], 2000 * pow(2, env2), flatq), o2);
+ o2 += biquad(lowpass(&s->pbq[8], 1000 * pow(2, env2), flatq), o2);
o2 += biquad(highpass(&s->pbq[9], 50, flatq), o2);
// kick
sample kick = gate * (1 - wrap((r < 0.5 ? 6 : 6) * p));
diff @ 2019-11-23 20:03:59 +0000
diff --git a/client/go.c b/client/go.c
index 7cedd2cb3..027243f1b 100644
--- a/client/go.c
+++ b/client/go.c
@@ -372,10 +372,10 @@ int go(S *s, int channels, const float *in, float *out) {
env2 = lop(&s->pdeclick[1], samphold(&s->psh[2], env2, env2), 24);
// tones
sample o = sin((1 + 2 * sin(pi * r)) * env * mixdown[0] + (sin(pi * r * gate) * r * gate + 0.5 * (1 - gate)) * vcf(&s->pdelvcf[0], delread1(&s->pdel2, ms4/4), 1500 * pow(2, sin(twopi * r * 32)), 3));
- o += biquad(lowpass(&s->pbq[6], 1000 * pow(2, env), flatq), o);
+ o += biquad(lowpass(&s->pbq[6], 500 * pow(2, env), flatq), o);
o += biquad(highpass(&s->pbq[7], 50, flatq), o);
sample o2= sin((1 + 2 * sin(pi * r)) * env2 *mixdown[1] + (sin(pi * r * gate) * r * gate + 0.5 * (1 - gate)) * vcf(&s->pdelvcf[1], delread1(&s->pdel1, ms4/4), 1500 * pow(2, cos(twopi * r * 32)), 3));
- o2 += biquad(lowpass(&s->pbq[8], 1000 * pow(2, env2), flatq), o2);
+ o2 += biquad(lowpass(&s->pbq[8], 500 * pow(2, env2), flatq), o2);
o2 += biquad(highpass(&s->pbq[9], 50, flatq), o2);
// kick
sample kick = gate * (1 - wrap((r < 0.5 ? 6 : 6) * p));
diff @ 2019-11-23 20:04:04 +0000
diff --git a/client/go.c b/client/go.c
index 027243f1b..d2b718467 100644
--- a/client/go.c
+++ b/client/go.c
@@ -373,10 +373,10 @@ int go(S *s, int channels, const float *in, float *out) {
// tones
sample o = sin((1 + 2 * sin(pi * r)) * env * mixdown[0] + (sin(pi * r * gate) * r * gate + 0.5 * (1 - gate)) * vcf(&s->pdelvcf[0], delread1(&s->pdel2, ms4/4), 1500 * pow(2, sin(twopi * r * 32)), 3));
o += biquad(lowpass(&s->pbq[6], 500 * pow(2, env), flatq), o);
- o += biquad(highpass(&s->pbq[7], 50, flatq), o);
+ o += biquad(highpass(&s->pbq[7], 150, flatq), o);
sample o2= sin((1 + 2 * sin(pi * r)) * env2 *mixdown[1] + (sin(pi * r * gate) * r * gate + 0.5 * (1 - gate)) * vcf(&s->pdelvcf[1], delread1(&s->pdel1, ms4/4), 1500 * pow(2, cos(twopi * r * 32)), 3));
o2 += biquad(lowpass(&s->pbq[8], 500 * pow(2, env2), flatq), o2);
- o2 += biquad(highpass(&s->pbq[9], 50, flatq), o2);
+ o2 += biquad(highpass(&s->pbq[9], 150, flatq), o2);
// kick
sample kick = gate * (1 - wrap((r < 0.5 ? 6 : 6) * p));
kick *= kick;
diff @ 2019-11-23 20:04:16 +0000
diff --git a/client/go.c b/client/go.c
index d2b718467..e9b19088d 100644
--- a/client/go.c
+++ b/client/go.c
@@ -390,8 +390,8 @@ int go(S *s, int channels, const float *in, float *out) {
{ o + 0.1 * o2
, o2 - 0.1 * o
};
- delwrite(&s->pdel1, 0.6 * output[0]);
- delwrite(&s->pdel2, 0.6 * output[1]);
+ delwrite(&s->pdel1, 0.8 * output[0]);
+ delwrite(&s->pdel2, 0.8 * output[1]);
mixdown[0] += clamp(r, 0, 0.5) * 8 * output[0] + 8 * (1 + sin(pi * r)) * kick;
mixdown[1] += clamp(r, 0, 0.5) * 8 * output[1] + 8 * (1 + sin(pi * r)) * kick;
}
diff @ 2019-11-23 20:04:21 +0000
diff --git a/client/go.c b/client/go.c
index e9b19088d..cac6cfa83 100644
--- a/client/go.c
+++ b/client/go.c
@@ -390,8 +390,8 @@ int go(S *s, int channels, const float *in, float *out) {
{ o + 0.1 * o2
, o2 - 0.1 * o
};
- delwrite(&s->pdel1, 0.8 * output[0]);
- delwrite(&s->pdel2, 0.8 * output[1]);
+ delwrite(&s->pdel1, 0.89 * output[0]);
+ delwrite(&s->pdel2, 0.89 * output[1]);
mixdown[0] += clamp(r, 0, 0.5) * 8 * output[0] + 8 * (1 + sin(pi * r)) * kick;
mixdown[1] += clamp(r, 0, 0.5) * 8 * output[1] + 8 * (1 + sin(pi * r)) * kick;
}
diff @ 2019-11-23 20:04:31 +0000
diff --git a/client/go.c b/client/go.c
index cac6cfa83..f82d6717c 100644
--- a/client/go.c
+++ b/client/go.c
@@ -390,8 +390,8 @@ int go(S *s, int channels, const float *in, float *out) {
{ o + 0.1 * o2
, o2 - 0.1 * o
};
- delwrite(&s->pdel1, 0.89 * output[0]);
- delwrite(&s->pdel2, 0.89 * output[1]);
+ delwrite(&s->pdel1, 0.989 * output[0]);
+ delwrite(&s->pdel2, 0.989 * output[1]);
mixdown[0] += clamp(r, 0, 0.5) * 8 * output[0] + 8 * (1 + sin(pi * r)) * kick;
mixdown[1] += clamp(r, 0, 0.5) * 8 * output[1] + 8 * (1 + sin(pi * r)) * kick;
}
diff @ 2019-11-23 20:04:53 +0000
diff @ 2019-11-23 20:05:04 +0000
diff --git a/client/go.c b/client/go.c
index 448d59da6..d01cad22b 100644
--- a/client/go.c
+++ b/client/go.c
@@ -418,7 +418,7 @@ int go(S *s, int channels, const float *in, float *out) {
) >> 20))
);
o *= 0.2;
- o = hip1(&s->leaveshi, o, 1);
+ o = hip1(&s->leaveshi, o, 10);
o = lop1(&s->leaveslo, o, 4000);
mixdown[0] += o;
mixdown[1] += o;
the end