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

which takes two patterns rather than one, combining **efull**`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!