我一直不理解:高音质播放器为什么要通过复杂的「播放设置」来标榜「专业性」?按照 Dieter Rams 的「设计十诫」,这样的做法甚至连「诚实」都算不上。
高音质播放器早已多如牛毛,macOS 上也不例外。如果你收藏了一些「无损音乐」,或者使用 USB 解码器,下面这一长串名字1,至少有一两个会看起来眼熟,也许某个已经「荣登」你的信用卡账单了。
在「位元完美」2(Bit-Perfect) 的范畴内3,本文「解密了」macOS 上高音质播放器的核心功能、设置与营销技巧。无论你对正在使用的播放器是否满意,这些干货都值得你看看。更重要的是,别错过文末的「应用推荐」。
与技术相比,对人们有信心更为重要。要相信他们基本上是善良、聪明的。如果你给他们工具,他们会用这些工具做很棒的事情。
—— Steve Jobs (1955-2011)
从这段话中不难看出「内容创作场景」始终是 Apple 产品的驱动力;而「内容消费场景」也往往得益于此。以「音频回放」为例:
macOS 上主流的高音质播放器全部基于以上接口与协议。
你也许有这样的疑问:从年份上看来,这些技术似乎已经「廉颇老矣」,与近两、三年出现的「计算音频」、「空间音频」等摩登词汇相比,「尚能饭否」?其实不然。每套接口对应着不同的设计目的。对于与「输出设备」打交道较多的「高音质播放」场景,这些接口仍然是最佳选择,因为:
好了,我们开始梳理一下 macOS 上高音质播放器的关键功能与设置。
音频内容的「采样率」和「位深」,有时会被比喻为监视器的「分辨率」与「色深」。营销人员胆子再大些,还能把一张满是感人马赛克的图片,和另一张300dpi的图片,类比成「44.1kHz」和「DSD256」…… 下次再见到这样的宣传,请勿当真。
当你播放一张 24/486格式的专辑,而解码器却工作在 24/192 状态时,并不会听到 Papi 酱视频里那样的倍速音效 —— 在你的 Mac 上,「操作系统」或「播放应用」用 DSP 算法完成了「采样率转换」(SRC)操作7。有些解码器具备「内部升采样」功能,这意味着你听到的音乐可能是双重 SRC 的产物。
对「高音质播放」而言,应当在 Mac 上进行「采样率转换」么?对大部分用户而言,并不建议。这在「数字音乐」和「输出设备」之外,引入了新的「影响因子」。这个「影响因子」并不透明,还受到诸如参数配置、应用程序版本、商业授权等因素的影响。
当这个「影响因子」变化时,你将无法独立地评估系统中其他部分的性能,也不能回答「从 HDTracks 买的高格式的『吉普赛之歌』是否比 CD 更好听」这样的问题。
使用 macOS 自带的「音频 MIDI 设置」应用,你可以手动地将输出设备的「采样率」与专辑格式相匹配,再配合「位深」和「音量」设置,也能做到「位元完美」(Bit-Perfect)的回放。这明显不现实。
根据音乐内容格式,自动调节输出设备的「采样率」,是「高音质播放器」的必备功能。
「位深」亦称采样精度。对 USB 接口的解码器而言,「界面位深」可以理解为 USB 线缆上传输的「数据格式」8。
在 Audio MIDI Setup 应用中,你同样可以手动调整输出设备的「界面位深」。
USB 音频协议本身支持 IEEE-754 格式的 32 位浮点数,但只被专业设备采用。所有的「Hi-Fi 解码器」都采用有符号整数作为「界面格式」。有些用户倾向于将其设置为设备支持的最大值(如 32 位整数),以降低「低音量下的量化噪音」9。这个主张是否成立,需要一些补充信息:
有些「输出设备」的「位深指示」能显示实际「内容位深」,而非「界面位深」10:无论你把「界面位深」设置成 32 位还是 24 位,当「位元完美」地播放 CD 内容时,屏显都是「16 位」。这个功能能识别一部分通过「简单移位」生成的「假高格式」音乐。
根据音乐内容格式,自动调节「输出设备」的位深,是「高音质播放器」的必备功能。
部分高音质播放器提供了「整数模式」(Integer-Mode)设置。这是一个 macOS 的特有概念。如果该应用同时有 Windows 或者 Linux 版本,你在那里将找不到这个选项。
一个(简化的)数字链路「大致上」可以这样表示:
「驱动程序」根据「音频设备」所要求的 界面格式(如 24 位整数)传输数据,却允许播放器按照 虚拟格式(如 32 位浮点数)提供数据。
「整数模式」应由高音质播放器自动启用。一定要将这个设置「暴露」给用户,或者大肆鼓吹,则是「营销需要」。
通常,你在刷 B 站的同时,也能听到 QQ 提示音 ——「驱动程序」允许多个「应用程序」同时使用一个「输出设备」。但是一个「输出设备」只有一路输入啊?没关系,「驱动程序」会「混音」。不过,有一些场景下,你可能不希望或者不能允许「混音」的发生:
「独占模式」解决了这个问题。独占的「输出设备」只接受一路输入,其他应用也无法对其进行其他操作。为了回放 DSD 内容,和避免其他应用的干扰,高音质播放器应当自行完成「独占模式」的设置。
「I/O 缓冲」(I/O Buffer Size)是个「连续值」(如 512 个采样),有时通过滑块调节,有时会以 Mode 1、Mode 2 等「神秘形式」存在。
我们知道「驱动程序」并不生产音频内容,只是音频内容的「搬运工」。为了将音频内容发送至「音频设备」,「驱动程序」会定期向「应用程式」请求音频内容。这称为「I/O 操作」(搬砖)。但是搬砖的节奏是快是慢?对于专业应用来说,太快或太慢都不行。
「I/O 缓冲」调节的就是搬砖节奏 —— 缓冲越大,频率越低。因为对「输出延迟」没有要求,「高音质播放」应当增大「I/O 缓冲」来降低「CPU 占用率」。
高音质播放器应当自动为设备选择最大的「I/O 缓冲」。让用户自己来设定?妥妥的「营销伎俩」罢了。
就高音质播放而言,「I/O 占比」(I/O Procedure Duration)是个「智商税」设置。如果你找不到这个设置,那最好。
虽然名字挺专业,但理解起来并不难。如果「驱动程序」每隔 1 秒钟搬运一次数据(「I/O缓冲」= 1 秒),从你在 Garage Band 里敲下军鼓,到从扬声器听到声音,最长要等多久?你可能想抢答:「1 秒种」!但正确答案是「可能要 2 秒种」。
「驱动程序」请求音频内容之后,不会让「音频设备」立即读取。「驱动程序」知道,「应用程式」最长需要「1 秒种」才能造出来这「1 秒钟」的音频内容。如果在第 1.0 秒「驱动程序」向「应用程式」请求数据,「驱动程序」通常让「音频设备」在第 2.0 秒读取音频内容,最早这时你才能听到军鼓声。
有些「专业应用」不接受这样的高延迟,他们向「驱动程序」信誓旦旦地承诺:「哥,我是个快手,填满这『1秒钟』的『I/O缓冲』我连『0.1秒钟』都不用,你就让『音频设备』在『0.1秒钟』以后来读就行」。凭着这张「承诺书」,输出延迟一下子就减少了「0.9秒钟」。在 macOS 平台下,这个「承诺书」就是 I/O 占比(IOCycleUsage),用途是帮助「专业应用」和 I/O 延迟斗智斗勇。
显而易见,对于「高音质播放」场景,降低「0.9」秒的延迟,没有任何意义。
有时也称作「缓存大小」、「缓存空间」等,设置方式既可能是个开关,又可能是以 MB 或者 GB 为单位的内存空间大小。
你可能以为「内存播放」特别酷:输出设备可以直接访问 RAM 里面已经「无损解压」的音频。而现实却是残酷的:而当你固执地把 10 GB 的 DSD 256 一次性写到「内存堆」里,macOS 不得不把他们再次「交换」回固态硬盘上。
这是一个「智商税」设置,满足了和下面「系统优化」一样的「纯营销目的」。
这同样是一个「智商税设置」。如果你的「高音质播放器」里找不到这个设置,那就对了。
「关闭一些系统服务,降低 CPU 占用率,就能提升音质」—— 这套比「金坷垃」更容易上口的「营销话术」,虽然早在 10 年前就已被证伪,但仍然出现在一些「高音质播放器」里,原因就不过多解释了。
文末介绍的 Tonal 有着比一些「高音质播放器」更低的 CPU 占用率(欢迎自行测试)。仅仅这一点,无法为「播放音质」背书。
大部分 Mac 用户无需时刻关注 CPU 占用率。诊断如「运行迟缓」等问题时,从 macOS 的「活动监视器」入手,了解各种系统资源的使用情况,并分析其合理性,方为明智之举。相信「高音质播放器」的「系统优化」功能,无异于被收了「智商税」。
人类使用工具,而非工具使用人类;不要被这样的「营销话术」洗脑,成为工具的奴隶。无论是「系统服务」还是「第三方服务」,都不是「播放音质」的拦路虎。
我一直不理解:高音质播放器为什么要通过复杂的「播放设置」来标榜「专业性」?按照 Dieter Rams 的「设计十诫」,这样的做法甚至连「诚实」都算不上。
对于无需配置 DSP 参数、音量调节亦交由输出设备(如 USB 解码器)来完成的「位元完美」(Bit-Perfect)播放器,没有正当理由把这些设置暴露给用户。
为了验证这个想法,我打造了 Tonal —— macOS 平台上的高音质播放器。
在 Tonal 的创作过程中,我的目标十分明确:Tonal 可以有「用户偏好」,却不能引入任何「播放设置」。使用 Tonal 播放音乐,你的预期是明确的:从 CD 格式到 DSD 256,只要设备支持,回放就一定是「位元完美」(Bit-Perfect)且处理得当的。
这种「简单」的高音质播放体验,是其他应用无法替代的。
通过 Tonal,你能了解某个 USB 解码器的真实规格。从下图中,Tonal 报告了我的 USB 解码器支持:
从技术上,所有「位元完美」(Bit-Perfect)的正确回放,在「理论上」与「实践中」上并无任何差别;从伦理上,我不应提供「主观听感」等诱导性描述。你可以在 加拿大博主 @archimago 的博客 上了解这一事实。
如果你依然好奇,或者认为「高音质」的产品都得靠「主观听感」来「收货」,我只能以截图的方式「引用」两位用户的主观听感。
本文介绍了 Tonal 是如何成为一个「零配置的高音质播放器」的。不过,在介绍 Tonal 的系列文章中,最精彩的并不是这一篇:
Tonal 只有 25 MB,是名副其实的「轻量级」应用。你可以 在 Mac App Store 免费下载 。
免费版的 Tonal 在功能与使用时间上都没有限制,但最多添加 20 张(CD 或高格式)专辑,相信能支撑您构建一个心爱的「迷你收藏」。
超出之后需要一次性内购解除限制(非订阅)。推广期内国区定价 ¥348(不到其他区定价 $99.99 的一半)。有一个比付费解锁更好的办法:如果您评测了 Tonal,欢迎联系我领取内购兑换券11;如果您进行了深度评测,还会额外再提供一张兑换券,方便您赠送挚友。
下载之前,请先阅读 《Tonal 使用手册》(英文版)。
最后,真诚地寻找一位「创始合伙人」,让 Tonal 的体验越来越美好,能给更多的爱乐者带来「小确幸」!欢迎私聊。
> 下载 少数派 2.0 客户端 、关注 少数派公众号,解锁全新阅读体验 📰
> 实用、好用的 正版软件,少数派为你呈现 🚀