同频SyncHz

每一首 Apple Music,
都用它自己的采样率播放。

同频是一款免费的 Mac 菜单栏工具。它会把你的解码器自动切换到 Apple Music 正在播放的曲目采样率,从 44.1 到 192 kHz,让无损和高解析度无损原样到达耳机。需要时,再叠一层能读取 AutoEq 与 PEQdB 预设的耳机均衡。

免费开源。需要 macOS 15 或更高版本,支持 Apple 芯片与 Intel。

月光德彪西
已同步
Apple Music
96kHz
你的解码器
96kHz

24 位 ALAC,高解析度无损

  1. 44.1
  2. 48
  3. 88.2
  4. 96
  5. 176.4
  6. 192
同频的菜单栏面板与参数均衡:Apple Music 正在播放 24 位 96 kHz ALAC 的《月光》,输出锁定在 96 kHz,森海塞尔 HD 600 的 AutoEq 预设叠在实时频谱上
面板住在菜单栏里,均衡在它旁边展开。

两件事,安静地做好。

macOS 默认把输出设备固定在一个采样率,其余的曲目都会被悄悄重采样,不给任何提示。同频先解决这件事;只有你需要时,才去校正耳机。

采样率自动切换

同频读取 Apple Music 正在解码的格式,在换曲后一秒左右把输出设备切到同一采样率。改的只是你在「音频 MIDI 设置」里也能手动改的那一项。

  • 覆盖 Apple Music 全部采样率:44.1、48、88.2、96、176.4、192 kHz
  • 音源与输出并排显示,附带编码、位深与音质等级
  • 防抖处理,不会在一首歌中途来回切换
  • 可手动指定设备支持的任意采样率

耳机均衡

给 Apple Music 用的参数均衡,不需要虚拟声卡。导入预设,拖动曲线,滚轮调 Q,每副耳机各存一份配置。

  • AutoEq、PEQdB、Equalizer APO预设原样导入
  • 最多 32 段:峰值、低架与高架滤波
  • 任何采样率下都准确,按当前曲目重新拟合
  • 跟随曲目,或固定在 48 kHz,由你选择

工作台笔记。

同频是我给自己做的:桌上是 HiFiMAN Susvara、森海塞尔 HD 800 S 和 HD 600,出门带 JVC HA-FW10000,听的都是 Apple Music。下面是我最满意的几处细节。

用苹果 Accelerate 跑双精度 PEQ

最早的均衡引擎是用 Swift 手写的逐样本双二阶滤波级联。精度没问题,但 192 kHz 立体声、16 段滤波要吃掉一个 CPU 核心的 10%。现在整条级联交给 Accelerate 的 vDSP_biquadD,每次调用处理最多 1,024 帧。

Swift 逐样本实现10.1%
vDSP_biquadD,同频现在的引擎0.55%
vDSP.Biquad<Float>,快但误差 −11 dB0.61%

单精度版本一样快,却不能用:高 Q 的低频滤波器极点离单位圆太近,Float 系数放不准,而耳机预设里恰恰全是这种滤波器。所以运算坚持用 Double。音频线程上没有锁、没有内存分配;新预设通过一次原子交换送达,两组滤波器 20 ms 交叉淡化,改参数不会爆音。

读懂 AutoEq 与 PEQdB

同频使用与两者相同的 RBJ 滤波器和搁架定义,预设在它们那边是什么意思,在这里就是什么意思。微妙之处在采样率:生成器只在一个采样率下拟合参数,AutoEq 是 44.1 kHz,PEQdB 是 48 kHz,同一组参数放到 96 或 192 kHz 播放,最高的一个八度就会偏移。

PEQdB 真实预设,直接播放最高 4.3 dB
典型 AutoEq 预设,直接播放1.9 dB
同频按播放采样率重新拟合约 0.04 dB

每一段都会在当前采样率下,重新拟合出它在设计采样率下的频响;一段跟不上时拆成两段。拟合结果会缓存,切换采样率不会带来可闻的代价。

不装驱动也能接管 Apple Music

均衡使用 macOS 14.4 起提供的 Core Audio process tap:对 Apple Music 建立一个静音的 tap,送进私有的聚合设备,在那里完成滤波,再输出到你的真实设备。踩过的几个坑:

  • tap 设备自己的音频流,不要用立体声混音。混音固定在 48 kHz,96 kHz 的曲目在你拿到之前就被重采样了。
  • 注意聚合设备的输入顺序:tap 要排在设备自带输入之后,否则带麦克风输入的解码器只会给你静音。
  • 声明音频输入权限,即使什么都不录。没有它,macOS 会不声不响地拒绝 tap。

关闭均衡时,同频完全不在信号路径上。

说你的语言。

同频面板,简体中文
简体中文
同频面板,日语
日本語
同频面板,英语
English

简体中文、繁體中文、English、日本語、한국어、Deutsch、Español、Français、Italiano、Nederlands、Português (Brasil)、Русский。随时在 ⋯ 菜单里切换,不受系统语言限制。在 Finder 和启动台里,它的名字显示为 SyncHz。

一分钟装好。

  1. 下载应用

    从 GitHub Releases 下载最新的 .dmg,把 SyncHz 拖进「应用程序」。

  2. 允许首次打开

    同频暂未经过苹果公证,macOS 会拦下第一次打开。在「终端」里运行一次:

    xattr -dr com.apple.quarantine /Applications/SyncHz.app
  3. 在 Apple Music 里放一首歌

    按提示允许同频控制「音乐」。第一次打开均衡时会请求音频权限,用来让 tap 接收 Apple Music 的声音;你的麦克风永远不会被录制。

常见问题。

同频能让 Apple Music 做到 bit-perfect 吗?

关闭均衡时可以。输出设备运行在 Apple Music 正在解码的曲目采样率上,不经过重采样,同频也不经手音频。开启均衡后音频会被处理,面板会明确标注。

和 LosslessSwitcher 有什么区别?

核心思路相同,实现不同。同频额外提供耳机均衡、正在播放面板、输出设备与音量控制和 12 种界面语言,面向 macOS 15 与 26。LosslessSwitcher 是这个思路的开创者,至今依然优秀,旧版 macOS 用户推荐使用。

支持 Spotify、Tidal 或 Qobuz 吗?

不支持。同频读取的是 Apple Music 自己的播放信息,只适用于 Apple Music。

需要安装 BlackHole 这类虚拟声卡吗?

不需要。切换采样率只是一个普通的 Core Audio 设置,均衡使用苹果的 process tap 接口。无需驱动,无需管理员权限。

哪些解码器可以用?

任何能在「音频 MIDI 设置」里切换多种采样率的输出设备:USB 解码器、耳放和声卡都可以。

会收集数据吗?

不会。它唯一的网络请求,是每次启动时去 GitHub 查一下有没有新版本。没有账号,没有标识符,没有统计。