Ever since I figured out how to remote control clip recording in Ableton Live 7 over midi, which was about a year ago, I’ve been trying to build the “ultimate computer based loop station”. I’ve built increasingly more complex Live Sets utilized all sorts of routing tricks and midi conversion scripts and always ended up sort of discontent, because my setups could not be operated effectively with just the 10 switches and two pedals my Behringer FCB1010 midi controller provided. No matter what I tried, I always seemed to end up staring confusedly at the floor board wondering where the hell I was while my potentially brilliant musical idea vanished into thin air.
Then I stumbled over Expert Sleepers Augustus Loop 2 which provided a completely programmable midi control environment and I knew this would give me all I needed to come up with a controlling setup I could use to actually control my loops. The main remaining problem now was that if I used more than one loop the FCB1010 out of the box wouldn’t give me any feedback on what loop I was operating on. Then I found out about the unofficial Uno firmware upgrade (http://www.ossandust.be/). I had a friend burn the downloaded image file on an eeprom chip and was now able to operate the unit in “stompbox mode”. In short, this makes it possible to have one row of buttons on the FCB1010 act as pedals that operate independently of the selected patches in the other row. Now, I can select a loop to control by stepping on one of the buttons in the lower row and the LED on this button stays on even when I press buttons in the upper row to manipulate the loop.
I have written my own lua midi script and gui for Augustus which I’ve been able to extend even further since Os, its ever helpful developer, has built in some event timing support. So, for the first time since I discovered the joys of live looping I’m very content with my setup. That’s why I’m making it public here. Maybe someone finds it useful, too. And hopefully I’ll get to making more actual music now instead of working on my setup (well, one can dream).
One word of caution before we start: This is not for the technologically challenged nor for the unexperienced computer musician. If you don’t know the difference between Midi CC and NoteOn/Off messages or have difficulties programming the FCB1010 you might want to gain some knowledge on these topics first. There are plenty of resources on the web for getting help on this. Also, I haven’t tested this in Windows although theoretically it should work.
…
You’re still there?
Okay, let’s go:
Here you can download a .zip file containing the whole package consisting of the midi.lua script, the gui bundle, the Live Set and a sysex file to upload to your FCB1010 with Uno Firmware (UNDERSTAND THAT YOU DO THIS ON YOUR OWN RISK. DO NOT USE THIS UNLESS YOU HAVE THE UNO CHIP INSTALLED AND HAVE MADE A BACKUP OF YOUR CONFIGURATION!!!)
The Set:
At the moment, I use Ableton Live 7 as a host for Augustus because I like to use dummy clips and the built in effects for further sound mangling. But my dream setup for the stage consists of an ultra cheap Acer Aspire One running XP and Tracktion 2. This way, I wouldn’t have to carry around my expensive Macbook Pro that I also use for things besides music. Also, lo fi is sexy
I’m still experimenting with this setup so I’m only making my homerecording/jamming Live Set public at this time. In any case, you don’t have to run Live or Tracktion or OS X for that matter to use my script. Just make sure you copy the midi.lua script to the appropriate folder (see the Augustus manual for that), load 4 instances of Augustus Loop 2.1 into your host, feed the first instance your controller’s midi signal and configure the plugins in the following way:
(PS: Don’t install the XLCustom bundle yet. Use the default GUI.)
OSC Offset: 1 - 4 (each plugin instance has to get its own number)
Sync Group Mode: The first instance of the plugin has to be the ‘Master’. For the other ones select ‘Tempo’
Host Tempo: Off for the first instance, ‘Host Tempo’ for the other ones.
Max Delay Time: Make sure you set a sufficiently high number here. How high you can go depends on the amount of Ram you’ve installed.
If you are using my Live Set the plugin is already preconfigured in this way.
The Controller:
Now setup your FCB1010: You won’t need the Uno chip but I highly recommend it. If you have it, setup one row of buttons to act in “Stompbox Mode”. I use the upper row for that. Disable toggling for this row. The lower row sends CC12 messages from 1 to 5. These are used to select loop 1 to 4 or alternatively all four loops together (CC12 value 5)

The FCB1010 setup
The upper row sends Midi messages NoteOn/Off 1 to 5. The NoteOn has a velocity of 100, the NoteOff has velocity 0. This is important for the script to work. Those were the default values with my unit.
For programming the FCB1010 I use the Ripwerx editor (http://home.att.net/~the-bug/GettingStarted.html) which is the only FCB1010 editor that works in OS X, if you install this first (http://www.humatic.de/htools/mmj.htm.). By the way, I still use OS X 10.4.11. I don’t know how all this will work with Leopard or if it will work at all. You see it gets a little complicated here. It took me a while to get the editor to work and you might want to manually program the FCB1010. To do this, get yourself aquainted with the Uno documentation at first. You can find lots of information at the Uno Yahoo group (http://launch.groups.yahoo.com/group/fcb1010_uno/).
The Gui:

The XLCustom GUI
The GUI’s ‘Preferences’ button is a small grey 6×6 pixel area at the top left of the gui. You can’t see it on the picture but it’s there. The GUI itself only shows a minimal amount of controls. That’s why you should configure Augustus before you load the Custom GUI.
This is how the GUI looks. It’s very simple and is mainly made to give some visual feedback on the state of the parameters I control with the foot switch. The text field on the left shows the OSC offset of the plugin instance used. Remember that each instance needs its own number.
The other text field shows the number of beats of the current loop. If you have recorded a loop you can use this to add or subtract to/from the loop’s length. You might also want to adjust this before you record the first loop to the first plugin instance. 8 Beats would be 2 bars in four-four time. For example, if you plan on playing 3 five-four bars you should set the beats control to 15.
You can push the ‘Freeze’ and ‘Reverse’ buttons to toggle their respective functions. However, the ‘Filter’ button cannot be pushed. It only shows if the Filter is switched on by your controller.
The knobs from left to right control pitch, input level, feedback and output level.
The Script:
I always set the first loop length with plugin instance one so this is selected as default. When I step on button 6 of my FCB1010, Tap Rec is activated and the plugin records until I step on the switch again making it start to loop. This plugin (with the number “1″ as OSC port offset) acts as the master to the other three instances which then automatically get the same length assigned to them as the first one.
Instances 2, 3 and 4 act a little differently: When I push button number 6 while one of them is selected, the plugin immediately starts looping the stuff that I’ve played before I pushed the button. This way, I can freely improvise and when I think I’ve played something nice I’ll loop it. Isn’t this neat? I just love that feature.
With loops 2, 3, and 4, the plugin also keeps recording until I step on the button for the second time. After the recording of the first layer of the loop, all 4 instances behave the same, i.e. the button 6 toggles recording on and off.
If I push the switch down for more than 1.5 seconds, the selected loop is deleted and the plugin instance is reset to its initial state.
Button 7, when pressed down for less than a second toggles the ‘Freeze’ function, when I press longer it sets the Filter Type to 1 and turns on Saturation thereby effectively toggleing the Filter. So, what you get here is a static filter effect. After a few loops this can start to sound rather nasty so use it for special fx or with a lower Feedback value.
Button number 8 mutes the loop when pushed for less than 1 second. Otherwise it toggles ‘Reverse’. Like with the Freeze/Filter button you can use both functions sequentially. For example you can mute the loop then reverse it and then unmute it again sometime later.
I can change the length of the loops by using the switches 9 and 10 on the foot controller. If I step on switch 9 for more than a second the length of the selected loop is doubled, if I release the switch before the one second has passed it only adds one beat. Switch 10 acts in the same way only subtracting beats.
The pedals control the Feedback Level (A) and the Pitch (B) of the loop. I’ve built a switch into the Pitch function to prevent it from unvoluntarily change. So the function only starts working once it has received Midi CC 64.
Currently there is only one way to reset the pitch to zero and that is by pressing/holding button 6. Notice that this also deletes the loop. I might change this in a future version.
If you’d rather like pedal B to control the filter cutoff: the function already exists. You only have to uncomment the last line of the script and comment out the line before that. Like that:
–requestCC(6, setPitch)
requestCC(6, setFilterFreq)
When you push button number 5 all loops are selected. Now, pedal A affects the Feedback level of all four plugins - perfect for a controlled fadeout in a piece. Pedal B adjusts the output volume of all four loops.
When you press button 6 while all loops are selected all four plugin instances get completely reset, including length, filter and pitch settings.
Check out the readme file in the package for a complete list of the Midi messages used to control the script. Also open midi.lua to read the comments on top of the functions.
In closing:
This is my first ever Internet tutorial and it’s on a rather complicated topic. I hope I could make myself clear enough. Thanks to Os for his great work with Augustus Loop 2.1. Check it out.
Now let’s see if I can make some music with this
PS: Wer Fragen zum Thema hat, kann die natürlich auch auf deutsch stellen.
Continue reading
Ableton Live, Live Looping