Echo Music Bit-perfect USB DAC 输出详解
USB DAC 是什么
USB DAC(USB Digital-to-Analog Converter)是外接的硬件音频解码设备。普通手机用的是内置的 DAC(集成在 SoC 里),如果你追求更好的音质,可以通过 USB-C / Lightning 外接一个独立 DAC(比如 Fiio、Topping、Hidizs、iFi 等品牌的小尾巴)。
外接 DAC 的瓶颈之一是:Android 系统的音频框架(AudioFlinger)会强制重采样所有音频到 48kHz——不管音源本身是 44.1kHz 还是 192kHz,进系统后一律被重采样到 48kHz 再送出去。这对高保真音频是一个损失。
Bit-perfect 是什么
Bit-perfect(位完美) 指的是:音源的每一个采样、每一个 bit 原封不动地送到 DAC,不经过任何重采样、重量化或其他处理。
对于发烧友来说,这是一个硬指标——你花大价钱买的高解析 DAC,如果上游被重采样了,整个链条就白搭。
Echo Music 怎么实现 Bit-perfect
Echo Music 在播放引擎里做了一层绕过 Android 重采样的直通通道:
- 自动检测 USB DAC:插上后 Echo Music 会自动识别
- 匹配原生采样率:从音频文件里读出它的原生采样率(44.1kHz / 48kHz / 96kHz / 192kHz 等)
- 直接以该采样率打开 AudioTrack:不请求系统重采样,让 AudioFlinger 直接把原始采样送出去
- DAC 端自动适配:好的 DAC 支持多采样率,收到什么就解什么
这一套链路让 Echo Music 在 Android 上做到了和桌面 Linux 环境下的 MPD / Foobar2000 类似的 Bit-perfect 输出。
哪些设备支持 Bit-perfect USB DAC
Echo Music 能识别的 DAC 取决于你的 Android 系统版本和设备驱动:
- Android 7.0+:系统原生支持 USB DAC 的 AudioTrack 直出接口(
AudioTrack.MODE_STATIC+setNativeOutputSampleRate()) - 大多数 USB DAC:遵循 USB Audio Class(UAC)协议,插上就能识别
- 少数特殊 DAC:需要专用驱动(一般只在 Windows / macOS 有,Android 上不行)
如果 Echo Music 识别到了 USB DAC,在「设置 → 音频输出」里会出现一个「启用 Bit-perfect USB DAC」的开关(默认自动开启)。
Bit-perfect 有什么前提条件
开启 Bit-perfect 输出需要满足:
| 条件 | 说明 |
|---|---|
| 音源本身的采样率要高于 48kHz | 如果音源是 44.1kHz(CD 质量),Bit-perfect 输出就是 44.1kHz → DAC → 直接解,不重采样 |
| 你的 DAC 支持该采样率 | 好 DAC 支持 44.1 / 48 / 88.2 / 96 / 176.4 / 192 / 352.8 / 384kHz 多档 |
| 不走蓝牙 | Bit-perfect 只能走 USB 有线,蓝牙本身有编码压缩(LDAC / aptX Adaptive 也只是近无损) |
| Echo Music 是直接输出 DAC | 不要接中间的其他音频处理链路(如某些带 DSP 的转接器) |
Bit-perfect 开启后会怎么样
- 播放时,设置里能看到当前音频输出模式显示「Bit-perfect → 44.1kHz → USB DAC」
- 音量调节会绕过 Android 系统音量调节,直接在 DAC 端调节(如果 DAC 支持)
- 有些 DAC 会在 LED 显示屏上显示当前接收到的采样率——对比音源的原始采样率和 DAC 显示的,就是验证 Bit-perfect 的最佳方式
Bit-perfect 与均衡器的冲突
Bit-perfect 的核心要求是「不做任何处理」。如果你打开了 Echo Music 内置的均衡器,那么:
- 均衡器开启 = Bit-perfect 自动关闭
- 均衡器会对音频做 DSP 处理,处理后的采样率可能变化,无法做到 bit-perfect
- 想 Bit-perfect 就必须关所有 EQ、所有 DSP、所有音频特效
这是不可妥协的冲突——发烧友要么听 Bit-perfect 原始信号,要么听带均衡器修饰过的信号,二选一。
验证 Bit-perfect 是否真的生效
几个办法:
- DAC 自身显示:好 DAC 的 LED 会显示接收到的采样率,对比音源原始采样率是否一致
- Echo Music 设置页:播放时进「设置 → 音频输出 → 当前输出状态」,它会显示实际输出的采样率
- 第三方 App 辅助:用 USB Device Info 等 App 确认 DAC 是否以原生采样率被打开