3

I have a piece of music that I commissioned that is basically a jingle for a YouTube channel. The composer has made me a background loop followed by an outro, which are contained in a single audio file (wav format). I wanted to bring all this into Ableton so I can play the loop for an arbitrarily long time (rather than the fixed time that has been supplied) and trigger the outro by hitting a pad on my controller.

The background music is a 4-bar loop that repeas several times, with an outro that is a crescendo for 1 bar, breaking into the outro proper in the following bar. The crescendo begins in the 4th bar of the loop and the outro proper begins on what would have been bar 1 of the loop.

I have imported this clip and isolated and looped just 4 bars of the original clip, so I can just hit a pad on my controller and set that playing as long as I like in a never ending loop. So far so good.

I have also isolated the outro part into a clip consisting of 3 bars of the loop, followed by the crescendo bar, then outro, 15 bars total.

Now what I want to achieve is that I can trigger my outro any time during bars 1-3 of my loop, so that the crescendo begins playing in bar 4 and then continues into the outro, which plays out to the end and stops.

I think I need to use Legato mode and it sort of nearly works, but because my outro is 16 bars long, when I trigger it, it often starts playing somewhere in the middle instead of at the beginning.

How could I arrange things so that my outro clip always starts playing at bar 4 of my background loop, no matter when I trigger it?

I probably haven't worded this very clearly as I'm quite new to Ableton and music production in general. I hope you'll bear with me...

  • Have you played with clip quantization? I’m not sure that will do what you want. It might be if you set it to 3 bars that will be good enough. – Todd Wilcox Apr 25 at 5:18
  • Did you try making a 4-bar clip that has the crescendo/fill as the 4th bar? I.e. have two copies of the same 4-bar loop, and put the crescendo bar as the fourth bar of the second loop. And then use legato mode (with Clip RAM Mode to prevent dropouts) so there's a seamless transition from the regular version of the loop to the one with the crescendo bar at the end. – piiperi Apr 25 at 7:03
  • @piiperi I have experimented with that, but my outro is 16 bars long. If I use a 4-bar crescendo clip, then it seems to trigger properly, but then I need to use a follow-action to play the rest of the outro, and I can't then get THAT to trigger properly. – Tim Long Apr 25 at 15:15
  • The problem is that Follow Action Time is always relative to the time where playback happened to start playing that clip, not relative to the clip's beginning. In this case, the start time is random, because you can jump to the crescendo clip at any time during the first three bars. We would need to be able to specify an absolute time position as the Follow Action Time, and I don't know how to do that. Or if "Legato Mode" made the crescendo clip inherit the clip start time as well as the current time position. What you want might be possible with a remote script and some Python coding. :/ – piiperi Apr 25 at 19:35
  • I actually managed to create what you want. It was an incredibly convoluted hack involving a separate MIDI track that has clips which send session/clip launch commands back to Ableton itself via a loop-back MIDI device that is set as a "remote". The number of mouse clicks required to set this up must be in the dozens. – piiperi Apr 25 at 20:51
2

I apologize in advance, but this is a colvoluted hack. I hope there's an easier way, but it appears that it's not possible to automatically trigger a fill at the end of a currently playing 4-bar round, without the user being able to time the transition with at least one-bar accuracy. This is because the Follow Action Time is relative to the time position where the clip happened to start playing, which in this case is random, because it's triggered with Legato Mode at any time during the first three bars. So any possible Follow Action jump would also happen at a random bar offset. Quantizing the clip start to a bar boundary will only quantize the random offset to 1-bar granularity. Quantizing to 4 bars might help, but it would extend the waiting time to at least 4 bars, and even 8 bars in the worst case.

Here's a rough description of the MIDI loopback session control hack. There are more detailed tutorials available on the web, and you'll most probably have to read them to troubleshoot the contraption anyway.

  • Set up a MIDI loopback device or "virtual MIDI bus", so that clips in Live can send MIDI messages back to Live itself. Macs come with one, but for Windows you'll have to install third-party software https://help.ableton.com/hc/en-us/articles/209774225-Using-virtual-MIDI-buses-in-Live
  • Add a MIDI track (labelled "SESSION CONTROL" in the example below)
  • Add an empty 4-bar MIDI clip, to play alongside your main loop
  • Add a 4-bar MIDI clip to the next scene, and set it to Legato Mode
  • Add MIDI notes to serve as launch triggers at the end of the 4-bar loop.
  • By using the Edit MIDI Map / Cmd-M feature, program the session view to launch the fill/crescendo clip (with 1-measure start quantization), and then start the ending clip, and however you want to set it up. This is a big complicated step, and you'll have to read the manual. Having a MIDI keyboard or controller helps a lot in setting up the MIDI Map.
  • Use the Master track's Scene Launch buttons to start playing the main loop clip and the empty MIDI clip simultaneously.
  • Use the Master track's Scene Launch button to trigger the fill/crescendo scene
  • Remove Stop Button from the main loop track's clip that's in the fill/crescendo scene, so it doesn't stop playing when you trigger the scene.
  • Watch out with the timing of the MIDI triggering clip, so you don't accidentally start the fill/crescendo clip from the middle of the command sequence. :( Maybe this problem can be circumvented by some further hacking.

Here's a screenshot

screenshot of ableton session control hack

There's more than one way to set it up. How to do the clip launches, scene start/stop, etc. You have to play with it a while to figure out what's possible. For some reason, I couldn't get the END clip to trigger correctly as part of the scene, so I added an extra MIDI note to explicitly trigger that clip separately.

The clearest and most explicit way to program this might be using Python and a custom remote control setup. The clip launch / legato / follow action thing is complicated enough by itself, and using the scene trigger loopback control thingies adds more stuff to the mess. :)

1

A solution that is not limited to Ableton Live, but should work in all software, would be to set up the parts like this:

A       S                       B
|   1   |   2   |   3   |   4   |   5   |   6   |   7   |   8   |   9   |
|       |       |       |       |       |       |       |       |       |
| BACK4 | BACK1 | BACK2 | BACK3 | ALT-4 | OUT-1 | OUT-2 | OUT-3 | OUT-4 |

where A and B are the loop start and end point, and S is the playback start point. When you press PLAY, the playback will start with bar 2 (which is bar 1 of the background music) and then loop through the 4 bars of the background music. Then, whenever you want to move to the outro, you switch off the loop function, and playback will move beyond point B into the alternative version of the fourth bar at the earliest point, and then play the outro.

  • 1
    +1 This is a workable scheme, and in Ableton Live it would be done in the Arrangement view. Switching cycle i.e. looping on/off should be easily doable via remote control commands. Some USB control devices even come with a cycle on/off toggle without any special programming. – piiperi Apr 25 at 21:44
  • @piiperi It would probably be best if it reset itself automatically to the initial state, including switching looping back on. Otherwise you may forget and get unexpected results. I don't know enough about Ableton Live to go into that sort of detail. – Your Uncle Bob Apr 26 at 0:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.