I was expecting bd on the first beat, but instead it's a bunch of hh before.
I'm trying to do something like this
[bd ~ ~ ~, hh hh hh hh sn] === hh and sn in 5 beats polymetric.
together with something like hh in 7/12 over 2 bars long. Or something arbitrary of that sort. Is that possible?
from first principles (using only stack [,], cat <>, fast *4):
d1 $ s "[<bd ~ ~ ~>, <hh hh hh hh sn>]*4"
there may be other (shorter) syntax for this in mininotation. [EDIT] yes:
d1 $ s "{bd ~ ~ ~, hh hh hh hh sn}"
[technical remark] Semantics of { } notation seems a bit tricky: it's implemented in the parser (Tidal/ParseBP.hs at main · tidalcycles/Tidal · GitHub) as it's not purely semantical: it cannot be defined of type [Pattern a] -> Pattern a (the type of stack and cat) . The implementation of { ... } needs syntactical properties of its arguments: resolve_size is a property of TPat a, not of Pattern a.
It turns out that once tidal is started, when i reevaluate the sequence, it starts from where it left off. So it isn't (bd,hh ) as the first output, even if i use the panic or hush command before reevaluating.
Is there anyway of evaluating a 13/3 ? How would this look?
Good question. Tidal is very good in creating polyrythms.
I'm quite new to Tidal. For polymeters you found out to use the modulo operator, interesting.
I have one tip that helped me and might help you: if you want to visualize patterns you can use the drawLine command
For example your patterns ( I simplified them a bit):
d1 $ s "bd ~ ~ ~"
d2 $ s "{hh hh hh hh sn}%4"
can be drawn like this (changed the sound names to numbers for readability):
drawLine "0 ~ ~ ~"
drawLine "{1 1 1 1 2}%4"
It will display this in the console:
|0 |0 |0 |0 |0 ...
|1111|2111|1211|1121|1112 ...
Perfect polymeter!
When I read your question I thought about the iter (and iter') command (which shifts the pattern every cycle), it does something which looks a bit similar (compare measures 2, 3, 4 and 5 with the same measures above):