Live + Logic #3A: Audio Routing with Wormhole

This is a follow up to the article "Live + Logic #2: MIDI Routing".

Initial Setup

First you need to download and install Wormhole2 for OS X. Also check out plasq's product page for wormhole for more info, including a quick start guide, the full manual, and a FAQ.

After installation, if you were running Live and Logic, you need to quit them so they can reinitialize and detect the new plugin. Open Live first, then Logic (otherwise you can't use plugins in Live as discussed in the first article).

Finally, open the template projects for MIDI routing that we created in the second article in this series.

Creating a Dummy Audio Signal in Logic

In order to save CPU cycles, Logic stops all audio on a track when nothing is happening. While this is reasonable behavior in most circumstances, it causes problems here. Wormhole needs a brief moment to catch up when a signal first arrives. If you don't hit a MIDI note for a few moments, Logic will go into CPU-saving mode, wormhole will lose the signal, and the next time you play a note you may hear a click or experience some extra latency. We can work around this by constantly outputting an inaudible signal:

  1. Add another software instrument track to your Logic project
  2. Select the Test Oscillator instrument
  3. Lower the volume all the way to -96dB. Now you shouldn't be able to hear anything, but feel free to adjust the frequency or switch to pink noise if that makes you feel better.
  4. Set the output for this track to Bus1

Sending Audio out of Logic . . .

  1. Add an instrument, like EFM1 or Sculpture, to the first Logic track.
  2. If desired, add some effects to the track's insert chain. Any effects must appear in the signal chain before wormhole or they will be bypassed.
  3. Set the track's output to Bus1 (the same bus as the test oscillator)
  4. Add Wormhole2 (under Audio Units ⇒ plasq.com) to the plugin inserts chain in Bus1
  5. In the "direct" section click the circle labeled "start"
  6. Uncheck the "sync" box and set latency to 0
  7. Type a name into the "channel name" text box.
    Note: I often try to type something like "logic track 1" but pressing the 1 key activates screenset 1 in Logic and deletes whatever I was typing. We have to avoid numbers and go with something like "logic track one". Capital letters can similarly be problematic, so avoid anything that's mapped to a key command (like shift+L)

. . . And Receiving Audio in Live

  1. Add Wormhole2 to your track in Live
  2. Select the desired wormhole channel (like "logic track one") from the channel chooser dropdown
  3. Uncheck the "sync" box
  4. Set the buffer as needed. This is going to depend on your system and you will need to experiment. You generally want the buffer as small as possible before you start hearing clicks. The smaller the buffer, the lower the latency. Also, as noted in the Wormhole FAQ, Wormhole's buffer size must be larger than the buffer size of the host application. I have my Live buffer set to 512 samples, and Wormhole is set to 1024. You may need to increase the buffer size if you have many Wormholes running simultaneously.

That's it! You should now be able to play a note on your MIDI keyboard, or via a MIDI clip in Live, and hear the Logic instrument and receive the signal in Live. You can add wormholes to your other tracks to for an inter-app multitrack session. Each track in Logic will need it's own dummy signal (test oscillator) and auxiliary bus.

About that "sync" setting: I found that sync only seems to work when I am using a single wormhole. If you are going to only use one, go ahead and enable sync because it should reduce jitter. But if you add a second wormhole and start hearing clicks, disabling the "sync" setting (and also increasing the buffer if needed) should get rid of the clicks.

Conclusions

Good Stuff
  • Once Wormhole is installed, no separate software needs to be run. Everything needed for audio routing is contained within your Live and Logic projects. You can come back to your projects later, open them up, and they're immediately ready to go. This is a huge win in my eyes, and I keep coming back to Wormhole because of this.
  • You can easily create as many, or as few, wormhole channels as you need. (Though I'm not sure how many you can realistically use at once - I try to use as few as possible and freeze/bounce clips regularly.)
Not-so-good Stuff
  • Setting up the dummy signal is a bit of a hassle and one extra thing to worry about.
  • Wormhole uses the network. It won't work if you disable Airport on your Mac. Maybe this isn't really an issue, but not long ago OS X 10.5 had bugs where audio would get choppy if Airport was enabled and the only real workaround was to turn it off. I'm still wary about this.
  • Wormhole may need to fight other networking applications for bandwidth. I haven't had problems with this but it's probably not a good idea to be logged into Gmail or Facebook if you're playing music. That's good advice regardless...

Comments

Re: Live + Logic #3A: Audio Routing with Wormhole

Great Tutorial....Amazing...

Only one question....why must we set an oscillator in Logic to make possible this appication????

Hope in your answer...best and good work...

Re: Live + Logic #3A: Audio Routing with Wormhole

hi, I've gone through everything here as instructed, and I had it working fine yesterday... then I installed the 8.0.2 update for Logic and now wormhole doesn't work. It's displaying the message 'not connected' when I have it set up exactly as it's meant to. Can you think of a reason why this might happen? It's confusing the utter bejeezus out of me. Any tips would be really helpful.

Re: Live + Logic #3A: Audio Routing with Wormhole

Hmmm, I am using Logic 8.0.2 and it works for me. Maybe the Environment routing in Logic got messed. Assuming you followed my MIDI routing guide (http://compusition.com/web/articles/live-plus-logic-midi) then double check the "TO LOGIC" port in the Environment is connected properly. I believe if you connect or disconnect MIDI hardware, it can shift the ports around (Logic's handling of MIDI ports in general is really bad, in my opinion), so you may have to redo your Environment settings.

When things aren't working, test each piece in isolation: make sure Live is generating MIDI, make sure Logic receives MIDI from Live, make sure Logic is producing audio, then try to get the wormhole connection going.

If you're really stuck you might want to try redoing the whole setup from scratch...