You are here

RAM Busters

Logic Tips & Techniques By Stephen Bennett
Published May 2011

Logic Pro users can run into problems when using RAM‑hungry features and plug‑ins. So how do you beat the memory trap?

Memory is a strange thing, and this doesn't only apply to the wetware behind your eyes, but also to the RAM chips inside your computer. Complex software seems to be unable to keep up with the pace of hardware improvements, so while modern Macs can sport multiple processors and tens of Gigabytes of RAM, the programs that run on them are often still in the coding Stone Age when it comes to making use of all of this power. One of the main limitations of 32‑bit computing is that there is approximately a 4GB upper RAM limit for each program running (most can actually use much less). This has been a severe constraint for those of us who use large sample libraries or other plug‑ins that have extensive memory requirements, as all of these run within, and eat up, Logic Pro's memory space, which itself seems to flag out at about 3GB. With the introduction of Snow Leopard and 64‑bit Logic Pro 9, you'd have thought these issues would have become a problem of the past, but you'd have thought wrong.

Take It To The Bridge

While Logic Pro 9 can be run as a 64‑bit application under OS X (right‑click on the program icon and de‑select 'Open in 32‑bit mode' from the Info window to make this so), most plug–ins are still firmly in 32‑bit land. Some may never be ported to 64‑bit operation and others may be released as paid‑for upgrades when they eventually do appear. As an interim measure, Apple has developed the 32‑bit Bridge, a sort of glue that allows you to run 32‑bit applications alongside 64‑bit Logic Pro. But it does have several limitations: only one instance of the plug‑in interface can be opened at any one time and it's pretty flaky, sometimes crashing even when standing idle. Because it runs as a separate application, it usually leaves Logic Pro standing and can be re‑booted separately, but this is usually a time‑consuming affair. Worst of all, some plug‑ins just won't run on the Bridge at all. Basically, it's unpredictable in action, and that's a creativity killer if I ever heard of one.

RAM Raid

Even if you're not running memory‑intensive plug‑ins and have been happily and stably using Logic Pro 8, you're liable to have a shock when you move to version nine to make use of its lovely, improved Quick Swipe Take folders and Flex Time. The basal memory requirements of 32‑bit Logic Pro 9 are higher than those of version 8. What this means in practice is that projects that ran fine under version eight may provoke a dreaded 'Out of memory' error and refuse to allow you to work on them in Logic Pro 9. I'm also finding that even simple setups, with just a few instances of plug‑ins that work perfectly fine under v8 fall down under 32‑bit v9. With most plug‑in companies being shy about if and when their products will be able to run natively as 64‑bit plug‑ins, these memory issues will probably be affecting anyone who uses any third‑party plug‑ins for some time to come. Even if you move to 64‑bit Logic Pro, the limitations of the 32‑bit Bridge could have you tearing your hair out, so running plug‑ins as stand-alone versions separately from Logic Pro could be a sensible solution to both of these problems.

Moving your plug‑ins outside of Logic Pro means that they'll each be running in their own area of RAM, they won't swallow precious bytes within Logic Pro's own memory workspace and, if they crash, they won't take the DAW down with them. A plug‑in running in stand‑alone mode can be rebooted in much less time than it takes for the 32‑bit Bridge to reload, and you'll be able to swap quickly between open plug‑ins using the dock or Command‑Tab keyboard shortcut. To work in this fashion, you'll have to get MIDI data out to your stand-alone application and the audio it produces back into Logic Pro.

Get Out More

OS X can transfer MIDI data between applications using the IAC driver, so you can route data out of Logic to a stand‑alone plug-in. This isn't enabled by default, so you'll need to set it up as follows:

  • Run the Audio MIDI Setup program and open the MIDI window from the main Window menu.
  • Double-click on the IAC icon and a Driver properties window opens.
  • Click on the 'Device is online' tick box and add as many IAC ports as you think you'll need: one for each external application you'll be running. Mac OS X gives you the ability to transfer MIDI data between applications using the IAC driver.Mac OS X gives you the ability to transfer MIDI data between applications using the IAC driver.
  • Open Logic Pro's Environment and select the Clicks and Ports layer.
  • Delete the connection from the SUM output to the Sequencer Input (using the eraser Tool).
  • Reconnect the cable using the port that your MIDI controller is connected to. This will prevent unwanted MIDI data feedback (see the final screenshot on the opposite page). Here we can see MIDI data being re-routed in Logic's Environment, ensuring that unwanted MIDI data feedback is prevented.Here we can see MIDI data being re-routed in Logic's Environment, ensuring that unwanted MIDI data feedback is prevented.
  • Run the stand-alone version of your plug‑in and, in its MIDI preference window, choose the IAC port you'll be using to receive MIDI data from Logic Pro.
  • Run Logic Pro and create an External MIDI Instrument.
  • Select the track and choose the required IAC driver from the Port menu in the Inspector. This Instrument will now send MIDI data to the stand-alone plug‑in. You should see the plug‑in's MIDI light flashing when you play your MIDI controller.

Audio Returns With Soundflower

Unfortunately, OS X doesn't have an audio equivalent of the IAC driver, but those nice people at Cycling 74 have created a free utility called SoundFlower (http://cycling74.com/products/soundflower). Once installed, SoundFlower appears as another CoreAudio Driver in the Audio MIDI setup window. If you create an Aggregate device that includes SoundFlower, you can choose this as an Input device in Logic Pro. Note that SoundFlower can pass up to 18 channels of audio, so it can be used with multiple or multi‑output stand-alone plug‑ins. (Jack (www.jackosx.com) and Plogue Bidule (www.plogue.com/?page_id=56) can also perform similar tasks.)

  • In the stand-alone plug‑in window, choose SoundFlower as the audio output.Soundflower, by Cycling 74, can be used as an Aggregate CoreAudio Device.Soundflower, by Cycling 74, can be used as an Aggregate CoreAudio Device.
  • Back in Logic Pro, choose the Aggregate Device with SoundFlower as the Input Device in the Audio Preferences window.
  • Create an Audio Track and select the SoundFlower channel as its input. Naming inputs using the I/O labels window makes it much easier to remember which input is which. You can find this in the Audio section of the main Option menu.The settings circled in red are required to set up SoundFlower to route audio back into Logic Pro.The settings circled in red are required to set up SoundFlower to route audio back into Logic Pro.
  • Record or input‑enable this track so you can hear the audio coming in from the stand‑alone plug‑in.

Now, if you select the External MIDI track, MIDI data will be sent to your stand‑alone plug‑in and audio will be routed back into Logic via SoundFlower to your record‑enabled audio track. MIDI data can be recorded and edited in the usual fashion, and returned audio recorded and processed with plug‑in effects. The only difference between this and running your instrument as a plug‑in within Logic Pro is that you need two tracks for each stand‑alone instance, for MIDI and audio. Make sure you label them correctly so that you don't get them confused.  

Buy Related Tutorial Videos