音频技术总结

目录

1、声学背景知识

2、音频技术背景

2.1、音频基础概念

2.2、音频SDK架构

3、音频采集

4、音频处理

4.1、自动增益(AGC)

4.2、编解码

4.2.1、5W+1H

4.2.2、speex

4.2.3、opus

5、TRTC的音频能力探索

5.1、TRTC的音频处理能力

5.2、TRTC无声音问题踩坑


1、声学背景知识

声音作为机械波的一种,频率和振幅是描述波的重要属性,频率的大小与我们通常所说的音高对应,而振幅影响声音的大小(音量)。声音可以被分解为不同频率不同强度正弦波的叠加,这个变换的过程就是傅立叶变换。声音总是包含一定的频率范围,人耳可以听到的声音的频率范围在20到2万赫兹之间。高于这个范围的波动是超声波,而低于这一范围的是次声波。

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

2、音频技术背景

2.1、音频基础概念

采样:

声波是无限光滑的,弦线其实由无数点组成,由于存储空间是相对有限的,数字编码过程中,必须对弦线的点进行采样,采样的过程就是抽取某点的频率值,光有频率信息是不够的,我们还必须获得该频率的能量值并量化,用于表示信号强度,总体音量得到明显的提升。

采样频率:

      单位时间内对模拟信号的采样次数。奈奎斯特采样定理,要从抽样信号中无失真地恢复原信号,抽样频率应大于2倍信号最高频率。 抽样频率小于2倍频谱最高频率时,信号的频谱有混叠。 抽样频率大于2倍频谱最高频率时,信号的频谱无混叠。人耳能够感觉到的最高频率为20kHz,因此要满足人耳的听觉要求,则需要至少每秒进行40k次采样,用40kHz表达,这个40kHz就是采样率。我们常见的CD,采样率为44.1kHz。

采样位数:

      每个采样点能够表示的数据范围。采样位数可以理解为采集卡处理声音的解析度。这个数值越大,解析度就越高,录制和回放的声音就越真实。录音的本质就是把模拟声音信号转换成数字信号;反之,在播放时则是把数字信号还原成模拟声音信号输出。采集卡的位是指采集卡在采集和 播放声音文件时所使用数字声音信号的二进制位数。采集卡的位客观地反映了数字声音信号对输入声音信号描述的准确程度。8位代表28次方--25616 位则代表216次方--64K。一段相同的音频,16位声卡能把它分为64K个精度单位进行处理,而8位声卡只能处理256个精度单位, 有一定程度的信号损失。

声道:

    声道(Sound Channel) 是指声音在录制或播放时在不同空间位置采集或回放的相互独立的音频信号,所以声道数也就是声音录制时的音源数量或回放时相应的扬声器数量。单声道,声音的采集/播放只有一路信号(可以理解为只有一个麦克风/扬声器)。双声道(立体声),声音在录制过程中被分配到两个独立的声道,从而达到了很好的声音定位效果。单声道缺乏对声音的位置定位,而立体声技术则彻底改变了这一状况。四声道环绕,有前左、前右,后左、后右,听众则被包围在这中间,同时还建议增加一个低音音箱,以加强对低频信号的回放处理,四声道系统可以带来来自多个不同方向的声音环绕。5.1声道,5.1声音系统来源于4.1环绕,不同之处在于它增加了一个中置单元,这个中置单元是一个专门设计的超低音声道,这一声道可以产生频响范围20~120Hz的超低音,把对话集中在整个声场的中部。7.1声道,7.1系统在5.1的基础上又增加了中左和中右两个发音点,建立起一套前后声场相对平衡的声场。

编码:

      采样和量化后的信号还不是数字信号,需要将它转化为数字编码脉冲,这一过程称为编码。模拟音频进采样、量化和编码后形成的二进制序列就是数字音频信号。

音频帧:

       音频数据是流式的,本身没有明确的一帧帧的概念,在实际的应用中为了处理方便,一般约定俗成取2.5ms~60ms为单位的数据量为一帧音频,长度没有特别的标准,它是根据编解码器和具体应用的需求决定。

音频码率:

      一个音频流中每秒钟能通过的数据量。如128kbps,其中ps(per second)为每秒,kb为千位,那么128kbps表示一秒钟能传输的数据量是128千位。对于格式相同的文件来说,码率越大的话,音质越好。但是对于不同格式的音频文件来说,相同码率并不代表其音质一样。音频的码率=采样率*位深度*通道数。

2.2、音频SDK架构

主流的音频SDK通常包括音频采集、音频处理(AGC、AEC、VAD、ANS)、编解码、缓存、网络传输、音频播放等部分,其中音频处理部分涉及到矩阵运算,某些厂商还会用到openMP做算法加速。

3、音频采集

音频采集以及麦克占用检测方案参见:Android麦克风探测器_喜六六的博客-CSDN博客

4、音频处理

音频处理链路包括AEC回声消除、AGC音量的自动增益控制、VAD音频的活性检测、编码/解码(speex、opus)、ANS降噪,具体处理流程如下所示:

4.1、自动增益(AGC)

作用:

在音视频通话的现实场景中,不同的参会人说话音量各有不同,参会用户需要频繁的调整播放音量来满足听感的需要,戴耳机的用户随时承受着大音量对耳朵的 “暴击”。自动增益控制算法能够统一音频音量大小,极大地缓解了由设备采集差异、说话人音量大小、距离远近等因素导致的音量的差异。

因此,自动增益控制的主要作用是,当功放的输入信号幅度变化很大的情况下,使输出信号幅度保持恒定。当输入信号达到一定强度时,启动压缩功能,减小放大增益,使得输出幅度降低;当输入信号降低到一定程度时,再逐渐恢复默认的放大增益。AGC能够保证输入信号的幅度在不断变化,但是输出信号的幅度是固定的,也就是说输出功率是固定的。

  • 1
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
音频处理技术是指对音频信号进行采集、转换、编码、解码、压缩、去噪、增强、分析等一系列处理的技术。在音频信号的处理中,常用的技术包括数字信号处理、滤波、降噪、语音识别、音乐合成等。以下是我对音频处理技术实验的小结: 1. 声音录制与播放实验:通过Python语言中的sounddevice库,可以实现对声音的录制和播放。可以通过调节采样率和声道数等参数,来控制录制音频的质量。 2. 频域分析实验:通过Python语言中的numpy和matplotlib库,可以实现对音频信号进行时域分析和频域分析。在频域分析中,常用的技术包括傅里叶变换和小波变换等。通过对音频信号进行频域分析,可以得到音频信号的频谱图,进而分析音频信号的频率分布和能量分布等信息。 3. 降噪实验:音频信号中常常含有噪声,为了提高信号的质量,需要进行降噪处理。常用的降噪方法包括基于阈值的小波降噪、基于谱减法的降噪、基于混合高斯模型的降噪等。 4. 语音识别实验:语音识别是指将人类语音转换为文本或命令的技术。常用的语音识别技术包括基于HMM的语音识别、基于神经网络的语音识别等。通过对语音信号进行特征提取和语音识别算法的训练和优化,可以实现高效、准确的语音识别。 5. 音乐合成实验:音乐合成是指通过计算机算法生成音乐的过程。常用的音乐合成方法包括基于物理模型的合成、基于采样合成、基于频率合成等。通过对声音的分析和合成,可以实现各种音乐风格和音效的生成。 总的来说,音频处理技术在日常生活和工业生产中有着广泛的应用,包括电话通信、语音助手、音乐制作等领域。通过对音频处理技术的学习和实践,可以提高对音频信号的认识和理解,同时也可以为相关领域的研究和应用提供技术支持。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值