Audio Hijack Pro can create a separate audio stream for the output of any program. So you can take Skype's output and pop it into a file. You can also take any system sound input, like a built-in microphone on a PowerBook, audio in, or a USB mike, and record from that as well. (Audio Hijack Pro has a zillion other features, including scheduled recordings, removing dead air, and splitting files. If you're recording audio from programs, check out their full feature list.)
What initially stymied me, and I was unable to convey for quite a while correctly to the fine people at Rogue Amoeba tech support, was that I wanted to accomplish two separate goals:
- Mix the input from the USB headset's microphone with the output from the Skype application and record it to a file.
- Monitor the output from Skype in the USB headset's earphone.
Because the Macintosh treats each sound stream as a separate item, hijacking the audio from Skype only records what the other person is saying; your microphone input is not mixed into that output. Very nifty for separation and quality and full duplexing of sound; not so nifty for my purposes.
Soundflower was part of the solution, allowing me to pass sound through from both input and output to a single audio stream that I could record, but monitoring it was a problem: I heard myself in a slightly delayed echo in the headset earphone.
Rogue Amoeba finally gave me a solution: their pro software includes a number of audio effects, and one of them was the ticket to making this work.
Putting It Together
Download and install Soundflower, which requires a restart, and Audio Hijack Pro, Skype, and Audion, which do not. Buy a headset and plug it in. (The demonstration mode of Audio Hijack Pro allows 10 minutes of recording per file after which it inserts noise, so it's fine for testing.)
1. Before running Audio Hijack Pro or Skype, set up System Preferences > Sound. Set the Input to your USB headset and the output to your USB headset.
2. Launch Skype. Select File > Preferences, and click the Audio tab. Set the input to your USB headset. But set output to Soundflower (2-channel).
3. Launch Audio Hijack Pro. We're going to set up three separate hijacked streams, which is slightly complicated, but makes this all work as expected. Select Session > New to create a new audio stream and Session > Rename to rename it.
a. Create three streams named (to keep them at the top of the list and in order) "1 USB in to Soundflower 2ch," "2 Soundflower 2ch to file," and "3 Skype to monitor."
b. For "1 USB in to Soundflower 2ch," select Audio Device from the Source menu. Select your USB headset from the popup menu for Input Device. Select Soundflower (2ch) as Output Device. Click Hijack.
c. For "2 Soundflower 2ch to file," select Audio Device from the Source menu. Select Soundflower (2ch) as Input Device. Select Soundflower (16ch) as Output Device. This last step means that the output of this mix isn't played back at all; it's just a dummy method to record a file. Now click the Recording tab and set up the options. Typically, you want to record to uncompressed audio using AIFF (auto) in the Recording tab of this stream. An AIFF file takes 10 times or more space to store, but it's the best way to start. You can also record to an MP3 file with high quality, edit it in Audion, and compress it in iTunes, as described later. Click Hijack.
d. For "3 Skype to monitor," select Application from the Source menu, and choose Skype from the list of applications. A recent release of Audio Hijack Pro lets you set the target device for an application instead of just dumping it to a file. Because we've set Skype to dump its output into Soundflower (2 ch), we need to use this stream just to re-route the Skype output--your caller--into your headphones. In the Advanced dialog box, from the Target Device menu, select Soundflower (16 ch), which will just dump the sound. Click OK, and then click Effects tab in the lower right of the screen. Click in the upper left blank spot that reads Click Here to Insert Effect. Choose the Auxiliary Output submenu from the 4FX Effect menu. From the Editor that appears choose your headset as the Device; leave Source as default. Click Hijack.
To test this setup, make a Skype call to someone you know who won't be annoyed by you testing the service. You shouldn't hear yourself, but you should hear the sound of the Skype phone ring and the other person. They should hear you, too. (Note that you will need to keep the "3 Skype to monitor" set to Hijack as long as Skype is set to Soundflower (2ch) for output; otherwise, you won't be able to hear the other party.)
Click Record in the "2 Soundflower 2ch to file" stream to record while you speak to someone. Just record a few seconds of both of you talking to each other and click Record again to stop the recording.
To listen to the playback, click the Recording Bin item in the left pane of Audio Hijack Pro. You can select the file you just recorded and click Preview to have it played from within the program, or select the file and click iTunes to transfer it to play in iTunes.
If you cannot hear the other person or the recording lacks both parties, try quitting Audio Hijack Pro and Skype and launching them again. Occasionally, the audio settings lag behind the choice in a program, but relaunching seems to clear the state and enable your choice.