我做了个 macOS 菜单栏音频工具,可以同时控制多个输出设备的音量和延迟

answer24 2026-07-19 16:10 1

1. 事情是怎么开始的


我用 Mac 的时候,常年都会接一块显示器,有时候还会接入蓝牙音箱。平时系统只能选择一个默认输出,我就在想:既然面前有两三个能发出声音的设备,为什么不能让它们同时发声?


我上网找了攻略,发现可以用系统内建的“音频 MIDI 设置”创建多输出设备。声音虽然能同时出来,但操作很繁琐:没有一个好用的总音量控制,也不方便分别调整 AirPods 、显示器和其他音箱。更麻烦的是不同设备会有延迟,声音不同步的时候,听起来就像在 KTV 里一群人在抢麦。


2. 为什么还是决定自己做


我没有一开始就直接做,因为很怕自己变成那种做出十分钟 Demo 就宣布解决问题的自嗨开发者。自己遇到的问题,可能已经有人解决过,也可能市面上早已有成熟产品;如果不先研究,只是在浪费 token 、重复造轮子。


我最早看到了 GitHub 上的 FineTune ,但是它设计的理念是针对单个 APP 音量调节,对于多设备输出,也是从 APP 进入,不太符合我的习惯。还有就是类似的 APP ,他们都没有针对多设备同步时候,无线或者蓝牙音箱延迟进行调整的功能。我有个蓝牙音箱,总是比 Mac 的自带音箱慢一点。 还有收费的 SoundSource 等等,他们的虚拟声卡功能更专业,不过也没有针对同步功能进行优化。
所以才开始做 Tutti 。


https://youtu.be/s_t-8aCeBWE


3. Tutti 现在能解决什么


Tutti 控制面板

Tutti 是一个常驻 Mac 菜单栏的音频控制工具。最基础的功能,是在面板里勾选多个本地输出设备,让 MacBook 扬声器、AirPods 、蓝牙音频设备、USB 音频设备或者 HDMI 显示器同时播放,并分别控制音量。


它也可以按 App 调整音量和分配输出。例如,可以让某个 App 从显示器播放,另一个 App 从 MacBook 扬声器播放。或者和你朋友一人一副 AirPods 看电影,苹果在 iPhone 上实现了这个 AirPods 同播的功能,我不知道为什么在 Mac 上却没有?


我还做了左右声道拆分,可以把左、右声道分别交给两个输出设备,就可以实现戴耳机才能实现的立体声效果,来听一些左右声道的歌非常爽;


Tutti 立体声


你也可以单独调整某台设备的延迟。通过延迟补偿,可以尽量把不同设备听到的声音对齐。


Tutti 延迟


上面所有的设备都保存成预设一键切换,我甚至做了 iOS 的 APP ,可以当做遥控器控制 Mac 上的 Tutti 。


4. 我在实现上的取舍


Tutti 是原生 macOS 应用,为了不做的那么“重”,它只用 CoreAudio 来实现,不需要安装虚拟音频驱动或系统扩展。退出后会恢复系统原来的音频输出。应用本体支持 macOS 13 及以上;按 App 控制音量、EQ 和输出需要 macOS 14.4 及以上。


这是我第一次真正把一个 App 从想法、代码、测试,一直做到官网、支付和售后。整个流程走完后,我最大的感受是:Vibe coding 做出一个能运行的玩具并不难,但要把它做成一个稳定、有人愿意使用的产品,需要花更多时间处理兼容性、反馈和各种边缘问题。


第一版虽然很快就做出来了,但我不知道功能优先级应该怎么排,也不知道是否真的有人需要。后来找了一些用户测试,根据他们使用的设备、实际需求和遇到的问题,持续迭代了一个多月,才决定正式拿出来分享。


5. 已知限制和商业化思考


目前已知的主要限制:



  • AirPlay 设备不能加入 Tutti 的多输出组合;

  • 部分 App 或新的 macOS 测试版可能存在 Core Audio 兼容问题;

  • 应用音量和应用输出功能需要 macOS 14.4 及以上。


这个产品在我想开始做的时候,我就决定它一定是一个大部分功能免费,但是呢,专业功能或者说某些痛点功能是进行收费的。因为我不想把它当做一个 demo 或者说一个玩具来去做,我希望它是一个成熟的产品,那它就是要面向市场去获得一些商业化上的正反馈。所以 Tutti 的基础功能可以免费使用,Pro 提供 7 天试用,之后是一次买断。


6. 想听听大家的真实使用方式


我现在最想了解的是:



  1. 大家平时会给一台 Mac 同时连接哪些音频设备?

  2. 在多设备输出、应用音量和应用输出分配之间,大家最常遇到的问题是什么?


欢迎:https://tutti.barrybarrywu.com

最新回复 (2)
  • sleek7671 07-19 16:37
    1
    可是,有 SoundSource ,不过看起来 UI 没有你的好看
  • answer24 楼主 07-19 16:50
    2
    @sleek7671 嗯,刚开始做 Tutti 的时候,我就做个调查了。SoundSource 做的很专业了。不过 Tutti 不能算是它的“替代品”。
    Tutti 和它的功能有交集,但产品重点不同:SoundSource 更像“系统级音频调音台”,强项是单独控制每个 App 、全局 EQ 、耳机校正以及 AirPlay 。更是和音效处理和专业插件有比较高的场景,当然价格也更高。
    Tutti 的定位更多是面向普通用户,UI 和 UX 上更易用,核心则是多输出设备:例如让 Mac 扬声器、显示器和 USB 音箱同时播放,并分别调整每台设备的音量、延迟和左右声道,还可以保存预设、设置设备优先级,以及通过 iPhone 遥控,目前手上还在尝试,把 iPad 、iPhone 也作为网络音箱加入到多设备同播中。应用音量是 Tutti 的一部分,但不是唯一重点。
    两款产品方向不同,不一定是谁完全替代谁。
* 帖子来源V2EX
返回