☰
BlackHole 完整指南:macOS 免费音频环回驱动的零延迟录音与路由配置
2026/10/31 1:24:23 网站建设 项目流程

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

想让 App A 的声音直接送进 App B、或把系统声音录下来?macOS 原生做不到。BlackHole是一款免费的 macOS 虚拟音频环回(loopback)驱动,让应用之间传递音频零额外延迟,适合直播、播客、音乐制作等需要音频路由的场景。

它兼容 macOS 10.10 及以上,同时支持 Intel 与 Apple Silicon,不需要内核扩展,也不改动系统安全设置。当前版本 0.6.1,更新记录见 CHANGELOG.md。

🚀 装好能用:5 分钟装好并确认设备生效

这节能帮你把驱动装进系统,并确认 BlackHole 已经出现在音频设备列表里。

两种安装方式,选一个就行

方式一:下载安装程序

  1. 获取对应通道版本(2ch / 16ch / 64ch)的最新.pkg安装程序
  2. 关闭所有正在运行的音频应用
  3. 打开安装程序,按提示完成安装(0.6.1 起安装后会按 Apple 建议要求重启电脑)

方式二:Homebrew 命令行安装

brew install blackhole-2ch # 2 通道 brew install blackhole-16ch # 16 通道 brew install blackhole-64ch # 64 通道

避坑:某些 macOS 版本上,.pkg放在"下载"文件夹里可能安装失败——把它移到桌面再双击安装即可。

装完后去哪确认:音频 MIDI 设置

BlackHole不是一个应用,它不会出现在"应用程序"文件夹里,只会出现在"音频 MIDI 设置"、声音偏好设置和各音频应用的设备列表中。

  1. 打开"音频 MIDI 设置"(Audio MIDI Setup)
  2. 在设备列表里应能看到形如BlackHole 16 ins / 16 outs的条目
  3. 选中它,确认 Format 里的采样率(如 48,000 Hz、32-bit Float)和音量滑块正常

🎧 用得顺:三个最常用的音频路由配方

这节能帮你完成绝大多数实战需求:录系统声音、App 互送音频、把音乐送进会议。

把系统声音录进工程(还能边听边录)

  1. 在"音频 MIDI 设置"中点左下角"+",选择"创建多输出设备"
  2. 勾选"内建输出"和"BlackHole"两个设备
  3. 把"内建输出"放在列表最上方(macOS 的兼容性要求)
  4. 右键新建的多输出设备,选择"将此设备用于声音输出"
  5. 打开 DAW(如 GarageBand),把输入设备设为 BlackHole,音轨设为从 1–2 通道输入
  6. 播放其他应用的音频,即可在 DAW 中监听或录制

这样声音既从扬声器播放、又同步送进 BlackHole,边听边录一次配置就搞定。

让两个 App 之间互送音频

  1. 在发送方应用中,把输出设备设为 BlackHole
  2. 打开接收方应用,把输入设备设为 BlackHole
  3. 接收方从与发送方对应的通道读取音频即可

立体声场景用 2ch 版足够;多轨录音、混音建议直接上 16ch 或更高,通道数越高可并行路由的"线路"越多。

把自己的音乐送进会议(Zoom / FaceTime / Skype)

  1. 在 DAW(Logic Pro X、GarageBand 等)中,把音频输出设备设为 BlackHole
  2. 在会议软件里,把输入(麦克风)设备设为 BlackHole
  3. 调低 DAW 播放音量,别让音乐盖过人声

官方 README 里附有 Logic Pro X / GarageBand 分别对接 Zoom、FaceTime、Skype、Google Meet 的逐步教程,可参考 README.md 中的 User Guides 部分。

⚙️ 用得深:自定义编译、通道与延迟调优

这节能帮你按自己的需求改通道数、延迟和采样率,甚至拆出独立的输入/输出设备。

通道数怎么选:2 / 16 / 64 够用吗

  • 日常路由:2ch 足够,且必须用 2ch 才能当聚合设备的时钟源
  • 多轨录音/混音:16ch
  • 专业工作室:64 / 128 / 256ch

注意:高采样率(如 192kHz 以上)叠加高通道数会显著增加系统负载,部分应用也无法正确处理高通道数。建议从低配置开始逐步测试。

另外,BlackHole 固定使用32-bit float位深(macOS Core Audio 系统级原生格式),无需也不建议在驱动层调整。

从源码编译自定义版本

git clone https://gitcode.com/gh_mirrors/bl/BlackHole

用xcodebuild在编译时注入预编译常量即可定制,核心常量定义见 BlackHole/BlackHole.c:

# 示例:编译 32 通道版本 xcodebuild \ -project BlackHole.xcodeproj \ GCC_PREPROCESSOR_DEFINITIONS='$GCC_PREPROCESSOR_DEFINITIONS kNumber_Of_Channels=32'
  • kNumber_Of_Channels:通道数
  • kLatency_Frame_Size:给音频增加最多 65536 帧的延迟,高通道数下建议适当调大以降低卡顿
  • kSampleRates:采样率列表,逗号分隔,如kSampleRates='44100,48000,96000'

构建完成后,把BlackHoleXch.driver拷贝到/Library/Audio/Plug-Ins/HAL,再执行sudo killall -9 coreaudiod重启 CoreAudio 生效。批量构建安装包的完整流程可参考 Installer/create_installer.sh。

镜像设备:拆出独立的输入和输出设备

BlackHole 默认带一个隐藏的镜像设备:主设备的输出会同时出现在镜像设备的输入上,反之亦然。通过kDevice2_*系列常量可以让它"现身",比如做成一对"仅输入 + 仅输出"的设备:

kDevice_IsHidden=false kDevice_HasInput=true kDevice_HasOutput=false kDevice2_IsHidden=false kDevice2_HasInput=false kDevice2_HasOutput=true

这在开发应用时特别有用:用户只看到一个输入设备,音频实际在幕后通过镜像设备路由到输出端。

🧯 避坑提示与高频 FAQ

这节能帮你快速定位"没声音、卡顿"两类问题,并了解如何干净卸载。

装了没声音?按顺序查这三处

  1. 麦克风权限:系统设置 → 隐私与安全性 → 麦克风,确认 DAW 已获授权
  2. 音量:在"音频 MIDI 设置"中确认 BlackHole 的输入、输出音量都拉满
  3. 多输出设备:确认"内建输出"已勾选且位于列表第一位

多输出/聚合设备使用中的两个高频坑

  • 几分钟后卡顿、掉帧:对除时钟源之外的所有设备启用"漂移校正"
  • 个别 App 不兼容:Apple Podcasts、Apple Messages、HDHomeRun 与多输出设备不兼容;AirPods 麦克风采样率较低,不要把它设为聚合/多输出设备的时钟源,用内建扬声器(可直接静音)或 BlackHole 2ch 代替

干净卸载 BlackHole

可以用官方提供的对应版本卸载程序,或手动操作:

# X 替换为 2、16 或 64 rm -R /Library/Audio/Plug-Ins/HAL/BlackHoleXch.driver sudo killall -9 coreaudiod

注意:删的是根目录/Library,不是~/Library用户目录。卸载前请先关闭所有音频应用。


最后给一条可执行建议:先装 2ch 版跑通"录系统声音"这一个场景,确认链路完全正常后,再按需求升级到 16ch / 64ch——大多数"装完没声音"的问题,都出在第一遍没有核对设备方向和通道对应上。

【免费下载链接】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),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询