APP下载

音乐从哪来?从音频文件到声波

消息来源:baojiabao.com 作者: 发布时间:2024-05-06

报价宝综合消息音乐从哪来?从音频文件到声波

在详细介绍今天的内容前,我们首先来简单了解一下音频文件格式。

▌什么是音频文件格式?

音频文件格式是用于在计算机系统上存储数字音频数据的文件格式,换做人话就是把你听到的声音转换为能在硬盘储存的文件,这个文件包含了声音的时间信息和声音的振幅信息(位置信息,位深,位宽,比特信息),常见的格式有mp3、ogg、aac、flac、wav、aiff、ape等。

其中,比较知名的无音频信息损失的编码格式,也就是无损音频文件格式有ape、flac、wav、aiff等,wav格式是始于微软Windows系统上无压缩的格式,,而Mac上的则是aiff,通常非常占用磁盘空间。

有损压缩之后的音频文件通常会删除掉一些人耳很难听到的音频信息,删除部分取决于不同的有损编码系统,比如通常128K比特率的mp3格式会删除掉16kHz以上的频率,而更高码率的会相应来说切除掉更少的部分,基本上320K的就只会切除20K以上的部分信息了,所以听起来会和无损差距不大。

通过Audition等软件可以看到128K mp3频谱图中16kHz以上被削去。

标准的CD格式为16bit,44.1kHz,其中16bit就是音频的振幅信息,也就是下图中纵坐标,44.1kHz是时域信息,也就是下图中横坐标的信息量44,100样本每秒,即横坐标每秒钟有44100条数据。

音频文件就是告诉电脑这些数据在什么时刻出现在什么振幅位置来表达音频信息。你可以简单地认为振幅信息就是音量大小,反映在自然界就是喇叭上振膜的推拉幅度以及位置。(别忘了波形是可以叠加的)

实际的音频文件如上图,但纵坐标(-8~7)的区间内有65536层

播放音乐文件的过程也就是对于编码后的音频文件进行解码的过程,播放器需要按照均匀的时间顺序将音频文件的振幅信息传递给DAC或叫Decoder(Digitalto Analog Converter数模转换器),DAC需要做的工作就是按照时间顺序把这些振幅信息转换为电压信息,一个理想的DAC需要在5.6Vpp的电压区间内能够表达出65536种不同的电压信息,即2^16 = 65536(也就是16bit的音频信息),那么这个解码芯片最精细需要至少可以表达出5.6Vpp/65536= 0.00008545v为一个单位区间的电压,鉴于成本以及工艺原因,目前市面上许多的音频芯片还不能达到这个标准,DAC的详细解释说明请关注之后的本系列文章。

回到这个话题,如果播放器不能把音频文件按照标准的时间顺序传递给DAC,专业领域我们称之为Jitter,即时间抖动,如果播放器在1秒内把所有音频文件传递给DAC,那么你将会听到爆音;如果一个3分钟的歌曲在小于3分钟的时间传递给DAC,那么你将会听到音频被加速,效果则会是这个声音频率变高,男声变女声等;如果是一个不起眼的微小的时钟误差传递给DAC,(HiFi发烧友眼中是容不下一粒沙的)在不同的解码系统中会造成不同的结果。通常的结果会是干扰数字滤波器,产生一些不耐听的不顺畅的齿音,造成声音的不连贯不耐听,通常来说一些国砖在宣传时会提到Jitter,不妨留意一下他们的宣传。

▌为什么会用到44.1kHz 16bit这个格式?

前者是来源于奈奎斯特采样定律,即如果想保留一个完整的频率信息,至少需要以该频率的2倍进行采样。通常人耳最高可以听到20kHz,所以采样频率必须高于40kHz,换言之,44.1kHz的采样率就保证了这段音频的信息可以到22050Hz,对于正常人类来说已经到达极限了。至于这个采样率为什么是44.1kHz以及视频文件中的48kHz,那你就得去问索尼和飞利浦的工程师当年为什么不凑个整。16bit则是因为拥有96.33 dB的信噪比,有足够的分辨率保证音频信息足够清晰,不至于被噪声淹没。当然今天录音室的录音标准远超过16bit以及44.1kHz,但是最后放在CD里的仍然是这个标准,包括你在网易云啊、Apple Music上啊下载的那些无损音乐也都是44.1kHz、16bit的规格。

▌【DSD& PCM】

当一个DAC收到来自播放器传递过来的数字音频信息时,他需要做的就是解码。其实整个解码的过程是需要先把音频文件从这44.1kHz的采样信号提取出20kHz以内的有用的音频信号,其中涉及到的数字滤波以及Dither技术我们下节讲解。数字模拟转换的过程就是将1010101这样的数字信号变成对应的电压信号,那么其中的1就是接通开关,0就是断开开关,“1010101”就是一个7bit的信息(因为有7位二进制数字)。而通常音频DAC每秒要接收44100个16bit的音频信息。

这是一个基本的3bitR-2R类型的DAC,通过不同的电阻之间的搭配组合可以输出不同幅度的电压,所以只需要通过控制电路控制这三个开关之间的组合就可以输出不同类型的电压。

当一个超过3bit的信号输入进来时只需要丢掉LSB就可以保证输出信号大致没问题,只不过精度会差得多。这种R-2R类型的DAC固然好,但是如果想设计一个16bit甚至20bit以上的DAC就必须精准的控制其中的电阻,成本必然会非常高。

据说Analog Devices具有先封装后采用激光调整电阻值的工艺可以提供非常精准的DAC器件。而且有些开关会产生一些glitch也就是毛刺,如何消除这类毛刺也是一门学问。由于参考源是直流电源,所以这类DAC对于供电也有比较严格的要求。当然有一种不惜成本的提升精度的方法就是一个DAC芯片只负责一半的音频电压信息,另一个DAC芯片负责另一半的音频电压信息,甚至你可以并联更多的DAC,但电路是庞大的,成本是不计其数的,而且有可能会带来交越失真。在这条路上走极致的公司有MSB Technology、Total DAC、Rockna Audio、Schiit Audio。

另一种解码思路则是采用先微分再积分的手段,被称之为Delta-Sigma架构,这类DAC普遍使用在当下的便携设备中,由于它是一种另类思路,所以他基本上不需要如此复杂的解码步骤,不需要这么多开关,这么多电阻,成本非常的低,并且这类DAC的总谐波失真参数非常好,但精度通常不高(一般只有5~6bit左右)。

了解Delta-SigmaDAC之前我们可能需要了解一下什么是PDM、PWM调制。

如图为一个基本的PWM调制过程,原始信号为红色的B,调制后的蓝色信号为PWM信号,PWM信号是如何记录原始信号的呢?

打个比方,测量一排人的身高,0m,1.8m,1.8m,1.5m,1.6m,0m 这就是传统的音频文件或叫做PCM的记录方式,而PWM则是0m,+1.8m,0m,-0.3m,+0.1m,-1.6m。没错,PWM只记录了他们的变化量,而这个变化量记录在时间坐标上占用的空间大小被称之为“占空比”。这个记录过程被称之为“求微分”的过程,如果反过来把PWM信号变为正常信号则是一个“求积分”的过程。而这个“求微分”的过程本身就是一种数学运算,可以通过计算机的数字电路完成,不需要特别多的开关、电阻等模拟器件。

把这样一个PWM信号只需要通过一个脉冲开关发送出去,解码出音频信号只需要在后面加入一个LPF低通滤波器即可解码出音频信号,其实本质上也是一个积分器。

既然Delta-Sigma如此方便省钱,为何不推出一种格式,其本身就是PWM,连电脑计算都不需要做了,聪明的你肯定想到了索尼大法力推的DSD(Direct Stream Digital)格式。DSD格式本质上就是一种PDM调制,和PWM的区别在于纵坐标没有零刻度轴,只有一排方波。

索尼的DSD64格式号称64倍于CD信息,我个人认为有点夸大其词,但确实不可否认的是,DSD这种格式的横坐标上每秒确实存在2822400个采样点,如果CD格式的横坐标上每秒只有44100个采样点的话,时域上这么密集数量的信息量,无论是真实的信息也好,电脑计算出来的信息也好,他们都实实在在的对于谐波信号有完美的抑制作用,毕竟无码变有码简单,有码变无码可就难了。

你可以想想一下,当你看一个320FPS的视频一定要比一个5FPS的视频顺畅,哪怕是插值的,或者图像本身并不清晰,但它也是顺畅的。所以DSD天生拥有极其干净的信号质量,也就意味着音频质量可以更好。所以当你测量一个Delta-SigmaDAC或者DSD音频的THD(总谐波失真)时,恐怕参数是极其恐怖的(千万不要测CHORD Electronics家机器的THD参数)。

但是话说回来,这种音频格式真的足够优秀,取代传统PCM格式么?不见得。

如果你按照“积分”的方式换算一下DSD64拥有多少bit信息你就会发现其中的问题。传统CD格式的纵坐标有2^16 = 65536层振幅信息,如果以1/44100秒为单位,1秒为单位,CD格式永远只有65536层振幅信息。

反观DSD64,如果以1/44100秒为单位,2822400/44100 = 64倍,DSD64只有6bit精度,也就是2^6= 64,如果以1秒为单位,DSD64则拥有接近21bit的精度,所以你发现其实DSD的精度是很难量化的,它与时间单位密切相关。但通常意义上,音频格式以1/44100秒为基准,DSD64则实际有6bit的精度。

或许有人会说,提高PWM的频率不就可以了嘛?DSD64的频率是2.8Mhz,可以实现6bit,DSD128的频率是5.6Mhz,可以实现7bit,DSD256的频率是11.2Mhz,可以实现8bit,以此类推,实现16bit需要达到2.87Ghz,显然无论对于计算器件以及开关器件的要求也是相当苛刻的。当然你也可以像并联R-2R DAC那样分散计算力,但总计算量是不变的。感兴趣的朋友可以先看一下一个DSD64歌曲占用多少磁盘空间。在这条路上走极致的典型公司有CHORD Electronics、dCS ring DAC、Esoteric

DSD格式的第二个缺点显而易见,它永远无法被编辑!

因为,嘛……显而易见你是不可能编辑一连串方波的。

当然有些软件可以把它们转化为24bit 192khz等超级音频格式后编辑,从而尽可能保证DSD音频在编辑时没什么损失。

说到现有的音频测量体系,其实嘛,并不完善。但至少那些容易测量的参数还是能起到很大辅助作用的。Audio Precision AP2700系列音频测试仪是目前业界功能比较强大的音频测试仪,对于普通音频设计师来说已经足够用了。如果你想测量一个DAC的精度?抱歉,现有的测量仪还不能快速的进行测量,通常精度有关的DAC参数为INL、DNL,感兴趣的朋友们可以看一下如下链接:https://www.maximintegrated.com/en/app-notes/index.mvp/id/283




2018-07-13 03:31:00

相关文章