2019

ClyphX Pro Introduction for Non-Programmers


ClyphX Pro is a tool that helps you control Ableton Live in another way. It’s a script that you select as a control surface in Ableton, just like your MIDI-keyboard or your Ableton Push.

The key here is that it enables you to perform actions in your Live set through writing down instructions.

It means that almost everything you do with your mouse and keyboard in your set can be written down and automatically performed.

Basic functionality:
You have some sort of trigger (one type is called “x-clip”) —> which fires a list of actions (toggle metronome, mute track, etc)


So what do I use it for?

Personally, I use it to simplify our band’s live set so I can focus on and enjoy our performance.


Things that I have automated with it include:

  • smoothly ramping bpm to fit the next song’s tempo
  • sending custom messages to my Push 2 display (reminders what to trigger next and when)
  • folding all groups, unfolding the next I need
  • selecting the device I need for playing
  • starting a specific clip
  • smoothly opening up the cutoff until the drop
  • switching my Push 2 from session mode to note mode
  • turning off tracks I don’t use anymore
  • switching my Push 2 scale and root note


With ClyphX Pro you can trigger multiple changes in your set automatically (all at once, or even delayed).


But what if I don’t know how to code?

Let me tell you that even though I have a background in Computer Science I still felt a bit overwhelmed at the beginning.


Here are the three points that helped me with that:

  1. You give a specific set of instructions to your computer. You follow certain rules doing that.

    • STOPALL NQ; WAIT 2; BPM 90; MST/VOL 0;
    • start x-clip with: [your identifier]
    • always end with semi-colon ;


  2. Knowledge + Experience = Understanding

    Start by getting the simplest command to work. Then add one thing. And another one…


  3. Use the reference / user manual

    • It’s like a Google for possible actions
    • CMD + F to find words and concepts
    • browse through for inspiration

How I get the results I am after

Every time I am overwhelmed with the possibilities I come back to the following steps.

  1. Write down my goal
  2. Write down the single steps I would do manually
  3. Translate first step into action command
  4. Test the command is working, then go to the next step
  5. Repeat until done

Things to be aware of (Gotchas)

Whenever I get stuck or my code doesn’t do the intended action, I come back to this list. Usually I have fucked up one of these and when I find the error it’s something stupid and simple. But that’s okay.


Plain text vs formatted text / autocomplete

Once before a show I change exactly one small thing in my actions. But I used a text editor that added styling without me knowing it. When I copied the commands back into my Ableton Live set the commands did not work. It took me a stressful 5 minutes to figure out my text editor had also autocorrected certain words. Yay!

Now I use Visual Studio Code and save the file I develop my commands in as plain .txt file. I haven’t run into this problem since, but I imagine it can cause big frustration if you are not aware of it.


Semicolons at the end of a line

You want to get used to always end your lines with the semicolon ;


The right type of “quotation marks”

For me this issue is solved with using Visual Studio Code. I have to make sure I use straight quotation marks, not the other ones my German Macbook wants to force on me.


Correct names of tracks / clips / devices

Of course you need to reference the names of your tracks, clips, and devices right. Otherwise they don’t know they should do something! Always double check that you remeber their names correctly. I use the same naming system so I don’t have to keep checking this too frequently.

Example for the track names in our live set:

  • instrument-trackname
  • chops live-places
  • rhodes-places
  • bass-places
  • drums-oceans
  • mellows-oceans


Test often and backup once in a while

I usually add one command, then I test if that works. It’s just way faster for me to do this than go back and figure out which of the five new commands has an error in it. Every once in a while I backup my working code so I don’t lose it.


Divide and conquer

Sometimes I change things in the middle of a block of code, to accomodate a new structure or name. When it doesn’t work afterwards I use “divide and conquer” to find the culprit. First, I delete the second half of the code. If the first half works, I add the second half back in and delete the half of that, so a quarter of the total block of code.

That way I can locate the wrong code pretty fast and fix it.


My ClyphX Pro development file

Having a real-life example usually helps me wrap my head around a new concept. If you are interested, here is the file that I used for developing all the commands for our live set.

Something like this would have helped me, because seeing which commands somebody else uses in which order would have given me inspiration on what I could have done.

Get the ClyphX file on Gumroadget the file on gumroad


Video version of this post

Here is a video where I am explaining the discussed concepts. I demonstrate commands in Ableton, show the ClyphX manual, and show parts of my ClyphX development file…


I hope this helps you get started with ClyphX Pro!

If you have any questions or would like to get something specific covered, let me know.

- Markus

signature-

2019

How I found more peace and time for the things I love

There were several moments in my life when I realized the possible implications of not being present.

Read more