Mac Recording and Streaming/Mac Audio Capture

From SDA Knowledge Base

Jump to: navigation, search

Main Websites

rogueamoeba.com/audiohijackpro/

github.com/RogueAmoeba/Soundflower

rogueamoeba.com/freebies/ (LineIn)

github.com/pje/WavTap


Capture Flow

Firstly, if you only want to record audio then you can do so with just Audio Hijack Pro, WavTap (supposedly conflicts with other audio software/devices), or your capture device's software. If you want to stream audio, the first order of business is to download Soundflower, which is an audio routing utility. The basic idea is to take audio from one source and send it somewhere else.

Once Soundflower is installed you need to decide which software you want to combine it with. For a free option there's LineIn (with limitations), and for $32 there's Audio Hijack Pro which is the easiest and most robust option. The flow is as follows:


  • Game/mic audio are captured by Audio Hijack Pro or LineIn.
  • It gets sent to Soundflower.
  • Soundflower is the chosen audio device in your stream software.


In this manner you can have any number of audio sources routed through Soundflower and into your stream. This also lets you capture specific audio sources without capturing all desktop audio.


LineIn

To route your audio simply select your source device from the top right dropdown menu, select Soundflower (2ch) from the menu below it, then click Play Thru. If your audio is being captured correctly, you should see the volume displayed visually in the meters. To control the volume of Soundflower, hold the Option key and click the speaker icon on the menu bar, then select Soundflower. Lower or raise the volume. Because this device is not your normal speakers you will not hear the change in audio, but Soundflower is indeed being affected. Change back to your default output speakers and changing the volume will not affect Soundflower's volume.


You might notice that this method only works with one audio source. What if you want a second one, such as a mic to go along with game audio? You can run a second instance of LineIn by using Terminal. Just change to the directory where LineIn is located and then open it through Terminal. For example:


  • cd /Applications
  • ./LineIn.app/Contents/MacOS/LineIn (note the period at the start of this command, this is important.)


Unfortunately this method does not let you control the volume for them separately. Changing Soundflower's volume will affect them both, so it may be hard to find an acceptable balance between multiple sources.


Audio Hijack Pro

It costs $32, but the level of control and power you have with it is unmatched. The free version is also fully functional, with the only caveat being that it distorts audio after 10 minutes. This can be reset simply by stopping the hijack and restarting it. Not exactly convenient for long stream sessions, but perfect for short recordings.


To capture an audio source go to Session -> New (⌘N) or click the + symbol on the bottom left. On the Input tab select your source type (Application, Audio Device, etc.), then choose your input from the dropdown on the right. If you've used LineIn these options should look familiar. You can route your audio to Soundflower easily by just choosing it as your output device. However, routing it in this manner will prevent you from hearing that audio and having volume control over it, so we'll be using another method.


Auxiliary Device Output

Leave the output device as Default System Output and click the Effects tab. Click a square and go to 4FX Effect -> Auxiliary Device Output. Click Editor and set the device to Soundflower (2ch). When you hijack your audio source, you will not only be able to hear it while routing to Soundflower, you can control the volume you hear and Soundflower's volume independently of each other.


  • To control the volume for yourself only, use the Gain slider on the left side or your volume keys. You can also click Mute on the top left of the window and it will only mute that audio source for you, without muting it for Soundflower.
  • To control the volume for Soundflower, use the In/Out knobs on the Auxiliary Device Output effect. This will also affect the playback volume for you.


To actually capture the audio, make sure your application is running or device is connected. You then "hijack" it by selecting it and pressing ⌘G or clicking Hijack on the top left of the window. Pressing ⌘R will start the hijack and record to a file (use the Recording tab to configure settings), and pressing it again will end the recording without stopping the hijack.


VoIP Capture

Want a Skype or Mumble call in your stream too? Auxiliary Device Output works for this as well, but there is an extra step. By default, VoIP applications like Skype have incoming and outgoing audio streams. This is for your mic audio (outgoing) and other people's audio (incoming). Audio Hijack Pro will capture both of these by default. If you route your mic audio separately your voice will have an echo for streaming the VoIP software too. If you route only the VoIP software then your stream viewers will be unable to hear you if the call drops or is ended. Ideally you want to always route your mic audio independently, so how to avoid the echo from VoIP routing?


  • Click the Input tab and then Advanced on the right side.
  • Uncheck "Include audio inputs."


Now when you route audio from VoIP software, only incoming audio streams (the people you're talking to) will be captured.


Noise Gate

If you'd like to go the extra mile and filter out lots of background noise, you can use Audio Hijack Pro to set up a noise gate.


  • Click the Effects tab.
  • Click a square, then choose AudioUnit Effect -> Apple -> AUDynamicsProcessor.
  • Click Editor and set a dB threshold. This is the minimal decibel level needed for your mic audio to be captured.


The threshold will be different based on your mic volume and audio filter needs. Ideally you want your mic audio to be captured even when you speak softly, but the threshold should still filter out most background noises. This even filters out most background noises while you're speaking as well, so it works better than something like Mumble's "Voice Activity" feature.

Personal tools