音视频之音频相关概念介绍

2022-10-25 16:33:27 浏览数 (2)

概要

在从事音视频的音频开发中,难免会遇到一些问题,比如声音异常,回音等问题,这时候有比较牢固的概念基础会对分析这些问题很有帮助。本篇就介绍下音频相关的概念

正文

声音的组成

声波的三要素是频率,振幅,和波形。 频率的大小代表音调,振幅的大小代表响度,波形代表音色。结合下面的一段音频波形,会更形象一些。频率就是振动快慢,振幅是波形的变化幅度,而波形的包络,就是音色。

image.png

采样

声音本身可以看成是模拟信号,如果要在计算机中处理则需要转成数字信号。如何将模拟信号转成数字信号,这就需要采样了。信号本身有一个频率,而采样函数也有一个频率,根据Nyquist-Shannon采样定理,如果要正确获取原始信号的信息,那么采样频率至少需要是原始信号频率的2倍。

而在音频处理中,还会经常看到一个概念,叫重采样。在信号处理中,各个功能处理的信号频率可能是不一样的,比如在混合多个音频流的时候,各个音频流采样频率可能是不一样的, 这时候就需要重采样,让各音频流在混音之前先重采样成一样的频率和声道。重采样的过程就是将信号从一个频率,声道转换成另外一种频率和声道的过程

声道

采样时候的声道就是声音录制时候的音源数量,而播放时候的省道就是扬声器数量。

采样位数

在用数字信号表示音频信号的时候,某个信号可以用8位数字,也就是1个字节表示,也可以用2个字节标记。用的位数越多,表示的信号等级也就越多,目前用的最多的是2个字节。

采样时长

按照前面的介绍,就可以理解单位时间内采样的音频数据大小计算了,1s的音频数据大小是:

image.png

f是采样频率,Channels是声道数,BytesPerSample是采样字节数。

那么也可以计算一段音频对应的时长:

image.png

3A

3A指的就是声音采集时的几个声音处理流程,包括ANS(噪声消除),AEC(回声消除),AGC(语音增强),分别介绍下: ANS:就是在音频信号中去掉噪音,简单的原理就是识别音频中的语音信号和噪声信号,然后将噪声信号去掉。如何识别语音信号?就会有多种方法, 比如在采集的时候,我们不会是一直说话的,那么不说话时候的信号主要就是噪音。 AEC:在A和B通话的时候,A采集的声音在B处播放,B的麦克风不仅会猜忌B自己的声音,也会将B处播放的A的声音也采集到,然后发送到A处播放,这样A就听到了自己的声音。这时候就需要在采集的时候,根据获取的远端音频信号,从采集的信号中去掉采集的远端音频信号,也就是把远端的回声去掉。这儿只需要知道,回声消除是只在采集的地方处理的。 AGC:在采集的时候,声音大小可能会随着人离麦克风的距离发生变化,为了让人的声音听起来不是忽高忽低,那么就需要AGC来将采集的声音强度调整成一致的,这样听起来就不会忽高忽低了。

音量类型

我们嵌入式设备接触的多的就是通话音量和媒体音量。这两个音量有什么区别呢?主要是通话音量下需要开启AEC,而媒体音量不需要。另外采集的频率也会有差异。通话音量主要是针对语音通话场景,比如和主播互动,而媒体音量主要是针对媒体播放场景,比如听那个音乐。 那如何区分通话音量和媒体音量呢?通过调节音量按键,通话音量的音量是不会被调成0,而媒体音量可以。

音频路由

音频路由就是音频的输入和输出通道,包含麦克风,听筒,有线耳机,蓝牙耳机,蓝牙SCO。这儿可以看到蓝牙耳机有2种,一种是SCO,一种是ACL。 SCO用于通话场景,建立连接时间比较长,大概3秒左右。

耳返

耳返就是在采集端建一个回路,可以将采集的数据实时播放出来。

PCM

PCM(pulse code modulation)脉冲编码调制,就是原始的音频信号,未经过压缩那种。在分析音频问题的时候,用的最多的方法就是导出各个阶段的PCM数据,看是哪个阶段出的问题。这儿的阶段就是采集,重采样,3A,混音,上行,下行,重采样,混音,播放。

0 人点赞