Setup

The diagram below shows the (software) elements of the setup.

Figure 1. Diagram of an advanced software studio setup. (Click for PDF, 413 KB)

Audio Hijack Pro is extensively used in this setup to route audio, add effects and to record the final result. This setup assumes that all audio is mixed to one (stereo or mono) audio track that is recorded in Audio Hijack Pro.

NOTE: Some of the advanced settings of Audio Hijack Pro described in this setup are only valid for Audio Hijack Pro version 2.5 or higher, which is currently still in Beta. Some details might have changed in the released version.

Figure 2 shows the flow diagram of the setup with audio chat and extra effects chains.

Figure 2. Flow diagram of an advanced setup. (Click for PDF, 28 KB)

Delays (latency) are added to the audio signal in each step of the process. In Figure 2, delay 1 - 4 indicates that there are 4 delays from microphone to headphone. Tips on how you can minimize the total latency are described in the paragraph “Reducing latency in the setup” below.

Hijack sessions

Three hijack sessions are required to make this setup work. See for example the sessions in Figure 4. (AA 0# in front of the session title is for sorting them together. Handy if you have more sessions defined.)

Figure 4. Hijack sessions for Skype recording.

Hijack Session AA 01 Mic -> SF2 captures the microphone input and routes it to the Soundflower (2ch) module. Any effect that you want to apply to the microphone signal can be added to the session’s effects section.

• Set the input of the AA 01 Mic -> SF2 session to the audio device that your microphone is connected to.

• Set the output of the AA 01 Mic -> SF2 session to Soundflower (2ch).

Session AA 02 SF2 -> SF16 routes the mix of audio from Soundflower (2ch) to the Soundflower (16ch) module. See the (transport) box in Figure 2.

• Set the input of the AA 02 SF2 -> SF16 session to Soundflower (2ch).

• Set the output of the AA 02 SF2 -> SF16 session to Soundflower (16ch).

If you want to capture all audio played on the system for your recording, set the audio output in the System preferences to Soundflower (2ch).

Note that you can add more hijack sessions to the mix if you set their output to Soundflower (2ch). This can be used to add effects to audio coming from a specific application. In a podcast you could use an effect to increase the gain on a clip you’re playing or add a level meter to (visually) monitor it’s levels.

An alternative for an individual hijack session is the Application Mixer effect. You can add this effect to the AA 02 SF2 -> SF16 session and Hijack an individual application’s output with it. This effect has the advantage of offering a cross-fader that enables you to easily fade the sound that is being recorded between the rest of the mix and the application’s audio. (Refer to the Audio Hijack Pro Manual on how to use this effect.)

AA 03 SF16 - Mon. - REC is the session that captures the audio from Soundflower (16ch) and sends it to your headphones for monitoring. Recording this session records the Podcast into one file. You could leave this session out if you used another program to record the final mix. (Alternatively, use an external recorder to record the headphone signal sent to the headphones output using the Soundflowerbed utility or Line-In.

• Set the input of the AA 03 SF16 - Mon. - REC session to Soundflower (16ch).

• Set the output of the AA 03 SF16 - Mon. - REC session to the audio device that your headphones are connected to.

When you are ready to start recording the podcast, click the Record button of the AA 03 SF16 - Mon. - REC session.

Tip: Use Apple Lossless encoding for recording. This encoding type offers the best compromise between CPU usage and harddisk activity. Afterwards you can convert the recording to MP3 with your desired settings.

Local chat application

The goal is to record an audio chat whereby you record everything that happens on your side of the chat plus the voice of the person on the other side of the chat. Basically this is the same thing that you hear in your headphones. Also, the person on the other side has to hear the same thing except their own voice!

Figure 6. Skype’s Audio settings.

In Skype’s preferences, set the Audio output to Soundflower (16ch). As you can see in Figure 2 this mixes the audio from the other Skype call participant(s) with the final mix of sounds on your side of the call.

Set Audio input to Soundflower (2ch). It is only this mix of local audio that goes into the Skype application to be heard by your guest(s).

Leaving Gain control off produces the best result on the other end of the chat. Echo cancellation is usually not necessary but eats up a lot of CPU power, so it’s best left off as well.

Remote Guest

If everything is configured correctly for the local chat application, any guest participating in the podcast will hear everything you say and play (everything that is being recorded) except for their own voice!

You can control the level of the audio coming from Skype for you recording by Hijacking the Skype audio instead of sending it’s audio straight to Soundflower (16ch) through the Skype preferences. Make sure to set the Skype Hijack session target device to Soundflower (16ch) in the Advanced… settings under Audio Source. Adjust the Master Gain in the Skype hijack session -> Effects panel.

An alternative for an individual Skype hijack session is the Application Mixer effect. You can add this effect to the AA 02 SF2 -> SF16 session and Hijack Skype output with it.

Reducing latency in the setup

Your microphone signal goes through several processes using this setup. Each time the signal is processed or passed through in digital form, a delay is introduced. Delays introduced in this setup are indicated in Figure 2.

Audio Hijack Pro version 2.5 or higher offers the possibility to tweak the latency between audio devices in hijack sessions. For each hijack session you can adjust the buffering as it is called under the Advanced… settings in the Input pane.

Audio Hijack Pro does a decent job of keeping the buffer size optimal with the default setting. You may try to tweak the individual settings to find the smallest possible buffer sizes. Smaller buffer sizes mean less delay (latency). Sometimes a buffer size that is too small for the computer to keep up with causes a distorted sound. Therefore, tweak and test the buffer settings one-by one. If you set all buffers to the bare minimum before you start testing you have no way of knowing which buffer(s) cause the problem.

Keeping the number of effects low can also be beneficial to the total latency. It is also better for total performance since each effect requires processor power.

2005-05-16 Update: For a zero latency solution, see: Zero Latency Studio Setup.


Comments

Author: Hugo
Date: 2007-06-02 21:54:16

@Mark: yes indeed. However since this is an old post and Audio Hijack Pro has had some features added since, it is probably easier to accomplish now. AHP has a ‘split recording’ function and a system audio capture function that might be of use. See the documentation for Audio Hijack Pro.

Author: Mark H. Delfs
Date: 2007-06-02 21:02:53

Does this mean that system sounds I play on MY side will go through Skype to the user on the OTHER side? I mean if I play an iTunes song, will THEY hear it via Skype? I can’t seem to get that to work otherwise (but I think your way accomplishes it?)

Author: Sylvia Galen
Date: 2005-06-09 06:27:19

I really appreciate the work you’ve done to make simple Skypecasting a possibility. I’m not very technical, but driven to make Skypecasting work for me. My latest problem is that my voice is very soft but the person on Skype is very loud. Can you point me to the settings to get the volume for the two streams a little closer? Thank you for sharing your hard work so freely and with so much detail.

Author: Hugo
Date: 2005-07-04 18:39:33

Hi Joseph, did you see my post linking to the about.com articles? http://log.hugoschotman.com/hugo/2005/07/aboutcom_articl.htmlPlease let me know if that article series is not clear because I haven’t really analyzed it. If something is missing or not clear maybe I can create some posts on the subject.

Author: Hugo
Date: 2005-04-21 22:58:33

Yep, that will be covered soon…

Author: Jeff
Date: 2005-05-02 17:09:26

can someone PLEASE post or email to me the solution for zero/low latency here? thanks!

Author: Hugo
Date: 2005-04-17 23:59:31

Thanks ;) Simpler setups with low and zero latency are also coming. I have it in Word, but it just needs to be made web-ready. (And I have some very busy days ahead of me.)

Author: tag
Date: 2007-10-13 18:41:48

thank you,that was helpful

Author: Mike M
Date: 2005-05-09 20:08:51

Hugo, Thanks for all your work. Have you had time to put together the zero/low latency circuit together for our viewing pleasure?

I’d love to see what your thoughts are on this. Any help would be great!

Author: Joseph A. Booth II
Date: 2005-07-04 17:49:00

Hello Hugo,I’m a .mac member and am interested in setting up a Podcast. However I don’t need assistance with the recording part of the process, I seem to be quite confused on setting up an RSS feed that a listener can subscribe to.

I’ve read a number of tutorials on the web and they seem more oriented towards signal flow and what programs to use to process audio, but finding the elusive: THIS IS HOW YOU SETUP YOUR RSS FEED information is discouraging.

Maybe it’s here somewhere on your site and I am not seeing it. If you or anyone else who comes across this post has information on how to setup the RSS feed FOR DUMMIES…that would be most appreciated.

Thank you for the wonderful site!

Sincere Regards,Joseph

Author: ALBERTO
Date: 2006-07-11 04:34:14

I started doing an hour-long podcast using ONLY Skype and Audio Hijack Pro on my Mac. At first I was able to record both my voice and the person I was interviewing via Skype in stereo. Then, all of a sudden, it stopped recording my voice (through the mic) in stereo–only the interview via Skype comes through in stereo.

My set up consist of a Yamaha mixing console MG10/2 where I plug my MXL V6EM mic, output it all to a 3630 COMPRESSOR (Dual channel limiter gate and output it again to a BERINGER F-CONTROL AUDIO external sound card.) I had no latency, no feedback problems and I did not have to go thru sunflower.

Again, my first 3 shows went perfectly until for some unknown reason my mic only records in mono. I have checked the steps I used with Audio Hijack Pro a million times and I can’t find the way to fix it. Could it be a setting gone wrong on my Mac sound preferences? I have both the input and output set for my sound card.

Is there an alternative to this setup that I can record high quality stereo sound?

Author: Tim
Date: 2007-02-24 22:11:09

I love this idea…if only it would work on my setup.

I bring audio into the machine through a M-Audio FastTrack, and everything works great - until I try to bring the system audio into the equation through Audio Hijack and Soundflower. I’m able to Hijack everything fine, but Skype refuses to make any calls; I get a “Playback Error” message in the dialing window, and it cuts out.

Oddly enough, when Skype starts dialing, I’m able to hear the little dial sound; it just errors out right afterward.

Any thoughs here? My setup is functioning exactly as intended…except for Skype. As soon as I change the inputs and outputs to 16ch and 2ch respectively, I get the error.

Author: s
Date: 2005-04-17 23:53:52

Hi Hugo,Good to see you’re still pushing the edge of the envelope. I’m intrigued by your latest setup – and actually I just sketched out an alternative circuit, inspired by what you have on here. I’m still a big fan of settling for post-recording track alignment as the price worth paying to NOT hear myself in the headphones with latency. I just can’t get used to that and I start talking like a retard. I have to hurry up and finish a paper for class, but sometime over the next few days I’ll sketch the diagram and post the pic on my site for you and others to ponder; it would result in two tracks that require post-recording alignment in something like Audacity. (I also like keeping the voice track separate till the last minute so I can delete any sneezes or funny lip-smacking noises, etc.)

Anyway, I really wanted to stop by to let you (and your readers) know that if you have any irreconcilable problems with Soundflower, SFBed, or various sound settings that just won’t go away, try re-installing the latest OS X version through Software Update. To refresh your memory, I had gotten to a point that SFBed would NOT let me monitor any SF2 or SF16 at all; I had tried uninstalling and reinstalling both SF and SFBed with little success. And I tried checking all the MIDI frequency settings and such like you suggested, but that didn’t help. (Although that DID help me iron out the frequent hang-ups caused when one application would change the settings and forget to change them back – maybe Audacity, SF, my Griffin iMic, who knows.) I had to use AudioHijack entirely b/c I couldn’t monitor SF otherwise, and what’s more, some of my system sounds – like the Trash noise, Send Mail or New Mail noises – got all screwed up, and they sounded like they were Mono and at a much lower sample rate. Couldn’t fix it for the life of me. And finally, SoundSource had a real problem obeying my orders to send sounds to my USB headphones, or sometimes iTunes would obey the new routing but Safari would still be dumping into SF16.

AppleCare couldn’t come up with any more brilliant solution than “Archive and Install” my whole system. I wanted to avoid that if possible. And what do you know, today I installed 10.3.9 on Software Update, and sure, it broke my Safari (an easy-to-fix Java bug), but it fixed Soundflowerbed and all my other audio settings!

So for anyone who finds this by googling “Soundflower broken” or “Soundflowerbed not monitoring,” don’t despair, just re-run your system update to the latest version! Go to Apple and download the latest.

Best of luck Hugo and everyone!

Author: Markus
Date: 2005-04-20 13:25:28

Hey

You did a great job with this tutorial. But is there any possibility to get rid of the fact that you can hear your own voice in your headset? It is very bad to record long calls when you hear your voice in your ears.

greets markus