TidalCycles 0.9.8 newly out! It replaces 0.9.7 which didn’t work well with many haskell versions. Here’s a quick run through the changes since 0.9.6. Any problems or questions, join us on the #tidal channel on talk.lurk.org, or the tidal list on we.lurk.org.
How to update
If you use cabal (rather than stack) to install, it’s just a matter of running cabal update
then `cabal install tidal` from the commandline. I’m not clear on the best way to update using stack (as tidal hasn’t yet updated on stackage LTS), if you know please leave a comment!
New Bjorklund (aka Euclidean) functions
New function einv
, which fills the “blanks” left by e
. For example, e 3 8 "x"
gives "x ~ ~ x ~ ~ x ~"
, whereas einv 3 8 "x"
gives `”~ x x ~ x x ~ x”`.
Another new function `efull` which takes two patterns rather than one, combining `e n k` on the first with `einv n k` on the second. For example, `efull 3 8 “2” “1”` gives `”2 1 1 2 1 1 2 1″`
Yet another function distrib
, which is similar to e
, but takes a list of numbers. `distrib [5,8] “x”` is the same as e 5 8 "x"
, but `distrib [2,5,8]` will do something rather freaky.. It will take the `(5,8)` pattern as a starting point (which is "x ~ x x ~ x x ~"
) and then attempt to distribute two events evenly over those five xs as though they were contiguous, creating `”x ~ ~ x ~ ~ ~ ~”`). Basically, give it a list of numbers which increase in value and you’ll find some interesting off-kilter rhythms.
`d1 $ distrib [5,7,16] $ sound “bd:7″`
Sequence parser
Now you can give *
and /
subpatterns in the parser. For example `”[a b]*[2 3]”` would be the same as "[a b] [b a b]"
(i.e. the first half of "a b a b"
, which is the pattern at twice the speed, and the second half of "a b a b b a b"
, which is the pattern at three times the speed).
Floating point notes
Now notes are floating point. This means that you can do things like d1 $ s "drum*8" # n (sine * 8)
. It also means that for some synthesised sounds you can play between the notes (microtones?), e.g. `d1 $ sound “supermandolin*8” # n sine`. There have been other adjustments in this area, so previously where you had to do fiddly conversions between integers and floats, you no longer have to.
ghc support
Tidal now supports the latest version of ghc (8.4.1). You should probably be running at least 7.10.3 by now but older versions may still work.
SuperDirt
Exciting SuperDirt update to follow soonish, including new MIDI support.
Enjoy!
little typo here: second half of “a b a b b a b”, which is the pattern at three times the speed should be “a b a b a b”
Also enjoyed your interview on art tech music podcast. 🙂