news 2026/8/24 8:21:39

Mac音频内录的免费方案:Soundflower虚拟声卡从安装到多应用混音完整指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Mac音频内录的免费方案:Soundflower虚拟声卡从安装到多应用混音完整指南

Mac音频内录的免费方案:Soundflower虚拟声卡从安装到多应用混音完整指南

【免费下载链接】SoundflowerMacOS system extension that allows applications to pass audio to other applications. Soundflower works on macOS Catalina.项目地址: https://gitcode.com/gh_mirrors/so/Soundflower

周五下午,你要交一段产品演示录屏,已经录了三遍,画面都挺好,但视频里浏览器播放的声音总是缺了一截,或者时不时有杂音。问题不在剪辑软件,而在 macOS 默认没有提供"录制系统正在播放的内容"这条路。

Soundflower是 macOS 的一枚内核级虚拟声卡(虚拟音频设备)。它在系统里创建一对虚拟输入/输出通道,让应用 A 的音频输出能被应用 B 直接当作输入读取,解决 Mac 上音频内录与跨应用路由这个核心问题。

先弄清它是什么:内核里的虚拟声卡

Soundflower 是一个内核扩展(KEXT),注册到 macOS 的 IOAudioFamily 音频框架后,系统会多出两个虚拟设备:Soundflower (2ch) 和 Soundflower (64ch),通道数在 Source/Info.plist 的 AudioEngines 段定义。它按 32 位浮点处理数据,支持 44.1kHz 到 192kHz 共六档采样率,每个引擎在内核里预留 2×8192 个样本的环形缓冲——这就是它延迟低、CPU 占用小的原因。

它的核心能力可以概括为:

  • 跨应用音频路由:任意应用可以把输出指到虚拟设备,任意录制或混音应用可以把它当输入读走
  • 双档通道宽度:2ch 满足日常内录,64ch 供多应用混音与多轨采集
  • 无损直通:32 位浮点、最高 192kHz,中间环节不转码
  • 完全免费:MIT 协议开源,可修改可商用
  • 配套工具齐全:菜单栏控制器 SoundflowerBed 和多机组网工具 Soundfly

源码入口:

  • 驱动核心:Source/SoundflowerDevice.cpp、Source/SoundflowerEngine.cpp
  • 菜单栏控制器:SoundflowerBed/AppController.mm
  • 安装/加载脚本:Tools/load.rb

验证环境并完成内核扩展安装

前置检查,两件事:

  1. 芯片:必须是 Intel Mac。Apple Silicon(M1/M2 及以后)暂不支持,截至 2025 年 10 月官方未提供适配
  2. 系统:macOS Catalina(10.15)及以上。仓库内最新版本为 2.0b2,诞生于 Catalina/Big Sur 时代,在更新的系统上加载内核扩展可能受限,以实际安装结果为准

⚠️ 它是不需要关闭 SIP(系统完整性保护)的签名内核扩展。安装后系统可能拦截一次,处理方式是在「系统设置 → 隐私与安全性」里解锁并允许来自 "Cycling '74" 的开发者证书,而不是去动 csrutil。

安装步骤:

  1. 获取官方签名的 2.0b2 安装包,或从源码构建:git clone https://gitcode.com/gh_mirrors/so/Soundflower
  2. 运行安装器,输入管理员密码完成拷贝
  3. 若提示"已阻止",打开「系统设置 → 隐私与安全性」,点击"允许"
  4. 重启电脑

30 秒验证法:打开"音频 MIDI 设置"应用,设备列表里应同时出现 Soundflower (2ch) 和 Soundflower (64ch),且采样率下拉框可选 44.1kHz/48kHz。两个都在即安装成功;缺了就去"隐私与安全性"里确认内核扩展是否被放行。

5分钟完成第一次系统声音内录

最高频的场景:把浏览器里的声音录进 QuickTime,同时自己还能听到。

  1. 「系统设置 → 声音 → 输出」:选 Soundflower (2ch)。注意,从这一刻起扬声器没声音了,声音全被导进虚拟通道
  2. 菜单栏的 SoundflowerBed(花朵图标):在 2ch 菜单里把输出路由设为内置扬声器或耳机,这样你录的同时能听到
  3. QuickTime Player →「文件 → 新建音频录制」
  4. 点录制按钮旁的下拉箭头,输入设备选 Soundflower (2ch)
  5. 播放浏览器音频,点红色录制按钮,几秒后停止并保存

得到的文件就是系统音频本身。内录、录屏、会议留痕,走的就是这条链路。

拆解核心能力与配套工具

内核驱动(Source/):两个音频引擎各自独立收发,64ch 设备把 64 个通道划给多个客户端,是后面混音玩法的基础。设备注册与音量、静音、增益控制在 Source/SoundflowerDevice.cpp 的 IOAudioDevice 子类里实现。

SoundflowerBed 菜单栏控制器

  • 输出路由:把虚拟设备"转接"到真实扬声器,解决内录时耳机无声的问题,这是它最常用的一键功能
  • 缓冲区大小、采样率、音量与静音:都在菜单里直接调,不用进系统设置
  • 进阶选项:菜单子项里还有通道克隆(cloning)与路由模式(routing)开关,做混音前可以先研究 SoundflowerBed/AudioThruEngine.cpp 里的直通算法

Soundfly 多机组网:把 A 机的音频输出经网络送到 B 机当输入,Soundfly/2.0/ 下包含发送端(sender)、接收端(receiver)、后台守护进程(SFDaemonManager.m)、偏好窗格和状态栏控制器,适合双机录音或远程监听。

排查高频故障:无声、消失、爆音

症状一:录出来是静音,或内录时完全没声音

可能原因:系统输出没指到 Soundflower,或 Bed 的输出路由还停在 None,声音进了虚拟通道却没有人接走。

解法:

  1. 「系统设置 → 声音 → 输出」确认已选 Soundflower (2ch)
  2. SoundflowerBed 的 2ch 菜单里,把输出路由设为真实播放设备
  3. 确认录制软件的输入设备选的是同一个虚拟设备

症状二:重启后设备列表里 Soundflower 不见了

可能原因:内核扩展被系统拦截未加载,或系统更新后需要重新放行。

解法:

  1. 打开「系统设置 → 隐私与安全性」,确认 Soundflower 的开发者证书已允许,然后重启
  2. 如果是源码构建的版本,重新运行仓库里的加载脚本,它会自动卸载旧版、拷贝并加载 kext:
cd Tools sudo ./load.rb

症状三:录制爆音、卡顿,CPU 占用偏高

可能原因:缓冲区太小,或输入侧与输出侧设备采样率不一致,CoreAudio 被迫频繁重采样。

解法:

  1. SoundflowerBed 里调大缓冲区大小
  2. 打开"音频 MIDI 设置",把所有相关设备统一到同一采样率(推荐 48kHz)
  3. 卸载不用完的多轨应用,减少同时在跑的应用数量

进阶:搭多应用混音与跨机音频链路

场景一:64ch 多应用分轨混音

目标:多个应用同时输出,各占独立通道,一次录下全部再分轨。

配置要点:在"音频 MIDI 设置"选中 Soundflower (64ch);macOS 的 CoreAudio 会按应用打开顺序把通道对依次分给各输出应用(第一个应用拿 1-2 声道,第二个拿 3-4,以此类推);录制端按通道选取所需声轨。通道定义细节见 Source/Info.plist。

场景二:Soundfly 跨机音频链路

目标:A 机播放的音频实时出现在 B 机的输入设备里。

配置要点:A 机跑 sender、B 机跑 receiver,两者通过偏好窗格配置网络参数;守护进程负责后台常驻,状态栏图标可快速断开/重连。参考 Soundfly/2.0/SFCommunicationManager.m 了解通信层实现。

场景三:源码定制

目标:改缓冲策略、加功能,或自己出一版安装包。

关键文件:Source/SoundflowerEngine.cpp(核心音频处理)、SoundflowerBed/AudioThruEngine.cpp(Bed 的路由与缓冲逻辑)、Tools/installer.rb(生成签名安装包)。流程见 ReadMe.md:构建完成后由 Tools/load.rb 把 kext 装进 /System/Library/Extensions 并加载。

选型参考:Soundflower值不值得用

工具费用维护状态适用场景上手成本
Soundflower免费(MIT)社区维护,停留在 2.0b2,仅 Intel Mac多通道混音、专业多轨采集,需要源码级定制中,涉及内核扩展安装
Loopback付费Rogue Amoeba 持续维护,支持 Apple Silicon全功能虚拟混音,需要图形界面精细控制低,装完即用
BlackHole免费社区活跃维护,支持 Apple Silicon简单内录、替代 2ch 直通场景

一句话结论:Intel Mac 上需要免费的多通道混音和源码定制,它仍是首选;如果你的机器是 Apple Silicon,直接考虑 Loopback 或 BlackHole,别在它身上耗时间。

找到更多资料:官方文档与源码入口

如果还想知道更多:

  • 官方文档:ReadMe.md,包含构建流程和最可靠的卸载方法(删除 /Library/Extensions 与 /System/Library/Extensions 下的 Soundflower.kext 后执行sudo touch /Library/Extensions/再重启)
  • 源码与许可:驱动在 Source/,控制器在 SoundflowerBed/,MIT 许可全文见 License.txt
  • 社区讨论:可前往项目官方仓库的 Discussions 板块提问

把系统输出切到 Soundflower,录下你的第一段系统声音,剩下的配置都可以按图索骥。

【免费下载链接】SoundflowerMacOS system extension that allows applications to pass audio to other applications. Soundflower works on macOS Catalina.项目地址: https://gitcode.com/gh_mirrors/so/Soundflower

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/24 8:19:52

Source Insight 4.0深度解析:大型C/C++项目代码理解引擎

1. 这不是IDE,是代码考古现场的探照灯——Source Insight 4.0到底在解决什么问题? Source Insight 4.0不是另一个“写代码的编辑器”,它是一套专为 逆向阅读、大型遗留系统分析、跨模块逻辑追踪 而生的代码理解加速器。我第一次把它装进公司…

作者头像 李华
网站建设 2026/8/24 8:18:15

物理信息强化学习:为移动智能体注入安全导航的物理直觉

1. 项目概述:当移动智能体需要“物理直觉”时,我们谈什么最近在折腾一个移动机器人项目,目标是让它在一个动态变化的室内环境里自主导航。一开始,我们直接上马了经典的强化学习(RL)框架,让智能体…

作者头像 李华
网站建设 2026/8/24 8:16:47

2025年如何获得高性价比服务器呢?

大家是不是想获得一台服务器,但服务器却太贵了呢? 今天我就告诉大家一个便宜又好用还免备案的服务器 首先大家先打开雨云的官网 雨云 - 新一代云服务提供商 然后点击 登录/注册 然后进入这个界面弄一个账号 进入主界面后点击云服务器 点击购买云服务器 进去后…

作者头像 李华
网站建设 2026/8/24 8:16:06

数学建模必备:插值与拟合算法原理、实战与避坑指南

1. 项目概述:为什么说插值与拟合是数模的“空气与水”?搞数学建模的朋友,尤其是参加过国赛、美赛的,应该都听过一句话:“得数据者得天下”。但现实是,你拿到的数据往往不那么“天下太平”——数据点稀疏得像…

作者头像 李华
网站建设 2026/8/24 8:16:05

Remmina:零门槛Linux远程桌面连接,双击即用

Remmina:零门槛Linux远程桌面连接,双击即用 【免费下载链接】Remmina Mirror of https://gitlab.com/Remmina/Remmina The GTK Remmina Remote Desktop Client 项目地址: https://gitcode.com/gh_mirrors/re/Remmina 凌晨三点被叫起来连一台海外测…

作者头像 李华