录不到系统声音?BlackHole 实现 macOS 应用间零延迟音频互传
【免费下载链接】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 上的虚拟音频环回驱动,专门解决"录不到系统声音"和"应用之间传不了音"这两个老问题。想把浏览器里正在放的播客录进 GarageBand,或者在视频会议里叠一段背景音乐,装好它都能实现。它是纯用户态驱动:不需要内核扩展、不改动系统安全设置,支持 macOS 10.10 及以上,Intel 与 Apple Silicon 都有构建,驱动本身不增加延迟。
📦 安装 BlackHole 音频环回驱动
官方提供 2、16、64、128、256 通道五种构建,按需挑一个即可。最快路径是安装程序:
- 关闭所有正在运行的音频应用
- 下载并打开对应通道的 .pkg 安装包,按提示完成安装
- 装完按提示重启电脑(0.6.1 版本起安装程序会强制重启,这是 Apple 建议的做法)
习惯命令行的话,Homebrew 也有现成包:brew install blackhole-2ch,16、64 通道版本把结尾换成 16ch、64ch 即可。
🎙️ 两种典型用法
怎么创建多输出设备并录制系统声音
- 打开"音频MIDI设置",点左下角"+",选择"创建多输出设备"
- 在新设备中勾选"内建输出"和"BlackHole",注意"内建输出"必须排在列表最上面
- 右键这个新设备,选择"将此设备用于声音输出"
- 打开 GarageBand 等 DAW,输入设备设为 BlackHole,音轨输入选 1-2 通道
- 播放其他应用的音频,DAW 里即可监听或录制
怎么把一个应用的声音路由给另一个应用
- 在发送方应用中,把声音输出设为 BlackHole,音频发到任意通道
- 在接收方应用中,把输入设备设为 BlackHole,从对应通道取音频
- 链路打通后声音实时流转,驱动层零额外延迟
🧩 进阶:自定义通道数与延迟
源码用一组预编译常量控制构建行为:改 kNumber_Of_Channels 换通道数,改 kLatency_Frame_Size 增加缓冲(上限 65536 帧,高通道数时有用),改 kSampleRates 定采样率,官方构建覆盖 8kHz 到 768kHz 共 12 档。用 xcodebuild 传参即可:
xcodebuild -project BlackHole.xcodeproj \ GCC_PREPROCESSOR_DEFINITIONS='$GCC_PREPROCESSOR_DEFINITIONS kNumber_Of_Channels=32'另外,BlackHole 自带一个隐藏的镜像设备:构建时可以把它设为可见,并分别限定为"只有输入"或"只有输出",得到一对收发分离的设备,适合输入输出要分开接的场景。
🔍 四个常见现象:原因与处理
DAW 收不到任何声音。多为麦克风隐私权限未给:到"系统设置→隐私与安全性→麦克风"确认 DAW 已授权,并把"音频MIDI设置"里 BlackHole 的输入输出音量拉满。
用多输出设备一阵后爆音、断续。设备间时钟漂移:给除时钟源(主设备)外的所有设备启用"漂移校正"。
安装程序报错装不上。部分 macOS 版本存在 pkg 在特定文件夹安装失败的已知问题:把安装包从"下载"挪到桌面再打开试试。
找不到 BlackHole 这个 App。正常现象——它是驱动,只会出现在"音频MIDI设置"、声音设置和音频应用的设备列表里,不会进"应用程序"文件夹。
适合谁用
做音乐、直播、播客,需要在 macOS 应用之间搬声音的人可以直接上手;构建流程参考 安装脚本,更新历史见 CHANGELOG.md,项目采用 GPL-3.0 许可证(LICENSE),非 GPL 项目集成需另行获取授权。
【免费下载链接】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),仅供参考