PCM全称是脉冲编码调制数据。PCM数据是未经过压缩的音频数据,它是由模拟信号经过采样、编码等步骤转换成标准的数字信号。音频模拟信号转换成数字信号需要经过采样、量化、编码三大步骤会变成PCM音频数字信号。PCM是一种将模拟信号转换为数字信号的方法。它通过在固定的时间间隔对模拟信号进行采样,并将每个样本转换成一个数字值来实现。这些数字值通常以二进制形式表示,是模拟信号强度的一个近似值。

1.采样
模拟信号的波形是无限光滑的,可以看成由无数个点组成,由于存储空间是相对有限的,数字编码过程中,必须要对波形的点进行采样。
采样是指从连续的模拟信号中每隔一定时间间隔提取一个瞬时值的过程,是一个在时间上将模拟信号离散化(把连续信号转换成离散信号)的过程。
1.采样率
采样率是指每秒内对信号进行采样的次数,单位通常是赫兹(Hz)或千赫兹(kHz)。例如,CD音频的标准采样率为44.1 kHz,意味着每秒钟采集44,100个样本点。
2.采样定理
奈奎斯特-香农采样定理指出,为了能够从采样信号中无失真地重建原始的连续时间信号,采样率必须至少是信号最高频率成分的两倍。这个最低的采样率称为奈奎斯特率。人耳所能听到的声音,最低的频率是从20Hz起一直到最高频率20KHZ,因此为了满足人耳的听觉要求,需要至少每秒进行40000次采样。这就是为什么常见的CD的采样率为44.1kHz。电话、无线对讲机、无线麦克风等的采样率是8kHZ。
2.量化
量化是将每一个采样点的样本值数字化,将采样得到的连续范围的值转换为有限数量的可能值的过程。这通常涉及到将一个范围内的所有值映射到最接近的预定义值上。
1.位深度(采样位数)
位深度决定了每个采样点可以存储多少信息。位深度越高,能够表示的声音动态范围越大,音质越好。常见的位深度包括8位、16位、24位等。位深度越高,表示的振幅越精确。常见的CD采用16bit的位深度,能表示65536个不同的值。
2.声道
声道指的是音频流中的独立声音通道。一般有四种通道数,分别是单通道、双声道、四声道、5.1声道。
| 声道数 | 通道数 | 声道数据 |
|---|---|---|
| 单声道(Mono) | 1 | L (或 R) |
| 双声道(Stereo) | 2 | FL, FR |
| 四声道(Quadraphonic) | 4 | FL, FR, BL, BR |
| 5.1 声道 | 6 | FL, FR, C, LFE, BL, BR |
3.计算文件大小
计算PCM文件的大小需要考虑以下几个参数:
- 采样率:每秒采样的次数,单位是赫兹(Hz)。常见的采样率有8000 Hz、16000 Hz、22050 Hz、44100 Hz、48000 Hz等。
- 位深度:每个样本的位数,常见的位深度有8位、16位、24位、32位等。
- 声道数:音频的声道数,常见的声道数有1(单声道)、2(立体声)、4(四声道)、6(5.1声道)等。
- 持续时间:音频的长度,单位通常是秒(s)。
- 计算公式:文件大小(字节) = 采样率 * 位深度 * 声道数 * 持续时间 ÷ 8
- 注意事项:确保所有的单位一致,特别是时间单位要转换成秒。如果文件有文件头或其他元数据,计算出的大小需要加上这些额外的数据。
4.比特率(码率)
比特率指单位时间内传输或处理的比特数量,通常用于描述音频文件的质量。比特率越高,音质通常越好,但文件大小也会更大。比特率的单位通常是kbps(千比特每秒)。
- 计算公式:比特率 = 采样率 * 位深度 * 声道数
通常,采样率、位深度越高,数字化音频的质量就越好。从比特率的计算公式可以看得出来:比特率越高,数字化音频的质量就越好。
5.信噪比
信噪比是信号电平与背景噪声电平的比例,用分贝(dB)表示。信噪比越高,表示信号越清晰,噪声越少。
位深度限制了信噪比的最大值,它们的关系如下表所示。
| 位深度 | 信噪比 |
|---|---|
| 4 | 24.08 |
| 8 | 48.16 |
| 11 | 66.22 |
| 12 | 72.24 |
| 16 | 96.33 |
| 18 | 108.37 |
| 20 | 120.41 |
| 24 | 144.49 |
| 32 | 192.66 |
| 48 | 288.99 |
| 64 | 385.32 |
6.音频帧
音频数据是流式的,本身没有明确的一帧帧的概念,在实际的应用中,为了音频算法处理/传输的方便,一般约定俗成取2.5ms~60ms为单位的数据量为一帧音频。这个时间被称之为“采样时间”,其长度没有特别的标准,它是根据编解码器和具体应用的需求来决定的。
3.编码
编码是指将数据转换成特定格式的过程,以便于存储或传输。在音频领域,编码通常指的是将原始音频数据转换成压缩格式,以减少文件大小而不显著影响音质。PCM本身不是一种编码格式,而是一种将模拟信号转换为数字信号的技术。编码技术可以是有损的也可以是无损的,取决于是否允许在编码过程中丢失一些信息。
PCM数据可以理解为未经压缩的原始音频数据,体积比较大,为了更便于存储和传输,一般都会使用某种音频编码对它进行编码压缩,然后再存成某种音频文件格式。
压缩分为无损压缩和有损压缩。
无损压缩:
- 解压后可以完全还原出原始数据
- 压缩比小,体积大
有损压缩:
-
解压后不能完全还原出原始数据,会丢失一部分信息
-
压缩比大,体积小
-
压缩比越大,丢失的信息就越多,还原后的信号失真就会越大
-
一般是通过舍弃原始数据中对人类听觉不重要的部分,达成压缩成较小文件的目的
-
压缩比 = 未压缩大小 / 压缩后大小
4.常见的音频编码和文件格式
需要注意的是:音频文件格式并不等于音频编码。比如:
- WAV只是一种文件格式,并不是一种编码
- FLAC既是一种文件格式,又是一种编码
| 名称 | 无损压缩 | 文件扩展名 |
|---|---|---|
| Monkey's Audio | ✔️ | .ape |
| FLAC(Free Lossless Audio Codec) | ✔️ | .flac |
| ALAC(Apple Lossless Audio Codec) | ✔️ | .m4a/.caf |
| MP3(MPEG Audio Layer III) | ❌ | .mp3 |
| WMA(Windows Media Audio) | ❌ | .wma |
| AAC(Advanced Audio Coding) | ❌ | .acc/.mp4/.m4a |
| Vorbis | ❌ | .ogg |
| Speex | ❌ | .spx |
| Opus | ❌ | .opus |
| Ogg | PCM | .ogg |
| WAV(Waveform Audio File Format) | PCM | .wav |
| AIFF(Audio Interchange File Format) | PCM | .aiff、.aif |