欢迎来到声音的数字化表示!
你是否好奇过,只能读懂 0 和 1 的计算机是如何播放美妙的交响乐或录制你的声音的?本章将带你架起一座桥梁,连接自然界中连续的声音世界与计算机中离散的二进制数字世界。
我们将学习如何捕获、存储并精准回放声波的核心过程与度量标准。别担心,这些概念听起来很技术化,我们会一步一步为你拆解!
1. 模拟声音与数字声音
在计算机处理声音之前,我们必须理解声音在自然界的存在方式与计算机存储方式之间的根本区别。
模拟量 (Analogue Quantities)
我们在现实世界中听到的声音属于模拟量。
- 定义: 模拟数据是连续的。它可以在特定范围内取任何值。
- 类比: 想象一个平滑的斜坡。你可以在斜坡上站在无数个点上。同样地,真实声波在无限长的时间内拥有无限范围的振幅(音量)。
- 示例: 麦克风在处理前产生的电信号。
数字量 (Digital Quantities)
计算机运行使用的是数字量。
- 定义: 数字数据是离散的(独立的)。它只能取有限的一组特定值,通常用二进制表示。
- 类比: 想象楼梯。你每次只能站在一个台阶上;你无法站在两个台阶之间。
- 目标: 将平滑、连续的模拟波转换为计算机可以存储和处理的一系列离散数值测量。
2. 转换过程:ADC 和 DAC
为了在现实世界和计算机之间传输声音数据,我们需要两种关键硬件:模数转换器 (ADC) 和数模转换器 (DAC)。
模数转换器 (ADC - Analogue to Digital Converter)
ADC 用于录音(输入)过程。它将连续的模拟信号转换为二进制数据。
- 捕获: 接收模拟声波(例如来自麦克风)。
- 采样 (Sampling): ADC 在固定的时间间隔内测量声波的振幅(高度)。
- 量化 (Quantisation): 每个测量出的振幅会被四舍五入(量化)为最接近的可用数字值,并作为二进制数存储。
- 输出: 一串二进制流(数字声音数据)。
你知道吗?当你用手机录制一段语音笔记时,ADC 每秒钟要进行数百万次采样!
数模转换器 (DAC - Digital to Analogue Converter)
DAC 用于回放(输出)过程。它将数字化的二进制数据还原为电模拟信号。
- 输入: DAC 从计算机内存接收二进制数流。
- 转换: 将每个二进制数翻译回相应的电振幅水平。
- 信号重建: 这些电平被连接起来,形成一个阶梯状的模拟信号。
- 输出: 该电信号被发送到扬声器(或耳机),扬声器会对信号进行平滑处理并震动,从而产生可听见的声波。
ADC = Analogue to Digital(模拟转数字,即录音)
DAC = Digital to Analogue(数字转模拟,即回放)
3. 数字表示参数
数字音频文件的质量和大小完全取决于 ADC 过程中设定的两个关键因素:采样率 (Sampling Rate) 和 采样分辨率 (Sample Resolution)。
3.1 采样分辨率 (Sample Resolution / Bit Depth)
采样分辨率(或称位深度)是用于表示单个样本振幅(音量)的位数。
- 对质量的影响: 更高的分辨率意味着更多的可选振幅等级,从而使声音能更忠实地还原原始波形中细微的音量变化。这减少了量化误差(转换过程中四舍五入造成的误差)。
-
计算: 如果我们使用 \(n\) 位来表示分辨率,我们可以表示 \(2^n\) 种不同的振幅值。
例如:8 位分辨率提供 \(2^8 = 256\) 种振幅等级。16 位提供 \(2^{16} = 65,536\) 种等级(质量更好,CD 标准)。
类比:尺子
将分辨率想象成尺子上的刻度。以厘米为刻度的尺子(低分辨率)会迫使你在测量时进行较大的四舍五入。以毫米为刻度的尺子(高分辨率)则允许更精确的测量。
3.2 采样率 (Sampling Rate / Frequency)
采样率(或称采样频率)是指每秒钟从模拟波中获取样本的数量。通常以赫兹 (Hz) 为单位,1 Hz 表示每秒采样 1 次。
- 定义: 每秒获取的样本频率。
- 单位: 赫兹 (Hz) 或千赫兹 (kHz,每秒数千次采样)。
- 对质量的影响: 更高的采样率能准确捕获原始声音中更高的频率(音调)。如果采样率太低,数字录音会丢失高频细节。
- 例如:CD 音质使用 44,100 Hz (44.1 kHz) 的采样率。
类比:摄像机
将采样率想象成摄像机的帧率。如果你每秒只拍几张照片(低速率),快速移动(高频声音)看起来就会断断续续或模糊。如果你每秒拍摄大量照片(高速率),运动过程就会显得平滑且精确。
4. 奈奎斯特理论 (Nyquist's Theorem)
那么,我们到底需要多快的采样速度才能准确捕获声音呢?这由奈奎斯特理论给出答案。
- 理论: 为了准确表示模拟信号中存在的所有频率,采样率必须至少是信号中最高频率的两倍。
-
公式:
最低采样率 $\geq$ \(2 \times \text{最高频率}\)
如果采样率低于最高频率的两倍,系统可能会出现混叠 (aliasing),导致还原后的声音包含原始信号中不存在的频率,从而产生失真。
人类听觉的应用
人类所能听到的最高频率大约是 20,000 Hz (20 kHz)。
因此,根据奈奎斯特理论:
最低采样率 $\geq$ \(2 \times 20,000 \text{ Hz} = 40,000 \text{ Hz}\) (40 kHz)
这就是为什么 CD 的标准采样率为 44.1 kHz —— 它舒适地超过了捕获所有可听声音频率的最低要求。
5. 计算音频文件大小
你需要能够计算音频样本的总存储需求。请记住,声音通常以立体声 (stereo)(双声道,左声道和右声道)录制,但本课程大纲侧重于基于时间、采样率和分辨率的核心计算。
逐步计算
计算文件大小(单位:位/bits)所需的公式为:
$$ \text{文件大小 (bits)} = \text{采样率 (Hz)} \times \text{分辨率 (bits)} \times \text{时长 (秒)} $$
若要将该数值转换为字节 (Bytes),你需要除以 8(因为 1 Byte = 8 bits)。
计算示例:
计算一段 10 秒单声道音频的存储大小(单位:字节),采样率为 40 kHz,分辨率为 16 位。
1. 单位换算(如有必要):
采样率 = 40 kHz = 40,000 Hz
分辨率 = 16 bits
时长 = 10 秒
2. 计算位数 (bits):
$$ \text{Bits} = 40,000 \times 16 \times 10 $$
$$ \text{Bits} = 6,400,000 $$
3. 转换为字节 (Bytes):(除以 8)
$$ \text{Bytes} = 6,400,000 / 8 $$
$$ \text{Bytes} = 800,000 \text{ Bytes} $$
千万别忘了:如果音频是立体声(两个声道),你需要将最终结果乘以 2。务必仔细审题!
- 模拟 (Analogue): 连续的、现实世界的信号。
- 数字 (Digital): 离散的、有限的、计算机可读的二进制数据。
- ADC: 模数转换器(录音)。
- DAC: 数模转换器(回放)。
- 采样率 (Hz): 每秒测量振幅的频率(影响捕获的频率/音调)。
- 采样分辨率 (Bits): 每次测量使用的位数(影响精度/音量细节)。
- 奈奎斯特理论: 采样率必须至少是最高频率的两倍。