Custom Tuning / Just Intonation / Microtonality

Hello everyone,

(Not sure if this is the correct category, since I guess it has more to do with SuperDirt/SuperCollider, feel free to move the thread around)

I have been wondering if there is any custom tuning capability with Tidal at the moment or in the works and how this could be best implemented. I am a beginner in all related areas but I think it would be a very interesting avenue to go down. At the moment, I have an external box (Midihub - MIDI Interface & Stand-Alone MIDI Processor) which converts outgoing MIDI to a particular scale (using an .scl file) with pitchbend. Maybe someone has already developed a system in Tidal to send pitchbend messages with custom scales on the fly, I'm not sure if it is possible to have polyphony with this technique.

https://xenpaper.com/ is a fun tool to play around with tuning in a text based way, maybe there are some ideas that could be pinched from here?

I've just thought that i haven't actually looked into custom tuning with SuperCollider, I believe there is Quark that works with Scala files?

There's also MTS ESP to consider ODDSOUND, i don't think it's particularly relevant but I'm sure some inspiration could be gleaned by someone...

Anyway, just putting the feelers out there since I've not seen much discussed before. It would be nice to have the option of tuning a given sample any which way, tuned to a reference pitch or a whole set of reference pitches, rather than having banks for each tuning. It would also be very cool to be able to pattern a sequence of different tunings or modulate intervals within a given scale with probability. I'll be mucking around with these ideas myself for a while for sure.

Cheers,
Dominic

1 Like

There is no way to pattern tunings for SuperDirt sounds in Tidal. (EDIT: turns out there is! see below)

But you can use Tidal to send MIDI messages to microtuned VSTs in your DAW. It won’t do everything you’re hoping, but it definitely lets you play xenharmonically or in just intonation with Tidal.

The toScale’ function allows you build scales with non-12 divisions per octave. E.g., toScale’ 19 [0, 3, 6, 8, 11, 14, 17] gives you the diatonic scale in 19-EDO. This will sound right if your VSTs are tuned to 19-EDO.

The function above is used exactly like toScale with an extra argument specifying the N-EDO. Make sure you send the pattern as a MIDI signal with # sound “midi” # midichan 1 for example.

If you’re interested in doing things that way, this is the best list for micro-tunable VSTs: List of Microtonal Software Plugins - Xenharmonic Wiki

Random untested idea: you should be able to control ODDSound with MIDI CC (sent from Tidal) for some degree of dynamic tuning. :thinking:

4 Likes

Thank you very much for the info. I've seen the toScale function but not the toScale` variant, looks like very interesting way of using retunable VSTS / outboard gear via retuner boxes as you've mentioned.

I think in general routing all the audio and midi and retuning the VSTs is just too much work for both me and my poor PC. This is mainly because i use Linux, i think it's fairly straightforward to do all of this with a Windows/Ableton setup. However I know you can, in theory, use VSTs with SuperCollider, and ODDSound would make it all a lot easier.

I think the best way for me currently, if i had the time, energy and the money, would have to be using a hardware setup with a retuner box, sequenced with Tidal.

Right now it just seems a lot easier for a live microtonal situation to just remix different banks of loops and samples using SuperDirt. I think there is a huge untapped potential here for livecoding if proper syntax, synths and samplers could be developed. It's defo one of my main interests right now.

https://club.tidalcycles.org/t/microtonality-in-tidal/1015

2 Likes

Why so sure? :slight_smile:

Here's how to do exactly that:

(The above shows how to pattern supercollider's pitch model. I think the thread @vasily.milovidov points to describes how to do implement something on the Tidal side.)

4 Likes

oh WHAT. this is totally new to me. i stand corrected!

1 Like

Hahaha i think that thread must have been lurking somewhere in the back of my mind. Thanks to all of you i have been going nuts on this stuff.

I can't seem to get the SC pitch model working. I think I've followed the instructions correctly, but when I execute
d1 $ slow 2 $ s "gabor*8" # degree "0 1 2 3 4 5 6 7" # scalename "ritusen" # tuning "young"
d1 $ slow 2 $ s "gabor*8" # degree "0 1 2 3 4 5 6 7" # scalename "ritusen" # tuning "just"
it just plays the same note 8 times.

I'm just hitting ctrl-Enter on the params and the SC code, I've also added them to my boot and startup files, what am i doing wrong?

There's a bug in supercollider sample at musikinformatik/SuperDirt/blob/develop/hacks/pitch-model-from-tidal.scd . The line if(~n != 0) { ~note = ~n }; // interpret n as note (might be also degree) should be n ? { ~note = ~n }; // interpret n as note (might be also degree) as n is nil and not 0 if you're not using n in Tidal.