usb外置声卡原理(USB声卡解码器连接Android手机时问题的出现和分析)(1)

OPPO HA-2 便携式耳机放大器及解码器-捆一个绑

usb外置声卡原理(USB声卡解码器连接Android手机时问题的出现和分析)(2)

FIIO 飞傲 K1便携式USB声卡-对比Nexus6P手机

由于乐之邦Monitor 06 Plus优秀的音质表现、轻薄的外形、MicroUSB接口以及支持外接供电接口的设计,仿佛就是一款为手机而生的外置声卡。而智能手机早已成为多数用户的主力“个人电脑”平台的今天,手机外接声卡不仅是现实的市场需求,更是占了06 Plus用户数量的一半以上。而且越来越多的厂商也推出了专为搭配手机而设计的声卡、耳放和解码器等产品。

一些购买需求但还处于观望状态的读者,由于担心手机连接USB这类音频设备时是否会存在兼容性问题,希望能看到在不同品牌Android智能手机下的运行表现,同时也考虑让硬件相对落伍的旧手机和06Plus组合成为便携式播放器使用。这些因素也激发了Soomal编辑们的兴趣进行了简单的测试。然而就是这些偶然的因素集合,却让我们发现了Android系统和乐之邦USB声卡解码器组合时出现了SRC问题。

usb外置声卡原理(USB声卡解码器连接Android手机时问题的出现和分析)(3)

Musiland 乐之邦 Monitor 03 Plus USB声卡

usb外置声卡原理(USB声卡解码器连接Android手机时问题的出现和分析)(4)

Musiland 乐之邦 MD30 Plus USB外置解码器

虽然测试机型样本数量非常有限,但使用手机搭配乐之邦SuperDSP210核心的USB音频设备确实会出现一些问题,其中而最关键的则是在大多数Android手机上,外接03 Plus等声卡解码器时均运行在192kHz单一采样率上。虽然看起来192似乎比48高出不少,但对于目前绝对主流的44.1kHz采样的音乐文件或云音乐资源来说,还是会将采样率非整数倍转换[也就是Soomal经常提起的SRC问题]至192kHz后播放,这类SRC现象在音乐应用中是应当避免的。

通过这次测试引发的一系列疑问,首先要解答的就是Android系统设备在使用其它USB音频方案时是否存在相同的192kHz SRC现象。对于移动音频发烧友和捆绑党来说,毕竟除了乐之邦SuperDSP系列产品外,目前市面上还有相当数量的兼容USB Audio Class 2.0[UAC2]的音频设备可供选择。这种奇异的SRC现象是不是特定厂商的设备[如06Plus]在Android手机上才会出现?于是我们找来的几款市面上流行的USB音频方案设备,通过它们的SPDIF数字输出至MD30解码器,查看其连接手机工作状态下系统默认内置音乐播放器在播放44.1kHz采样率测试信号时,声卡实际的输出采样率。参与测试的有乐之邦06 Plus、对供电要求较低的数字时代2、某XMOS纯数字声卡、某Amanero开源USB方案、C-Media CM6631方案,以及一款仅支持到48kHz采样率的PCM2706作为低端或较老的USB音频设备参考。

usb外置声卡原理(USB声卡解码器连接Android手机时问题的出现和分析)(5)

C-MediaUSB音频IC

usb外置声卡原理(USB声卡解码器连接Android手机时问题的出现和分析)(6)

Google 谷歌 Nexus 7 平板电脑 - 外接XMOS USB数字声卡

usb外置声卡原理(USB声卡解码器连接Android手机时问题的出现和分析)(7)

采用Amanero方案的ARM CPLD架构USB2.0纯数字声卡

usb外置声卡原理(USB声卡解码器连接Android手机时问题的出现和分析)(8)

Musiland 乐之邦 Digital Times 2 [数字时代2]USB纯数字声卡

usb外置声卡原理(USB声卡解码器连接Android手机时问题的出现和分析)(9)

英伟达 nVIDIA Shield TV

usb外置声卡原理(USB声卡解码器连接Android手机时问题的出现和分析)(10)

Google 谷歌 Nexus 6P 智能手机

参与测试的Android设备有vivo Xplay6[升级至Android 7.0]、小米Note Pro[MIUI9]、Google Nexus 6P[Android 8.0],Nexus 7[运行Android 6.0,CM13.0]以及NVIDIA Shield TV[运行Android 5.1],包含了手机、平板机顶盒等主要的Android设备类型。为了增加参考性,还加入了微软Lumia 950以及苹果iPhone 5C两款非Android机型进行对比。

机型\音频设备 06 Plus数字时代2某XMOS某CM6631某Amanero某PCM2706
vivo Xplay6Android 7.1无法连接
小米Note ProMIUI9无声19219219219248
Nexus 6PAndroid 8.0无声44.1
Nexus 7Android 6.048或176.419219219219248
Shield TVAndroid 6.0无声19219219219248
iPhone 5C44.144.144.144.144.144.1
Lumia 95044.144.144.144.1无法连接44.1

虽然参与测试的机型很少,但从运行结果来看,几款Android设备搭配不同USB音频方案设备的表现已经有一定的代表性。Xplay6在更新后OTG功能被屏蔽,U盘等设备亦无法使用,当然Xplay6的自身音质表现已经够好,用户对外接USB声卡的需求并不迫切。

到这里可以看出,我们在上一篇文章中发现的疑问,在这里有了一些初步的答案。首先第一个问题就是乐之邦兼容UAC2驱动的SuperDSP设备中,06 Plus与Android系统设备确实存在一些兼容性问题,虽然系统可以识别并且将默认音频输出设备切换至06 Plus,音乐可播放,但系统内置音乐播放器和云音乐应用无任何声音输出,并且可以确认的是与供电无关。唯一的例外是运行CyanogenMod13[基于Android 6.0]的Nexus 7可发声,但采样率会从48和176kHz中随机锁定。而且,06 Plus在树莓派的数字音乐播放系统中同样会锁定采样率,无法播放44.1kHz以外的音频文件。这个问题可能是来自06 Plus内部硬件或固件的变动,导致了Android/Linux系统自带的USB音频驱动无法正确设置当前采样率,这也解释了06 Plus在三星Galaxy S8 上为何声音异常。当然,06 Plus在这些Android设备上仍可以通过海贝音乐实现正常的音乐播放。通过升级系统能否解决问题?在Nexus 6P升级至Android 8.0后,外接USB声卡反而无法在海贝音乐以外的音乐应用中发声,仅能通过海贝音乐使用。

usb外置声卡原理(USB声卡解码器连接Android手机时问题的出现和分析)(11)

Nexus 7连接数字时代2在系统自带音乐播放应用下的频响扫描

usb外置声卡原理(USB声卡解码器连接Android手机时问题的出现和分析)(12)

小米Note Pro外接数字时代2在海贝音乐的频响扫描

而大多数Android系统设备在连接USB声卡解码器时,确实存在采样率锁定的问题。无论是03 Plus、数字时代2、MD30Plus等06 Plus以外的乐之邦SuperDSP设备,还是XMOS、C-Media等异步USB音频方案,系统默认播放采样率都锁定在192kHz上,而主流的44.1kHz音乐也会通过非整数倍SRC重采样至192kHz播放。而通过频响扫描和主观的实听对比,SRC带来的音质劣化趋势和手机自身耳机输出的SRC问题接近,声音解析力会有所下降,变得粗糙,相对把同样的USB声卡从PC转至手机带来的音质下降要明显一些。另外,HTC U11的耳机线搭配Android手机时也存在相同的SRC问题,只是对许多手机用户而言,这根耳机线带来的音质提升是一个巨大的飞跃;Android机顶盒用户外接USB声卡也是相似的情况,此时SRC带来的缺点自然就不那么突出了。

usb外置声卡原理(USB声卡解码器连接Android手机时问题的出现和分析)(13)

HTC U11智能手机 - USB Type-C至3.5mm模拟耳机输出转换线

如果用户需要一个过气手机外接USB声卡当“捆绑党”使用,iPhone Camera Kit似乎是最稳定的选择,Lumia 950将采样锁定在44.1kHz下,对云音乐应用的音质不会产生什么负面影响,但无法满足高清音频播放的需求。 无论从音质还是电池续航考虑,Android设备无论是自身的模拟输出还是外接USB声卡,SRC都应当尽量避免。但为何Android外接USB音频设备时,会将采样率提升至192而不是更常见的48kHz?外接设备的SRC问题能否解决?我们将对Android的音频子系统进一步的深入分析后给出答案。

,