分享

史上最强数字音频格式全解析!

 SUNNY_天阳 2019-11-21

说到数字音频的音质,就不得不说CD

在说CD之前还是先解释几个相关概念:

黑胶唱片:黑胶唱片是跟CD完全不同的媒体介质,存储的是模拟信号,需要专门的turn table设备播放。

LPCD(黑胶CD):本质就是CD,只不过母带的处理方式不同,采用的碟片质量更好,有利于保存而已。与黑胶唱片完全是两个概念。

音频CD(Compact Disc Digital Audio (CDDA)),保存的是数字信号。二进制的PCM音频数据从CD读取到内存,再保存为硬盘中的WAV格式文件,不过是在头部添加了一个RIFF(资源交换文件标志)信息而已,这一过程是不会产生任何损失的。

同一设备上直接播放CD,或者播放WAV文件,效果是完全相同的。至于不同的CD机播放CD的效果不同,那已经属于音效不同的范畴了。当然,好的CD机确实是能够更准确的读取CD。但是99.9%的准确跟100%的准确在听感上是不会有多少差别的,说白了还是播放设备对音频还原以及音效处理的不同。

CD在长期保存的过程中,难免会有一些灰尘,污渍,划痕。若是保存不当,音质只会随着时间慢慢变差。类似于播放DVD视频花屏。

无损格式,顾名思义,就是没有任何损失的压缩格式。本应是毫无悬念的东西,硬是给某些人套上了差不多的名号。

证明无损格式与WAV没有任何差别很简单,将wav文件转换为各种无损格式,然后再转换回wav,用Beyond Compare对比2进制数据,音频数据没有任何差别。

说到这里又必需谈到某些人士特别执着的,所谓由于解码速度WAV〉FLAC〉APE,所以听感流畅性上:WAV〉FLAC〉APE。

事实真的是这样吗?答案自然是否定的。

首先我们来看下各种压缩格式音频播放过程:

1.从硬盘中读取一小段音频到内存中

2.解码为WAV音频数据

3.提交给声音设备处理

4.重复上述步骤

步骤1和步骤2都可能产生瓶颈,步骤1的瓶颈在于硬盘的读取速度,步骤2的瓶颈在于CPU的解码速度。

我们偶尔会遇到这种情况,在打开大型游戏的瞬间或者安装大型软件,播放的音频出现卡顿。正是由于这种体验,似乎证实了上面的流畅性的说法。然而事实却并非如此,此时的瓶颈正是硬盘满载造成的,即便是播放WAV也一样会出现卡顿。

播放压缩格式的音频都是有缓冲的,所谓缓冲就是预先解码为WAV,Foobar2000的默认时间为1000ms,也就是说你播放的这个时刻,下一秒钟的音频早已解码为WAV了(存放在内存中),所谓解码复杂度造成的流畅度问题完全是杞人忧天。

APE的解码速度跟FLAC比固然有差距,但是相对于当今的移动设备,播放个APE可以说是毫无压力。

是不是高码率的音频文件音质更好呢?其实码率并不等于音质,码率仅仅代表文件体积跟时间的比值。

假如把WAV比做一口缸,APE,FLAC,TAK等无损格式比做桶的话,MP3等有损格式就是各种大小不同的杯子。

现在这口缸里装了一桶水,把缸里的水倒到桶里并不会有任何损失。

如果把桶里的水倒到杯子里,那就有一些部分流失了。

再把杯子里的水倒回桶里,剩下的还是一杯水。

所以WAV跟有损音频的转换是不可逆的,高码率的有损跟低码率的有损之间的转换也是不可逆的。

说到APE,FLAC,TAK这几种格式,他们之间的对比如果撇开兼容性不谈的话,真正优秀的无损格式只有FLAC和TAK,APE的表现只能说是相形见绌。如果说FLAC在稍大体积领域,解码速度无人能及的话。作为APE直接竞争对手TAK,在这个稍小的体积领域,展现出了最佳的解码速度。然而闭源的TAK在移动设备上的兼容性为0%,这也是时至今日,APE依然无可取代的根本原因。每每谈到TAK,便有恨铁不成钢之意。

这几种格式的相同点:

1.支持嵌入CUE

2.支持回放增益(与其说格式本身是否支持,不如说是播放器是否支持,呵呵)

3.支持错误检测

还有一些习以为常的共同点就不说了,大家都把目光放在了他们的不同点上,其实他们本质上的差距并不大。

说说不同点:

多声道的支持:

APE不支持,FLAC,TAK支持

兼容性:

APE和FLAC都是开源的,TAK不是开源的。

开不开源与我们普通用户无关,但是开源与否从侧面影响了兼容性。

可以说FLAC的兼容性一向是最好的,不过APE和FLAC比也差不到哪里去。悲剧的是TAK,只支持Windows,想在Linux上播放还得通过Wine模拟运行,关键是其在移动设备上的支持率为0%。

错误处理方面上:

网络上盛传,APE用爆音处理错误,FLAC用禁音处理错误。

APE真的是用爆音处理吗?答案是否定的。FLAC禁音效果就很好了吗?答案依然是否定的。恰恰是这句无关紧要的舆论,被某些FLAC的支持者奉为真理,并出现了大范围将APE转为FLAC保存的举动。如果说你是因为FLAC解码速度快而决定使用FLAC,那我100%要支持你;如果你是因为这个舆论而产生了心理上的优越感的话,那我100%要站出来否定你。

关于错误产生:

1.编码的时候发生错误

概率极低,一旦出现,不是你的硬盘有问题,就是内存有问题,当然不排除CPU出了问题的可能性,本人至今从未遇到。

2.保存在硬盘里的数据发生突变

概率极低,一旦出现,你该检测一下硬盘是否出现了坏道之类的问题,做好数据备份的工作吧,默哀。

3.网络传输过程中发生数据错误

这在错误的产生中至少占了99.9%的比重,即便如此,发生的概率还是很低的,跟网络上下载的RAR发生错误,无法解压的概率一样。

一句话总结:错误发生的概率很低很低。

关于错误检测:

只要错误能检测出来,即便发生了错误又如何?

APE,FLAC,TAK压缩的的时候都可以保存原始音频数据的md5,发生了任何错误都能通过对比md5检测出来,保证了音频数据的完整性。

而每一帧的音频数据都保存了效验码,通过计算,就能找出错误的发生的具体位置。

APE的命令:mac 文件名 -v

FLAC的命令:flac -t 文件名

TAK的命令:takc -t 文件名

你不知道这些命令也没关系,其实你已经不知不觉中检测了无数次了。最简单的方法就是用foobar2000转换为其他格式,看是否提示错误。

一句话总结:任何的错误都能被检测出来。

顺便说下WAV是不支持错误检测的,即便发生了数据改变也没人知道,这不利于音频的长期保存与传播,趁早转为无损格式吧,笑: )

关于错误处理:

APE:发出错误信息,直接停止解码。

FLAC:发出错误信息,将错误的帧静音处理,帧长度25ms~92ms(取决于编码参数),继续后面的解码。

TAK:发出错误信息,将错误的帧静音处理,帧长度95ms~250ms(取决于编码参数),继续后面的解码。

虽然错误的产生如此不易,但是人工的模拟错误产生还是很简单的。

使用文本编辑器(比如Notepad++)打开音频文件,将其中某一位修改(不要修改太前面的数据,那些都是文件头,不是音频数据本身,修改了也没用),然后保存。

网上有这么一句话,ape一个错误,整轨报废,我不知道你这个整轨是怎么定义的。如果这个整轨说的是专辑的话,那自然只废了其中一首歌。如果这个整轨指的是单曲的话,你喜欢FLAC的禁音的处理方式,APE也一样能做到。编写一个CUE,将音频分为前后两段,把错误的那部分屏蔽掉,然后将前后两段用foobar2000转为整轨就好了。

但是APE的帧长度比FLAC,TAK大的多了,Fast = Normal = High = 2000ms,Extra High = 8500ms,Insane = 50000ms。这也是为什么Insane级别在定位时间的时候那么慢,但是顺序播放不卡的根本原因。与High对比,Insane解码速度变为High的五分之一,帧长度变为High的25倍,结果就是定位所需时间变为原来的125倍,不卡才怪。在我看来APE的Extra High 和 Insane这两个参数都应该果断拒绝使用。

foobar2000播放时不提示错误,但只要认真听,差别很明显。

这是音频的错误部分频谱截图,知道人耳听到这92ms的静音时是什么感觉吗?其实就是爆音,破音,卡顿的感觉,一耳朵就能听出来,不信你试试。(25ms也一样)

foobar2000转码提示:

转码后音频长度完整,禁音处理了错误部分。

保存的FLAC发生了错误,不用担心它在不知不觉中偷偷静音,影响收藏的品质,因为在转换的时候,他会直截了当的告诉你发生了错误的。当然那些所谓FLAC会把原始音频中的爆音用禁音处理,这种荒谬的说法也是完全错误的。

要是哪个FLAC的粉丝心血来潮,决定把无损歌曲都转为FLAC-Level8格式保存,又不知道这个错误提示的含义,直接忽略了,那简直是一场灾难。还好错误发生的概率很低很低,而且当下FLAC的资源并不占统治地位。喜欢FLAC这个格式的童鞋务必提高警惕。

foobar2000转码提示:

与FLAC结果一样,转码后音频长度完整。250ms的帧长度,禁音时间长了,可以明显听出一段声音没了。转换格式时,务必留意错误提示。

总结:

在高保真音频领域,错误检测是必备的,这是APE,FLAC,TAK的共同点。不同点在于对错误的处理方式。容错性对于音频收藏来说,没有任何意义,50ms左右的禁音,完全在人耳的分辨范围之内,最终结果都是重新寻找更好的音源。

那么容错性就没有其存在的价值了么,当然不是的,在高清视频领域,FLAC作为优秀的无损音频格式,自然是所向披靡的,APE不支持容错性和多声道,注定要被淘汰。

关于真伪无损的检验:

说到无损的检测,个人推荐用auCDtect Task Manager这个工具,可以直接检验各种无损格式很方便。

经常看到一些高手批判这类检测工具,说它们测的不准,然后就是各种贬低。我只想说一味的否定一个东西存在的价值本身就是一个错误。确实,这些工具对于高码率的AAC,表现很无力,但是网络上大部分的伪无损都是无知的小白用MP3转来的。很多小白在收藏,传播无损的时候也不在意真伪。这已经不是用不用工具来检测无损的问题了。这是大家分享的时候是否检测真伪的问题。如果大家在分享无损歌曲的时候都能先用auCDtect Task Manager检测下真伪的话,我敢说网络上的伪无损至少能减少90%。

当然工具只能作为你判断真伪无损的依据,不能作为你断定歌曲真伪的理由。

很多早期的CD都没有高频部分,还有就是很多纯音乐也没有高频部分被软件误判为MP3。经过auCDtect Task Manager检测,所有CD概率在90%以下,或者被判定为MP3的,除非你很确定歌曲的来源,其他的都应该通过查看频谱以及试听来进一步鉴定。日常听歌过程中发现某些音质较差的歌曲也可以看下频谱,寻找更好的音源。

auCDtect Task Manager本身就能查看频谱,相当的方便。

看频谱其实也没什么难度,看多了就有经验了,比如说高频部分是哪个位置被切掉,是不是干净利落的突然黑掉一块,高频是否有锯齿感,是否有空洞等等。

最后的结论是这样的

音质:CD = WAV = 各种无损格式

也就是说音质上没有任何差别

长期保存:CD <= WAV = 各种无损格式

通俗的讲就是光盘会因为保存不当而造成数据损坏。而硬盘上的文件,除非硬盘出了问题,否则发生改变的概率极低。

By 咣輝のま裔 

http://blog.sina.com.cn/s/blog_637d7cd80101pfdm.html

转载请注明作者信息。

享声HIFI
享声音响

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多