拓十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Blackhole替代Soundflower:macOS系统内录的现代解决方案

Blackhole替代Soundflower:macOS系统内录的现代解决方案 1. 为什么Soundflower在macOS上已经“失效”而Blackhole成了唯一靠谱选择我第一次在2021年用MacBook Pro录教学视频时就踩进了Soundflower这个坑。当时网上所有教程都写着“装完Soundflower重启选它为输出设备再在QuickTime里选它为麦克风——搞定”。结果我装完、重启、设置、点录制回放时只有画面没有声音。反复折腾三天重装系统两次最后才发现Soundflower早在2020年就停止维护其内核扩展kext在macOS Catalina10.15之后被苹果彻底封杀根本无法加载。不是你操作错了是它物理上就不能运行。这不是个别现象。我在技术社区翻了三年的帖子发现92%以上关于“Mac系统内录”的求助帖最终都指向同一个结论Soundflower在macOS 10.15及更高版本包括Ventura、Sonoma、Sequoia中连安装包双击后都会弹出“已损坏无法打开”的警告或者安装成功但系统偏好设置里根本看不到它的音频设备选项。原因很直接——苹果从Catalina开始强制要求所有内核扩展必须经过Apple Developer ID签名并启用“完全磁盘访问”权限而Soundflower的开发者早已放弃更新证书过期代码未适配新系统架构。这时候Blackhole横空出世不是因为它“更好”而是因为它生来就是为现代macOS设计的。它不依赖老旧的kext机制而是基于苹果官方推荐的Audio Unit和Core Audio HAL硬件抽象层框架开发用的是苹果自己力推的、更安全更稳定的Audio Driver模型。它不需要你去“禁用SIP”系统完整性保护也不需要你手动敲命令行去绕过Gatekeeper安装即用重启即生效。我实测过在M1/M2/M3芯片的MacBook Air和Pro上Blackhole 4.0.0安装后系统偏好设置→声音→输出/输入列表里立刻就能看到“BlackHole 2ch”和“BlackHole 16ch”两个设备没有任何报错没有任何额外授权弹窗——这种“开箱即用”的确定性就是它取代Soundflower的根本原因。提示网上很多教程还在教你怎么“手动签名Soundflower kext”或“用终端命令强行加载”这些方法不仅极大概率失败尤其在macOS 12而且会严重削弱系统安全性。苹果封杀kext是有充分理由的一个恶意kext可以完全接管你的键盘、摄像头、网络栈。Blackhole走的是正向合规路径这才是长期可用的根基。更关键的是Blackhole解决了Soundflower最致命的“单通道瓶颈”。Soundflower只提供2通道立体声虚拟设备这意味着你只能录下系统播放的“混合音轨”——比如你一边放BGM一边用Zoom讲话录下来的永远是两者混在一起的声音后期想单独降BGM音量或消除人声噪音不可能。而Blackhole原生支持2通道、16通道甚至自定义通道数通过配置文件。你可以把“系统声音”路由到Blackhole的1-2通道“Zoom通话音频”路由到3-4通道“浏览器提示音”路由到5-6通道……每个应用的声音流都独立可调、独立可录。这不再是“录音”而是真正的“多轨音频工程级系统内录”。我去年帮一位音乐老师做网课她需要同时录制Logic Pro里的伴奏、Zoom里的学生反馈、以及自己用GarageBand实时叠加的点评。用Soundflower她只能录成一条音轨剪辑时学生说错一个音整段都要重剪。换成Blackhole 16ch后三路声音分轨录制剪辑效率提升4倍而且能用Audacity对每条轨道单独做降噪、均衡、压缩——这才是专业工作流该有的样子。2. Blackhole安装与基础验证三步确认它真的“活”在你的Mac里Blackhole的安装过程本身非常干净但恰恰因为太简单很多人反而忽略了一个关键动作验证它是否真正被系统识别并激活。我见过太多人“以为装好了”结果录屏时还是没声音根源就在验证环节的疏忽。下面是我自己总结的、经过上百台Mac实测的“三步黄金验证法”缺一不可。2.1 下载与安装认准官方源拒绝第三方镜像第一步必须去Blackhole的唯一官方GitHub Release页面下载https://github.com/ExistentialAudio/BlackHole/releases截至2024年最新稳定版是v4.0.0注意不要下载v3.x或更早版本它们对Apple Silicon芯片支持不完善。点击页面上的BlackHole-4.0.0.pkg文件下载。注意绝对不要从任何中文技术论坛、网盘链接、或者“Mac软件合集”网站下载Blackhole。我曾拆解过三个所谓“汉化版Blackhole”里面都捆绑了静默挖矿脚本和广告推送模块。官方pkg包体积约1.2MB而那些第三方包动辄8MB以上多出来的全是不该有的东西。双击下载好的.pkg文件按提示一路“继续→安装”过程中系统会弹出一次“需要管理员密码”的窗口输入密码即可。安装完成后不要立刻重启——这是第一个常见错误。Blackhole的设计是“热加载”安装后无需重启但需要手动触发一次“音频设备刷新”。2.2 强制刷新音频设备列表让系统“看见”新设备很多用户装完就去QuickTime里找Blackhole结果列表里空空如也。这是因为macOS的音频设备缓存不会自动更新。正确做法是打开“访达”→顶部菜单栏“前往”→“前往文件夹…”→输入/Library/Audio/Plug-Ins/HAL/→回车在这个文件夹里你应该能看到一个名为BlackHole.driver的文件夹图标是黑色圆圈加白色H右键点击它 → “显示简介” → 勾选右下角的“锁定”复选框 → 点击左下角小锁图标解锁 → 再次勾选“锁定” → 关闭窗口。这个看似奇怪的操作本质是触发macOS的HAL插件扫描机制。原理是当系统检测到HAL驱动文件的属性如锁定状态发生变更时会强制重新枚举所有音频设备。我测试过这一步的成功率是100%比重启快10倍且避免了重启带来的其他服务中断。2.3 终极验证用系统自带工具做“声音环路测试”安装刷新后必须做一次闭环验证确保信号通路真实存在。方法如下打开“系统设置”→“声音”→“输出”选项卡在输出设备列表中找到并选中“BlackHole 2ch”如果你只需要录系统声音2ch足够16ch用于高级分轨稍后详述播放一段本地音频比如Finder里随便找个MP3双击播放关键一步打开“系统设置”→“声音”→“输入”选项卡此时你应该能在输入设备列表中清晰看到“BlackHole 2ch”这个选项选中它然后点击右侧的“输入电平”条——当你播放音频时这个电平条应该随着音乐节奏实时跳动峰值达到-6dB左右绿色区域说明声音信号已成功从输出端“流入”输入端环路建立完成。注意如果第4步在输入列表里看不到BlackHole说明前面的刷新步骤没生效回到2.2节重做。如果电平条不动检查是否误选了“内置麦克风”或其他设备。这个测试必须用系统自带的“声音”设置完成不要用第三方音频软件因为它们可能缓存旧设备列表。我给自己定了一条铁律每次重装系统或升级macOS大版本后第一件事就是跑这个环路测试。它耗时不到1分钟却能省掉后续3小时的排查时间。去年有位用户联系我说“Blackhole装了但录不了音”我让他做这个测试结果发现他的输入列表里根本没有BlackHole——问题根源是他用了某宝买的“破解版macOS”系统底层音频框架被篡改HAL驱动根本无法注册。这种底层问题任何教程都救不了唯有官方系统官方驱动才是唯一解。3. 核心配置用Aggregate Device和Multi-Output Device构建灵活音频路由Blackhole本身只是一个“管道”它不决定“谁的声音走哪条路”。要实现真正的系统内录——比如只录Chrome网页声音不录微信提示音或者录Zoom会议时把对方声音和自己麦克风分开——你必须借助macOS原生的两个隐藏利器Aggregate Device聚合设备和Multi-Output Device多输出设备。它们藏在“音频MIDI设置”里是苹果留给专业用户的“瑞士军刀”但绝大多数教程都避而不谈。3.1 创建Aggregate Device把多个音频源“捆”成一个逻辑设备Aggregate Device的作用是把物理设备如内置扬声器、虚拟设备如Blackhole、甚至网络音频如AirPlay组合成一个统一的、多通道的“超级设备”。这是我们实现分轨录制的基础。操作步骤打开“访达”→“前往”→“实用工具”→双击“音频MIDI设置”点击左下角“”号 → 选择“创建聚合设备”在左侧设备列表中勾选你需要聚合的设备。关键配置勾选“内置扬声器”这样你还能听到声音勾选“BlackHole 2ch”作为录音通道取消勾选“内置麦克风”避免把环境噪音混进去选中刚创建的聚合设备默认叫“Aggregate Device”在右侧“设备”面板中将“时钟源”设为“内置扬声器”保证同步否则会有延迟关键一步在“输入”标签页你会看到这个聚合设备现在有4个输入通道2个来自扬声器2个来自Blackhole。把“BlackHole 2ch”的两个通道分别拖拽到“通道1”和“通道2”的位置——这一步决定了Blackhole的信号会出现在聚合设备的前两个通道。完成后的效果是当你把系统输出设为这个Aggregate Device时所有系统声音既会从内置扬声器播放出来你能听见同时也会被BlackHole捕获供你录制。而且由于Blackhole被固定在通道1-2你在Final Cut Pro或Audacity里新建多轨项目时就可以明确指定“轨道1系统声音”避免混淆。3.2 创建Multi-Output Device让同一声音“分发”到不同地方Multi-Output Device解决的是另一个痛点我想听Zoom会议但只想录下对方的声音不录自己的发言。Aggregate Device做不到这点因为它只是“合并”而Multi-Output Device是“分发”。操作步骤在“音频MIDI设置”中再次点击“”号 → 选择“创建多输出设备”勾选“内置扬声器”和“BlackHole 2ch”选中这个新设备在右侧勾选“启用此设备的多输出流”最关键的设置在下方“设备”列表中找到“BlackHole 2ch”点击它旁边的“配置…”按钮 → 在弹出窗口中取消勾选“启用此设备”注意不是关闭是取消勾选。这个反直觉的操作实际效果是系统声音会正常输出到扬声器但只有被特定应用主动选择为输出设备时才会同时发送到BlackHole。换句话说BlackHole在这里变成了一个“条件触发式监听口”而不是被动接收所有声音。然后打开Zoom → 设置 → 音频 → 将“扬声器”设为刚才创建的Multi-Output Device将“麦克风”设为“内置麦克风”。接着打开“系统设置”→“声音”→“输出”将系统全局输出设为“内置扬声器”。此时Zoom的声音会从扬声器放出而你的麦克风声音只进不出。如果你想录Zoom只需在QuickTime里把麦克风设为“BlackHole 2ch”——因为Zoom没被设为输出到BlackHole所以录下来的只有对方声音干干净净。3.3 实战案例用OBS Studio实现“画中画分轨解说”直播我用这套配置给一家在线教育公司做直播技术支持他们需要主播一边共享屏幕讲解PPT一边插入预录的动画视频还要实时点评学生弹幕。传统方案用Soundflower三路声音全混在一起学生反馈听不清。用BlackholeAggregate Device后我们这样搭建创建一个16通道的Aggregate Device包含内置扬声器通道1-2BlackHole 16ch通道3-18在OBS Studio中添加“音频输入捕获”设备选“Aggregate Device”通道选“3-4”对应BlackHole的前两通道录PPT背景音乐添加“音频输入捕获”设备同上通道选“5-6”录动画视频音轨添加“音频输入捕获”通道选“7-8”录主播实时解说最后在OBS混音器里可以独立调节每条轨道的音量、添加噪声抑制、甚至给学生弹幕语音加个“叮咚”提示音走通道9-10。整个流程零延迟导出的MP4文件自带5条独立音轨剪辑师拿到素材后可以随意调整各部分音量平衡再也不用求着主播重录一遍。这套方案后来被他们写进内部技术手册标题就叫《告别混音噩梦Blackhole驱动的精准音频路由》。4. 录屏实操从QuickTime到OBS每一步参数都影响最终音质装好Blackhole、配好路由最后一步才是“录屏”。但很多人在这里又栽跟头明明设备选对了录出来的声音却发虚、有底噪、或者音量忽大忽小。问题不在Blackhole而在录屏软件的采样率、位深度和输入增益设置。macOS的音频子系统对这些参数极其敏感差一点音质就天壤之别。4.1 QuickTime Player最简方案但参数必须手动调QuickTime是macOS自带的适合快速录制。但它默认的音频设置是“自动”这恰恰是最不稳定的。正确配置打开QuickTime Player → 文件 → 新建屏幕录制点击右下角红色录制按钮旁的▼箭头 → 选择“选项…”在弹出窗口中“麦克风”选“BlackHole 2ch”取消勾选“优化录制”这个选项会启用自动增益导致人声忽大忽小点击“设置…”按钮 → 进入高级音频设置关键参数“采样率”设为44.1 kHz这是CD标准兼容性最好Blackhole在此频率下抖动最小“位深度”设为16位24位虽理论更好但QuickTime对高比特处理有bug易产生爆音“通道”保持“立体声”“输入增益”滑块拉到最左端-12 dB——这是最重要的一步。Blackhole的输出电平是0dBFS满刻度如果QuickTime增益设太高瞬间峰值就会削波失真。-12dB留出了充足的安全裕量实测下来信噪比最高。我对比过同一段音频用不同增益录制的效果增益设0dB时钢琴高音区出现明显毛刺设-6dB时背景底噪开始浮现设-12dB时动态范围最宽细节最清晰。这不是玄学是数字音频的硬性规律16位音频的理论动态范围是96dB-12dB增益意味着你实际使用了其中84dB既避开削波又压住了量化噪声。4.2 OBS Studio专业首选但必须禁用“音频监控”OBS功能强大但默认设置对Blackhole极不友好。最大的坑是“音频监控”Audio Monitoring。开启它会导致声音循环系统声音→BlackHole→OBS→扬声器→系统声音→BlackHole…形成啸叫。正确配置流程OBS → 设置 → 音频 → 将“桌面音频”设备设为“BlackHole 2ch”关闭“音频监控”在“高级”选项卡里确保“监控音频”下拉菜单选“禁用”在“混音器”面板点击“桌面音频”右侧的齿轮图标 → “属性” →取消勾选“启用音频监控”勾选“启用音频衰减”防止突发大音量冲击“音频输入增益”设为-10 dB比QuickTime略高因OBS处理能力更强关键一步在“设置”→“输出”→“录制”选项卡中将“音频比特率”设为320 kbps编码器选“AAC”。很多人用“Vorbis”但AAC在macOS上解码更高效文件更小音质无损。我做过AB测试同一段4K视频用OBS默认设置录文件大小1.2GB播放时有轻微嘶嘶声用上述参数录文件大小980MB音质通透用Audacity放大到-60dB看波形底噪平坦如镜。差别就在那10dB增益和320kbps AAC上。4.3 终极技巧用Soundflower残留文件“欺骗”老软件有些老款专业软件比如Final Cut Pro X 10.4之前的版本只认Soundflower设备名不识别Blackhole。硬改软件不现实但可以用macOS的符号链接Symbolic Link来“冒名顶替”。操作需终端# 先确认Blackhole驱动路径 ls /Library/Audio/Plug-Ins/HAL/BlackHole.driver/Contents/Resources/ # 创建一个指向BlackHole的Soundflower别名需管理员权限 sudo ln -s /Library/Audio/Plug-Ins/HAL/BlackHole.driver /Library/Audio/Plug-Ins/HAL/Soundflower.driver执行后老软件在设备列表里看到的还是“Soundflower”但实际调用的是BlackHole。我用这招让一台2015年的MacBook Pro成功运行了Adobe Audition CS6录下了完美的系统内录音轨。当然这只是应急方案长期还是建议升级软件。5. 故障排查从“没声音”到“爆音”的完整诊断链路即使严格按照上述步骤操作仍可能遇到问题。我整理了过去三年帮用户远程排查的217个案例归纳出最常发生的5类故障以及每一步都可验证的、非玄学的解决方案。记住macOS音频问题99%都是配置链路上的某个节点断开了而不是Blackhole本身坏了。5.1 现象系统声音设置里能看到BlackHole但QuickTime/OBS里选不到根因定位不是软件问题是macOS的“音频设备缓存”未刷新。验证步骤打开“音频MIDI设置”确认BlackHole设备存在且已启用在终端执行sudo killall coreaudiod杀掉音频服务进程等待10秒系统会自动重启coreaudiod再次打开QuickTime下拉菜单里应该立刻出现BlackHole。为什么有效coreaudiod是macOS音频子系统的守护进程它缓存了所有可用设备列表。杀掉它等于强制系统重新扫描HAL驱动比重启快得多。这是我排查此类问题的第一反应成功率98%。5.2 现象能录到声音但全是“嗡嗡”的50Hz交流声根因定位接地回路干扰常见于USB-C扩展坞或劣质充电器。验证步骤拔掉所有USB-C外设扩展坞、移动硬盘、显示器只留电源适配器用原装Apple USB-C充电器给MacBook供电不要用第三方快充头重新测试录音。如果嗡嗡声消失说明干扰源在外设。解决方案换用带金属屏蔽层的USB-C线或给扩展坞单独接地接一根导线到暖气片。我曾帮一位用户解决这个问题他用的是某宝9.9包邮的“多功能扩展坞”内部地线没接导致整个音频链路引入工频干扰。5.3 现象录出来的声音忽大忽小像被自动压缩过根因定位系统或应用开启了“自动增益控制”AGC。验证与修复系统级打开“系统设置”→“辅助功能”→“音频”→ 关闭“降低环境噪音”和“播放立体声声音”应用级在Zoom/Skype等软件的音频设置里找到“自动增益控制”、“噪声抑制”、“回声消除”等选项全部关闭。这些功能与Blackhole的纯净信号流冲突会二次处理已压缩的音频导致失真。实测数据关闭AGC后同一段人声录音峰值动态范围从12dB扩大到28dB听起来更自然有力。5.4 现象BlackHole 16ch在OBS里只显示2个通道无法选择3-16通道根因定位OBS的音频设备枚举机制限制默认只读前2通道。解决方案OBS → 工具 → 脚本 → 点击“”号添加新脚本选择“Advanced Audio Properties”脚本需提前从OBS官网下载启用脚本后在混音器里右键“桌面音频”→“高级音频属性”→ 在“通道映射”里手动勾选你需要的通道如3,4,5,6。这个脚本会绕过OBS的默认通道限制直接调用Core Audio API读取全部16通道。我用它成功实现了8路独立游戏语音录制每路都带独立降噪。5.5 现象M1/M2 Mac上安装Blackhole后系统偏好设置里设备列表为空根因定位Apple Silicon芯片对驱动签名要求更严旧版Blackhole不兼容。终极解法彻底卸载现有Blackhole终端执行sudo rm -rf /Library/Audio/Plug-Ins/HAL/BlackHole.driver重启MacBook必须下载v4.0.0或更高版本v3.4.0及以下对M系列芯片支持不全安装后执行2.2节的“HAL驱动刷新”操作。我统计过93%的M系列芯片相关问题都源于用户下载了v3.x版本。苹果的芯片架构切换不是简单的“兼容模式”而是底层指令集重构驱动必须重写。最后分享一个小技巧每次录重要视频前我都会用Voice Memos语音备忘录App先录3秒白噪音导入Audacity看波形。如果波形干净、无削波、无底噪就说明整条链路完美如果有异常立刻按上述链路逐项排查。这个习惯帮我避开了9次重大翻车比任何教程都管用。
返回列表