macOS 虚拟声卡 BlackHole:5 分钟装好,4 条音频链路照着配

发布时间:2026/10/31 1:55:31
macOS 虚拟声卡 BlackHole:5 分钟装好,4 条音频链路照着配

macOS 虚拟声卡 BlackHole:5 分钟装好,4 条音频链路照着配

【免费下载链接】BlackHoleBlackHole is a modern macOS audio loopback driver that allows applications to pass audio to other applications with zero additional latency.项目地址: https://gitcode.com/gh_mirrors/bl/BlackHole

BlackHole 是 macOS 上的虚拟声卡(音频环回驱动),让任意应用发出的声音能被另一个应用直接当输入采集,不增加额外延迟。直播、录屏、播客、视频会议里凡是"应用 A 的声音要被应用 B 收到"的场景,都靠它打通。适合所有需要在 Mac 上把系统声音与人声合流的普通用户。

它做什么,谁需要

macOS 里每个应用只往一个输出设备送声音,别的应用想拿到这段声音,必须存在一个对应的输入设备。BlackHole 就是那块"虚拟声卡":A 应用把声音写进它的输入端,B 应用从输出端读出来,一次直连完成,驱动层不增加额外延迟;它默认还挂着一个隐藏的镜像设备,形态可以单独定制。

项目内容
最新版本0.6.1
系统要求macOS 10.10(Yosemite)及以上,Intel 与 Apple Silicon 均有构建
可选通道数2 / 16 / 64 / 128 / 256,Homebrew 现成包为 2 / 16 / 64
采样率8kHz – 768kHz 共 12 档,含 44.1kHz、48kHz、96kHz
位深32 位浮点,对 24 位及以下整数音频无损
内核扩展无,不需要改动系统安全设置

适用边界:适合直播混音、录系统声音、播客监听、应用间音频路由。已知不适用的组合:Apple Podcasts、Apple Messages、HDHomeRun 与多输出设备不兼容;部分应用处理不了高通道数音频;高通道数叠高采样率时 CPU 可能吃紧。

从零到跑通 🛠️

主路径走官方安装包:

  1. 获取最新的 .pkg 安装包(仓库里的 Installer/create_installer.sh 就是产出这个包的构建脚本,你装到的驱动即由它打包签名而来)。
  2. 安装前退出所有正在运行的音频应用——播放器、DAW、会议软件先全部关掉,避免驱动文件被占用。
  3. 打开 .pkg 完成安装,按提示重启电脑(0.6.1 起安装包会按 Apple 建议强制重启)。

走 Homebrew 的开发者一行命令即可:brew install blackhole-2ch(16 / 64 通道换包名blackhole-16ch、blackhole-64ch)。

对照下面 4 条确认它真的装好了:

  • 打开"应用程序 → 实用工具 → 音频MIDI设置",左侧设备列表出现 BlackHole 2ch(通道数随你装的版本变化,16ch 版显示 16 进 16 出)。
  • 点选它,右侧能看到 48kHz 等采样率档位,输入、输出各有一条 Master 音量。
  • 把系统输出切到 BlackHole,另开一个应用把输入设为 BlackHole:播放端出声,接收端电平表跟着动。
  • 正常现象:应用程序文件夹里没有 BlackHole 图标——它是音频驱动不是 App,只存在于音频设备列表里,别怀疑自己装丢了。

上手后能做的 4 件事

建多输出设备:边听边录系统声音

目标:把系统里正在播放的声音录进文件,自己同时还听得到。

链路:播放应用 → 多输出设备(BlackHole 2ch + 内置输出)→ BlackHole → DAW 输入

  1. "音频MIDI设置"左下角点"+",新建多输出设备,把 BlackHole 2ch 和内置输出都勾上。
  2. 右键这个多输出设备,选"用作此设备的声音输出",把系统输出切过去。
  3. 打开 GarageBand 或 Audacity,输入设备选 BlackHole。
  4. 新建轨道并指定 1–2 通道,点录音,回到要录的应用里播放声音。

内置输出必须排在多输出设备列表第一位且保持启用——macOS 的硬性要求,排错位置整条链没声;录音轨道选 1–2 通道,别选到空通道。

效果:扬声器里实时有声,DAW 里同时录下同一份声音。

OBS 直播混音:人声、游戏声、BGM 进同一条轨道

目标:OBS 里同时收进麦克风、游戏声和背景音乐,不用外接声卡。

链路:游戏/音乐 → 多输出设备 → BlackHole → OBS 音频输入源;麦克风 → OBS 麦克风源

  1. 按上一条建好多输出设备,系统输出切过去——游戏声和音乐同时从扬声器和 BlackHole 流出。
  2. OBS 新增一个"音频输入设备"源,选 BlackHole 2ch,专门收系统声音。
  3. OBS 默认的麦克风源保持不动,继续收人声。
  4. 在 OBS 混音器里分别调这两路的音量。

OBS 的音频输入源必须选 BlackHole 2ch——系统声音只有绕进 BlackHole 才能被它采集到;多输出/聚合场景下,给非主时钟设备勾选漂移校正(Drift Correction),否则两路时钟不一致,声音会逐渐错位。

效果:观众听到一条混好的流,人声、游戏声、BGM 各占各的音量,互不干扰。

播客链路:零延迟监听 + 无损录制

目标:人声经过效果处理后,实时监听和无损录制一次完成。

链路:麦克风 → GarageBand(加效果)→ BlackHole → 录音软件;GarageBand → 耳机监听

  1. GarageBand 里把输出设备设为 BlackHole。
  2. 打开监听,确认耳机里能实时听到加完效果的人声。
  3. 录音软件(QuickTime、Audacity 等)输入设备选 BlackHole,开始录制。

必须先开监听——不开的话耳机里是干声,和录进文件的版本不一致;输出设备设为 BlackHole 而不是系统默认,否则声音走不到录音端。

效果:耳机里听到的就是最终进文件的版本,监听零延迟,录制保持 32 位浮点。

聚合设备:系统声和人声一起进视频会议

目标:远程演示时,对方既能听到你放的视频声音,也能听到你的讲话。

链路:BlackHole + 内置麦克风 → 聚合设备 → 会议软件麦克风

  1. "音频MIDI设置"新建聚合设备,成员勾上 BlackHole 和内置麦克风。
  2. 会议软件(Zoom、FaceTime 等)的麦克风选这个聚合设备。
  3. 把要共享的演示应用输出指到 BlackHole 2ch(或复用场景一的多输出设备)。

聚合设备的主时钟(Clock Source)别选 AirPods 麦克风——它的采样率更低,整条链会没声;用内置扬声器(可以静音)或 BlackHole 2ch 当主时钟。

效果:对方同时听到演示视频和你的讲话,两路音量独立可调。

按需微调 ⚙️

官方现成包只有 2 / 16 / 64 通道;要 32、128、256 通道或定制设备形态,就从源码构建。核心逻辑在 BlackHole/BlackHole.c,全部通过预编译常量控制:

  1. 克隆仓库:git clone https://gitcode.com/gh_mirrors/bl/BlackHole
  2. 用 xcodebuild 在默认编译定义上追加常量(以 32 通道为例):
xcodebuild \ -project BlackHole.xcodeproj \ -configuration Release \ GCC_PREPROCESSOR_DEFINITIONS='$GCC_PREPROCESSOR_DEFINITIONS kNumber_Of_Channels=32'
  1. 把产出的BlackHoleXch.driver复制到/Library/Audio/Plug-Ins/HAL,再执行sudo killall -9 coreaudiod重启 CoreAudio,新设备立刻出现在音频设备列表。
参数说明
kNumber_Of_Channels通道数(默认 2);高通道叠高采样率会吃满 CPU,两者别同时拉满
kLatency_Frame_Size驱动内部缓冲帧数(默认 0),最多可延迟 65536 帧,高通道场景用它换稳定
kSampleRates设备支持的采样率(默认 12 档全开),多值用英文逗号分隔,如44100,48000
kDevice_IsHidden主设备是否在系统里隐藏,配合镜像设备可造出"只见输入不见输出"的形态
kDevice2_HasInput/kDevice2_HasOutput控制隐藏镜像设备的输入/输出开关,可拆成两套独立设备

字符串类常量(如设备名kDevice_Name)传值时注意转义引号。

按症状排查问题 ⚠️

症状原因处理
完全没声音权限、音量或主输出顺序问题① 系统设置 → 隐私与安全性 → 麦克风,确认录音应用有权限;② "音频MIDI设置"里把 BlackHole 输入/输出音量拉满;③ 若走多输出设备,确认内置输出已启用且排在列表第一位
一边录一边听不到系统输出只接到了 BlackHole,物理扬声器没收到声音建多输出设备,把 BlackHole 和内置输出都勾进去,系统输出切到这个多输出设备
播放一段时间开始卡顿、断续多输出/聚合设备时钟漂移除主时钟设备外,给其余设备全部勾选漂移校正(Drift Correction)
高通道时爆音、有延迟感CPU 负载吃紧采样率从 96kHz 降到 48kHz;关掉其他占音频资源的应用;构建时调大kLatency_Frame_Size换稳定
安装程序装不上特定 macOS 版本对 .pkg 所在目录有限制把 .pkg 从"下载"文件夹移到桌面再打开(或反过来)
系统升级后设备消失/异常旧驱动与新版系统不匹配① 用官方卸载包,或手动rm -R /Library/Audio/Plug-Ins/HAL/BlackHole2ch.driver(注意是系统根目录/Library,把2换成实际通道数);②sudo killall -9 coreaudiod重启 CoreAudio;③ 重装最新版

BlackHole 只负责把声音从 A 送到 B:它不做效果处理、不自动切换设备,通道数按用途选,2ch 够用就别上 256ch。macOS 大版本升级前先停用,升级后核对 CHANGELOG.md 确认兼容性;驱动异常时从 Uninstaller/ 拿官方卸载包卸干净再重装。

【免费下载链接】BlackHoleBlackHole is a modern macOS audio loopback driver that allows applications to pass audio to other applications with zero additional latency.项目地址: https://gitcode.com/gh_mirrors/bl/BlackHole

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考