音频基础知识

 

前言

此篇为总结音频的各种基础知识,不定期更新。另外此篇为网上各大博客总结的合集,参考链接放在了后面。

音频基础知识

声音是什么

声音(sound)是由物体振动产生的声波。声音作为一种机械波,频率在20 Hz~20 kHz之间的声音是可以被人耳识别的。—–百度百科

音频录制

最简单的音频录制流程为:

graph LR;
    A[设备采集]
    B[模数转换]
    C[存储]

    A-->B
    B-->C

播放端流程相反:

graph LR;
    A[音频文件]
    B[数模转换]
    C[播放器播放]

    A-->B
    B-->C

模数转换

模拟信号转化为数字信号的流程

Image

  • 采样: 对模拟信号隔一定的时间间隔取一个点(图中交点)
  • 量化: 给纵坐标加刻度,根据近似取整数值,使采样得到的点的值都是整数。
  • 编码:对量化取得的整数值按二进制进行编码
  • 数字信号:把编码得到的 0 和 1 的序列变现为高低电平的信号

上述整个模数转换的过程称为:脉冲编码调制(PulseCodeModulation),简称PCM。由上面的模数转换可知,PCM 格式文件存储的内容实际上就是编码得到的序列。

采样率

每秒的采样次数。

对于声音来说,从上图采样的过程可以看的出来,采样率越高,即每秒内的采样点越多,采样点越密集,也就意味着离散信号对模拟信号的还原度越高。

采样点无限多即连成原来的模拟信号曲线。当然,无限多的点无限多的数据存储和 cpu 也不允许啊。那什么样的采样率比较合适呢?

根据 “奈奎斯特采样理论”:当对被采样的模拟信号进行还原时,其最高频率只有采样频率的一半。

换句话说:要想重构完整的模拟信号,采样率要是模拟信号频率的两倍以上。

鉴于所讲,人听觉范围:20 Hz -20 KHz。所以对于给人听的音频,采样率要宁杀错不放过,要大于40 KHz 才不会使人感觉到音质受损。

由此得出,合适的采样率 一般大于 40 KHz,注意是一般,采样率小一些高音会受损,不过除了对那些能听出热情火电和清冽水电的耳机党外,略小应该也不明显,平常 8k,16k 都有。

为什么大多数音频采样率采用 44.1K?不是 40K,也不是 44K,非要带个 0.1?

在高深莫测的数学领域有一个神奇的数字即 44100,前四个素数的平方的乘积

44100:2x2x3x3x5x5x7x7 = 44100

历史原因:早期录像机:245 扫描线,一行 3 个数据块,60 场频:245x3x60=44100,现在也有在推 48kHz,甚至 96kHz 的。

采样深度

即量化时纵坐标的量化粒度。

在上图模拟信号中,纵坐标代表的是声音的响度,即音量。

由上图量化过程可知,当量化的粒度越细,离散点取的值也就越接近模拟信号实际的值,如果量化时,采样深度为 1bit,即量化只能为 1 和 0,那每首歌听起来都像忐忑,一惊一乍的,要么播放最大声音,要么没有声音。

只有采样深度越深,即量化的粒度越细,采样出来的数据,才更接近实际的音量。

现在一般用 16 位来表示一个采样数据的音量大小,即一个采集的样本点中,音量大小用 16 位二进制数来表示音量大小。

声道和立体声

  • 单声道 Monaural:只有一个采集器采集音频做以上图中的流程处理;
  • 立体音 Stereophonic:两个或两个以上声道数,多个设备录音,然后数据编码整合到一起。常见的有 双声道 4.1 环绕立体声(四个音源加一个低音喇叭来加强低音)5.1 、7.1 环绕立体声(杜比音效:装逼知识点);

PCM 数据

Image

你没有看错,就是这么简单。对于 8 位采样深度的单声道,8 位表示一个采样的音量,都是这样的采样数据。

pcm 就是原始数据,没有 header,全是 body,满满的干货。双声道就是两个声道采样序列交替排列。

播放 PCM:由上面格式也可以看出 pcm 没有 header,没有采样率等信息,所以播放时需要告诉播放器:采样率、采样深度、声道数。

参考

音频相关的基础知识