验证 Hi-Res 从 FLAC 转 ALAC 是否有损

前言

虽然对国内的音乐平台很不屑,但姑且不考虑是平台当中的假无损问题,在推动音乐正版化的进程中他们确实功不可没,人们对音乐音质的追求在一定程度上是受其广告宣传的 320K MP3 和无损音乐影响而展开的。

在对音质的追求中无可避免地会认识到 Sony 所推出的 Hi-Res,而把从 mora 购买或在论坛上分享获得的 Hi-Res 音乐通常都是 FLAC 格式。如果你有使用 iTunes 管理音乐的经历,那必然会了解到 iTunes 是无法管理 FLAC 格式的音乐。所以把 FLAC 格式的 Hi-Res 转换为 Apple 家的 ALAC 的无损格式成为整理收藏本地音乐的一个不可或缺的环节。

但有一次经历,在使用 Foobar2000 转换格式之后,发现转换后的 ALAC 音乐文件的 bit rate(比特率)从 3800kbps 变成 2900kbps。「无损转换不会丢失和破坏音乐文件」在我心中确实有了概念,但网上太多神论的发表确实一定程度上动摇了我对这一概念的信心。为确保自己转换之后不会丢失音频信息和降低音质,我决定做了一个实验,验证一下心中的答案。

TL;DR

结论:FLAC 格式的 Hi-Res 转 ALAC 是无损转换!

具体内容

如果对于 TL;DR 的结论不满意,想看我是如何验证的可继续看。

参考到某分享论坛的 帖子 得到启示,了解到 mora 等数字音乐贩卖平台的 FLAC 文件是使用 Uncompressed FLAC 的封装方案,具体可理解为 Uncompressed FLAC = WAV(PCM) + Tags。这种 Uncompressed FLAC,我常使用的 Foobar2000 的音乐格式转换中没有这一选项(只能从 FLAC Level0 ~ Level8 中调节),甚至在网上无论中文圈还是英文圈都极少有人讨论,后来我在英文圈中得知到了 dBpoweramp 自带有转换为 Uncompressed FLAC 的功能,我才考虑进行一次实验与验证。

验证的基本方法

安装 dBpoweramp,转换并反向转换格式,例如 FLACALACFLAC 之后,再 FLAC1 & FLAC2WAV1 & WAV2,每次转换都检查采样比特(Sample Rate)、采样比特(Sample Size)、频谱图、文件大小。

验证举例

以 TRUE 的 《Lonely Queen’s Liberation Party》 Hi-Res 音源为例子,转换工具为 Foobar2000 和 dBpoweramp Music Converter。

转换之前的 FLAC 信息(图组 1)

  • 采样率:96 KHz
  • 采样比特:24 bit
  • 文件大小:150.28 MB

Hi-Res 原始数据

Hi-Res 频谱图详细信息

转换之后的 ALAC 信息(图组 2)

  • 采样率:96 KHz
  • 采样比特:24 bit
  • 文件大小:98.02 MB

转换 ALAC 数据

ALAC 频谱图详细信息

从 ALAC 反向重新转换的 FLAC(图组 3)

  • 采样率:96 KHz
  • 采样比特:24 bit
  • 文件大小:150.01 MB

重新转换的 FLAC 数据

重新转换的 FLAC 频谱图详细信息

转换前后的两个 FLAC 文件同时再转换为 WAV 格式(图组 4)

  • 采样率:96 KHz
  • 采样比特:24 bit
  • 文件大小:148.33 MB

源文件转 WAV 数据

源文件转 WAV 频谱图详细信息

反向转换文件转 WAV

  • 采样率:96 KHz
  • 采样比特:24 bit
  • 文件大小:148.33 MB

反向转换文件转 WAV 数据

反向转换文件转 WAV 频谱图详细信息

结论分析

从前三组图我们能清楚看到,经过一次转换并反向转换后,三个音乐文件的采样率、采样比特没有变化,变化具体是表现在 ALAC 的比特率减少和最终反向转换后文件大小相差的 0.27MB 之上,考虑到软件封装的算法问题,这种算法误差在心理上是可以接受的。

而为了确保连这算法误差都消灭,我在第四组中在一次固定 WAV 这一恒定目标的格式作为不变量。将转换前后的 FLAC 同时转同一个格式,最终获得的两个 WAV 文件完全一致,无论是采样率、采样比特、比特率、文件大小、频谱图。由此判断,FLAC 格式的 Hi-Res 转 ALAC 是无损的。

最后在 Telegram 上与一位音乐器材专业相关的群主聊了一下(聊天链接),得知一般情况下,但由于算法不一样,只要采样率和采样比特不变,无论其他属性(如比特率和文件大小)怎么变,都基本上可以判定为无损转换。

以上就是整个验证过程,时间有限,例子有限,不算严谨,但依靠勉强能说得过去的对照组还是能说服我自己。在国内外都没找到相关完全说明情况的文章、资料,如有错误和纰漏,敬请指正。