HackYourDaw (Tidal+Ableton)

Hello everyone!

I'd like to introduce you to a project I've been working on over the last few months that allows you to control Ableton Live directly from TidalCycles via some max4live devices. Unlike the previous methods you don't need to use SuperCollider and all communication is through osc messages directly from Tidal to Max. This opens a whole new range of possibilities since theoretically any parameter within a Live Session could be controlled using the LOM, hence the name of the project: Hack Your Daw :nerd_face:

I have currently developed two devices:
-One is specifically designed to control the drum rack and gives you control over the various sample chains :drum:
-The other allows you to control any synth, either native or in vst format :musical_note:

The devices are designed to offer a control on the Tidal side that is as similar as possible to SuperDirt so that most things remain the same, although obviously for some parameters this is not possible.

Interesting features of the devices:
-You can use any number of devices within a Live session by associating a unique name to be called on Tidal.
-You can control the Macro of any instrument rack containing the device and the Send of any track on which the device is located.
-You can interpolate the values that Tidal outputs for Macro and Send controls through an interface contained in the device.
-Everything is Max vanilla :wink:

I hope that these devices can be useful to new users who come to Tidal without having knowledge of the Supercolider environment and to those who until now have used other workarounds to communicate between Tidal and Ableton Live. Also starting from this is fairly simple to control any Max patch with Tidal.

A special thank you to the entire Music Informatics team who has given me various feedback to bring these devices to a point where I hope everyone can use them easily.

I look forward to hear what people will come up to messing around with this!

In action >> HackYourDaw - YouTube
Download >> GitHub - fracnesco/HackYourDaw: In this repository you will find a series of Max4Live devices allowing to control Ableton Live directly with TidalCycles.

36 Likes

Guess I need to buy Live Suite now haha

Excited to check this out. Thanks for it!

1 Like

Wooooooo! Thank you!!

1 Like

yea I know, I am sorry about that :frowning:
you don't necesserly need to buy Live to play with it and to record stuff, but you can't save the session

Haha, no problem! I actually bought Live Intro a couple months ago, assuming I could upgrade under the student discount, but no such luck. Honestly though, I have been looking to get suite anyway as it seems more worth it than buying M4L alone.

Is it working with Live 9 Suite or do I need the latest version?

Wow! This is just GREAT!

Thank you!

1 Like

it works with Live 9

2 Likes

Amazing, thank you so much !

1 Like

Thank you very much!!
Very interesting. My console is sending me a "Waiting for SuperDirt" message every cycle but it works well. I'll take a look.

Thank you for this, this is fantastic.

One thing I'm noticing with playing with basic stuff as I'm getting going with it: as I use the synth device, the way it handles pitch seems to require a little extra care. If I use only MIDI notes - "60, 61, 62", etc - then everything seems to be cool. If I use note names only, synths on the Ableton side seem to think it they're getting all sub-bass notes, which I figured out when adding a Pitch device to the rack in Ableton and raising the pitch 4 octaves. Also, if I try to change the pitch on the Tidal side - "c1, cs1", etc - then it seems to result in a weird offset, transposing the pitch class by a major 3rd or something.

Obviously I'm happy to just use only the MIDI note numbers when using Tidal with these tools and Ableton, but I figured I'd check in here to see if I'm off base w this. Also this is literally my first time messing around w OSC, so maybe there is something I'm missing in that dept.

At any rate, these are fantastic tools, thanks for making them!

-m

2 Likes

mmm it should send it only right after you boot tidal, but if everything works I think we can live with that :rofl:

1 Like

This should now be fixed. Could you please download the new version from github and tell me if everything is working as you would expect?

thank you! the note names indeed work now. However, the midi notes seem to now be affected. a sequence like "60 61 57 58 72 43" results in notes in the stratosphere, whereas before the fix it would result in the correct pitches in the normal expected range.

Honestly I'm totally fine with using note names plus octaves [c3, f2, etc] for the synth device and 0-16 for the drums if it needs to be that way.

Another pitch anomaly in the synth device while we're on the topic - I've noticed that the device adds as an offset whatever values are present in the pitch bend parameters of the receiving synth. I didn't check the up vs down or any further specifics of it, but I noticed the issue disappeared when I changed the pitch bend values to zero.

I can live with this, of course, but I thought you'd want to know.

Thank you again for your work.

The thing is that in tidalcycles the note 0 corresponds to c4, so this should explain why "60 61 57 58 72 43" goes in the stratoshpere. Before your comment I was just using note values without offesting them by 60 but that broke the chord notations since a c4 majot chord was converted to [0,4,7] without the +60 offset. Your comment was indeed very helpful because now we can express notes in the same way we whould have done with SuperDirt. About the pitchbend I haven't really understood what is not working.

Would it be possible for you to please provide a thorough step by step process on how you install this and get it to actually work on both Tidal and Ableton for beginner folks like me please? i am on Windows 10

Hi. Great work there.
How are you able to map the macros to the synth rack knobs?

Thanks,

Tiago

Nevermind, I got it. It works like a charm. :slight_smile:

1 Like

A video tutorial might come soon depending on my schedule. Instructions are already provided in the repo

1 Like