本文为《Android手机直播(三)声音采集》的学习笔记。

基础知识

声音的原理:

声音是振动产生的声波,通过介质(空气或固体、液体)传播并能被人或动物听觉器官所感知的波动现象。声音的频率一般会以赫兹表示,记为Hz,指每秒钟周期性振动的次数。而分贝是用来表示声音强度的单位,记为dB。

麦克风采集:

  1. 动圈麦克风:线圈、振膜、永久磁铁,柔润,适合用来收录人声。
  2. 电容式麦克风:电容式麦克风并没有线圈及磁铁,靠着电容两片隔板间距离的改变来产生电压变化,电容式麦克风因灵敏度较高,常用于高质量的录音。
  3. 微机电麦克风:使用微机电技术做成的麦克风,也称麦克风芯片或硅麦克风。主要应用于部分的手机、PDA等小型移动产品。

麦克风降噪:

通过上下两个麦克风进行收集,两个麦克风采集到的人声一般会有6db的音量差。顶端麦收集噪声后,通过解码生成补偿信号后就可以用来消除噪音了。

回声:

障碍物对声音的反射。光滑的表面易产生回声。回声相比那些直接传播的声音所经过的路程更长,所以会比直接传播的声音晚被听到。如果两列声波的时间间隔小于0.1秒,人耳边无法分辨,只能听到被延长的声音。因为室温(20℃)时空气中的声速是343米每秒,所以站在声源处的人要听到回声需要障碍物到声源的距离至少17米。

回声消除:

直播连麦时需要进行回声消除。

回声消除原理

在近端,麦克风会采集到扬声器播放出来的远端声音,假设这路声音为y(n),当然由于需要将远端传来播放出来,我们当然能得到远端传来的声音信号,假设这路声音为x(n)。不难发现x(n)经过扬声器的播放,然后经过空气的传播,最后被麦克风采集,然后变为y(n),x(n)和y(n)具有明显的相关性。假设麦克风采集到的总声音信号为z(n),这时候需要通过自适应滤波器根据x(n)找出z(n)中的y(n),然后从z(n)中过滤掉y(n)。

声音采集

将声音数字化,最常见的方式是通过脉冲编码调制PCM(Pulse Code Modulation) 。声音经过麦克风,转换成一连串电压变化的信号。要将这样的电压变化的信号转化成为PCM信号则需要进行三个过程:抽样、量化、编码。要实现这三个过程,则需要使用三个参数,它们是:采样频率、采样位数和声道数。

采样频率

采样频率即取样频率,指每秒钟取得声音样本的次数。采样频率越高,声音的质量也就越好,声音的还原也就越真实,但同时它占的资源比较多。在16位声卡中有22KHz、44KHz等几级,其中,22KHz相当于普通FM广播的音质,44KHz已相当于CD音质了,目前的常用采样频率都不超过48KHz。

采样位数

采样位数即采样值或取样值(就是将采样样本幅度量化)。它是用来衡量声音波动变化的一个参数,也可以说是声卡的分辨率。它的数值越大,分辨率也就越高,所发出声音的能力越强。
在计算机中采样位数一般有8位和16位之分,8位不是说把纵坐标分成8份,而是分成2的8次方即256份; 同理16位是把纵坐标分成2的16次方65536份。

声道数

很好理解,有单声道和立体声之分,单声道的声音只能使用一个喇叭发声(有的也处理成两个喇叭输出同一个声道的声音),立体声的pcm可以使两个喇叭都发声(一般左右声道有分工) ,更能感受到空间效果。

那么,现在我们就可以得到pcm文件所占容量的公式:
存储量 = (采样频率 · 采样位数 · 声道 · 时间)/8 (单位:字节数)

文章来源于互联网,如有雷同请联系站长删除:声音采集-笔记

发表评论