glicol
glicol copied to clipboard
Can you make the song auto progress?
I like the language, and demos are great, but I'm missing a song that will have beginning, middle and end for example. I have no idea how to approach that. Can you simply make a song that has 4 bars, then 4 other bars and then 4 other (with on/off of some nodes)?
Or is there a node that lets you delay a few bars some chain?
You can mute some chains by commenting them out. So the progress basically depends on the user interaction, which means you should decide on when to run what. I am also experimenting with different scoring or controlling syntax.
I know it's the premise of live coding. But I want more control and variety over chains of music. Not possible to mute for 4 bars?
I know it's the premise of live coding. But I want more control and variety over chains of music. Not possible to mute for 4 bars?
I will soon add a node called shape for customising any envelope.
For now, off the tutorial, you can use the pattern
syntax, which is just an experimental feature.
o: speed 8.0 >> seq 60 >> mul ~gate >> sp \sid
~gate: sig "[email protected] [email protected]"(8)
You can now use arrange
to control seq
:
~t1: speed 2.0 >> seq 60 62 64 65
~t2: speed 8.0 >> seq 48 72
out: arrange ~t1 3 ~t2 1 >> sawsynth 0.01 0.1
This is amazing! Thank you so much. I will test it tomorrow!
Hey! I checked this sample:
~t1: speed 2.0 >> seq 48 48 48 48 ~t2: speed 2.0 >> seq 72 72 ~p1: arrange ~t1 1 ~t2 1
~t5: speed 2.0 >> seq 62 64 65 67 ~t6: speed 2.0 >> seq 60 62 ~p2: arrange ~t5 1 ~t6 1
out: arrange ~p1 1 ~p2 1 >> sawsynth 0.01 0.02
plate 0.1 >> mul 4 >> lpf 2000.0 1.0
And what I would expect is it should play the whole phrase 1, then whole phrase 2 after arranging them together. Can you help @chaosprint ?
Hey! I checked this sample:
~t1: speed 2.0 >> seq 48 48 48 48 ~t2: speed 2.0 >> seq 72 72 ~p1: arrange ~t1 1 ~t2 1
~t5: speed 2.0 >> seq 62 64 65 67 ~t6: speed 2.0 >> seq 60 62 ~p2: arrange ~t5 1 ~t6 1
out: arrange ~p1 1 ~p2 1 >> sawsynth 0.01 0.02
plate 0.1 >> mul 4 >> lpf 2000.0 1.0
And what I would expect is it should play the whole phrase 1, then whole phrase 2 after arranging them together. Can you help @chaosprint ?
The arrange
is just to wrap seq
; it is simply a router that runs on the global timeline and allows the signal of a particular ~ref
to pass after the given bars.
So when you wrap another arrange
it will work but may not be what you want. I assume that you want the arrange
to eat up each part. But that's very hard to implement and it's one point that real-time live coding draws a difference from general-purpose programming.
I will make the doc for arrange
soon to better explain it.