Monday, August 25, 2014

Recovering A Lost Ableton Live Library With Time Machine

Copied from an old wiki page, because Blogger is a little better than my Time Warner Cable internet connection (which sucks sometimes).

If you've somehow managed to erase your main Ableton Live Library, you may try to recover it with Time Machine only to find that the /Users/<you>/Library directory doesn't appear in Time Machine.   Don't worry, Time Machine backed up your files.   You just need to do a little command line configuring.

Part One - Recovering the files

The basic problem is that Finder considers /Users/<you>/Library a hidden file, so the Time Machine UI (which is Finder) won't let you see it.

  1. In Terminal, tell Finder to let you see hidden files:
    defaults write com.apple.finder AppleShowAllFiles YES
    
  2. Force Finder to restart with:
    kilall Finder
  3. Then, use Time Machine and locate the /Users/<you>/Library/Application Support/Ableton directory.
  4. Click Restore.
  5. Wait.   This may take a pretty long time.
  6. In terminal, restore Finder to it's original settings, force Finder to restart:
    defaults write com.apple.finder AppleShowAllFiles NO
    killall Finder
    

Part Two - Repairing the Library

The recovered library files might be inconsistent, so it is likely that you will need repair it (building indexes).
  1. Start Live
  2. Go to Live->Preferences (cmd-,)
  3. Select the Library tab.
  4. Click Repair Library.
NOTE: This might take some tiime.   Be ready to go do something else while Live re-indexes everything.

Part Three - (Optional) Reinstall Live with Content

If the library was very damaged or partially deleted on the backup, you can also re-install Live and the default content.
  1. Download Live from http://www.ableton.com/account/downloads, select 'With Sounds'.
  2. Wait.   This is a very big file.
  3. Open the '.dmg' file and drag the application icon into the Applications folder.
  4. Wait.  This is going to copy a lot of stuff onto your disk.

Saturday, August 2, 2014

Ableton Live - Using Slice to MIDI for Multiple Loops

Ever since I've figured out how to use Slice-to-MIDI I've been using it quite a bit.   It's a huge time-saver for cleaning up drum loops and creating variations.   However, one thing always was bugging me: When I have several drum loops, I end up with one Track/Drum Rack per loop.   This makes it difficult to mix and match across loops.

I took a look at this tutorial, and... it's close, but what I really want is one Drum Rack with all the loops in it, so I can mix and match sounds / notes across all of them.   Dragging cells from one rack into the other doesn't really do it for me because it doesn't copy the notes, and if there are a lot of slices it's just not what I want to spend my day doing.

So, how to make one giant Drum Rack with all the slices and a track with all the midi notes from each loop?   It's not that hard, actually:
  1. In arrangement view, create an audio track for placing drum loops.
  2. Copy and paste loop sections, and line them up one after the other in the audio track.   It should look something like this:

    Keep in mind that a Drum Rack is limited to 128 slices, so it's best to keep each clip fairly short. Just the essentials of each loop.
  3. Adjust the clip levels to even things out.   Adjust the fades to eliminate clicks.
  4. Duplicate the track so you can easily see the boundaries of the original clips later on.

    The duplicated track has orange clips in this screenshot.
  5. Select all the loops in the audio track and consolidate them (cmd-J, or right-click, Consolidate)

    The consolidated clip will probably be warped automatically. If it isn't, warp the clip.
    The orange clips are for reference, and the red clip is the consolidated, warped clip that we're going to slice.

  6.  Now that you have a consolidated clip of all the loops together, you can slice-to-midi the whole thing.  Right click on the consolidated clip and choose Slice into New MIDI Track.
    • One slice per: Transient and the built in slicing preset will probably work well for most drum loops. 
    • If you need to, you can add / adjust warp markers before slicing.
    • NOTE: This might produce a lot of slices! Since a Drum Rack is limited to 128 cells, you will want to keep that in mind.   The slice feature will tell you how many beats and how many clips.
     In this case I've got 60 beats and 116 slices.   That should be enough to get some creative loop-mangling going!
  7. Move the new MIDI track next to the reference clip audio track.   Split the midi clip in line with the original loops.  Go through each MIDI clip: rename, consolidate and loop.  Now you have a MIDI/Slice loop for each audio loop.
     

Now you have all the slices and MIDI loops, you can have a whole bunch of creative options:
  • Sweetening up loop slices by dropping EQs on selected slices, and / or adjusting the Simpler filter on various slices.   Saturator can also work well.   Filter out lows on hat slices.  Put a kick eq on kick slices.   Adjust sample start/end points to get rid of clicks.
  • Don't forget pan and level changes.
  • Create some 'returns' in the Drum Rack, and route them out to your main return tracks (e.g. reverb and delay).    Send some slices to the reverb and delay.   Every other snare slice through reverb, for example.
  • Mess with the notes too.   Quantize some on the downbeat.  Play with velocity.

Saturday, July 19, 2014

Ableton Live - Moving Factory Packs to Another Disk (OSX)

The Ableton Factory Packs can be quite large, and you may have a few that you don't use as often as others, or that you only need when you're in the studio.   These can clutter up your main disk, especially if you're using a laptop.   One way you can have access to your packs, but also free up some room on your main disk is to move the packs to an external disk drive.

It's pretty easy:

  1. Get an external drive.  Make sure it's formatted.   I prefer to have a drive specifically for samples - including Ableton Live packs, Kontakt libraries, and Reason refills.
  2. Move the Factory Packs from their default location to the new drive.   <cmd>-drag on OSX.   I put them on my external USB drive called "Sample Libraries" in a folder called "Ableton/Factory Packs".
  3. Start up Live 9 - click on 'Packs' in the browser in the 'PLACES' section.   The libraries you moved will appear gray.
  4. Right click each gray library, select 'Locate library', and browser for the folder in the new location.
Now the pack is in the other location.  If the drive is not available when you start Live, the packs will go back to being gray.

Tuesday, March 18, 2014

MIDI and Java - First Steps

I'm not sure if this goes in my computer blog or my music blog (this one).   Doesn't matter, some overlap is okay.  :)

I've been thinking about making some tools for working with the SYSEX files that come from the Elektron boxes, so I thought I'd take a look at what's out there for Java (my main tech stack at work) and MIDI.    It seems like the current state is this:

  • As of Java 6, the MIDI API built into the JRE/JDK works well on OSX and Windows.
  • This wasn't always the case.   There was an issue with the Apple Java implementation where it didn't properly send/receive SYSEX messages, or any MIDI messages with status bytes >= 0xF0
  • Libraries
 


Friday, January 24, 2014

My first "live set" - Part 3

More things I learned while assembling my first live set with the OctaTrack, Machinedrum, Monomachine combo.

Pattern transitions with the OctaTrack

When switching from one pattern to the next, the OctaTrack (and the MonoMachine) will let the AMP envelope continue into the next pattern if there is nothing else triggered on the track in the next pattern.   The sample/slice from the previous pattern will continue to play to the end.   This can be a nice effect, but it's kind of jarring when the sample just stops suddenly.  This is because the AMP envelope defaults to infinite HOLD and infinite REL.   It would be nice if this overlapping sample would start to fade out gradually as the next pattern plays.    This is actually pretty easy to do:

Say the first pattern is two bars (32 steps) and there is a trigger on step 1 of the first bar.   When the pattern is playing we want the AMP envelope to remain at full volume for the whole pattern.   As the track plays into the next pattern, we want to have it start fading out.  So we can either p-lock or set the following:
  • AMP HOLD = 32 : The HOLD value is in sequencer steps.
  • AMP REL = 32  (I'm not sure if the REL value is in sequencer steps, but it seems to be)
Set the values as appropriate for the bar length, so the hold lasts long enough to cover the first pattern. Works nicely with the OT mixer-button-fu techniques.  :)

LFO 'Sidechain' Pumping


Both the Octatrack and the Monomachine can use LFOs to simulate sidechain compression 'pumping'.   The destination of the LFO modulation will usually be AMP VOL, but you can also use:
  • AMP DIST on the Monomachine
  • FILT BASE for thin/fat pumping
The wave form can be either SAW, or one of the exponential curves.

Getting the timing right is the key.   The LFO multiplier and speed use this formula:
  • (multiplier value × speed)/128 = number of LFO cycles per bar
So if we want 'up beat' pumping, then we will want 4 cycles per bar:
  • MUL=x8 SPD=64, MUL=x16 SPD=32, MUL=x32 SPD=16, or MUL=x64 SPD=8
We also need to make sure it starts on the downbeat, so set: TRIG=TRIG.

Then, just set the DEPTH to suit.   I often have an LFO set up for this, then p-lock DEPTH to make it kick in.

Playing back full songs

A lot of the set is going to be pattern based, but to give myself a break and to extend the set I'm going to include full songs (remixed a bit).   Here are some things that made that easier for me:
  • Use a pattern for each full song.   Static machine, with the full song sample loaded into it.
  • Use the same track for all 'full song playback' samples.    I'm using Track 4.
  • Create a scene that solos the playback track.   I'm using Scene 4 (matches with Track 4).
  • Don't forget to arm the track when transitioning to it.
  • Create some other loops to accompany the song, that you can transition into and out of using the crossfader and the solo playback scene.
  • The OT doesn't always guess the tempo right, even when you include the tempo in the file name.   Often you'll have to set it in the file attributes.

Thursday, January 16, 2014

My first "live set" - Part 2

Now that I've spent some time preparing for the show.   The basic set-up is going to involve launching patterns and pattern chains on the OctaTrack.   Muting and using the cross fader.   The OctaTrack will sync and switch patterns on the Machinedrum and the Monomachine.   This is basically what I've been doing for my live jam videos.

Modes

This live set is going to be pretty long.   I don't really have enough experience yet to do a full on many-hour jam session so I'd like to incorporate some songs that I've made in Ableton and Reason somehow.   After some experimenting, I thought of a few different modes of operation during the set:
  1. Straight playback - I'm doing this on the OctaTrack with a single static machine track, playing a long sample in a single slot.   The playback is started with a single one-shot trigger in a pattern.    I'd prefer to do the whole show with more active remixing, but I don't have enough stuff prepared for that.   Here's how it works:

    • An intro pattern that might play a loop of the song, and also have some accompaniment from the other devices.   If the tempo needs to change, I'll do it in this pattern.   Also, arm the one shot trigs!
    • The 'song' pattern.   One shot trig.
    • An outro pattern, maybe a loop of the song.   Avoid using the 'song' track, as I may want to start this while the main song is fading out.
  2. Remix - Start with drum, bass, keys, vox/fx stems from Ableton.   To conserve slots I sometimes use long slices, each pattern plays a different slice.    With this, I can use sample locks and parts to mix-and-match things.

    • For loops that are longer than 4 bars, use one-shot trigs and set loop mode on the samples (and the track).
    • For slice-loops, export stems that are the same length, where the loops are evenly spaced.
    • Select a purpose for each OT track, e.g. T1: drums, T2: bass, T3: synths/keys, T4: vox/fx.   If you've got 4 tracks, you can use T5-T8 for a different sample and crossfade between them, or mix-n-match with mutes.
  3. Parallel - Same as Remix, but add Machinedrum and Monomachine parts.   The cross fader is set up to fade between the samples and the MD/MNM, at least for the main tracks.

    • When using THRU tracks for the MD/MNM, setting up the cross fader simply setting the XMIN/XMAX on the appropriate OT tracks will do.   Although, you can also use Amp VOL to get pre-effects crossfading, which could be interesting.
    • When using 'direct AB/CD', assign the OT track volume for the sample tracks holding the scene button and assign the direct AB/CD volume in the mixer page, while holding the scene button.
  4. Pattern based - In this mode, the Machinedrum and Monomachine are the basis of the song.   Extensive tweaking and such can be done.

Catalog

One thing I realized pretty quickly is the importance of having a catalog of all of my songs so I can plan the set.  This is especially true for the Elektron gear, as all you have there are bank/pattern designations and some short 'kit'/'part' names.   Plus drive makes the situation worse, as it allows a large number of 'snapshots', which may or may not be organized in any sensible manner.  ;)

Currently I'm busy making a catalog of Monomachine/Machinedrum snapshot/pattern/kits including tempo, and key in a Google Drive spreadsheet.   Once that's done, I can move the patterns/kits using sysex send "pattern/kit" and (carefully) receiving that sysex into the live set snapshot in the desired pattern/kit slots.  Cataloging Ableton Live projects is much easier, as I tend to name the folder with the tempo in it.

Octatrack Button-fu : Mixer - Mute, Solo, Crossfader, Scenes

Some quick OctaTrack button-fu that I thought I'd share.

Mute / Solo

  • Mute/unmute track - [FUNCTION]+[TRACK]
  • Mute/unmute in MIXER mode - [TRIG] 1 to 8
  • Solo/unsolo in MIXER mode - [CUE]+[TRIG] 1 to 8
    • Solo does not mute direct AB/CD
    • Solo does not mute track 8 in master mode
Note: The mute/solo for audio tracks is post effects, so no reverb/delay tails.

Scenes / Crossfader

  • Assign scene - Press and hold SCENE button, select a scene with a TRIG button.
  • Quick scene switch - Move crossfader to one side, press and hold the SCENE button on that side.   While holding, use the TRIG keys to quickly switch between scenes.
  • Direct AB/CD Crossfade
    1. Press MIXER
    2. Press and hold one of the SCENE buttons, 'DIR' will change to 'XDIR'.
    3. Continue holding the SCENE button and change the AB / CD XDIR.
      • Select a different scene with the TRIG buttons if needed.
      • Knob B for AB XDIR, knob E for CD XDIR.   Push the knob to unassign.

Monday, January 6, 2014

My first "live set" - Part 1

So I'm getting things together for my first live set of electronic music, tentatively scheduled for the end of January.   I know, I know... pretty scary.   To take some of the edge off, I've decided that I'd jot down a few of the things I learned along the way.

Project Concept

  • Play a live set of electronic music, basically real time re-mixes of material that I had previously recorded, along with some other added parts.
  • Around 12 to 16 songs, broken up into two sets.
  • Use the Elektron gear for the most part.   This hopefully will make things simpler and more fun.
  • Record the show with the laptop.
Sounds good.  Now I need to figure out how to organize the gear and the content so that I can play an hour or so of music.

Hardware Setup

The OctaTrack seemed like the logical thing for the main 'brain'/mixer, so that will be first in the MIDI chain.   The Machinedrum and Monomachine can be chained up with their thru/in ports in the usual way:
  • MIDI chain: OT out->MD in, MD thru->MnM in, MnM thru-> (maybe something else?)
The audio can be fed into the OctaTrack via the four inputs:
  • MD main outs -> Input A/B
  • MnM main outs -> Input C/D
If I decide to bring along another synth, I can plug it into the Monomachine inputs:
  • Other synth -> MnM input A/B
Then, I can either route the MD/MnM directly to the OT main output with the OT mixer, or I can use Thru tracks if I want to put effects on the MD/MnM.   Since the MD and MnM already have effects, I'll use the direct routing for now so that I can get on with configuring the machines.

Configuration

I want to store the configurations and the song data in a way that is isolated, so that I can work on other things if I want to without interfering with the material for the live set.   The Machinedrum and the Monomachine have +Drive, so I can use snapshots there.   The OctaTrack has Set/Project directories on its CF card, so that's pretty easy.   The MD/MNM snapshots and the OctaTrack Project also store the MIDI settings, which is very important for making setup quick, easy, and reliable.

MIDI Configuration

  • Use channel 1 for program change.  This way, the OctaTrack will select patterns / kits on the MachineDrum and the Monomachine.
  • Clock and Song Position Pointer (a.k.a. Transport on Elektron machines).
  • Since the MD and MNM have (IMO great) internal sequencers and will be synced via MIDI clock, they don't need any incoming MIDI notes or CCs.   This makes it easy to leave at least one MIDI channel for some other synth if I want.

Slots, Banks, Patterns, Parts and Kits

Since all the Elektron machines have 16 banks, I can easily put enough patterns for each song in one bank, possibly two songs with creative use of muting and scenes.   On the OctaTrack, If I'm putting more than one song into a bank, I can use two Parts for each song.   That's pretty convenient.

  • Create a new Snapshot on the Machinedrum and the Monomachine for the live set.
  • Create a new Set and Project on the OctaTrack for the live set.
  • Use the same global slot on the Machinedrum and the Monomachine to make it easy to recall the settings.
  • Create a new Snapshot on the Machinedrum and the Monomachine.
 Here's the full setup, after creating the snapshots, the set and the project:
  • Chain: OT->MD->MNM->Other (not sure which yet)
    • Channel 1 : OT Program Change Out
    • Channel 2-7 : Monomachine tracks 1-6
    • Channel 8 : Monomachine auto
    • Channel 11 : Shruthi
  • Octatrack Setup  (Saved with Project)
    • MIDI->SYNC : Transp send, Clock send, Prog Ch - send, Ch 1
    • MIDI->CONTROL : Audio CC out INT, Audio note out INT
    • CONTROL->Audio: Track 8 Master
  • Machinedrum - Slot 3 : Receive External clock, SPP, PC on chan 1.  Don't receive notes or CCs.
    • Global->CONTROL->BASE CHANNEL : --
    • Global->CONTROL->PROG CHANGE: Prog change in ON, Prog change out OFF, Channel 01
    • Global->SYNC->TEMPO IN : EXTERNAL
    • Global->SYNC->CTRL IN: ON
  • Monomachine - Slot 3 : Receive External clock, SPP, PC on chan 1.  Ch 2-7 for tracks, 8 for auto track.
    • Global->CONTROL->MIDI CHANLS : Base channel 02, Channel span 06, Auto track ch. 08
    • Global->CONTROL->CONTROL IN : Tempo sync EXT, Transport ACCEPT, Prog change CHAN01
  • Shruthi
    • SW5 (led off)-> SW4 twice -> chn: 11
  • OT Shruthi Chan 11
    • MIDI-><track>->Note (double click) : A knob, chan 11, YES
    • Prog #s on OT are off by one : Bank 0, Prog 0 -> Shruthi prog 1, Bank 0 Prog 10 -> Shruthi Prog 11
    • Function->Knob Press in Ctrl1 / Ctrl2 to enable PB, CC, etc.
Seems like a lot of setup after writing it down, but it's not that bad and it only needs to be done once.   Unless... the data gets lost, which would be awful.   ALWAYS BACK STUFF UP.  Also, don't forget to restore from backup once in a while to make sure you've got it right.

In the next post, I'm thinking that I'll go over how I'm exporting loops and samples from Ableton Live for the OctaTrack.