我是靠谱客的博主 敏感高山,最近开发中收集的这篇文章主要介绍音频基本概念,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1.音频的基本概念

  声音的本质

  声音的本质是波在介质中的传播现象,声波的本质是一种波,是一种物理量。 两者不一样,声音是一种抽象的,是声波的传播现象,声波是物理量。

  声音的三要素

  • 响度(loudness): 人主观上感觉声音的大小(俗称音量),由“振幅”(amplitude)和人离声源的距离决定,振幅越大响度越大,人和声源的距离越小,响度越大。

  • 音调(pitch): 声音的高低(高音、低音),由频率决定,频率越高音调越高(频率单位Hz,赫兹),人耳听觉范围20~20000Hz。20Hz以下称为次声波,20000Hz以上称为超声波)。

  • 音色(Timbre): 波形决定了声音的音调。由于不同对象材料的特点,声音具有不同的特性,音色本身就是抽象的东西,但波形就是把这种抽象和直观的性能。波形因音调而异,不同的音调可以通过波形来区分。

  下图为音量与音调关系:
在这里插入图片描述

  几个基本概念

  • 比特率:比特率是每秒传输的比特数。单位为比特(bps位/秒)。

  • 采样: 采样是把连续的时间信号,变成离散的数字信号。

  • 采样率:采样率是每秒采集多少个样本。

  • 奈奎斯特采样定律(Nyquist):又称为采样定律,采样率大于或等于连续信号最高频率分量的2倍时,采样信号可以用来完美重构原始连续信号。

2.数字音频

2.1 采样

  所谓采样就是只在时间轴上对信号进行数字化。

  根据奈奎斯特定律(也称为采样定律),按照比声音最高频率的2倍上进行采样。人类听觉的频率(音调)范围为 20Hz–20KHz 。所以至少要大于 40KHz。采样频率一般为44.1kHz,这样可保证声音达到 20kHz 也能被数字化。44.1kHz 就是代表 1 秒会采样 44100次。
在这里插入图片描述

2.2 量化

  具体每个采样又该如何表示呢???这就涉及到量化。
  量化是指在幅度轴上对信号进行数字化。如果用 16 比特位的二进制信号来表示一个采样,那么一个采样所表示的范围即为【-32768,32767】。

2.3 编码

  每一个量化都是一个采样,将这么多采样进行存储就叫做编码。所谓编码,就是按照一定的格式记录采样和量化后的数字数据,比如顺序存储或者压缩存储,等等。
  通常所说的音频裸数据格式就是脉冲编码调制(PCM)数据。一段 PCM 数据通常需要量化格式(位深,通常 16bit)、 采样率、声道数几个概念来描述。
  对于声音格式,还有一个概念用来描述它的大小,即比特率,就是1 秒内的比特数目,用来衡量音频数据单位时间内的容量大小。
在这里插入图片描述

2.4 概念整理

采样率

  采样率,简单来说就是每秒获取声音样本的次数。
  声音是一种能量波,其具有音频频率和振幅的特征。那么采样的过程,其实就是抽取某点的频率值。如果我们在一秒钟抽取的点越多,获得的信息也就越多; 采样率越高,声音的质量就越好。但是并不是说采样率越高就越好了,因为人耳听觉的范围为 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 的音频是一帧。

比特率(码率)

  指音频每秒钟播放的数据量,单位为 bit,例如对于 PCM 流,采样率为 44100Hz,采样大小为16,声道数为 2,那么码率为:44100* 16 * 2 = 1411200 bps。
  注意:关于音频文件大小的计算文件大小 = 采样率 * 录音时间 * 采样位数 / 8 * 通道数

PCM 流

  简单说下PCM 流,后面也会详细介绍 PCM 流,PCM 流就是原始收录声音时,数据会保存到一串 buffer 中,这串 buffer,就采用了 PCM 格式存储的。通常把音频采样过程也叫做脉冲编码调制编码,即 PCM(Pulse Code Modulation)编码,采样值也叫 PCM 值。
  编码过程:模拟信号-> 抽样-> 量化-> 编码->数字信号
  在 windows 中,通过 WaveIn 或者 CoreAudio 采集声音,得到的原始数据就是一串PCM格式的buffer。

3.音频处理基础

3.1 噪音抑制(Noise Suppression)

  手机等设备采集的原始声音往往包含了背景噪声,影响听众的主观体验,降低音频压缩效率。以 Google 著名的开源框架 WebRTC为例,我们对其中的噪声抑制算法进行严谨的测试,发现该算法可以对白噪声和有色噪声进行良好的抑制。满足视频或者语音通话的要求。其他常见的噪声抑制算法如开源项目 Speex 包含的噪声抑制算法,也有较好的效果,该算法适用范围较WebRTC 的噪声抑制算法更加广泛,可以在任意采样率下使用。

3.2 回音消除(Acoustic Echo Canceller)

  在视频或者音频通话过程中,本地的声音传输到对端播放之后,声音会被对端的麦克风
采集,混合着对端人声一起传输到本地播放,这样本地播放的声音包含了本地原来采集的声音,造成主观感觉听到了自己的回声。以 WebRTC 为例,其中的回声抑制模块建议移动设备采用运算量较小的 AECM 算法,有兴趣的读者可以参考 AECM 的源代码进行研究,这里不展开介绍了。

3.3 自动增益控制(Auto Gain Control)

  手机等设备采集的音频数据往往有时候响度偏高,有时候响度偏低,造成声音忽大忽小,影响听众的主观感受。自动增益控制算法根据预先配置的参数对输入声音进行正向/负向调节,使得输出的声音适宜人耳的主观感受。

3.4 静音检测(Voice Activity Detection)

  静音检测的基本原理:计算音频的功率谱密度,如果功率谱密度小于阈值则认为是静音,否则认为是声音。静音检测广泛应用于音频编码、AGC、AECM 等。

3.5 舒适噪音产生(Comfortable Noise Generation)

  舒适噪声产生的基本原理:根据噪声的功率谱密度,人为构造噪声。广泛适用于音频编解码器。在编码端计算静音时的白噪声功率谱密度,将静音时段和功率谱密度信息编码。在解码端,根据时间信息和功率谱密度信息,重建随机白噪声。
  它的应用场景:完全静音时,为了创造舒适的通话体验,在音频后处理阶段添加随机白
噪声。

4.音频采集的来源是什么,如何计算?

  首先音频的来源一般为麦克风(MediaRecorder.AudioSource.MIC)

  采样率(单位:赫兹)

  每秒钟音频采样点个数(8000/44100Hz),模拟信号数字化的过程,用0101来表示的数字信号

  声道

  • AudioFormat.CHANNEL_IN_MONO 单声道,一个声道进行采样
  • AudioFormat.CHANNEL_IN_STEREO 双声道,两个声道进行采样

  音频采样精度

  指定样式的数据的格式和每次采用的大小,数据返回的格式PCM格式,每次采用的位宽为16bit,一般都采用这个 AudioFormat.ENCODING_PCM_16BIT(官方文档表示,该采样精度保证所有设备都支持)

  比特率

  每秒传送的比特(bit)数。单位为 bps(Bit PerSecond),比特率越高,传送数据速度越快。比特率越大表示单位时间内采样的数据越多,传输的数据量越大。

   每秒钟采样的大小
  采样率 * 采样大小 * 声道数
  每秒钟采样的大小=16bit( 位宽) * 2( 双通道) * 44100(每次采样的次数 hz) =1411200b=1411.2kbps

5.音频使用场景及应用?

  在现实生活中,音频(audio)主要用在两大场景中:语音(voice)和音乐(music)。语音主要用于沟通通信,如打电话,现在由于语音识别的发展,人机语音交互也是语音的一个应用,目前正在风口上,好多大厂都推出了 智能音箱。音乐主要用于欣赏,如音乐播放。

  音频开发的主要应用:

  1. 音频播放器
  2. 录音机
  3. 语音电话
  4. 音视频监控应用
  5. 音视频直播应用
  6. 音频编辑/ 处理软件(ktv 音效、变声, 铃声转换)
  7. 蓝牙耳机/音箱

音频开发的具体内容:

  1. 音频采集/播放;
  2. 音频算法处理(去噪、VAD 检测、回声消除、音效处理、功放/增强、混音/分离,等等);
  3. 音频的编解码和格式转换;
  4. 音频传输协议的开发(SIP,A2DP、AVRCP,等等)。

6.常见音频格式

  1. WAV格式:是微软公司开发的一种声音文件格式,也叫波形声音文件,是最早的数字音频格式,被 Windows 平台及其应用程序广泛支持,压缩率低。

  2. MIDI:是 Musical Instrument Digital Interface 的缩写,又称作乐器数字接口,是数字音乐/电子合成乐器的统一国际标准。它定义了计算机音乐程序、数字合成器及其它电子设备交换音乐信号的方式,规定了不同厂家的电子乐器与计算机连接的电缆和硬件及设备间数据传输的协议,可以模拟多种乐器的声音。MIDI 文件就是 MIDI 格式的文件,在MIDI 文件中存储的是一些指令。把这些指令发送给声卡,由声卡按照指令将声音合成出来。

  3. MP3:全称是 MPEG-1 Audio Layer 3,它在 1992 年合并至 MPEG 规范中。MP3 能够以高音质、低采样率对数字音频文件进行压缩。应用最普遍。

  4. MP3Pro 是由瑞典 Coding 科技公司开发的,其中包含了两大技术:一是来自于 Coding科技公司所特有的解码技术,二是由 MP3 的专利持有者法国汤姆森多媒体公司和德国
    Fraunhofer 集成电路协会共同研究的一项译码技术。MP3Pro 可以在基本不改变文件大小的情况下改善原先的 MP3 音乐音质。它能够在用较低的比特率压缩音频文件的情况下,最大程度地保持压缩前的音质。

  5. WMA (Windows Media Audio)是微软在互联网音频、视频领域的力作。WMA 格式是以减少数据流量但保持音质的方法来达到更高的压缩率目的,其压缩率一般可以达到1:18。此外,WMA 还可以通过 DRM(Digital Rights Management)保护版权。

  6. RealAudio是由 Real Networks 公司推出的一种文件格式,最大的特点就是可以实时传输音频信息,尤其是在网速较慢的情况下,仍然可以较为流畅地传送数据,因此RealAudio 主要适用于网络上的在线播放。现在的 RealAudio 文件格式主要有RA(RealAudio)、RM(RealMedia,RealAudio G2)、RMX(RealAudio Secured)等三种,这些文件的共同性在于随着网络带宽的不同而改变声音的质量,在保证大多数人听到流畅声音的前提下,令带宽较宽敞的听众获得较好的音质。

  7. Audible 拥有四种不同的格式:Audible1、2、3、4。Audible.com 网站主要是在互联网上贩卖有声书籍,并对它们所销售商品、文件通过四种 Audible.com 专用音频格式中的一种提供保护。每一种格式主要考虑音频源以及所使用的收听的设备。格式 1、2 和 3采用不同级别的语音压缩,而格式 4 采用更低的采样率和 MP3 相同的解码方式,所得到语音吐辞更清楚,而且可以更有效地从网上进行下载。Audible 所采用的是他们自己的桌面播放工具,这就是 Audible Manager,使用这种播放器就可以播放存放在 PC 或者是传输到便携式播放器上的 Audible 格式文件。

  8. AAC 实际上是高级音频编码的缩写。AAC 是由 Fraunhofer IIS-A、杜比和 AT&T 共同开发的一种音频格式,它是 MPEG-2 规范的一部分。AAC 所采用的运算法则与 MP3 的运算法则有所不同,AAC 通过结合其他的功能 来提高编码效率。AAC 的音频算法在压缩能力上远远超过了以前的一些压缩算法(比如 MP3 等)。它还同时支持多达 48 个音轨、15 个低频音轨、更多种采样率和比特率、多种语言的兼容能力、更高的解码效率。总之,AAC 可以在比 MP3 文件缩小 30%的前提下提供更好的音质。

  9. Ogg Vorbis: 是一种新的音频压缩格式,类似于 MP3 等现有的音乐格式。但有一点不同的是,它是完全免费 、开放和没有专利限制的。Vorbis 是这种音频压缩机制的名字,而 Ogg 则是一个计划的名字,该计划意图设计一个完全开放性的多媒体系统。VORBIS也是有损压缩,但通过使用更加先进的声学模型去减少损失,因此,同样位速率(Bit Rate)编码的 OGG 与 MP3 相比听起来更好一些。

  10. APE: 是一种无损压缩音频格式,在音质不降低的前提下,大小压缩到传统无损格式WAV 文件的一半。

  11. FLAC: 即是 Free Lossless Audio Codec 的缩写,是一套著名的自由音频无损压缩编码,其特点是无损压缩。

7.混音技术介绍

  混音,顾名思义,就是把两路或者多路音频流混合在一起,形成一路音频流。
  混流,则是指音视频流的混合,也就是视频画面和声音的对齐,也称混流。

  并非任何两路音频流都可以直接混合。

两路音视频流,必须符合以下条件才能混合:

  • 格式相同,要解压成 PCM 格式。
  • 采样率相同,要转换成相同的采样率。主流采样率包括:16k Hz、32k Hz、44.1k Hz 和 48k
    Hz。
  • 帧长相同,帧长由编码格式决定,PCM 没有帧长的概念,开发者自行决定帧长。为了
    和主流音频编码格式的帧长保持一致,推荐采用 20ms 为帧长。
  • 位深( (Bit-Depth) )式 或采样格式 (Sample Format) 相同,承载每个采样点数据的 bit 数目
    要相同。
  • 声道数相同,必须同样是单声道或者双声道 (立体声)。这样,把格式、采样率、帧长、
    位深和声道数对齐了以后,两个音频流就可以混合了。

回声消除、噪音抑制和静音检测等处理

  在混音之前,还需要做回声消除、噪音抑制和静音检测等处理。回声消除和噪音抑制属于语音前处理范畴的工作。在编码之前,采集、语音前处理、混音之前的处理、混音和混音之后的处理应该按顺序进行。静音抑制(VAD,Voice Activity Detect)可做可不做。对于终端混音,是要把采集到的主播声音和从音频文件中读到的伴奏声音混合。如果主播停顿一段时间不发出声音,通过 VAD 检测到了,那么这段时间不混音,直接采用伴奏音乐的数据就好了。然而,为了简单起见,也可以不做 VAD。主播不发声音的期间,继续做混音也可以(主播的声音为零振幅)。

音频重采样

  重采样即是将音频进行重新采样得到新的采样率的音频。

  重采样的原因???

  音频系统中可能存在多个音轨,而每个音轨的原始采样率可能是不一致的。比如在播放音乐的过程中,来了一个提示音,就需要把音乐和提示音都混合到 codec 输出,音乐的原始采样率和提示音的原始采样率可能是不一致的。问题来了,如果 codec 的采样率设置为音乐的原始采样率的话,那么提示音就会失真。因此最简单见效的解决方法是:codec 的采样率固定一个值(44.1KHz/48KHz),所有音轨都重采样到这个采样率,然后才送到 音轨都重采样到这个采样率,然后才送到 codec,保证所有音轨听起来都不失真 ,保证所有音轨听起来都不失真。

回声消除

  在即时通讯应用中,需要进行双方,或是多方的实时语音交流,在要求较高的场合,通常都是采用外置音箱放音,这样必然会产生回音,即一方说话后,通过对方的音箱放音,然后又被对方的 Mic 采集到回传给自己(如下图所示)。如果不对回音进行处理,将会影响通话质量和用户体验,更严重的还会形成震荡,产生啸叫。回声消除就是在 Mic 采集到声音之后,将本地音箱播放出来的声音从 Mic 采集的声音数据中消除掉,使得 Mic 录制的声音只有本地用户说话的声音。传统的回声消除都是采用硬件方式,在硬件电路上集成 DSP 处理芯片,如我们常用的固定电话、手机等都有专门的回音消除处理电路,而采用软件方式实现回声消除一直存在技术难点,包括国内应用最广泛的 QQ 超级语音,便是采用国外的 GIPS 技术,由此可见一般。回声消除已经成为即时通讯中提供全双工语音的标准方法。声学回声消除是通过消除或者移除本地话筒中拾取到的远端的音频信号来阻止远端的声音返回去的一种处理方法。这种音频的移除都是通过数字信号处理来完成的。回声消除技术是数字信号处理的典型应用之一。
  回声消除的基本原理是以扬声器信号与由它产生的多路径回声的相关性为基础,建立远端信号的语音模型,利用它对回声进行估计,并不断修改滤波器的系数,使得估计值更加逼近真实的回声。然后,将回声估计值从话筒的输入信号中减去,从而达到消除回声的目的。

最后

以上就是敏感高山为你收集整理的音频基本概念的全部内容,希望文章能够帮你解决音频基本概念所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(59)

评论列表共有 0 条评论

立即
投稿
返回
顶部