Live data from Hacker News

BlackHole Audio Driver

github.com

61–68 of 68 posts

Re: BlackHole Audio Driver

#61
post #3

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

I'm trying to find an explanation of how this compares to Loopback and Soundflower. What doesn't it do that the others can/what does it do that the others can't.

Would be good to know if this can do it all and replace multiple solutions each needing their own low level drivers.

Anyone tried both this and Loopback? Any thoughts on relative functionality, ease of use and reliability?

Re: BlackHole Audio Driver

#62
post #26

Based on a quick scan through the code, there are a lot of mutexes there, e.g. for reference counts, that could be replaced with atomics.

There is no locking on the audio path. Mutexes are fine for protecting metadata access. Don't use atomics unless it would measurably improve hot-path performance.

Re: BlackHole Audio Driver

#63
post #46
post #44

Earlier quoted context omitted.

Does this use lower quality voice? $ say -v Samantha -o out.aiff "Hello World" $ open out.aiff

Yea "Samantha" isn't a Siri voice. They aren't listed in `say -v '?'`, but you can address a Siri voice directly like this (if it's installed): say -v "com.apple.speech.synthesis.voice.custom.siri.helena" hi It'll error out mysteriously with the message `Open speech channel failed: -86`

Maybe try

  sudo !!
https://xkcd.com/149/

Re: BlackHole Audio Driver

#64
post #41
post #3

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

For people who worked with Networing before: this is not the same as a blackhole router ;-)

This confused me as well. I assume that this was meant to sink sound that you didn't want. Maybe the author was thinking "wormhole" not "blackhole"?

Re: BlackHole Audio Driver

#65
post #33

I hope this works for my usecase, as everything I have attempted so far either results in silence or completely mangled audio. All I want on my M1 is to be able to screen record my Zoom calls(full desktop recording) outside of the Zoom application itself. This is because I want to, as a general review tool for myself, be able to refer back to meetings. My memory has gone to hell in recent years. I want to be able to…

I think a lot of people take this approach of recording everything (or at least try to once the idea of recording meetings is available), but you really need to think about whether it’s going to solve the problem you think you have. Having a full recording of everything implies that at some point you have to actually process the content (take notes, etc.), and you’re really just setting yourself up for taking double…

I'm specifically compensating for my own mental decline.

Additionally, I do take notes, and I keep a summary work journal to track what I did and key insights. My daily log is typically about 6-7 bullet points for my own use, but may reference JIRA tickets or other links with more information that is intended for others to consume as well.

As for my meetings, I take notes for actions and key ideas, but each meeting is typically less than 5-6 bullet points, unless it results in a lot of sub tasks to a larger one.

I don't want to review ever meeting, in fact, I don't want to review any meetings. The goal of the recording is to have the record that I can refer back to if needed. Which, incidentally is about 5% of my meetings. So 95% will never be looked at again. And that 5%, I'm not going to replay the entire meeting, Im going to use something like Otter.ai to process the audio into text with time stamps, that way I can skip to the relevant bits.

So creating more work? Not at all.

Re: BlackHole Audio Driver

#66

Earlier quoted context omitted.

Ironically, that code is the biggest bug in JACK1 (and is replicated, I think, in JACK2).

I'd love to hear what that bug is! It's doing a topological sort on the audio graph, right?

it's not. that's the bug. For most scenarios, it doesn't make any difference.

Re: BlackHole Audio Driver

#67
post #46
post #44

Earlier quoted context omitted.

Does this use lower quality voice? $ say -v Samantha -o out.aiff "Hello World" $ open out.aiff

Yea "Samantha" isn't a Siri voice. They aren't listed in `say -v '?'`, but you can address a Siri voice directly like this (if it's installed): say -v "com.apple.speech.synthesis.voice.custom.siri.helena" hi It'll error out mysteriously with the message `Open speech channel failed: -86`

It print the same error even for voices that I have downloaded. Is there anything I can do to make it work?

Re: BlackHole Audio Driver

#68
The unsung hero of Blackhole is the ability to easily build a new one, meaning you can have infinite sets of audio devices with custom names.

https://github.com/ExistentialAudio/BlackHole/wiki/Build-wit...

Just change around some variables: `kDevice_Name`, `Manufacturer_Name`, `kPlugIn_BundleID`, `kBox_UID`, `kDevice_UID`, `kDevice_ModelUID`, and then the Blackhole.driver folder it spits out after build.

You can also go up to 16 (or more?) channels instead of the stock 2, which is great for multiple participants in a jacktrip session, among other things.

https://github.com/ExistentialAudio/BlackHole/wiki/Change-th...

That one is slightly out of date. The new variable name is `kNumber_Of_Channels` for number of channels.

You can have a dedicated Blackhole audio device for each thing you want to mix and then stitch them together into an aggregate audio device (on Macs). Now you can use this aggregate device inside something like Ableton live, and then you route and mix audio from different sources.

Then you can send your Ableton mix to something like OBS Studio for example. Or even use different sets of return channels for different mixes to different places, like one for your monitors, one for OBS/live stream, one for your headphones for monitoring what you're playing perhaps.

Multiple Blackholes + aggregate audio device = A+ happy audio routing

Post reply on HN