因为发现自己听 Apple Music 的环境「设置好像不太对」,就借这个机会把 数字音频到底经过哪些环节、又在哪里被改写,整理成了这篇笔记。


0. 前提:我的环境

先确认一下自己的配置。后面所有说明都以此为基础。

位置器材作用
音源Apple Music(Windows 版)流媒体・播放软件
PCWindows由操作系统中转音频
转换Steinberg UR22mk2音频接口
输出①Yamaha HS5有源监听音箱
输出②Sony MDR-900ST监听耳机

各器材的定位

Steinberg UR22mk2 —— 音频接口 Steinberg 是雅马哈旗下的音频设备与软件厂商(Cubase 的开发商)。 UR22mk2 是他家入门级的 USB 音频接口, 本来是录音用的器材,但拆开来看,其实就是把

  • DAC(数模转换器)
  • 耳放
  • 线路输出

塞进一个盒子里而已。它的底子比 PC 内置声卡好, 所以只拿来播放也有意义。最高支持 24bit/192kHz。

在 Windows 上使用需要专用驱动 Yamaha Steinberg USB Driver, 后面要讲的两个设置,其中一个就握在它手里。

Yamaha HS5 —— 监听音箱 内置功放(有源监听)。直接从 UR22mk2 的 MAIN OUT 接过来。 偏平直,低频克制。设计目标不是「让你听得舒服」,而是「让毛病暴露出来」。

Sony MDR-900ST —— 监听耳机 日本录音棚的事实标准。63Ω。 4〜8kHz 有明显凸起,同样是挑毛病取向的声音。

HS5 和 900ST 都属于「监听系」。   也就是说,这套环境从一开始就是「精度优先、愉悦性靠后」的性格。   觉得声音硬、听着累,那既不是坏了也不是设置错了,本来就是这么设计的。


1. 数字音频基础

声音是空气压力的变化(连续的模拟波形)。 为了让计算机处理它,就按固定间隔测量波形的高度,变成一串数值。

  • 采样率 —— 每秒测量多少次。单位 Hz
    • 44,100Hz(CD 规格)/48,000Hz(影视)/96kHz/192kHz
  • 位深 —— 一次测量值能分成多少级
    • 16bit = 65,536 级/24bit = 约 1,677 万级

用数组来比喻,采样率是元素个数,位深是单个元素类型的精度

为什么是 44.1kHz

采样定理(奈奎斯特–香农): 只能准确记录低于采样率一半的频率。

人耳可听上限约 20kHz → 乘以 2 需要 40kHz → 再加上抗混叠滤波器的余量 → 44.1kHz。

也就是说,44.1kHz 不是妥协值,而是理论上足以记录可听频段的数值。 这点很重要,因为在这个领域,「数字越大越好」的直觉并不成立。


2. 我这里的信号路径

Apple Music
      │  ← 音源本身的采样率(例:44.1kHz)
Windows 音频混音器
      │  ← 强制转换为「默认格式」的采样率
Yamaha Steinberg USB Driver
      │  ← 可能再次被转换为驱动设置的采样率
UR22mk2 内部的 DAC
      │  ← 数字 → 模拟
HS5 / 900ST

有两处彼此独立的设置

问题就出在这里。同一个叫「采样率」的设置项,存在于两个不同的地方。

位置设置处
Windows 侧声音设置 → 设备属性 → 高级 → 默认格式
驱动侧Yamaha Steinberg USB Driver 控制面板 → Sample Rate

这两个值不一致时,就会发生多余的采样率转换(SRC)


3. 为什么要避免转换

SRC 是从已有的采样点出发,用插值造出本来不存在的中间点的处理。

44.1kHz → 48kHz 不是整数比(147:160), 所以原有的采样点无法原样保留,全部会被重新计算。

如果 44.1 → 48 → 44.1 来回走一趟,这个处理就要跑两次。 劣化本身极其轻微。问题在于这么做什么好处都得不到

在数字域里,「什么都不做」才是最高音质。 我们要追求的状态叫 bit-perfect(原始字节流原封不动地送到 DAC)。


4. 独占模式,以及 Apple Music 的限制

有一些机制可以绕开操作系统的混音器,让应用直接输出到设备。

方式说明
ASIOSteinberg 制定的规格。低延迟。DAW 用途的标准
WASAPI 独占Windows 自带。绕过混音器
WASAPI 共享普通模式。经由混音器,强制重采样

※ ASIO 是 Steinberg 的规格并非巧合,UR22mk2 的驱动当然支持 ASIO。   但支持的是驱动这一侧,用不用则取决于应用

这次的关键就在这里

Apple Music(Windows 版)既不能用 ASIO,也不能用 WASAPI 独占。

→ 永远是共享模式。经由混音器无法避免。

→ 因此对策不是「绕过去」,而是   把各级的采样率统一,做出实际上不发生转换的状态

参考:其他环境的行为

  • foobar2000 / JRiver → 支持 ASIO 和 WASAPI 独占,逐曲自动跟随
  • Apple Music(macOS)→ 需要手动改 Audio MIDI 设置
  • iOS → 系统自动跟随曲目的采样率(最省心)

5. Apple Music 的音质层级

这次首先查出来的,是 Lossless audio 处于 Off 状态。 也就是说我一直在听 AAC 256kbps。

设置格式最高规格
High QualityAAC 256kbps有损压缩
LosslessALAC24bit / 48kHz
Hi-Res LosslessALAC24bit / 192kHz
  • ALAC = Apple Lossless Audio Codec。无损压缩(和 ZIP 是一个思路)。 解压后的数据与原始数据逐比特完全一致
  • 曲库大部分是 16bit/44.1kHz。Hi-Res 音源只是一部分
  • 「Hi-Res 需要外置 DAC」这个提示 → UR22mk2 就是那个外置 DAC。 那是给用蓝牙或内置扬声器的人看的套话,直接往下走就行

6. 实际做的设置

方针:固定 44.1kHz

曲库大部分是 44.1kHz,对齐到这里,绝大多数曲子就是零转换。

如果固定成 96kHz,44.1kHz 的曲子就全部会被升采样。 升采样不会增加信息(只是插值造出不存在的点), 理论上没有任何好处。

步骤

  1. Yamaha Steinberg USB Driver 控制面板 → Sample Rate = 44.1kHz
  2. Windows 声音设置 → UR22mk2 属性 → 高级 → 默认格式 = 24bit, 44100Hz
  3. 把「音频增强」「空间音效」关掉
  4. 把 Apple Music 的均衡器和音量校验(Sound Check)关掉
  5. Windows 音量固定 100%。音量用 UR22mk2 的旋钮调

第 5 条的理由

数字音量调节会削掉位深。 调到 50% ≒ 丢掉约 1bit 的信息。 UR22mk2 的旋钮在模拟级,所以数字数据毫发无损。

UR22mk2 特有的注意点

  • 把 MIX 旋钮打到 DAW 一侧到底。偏向 INPUT 的话,输入端子的静音噪声会混进来
  • GAIN 关小(只做播放的话用不到输入)
  • 接 HS5 用 MAIN OUT(TRS 平衡)。HS5 那边的 LEVEL 设在 -10dB 前后, 音量调节统一交给 UR22mk2 的 OUTPUT 旋钮

7. 效果的优先级(自省)

把这套环境里对音质的贡献度排个序,实际上是这样的。

  1. HS5 的摆位 —— 离墙 20〜30cm、高音单元与耳朵齐高、垫脚
  2. 房间声学 —— 反射、驻波
  3. 900ST 耳罩的状态 —— 塌了之后高频扎耳、低频泄漏。换一副 2 千日元左右
  4. 音源的品质 —— AAC 256k 还是 Lossless ← 这次发现是 Off,已修正
  5. 采样率设置 ← 这次调查的内容
  6. DAC・功放的品牌差异

越靠前越具支配性,差距是数量级的。

把第 5 条弄对,是为了「不把不正确的状态放着不管」, 而不是指望它带来戏剧性的变化。 连 AAC 256kbps 和 Lossless 的差别,能在这套环境里分辨出来就算不错了。

在添置器材之前,先把 1〜3 做好。 这就是结论。


8. 术语表

术语含义
音频接口把 DAC、放大器、输入输出端子整合在一起的外置设备
Steinberg雅马哈旗下的厂商。Cubase / ASIO / UR 系列
Sample Rate每秒的采样次数
Bit Depth每个采样的量化比特数
SRCSample Rate Conversion。采样率转换
DACDigital-to-Analog Converter
奈奎斯特频率采样率的 1/2。可记录的上限频率
ALACApple Lossless。无损压缩
AAC有损压缩。用心理声学模型抽掉信息
WASAPIWindows Audio Session API
ASIOSteinberg 制定的低延迟音频 API
bit-perfect原始数据原封不动送达 DAC 的状态
有源监听内置功放的监听音箱(HS5 就是)

补充:用工程师的说法重述

理一理,做的事情其实是这样。

  • 解压 ALAC 文件 → PCM 采样序列(字节流)
  • 让它不经任何修改地抵达 UR22mk2 的 DAC,这个状态就是「bit-perfect」
  • SRC、数字音量调节、EQ、效果器,都是改写这段字节流的处理
  • 目标是「读出来的字节流,原样递过去」

这和透传(pass-through)一条流时, 不要中间夹一层多余的编码转换是同一回事。 Windows 的混音器是只要不显式绕开就一定会介入的中间层, 而从 Apple Music 又没法绕开它。 所以这次的对策就是「统一输入输出的格式,让它无从介入」。