Skip to content

JACK and Audacity

I just received a comment from voice talent Tristan Wright on my original post about the JACK audio router utility.  He was trying to get JACK to work with Audacity, but wasn’t having much (any?) success, so I decided to dig into it myself.  Here’s what I found…

The thing with Mac apps and audio is that they don’t all behave the same way. Some establish a constant connection to the system, while others appear to make and break that connection on an as-needed basis.  In Reaper, for example, both input and output connections are inactive by default, and only activate when a track is armed for recording, or audio is being played.  Audacity is similar, but even more granular.  Unlike Reaper, where both input and output connections activate for either recording or playback, Audacity activates only the output connection when playing, and only the input connection when either recording or monitoring.  This has some annoying repercussions, which I’ll detail later.

Setup

Open JackRouter, click “Start” on the JackPilot window, then click “Routing” to open the Connections Manager window.

Next, open Audacity.  If you have the device toolbar visible in Audacity, simply change the drop-down choices for both playback and recording to “JackRouter”.  If this toolbar is not visible, you can either turn it on (View –> Toolbars –> Device Toolbar), or open Audacity’s preferences and change the same options in the Devices section.

Recording

To get JACK to see Audacity’s input connection, click the down-arrow button next to the recording level meters, and choose “Start Monitoring.”  In JACK’s Connections Manager window, you should now see an Audacity entry in the Receive Ports column.  Click “system” under Send Ports, then double-click “Audacity” under Receive Ports, and JACK will connect them.

When you return to Audacity, you should see a signal in the recording meter (assuming that your audio interface is properly set up in JACK).  Click Audacity’s record button, and you’ll be recording whatever you’ve got fed into JACK.

Now press Audacity’s stop button, and notice what happens in JACK: Audacity disappears from the Receive Ports column.  At first glance, you might assume that you have to reconnect Audacity every time you want to record, which would be quite annoying to say the least.  However, just hit record again in Audacity, and you’ll see that all is well.  The connection is still there!

…for now.

Wait…what?  What’s this “for now” business?  Well, we’ll get to that in a bit.

Playback

Assuming that you’ve made a test recording by following the steps above, let’s now set things up for playback.  To do this, you’ll need to start playing the sound in Audacity first.  This activates the output connection, and you’ll now see Audacity in the Send Ports column of the JACK routing window.  Click it, then double click “system” in the Receive Ports column, and you should hear your sound playing back through whatever audio interface you’ve set up in JACK.

What happens in JACK when the sound is finished playing?  Once again Audacity disappears from the Send Ports column.  However, just start playing again, and you’ll see that the connection has been maintained.

…for now.

For Now?!?

This is where Audacity’s way of handling its audio connections becomes a bit of a pain.  Unfortunately you will not be able to make both recording and playback connections only once at the beginning of a session.  This is because making the playback connections for Audacity in JACK breaks the recording connections, and vice versa.

As long as you keep recording — no matter how many times you start and stop recording, on one track or several tracks — the recording connection will remain.  However, the moment your client wants to hear playback (assuming the original setup where you’re routing things through Skype for someone else to hear), you will have to switch to JACK to make the playback connections, sending Audacity’s audio to both your system (so you can hear it) and Skype (so your client can hear it).  Once playback is done, you’ll have to re-establish the recording connections before you continue.

Yeah, it’s a pain, but it works if you’re willing to live with it.  If you need to do this kind of thing a lot, I strongly suggest looking into other audio recording software.  If you can’t already tell, I’m a big fan of Reaper.  It’s inexpensive, it’s super powerful, and it means that you make your connections in JACK only once.

(On a side note, I just noticed that the images in my original post are all broken — an unfortunate oversight as I was moving things from my old web site.  I’ll get those fixed ASAP, but it may be a few days.  As an alternative, may I recommend watching the video version?)

3 thoughts on “JACK and Audacity”

    1. I don’t have any experience with Ardour, so I can’t say for sure. Reaper is the DAW I’ve been using for many years, so I used that for the demo. Give it a shot with Ardour and share the results!

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.