声音是如何保存成数字信号的?
声音是我们日常生活中常常遇到的感知,似乎早已成为我们生活中不可或缺的一部分。那么,是如何将声音信号转换成数字信号并记录下来,以便存储和传输呢?声音是听觉对声波产生的感知,而声波的本质是介质的振动,比如空气的振动。将这个振动信号记录下来,通过一串数字来表达振动信号的快慢和振动的幅度,就可以实现声音的记录。以前的留声机通过唱片上凹槽的深浅、长短来表征声音的振幅和持续时间,是一个典型的例子。

如今,我们一般使用麦克风来实现声音的采集。那么,通过麦克风采集声音是如何实现的呢?

使用麦克风的音频数字信号采集过程如上图所示:首先,声波通过空气传播到麦克风的振膜。然后,振膜随空气抖动的振幅大小产生相应的电学信号。这种带有声学表征的电学信号被称为模拟信号(Analog Signal)。最后,通过 A/DC(模数转换器)将模拟信号转换成数字信号(Digital Signal)。即通过 PCM(Pulse Code Modulation)脉冲编码调制对连续变化的模拟信号进行抽样、量化和编码,将其转换成离散的数字信号。这样就实现了音频信号的采集,我们常说的 PCM 文件就是未经封装的音频原始文件或者叫做音频“裸数据”。具体音频的数字信号是如何构成的呢?这涉及到下面的三个基本概念:采样位深、采样率和通道数。现在让我们先熟悉一下这三个概念。
采样位深
采样位深表示每个采样点用多少比特(bit)来表示。比如,位深是16,就代表每个采样点需要16bit来进行存储。从物理意义上来说,位深代表振动幅度的表达精确程度或者说粒度。假设数字信号是一个从1到-1的区间,如果位深为16bit,那么第1个bit表示正负号,剩下的15个bit可以表征0到32767的数值,振幅就可以精确到1/32768的粒度。在网络电话中,一般使用16bit的位深,这样不太会影响听感,并且存储和传输的耗费也不是很大。而在对音质要求较高的音乐场景中,则可以使用32bit甚至64bit的位深来减少失真。8bit时失真较为严重。早期受到音频技术条件限制,很多音频都是8bit的,声音显得比较模糊,如今只有一些电话和对讲机等设备仍在使用。有趣的是,有的音乐追求这种模糊感,所以“8bit”有时也代表一种听感朦胧的音乐艺术类型。
采样率
采样率是指1秒内采集到的采样点的个数,一般用赫兹(Hz)表示。比如,1秒有48000个采样点,那么采样率就是48000Hz(48kHz)。根据奈奎斯特采样定理,在进行模拟/数字信号的转换过程中,当采样频率fs大于信号中最高频率fmax的2倍时(fs > 2fmax),采样之后的数字信号才可以完整地保留原始信号中的信息。也就是说,采样率和保留的声音频率基本上是2倍的关系。
可以通过下图的频谱图来对比一下16kHz采样率和48kHz采样率的音频。

上图显示了不同采样率(48kHz(上)和16kHz(下))的频谱能量分布。16kHz采样率的音频在8kHz以上的频谱基本上没有能量(黑色),也就是说这部分高频信息由于采样率不够已经丢失了。从听感上来说,人耳可以听到的频率范围大约是50~20kHz之间。如果采样率不够,声音就会显得“低沉”或者说“闷”。那么采样率是不是越高越好呢?实际上,选用什么样的采样率取决于具体用途。如果只是为了听见人声、听懂对方在说什么,为了节省传输码率,可以将采样率降到8kHz(比如打电话)。而在网络音视频会议场景中,需要平衡音质和传输带宽消耗,一般可以使用16kHz或32kHz的采样率。如果是进行线上音乐会或音乐直播,通常会使用
较高的采样率来保证音质,比如44.1kHz或48kHz。在音乐制作录音阶段,会采用96kHz甚至更高的采样率以便后续调音和制作。
通道数
在购买音响设备时,我们可能听过2.1声道或5.1声道等术语,这些数字代表了有多少个播放单元。比如,2.1声道中的2表示左右两个音箱,1表示中间一个低音音箱。每个音箱都会播放一个单独的音频,因此需要同时有3路音频信号同时播放,或者叫通道数为3。

在实时在线互动时,由于编解码器能力的限制(比如使用了单通道编解码器)或者采集设备能力的限制(只能采集单通道的信号),音频信号通常为单声道。在听歌时,如果戴上耳机听到左右耳朵的声音不一样,感觉声音是从不同方向传过来的,那么就说明这个音频是双声道。通常也把这种双声道音频叫做立体声(Stereo)。除了播放需要多声道外,采集也可能采集到多通道的数据。比如,麦克风阵列采集到的原始信号,有多少个麦克风就会有多少个通道的音频信号。因此,通道数的物理含义实际上就是同一时间采集或播放的音频信号的总数。
好了,我们已经基本了解了音频数字信号的基本构成。现在,通过一个简单的计算来理解一下。假设有一个立体声的PCM音乐文件。它记录了1分40秒的采样率为48kHz的音频。如果这个文件的采样位深是16bit,那么这个立体声文件应该占用多大的存储空间呢?如果不经过压缩实时传输播放,又至少需要多少的带宽呢?
有了前面的知识,我们知道一个PCM音频文件的存储大小是采样位深、采样率、通道数和持续时间的累乘。即:
存储空间=采样位深×采样率×通道数×时长=16×48000×2×100=1.53×108 bit=18.31 MB
而它实时传输所需的带宽就是它每秒所需的比特带宽。这可以用采样位深、采样率和通道数来得到。即:
比特带宽=采样位深×采样率×通道数=16×48000×2=1.53×106 bps=1500 kbps
音频的封装
上面的例子中,100秒的PCM音频文件就需要这么大的存储空间。那么我们平时经常看到的音频文件格式,比如MP3、FLAC和WAV等,它们有什么区别?它们所需的存储空间一样吗?
有损和无损音频编码封装格式
有损的音频封装格式主要通过压缩算法减小文件大小,但在解压缩时无法完美还原音频原始数据(即有损)。比如MP3、AAC、AMR和WMA等编码封装格式。
虽然称为有损音频格式,但发展到现在,有损音频格式如MP3通常可以达到1:10的压缩比,即存储体积为未压缩音频的十分之一。在听感上,与无损格式相比,除非是专业人士,一般难以听出区别。
而无损音频封装则采用可完美还原的压缩算法,比如FLAC和APE等编码封装格式。FLAC与APE的压缩比基本相同,其中FLAC的压缩比为58.70%,而APE的压缩能力则更高一些,压缩比为55.50%。它们都能将文件压缩到接近源文件的一半大小。无损封装甚至可以选择不压缩编码,直接加上文件头作为封装,比如WAVE格式的封装。
简单地说,如果不追求极致的听感,比如仅用于听音乐或进行音频分析,可以使用有损压缩来节省存储体积。但如果是用音频信号进行数据分析或者追求极致的音质还原,必须使用无损压缩的封装格式,以避免编码带来的损失。常见的有损和无损封装格式如下表所示。很多编码封装也支持调节压缩比,以平衡音质和存储空间,比如WMA既可以支持无损编码也可以支持有损编码,而MP3也可以通过调整不同的编码比特率来平衡音质。

WAVE文件的封装
WAVE文件是多媒体中常用的声波文件格式之一,文件后缀名为
wav。它以RIFF格式为标准,RIFF是Resource Interchange File Format的缩写。因此,每个WAVE文件的头四个字节即为“RIFF”。
WAVE文件的封装格式非常简单。WAVE文件由WAVE文件头和WAVE文件数据体组成,其中0~43字节存放采样率、通道数、数据部分的标识符等头信息,44字节以后的是数据部分。简单来说,WAVE文件就是PCM文件加上一个文件头,用于描述文件的基本信息。具体文件头每个字节的含义可以参考下表。

从表格中可以看到,WAVE格式支持单声道和双声道的音频文件封装,以及采样位深为8bit和16bit两种格式。那么具体单通道和双通道数据是如何排列的呢?可以参考下图。

从图中可以看到,双声道时,左右声道的数据是间隔排列的,这样有助于按照时间连续成块地读取数据信息,而不是先读完一个声道再读下一个声道。
小结
采样位深、采样率、通道数是描述音频信号的关键指标。采样位深越深、采样率越高,音质越好,但同时消耗的存储和传输资源也越多。其次,在编码封装时,如果需要尽量缩小存储音频的体积,可以选择MP3等有损的编码封装格式。而对于需要无损、高保真音频的场景,则可以选择FLAC等无损格式进行编码封装。对于音频开发者来说,由于WAVE格式能够迅速封装一个音频裸数据文件,因此在实际应用中得到广泛使用。最后,在实际使用时,可以根据具体的使用场景选择音频信号的关键指标和封装形式。在无线麦克风、话筒、Dante会议、Dante话筒、会议式麦克风、演出无线麦克风、混控无线麦克风等应用场景中,根据需求进行合理选择,以达到更好的音频体验。
免责声明: 本文借鉴原创改编,版权归原作者所有,本文所用图片、文字如涉及作品版权,请第一时间联系我们删除。
原文链接:https://blog.csdn.net/qq_37756660/article/details/123464530
支持