Integrating Levelator and Final Cut Pro

Thursday, June 16th, 2011

Note: This was originally written for an internal audience at work. Since most of the intended audience will not get any direct benefit from it, I thought I'd put it here to hopefully let it help someone out.

Levelator is a very simple, yet very effective application for analyzing a piece of audio and adjusting it to keep levels roughly the same throughout.  This is especially useful for things like GDLN VCs where a number of factors, from site-configuration to speaker microphone technique can result in differing audio levels for different sites/speakers.  It is part of my standard workflow to run VC archives through Levelator at the end of my editing process, and then do further noise reduction as necessary for audio segments that ended up too noisy when their levels were brought up.  The problem with this is that Levelator doesn't have any configuration options, and Final Cut Pro doesn't offer any good path for integrating other software for non-developers, and the required process for running material from FCP through Levelator was long-winded.  The solution I found doesn't remove all of the complexity, but it gets us partway there, and it feels quicker and easier to me.  If Final Cut Pro offered applescriptand/or automator action support this could be taken quite a bit further.

some background

I'm running Snow Leopard, and that does make a difference, but not in the way you might think.  I think setting this up in Leopard would be a little bit easier.  Snow Leopard brought an update to automator that removed finder file filtering capability that would have been really handy for the folder action I created in Automator.

 

Over time I've found that the easiest way to make sure that I'm able to keep track of project assets is to put them in the same place every time -- divided by memory type and following a file naming convention.  This means that I have an "audio sources" folder that all of my audio source files go into.  Most projects I handle won't have any audio files at the outset as the audio is encapsulated in the video file, but Levelator takes an AIFF or WAV file, so running through Levelator requires one to export an AIFF file.  It is perfectly ok to (and I recommend doing so, my process automates it) get rid of the file originally exported, but the Levelator output needs to be kept.

 

Finally, Levelator takes an audio file, lets call ours audio.aif for this explanation, and creates a levelated version in the same folder as the original with the same filename except for .output inserted into the filename right before the file extension.  So the manual process would look like this:

 

  1. Right click the sequence to be levelated in the Final Cut Pro browser, Export -> Audio to AIFF(s)...
  2. Select filename and location to export to and click save (audo.aif for our example)
  3. Wait for the export to complete
  4. Navigate to the file location
  5. Drag audio.aif onto the Levelator app
  6. Wait for Levelator to complete (likely doing something else while you wait if the audio is long)
  7. Get back to the finder window where audio.aif is
  8. Find audio.output.aif in the same folder
  9. move audio.aif to the trash
  10. drag audio.output.aif into the FCP browser
  11. drag the levelated audio into your sequence and replace the original audio for the clip.

This can get more complicated with multiple audio tracks in your sequence, etc, but let's keep it simple.

the new process

Here are the steps I follow with my automation in place:

  1. Right click the sequence to be levelated in the Final Cut Pro browser, Export -> Audio to AIFF(s)...
  2. Keep the filename the same as the sequence name, and select the levelate folder inside my Audio Sources folder (elaborated on briefly later), click save
  3. Wait for 5 minutes, doing other work, or having a quick coffee break, while levelate does its thing
  4. find the output file in the Audio Sources folder that will have popped up (the original export file should have been trashed automatically)
  5. drag the file into your browser
  6. replace the audio in your sequence

The real advantages to this are that it does all the file management for you and runs Levelator as soon as the export is done.

now onto the Automator folder action

I create a folder action in automator for a folder called levelate inside my Audio Sources folder.  This folder will be where I export all of my audio files.  Files will be removed from the folder almost instantaneously, this folder should almost always be empty.

 

In Leopard it may have been possible to do everything in the Audio Sources folder without the levelate folder by using the Filter Folder Items action in Automator, unfortunately there is no way to select files with filenames not containing... in Snow Leopard:

 

So here is the Automator action I came up with:

Automator goes on to the Move Finder Items action immediately after passing the file to Levelator, it doesn't wait for Levelator to finish which is what allows the File manipulation steps to work.  Moving the original file to Audio Sources causes Levelator to output the leveled file to Audio Sources (if we write it back to the levelate folder the output file would trigger the cycle all over again, this s where the Filter Finder Items action from leopard would have come in handy).  I've found that Levelator is almost always finished within 5 minutes, so I build in a 5 minute pause to ensure the output file gets written before the original gets trashes (if you trash it first, the output file will be written to the trash too).  I inserted the Reveal Finder Items action write before the trash step to pop up the finder window and remind me that it is time to move on and make it easier to find the output file.  I don't think many in the network are editing in Final Cut Pro, but hopefully this serves as inspiration for finding ways to make your own workflow a little bit more automated/efficient.  Thanks for reading, what are your tricks for maximizing your efficiency?

By UltraBob at 11:10 AM Link to this post here!