Update 10/22/2013: Want to watch a walk-through to see exactly what’s happening? Check out the video version!
For those VO artists who aren’t blessed with ISDN or SourceConnect, getting a good phone patch setup can be very beneficial, yet it can also be very frustrating. In my case, I prefer to use Skype to connect with clients, and so far I haven’t run into one who wasn’t willing to go that route. I also haven’t yet had a client ask to hear a take back in the middle of a session…until yesterday.
During most sessions, I just set Skype’s microphone to use my audio interface. The client can hear exactly what I’m recording, and we just end up doing several takes ’til they get something they like. We end the Skype session, I send the raw recording, and they have what they want. Easy breezy! Yesterday, though, I was contacted by a potential client who mentioned that I was in the running for a job, and wanted to confirm that I had “a working phone patch with playback capability.”
How the heck can I get playback with my current setup?!?
My audio chain is pretty simple: mic to interface to computer. There’s no mixer middleman in the mix, which means that I can’t use some solutions that require additional hardware. (If you’re in that situation, though, I highly recommend checking out Corey Snow’s post that covers the subject quite well.) I really needed something that could just let me route the audio signals inside the computer, without having to physically patch stuff together with cables.
Enter JACK
Don’t know JACK? Well, you will after this post, or at least you’ll have (I hope) a better handle on how you can use him to solve certain problems.
JACK is a slick little free tool that does exactly what I said above: it lets you route audio signals internally. It takes a little time to get used to how JACK operates, but once you get the hang of it, I’m sure you’ll quickly see how you can use it in a variety of ways. For this post, though, I’m only going to share the steps that I needed to use JACK to connect both my microphone and my audio software (Reaper) to Skype, so that clients can not only hear my live mic, but also the playback of anything that I record in the session.
Install JACK
First, you gotta get JACK. I’m on a Mac, so the place I went was the JACK OSX web site, which hosts (as you can guess) the OSX-specific version of JACK. For other operating systems, go to the main JACK web site. (Note: This article is NOT about how to install JACK. Installation is a breeze on the Mac, but I don’t know what it’s like for other systems, and I can’t help if you run into any hiccups along the way. Sorry.)
Once you’ve got JACK installed, open the JACK Pilot. The first time you run the JACK Pilot, it will open a Preferences dialog that lets you set a bunch of custom options. The only thing that I did was change the input and output devices to my audio interface, which is an M-Audio FastTrack Pro.
Once you’ve saved the changes, you’ll be left with the cute little JACK Pilot window:
Click the “Start” button, which will kick off the JACK server. After a few seconds, the “CPU Load” section will start showing how much of a drain JACK is putting on your system. Unless you get into some really crazy audio routing, it probably won’t be much.
The “Routing” button on the JACK Pilot window will also become active once the server is running. Click this to bring up the routing window, which will look something like this:
The exact contents of each section will vary depending on the nature of your system, what programs are running that might affect JACK, etc. In other words, don’t freak out if you don’t see the same stuff that’s in the image.
Setup Skype
Now is the time to open the software that you want to use with JACK. For me, I’m going to open Reaper and Skype. Generally speaking, I found that things work more reliably if I open the programs that I want to use with JACK after starting the JACK server, as some of the routing features of JACK may not be available if you do it the other way around.
I’m going to start by getting Skype ready to go. In the Skype preferences, go to the Audio/Video section, and click on the the option box next to “Microphone”. In addition to the items that you’re used to seeing in there, you should see a new entry related to the JACK router. On the Mac, it’s named “JackRouter”, but the name may be different on other systems. If you don’t see that entry, close Skype, go back to the JACK Pilot and make sure that the server is running (the “CPU Load” number should be some number greater than zero, and should be changing periodically), then restart Skype and try again.
With Skype set to get its input from the JACK router, go back to JACK and look at the Routing window. You should see new entries for Skype in both the “Send Ports” and “Receive Ports” sections.
Setup Audio Software
Now’s the time to get your audio software up and running. I’m using Reaper, so the functions and features may be different than what you have, but it shouldn’t be too tough to figure out the equivalent things to do in your software (I hope).
First off, I need to change Reaper’s audio interface settings. After opening the Preferences dialog, I select the Device section under the Audio category. In the option box next to “Audio Device”, I’ll choose “JackRouter”, then click “OK” to save the changes and close the window.
Next, I’ll add a new audio track, and make sure that the track is armed for recording (see above). Arming the track is a vital step, because JACK won’t see Reaper unless there’s an armed track. It’s also important to remember this when in the middle of a session, because the connections that you make in JACK between Reaper and Skype will be un-done if you un-arm the track in Reaper. (Again, I’m not sure how this equates to other software. JACK may be able to see other audio programs without going through the equivalent of arming a track to record. If so, count your blessings!)
With the interface settings tweaked and an armed track ready to record, I can go back to the JACK routing window and see that I now have entries for Reaper in the “Send Ports” and “Receive Ports” sections.
Start Routing
Now it’s time to start routing audio. Without digging through the JACK documentation, the routing window interface isn’t very intuitive. However, its operation is actually very simple:
- Entries and groups in the “Send Ports” column are output connections.
- Entries and groups in the “Receive Ports” column are input connections.
- To connect a source and a destination, click on one, then double-click on the other one (the order doesn’t matter)
- With an entry/group selected, the “Connections” column on the far right will show you what’s connected to that entry/group
With that basic outline in mind, we can make all the needed connections to get Skype and Reaper talking to one another!
First let’s connect the audio interface to both programs. On my Mac, because I’ve set my M-Audio interface as the default audio device, the audio interface inputs are under the “system” group as “capture_1” and “capture_2”. I could connect them to the desired programs individually, but the JACK router is smart enough to know how to connect multiple sources under one “Send Ports” group to multiple destinations under another “Receive Ports” group. All I have to do is click “system” in the “Send Ports” column, then double-click “Skype” in the “Receive Ports” column, and the two groups are intelligently connected. The same basic operation works to connect the audio interface to Reaper. I click “system” again under “Send Ports”, then double-click “Reaper” under “Receive Ports”. Now the audio interface’s inputs are feeding both programs, so a client with whom I’ve connected via Skype can hear the same audio that I’m sending to Reaper for recording.
But wait. Now that we have the audio interface feeding Skype’s input, doesn’t that mean that we’re stuck for playback from Reaper? Nope. Part of the beauty of JACK’s routing is that a “Receive” port can receive from multiple sources. JACK simply mixes all the audio that it receives on a given “Receive” port into a single signal.
With that in mind, I’m sure you’ve already figured out what to do next: click “Reaper” under “Send Ports,” then double-click “Skype” under “Receive Ports”. Now Skype is getting a mix of both the audio interface and the output from Reaper.
And if you’re thinking what I think you’re thinking, you’re absolutely correct: all it takes is a change in the Skype settings to send output to JackRouter, and one more connection in the JACK routing window — from Skype to Reaper — to allow Reaper to record both sides of a Skype conversation.
I’m still waiting to hear if I got that job, but at the very least, I’m better prepared for the next Skype session because I know JACK!
Justin – this is exactly what I’ve been looking for! I had read Corey’s excellent post and was going to try to add a mixer into my chain, but this would be much simpler. I’m going to try to get this to work with Adobe Audition 3.0 – I’ll let you know what happens!
Thanks for the comment, Adam! I’m eager to hear how it works for you. — Justin
Thank you for taking time to write this, Justin!
Eesh – it’s not looking good at the moment, I can’t even get past the install. The Windows version is much different. When starting up the PortAudio (audio server) I get an error “AvSetMmThreadCharacteristics error : 1552.” It’s not a very user-friendly program 🙂 I’ve heard of this before: http://software.muzychenko.net/eng/vac.htm, and might give it a try, but it also looks like it was written for the tech-savvy.
@Adam: Thanks for the follow-up! Sorry to hear that it’s so messy on the Windows side. If/when I get a moment, I might give it a try on my wife’s Windows machine, and will post an update with my findings. If you manage to get any similar solutions working, I’d be happy to spread the word.
@Lisa: You’re very welcome!
Thank You! I have no ISDN and have been trying to figure out what to do besides iPhone & Skype! Gonna try this!
My pleasure, Amie!
Justin,
I was so excited about this, but the Windows version (as stated above) looks COMPLETELY different and isn’t very user-friendly, at all. Oh well… thanks anyway!
Great idea! Thanks for sharing …
Thank you, Thank you, Thank you!! I saw this a while ago and saved it for when I would need it and today’s the day! Got a client that requested patch and playback through Skype and this post walked me through it (still have to test yet, but setup seemed to go smoothly). You rock!
Any idea of how to make Jack accept all my audio inputs and send them through Skype? I’m miking a drum kit and want the person on the other end to hear everything. It seems to only want to work with 2 channels at a time.
@Mark: My guess is that you would need to somehow pre-mix all of your drum mics down to one or two channels, and then feed those channels to Jack. Without knowing more of the specifics of your audio setup, I’m not sure how you’d accomplish that. Good luck!
Thank you so much for this, it’s perfect. I’ve been trying to find a way to share audio from collaboration projects over Skype. I tried Soundflower and it failed me over and over.
With Jack I can route my audio from Logic to Skype and the outputs of my Mbox, so I can hear what I’m doing at the same time. I can even route the input from my Mbox to Skype so that I can talk while playing music and never have to switch input sources.
I see a lot of possibilities in this little app. Your tutorial was simple and to the point. Good job and thank you again.
Hi:
I read your article and watched your video as I am new to audio production and am making the switch from Garageband to Reaper. I frequently record interviews and have successfully used Soundflowerbed and LineIn to record Skype interviews directly into Garageband.
I downloaded Reaper. I tried to connect Reaper through Soundflowerbed and LineIn to see if I could record interviews on Skype. No luck. I downloaded Jackaudio (after reading your article and watching your video https://www.youtube.com/watch?v=uNF2_Uz1SCI&list=UU9lKIJxTZnLru0bdKLUIkng ) and I am still unable to record conversations via Skype with Reaper. I noticed your annotation in your video that you had omitted some steps. Would you please share with me or please update your article/video as to what those specific omitted steps are. Newbies like me would love if you would share those in the simplest, clearest, step-by-step instructions. Thank you in advance.
Thanks for writing! I’m actually kind of surprised that you found this blog post, as I’ve only been testing the transfer of my posts from my former domain to this one, and haven’t made the blog available through any other links on the site yet. (I also can’t guarantee that this comment will stay intact once I’ve finished the transfer, but I’ll try.)
Anyway, the annotations that I made in the video pretty clearly spell out what needs to be done. First, to hear anything from either Skype or Reaper via your system’s audio output, you need to connect Skype and Reaper (on the left) to the system audio playback (on the right). The other part was mentioned in a sub-title at about 8:12, where I mentioned the need to disconnect the connection from Capture 2 to Reaper:in2 before connecting from Skype:out2 to Reaper:in2. That second change simply prevents Reaper’s Input 2 from getting signals from both Skype *and* the system input (the audio interface).
That’s about as clear as I can spell it out. Aside from that, I strongly recommend spending some time just experimenting with JACK. That’s what I did, and it taught me more about its operations than any set of instructions did.
Has anyone had success doing this with Audacity? I can’t seem to get JACK to recognize audacity. SO CLOSE! Yet so far. Any help would be appreciated.
Cheers
Thanks for writing, Tristan! After digging into the problem, I found a solution, but it’s not as clean as I’d hoped. I’ve detailed the process in a new blog post. I hope it helps!
Pingback: JACK and Audacity | Justin S Barrett
Did you ever go through the windows version for the same connectivity?
Sorry, Peter. I’m on a Mac, and don’t have an easy way to test the Windows version. If any Windows users have been successful with it, please let me know and I’ll gladly share!
The images lead to a 404 error.
Yeah, I’ve known that for a while, but it’s been a very low priority. I just found the original images, though, so I’ll get on it right now. Thanks for the reminder!
Fixed
grazie! really what i needed. Works perfect with logic pro and skype.