音频相关的基本概念
音频相关的基本概念1. 声音的本质声音的本质是波在介质中的传播现象声波的本质是一种波是一种物理量。 两者不一样声音是一种抽象的是声波的传播现象声波是物理量。2. 声音的三要素响度(loudness)人主观上感觉声音的大小俗称音量由“振幅”amplitude和人离声源的距离决定振幅越大响度越大人和声源的距离越小响度越大。音调(pitch) 声音的高低高音、低音由频率决定频率越高音调越高频率单位Hz赫兹人耳听觉范围2020000Hz。20Hz以下称为次声波20000Hz以上称为超声波。音色(Timbre)波形决定了声音的音调。由于不同对象材料的特点声音具有不同的特性音色本身就是抽象的东西但波形就是把这种抽象和直观的性能。波形因音调而异不同的音调可以通过波形来区分。傅立叶理论 Jean Baptiste Joseph Fourier1768-1830。他提出任何周期信号都可以看做是一系列正弦波和余弦波的叠加。告诉我们时域中的任何电信号都可以由一个或多个具有适当频率、幅度和相位的正弦波叠加而成。3.几个基本概念比特率(码率)比特率是每秒传输的比特数。单位为比特bps位/秒。指音频每秒钟播放的数据量单位为 bit例如对于 PCM 流采样率为 44100Hz采样大小为16声道数为 2那么码率为44100* 16 * 2 1411200 bps。关于音频文件大小的计算文件大小 采样率 * 录音时间 * 采样位数 / 8 * 通道数字节采样 采样是把连续的时间信号变成离散的数字信号。采样率简单来说就是每秒获取声音样本的次数。声音是一种能量波其具有音频频率和振幅的特征。那么采样的过程其实就是抽取某点的频率值。如果我们在一秒钟抽取的点越多获得的信息也就越多; 采样率越高声音的质量就越好。但是并不是说采样率越高就越好了因为人耳听觉的范围为 20Hz ~ 20kHz。一般来讲,44100HZ的采样率已经能够满足基本的要求了。采样数采样数跟采样率和时间有关系比如采样率为 44100Hz采样时间为1s那么1s 内的采样数就为 44100 个。采样位数 采样位数也叫采样大小或者量化位数。量化深度表示每个采样点用多少比特表示,音频的量化深度一般为 8 、16 、32 位等。例如量化深度为 8bit 时每个采样点可以表示 256 个不同的量化值而量化深度为 16bit 时每个采样点可以表示 65536 个不同的量化值。量化深度的大小影响到声音的质量,显然,位数越多,量化后的波形越接近原始波形,声音的质量越高而需要的存储空间也越多位数越少声音的质量越低需要的存储空间越少。CD音质采用的是 16 bits.-通道数通道数即声音的通道数目常见的有单声道、双声道和立体声道。单声道的声音只能使用一个扬声器发声或者也可以处理成两个扬声器输出同一个声道的声音当通过两个扬声器回放单声道信息的时候我们可以明显感觉到声音是从两个音箱中间传递到我们耳朵里的无法判断声源的具体位置。双声道就是有两个声音通道其原理是人们听到声音时可以根据左耳和右耳对声音相位差来判断声源的具体位置。声音在录制过程中被分配到两个独立的声道从而达到了很好的声音定位效果。记录声音时如果每次生成一个声波数据称为单声道每次生成两个声波数据称为双声道立体声。立体声双声道存储大小是单声道文件的两倍。音频帧 音频跟视频不太一样视频的每一帧就是一副图像但是因为音频是流式的本身是没有一帧的概念的。而且有些时候确实没有办法说一帧怎么怎么样。比如对于 PCM 流来说采样率为 44100Hz采样位数为 16通道数为 2,那么一秒的音频固定大小的44100162 / 8 字节。但是人们可以规定一帧的概念比如amr 帧比较简单,它规定每 20ms 的音频是一帧。奈奎斯特采样定律(Nyquist)又称为采样定律采样率大于或等于连续信号最高频率分量的2倍时采样信号可以用来完美重构原始连续信号通常有44.1KHz48kHz。PCM 流PCM 流就是原始收录声音时数据会保存到一串 buffer 中这串 buffer就采用了 PCM 格式存储的。通常把音频采样过程也叫做脉冲编码调制编码即 PCMPulse Code Modulation编码采样值也叫 PCM 值。在 windows 中通过 WaveIn 或者 CoreAudio 采集声音得到的原始数据就是一串PCM格式的buffer。4.编码的过程编码过程: 模拟信号- 采样- 量化- 编码-数字信号4.1 采样所谓采样就是只在时间轴上对信号进行数字化。根据奈奎斯特定律也称为采样定律)按照比声音最高频率的2倍上进行采样。人类听觉的频率音调范围为 20Hz–20KHz 。所以至少要大于 40KHz。采样频率一般为44.1kHz这样可保证声音达到 20kHz 也能被数字化。44.1kHz 就是代表 1 秒会采样 44100次。4.2 量化具体每个采样又该如何表示呢???这就涉及到量化。量化是指在幅度轴上对信号进行数字化。如果用 168/32 比特位的二进制信号来表示一个采样那么一个采样所表示的范围即为【-3276832767】。4.3 编码每一个量化都是一个采样将这么多采样进行存储就叫做编码。所谓编码就是按照一定的格式记录采样和量化后的数字数据比如顺序存储或者压缩存储等等。通常所说的音频裸数据格式就是脉冲编码调制(PCM)数据。一段 PCM 数据通常需要量化格式位深通常 16bit、 采样率、声道数几个概念来描述。对于声音格式还有一个概念用来描述它的大小即比特率就是1 秒内的比特数目用来衡量音频数据单位时间内的容量大小。4.4 数字信号将编码数据用高低电平表示出来就可以了。5. 音频处理相关5.1算法名称及部分功能解释AECAcoustic Echo Cancellation 回声消除算法在视频或者音频通话过程中本地的声音传输到对端播放之后声音会被对端的麦克风采集混合着对端人声一起传输到本地播放这样本地播放的声音包含了本地原来采集的声音造成主观感觉听到了自己的回声。以 WebRTC 为例其中的回声抑制模块建议移动设备采用运算量较小的 AECM 算法AGCAutomatic Gain Control 增益控制/自动增益控制手机等设备采集的音频数据往往有时候响度偏高有时候响度偏低造成声音忽大忽小影响听众的主观感受。自动增益控制算法根据预先配置的参数对输入声音进行正向/负向调节使得输出的声音适宜人耳的主观感受。VADVoice Activity Detection 端点检测/静音检测/语音端点检测/语音边界检测静音检测的基本原理计算音频的功率谱密度如果功率谱密度小于阈值则认为是静音否则认为是声音。静音检测广泛应用于音频编码、AGC、AECM 等。NS Noise Suppression 噪声抑制/降噪/主动噪声控制/噪声消除/主动降噪手机等设备采集的原始声音往往包含了背景噪声影响听众的主观体验降低音频压缩效率。以 Google 著名的开源框架 WebRTC为例我们对其中的噪声抑制算法进行严谨的测试发现该算法可以对白噪声和有色噪声进行良好的抑制。满足视频或者语音通话的要求。其他常见的噪声抑制算法如开源项目 Speex 包含的噪声抑制算法也有较好的效果该算法适用范围较WebRTC 的噪声抑制算法更加广泛可以在任意采样率下使用。CNG舒适噪音产生Comfortable Noise Generation舒适噪声产生的基本原理根据噪声的功率谱密度人为构造噪声。广泛适用于音频编解码器。在编码端计算静音时的白噪声功率谱密度将静音时段和功率谱密度信息编码。在解码端根据时间信息和功率谱密度信息重建随机白噪声。ANCActive Noise Control 噪声抑制/降噪/主动噪声控制/噪声消除/主动降噪ANSAutomatic Noise Suppression 噪声抑制/降噪/主动噪声控制/噪声消除/主动降噪NCNoise Cancellation 噪声抑制/降噪/主动噪声控制/噪声消除/主动降噪AFCAcoustic Feedback Cancellation 啸叫抑制/自适应声反馈消除/声反馈消除EQ音频均衡Dereverberation混响去除Beam Forming波束形成Speech Recognition语音识别ASRAutomatic Speech Recognition 语音识别KWSKeyword Spotting 语音唤醒SpeechEnhancement 语音增强Audio encode音频编码Microphone Array麦克风阵列Voiceprint recognition声纹识别Sound source localization声源定位5.2 部分服务压缩器compressor减小高信号的输出自动增益AGC对高信号进行降低对低信号进行升高反馈消除AFC使某一频率点的输入信号迅速衰弱达到阻止此频率信号通过的效果避免啸叫产生回声消除AEC进行回声消除闪避器保证同一时刻只有输入信号效果好延时器Delayer延缓信号输出时间音箱管理器main mixer可以对输出信号进行一些微调限幅器limiter控制输出信号的最大值6.音频采集的来源是什么如何计算首先音频的来源一般为麦克风(MediaRecorder.AudioSource.MIC)采样率单位赫兹每秒钟音频采样点个数(8000/44100Hz)模拟信号数字化的过程用0101来表示的数字信号声道AudioFormat.CHANNEL_IN_MONO 单声道一个声道进行采样AudioFormat.CHANNEL_IN_STEREO 双声道两个声道进行采样音频采样精度指定样式的数据的格式和每次采用的大小,数据返回的格式PCM格式每次采用的位宽为16bit,一般都采用这个 AudioFormat.ENCODING_PCM_16BIT(官方文档表示该采样精度保证所有设备都支持)每秒钟采样的大小采样率 * 采样大小 * 声道数每秒钟采样的大小16bit( 位宽) * 2( 双通道) * 44100(每次采样的次数 hz) 1411200b1411.2kbps7.音频使用场景及应用在现实生活中音频audio主要用在两大场景中:语音(voice)和音乐(music)。语音主要用于沟通通信如打电话现在由于语音识别的发展人机语音交互也是语音的一个应用目前正在风口上好多大厂都推出了 智能音箱。音乐主要用于欣赏如音乐播放。音频开发的主要应用7.1音频播放器录音机语音电话音视频监控应用音视频直播应用音频编辑/ 处理软件(ktv 音效、变声, 铃声转换)蓝牙耳机/音箱7.2 音频开发的具体内容音频采集/播放;音频算法处理去噪、VAD 检测、回声消除、音效处理、功放/增强、混音/分离等等;音频的编解码和格式转换;音频传输协议的开发SIPA2DP、AVRCP等等。8.混音技术介绍混音顾名思义就是把两路或者多路音频流混合在一起形成一路音频流。混流则是指音视频流的混合也就是视频画面和声音的对齐也称混流。并非任何两路音频流都可以直接混合。8.1两路音视频流必须符合以下条件格式相同要解压成 PCM 格式。采样率相同要转换成相同的采样率。主流采样率包括16k Hz、32k Hz、44.1k Hz 和 48kHz。帧长相同帧长由编码格式决定PCM 没有帧长的概念开发者自行决定帧长。为了和主流音频编码格式的帧长保持一致推荐采用 20ms 为帧长。位深 Bit-Depth 式 或采样格式 (Sample Format) 相同承载每个采样点数据的 bit 数目要相同。声道数相同必须同样是单声道或者双声道 (立体声)。这样把格式、采样率、帧长、位深和声道数对齐了以后两个音频流就可以混合了。8.2 回声消除、噪音抑制和静音检测等处理在混音之前还需要做回声消除、噪音抑制和静音检测等处理。回声消除和噪音抑制属于语音前处理范畴的工作。在**编码之前采集、语音前处理、混音之前的处理、混音和混音之后的处理应该按顺序进行。**静音抑制VADVoice Activity Detect可做可不做。对于终端混音是要把采集到的主播声音和从音频文件中读到的伴奏声音混合。如果主播停顿一段时间不发出声音通过 VAD 检测到了那么这段时间不混音直接采用伴奏音乐的数据就好了。然而为了简单起见也可以不做 VAD。主播不发声音的期间继续做混音也可以主播的声音为零振幅。9. 音频重采样重采样即是将音频进行重新采样得到新的采样率的音频。重采样的原因???音频系统中可能存在多个音轨而每个音轨的原始采样率可能是不一致的。比如在播放音乐的过程中来了一个提示音就需要把音乐和提示音都混合到 codec 输出音乐的原始采样率和提示音的原始采样率可能是不一致的。问题来了如果 codec 的采样率设置为音乐的原始采样率的话那么提示音就会失真。因此最简单见效的解决方法是codec 的采样率固定一个值44.1KHz/48KHz所有音轨都重采样到这个采样率然后才送到 音轨都重采样到这个采样率然后才送到 codec保证所有音轨听起来都不失真 保证所有音轨听起来都不失真。10.频谱频谱是一组正弦波经适当组合后形成被考察的时域信号。 显示了一个复合信号的波形。假定我们希望看到的是正弦波但显然图示信号并不是纯粹的正弦形而仅靠观察又很难确定其中的原因。11. 嵌入式DSP处理器(Embedded Digital Signal ProcessorEDSP)是一种非常擅长于高速实现各种数字信号处理运算(如数字滤波、频谱分析等)的嵌入式处理器。由于对DSP硬件结构和指令进行了特殊设计使其能够高速完成各种数字信号处理算法。11.1 特点嵌入式数字信号处理器的长处在于能够进行向量运算、指针线性寻址等运算量较大的数据处理。嵌入式数字信号处理器是专门用于信号处理的嵌入式处理器在系统结构和指令算法方面经过特殊设计。因而具有很高的编译效率和指令执行速度。DSP芯片内部采用程序和数据分开的哈佛结构。具有专门的硬件乘法器广泛采用流水线操作。提供特殊的DSP指令可以快速实现各种数字信号处理算法。
上一篇/下一篇内容由系统自动关联
返回资讯列表 →