如果你折腾过在 Mac 上录制系统内部声音、把电脑播放的伴奏送进直播软件,或者想把视频会议里对方的声音和本地人声同时录进同一轨,那你大概率听说过BlackHole。这名字听起来像物理课上的概念,实际上是 macOS 平台上最常用的免费虚拟音频驱动之一,一个能让你自由“接管”音频流向的系统级声卡。
简单说,BlackHole 可以在系统里创建一个虚拟音频设备,任何 App 都可以把声音“输出”给它,另一个 App 又可以把声音从它“输入”进来,中间全程不经过物理扬声器和麦克风。这样一来,过去那些看起来很麻烦的操作——录内放、抓流媒体音频、给语音软件挂机架、直播K歌、多轨录音——就都变得可行了。这篇文章我会从使用者的角度,把 BlackHole 的安装、配置、实际场景和踩坑经验都过一遍,适合刚接触虚拟声卡的小白,也适合已经在用但一直没搞懂“为什么这么配”的玩家。
1. 为什么需要 BlackHole:macOS 音频生态的“缺口”
1.1 系统默认没有“内录”功能的尴尬
Windows 上曾经有“立体声混音”,很多老玩家靠它录过游戏原声、抓过网页的背景音乐。但 macOS 一直没给用户这个选项,系统默认的音频架构里,声音从 App 输出到声卡,再走向扬声器,链条很干净,但也意味着你拿不到中间那一份“原始数据”。想录系统声音,传统办法是用录音笔怼着喇叭外录,效果可想而知,环境噪音、回音、音质损失全来了。
这种局面不是苹果做不出来,而是产品设计上主动放弃了。macOS 对音频设备的权限和路由管理有一套相对封闭的逻辑,普通用户改不了,也没地方勾选“允许录制内部音频”。这就给第三方虚拟声卡留出了市场空间,BlackHole 就是其中做得比较深入、又完全开源免费的一个。
1.2 虚拟声卡是怎么“骗”过系统的
先打个比方:物理声卡相当于一条实体水管,一头接 App,一头接扬声器。虚拟声卡则是在系统里凭空插了一段“虚拟水管”,这一段没有真实硬件,但它能接收水流,也能把水流交给另一个程序。BlackHole 做的事情就是注册一个虚拟音频设备给系统,系统以为它是一块真实声卡,所以任何 App 在输出设备列表里都能选到它。
当你把一个 App 的输出设备设为 BlackHole,声音数据就会源源不断地写进这个虚拟设备的内存缓冲区;另一个 App 如果把这个虚拟设备设为输入设备,就能从缓冲区里读到一模一样的数据。整个过程不经过物理扬声器,也就没有声学污染,录制出来的就是纯净的数字音频流。
这里有个关键点:BlackHole 本身“不产生声音”。它是个通道,不是调音台。你把它选为输出设备后,扬声器会立刻静音,因为声音根本没往物理声卡那里送。想要一边录一边听到声音,必须自己再做一个“分流”或“聚合”操作,这个后面会详细讲。
1.3 BlackHole 和其他方案的关系
其实在 BlackHole 之前,macOS 上已经有不少虚拟声卡方案,最出名的两个是 Soundflower 和 Loopback。Soundflower 是老前辈了,很多年前很流行,但后来长期不更新,在较新系统上经常出兼容性问题,有一段时间甚至安装都装不上。Loopback 是 Rogue Amoeba 公司的商业产品,功能更强,支持复杂的音频路由矩阵,但要收费,而且价格不便宜。
BlackHole 的优势在于三点:一是开源免费,代码透明,没有不明不白的行为;二是持续在维护,新系统发布后适配很快;三是支持多声道,有 2ch、16ch、64ch 不同版本,可以满足从简单抓音到多轨音频路由的各种需求。它和 Loopback 不是完全替代关系,Loopback 更像一个图形化的“虚拟音频路由器”,BlackHole 更像一块“原生声卡”,需要你用系统自带的工具(比如音频 MIDI 设置)去组合出自己想要的效果。
2. 安装与最基础验证:半小时内跑通
2.1 下载与安装(先搞清楚 2ch / 16ch / 64ch 的区别)
BlackHole 的官方项目托管在 GitHub 上,搜索项目名就能找到发布页。下载的是一个标准 pkg 安装包,双击安装、输入密码、重启系统,过程非常简单。但我建议你安装前先在脑里过一遍声道数的问题,因为你很可能会在下载页面看到几个不同版本:BlackHole 2ch、BlackHole 16ch、BlackHole 64ch。
声道数是什么意思?就是虚拟设备最多能同时承载多少个独立音频通道。2ch 是左右声道,适合绝大多数场景,比如录系统声音、抓流媒体、K歌伴奏;16ch 和 64ch 适合多轨场景,比如你有个硬件合成器接了多路输出,或者你想在宿主软件里做复杂的内部跳线。日常使用强烈建议装 2ch 就够了,通道多并不会提升音质,反而会让某些软件的通道列表变得很长,选起来很麻烦。
还有一个安装上的小提示:如果你不确定自己会用到哪些声道数,可以把不同版本装成不同设备,互不冲突,它们会同时出现在系统里。我自己的机器上就装了 2ch 和 16ch 两个,2ch 用来日常抓音,16ch 偶尔接 Logic 做轨道路由。
2.2 在“音频 MIDI 设置”里确认设备
装完后打开“应用程序 -> 实用工具 -> 音频 MIDI 设置”,左侧设备列表里应该能看到 BlackHole 2ch 或对应版本。如果你看不到,大概率是安装过程出问题,或者系统没识别到内核驱动,先重启一次再检查。此时它的图标看起来和普通声卡没区别,点选它,右侧会显示输入和输出的通道数量。
这一步别跳过,我见过有人装完直接去 QuickTime 里找设备,找不到就以为安装失败,其实只是没有刷新设备列表。音频 MIDI 设置是 macOS 音频系统的“控制面板”,以后做聚合设备、多输出设备都会用到,一定要熟悉。
2.3 第一次录制系统声音:QuickTime 实测
装完可以不急着做复杂路由,先用 QuickTime 验证一下能不能录到系统声音。打开 QuickTime Player,菜单栏选“文件 -> 新建音频录制”,点击录制按钮旁边的下拉箭头,把“麦克风”选成 BlackHole 2ch,然后随便在音乐 App 里放一首歌。此时扬声器没声音是正常的,因为音频已经改道进入了 BlackHole,你再点 QuickTime 的录制按钮,就能录到这首歌的纯净数字信号。
这里有两个容易困惑的点:第一,QuickTime 新建音频录制时选 BlackHole 作为“麦克风”,不是说 BlackHole 真的是麦克风,而是它把自己表现成了一个输入设备,QuickTime 以为那就是麦克风;第二,如果你在 QuickTime 里听不到任何声音指示条跳动,先检查音乐 App 的输出设备是不是真的选了 BlackHole。很多播放器有独立音频输出设置,比如 Spotify 是在系统全局设置里,但某些专业音乐播放器会自己指定输出设备。
录完一段之后,播放录制文件检查音质。正常的音频应该是无底噪、无爆音、左右声道平衡的。如果你听到明显电流声或者声音发闷,不是 BlackHole 的问题,而是你信号链路里的采样率不匹配,这个坑后面专门说。
3. 把 BlackHole 用起来:五个高频场景实操
3.1 场景一:直播 / 视频会议的人声 + 伴奏混音
这个场景可能是大家装虚拟声卡的第一动力:想在抖音、B站直播时播放伴奏,同时自己的麦克风声音也要进直播软件,两者还要混在同一条“麦”上送出去。默认情况下,电脑只有一个麦克风输入,腹语软件拿到的要么是人声,要么是系统伴奏,很难同时拿到。
解法是用“音频 MIDI 设置”创建一个“聚合设备”,把麦克风和 BlackHole 放在同一个聚合设备里,再把这个聚合设备作为直播软件的麦克风输入。具体操作:打开“音频 MIDI 设置”,点击左下角的“+”号选择“创建聚合设备”,在右侧勾上你的物理麦克风和 BlackHole 2ch。这样,任何音频数据只要进入麦克风或 BlackHole,都会被聚合设备收集到一起,再统一输出给直播软件。
但要注意,这种方式实际上是“多路输入混成一路输出”,各路声音是按相同音量直混的。你不能在人声通道上加混响、压缩,也不能单独调伴奏音量,想做得更精细,就需要借助宿主软件(比如 Logic、MainStage、Reaper)来挂机架,BlackHole 在其中扮演声卡的角色,把伴奏送进去,再把人声送进去,处理完输出去。
3.2 场景二:录制系统内部音频(流媒体、网课、游戏)
这是 BlackHole 最基础也最实用的场景。只要把系统“声音输出”选成 BlackHole 2ch,然后用任意录音软件(QuickTime、Audacity、GarageBand)选择 BlackHole 作为输入设备,就能把电脑上所有正在播放的声音录下来。这个过程对用户透明的,直播、视频会议、网页视频、游戏音效,通通可以被捕获。
实际操作中我常用的是 Audacity,因为它有音量表可以实时监测输入电平。当你把系统输出切到 BlackHole 后,如果能听到扬声器没声音,但 Audacity 的电平表在跳动,就说明信号链路通了。如果电平表不动,检查两个地方:一是系统声音输出是否真的切换成功,二是 Audacity 的录制设备是否选到了 BlackHole 2ch。这两个都确认无误后还不行,再去看采样率设置。
3.3 场景三:让其他应用“听”到你正在播放的声音
这个需求听起来有点绕,但实际很常见:你想在 Zoom、腾讯会议、飞书里给朋友播放一段视频或音乐,让对面的人听起来就像是电脑的麦克风拾取到的声音。默认情况下,视频会议的“麦克风”只会收录物理麦克风的信号,对面的听众听不到你电脑正在播放的内容。
解决办法是创建一个“多输出设备”,把 BlackHole 2ch 和你的物理输出设备(比如耳机、音箱)都放进去,再把这个多输出设备当成系统的默认输出。这样,系统在播放声音时会把信号同时发给 BlackHole 和你的物理输出设备,BlackHole 再被会议软件选为麦克风输入,对面就能听到电脑声音了。
这里和聚合设备的核心区别你要记住:聚合设备是把多个输入合并成一个输入,多输出设备是把一个输出分发给多个输出。名字相近,功能相反,很多新手就是在这里绕晕的。
3.4 场景四:宿主软件多轨路由(Logic / MainStage)
BlackHole 的 16ch 和 64ch 版本在宿主软件里更有优势。以 Logic Pro 为例,你可以在“音频设置”里把输出设备选成 BlackHole 16ch,然后把不同轨道的输出分别映射到不同的通道上,比如轨 A 走 1-2 通道,轨 B 走 3-4 通道,另一个软件再从 BlackHole 里只读取需要的通道,实现多轨并行传输。
这个玩法对唱作人、音乐制作人非常实用。比如你想在 MainStage 里做实时人声效果处理,同时把伴奏和和声分轨送给直播软件或录音软件,BlackHole 多通道就能派上用场。普通物理声卡做不到这种“一条 USB 线传 64 路音频”的效果,虚拟声卡反而没有硬件接口的限制。
当然,多通道也意味着配置复杂度直线上升。我的建议是,如果你只是录个歌、开个直播,2ch 完全够;只有当你明确知道自己需要同时传多轨音频,再上 16ch 或 64ch,否则没必要自己给自己挖坑。
3.5 场景五:聚合设备组合模拟“伴奏+麦克风”调音台
最后这个场景更像一个自由组合玩法:你可以把物理麦克风、物理输入、BlackHole 2ch 甚至是另一个虚拟声卡全部塞进同一个聚合设备,再和其他 App 交互。比如你在播客录制时想同时接入现场麦克风、电脑背景音、远端连线的音频,就可以建一个三层混合的聚合设备,让录音软件一路收齐。
这种组合方式灵活,但要注意输入增益的匹配。不同设备的默认电平不一样,麦克风在这里可能已经过了一级前置放大,BlackHole 的声音可能则是满幅的数字信号,两者混在一起音量差别很大。建议在音频 MIDI 设置里为聚合设备的每个子设备单独调音量,或者在录音软件里用推子慢慢平衡。没什么标准答案,根据自己的设备和场景多试几次。
4. 进阶玩法与参数调优
4.1 采样率匹配是稳定运行的关键
采样率是虚拟声卡最容易出问题的地方,也是最需要认真对待的参数。macOS 的音频系统里有“核心音频”层,它会按照一个基准采样率来搬运数据,如果不同设备之间的采样率不一致,就会出现频率转换,轻则音调偏低或偏高,重则爆音、卡顿。
BlackHole 默认的采样率一般跟随系统设置。你在“音频 MIDI 设置”里点选 BlackHole,可以在右侧看到当前采样率,常见的是 44100 Hz、48000 Hz、88200 Hz、96000 Hz。很多App有自己的采样率偏好,比如某些音乐播放器默认输出 44.1kHz,直播软件可能用 48kHz。如果你发现录音的音调不对、速度也不对,大概率是 App 在用 44.1kHz 数据往 48kHz 设备里塞,或者反过来。
最稳妥的做法:把所有参与路由的设备,包括物理声卡、BlackHole、聚合设备、多输出设备,全部统一成同一个采样率。比如你主要做直播,就统一成 48kHz;你主要做音乐制作,就统一成 44.1kHz 或 96kHz。系统层面可以在“音频 MIDI 设置”里为每个设备单独设置,默认值不是一成不变的。
4.2 多输出设备实现实时监听
使用 BlackHole 时最常遇到的问题是“录到了但我自己听不到”。比如你把系统输出切到 BlackHole 后,扬声器立刻静音,因为声音没有走物理声卡。解决办法就是前面提到的“多输出设备”:在音频 MIDI 设置里新建一个多输出设备,把 BlackHole 2ch 和你的监听设备(耳机或音箱)都勾进去,然后把它设为系统默认输出。
这样每次录音时,你会通过监听设备听到声音,录音软件则从 BlackHole 里获得纯净的数据。需要注意的是,多输出设备里的各个子设备要尽量保持相同的采样率,否则系统在同时输出时可能会一直做重采样,带来额外的延迟和 CPU 占用。另外,如果你的监听设备还插着麦克风,注意别让麦克风的声音也被录入 BlackHole,否则循环反馈会导致刺耳的啸叫。
我自己的使用习惯是:单独建一个“BH 监听”的多输出设备,只用来听,不参与录音;录音软件永远直接选 BlackHole 2ch 作为输入,这样逻辑最清晰,出问题也好排查。
4.3 延迟到底有多少:实测与心理预期
虚拟声卡走的是内存缓冲,理论上延迟比走物理声卡还要低,因为它不需要经过 DSP 芯片、D/A 转换、空气传播这些环节。实际用下来,BlackHole 在 48kHz 采样率下,缓冲区大小设置为系统默认值时,延迟通常在 10ms 到 30ms 之间,具体取决于你的 Mac 性能和当前系统负载。
这个量级的延迟,对于录音、K歌、视频会议来说基本感知不到。但如果你在做实时监听,比如电吉他进宿主软件挂效果器,然后一边弹一边听,可能会觉得声音有一点点迟滞感。这时可以在“音频 MIDI 设置”里尝试调小虚拟设备的缓冲区,但不要调到过低,否则系统在负载高时会出现欠载,表现就是爆音和噼啪声。
有一点必须说明:BlackHole 只是音频驱动,不是专业音频接口。它不会给你带来硬件声卡的低延迟性能。如果你对延迟极其敏感,比如需要实时伴奏盯谱演出,建议还是用正规音频接口,那才是真正决定延迟下限的硬件。
5. 常见问题与排查清单
5.1 装了 BlackHole 之后电脑没声音
这是安装后最常遇到的情况,原因基本只有一个:某个 App 或系统已经把声音输出到了 BlackHole,所以扬声器没有数据可播。解决方法是打开“系统设置 -> 声音 -> 输出”,把它从 BlackHole 切回你的物理设备,或者新建一个多输出设备同时包含物理设备,这样既能让扬声器出声,又能让 BlackHole 继续接收数据。
另外,如果重启之后声音依然出不来,可以用“音频 MIDI 设置”检查 BlackHole 是否在设备列表里,如果设备不在了,重新安装一遍 pkg 再重启即可。如果设备在但系统输出列表里没有它,大概率是系统权限或驱动加载问题,尝试在“隐私与安全性”里允许相关系统扩展的加载。
5.2 找不到 BlackHole 设备
打开任意录音软件,输入设备列表里没有 BlackHole,这种情况一般出现在安装后没有重启系统,或者 macOS 的“录制音频”权限没有授予给对应 App。前者重启就能解决,后者需要你去“系统设置 -> 隐私与安全性 -> 麦克风”,把对应 App 的麦克风访问权限打开。
还有个小概率原因:App 是在 BlackHole 安装之前启动的,它的音频设备列表没有刷新。把 App 完全退出再重新打开就能看到新设备。这个坑在不少专业软件里出现过,你以为是虚拟声卡装错了,其实只是软件缓存设备列表的老毛病。
5.3 录音有爆音、卡顿、音调变怪
爆音和卡顿有几层原因,首先看采样率,把 BlackHole、系统默认输出、录音软件的采样率统一。其次看系统负载,如果录音的同时开着很多浏览器标签页、大型应用,CPU 吃不消就会出现欠载,优先关闭多余应用试试。最后可以看 Mac 的“活动监视器”,如果某个进程持续占用过高,也可能会导致音频丢帧。
音调变怪则几乎可以肯定是采样率错配。你录下了一段听起来像“快进”或“慢放”的音频,说明源文件的实际采样率和录音软件读取时的采样率不一致。解决方法和上面一样,把整条链路上的采样率统一,然后重新录一遍,不要幻想靠后期修正,那只是补救。
5.4 BlackHole 和 Loopback / Soundflower 怎么选
这个问题经常有人问,我的看法是看需求。Loopback 的优势是图形化路由,可以可视化地拖线,创建复杂的音频矩阵,适合需要频繁变路由的专业用户。Soundflower 由于更新停滞,我已经不建议新用户使用,除非你有明确的兼容场景。
BlackHole 最大的优势是免费、持续更新、原生支持多声道。它不提供图形化跳线,需要你自己通过音频 MIDI 设置去组合配置,学习成本会高一点点。但一旦搞明白聚合设备、多输出设备、多通道这些核心概念,你能用它做出很多 Loopback 能做的事。如果你只是想录个系统声音、给直播加个伴奏,BlackHole 完全够用,没必要花钱。
6. 写在最后的一些经验
我在 Mac 上用虚拟声卡好几年,从早期的 Soundflower 一路转到 BlackHole,中间还因为直播需求试过 Loopback。最深的体会是:虚拟声卡本身不复杂,复杂的永远是你要把它放进一个怎样的链路里。
BlackHole 是个好工具,它解决了 macOS 没有“内录”的这个饮食问题,也凭借多声道和稳定的内核驱动给音频路由留下了足够大的想象空间。但我建议你不要上来就追求上百种玩法,而是从一个最简单的需求开始,比如“录一段系统声音”,跑通了再慢慢尝试聚合设备、多输出设备,这样对音频架构的理解才会扎实。
另外,如果你把 BlackHole 用在直播或在线演出这种实时场景,一定要提前一整天做全流程测试,尤其是在正式开播之前确认一遍采样率、通道设置和监听方案。虚拟声卡误配时的问题不是“没有声音”,就是“延迟巨大”,后者在直播现场几乎灾难,会直接让你手忙脚乱。我自己的习惯是准备一套固定的“直播预设”,从音频 MIDI 设置到直播软件麦克风设备都提前写好一份明文清单,每次开播前照着核对一遍,30 秒搞定,从没出过岔子。
BlackHole 后面还可以怎么扩展?你可以试着把它的多通道版本结合宿主软件做成个人小型调音台,也可以把伴奏和主声分轨录音,然后大部分后期处理都变得游刃有余。技术上它就是一块等待你自由接线的虚拟声卡,真正有没有价值,看你怎么用自己的创造力把它塞进音频工作流里。