💠

💠 2025-01-09 11:48:47


音频处理

音频处理按及时性分为实时处理和后期处理,按客户端实现可分为 安卓/iOS原生,H5。

实时

采集

设备种类: 移动端内置麦克风, 外部麦克风

麦克风的原理是将将采集的声音转换为模拟电信号,之后将模拟电信号数字化,也就是用高低电平表示的信号,在Android中有一个AudioRecord类就能录制语音,并将语音转换为PCM数据,声音在经过麦克风转换为模拟电信号并最终又转换为PCM数据,在转换为PCM数据时就要依赖于三个参数,分别是:声道数、采样位数和采样频率。

声道数

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

采样位数

即采样值或取样值(就是将采样样本幅度量化)。它是用来衡量声音波动变化的一个参数,也可以说是声卡的分辨率。它的数值越大,分辨率也就越高,所发出声音的能力越强。

在计算机中采样位数一般有8位和16位之分,但有一点请大家注意,8位不是说把纵坐标分成8份,而是分成2的8次方即256份; 同理16位是把纵坐标分成2的16次方65536份。

采样频率

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

既然知道了以上三个概念,就可以由下边的公式得出PCM文件所占容量:

存储量= 采样频率 * 采样位数 * 声道 * 时间 / 8 (单位:byte字节数)

降噪

JS: DynamicsCompressorNode BiquadFilterNode 安卓:

Ai降噪

回声消除

安卓:通过上下两个话筒不同的音源做减法保留人声去除噪音(下端采集说话音频,上端采集背景噪音)。

后期

音轨

过往的音乐录制都是单音轨,会要求一气呵成,后来拆分为多音轨,不同音轨不同的乐器或人声。在采集完成后,再将音轨按时间线合成。

存储

音频格式