crcdng
June 13, 2023, 12:47pm
1
I want to make pure effect tracks to manipulate effect values via control busses.
This is my approach.
p "effects"
$ "hh" # gain 0
# delaybus 1 0.6 # delaytime (1/128) # delayfeedback 0.7 # lock 1
# roombus 2 0.6 # dry 0.4 # size 0.4
# lpfbus 3 2400 # resonance 0.2
... then
d3
$ hurry 0.8
$ s "~!2 hh!2 [~!2 hh]!2 ~ hh ~!2 hh!2"
# gain 1.2
# delayrecv 1 # delaytime (1/8) # delayfeedback 0.7 # lock 1
# roomrecv 2 # dry 0.4 # size 0.3
# lpfrecv 3
This works fine, I can update the effect value such as delaybus
globally on "effects" and parameters such as delaytime
individually on the receivers. But it seems the effects track needs a sound(?) and sending a sample with gain 0 feels a bit hacky. Are there other ways / pros and cons / to achieve this?
1 Like
cleary
June 14, 2023, 1:37am
2
I have to admit, I'm a bit lost with what the intended outcome is -
Effects (as I understand them) by definition, are effecting a sound - ie there needs to be a source sound for an effect to apply to
Do you have an example of what an effects only composition sounds like?
pretty sure there is no need to set a sample at all: you can just do
p "effects"
$ delaybus 1 0.6 # delaytime (1/128) # delayfeedback 0.7 # lock 1
# roombus 2 0.6 # dry 0.4 # size 0.4
# lpfbus 3 2400 # resonance 0.2
i usually do it like this:
let cb busname num pat = streamReplace tidal (Sound.Tidal.ID.ID $ "cb" ++ (show num)) $ struct "t*128" $ pF busname pat # pI ("^" ++ busname) (pure busid)
and then to control the pan for example
cb "pan" 0 $ range (-1) 1 $ slow 4 sine
d1 $ s "longsample" # panrecv 0
2 Likes
cleary
June 14, 2023, 6:35am
4
aha, I think I misunderstood the use of the word "track" - in this case OP is referring to "orbits" ?
i think they are reffering to 'channels' (like d1
, p "xyz"
, etc.)
1 Like
cleary
June 14, 2023, 8:04am
6
I'm using the wrong terminology then - that is what I meant
crcdng
June 14, 2023, 8:37am
7
Yes, I meant "patterns" in Tidal wording. I think of them as "effect tracks" that can be assigned individually via the controlbus.
crcdng
June 14, 2023, 8:42am
8
pretty sure there is no need to set a sample at all: you can just do
works indeed. Thank you. The way to define the bus in Haskell is interesting. I haven't dug into that yet.
1 Like
yeah the terminology is not very clear - i'm also not so sure about calling them channels, but it seems good to seperate them from orbits, as more than one channel can be on the same orbit
1 Like
crcdng
June 15, 2023, 10:51am
10
Also, if I'm right, "pattern" is Tidal terminology, "orbit" comes from Superdirt and "channel" is a concept in Supercollider, we are quite multilingual here.