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

, which is similar to **distrib**`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. 🙂