Audio Sampling采样

2016-03-18 Tec

现实中的声音是模拟信号,而计算机只能识别数字信号,因此需要按照一定的间隔对模拟信号的幅值进行采样。

Sample Rates采样率/频率:1秒多少个采样,单位是Hz

常见的采样率:

  • 44.1kHz - CD Audio, mp3
  • 48kHz - DVD Audio
  • 96kHz - Recording Studios录音棚,可能用更高的192kHz来捕获艺术家的声音
  • 8kHz,16kHz - Telephony

需要注意的是

  • 声卡不一定能支持所有的采样率,例如一般的声卡肯定不会支持96kHz
  • 声卡同时只能工作在一个采样率下,因此声卡不可能同时播放不同采样率的文件,但是声卡驱动或者操作系统可以将较低采样率的信号重采样为较高的频率,因此系统可以同时播放

选择合适的采样率

采样率越高越好?
采样率越高:

  • 文件就越大
  • 处理音频消耗的CPU越多
  • 带宽要求越高

人类只能听到20Hz~20kHz频率的声音,再高也没有意义。另外,随着年纪增大,能听到的最高频率会逐渐降低。
日常我们听到的高音,高频的部分就较多。
那么采样率和人能听到的频率有什么关系?
根据奈奎斯特采样定理,只要采样率>=2倍模拟信号的最高频率,采样之后的数字信号就可以不失真地还原为原始的模拟信号。从另一个角度看,你能捕获的最高频率不可能超过采样率的一半。这个采样率的一半、能捕获的最高频率称为“奈奎斯特频率”。
因此为了捕获人耳的最高频率,
采样率需要>40kHz=20kHz*2
这也解释了CD的频率44.1kHz要高于40kHz。

The Science of Sample Rates (When Higher Is Better — And When It Isn’t)

Aliasing混淆

如果被捕获的信号的频率高于奈奎斯特频率,那么数字信号将不能完全还原为原始的模拟信号,产生了Aliasing,还原的信号将走样,变形。
处理的方式是将信号先通过一个低通滤波器,过滤掉高频。这个处理一般会由声卡或音频编辑软件自动完成。

Bit Depth位深度:一个采样由多少bit来保存

8bit可以表示256种幅值,对于音乐而言质量就太差了,而且信噪比也很低,就无法分辨出信号与噪声。8bit音频会带有嘶嘶的背景噪声
16bit:最常见,CD用的16bit,可以表示-32768~32767,信噪比很好

dynamic range动态范围

动态范围是可以表示的最大声音与最小声音的比值,大表示在一段音频中可以同时捕捉到很小的声音和很大的声音。单位是dB(Decibels),16bit音频的动态范围声96dB

Decibels:表达的是与某个基准信号相比较的值取10的对数,再乘20

0dB:表示与基准信号音量相同
+3dB比基准信号声音大些, -3dB比基准信号声音小些
-∞表示信号是完全静音的,也就是比基准信号的声音要安静无穷倍,即静音。
人的听觉中最常用的基准信号称为auditory threshold,可以认为是人类可以听到的最小的音量,在此基准的音量大小称为dB SPL(Sound Pressure Level)。
数字音频信号的基准是满幅度。0dB是最大的幅值,半幅值大约是-6dB,两倍最大幅值大约是+6dB,如果输入信号的幅值是0,则是-∞dB。
24bit的动态范围是144dB,最大声足以震坏扬声器和耳膜,为什么要这么大呢?下面解释原因
clipping削波:输入值超出了当前位深度可能表达的范围,导致还原为模拟信号时,幅度大的信号无法表示,而变成平顶


headroom余量:输入的信号值幅值应该和最大幅值之间要留有余量,这样信号值即使变化也不会超出范围。这就是使用24bit的原因,录音棚就是这样的。如果录制的只是消费级的麦克风,例如手机或者耳麦,16bit足够了,用不着24bit。另外,普通的声卡不一定能支持24bit,说是24bit,其实还是16bit。
32bit:计算机里处理4字节比3字节更方便,编程语言里一般也有32字节的int。1个32bit的采样里可能只是存了24bit的有用数据

Floting Point Sampling浮点采样

浮点,通常称为IEEE浮点,32位是single/float,64位是double。
一般32位就够用了,但是很多录音软件内部使用double是因为用double比用int更方便,一般会把声卡输出的整数除以最大幅值,归一为±1.0范围,避免clipping,处理完毕后再还原为整数

Channels声道

输入信号的数量。
mono一个麦克风是单声道,电话一般是单声道
stereo立体声是双声道,左声道和右声道。
Multi-channel多声道:例如5.1环绕声
声卡的支持有限个数输入和输出声道,专业声卡有很多输入通道

Comments
Write a Comment