Note: there are a few guides out there pointing to your Ableton directory not your “user preferences” directory. These are wrong!
it’s %APPDATA%\Ableton\Live x.x.x\Preferences\User Remote Scripts or ~/Library/Preferences/Ableton/Live x.x.x/User Remote Scripts where you want to create the directory.
Note 2: I put my global channel as 1, because that’s what it’s sending on…? That was apparently wrong. Global Channel is 0…?
Question: Anyone have a more sophisticated way of mapping controls? The UserConfiguration.txt file seems a bit limited… And all of the ones that come with Ableton have .pyc files so there’s some Python utility generating scripts somewhere…
Question 2 for the Yaeltex guys: Are the channels standardized? (ha, this is the second time I’m asking about standardization) E.g.: if someone put 8 faders on their controller, are they always CC32-39? Would 12 faders be 32-43? (In other words, can my config be useful to anyone else? Or is every controller unique?)
Yeah, the UserConfig file is a bit limited but usable.
This generic remote script its pretty cool, and quite easy to set up. Kudos to Fabrizio Poce for his work. Great stuff
Download the .zip containing the script and search for a file called MIDI_Map.py and edit this file with a text editor to match the midi configuration on your controller.
They are unique, the default config is different in each controller, the file contains the elements that are part of that controller.
If a user chooses to share his/her design in the community gallery and another user remix it/buy it as it is, those 2 will have the same default config.
But if you share something cool other users can “copy” your midi configuration and use it. E.g: putting those faders in that specific value/channel.
I would recommend checking out the amazing tools from our friends at Native Kontrol and Remotify too.
I have my gripes (the design UI isn’t very user friendly), and I ended up writing some JS to rip through their JSON and rename/reindex everything. But it really is super powerful in what it enables in Ableton.
But the combination of my new controller and CSS and I can take over the world!!!
We are thinking of developing some kind of “master script” in order to be easily set up with different MIDI messages without needing too much coding work.
Meanwhile, I wanted to summarize the tools that @Ale suggested and some others to check in order to develop a custom script or advanced Ableton control. I will add more to this post if we find some:
Remotify - Web tool with both free (limited features) and paid options
Control Surface Studio - Same creator than Remotify but works as a desktop app and adds many features
Native Kontrol - DDC (Direct Device Control), Arsenal and Clyphx Pro - All really powerful tools for deep Ableton control
Ableton’s UserConfiguration.txt file - This is always included in Ableton. It’s pretty limited but might work for basic mixer and device control needs.
I have been pre-designing the mappings and functions that I want my new Yaeltex controller to perform. I have a clear understanding of how to accomplish all of it except for 3 specific functions:
Clip Launcher
• I would like the ability the ability to have the Yaeltex controller behave like a Push, LaunchPad, etc, where I get a square in the Ableton session view and the clips contained within the square relate to the buttons I have designated on the Yaeltex controller. Ideally, the Yaeltex controller buttons would display the same colors as the clips, like the Push 2 does.
Ableton Device Bindings (I’m not sure if this is the correct term)
• I would like to designate 8 encoders on my Yaeltex unit that take advantage of Ableton device macro mapping AND I would like the ability to “bind” those knobs to a specific Effects Rack. Basically, the ability that when I select a track, the hardware knobs automatically map to a specific Effects Rack, no matter what order it is in the device chain. An example would be, when I select a track, Push 2 in Device mode always automatically displays the first rack device in the chain and these 8 knobs on the Yaeltex always display/control the knob parameter values on the second rack device in the chain.
VU Meter Feedback
• I would like the ability to route VU Meter values to the top row of encoders on my Yaeltex
I know that all of these function are available, but I’m not sure what the best tool is to achieve them. If I could buy one tool that does them all, that would obviously be my preference. @MateoFY mentioned some tools up above, but I’m not sure I fully have my head wrapped around what each of them are fully capable of and if some are more reliable than others. For example, I know that ClyohX Pro is able to accomplish the bindings, but I’m not fully confident in Sigaport, as some of their other products have caused strange behavior in my system in the past (it’s always possible that it’s user error). I’m not a coder, so ease of use would be a bonus feature of the tool.
Does anyone have a recommendation for a tool that can do all three and is low on the “buggy scale?”
Neil
I will focus on Remotify and the [yet to come] yaeltex universal script for Live that are the ones I know.
Possible with both, with some limitations:
Remotify:
Full control of the Session Box (clip and scene launching, stop track clips, navigation, etc).
User can choose the color for every clip behaivoiur like Clip Started, Clip Stopped, Clip Triggered To Play, Clip Triggered To Record, Record, Stop Clip Triggered, Stop Clip, Stop Track (Stopped), Stop All (On), Stop All (Off), Clip Recording, Scene:, No Scene, Scene Triggered.
No Live clips color matching. There is some talk about this in Remotify’s forum, it might get a solution eventually.
Universal script
Full control of the Session Box (clip and scene launching, stop track clips, navigation, etc).
User can’t choose the color for every clip behaivoiur like Clip Started, etc. planned for future updates.
No Live clip color matching on the first version but planned for future updates.
Note: In Kilowhat set buttons and switches feedback’s to Color Mode/Value to color.
Remotify:
Possible, the configuration would be Device/Parameters/Selected Track/Device Chain Nº x/
Universal script
Possible, but it still needs time for the final details.
Remotify:
It seems it’s not possible atm, I believed it was possible using “reactions” in the desktop version, (for sure it is not possible with the web app version).
Universal script
Possible in the first version.
How to VU METER CC feature:
The VU METER CC sends/receives a Control Change messages, and shows VU METER feedback when receiving the same CC on channel 16.
Configuration:
On Kilowhat: set the “Encoder Rotation” to VU METER CC. and configure the massage, E.G CC1
On the script or software: send the “METER” parameter to the same CC (E.G CC1) on channel 16.
To give you a sense of how the universal script will work, the idea is to match the midi messages send by the controllers to the ones mapped to functions on the script. User can do that by either editing the messages in Kilowhat or editing the script in a text editor.
In the case of VU METER CC it will look like this:
METER_CCS = 1 // CC as set in Kilowhat
METER_CHANNEL = 15 // this is actually channel 16 on the controler
or other examples;
CROSSFADER_CC = 125
CROSSFADER_CHANNEL = 0
CUE_VOLUME_CC = 126
CUE_VOLUME_CHANNEL = 0
Users need to edit the CC/Note number and the channel. Its pretty simple.
So apparently no one tool will do it all, but it will get you very close. The UI makes Remotify easier to use and it has more features than the universal script, but the latter will be free. A combination of both is also posible, depending how they are combine it might trigger some difficulties.
The universal script will be ready in the next month or so. If you want to alpha test it, drop me a line at alejo (@) yaeltex .com.
On a side note: I have used DDC extensively and my experience with it has been great. Super recommended.
@Ale Thank you very much for taking the time to help me think through achieving my goals, and for the side by side comparison. It sounds like you’ve been busy working on a powerful universal script. This gives me a great starting point for further considerations and planning.