Tidal 1.7 is released!

The new version 1.7 of Tidal and 1.7.2 of SuperDirt is out! They should be upgraded together. Here's info about the upgrade, please hit reply if you have problems. The next effort is to document the changes, there's some good stuff!

I use Linux, but instructions should be similar for other platforms - please share any os-specific findings!

First for superdirt, upgrade the quark to v1.7.2. You can do this by running the following in SuperCollider:

Quarks.checkForUpdates({Quarks.install("SuperDirt", "v1.7.2"); thisProcess.recompile()})

The next and final job is to install version 1.7 of the tidal Haskell library. For simplicity and lack of bugs, I recommend using the old 'v1-' install method with cabal.

For the most predictable experience, it might be best to wipe your haskell packages at this point and start from a clean slate, especially if you have previously installed tidal with the now default 'v2' cabal install method. Under linux/mac os can do this by removing the ~/.ghc and ~/.cabal folders.

Here's how you install tidal 1.7, from a terminal window:

cabal v1-update
cabal v1-install tidal

If you later want to change back to a previous version of tidal, you can do this:

ghc-pkg unregister tidal-1.7
cabal v1-install tidal-1.6.1 -- or whatever version you prefer

Trying it out

We're working on a new documentation website but there's a couple of fun things to try below. You can also check the brief release notes for tidal and superdirt.

Control busses

This lets you route an effect via a bus.. In practice, this means you can pattern the effects of a sound while it's playing.

-- A simple sax sound
d1 $ sound "sax" # legato 1

-- This doesn't do anything different
d1 $ sound "sax" # legato 1 # squiz "0 1.5 0 1.5"

-- A workaround is to chop up the sounds into parts:
d1 $ chop 4 $ sound "sax" # legato 1 # squiz "0 1.5 0 1.5"

-- But now you can use a bus to change a single sound while it plays:
d1 $ sound "sax" # legato 1 # squizbus 1 "0 1.5 0 1.5"

-- You can add a bus to most things but have to take care to give each thing a different bus number:
d1 $ sound "sax" # legato 1 # squizbus 1 "0 1.5 0 1.5" # lpfbus 2 "400 2000 3000" # lpq 0.2

-- You can pattern things within bus patterns:
d1 $ sound "sax" # legato 1 # squizbus 1 (chunk 4 (fast 4) "0 1.5 0 1.5")

-- A big limitation is that bus patterns are monophonic. So if you do some patterning that layers them up, you'll be disappointed with the results:
d1 $ jux rev $ s "sax" # ampbus 1 ("[1 0 [1 0] 1]*6") # legato 1 

-- A workaround is to add 1 to the bus number, and 0 to the value: 
d1 $ jux (rev . (|+ ampbus 1 0)) $ s "sax" # ampbus 1 ("[1 0 [1 0] 1]*6") # legato 1 

-- Or replace the control using a different bus number with `#`
d1 $ jux (rev . (# ampbus 2 "1 0 1 0")) $ s "sax" # ampbus 1 ("[1 0 [1 0] 1]*6") # legato 1 

Most things work, but some key things like speed, gain, vowel and note don't.

panbus will work, but in the range -1 to 1 instead of 0 to 1. Working on this.. (That range would be better in general, as you could multiply patterns to change amplitude)

Syncopation with press

A simpler function that I'm excited about is press. In mininotation terms it basically turns every instance of 'a' into '[~ a]'.. Every beat then becomes an offbeat and so the overall effect is to syncopate a pattern.

A couple of quick examples:

d1 $ stack [every 4 (fast 2) $ sound "drum*4" # squiz 1.3 # speed 2,
            every 2 press $ sound "sd:1*2 sd:4*3 sd*2 sd:2*2"

d1 $ jux press $ sound "sd:1*2 sd:4*3 sd*2 sd:2*2"

Funky times ahead!


I’m enjoying press!

d1 $ jux (pressBy $ slow 2 sine) $ s “hh(5,8)” 

fun drifting

1 Like

It seems the gain function is not working.. Will look into it, in the meantime amp is similar.

25 posts were split to a new topic: Tidal 1.7 install problems

SuperDirt v1.7.2 now up with another small fix to ~amp!

press! I've been using my own custom functions to create this behavior but I never thought that we could build in something like this. Can't wait to give it a try!


Just completed a successful upgrade on Big Sur. For CLI sclang users remember that you can upgrade SuperDirt with the following command in the sc3 prompt:

Quarks.checkForUpdates({Quarks.install("SuperDirt", "v1.7.2"); thisProcess.recompile()})

Thanks, Yaxu.


For those having install problems, I made a separate thread here -> Tidal 1.7 install problems

Any more success / failure stories with this release? We'll put Tidal 1.7.1 up with some small fixes so lmk of any annoyances!

That's a good way for everyone to upgrade really.. Thanks!

1 Like

Lately I've had various, mysterious issues with my previous Tidal build. That wass before updating FWIW. And I kept failing on updating too.

So I ended doing a fresh OS install (Win 10) , and went for Chocolatey install : went flawlessly. Just updated manually to most recent SC / SC plugins afterward.

I've even found the reason of previous bugg (believe me it drove me mad, as everything looked like it worked, but output no sound nor MIDI) : a simple line in my startup.scd file that suddenly stopped working :S :


s.waitForBoot {

	~midiOut = MIDIOut.newByName("Tidal", "Tidal");
	~dirt.soundLibrary.addMIDI(\midi, ~midiOut);


After some trial and error, removing s.waitForBoot solve the problem. If anyone's running into the same issue, that could be a solution.

Anyway, now off to enjoy 1.7, thanks Alex and everyone involved !

Ah yes if you're doing custom SuperDirt configuration I think it's best not to use SuperDirt.start which I think will have its own 'waitForBoot' and having two is probably confusing things.

In the final section of this I go into how to configure superdirt:
Technical tour of a tidal system

With this you can then put everything into the same 'waitforboot'


Hi Junior3,

I almost upgraded (I am talking about Mac OS Big Sur update, not tidal) today but refrained myself after seeing that official SC does not support it and other github conversations stating there was a fix, but audio input were not working properly.
Did you have any issues regarding SC on Big Sur or any workaround ?


I had the timing problem everyone is talking about. I manually compiled SC with the following patch:

I can't speak towards the audio input issue as I'm not familiar with it. Good luck.

It helped quite a lot, thanks Alex !

Ok, thanks

Tidal 1.7.1 is up! Mainly a maintenance release https://github.com/tidalcycles/Tidal/releases/tag/1.7.1


I've upgraded at latest versions (both tidal & superdirt) and when some control bus functions are involved in my code it doesn't give any result. i.e.

d1 $ sound "sax" # legato 1 # squizbus 1 "0 1.5 0 1.5" --that's running, but I can't hear the squiz effect
d1 $ sound "sax" # legato 1 # squizbus 1 "0 1.5 0 1.5" # lpfbus 2 "400 2000 3000" # lpq 0.2 --no sound at all....
d1 $ jux rev $ s "sax" # ampbus 1 ("[1 0 [1 0] 1]*6") # legato 1 --no sound at all etc...

There's no error reported on the console. What's going on?

Sorry I missed this message. I think that the most likely problem is superdirt not being up to date. Supercollider quarks can be quite awkward to upgrade sometimes, but superdirt needs to be on v1.7.2

1 Like

upgraded this week on manjaro linux and mac os catalina (both machines from 2012)
things seem good, thanks! :slight_smile:

1 Like