I'm watching a video file, and I'd like to record small snippets of audio from the video file.

Previously I have played the audio on my MacBook speakers and used the built-in microphone to record the sound.

Is there a way to route the Mac's audio output to the audio input (microphone) digitally, so I don't have to actually record the audio from the speakers, with the loss of quality this incurs?

Is there also a way to listen to the audio at the same time it's "recording"?

Ideally, the solution would be easy and light-weight and not involve heavy use of audio software, because I want to be able to do it "on the fly" as much as possible.

  • 2
    See my answer on apple.stackexchange.com/questions/203004/… If you wanted to attempt to use Soundflower, I copied a tutorial in the answer to this one - apple.stackexchange.com/questions/207482/…
    – Tetsujin
    Jan 3, 2016 at 10:05
  • Soundflower allows cross connecting inputs and outputs internally but if I remember right when I used it with screen recording software to record video it shunts all the audio so you can no longer hear the video as it plays.
    – ArchonOSX
    Jan 3, 2016 at 11:32
  • @ArchonOSX I've tested Soundflower now and it works good. I also managed to do screen capture with QuickTime player and still had audio output. It might be a good idea to set up a Multi-Output in the OS application Audio MIDI Setup.
    – P A N
    Jan 3, 2016 at 12:17
  • Ahh good deal. If I have occasion to use that again I will look for those options. Thanks for the tip.
    – ArchonOSX
    Jan 3, 2016 at 13:42
  • @Tetsujin I have added an answer based out of your solution. However, I'm having difficulties getting Soundflower to work consistently. Sometimes it just stops working, and I don't know why. See more below.
    – P A N
    Jan 6, 2016 at 12:35

5 Answers 5


Update 2017-03-31:

Rogue Amoeba, the previous maintainers of the open source Soundflower project, has a new (paid) application called Loopback which seems to be easier and more dependable to work with than Soundflower. It solves some issues with Soundflower, like reenabling volume up/down via the Mac media keys. Again, it is a paid product with a trial mode. https://rogueamoeba.com/loopback/

Soundflower can still be found here: https://github.com/mattingalls/Soundflower

Soundflower is a virtual audio device for OS X that can pass audio from applications to other applications. It does this by routing your audio output as an audio input to the system.

Step 1

After installation, a new device will be available in System Preferences > Sound. Go to the Input tab and select Soundflower (2ch) as the input device.

Audio Input Tab

Step 2

If you want to route the audio and hear it yourself at the same time, skip to Step 3.

If you're okay with not having to hear the output yourself, you can now go to the Output tab and select Soundflower (2ch). You are now routing your Output to Input, and will be able to record the audio playing to an application like QuickTime, Evernote or Just Play Record.

enter image description here

Step 3

If you want to hear the audio while it's playing on your normal Output device (e.g. your Built-in speakers or attached headphones), you need to open the native OS X application Audio Midi Setup. It's located in your Applications folder under /Applications/Utilities.

Press the + button in the bottom left corner, and press Create Multi-Output Device. Mark to use both your Built-in Output and Soundflower (2ch). Now you can hear audio as usual while routing the Output into your Input via Soundflower.

enter image description here

Now that you have created a Multi-Output Device, go back to System Preferences > Sound and select it on the Output tab as in Step 2.

Tip: You can also change the Input/Output settings by holding (alt/opt) and left-clicking the Volume icon in the OS X menu bar.

enter image description here


HOWEVER, while the above will work at times, I have noticed that the behaviour of Soundflower can be erratic from time to time. When originally composing this answer, I couldn't get it to work even though I hadn't modified the setup that was working the day before.

It has stopped working a few times before, and while I haven't exactly identified how to mitigate the issue, I have noticed that something of the following may have helped to get it working again:

  • Check if the volume has been reset for the Multi-Output Device or any of it's sub-devices in Audio Midi Setup. Be sure to check all tabs (Input/Output) on both the aggregated Output device and and its aggregated sub-devices. There's quite a few tabs here, and the volume sliders on one of them may have been reset to zero. This has happened to me a few times.

enter image description here

  • Volume resetting to zero wouldn't have to be a big problem, if the normal volume controls (media keys and menu bar volume icon) worked as usual. But sometimes, the volume icon in the menu bar is grayed out and the volume can only be manipulated in Audio Midi Setup. I don't know why this sometimes happens, because when I use some other Multi-Output Devices I have created that also includes my other computer connected via Thunderbolt in Target Display Mode, I can magically use the volume media keys as normal. More experimentation is needed here.
  • 2
    Soundflower is great. I've used it extensively, in the past. Plays nicely with DAW software. (i.e. Ableton, ProTools, etc).
    – voices
    Jan 6, 2016 at 15:27
  • 2
    I was able to get Shazam to recognize songs I listen to on the headphones. It was a little confusing to set up, but it was primarily all set up in Audio MIDI setup and to use SoundFlower for both input (microphone) and output (speaker with waves) for Shazam to work correctly. SoundFlower is working better for than Loopback. I was detecting phasing on my headphones with Loopback. SoundFlower is working well even on 10.10.5 of Mac OS X.
    – Sun
    Jun 30, 2016 at 21:26
  • It seems to me that what happens is that some programs (such as the enhanced transcription function) bypass the user's settings for the input and go directly to the internal microphone's input. Nov 12, 2018 at 12:20

I might've found an easier way to set it up with loopback. Set input and output to Loopback Audio (in System Preferences/Audio) and then as in the picture in loopback itself.

Hearing the audio and can Shazam tracks at the same time.


  • I've used SoundFlower for years, but as mentioned, it's increasingly being unusable on the latest OSX versions. while it cost me $100 USD, it's been worth every penny. Very happy with it.
    – vr_driver
    Jul 25, 2020 at 23:36

For Mac OS, alternatively, you can install BackgroundMusic which also allows you to control each Audio Application's output volume (which Windows 10 and Linux can do but MacOS cannot do on its own):

Background Music.app

After that, in PyAudio or SoundDevice, you can see additional devices: Audio Devices BackgroundMusic devices are dual input-output devices, i.e., they can be used as either input or output devices. Setting device index to the BackgroundMusic device will allow you to record from MacBook's speaker without microphone interference.



BlackHole is a modern macOS virtual audio driver that allows applications to pass audio to other applications with zero additional latency.

Following the steps outlined by Alexander G, Soundflower can be replaced by Blackhole. It is also free & open source


Perhaps JACK Audio Connection Kit could be of some use here. It offers an OSX release.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .