音频相关的基础知识

声音是什么

声音(sound)是由物体振动产生的声波。声音作为一种波,频率在20 Hz~20 kHz之间的声音是可以被人耳识别的。-----百度百科夫斯基
敲黑板:波、人耳识别频率:20 Hz~20 kHz

音频录制

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

设备采集获取模拟信号 ---》模数转换 ---》存储(播放、传输等)


录音最简流程

播放端流程相反:
音频文件 ---》数模转换 ---》播放器播放

模数转换

模拟信号转化为数字信号的流程(心疼大学老师一秒钟):

pcm脉冲调制图

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

上述整个模数转换的过程称为:脉冲编码调制(PulseCodeModulation),简称PCM

PCM 格式

由上面的模数转换可知,PCM 格式文件存储的内容实际上就是编码的到的序列。

采样率:

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

合适的采样率

采样点无限多即连成原来的模拟信号曲线。当然,无限多的点无线多的数据存储和 cpu 也不允许啊。那什么样的采样率比较合适呢?
活着不一定是为了死去,但录制最终一定是为了播放。采样编码为了存储处理和传输,最终还是要还原出模拟信号来播放。
根据 “奈奎斯特采样理论”:
当对被采样的模拟信号进行还原时,其最高频率只有采样频率的一半。(装逼一定要用又黑又粗。。。。的文字)
换句话说:
要想重构完整的模拟信号,采样率要是模拟信号频率的两倍以上。--- gray_dog3
鉴于前面敲黑板所讲,人听觉范围: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 位采样深度,即一个采集的样本点中,音量大小用16 位二进制数来表示音量大小。

声道和立体声

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

PCM 数据

有了已上的认识,妈妈再也不用担心我看不懂 pcm 格式了。不废话,直接上图:


pcm 数据格式图

你没有看错,就是这么简单。对于 8 位采样深度的单声道,8 位表示一个采样的音量,都是这样的采样数据。pcm 就是原始数据,没有header,全是 body,满满的干货。
双声道就是两个声道数据交替排列。

播放 PCM

由上面格式也可以看出 pcm 没有 header,没有采样率等信息,所以播放时需要告诉播放器:采样率、采样深度、声道数。
只有有了这些信息,播放器才知道读入 pcm 文件流的速度,以及读入数据该如何进行数模转换。
通常播放 pcm 用的 是 VLC 播放器,我在 mac 上使用的,windows 的百度下,播放应该很简单。就是这货:



/Applications/VLC.app/Contents/MacOS/VLC --demux=rawaud --rawaud-channels 1 --rawaud-samplerate 44100 record.pcm

上面samplerate 采样率,channels声道数,现在都默认 16 位的,具体有 8 位的需求可以百度下。

你可能感兴趣的:(音频相关的基础知识)