Technical tour of a tidal system

It would be nice to take a look at this sometime, I would like to connect Tidal to VCV Rack or some hardware synths :slight_smile:

2 Likes

I use tidal to control OP-Z, R-8 and modular (via OP-Z’s oplab).

It is quite straightforward, you just need to initialize your synth in SC and then know at what MIDI channel your synth receives messages (read the MIDI implementation for your synth to understand what parameters you can control with Control Changes etc.).

The examples from TidalCycles user base should get you going.

2 Likes

hey @stereo.vision! We tried to send MIDIsync from Tidal to a MIDI-to-VC in order to play with rhythm machine and analogic synths but had no luck on that one… I guess there is a nice debugging to do! Sending MIDI control to sytns parameters is working fine, as far as I saw! If by any chance you ended up trying to send MIDI sync, do not hesitate and ping me! I’d be glad to study a bit there <3

1 Like

Great! Thanks, I'll try to do some tests in the following days :slight_smile:

1 Like

I'm working a bit on the textbook today, here's a rough diagram I just made, that tries to visualise how the different parts fit together. I think I need to work on the colour scheme..

2 Likes

A more readable version

5 Likes

Nice. How about including the TidalCycles package as a box within Atom?

OK howabout this?

12 Likes

Nice, but I think you need moar bigger speakers :upside_down_face:

5 Likes

hahah awesome!!! Love it

Is there any/easy way to use custom SC synths in Tidal?

1 Like

There’s a tutorial file on that in the SuperDirt quark, on the mac it’s here:

Library/Application\ Support/SuperCollider/downloaded-quarks/SuperDirt/synths/tutorial-synths.scd

3 Likes

Love it. Especially because the speakers look somewhat like a squat dalek.

1 Like

Ha! All we need then is a function called exterminate!

3 Likes

this is cool
totally possible to live code on the command line in Haskell
(after...
ghci
and pasting BootTidal.hs from this hidden directory,
means Tidal is really running things)
one line at a time, and if you don't dig it, gotta rewrite it and push enter again
fun, thanks :slight_smile:

Hi there, am having some difficulties with 'late' messages in SuperCollider when running together with OBS (+ selected 'sources'). It seems to help changing oLatency = e.g 0.4 in BootTidal.hs and equally s.latency = 0.4 in SuperCollider. so thx for this video. Still, I am uncertain about optimal settings, configurations, and other ways to get around this latency issue when using OBS. Would be great to get some different perspectives on this. Thx

Hi,

I guess OBS uses a lot of cpu and i/o so can cause problems with supercollider missing its deadlines. I don't find any problems with this myself though, using a i7-based 8 core laptop under linux.

Having a high oLatency like this should indeed help, by giving supercollider time to copy with delayed messages, at the cost of interactivity - it'll be at least 0.4 seconds before you hear the results of making an edit. Another thing to tweak is the cFrameTimespan. By default tidal calculates things 1/20 of a second, i.e. twenty times a second. On one hand increasing it to 1/10 means it calculates things half as often, which might be less cpu over all. However decreasing it to 1/30 means the calculations are more evenly spread, which might mean things run smoother.. The only way to find out which helps is through trial and error, really.

2 Likes

Oh another thing to tweak is OBS itself.. e.g. not making use of any scaling by having the output resolution match the input, reducing the framerates of the overall output and webcam inputs (unless you're doing visuals this can be quite low, 15 fps or less) and resolution (running your laptop at a lower resolution or capturing a smaller area).

2 Likes

Likewise check the samplerate supercollider is running at, e.g. if you have a fancy soundcard it might default to 96000Hz, but 44100Hz is fine

2 Likes

These are great suggestions Alex, thanks man, haven't tried the cFrameTimespan yet, will do some more trail and error.