11 ms·
BlackHole: macOS Audio Loopback Driver
- RCitronsBroker 2y agoyou’re awesome!! I’ll test if i can ditch loopback by rogue amoeba for your piece of software :)
- ckcheng 2y agoNot mine! Just sharing what I found. I was looking for an alternative to rogue amoeba’s loopback too
- naikrovek 2y agoWhy would you want to ditch Loopback?
- deeblering4 2y agoBecause of price gouging. $100 for basic audio routing is absurd, and they'll hit you up again eventually for upgrades.
- naikrovek 2y agoThat’s fair. It isn’t cheap, but they’re the only ones I know of who can route things around and mix them together without a DAW or some other utility running. MacOS doesn’t even have per application volume control, which is a crazy thing to say for the OS aimed at audio professionals (at least as far as I know.)
- crazygringo 2y agoThe lack of per-application volume is annoying I agree, as a consumer. But I don't think that's a feature requested by audio professionals. They're working within applications, not playing audio from multiple apps at the same time. And it would be extremely annoying to discover that your DAW output volume had accidentally somehow been set to 90% and you hadn't realized it. I mean, mixing is done with visual decibel meters, but a lot still depends on little details that are above or below the threshold of hearing, which an application-level volume control would mess with.
- naikrovek 2y agoI’m pretty sure MacOS could easily have a built-in master audio mixer and a setting on that mixer labeled “bypass”, which gives the current MacOS behavior of “no master audio mixer.” I can’t believe that only a few people have ever asked for a way to mute an app entirely. I grow weary of excuses around the lack of a built-in feature for this. “Apple doesn’t want to do it” is the only reason.
- barbariangrunge 2y agoIf you use it and need it, you’ll get a lot more than $100 worth of value from it. It’s not price gouging, it’s just a small company making enough money to stay in business. They arent sustaining themselves off advertising and your data like big tech
- cpuguy83 2y agoThe whole thing is, it's not basic. Loopback does things that Blackhole cannot, granted it requires a kernel extension. But if Blackhole does what you need, that's awesome!
- infotainment 2y agoI'm glad to see this! So many posts online still cheerfully suggest using SoundFlower for this purpose, which doesn't work with M1 Macs.
- wdb 2y agoIs this a free alternative for Audio Hijack / Loopback?
- tomduncalf 2y agoYes, depending on what you need it for. It does require a bit more setup though.
- ravenstine 2y agoFor Loopback, partially. Not so much for Audio Hijack. I still use Loopback because I like the interface it gives you. If I remember correctly, BlackHole doesn't provide a GUI.
- deeblering4 2y agoWhy not? You can create multi-output audio devices in macos, say blackhole and your speakers and use that multi-output device as the input in the recorder.
- cpuguy83 2y agoI don't recall exactly my issues, but definitely found some things that didn't work this way. It's also a pain to set things up this way (compared to loopback or hijack).
- ravenstine 2y agoNot throwing shade on Blackhole. You can accomplish a lot with it. And yes, technically, it can do most if not all of what Loopback does. I just like the experience of using Loopback more than having to use the built-in MIDI setup in macOS, which I always find a bit confusing. Oh, actually, now I remember why I bought Loopback in the first place. I couldn't figure out how to map a single stereo input channel to both left and right channels with Blackhole, but Loopback makes that very easy. Maybe it's possible to do with Blackhole, but I'll happily pay to not feel like a confused old man when all I want to do is record audio the way I expect. In the case of Audio Hijack, one might as well save the money and go with Blackhole instead of Loopback. And in any case, as much as I normally embrace FOSS, Rogue Amoeba makes high quality software that's worth paying for, so I'm not champing at the bit to replace them.
- vmfunction 2y agoHmm on first look, it looks like Audio MIDI Setup App [1]. Then again it looks like patch bay. Then isn't there already: QjackCtl, and that works with mac/win/linux? links: 1: https://www.macobserver.com/tmo/article/audio-midi-setup-your-macs-secret-sound-manager https://www.macobserver.com/tmo/article/audio-midi-setup-you...
- p0w3n3d 2y agoOfftopic: I love Audio MIDI Setup for the Multi-Output Device and the possibility of connecting two Bluetooth headphones to one laptop. Is there a similar thing for Windows or Linux?
- andrelaszlo 2y agoYeah, in Linux with Pulse https://unix.stackexchange.com/a/443064 https://unix.stackexchange.com/a/443064 There might be other ways to do it depending on your distribution, for example https://askubuntu.com/q/78174 https://askubuntu.com/q/78174
- jchw 2y agoMany Linux distributions have moved to Pipewire as the default audio daemon in recent years. With Pipewire, you can use Qjackctl or Qpwgraph to edit how devices route to eachother using a visual graph. Pipewire has the distinct advantage that it works with tools for both the PulseAudio daemon and the JACK daemon simultaneously, so you can typically combine things you might do with either. Unfortunately, I don't think there's a good UI that exposes both a graph view and a way to create virtual devices for more advanced routing, however there is very rich support for advanced routing: https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Virtual-devices https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Vir... So there's probably no direct analogue, as at best you'll probably need to run some commands to get a device to combine streams for you, and then you can hook it in using Qpwgraph. Pipewire also handles video devices and graphs too. If you ever want to try this with a proper audio interface, you'll also want to switch the audio interface into Pro Audio mode most likely. It's a profile that can be selected (typically in whatever handles your volume settings, e.g. pavucontrol)
- swah 2y agoDo you look at the code / line count when you open a project like this? I have this "hard time" imagining what the X thousands lines of code do. Even more when the piece of software claims to be simple. I would have to devote months to really understand it, I guess, and "cure" this "superficialitis" (tendency to think everything is 50 lines of code) I guess compilers are the only "kind" of project I can imagine a few complex parts.
- ehutch79 2y agoI just looked at the code. It's mostly just handling events and conditions a driver would need to handle just to be a functional driver. I don't think you could write any driver in 50 lines of code?
- cqqxo4zV46cp 2y agoThis has “I could build Slack in a weekend” energy.
- swah 2y agoYes, this is what I mean, how to get better at this etc.
- exe34 2y agoThe best way to cure this is to write something in 50 lines to show the world how it's done, and wager a large donation to e.g. the trump election campaign if you leave a public ticket unfixed for more than a week. As soon as you try to interface with other people's workflows and needs, the 50 lines turn into thousands very quickly.
- naikrovek 2y ago“The devil is in the details”, as they say.
- Aurornis 2y ago> I would have to devote months to really understand it, I guess, and "cure" this "superficialitis" (tendency to think everything is 50 lines of code) You wouldn’t have to spend months understanding it, but you also wouldn’t be able to glance at the code for 5 minutes and understand everything that needs to happen. Anything that handles driver or system level operations and deals with audio will get complex quickly. What happens when the input device gets unplugged? The output device disconnects? User changes from speakers to AirPods? How do you handle situations where the input and output sample rate are different? What about when something backs up and a buffer overflows? Or underflows? What mechanism do you use for handling user setting changes? The list of situations you have to handle goes on and on. The core concept is simple, but there are so many things to do that the code base will naturally become bigger than the 50 lines of code you’re imagining.
- kristiandupont 2y agoI've been using this for years to route audio between DAW's. Once it's set up, it runs flawlessly.
- deeblering4 2y agoHow is the latency for you? I know blackhole is advertised as 0ms itself, but I always found that crossing virtual devices incurred the input/output latency of the daw itself.
- kristiandupont 2y agoYeah, I always adjust for that. I don't remember how much exactly but definitely noticeable.
- jcelerier 2y agonot if you use JACK (available on macOS) or PipeWire (not)
- matthew-wegner 2y agoI haven't experimented with lowering these numbers in maybe two years, but I use BlackHole to route 8 channels from Traktor to Ableton Live (all four decks in stereo as external outputs). I have one big aggregate device with my internal speakers for clock, the BlackHole bridge, and an original RME Babyface for the physical output. Looks like I have Traktor set to 192 samples @ 44khz. It's showing "4.4 ms processing + 17.6ms output = 22.0 ms" in its UI. Ableton is set to 128 samples, and showing "Input Latency 4.72 ms, Output Latency 6.05 ms, Overall Latency 10.8 ms". So maybe 33.8 ms in the whole pipeline? Although I throw audio signal across the room via the Babyface's optical out to a cheap optical -> RCA box, so that's probably adding a little more to my physical environment. I've had this same Traktor/Live setup going for a long, long time. At one point I even used a physical loopback with the Babyface's optical out/in carrying 8 channels between Traktor and Ableton. That was sadly better than any software available before BlackHole. It was solid, although a bit higher latency, and it's nice to be able to use the optical out for its intended purpose! I used to get very occasional crackle this BlackHole setup, until I tried a random tip of using the built-in speakers as the clock source on an aggregate device. It's been rock solid since. I could probably lower sample buffers even further these days (M3 Max)...
- vouaobrasil 2y agoThat is very nice. I've been looking for something like this. It's useful in the case where you want to do a tutorial with an application that produces sound, but you want to talk at the same time. The best solution before would be to plug a 3.5mm cable into an audio interface that accepts this sort of input, and then record at the same time. The problem is that then you cannot do small cuts in real-time as easily as if you are recording directly into a DAW with audacity, and plus it gives you the possibility of using real-time effects with your DAW. Good for streaming also, without needing to use OBS, which is hit and miss when it comes to some things.
- cpuguy83 2y agoRogue Amoeba provides some really great software if BlackHole isn't enough for you. Loopback and Audio Hijack in particular.
- naikrovek 2y agoI feel like Loopback would be enough for anyone. You can do everything I’ve ever needed to do, and I had some hare-brained ideas during the pandemic.
- deleted 2y ago[deleted]
- dmix 2y agoAudio Hijack is good if you want to add some VST plugin processing. A good usecase is having a nice mic for your Zoom calls or Youtube videos and doing basic noise filtering, compression and limiting on it w/o having to run a full DAW in the background. Otherwise Loopback does everything else like piping specific sound sources from one app to another, without the rest of system audio.
- quitit 2y agoSome Audio Hijack features seem unusually well suited to stealing music from Spotify. For example one can have a free spotify account, then Audio Hijack is a few clicks from saving the music with automatic file splitting between tracks.
- _f9cu 2y agoIdea: feed the meeting audio using this to a black mass. A singularity program that converts words into action.
- _f9cu 2y agoIdea: feed this to a recurrent neural network
- lucascacho 2y agoI've personally been using a nifty piece of software called VB-Cable, which basically does the same thing. Creates a software audio output as well as an audio input, which you can then use across different applications. I personally use it to route my studio mic input through OBS, where I apply some filtering, to then be able to use it with different VoIP software. https://vb-audio.com/Cable/ https://vb-audio.com/Cable/
- unshavedyak 2y agoI always want this but for Midi, and cross platform. Working on multiple platforms with audio equipment is so annoying to a casual user hah.
- atmanactive 2y agohttps://www.bome.com/products/bomenet https://www.bome.com/products/bomenet
- jonhohle 2y agoDo you need additional software for this? Can’t you use OBS as a webcam[0] and take its audio source? (I haven’t tried, but that’s how I’d approach it if I was going to). 0 - https://obsproject.com/kb/virtual-camera-guide https://obsproject.com/kb/virtual-camera-guide
- jerbear4328 2y agoUnfortunately, no, OBS handles video only, no audio comes through the camera. It's really frustrating, I have wanted to do some more complicated audio setups on a Windows PC (specifically bridging two calls on different platforms together, I know the latency would be bad), but you have to use the VB CABLE proprietary driver, of which you can only have one for free, or try playing with Voicemeeter (same company with old, proprietary software). I have tried Synchronous Audio Router, but I couldn't get it to work after hours of pressing buttons. On Mac, I can just buy Rogue Amoeba software, and on Linux, I can just run some commands or download a GUI to route audio around however I want.
- grishka 2y agoThis is what I've been using since upgrading to M1 because SoundFlower I used on my previous Mac is a kernel extension and installing those on Apple Silicon is a mess.
- eigenvalue 2y agoSoundFlower is a total nightmare to install and remove, causes huge problems and then requires hours of work to remove completely.
- grishka 2y agoAs is pretty much anything that comes in a .pkg, to be honest. It's kinda bonkers that you need third-party apps to (attempt to) cleanly uninstall things.
- Wowfunhappy 2y agoHow so? Isn't it just a kext? What prevents you from just deleting the kext and launcher?
- AndrewStephens 2y agoDoes anything similar exist for video? There have been meetings I've wished I could route a loop of my face looking alert and interested to Zoom instead of a live camera feed Mission-Impossible-style.
- jonhohle 2y agoThe issue is there is no standard for video out from a single application (except that apps window buffer). That said, OBS has a “camera” mode where it will present itself as a camera. Anything you can do in OBS (including playing a video) can be sent to anything that takes camera input.
- corytheboyd 2y ago+1 for OBS virtual camera, works like a charm. Haven’t tried the fake meeting presence idea yet though :p
- evilduck 2y agoWhat's your plan for getting called on by others to speak?
- dylan604 2y agoJust start speaking. The surrealism would be amazing. Just tell them there's clearly something wrong with Zoom. Everyone will buy it. Also, it's just yet another reason that I'm so happy my Zoom meetings do not require a camera feed. There's just something Orwellian to me about having to have a camera on me. Having a camera on me is my absolute nightmare regardless of the purpose of the camera.
- somat 2y agoIt's probably just me, but the video in these video calls is mostly a waste of bandwidth, I am never paying attention to the bobbing heads in the screen. My point being, I, for one, would not notice very quickly if the person speaking was just a loop of someone looking interested, I sort of want to do this myself, OBS is probably the key, when called to speak you could switch scenes to the live feed. I did some research into using ffmpeg as a sort of live network based video router and compositor, My conclusion was that it would work. however my heart was set on actual transparent rgba video and support for that was finicky.
- ndiddy 2y agoI think it's unacceptable that a third-party driver is necessary to record system audio on Mac. Both Windows and Linux have been able to natively record system audio for at least 20 years now. I consider it a basic required feature for something like screencasting.
- meindnoch 2y ago>I think it's unacceptable that a third-party driver is necessary to record system audio on Mac. Good news: it's not. At least not from macOS Ventura onwards.
- duped 2y ago> I consider it a basic required feature for something like screencasting. That's why MacOS provides this in ScreenCaptureKit
- jahnu 2y agoCan that record the system audio too? I mean not just the microphone like in Quicktime.
- duped 2y agoYes, microphone access is through CoreAudio. ScreenCaptureKit is for capturing system video and audio. I haven't used it personally but that's my understanding of why it exists. Otherwise there's no point to sending audio through it.
- plorkyeran 2y agoIt was vastly overdue, but macOS shipped a native solution for screen recording with audio in macOS 12 and you no longer need BlackHole for that. BH is still useful for more advanced uses, but they're mostly the sort of thing where it's not jarringly weird that they require some third-party software.
- salzig 2y ago
- 12bits 2y agoSomething like this should be default in MacOS. I use blackhole daily in my audio production and sound design practices. If you use a modern audio interface you might have a loopback available there.
- WhyNotHugo 2y agoAs a Linux user I'm lacking some context here. Does the default in macOS have too high latency? Or how is BlackHole different from it?
- superb_dev 2y agomacOS doesn’t have a loopback device by default
- directmusic 2y agomacOS 14.2 implemented something like this in Core Audio, but it is not user facing (and also documented extremely poorly). You can create a "Tap" that can capture audio from a particular application, or subset of applications, or an output device. This can then be added to a private or public Aggregate Device (depending on the Tap being private or public). https://developer.apple.com/documentation/coreaudio/4160724-audiohardwarecreateprocesstap?language=objc https://developer.apple.com/documentation/coreaudio/4160724-...
- 12bits 2y agoSweet! Thanks for sharing, I will keep my eyes on this.
- spencersolberg 2y agoI think the Windows equivalent of this software is Synchronous Audio Router: https://github.com/eiz/SynchronousAudioRouter https://github.com/eiz/SynchronousAudioRouter I also find it interesting that all of the examples are for routing DAWs to video call apps. Don’t these apps have screen sharing and wouldn’t that be higher quality than using the microphone input?
- TylerE 2y agoUsually the idea is to record DAW audio seperately, so when you go back and actually edit the video you're not limited to whatever horrible 64Kbps compression algo the video call uses. Plus you'll often want to be using some sort of mixer to mix in a vocal/talk mic also.
- roody15 2y agoThis is an awesome program highly recommend. Used to be called Soundflower back in the day but BlackHole works better and works with new M series Mac’s. Awesome!
- jahnu 2y agoAnd you can pair this with Element [1] to do nice routings. For example, in my live sets I send 8 separate audio channels from Ableton Live via a miniDSP optical interface [2] to my music partner's audio interface who does fx and live mixing. When I'm working on the sets without him I don't have the midiDSP audio device plugged in and Ableton get's annoying. So I set up a routing in Element from BlackHole 8 track to mix down to stereo and my usual stereo output without having to remap my channels in Ableton. Just switch output devices. [1] https://kushview.net/element/ https://kushview.net/element/ [2] https://www.minidsp.com/products/usb-audio-interface https://www.minidsp.com/products/usb-audio-interface
- dmix 2y agois Element like Apples MainStage? https://www.apple.com/mainstage/ https://www.apple.com/mainstage/
- m_a_g 2y agoRecently, I had to record a video call (both audio and my screen) while wearing headphones. Using OBS and BlackHole together was the only option I could find at the time.
- djtriptych 2y agoEssential part of my home studio audio stack (Serato / Ableton / OBS / BlackHole / Aggregate/Multi-output devices in Audio MIDI setup). Agree with others in this post that it's WAY too hard to get a stable stack on OSX and that a tool like BlackHole should be standard in the OS.
- TylerE 2y agoIf you think the situation is bad on Mac, you e never had to fight with ASIO on Windows. On Mac stuff basically just works. On Windows ASIO works with only ASIO, and doesn’t allow the OS to use the card for “regular” sound unless the device-specific driver allows for it. Edit: Or in most cases for two ASIO applications to use the same soundcard at the same time. So you end up needing to install a virtual loopback anyway, losing out on the (theoretical) latency benefits of ASIO.
- com2kid 2y agoIt is unfortunate, the old windows media stack had a nice drag and drop UI that let you connect different inputs and sinks together in all sorts of weird and cool ways. Back when I used Windows 2000 I was able plug a game console into a capture card and split the audio and video inputs so they both went out over streaming video and were visible/audible on my local machine. Not that anyone cared about watching live streamed video game footage back in 2001 or so.
- TylerE 2y agoThe problem with the old apis (and this includes directsound) is that they are incapable of stabling running at low latency, which is crucial for recording.
- duped 2y ago> WAY too hard to get a stable stack on OSX compared to what?
- jxramos 2y ago
- wakeleaver 2y agoUsing BlackHole also fixes any awful audio popping in Rosetta/legacy apps, since Apple can't seem to figure that out.
- xyst 2y agoThis is how I record all of my work meetings, especially when I need to CYA
- pgib 2y agoOver the pandemic, I used this and OBS with a USB HDMI capture dongle attached to my Nintendo Switch to host Jackbox Party Pack nights with friends over Zoom. Such a great tool!
- xutopia 2y agoWhat is an Audio Loopback Driver? What does it do? What is it used for?
- haiku2077 2y agoIt lets you use the audio output of one program as the audio input of another program in arbitrary ways. A handy tool for live media like streaming- maybe I want my game and music to be streamed, but not my notifications or my A/V tech's voice in my ear. For audio production you can also wire the output of one music creation tool into the input of another.
- acidburnNSA 2y agoOn Linux it's pacmd load-module module-loopback Last Halloween we hired a fortune teller and I used this with some ladspa plugins and my tts to rig up a self signups from cellphone thing. When the fortune teller pressed the button the next in line was announced in a scary voice over the whole home audio system. After the music decreased in volume of course!