TDAbleton - TouchDesigner Ableton Connection

TDAbleton - a connection system for TouchDesigner and Ableton Live

Please post bug reports in their own subject in the Bugs forum and tag with TDAbleton (after searching to see if there is already a thread on that bug, of course)

TDAbleton is a tool for linking TouchDesigner tightly with Ableton Live. It offers full access to just about everything going on in an Ableton set, both for viewing and setting. The TDAbleton system contains a number of Components for 2 way communication, and a framework for building custom Components and new features.
TDAbleton operates through Ableton’s Midi Remote Scripts system and, when necessary, Max for Live (M4L) devices. Communication with TouchDesigner is via OSC (using udp). It is fully network capable, so TouchDesigner can be running on a separate machine from Ableton.

Feel free to post RFEs here.
For installation instructions and documentation, visit the wiki page:
docs.derivative.ca/TDAbleton

A word on connection problems:
There is no way to query for an available OSC port, so most connection problems have to do with ports being used by other applications or not closed properly on application closing. If you have connection problems, here are a couple first things to try…

  • Close all applications, including sub-processes like external editors, then reload everything. Alternatively, just restart your computer and try again.
  • Change port numbers. Make sure they match in the TDA_Master device in Ableton and the tdAbleton COMP in TouchDesigner.

System Requirements:

  • Ableton Live 9.7.2 and up.
  • Max for Live 7.3.3 and up. (Note: Max 7.3.3 has a MIDI pitch bend bug. Use 7.3.4!)
  • Updates to TDAbleton have been in Touch installs since TouchDesigner version 099 2018.28070. Features may or may not work when moving TDAbleton versions backwards through TD builds.
1 Like

Can’t wait to test this. Anything that improves the Ableton communication workflow is welcome news! Thanks

Parameters don’t seem to be able to be changed from TD, the just get reset to whatever value it was at before you start dragging the slider. And i am getting an error when trying to adjust Muugy’s Auto Filter’s Frequency parameter:

[code]# TDA Remote Script Error #
File “/Applications/Ableton Live 9 Suite.app/Contents/App-Resources/MIDI Remote Scripts/TouchDesigner/TDA.py”, line 205, in onMsgListener
client.listeners.set(msg[0], msg[1]) # setterIndex, value
File “/Applications/Ableton Live 9 Suite.app/Contents/App-Resources/MIDI Remote Scripts/TouchDesigner/Listeners.py”, line 171, in set
key[1], ‘returnAddress:’ + key[2])
Exception: (‘Error setting SONG.tracks[0].devices[4].parameters[5] property: value’, ‘returnAddress:/song/1_Muugy/Auto_Filter/Frequency/value’)

End TDA Remote Script Error #[/code]

I’m on a Mac using the latest build.

Sure enough that one component failed to update in the demo. Fixed in 0.3.9 on original post.

not sure this is necessarily true:

can you use the function: re_enable_automation to turn back on automation?

looking through this: docs.cycling74.com/max7/vignett … ject_model
says:

Yes, re_enable_automation can be used, but it is not built into the system yet. Still figuring out best method for that. Maybe just a pulse parameter. Any thoughts?

Added beta 0.4.0 -

Networking improvements/stability
TDA MIDI device renamed to TDA_MIDI
Improved recovery from changes
Added Peter Sistrom’s abletonKeyboardDisplay example

First install yesterday evening. Easy and works fine.
=> Bravo!
and thanks a lot.

What about “clip” or “session mode”?

What about them? Can you be more specific please? Making a list of features people want…

Great work, Ivan!

Has anyone tried this one a mac yet? for whatever reason TD is not connecting to the test ableton session

It does work on Mac. First thing to try is flipping the Connect parameter on and off on the master tdAbleton Component. If that doesn’t work, please email or post your Ableton log file.

Just wanted to say thanks for building this! I finally got a chance to dive into it today and already I am amazed how well it works and what possibilities this gives. Not only is this perfect for making synchronized live shows, it also works amazing for audiovisual installations by using ableton as the sound engine. Really really impressed by it and for sure we will incorporate this in future projects! Thank you!!

Got it to work. didnt realize I had to install the remote script…helps to RTFM. thanks for this!

Loving It , bit of a game changer!
Still getting my head round customizing the controls … ie deleting a clip
on a clip slot… I assume this is possible?

@puck

Clip features will be much improved in the next version.

Until then, you have the ability to delete a clip using this: derivative.ca/wiki099/index. … .28code.29

The trick will be getting info about the clips, as runRemoteCode is a one-way command, no return data. This will also change in the next version.

hi,

sorry for being not clear.

It seems that any informations in “session mode” like clips seems not manageable for now. Only datas from “arrangement mode” elements are exchanged.

Or I missed something.

@ubboo

Ableton makes information in arrangement mode difficult (and apparently sometimes impossible) to access via the Live Object Model. I am looking at ways to hack this or add M4L devices that can help. I’d be interested to know what sort of information you’re looking for from arrangement mode.

1 Like

This is awesome. Can someone help me out as I am rather still TD Newbie.

Is there any way to get this demo project to work with two different computers running the ableton demo project?

I am working with a partner and we use Ableton Link with both our laptops for performance.

I can get it to work with either computer at a time.

I can also open the project file twice and work with both computers that way.

I would like to be able to access them both from the same project file. Making a copy of the tdAbleton and demo alone doesn’t do it and I am not sure if theres an efficient way to get everything pointing to the correct spot.

I need to better understand what you’re trying to do.

How many Ableton instances are running and how many Touch instances are running? And how are they interconnected?

It is easy to connect two Touch instances to one Ableton instance. Having a Touch instance connect to two Ableton instances is significantly more complicated, but probably doable. I haven’t tried.