
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你想把电脑正在播放的音乐录进工程软件里却发现 macOS 的声音设置里只有一个输出列表根本没有把系统声音录下来的入口。装个屏幕录制软件那录到的声音和画质、延迟一起打折还占 CPU。其实这个问题在 macOS 上有个更直接的办法装一个音频回环驱动loopback driver把 A 应用的输出直接接到 B 应用的输入上。BlackHole 就是干这件事的它是 macOS 上的一款免费开源虚拟音频回环驱动安装后系统里会多出一台设备任何应用都可以对它输出声音也可以从它读取声音中间不引入额外的驱动延迟。装一个 BlackHole等于给系统加了一根看不见的音频线说清楚它值得装的理由有三条每条都对应一个具体场景。第一零额外延迟。声音从一个应用传到另一个应用BlackHole 本身不叠加处理时间。做直播、开视频会议时Logic Pro 出声、Zoom 收到这条链路上没有可感知的滞后。第二不碰系统安全机制。它只是一台 HAL 音频设备macOS 音频框架里的硬件抽象设备不需要内核扩展也不要求改系统设置里那些允许此系统软件的开关。装完即可用卸载也只是删一个驱动文件。第三通道数可选。它提供 2 通道、16 通道、64 通道三个版本。日常录系统音、开会议2 通道立体声就够要做多轨录音或同时走好几路音频16 通道版本把每个通道当成独立线路用。三步装好先确认设备出现了主路线推荐用 Homebrew 装一条命令的事# 安装 2 通道版本日常使用首选 brew install blackhole-2ch # 需要多轨时用 16 通道或 64 通道 brew install blackhole-16ch brew install blackhole-64ch不想用 Homebrew 的话也可以从项目主页下载 .pkg 安装包装之前先关掉所有正在播放声音的应用。装完打开音频MIDI设置Spotlight 搜 Audio MIDI Setup左侧设备列表里应该能看到 BlackHole右侧面板能展开它的各个通道输入输出音量默认拉满即可。看到设备就成功了。注意它不会出现在应用程序文件夹里它只存在于声音相关的设置和音频软件的设备列表中这是正常现象。场景一把系统声音录进 GarageBand同时还能听到这是最高频的需求一边从浏览器或播放器出声一边录进工程扬声器不能没声。单独把输出切到 BlackHole 的话声音是哑的所以要用 macOS 自带的多输出设备让声音同时走扬声器和 BlackHole。打开音频MIDI设置点左下角的 选创建多输出设备。在新设备右侧勾选 BlackHole 和内置输出。⚠️ 有一个坑macOS 要求内置输出必须勾选且排在列表最上面否则多输出设备不工作。右键这个新设备选将此设备用于声音输出系统声音从此双路输出。打开 GarageBand新建一个音频轨道把轨道输入源选成 BlackHole通道选 1-2打开轨道上的监听开关——这时候你能在软件里实时听到系统声音关掉监听、点红色录制按钮就是正式录。去播放任意网页音乐或播客轨道上会出现跳动的电平录完就是独立的音频文件。如果只是想录、不需要边听步骤 2、3 可以跳过直接把系统输出切到 BlackHole 即可。场景二把 Logic Pro 的伴奏实时送进 Zoom会议软件只认输入设备而你的伴奏在 Logic Pro 里是输出。BlackHole 正好是中间那根线Logic Pro 菜单 → 环境 → 音频设置把音频输出output改成 BlackHole。新建一个音频轨道把输出output指到 BlackHole 的 1-2 通道。打开 Zoom进音频与视频设置麦克风选 BlackHole输入通道选 1-2。在 Logic Pro 里播放Zoom 里对方听到的就是你的伴奏。反过来接也一样任何软件的输出和另一软件的输入里出现 BlackHole就可以自由配对。想同时走两路互不干扰的音频时16 通道版本可以把 1-2 给一条链路、3-4 给另一条互不串音。进阶通道数、采样率、镜像设备怎么选装好 2 通道版本后大部分工作发生在音频MIDI设置和会议/工程软件的设备下拉框里不用碰驱动本身。但有几种情况值得调整配置项怎么选通道版本2 通道录系统音、单路会议16 通道多轨录音、多路并行传输64 通道大型工程、路由矩阵采样率和你要连接的应用保持一致常见 44.1kHzCD 标准或 48kHz视频/会议标准。它原生支持 8kHz 到 768kHz 共 12 档别用高采样率配高通道数CPU 吃不消位深固定 32 位浮点无需设置兼容 24 位整数无损延迟驱动自身零额外延迟高通道数下若出现卡顿可自行编译时调大 kLatency_Frame_Size最长 65536 帧缓冲还有一招给重度用户BlackHole 编译时默认带一个隐藏的镜像设备。通过编译常量把主设备设成只有输出kDevice_HasOutputtrue关闭输入镜像设备设成只有输入kDevice2_HasInputtrue关闭输出再各自取消隐藏就能得到一台只输出的 BlackHole 一台只输入的 BlackHole。这在做推流软件时很实用用户侧设备列表里只看到干净的输入设备声音在幕后被路由走。这类定制需要用 Xcode 编译改的只是头文件里的一组常量。避坑指南四个高频问题现象设备列表里根本找不到 BlackHole原因macOS 的声音服务 CoreAudio 可能缓存了旧的设备状态安装后没有刷新。 解决在终端重启该服务设备立刻出现# 重启 CoreAudio 声音服务 sudo killall -9 coreaudiod现象按步骤配好了但 BlackHole 一点声音都没有原因最常见的是系统没给录音软件麦克风权限读取 BlackHole 走的就是这条权限其次是音频MIDI设置里 BlackHole 的输入输出音量被拉低了。 解决打开系统设置 → 隐私与安全性 → 麦克风确认你的 DAW 或录音应用已勾选再回音频MIDI设置把 BlackHole 的输入、输出音量都拉到最右。现象用多输出设备跑了十几分钟声音开始卡顿、爆音原因各设备内部时钟有细微漂移长时间后累积失步。 解决在音频MIDI设置里选中该聚合设备为列表中的设备逐个打开漂移校正但作为时钟源排在最顶上的主设备的那台除外。现象想调多输出设备的整体音量找不到旋钮原因macOS 原生不支持调节多输出/聚合设备的音量这是系统限制不是 BlackHole 的问题。 解决在音频MIDI设置里单独调每个成员设备的音量或者借助 MultiSoundChanger 这类第三方小工具来控制聚合设备音量。另外两个已知情况提前知晓多输出设备上装 AirPods 当主时钟会失败AirPods 麦克风采样率低不能当主时钟用内置扬声器静音或 BlackHole 2ch 当主设备即可Apple Podcasts、Apple 信息这两类系统应用对多输出设备兼容性差遇到无声换条链路即可。收尾清单从 2 通道版本起步确认真的需要多轨再换 16 通道避免设备列表里一堆用不上的设备。全链路统一采样率DAW、会议软件、BlackHole 用同一个值推荐 48kHz省掉采样率转换带来的音质损失。每次录音前检查两处系统麦克风权限、音频MIDI设置里 BlackHole 的音量。用聚合设备就开漂移校正主时钟设备保持 2 通道且排在列表顶部。卸载时用官方卸载程序或删掉/Library/Audio/Plug-Ins/HAL下对应的驱动目录再执行sudo killall -9 coreaudiod。BlackHole 目前的路线图里还有与外部设备时钟同步、AU 插件支持等在研功能可以期待它从音频线路长成更完整的音频路由工具。先把上面两个场景跑通它就已经能覆盖日常百分之九十的音频需求了。【免费下载链接】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),仅供参考