导航:首页 > 源码编译 > 声码话音频算法

声码话音频算法

发布时间:2022-10-02 22:15:43

1. 声码器的起源

声码器最早出现在美国贝尔实验室。这个实验室的H.W.达得利在1928年提出合成话音的设想,并于1939年在纽约世界博览会上首次表演了他取名为声码器的话音合成器。此后,话音合成的原理被用来研究压缩话音频带。声码器的研究工作不断取得进展,数码率已降到2400或1200比特/秒,甚至更低。合成后的话音质量有较大提高。在售价、结构、耗电等诸方面符合商用的声码器已经出现。中国于50年代末开始研制声码器,并已用于数字通信。
压缩频带 声码器能压缩频带的根本依据是话音信 号中存在信息多余度。话音信号只要保留声源和声道的主要参量,就能保证有较高的话音清晰度。
类型 采用频谱包络和基频作为参数的声码器称为信道声码器。除信道声码器外,还有多种其他类型的声码器。它们在合成话音质量、数码率和复杂程度等方面不大一样,主要的差别在于话音参数和提取这些参数的方式不同。例如,用共振峰的位置、幅度和宽度表示频谱包络的,称为共振峰声码器;利用同态滤波技术,如对话音信号进行积分变换、取对数和反变换以获得各参数的,称为同态声码器;直接编码和传输话音的基带(如取200~600赫的频带)以表征声源特性的,称为声激励声码器。此外,还有相位声码器、线性预测声码器(见线性预测编码)等。

2. 常用声音编码方法

MP3:

MP3格式诞生于八十年代的德国,所谓的MP3也就是指的是MPEG标准中的音频部分,也就是MPEG音频层。根据压缩质量和编码处理的不同分为3层,分别对应“*.mp1"/“*.mp2”/“*.mp3”这3种声音文件。需要提醒大家注意的地方是:MPEG音频文件的压缩是一种有损压缩,MPEG3音频编码具有10:1~12:1的高压缩率,同时基本保持低音频部分不失真,但是牺牲了声音文件中12KHz到16KHz高音频这部分的质量来换取文件的尺寸,相同长度的音乐文件,用*.mp3格式来储存,一般只有*.wav文件的1/10,而音质要次于CD格式或WAV格式的声音文件。由于其文件尺寸小,音质好;所以在它问世之初还没有什么别的音频格式可以与之匹敌,因而为*.mp3格式的发展提供了良好的条件。直到现在,这种格式还是风靡一时,作为主流音频格式的地位难以被撼动。但是树大招风,MP3音乐的版权问题也一直是找不到办法解决,因为MP3没有版权保护技术,说白了也就是谁都可以用。

MP3格式压缩音乐的采样频率有很多种,可以用64Kbps或更低的采样频率节省空间,也可以用320Kbps的标准达到极高的音质。我们用装有Fraunhofer IIS Mpeg Lyaer3的 MP3编码器(现在效果最好的编码器)MusicMatch Jukebox 6.0在128Kbps的频率下编码一首3分钟的歌曲,得到2.82MB的MP3文件。采用缺省的CBR(固定采样频率)技术可以以固定的频率采样一首歌曲,而VBR(可变采样频率)则可以在音乐“忙”的时候加大采样的频率获取更高的音质,不过产生的MP3文件可能在某些播放器上无法播放。我们把VBR的级别设定成为与前面的CBR文件的音质基本一样,生成的VBR MP3文件为2.9MB。

WMA:

WMA (Windows Media Audio) 格式是来自于微软的重量级选手,后台强硬,音质要强于MP3格式,更远胜于RA格式,它和日本YAMAHA公司开发的VQF格式一样,是以减少数据流量但保持音质的方法来达到比MP3压缩率更高的目的,WMA的压缩率一般都可以达到1:18左右,WMA的另一个优点是内容提供商可以通过DRM(Digital Rights Management)方案如Windows Media Rights Manager 7加入防拷贝保护。这种内置了版权保护技术可以限制播放时间和播放次数甚至于播放的机器等等,这对被盗版搅得焦头乱额的音乐公司来说可是一个福音,另外WMA还支持音频流(Stream)技术,适合在网络上在线播放,作为微软抢占网络音乐的开路先锋可以说是技术领先、风头强劲,更方便的是不用象MP3那样需要安装额外的播放器,而Windows操作系统和Windows Media Player的无缝捆绑让你只要安装了windows操作系统就可以直接播放WMA音乐,新版本的Windows Media Player7.0更是增加了直接把CD光盘转换为WMA声音格式的功能,在新出品的操作系统Windows XP中,WMA是默认的编码格式,大家知道Netscape的遭遇,现在“狼”又来了。WMA这种格式在录制时可以对音质进行调节。同一格式,音质好的可与CD媲美,压缩率较高的可用于网络广播。虽然现在网络上还不是很流行,但是在微软的大规模推广下已经是得到了越来越多站点的承认和大力支持,在网络音乐领域中直逼*.mp3,在网络广播方面,也正在瓜分Real打下的天下。因此,几乎所有的音频格式都感受到了WMA格式的压力。

RealAudi

RealAudio主要适用于在网络上的在线音乐欣赏,现在大多数的用户仍然在使用56Kbps或更低速率的Modem,所以典型的回放并非最好的音质。有的下载站点会提示你根据你的Modem速率选择最佳的Real文件。现在real的的文件格式主要有这么几种:有RA(RealAudio)、RM(RealMedia,RealAudio G2)、RMX(RealAudio Secured),还有更多。这些格式的特点是可以随网络带宽的不同而改变声音的质量,在保证大多数人听到流畅声音的前提下,令带宽较富裕的听众获得较好的音质。
WAV
WAV格式是微软公司开发的一种声音文件格式,也叫波形声音文件,是最早的数字音频格式,被Windows平台及其应用程序广泛支持。WAV格式支持许多压缩算法,支持多种音频位数、采样频率和声道,采用44.1kHz的采样频率,16位量化位数,因此WAV的音质与CD相差无几,但WAV格式对存储空间需求太大不便于交流和传播。
WAV是一种文件格式,符合 PIFF Resource Interchange File Format规范。所有的WAV都有一个文件头,这个文件头音频流的编码参数。WAV对音频流的编码没有硬性规定,除了PCM之外,还有几乎所有支持ACM规范的编码都可以为WAV的音频流进行编码。
WAV也可以使用多种音频编码来压缩其音频流,不过我们常见的都是音频流被PCM编码处理的WAV,但这不表示WAV只能使用PCM编码,MP3编码同样也可以运用在WAV中,和AVI一样,只要安装好了相应的Decode,就可以欣赏这些WAV了。
在Windows平台下,基于PCM编码的WAV是被支持得最好的音频格式,所有音频软件都能完美支持,由于本身可以达到较高的音质的要求,因此,WAV也是音乐编辑创作的首选格式,适合保存音乐素材。因此,基于PCM编码的WAV被作为了一种中介的格式,常常使用在其他编码的相互转换之中,例如MP3转换成WMA。
相对来说WAV格式也比较丰富,并且互相差异也比较大。通常说的WAV文件一般指的是PCM编码格式,这种格式所支持的速度及采样范围比较大,但是它是没有压缩的。同时为了WAV文件也支持一些常用的压缩方式,如:G.723.1、ACELP、CCITT A-Law、CCITT u-Law、TrueSpeed(TM)、GSM 6.10等,而这些格式大多数是为电话或调制解调器等低速语音为主的设备而使用,它们一般采用比较窄的采样范围来产生比较大的压缩比。

Flash:

Flash的前身是Future Wave公司开发的FutureSplash Animator,是一个基于矢量的动画制作软件。由于该软件得到良好的反响,于是被Macromedia收归旗下,定名为Macromedia FLASH 2。由于Macromedia的大力宣扬和FLASH 2本身的独特本领,很快成为网络的宠儿。Macromedia Flash作为矢量化的交互式web动画制作工具,它结合macromedia公司的“流”技术--SHOCKWAVE,在web上用于发布交互式的动画。

3. 声码器的原理

人讲话时,气流经过喉头形成声源信号,然后激励由口、鼻腔构成的声道,产生话音信号。声码器发信端的分析器首先对话音信号进行分析,提取主要话音参数:①声源特性,如声带“振动-不振动”(浊-清音)、声带振动时的基本频率(基频□□);②声道传输声源信号的特性。这些话音参数变化很慢,它们所占的总频带比话音本身的频带窄得多,因而对这些参数采样编码时总数码率只有几千甚至几百比特/秒,只有直接 由话音信号采样编码的数码率的十几分之一,可以通过一个普通电话信道来传输。收信端的合成器利用这些参数来合成话音。

4. 音频知识详解(一)

现实生活中,我们听到的声音都是时间连续的,我们称为这种信号叫 模拟信号 。模拟信号需要进行数字化以后才能在计算机中使用。

目前我们在计算机上进行音频播放都需要依赖于 音频文件 音频文件 的生成过程是将 声音信息采样 、 量化 和 编码 产生的数字信号的过程 ,人耳所能听到的声音,最低的频率是从20Hz起一直到最高频率20KHZ,因此音频文件格式的最大带宽是20KHZ。根据 奈奎斯特 的理论,只有 采样频率 高于 声音信号最高频率 的两倍时,才能把数字信号表示的声音还原成为原来的声音,所以音频文件的采样率一般在40~50KHZ,比如最常见的CD音质采样率44.1KHZ。

采样 :波是无限光滑的,采样的过程就是从波中抽取某些点的频率值,就是 把模拟信号数字化 。如下图所示:

采样频率 :单位时间内对模拟信号的采样次数。采样频率越高,声音的还原就越真实越自然,当然数据量就越大。采样频率一般共分为22.05KHz、44.1KHz、48KHz三个等级。8KHz - 电话所用采样率, 对于人的说话已经足够,22.05KHz只能达到FM广播的声音品质(适用于语音和中等品质的音乐),44.1KHz则是是最常见的采样率标准,理论上的CD音质界限,48KHz则更加精确一些(对于高于48KHz的采样频率人耳已无法辨别出来了,所以在电脑上没有多少使用价值)。

采样位数(也成量化级、样本尺寸、量化数据位数) :每个采样点能够表示的数据范围。采样位数通常有8bits或16bits两种,采样位数越大,所能记录声音的变化度就越细腻,相应的数据量就越大。8位字长量化(低品质)和16位字长量化(高品质),16 bit 是最常见的采样精度。

量化 :将采样后离散信号的幅度用二进制数表示出来的过程称为量化。(日常生活所说的量化,就是设定一个范围或者区间,然后看获取到的数据在这个条件内的收集出来)。

PCM : PCM(Pulse Code Molation),即脉冲编码调制,对声音进行采样、量化过程,未经过任何编码和压缩处理。

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

声道数 :声道数是指支持能不同发声的音响的个数,它是衡量音响设备的重要指标之一。

码率 :(也成位速、比特率) 是指在一个数据流中每秒钟能通过的信息量,代表了压缩质量。 比如MP3常用码率有128kbit/s、160kbit/s、320kbit/s等等,越高代表着声音音质越好。MP3中的数据有ID3和音频数据组成,ID3用于存储歌名、演唱者、专辑、音轨等我们可以常见的信息。

音频帧 :音频数据是流式的,本身没有明确的一帧帧的概念,在实际的应用中,为了音频算法处理/传输的方便,一般约定俗成取2.5ms~60ms为单位的数据量为一帧音频。这个时间被称之为“采样时间”,其长度没有特别的标准,它是根据编解码器和具体应用的需求来决定的。

模拟信号 -> 输入设备(传递电压值)-> 声卡(经过采样跟量化(即设置声音大小等各种值))-> 磁盘(文件) -> 声卡 -> 输出设备 -> 模拟信号

我们声音在物理上用波形表示,那么我们将这些波形称作为 模拟信号 。而我们计算机磁盘只能存储(01010101)的格式。我们将模拟信号转换成能够被磁盘存储的格式(010101)称之为 数字信号 。这个转换的过程我们叫 模数转换

我们发出来的声音(模拟信号)是连续的,我们如果要一直的对模拟信号进行转化,产生的数字信号会很大。那么我们就要采样,而采样精度就是每秒计算机对模拟信号进行采样的次数。最常见的采样精度就是上面提到的44.1khz/s,这个是经过大师们多年研究得出的数据,低于这个数据,效果就会很差,而高于这个数据,效果的差距不是很明显。

采样后就是变成了(0101010110100101...),那声音的音量是有大小的,那这串数据,怎样表示声音的大小呢? 这就涉及到了比特率,它是指在一个数据流中每秒钟能通过的信息量。 比特率就是将声音的大小划分为多少等级。举例下:8比特,在二进制中,表示有8位,表示的十进制的值就是0(00000000)~256(11111111),那每个数值就代表着一个声音大小。

经过采样、量化、编码后转化成数字信号,然后存储为文件。

文件是用来装数字信号的 ,文件包括了比特率、采样率、声道、编码方式、以及被编码过后的数字信号。

文件格式 就是制造者自己规定的一种名称,在每个文件格式都会特定支持几种编码格式。 打个比方就是文件就是一个容器,里面可以装不同的水,有的可以装一种,有的可以装好几种。

经过采样后的数字信号很大,有时候我们不需要这么大的,所以我们就要进行编码压缩,当然压缩技术都是有损的。在不大影响音频的效果的情况下,舍弃掉一些高频或者低频的数据。

编码格式 可以理解为每种音频格式不同的编解码方式。

封装格式就是文件格式,编码就是编码格式。

了解了基础概念之后我们就可以列出一个经典的音频播放流程(以MP3为例):

在iOS系统中apple对上述的流程进行了封装并提供了不同层次的接口(图片引自 官方文档 )。

下面对其中的中高层接口进行功能说明:

可以看到apple提供的接口类型非常丰富,可以满足各种类别类需求:

https://msching.github.io/ 大神之作
https://www.jianshu.com/p/5c5e95d89c4f 写的相当不错
https://www.jianshu.com/p/423726cc9090 知识点很全
https://www.jianshu.com/p/b3db09fb69dc 总结的挺好
https://www.jianshu.com/p/a75f2411225f 有点专业,了解一部分
http://blog.csdn.net/liusandian/article/details/52488078 概念很清晰易懂

5. 哪有mp3音频编码的算法

这种算法很多种。操作系统的课程里就有。比如霍夫曼编码,香浓凡诺编码等等

6. 声码话的定义是什么

模拟电话是先把语音信号转变为电信号,传到对方后,再把电信号还原成语音信号。

电信号有幅度、相位和频率三个主要特性。幅度随发话人的声音的音量大小而变化,频率随发话人的声音的音调高低而变化。

数字话是强调话音信号在传输之前进行了声码话编码。

7. 基础篇_8.音频编码MP3\AAC

学习整理的相关章节链接:
基础篇_1.音视频学习框架
基础篇_2. 颜色空间模型 RBG、YUV、HSV
基础篇_3.图像编码之Bmp
基础篇_4.音频基础概念
基础篇_5.音频数据采集
基础篇_6.音频编码PCM
基础篇_7.音频编码WAV
基础篇_8.音频编码MP3AAC

mp3编码详细信息参考如下链接
https://www.jianshu.com/p/58df71a19901

AAC是高级音频编码(Advanced Audio Coding)的缩写,出现于1997年,最初是基于MPEG-2的音频编码技术。由Fraunhofer IIS、Dolby Laboratories、AT&T、Sony等公司共同开发,目的是取代MP3格式。2000年,MPEG-4标准出台,AAC重新集成了其它技术(PS,SBR),为区别于传统的MPEG-2 AAC,故含有SBR或PS特性的AAC又称为MPEG-4 AAC。
AAC是新一代的音频有损压缩技术,它通过一些附加的编码技术(比如PS,SBR等),衍生出了LC-AAC,HE-AAC,HE-AACv2三种主要的编码,LC-AAC就是比较传统的AAC,相对而言,主要用于中高码率(>=80Kbps),HE-AAC(相当于AAC+SBR)主要用于中低码(<=80Kbps),而新近推出的HE-AACv2(相当于AAC+SBR+PS)主要用于低码率(<=48Kbps),事实上大部分编码器设成<=48Kbps自动启用PS技术,而>48Kbps就不加PS,就相当于普通的HE-AAC

AAC共有9种规格,以适应不同的场合的需要:

MPEG-2 AAC LC 低复杂度规格(Low Complexity)--比较简单,没有增益控制,但提高了编码效率,在中等码率的编码效率以及音质方面,都能找到平衡点
MPEG-2 AAC Main 主规格
MPEG-2 AAC SSR 可变采样率规格(Scaleable Sample Rate)
MPEG-4 AAC LC 低复杂度规格(Low Complexity)------现在的手机比较常见的MP4文件中的音频部份就包括了该规格音频文件
MPEG-4 AAC Main 主规格 ------包含了除增益控制之外的全部功能,其音质最好
MPEG-4 AAC SSR 可变采样率规格(Scaleable Sample Rate)
MPEG-4 AAC LTP 长时期预测规格(Long Term Predicition)
MPEG-4 AAC LD 低延迟规格(Low Delay)
MPEG-4 AAC HE 高效率规格(High Efficiency)-----这种规格适合用于低码率编码,有
Nero ACC 编码器支持

目前使用最多的是 LC和HE(适合低码率) 。流行的Nero AAC编码程序只支持LC,HE,HEv2这三种规格,编码后的AAC音频,规格显示都是LC。 HE其实就是AAC(LC)+SBR技术,HEv2就是AAC(LC)+SBR+PS技术;

** Hev1和HEv2用此图简单表示:**

** (图中AAC即指的是原来的AAC-LC)**

** HE:“High Efficiency”(高效性)。 HE-AAC v1(又称AACPlusV1,SBR),用容器的方法实现了AAC(LC)+SBR技术。 SBR其实代表的是Spectral Band Replication(频段复制)**。简要叙述一下,音乐的主要频谱集中在低频段,高频段幅度很小,但很重要,决定了音质。如果对整个频段编码,若是为了保护高频就会造成低频段编码过细以致文件巨大;若是保存了低频的主要成分而失去高频成分就会丧失音质。SBR把频谱切割开来,低频单独编码保存主要成分,高频单独放大编码保存音质,“统筹兼顾”了,在减少文件大小的情况下还保存了音质,完美的化解这一矛盾。

** HEv2:**用容器的方法包含了HE-AAC v1和PS技术。PS指“parametric stereo”(参数立体声)。原来的立体声文件文件大小是一个声道的两倍。但是两个声道的声音存在某种相似性,根据香农信息熵编码定理,相关性应该被去掉才能减小文件大小。所以PS技术存储了一个声道的全部信息,然后,花很少的字节用参数描述另一个声道和它不同的地方

(1)AAC是一种 高压缩比 的音频压缩算法,但它的 压缩比要远超过较老的音频压缩算法,如AC-3、MP3 等。并且其 质量可以同未压缩的CD音质相媲美
(2)同其他类似的音频编码算法一样,AAC也是采用了变换编码算法,但AAC使用了分辨率更高的滤波器组,因此它可以达到更高的压缩比。
(3)AAC使用了 临时噪声重整、后向自适应线性预测、联合立体声技术和量化哈夫曼编码 等最新技术,这些新技术的使用都使压缩比得到进一步的提高。
(4)AAC支持 更多种采样率和比特率、支持1个到48个音轨、支持多达15个低频音轨、具有多种语言的兼容能力、还有多达15个内嵌数据流
(5)AAC支持 更宽的声音频率范围,最高可达到96kHz,最低可达8KHz ,远宽于MP3的16KHz-48kHz的范围。
(6)不同于MP3及WMA, AAC几乎不损失声音频率中的甚高、甚低频率成分 ,并且比WMA在频谱结构上更接近于原始音频,因而声音的保真度更好。专业评测中表明, AAC比WMA声音更清晰,而且更接近原音
(7)AAC采用优化的算法达到了 更高的解码效率 ,解码时只需较少的处理能力。

ADIF Audio Data Interchange Format 音频数据交换格式 。这种格式的特征是 可以确定的找到这个音频数据的开始 ,不需进行在音频数据流中间开始的解码,即 它的解码必须在明确定义的开始处进行。故这种格式常用在磁盘文件中

ADTS Audio Data Transport Stream 音频数据传输流 。这种格式的特征是它 是一个有同步字的比特流,解码可以在这个流中任何位置开始 。它的特征类似于mp3数据流格式。

简单说,ADTS可以在任意帧解码,也就是说它每一帧都有头信息。ADIF只有一个统一的头,所以必须得到所有的数据后解码。且这两种的header的格式也是不同的,目前一般编码后的和抽取出的都是ADTS格式的音频流。两者具体的组织结构如下所示:

AAC的ADIF格式见下图:

AAC的ADTS的一般格式见下图:

图中表示出了ADTS一帧的简明结构,其两边的空白矩形表示一帧前后的数据。

ADIF 的头信息:

ADIF头信息位于AAC文件的起始处,接下来就是连续的 raw data blocks。
组成ADIF头信息的各个域如下所示:

ADTS 的固定头信息:

ADTS的可变头信息:

(1) 帧同步目的在于找出帧头在比特流中的位置 ,13818-7规定,aac ADTS格式的帧头同步字为12比特的“1111 1111 1111”.

(2)ADTS的头信息为两部分组成,其一为固定头信息,紧接着是可变头信息。固定头信息中的数据每一帧都相同,而可变头信息则在帧与帧之间可变。

在AAC中,原始数据块的组成可能有六种不同的元素:
SCE: Single Channel Element单通道元素 。单通道元素基本上只由一个ICS组成。一个原始数据块最可能由16个SCE组成。
CPE: Channel Pair Element 双通道元素 ,由两个可能共享边信息的ICS和一些联合立体声编码信息组成。
CCE: Coupling Channel Element 藕合通道元素 。代表一个块的多通道联合立体声信息或者多语种程序的对话信息。
LFE: Low Frequency Element 低频元素 。包含了一个加强低采样频率的通道。
DSE: Data Stream Element 数据流元素 ,包含了一些并不属于音频的附加信息。
PCE: Program Config Element 程序配置元素 。包含了声道的配置信息。它可能出现在ADIF 头部信息中。
FIL: Fill Element 填充元素 。包含了一些扩展信息。如SBR,动态范围控制信息等。
AAC解码流程

[图片上传失败...(image-eaf24c-1543569949388)]

如图:

在主控模块开始运行后,主控模块将AAC比特流的一部分放入输入缓冲区,通过 查找同步字得到一帧的起始 ,找到后,根据ISO/IEC 13818-7所述的语法 开始进行Noisless Decoding(无噪解码),无噪解码实际上就是哈夫曼解码,通过反量化(Dequantize)、联合立体声(Joint Stereo),知觉噪声替换(PNS),瞬时噪声整形(TNS),反离散余弦变换(IMDCT),频段复制 (SBR)这几个模块之后,得出左右声道的PCM码流 ,再由主控模块将其放入输出缓冲区输出到声音播放设备。

技术解析:

1.主控模块:
所谓的主控模块,它的主要任务是操作输入输出缓冲区,调用其它各模块协同工作。
其中,输入输出缓冲区均由DSP控制模块提供接口。输出缓冲区中将存放的数据为解码出来的PCM数据,代表了声音的振幅。它由一块固定长度的缓冲区构成,通过调用DSP控制模块的接口函数,得到头指针,在完成输出缓冲区的填充后,调用中断处理输出至I2S接口所连接的音频ADC芯片(立体声音频DAC和DirectDrive耳机放大器)输出模拟声音。

2.Noisless Decoding(无噪解码):
无噪编码就是哈夫曼编码,它的作用在于进一步减少尺度因子和量化后频谱的冗余,
即将尺度因子和量化后的频谱信息进行哈夫曼编码。全局增益编码成一个8位的无符号整数,第一个尺度因子与全局增益值进行差分编码后再使用尺度因子编码表进行哈夫曼编码。后续的各尺度因子都与前一个尺度因子进行差分编码。量化频谱的无噪编码有两个频谱系数的划分。其一为4元组和2元组的划分,另一个为节划分。对前一个划分来说,确定了一次哈夫曼表查找出的数值是4个还是2个。对后一个划分来说,确定了应该用哪一个哈夫曼表,一节中含有若干的尺度因子带并且每节只用一个哈夫曼表。
——分段
无噪声编码将输入的1024个量化频谱系数分为几个段(section),段内的各点均使用
同一个哈夫曼表,考虑到编码效率,每一段的边界最好同尺度因子带的边界重合。所以每一段必段传送信息应该有:段长度,所在的尺度因子带,使用的哈夫曼表。

——分组和交替
分组是指忽略频谱系数所在窗,将连续的,具有相同尺度因子带的频谱系数分为一组放在
一起,共享一个尺度因子从而得到更好的编码效率。这样做必然会引起交替,即本来是以
c[组][窗][尺度因子带][ 系数索引]为顺序的系数排列,变为将尺度因子带同的系数放在一起: c[组][尺度因子带][窗][ 系数索引]
这样就引起了相同窗的系数的交替。

——大量化值的处理
大量化值在AAC中有两种处理方法:在哈夫曼编码表中使用escape标志或使用脉冲
escape方法。前者跟mp3编码方法相似,在许多大量化值出现时采用专门的哈夫曼表,这个表暗示了它的使用将会在哈夫曼编码后面跟跟一对escape值及对值的符号。在用脉冲escape方法时,大数值被减去一个差值变为小数值,然后使用哈夫曼表编码,后面会跟一个脉冲结构来帮助差值的还原.

3.尺度因子解码及逆量化
在AAC编码中,逆量化频谱系数是由一个非均匀量化器来实现的,在解码中需进行其逆运算。即保持符号并进行4/3次幂运算。在频域调整量化噪声的基本方法就是用尺度因子来进行噪声整形。尺度因子就是一个用来改变在一个尺度因子带的所有的频谱系数的振幅增益值。使用尺度因子这种机制是为了使用非均匀量化器在频域中改变量化噪声的比特分配。

——尺度因子带(scalefactor-band)
频率线根据人耳的听觉特性被分成多个组,每个组对应若干个尺度因子,这些组就叫做尺度因子带。为了减少信息含有短窗的边信息,连续的短窗可能会被分为一组,即将若干个短窗当成一个窗口一起传送,然后尺度因子将会作用到所有分组后的窗口去。

4.联合立体声(Joint Stereo)
联合立体声的是对原来的取样进行的一定的渲染工作,使声音更”好听”些。

5.知觉噪声替换(PNS)
知觉噪声替换模块是一种以参数编码的方式模拟噪声的模块。在判别出音频值中的噪
声后,将这些噪声不进行量化编码,而是采用一些参数告诉解码器端这是某种噪声,然后解码器端将会对这些噪声用一些随机的编码来制造出这一类型的噪声。
在具体操作上,PNS模块对每个尺度因子带侦测频率4kHz以下的信号成分。如果这个
信号既不是音调,在时间上也无强烈的能量变动,就被认为是噪声信号。其信号的音调及能量变化都在心理声学模型中算出。
在解码中,如果发现使用了哈夫曼表13(NOISE_HCB),则表明使用了PNS。由于M/S立体声解码与PNS解码互斥,故可以用参数ms_used来表明是否两个声道都用同样的PNS。如果 ms_used参数为1,则两个声道会用同样的随机向量来生成噪声信号。PNS的能量信号用noise_nrg来表示,如果使用了PNS,则能量信号将会代替各自的尺度因子来传送。噪声能量编码同尺度因子一样,采用差分编码的方式。第一个值同样为全局增益值。它同强度立体声位置值及尺度因子交替地放在一起,但对差分解码来说又彼此忽略。即下一个噪声能量值以上一个噪声能量值而不是强度立体声位置或尺度因子为标准差分解码。随机能量将会在一个尺度因子带内产生noise_nrg所计算出的平均能量分布。此项技术只有在MPEG-4 AAC中才会使用。

6.瞬时噪声整形(TNS)
这项神奇的技术可以通过在频率域上的预测,来修整时域上的量化噪音的分布。在一
些特殊的语音和剧烈变化信号的量化上,TNS技术对音质的提高贡献巨大!TNS瞬态噪声整形用于控制一个转换窗口内的瞬时噪声形态。它是用一个对单个通道的滤波过程来实现的。传统的变换编码方案常常遇到信号在时域变化非常剧烈的问题,特别是语音信号,这个问题是因为量化后的噪声分布虽然在频率域上得到控制,但在时域上却以一个常数分布在一个转换块内。如果这种块中信号变化得很剧烈却又不转向一个短块去,那这个常数分布的噪声将会被听到。TNS的原理利用了时域和频域的二元性和LPC(线性预测编码)的时频对称性,即在其中的任意一个域上做编码与在另一域上做预测编码等效,也就是说,在一个域内做预测编码可以在另一域内增加其分辨率。量化噪声产生是在频域产生的,降低了时域的分辨率,故在这里是在频域上做预测编码。在AACplus中,由于基于AAC profile LC,故TNS的滤波器阶数被限制在 12阶以内。

7.反离散余弦变换(IMDCT)
将音频数据从频域转换到时域的过程主要是由将频域数据填入一组IMDCT滤波器来实现的。在进行IMDCT变换后,输出数值经过加窗,叠加,最后得到时域数值。

8.频段复制(SBR)
简要叙述,音乐的主要频谱集中在低频段,高频段幅度很小,但很重要,决定了
音质。如果对整个频段编码,若是为了保护高频就会造成低频段编码过细以致文件巨大;若是保存了低频的主要成分而失去高频成分就会丧失音质。SBR把频谱切割开来,低频单独编码保存主要成分,高频单独放大编码保存音质,“统筹兼顾”了,在减少文件大小的情况下还保存了
音质,完美的化解这一矛盾。

9.参数立体声(PS)
对于之前的立体声文件来说,其文件大小是单声道的两倍,但是两个声道的声音存在
某种相似性,根据香农信息熵编码定理,相关性应该被去掉才能减小文件大小。所以PS技术存储了一个声道的全部信息,之后,用很少的字节当作参数来描述另一个声道和它不同的地方。

8. 声码器是什么东东,有什么用

声码器用来实现电子化的人声效果,或者使用一个说话的采样,变成唱歌(合唱)的效果,音高可以自己控制。

很多电子乐中用到它。声码器,英文是Vocoder,由Voice Coder简化而来。

声码器现在大量的被应用于通讯技术,包括手机。

而用于音乐制作的声码器通常都是由三个部分组成的:带通滤波器、包络跟随器、放大器,而声码器通常需要有两个输入信号,一个是语音信号(speech),也称为调制器(Molator)就是我们的人声素材;另外一个输入信号被称做载波器(carrier),他通常都载有一小段含有丰富谐波的声音信号。

比如很有名的:Prosoniq Orange Vocoder

(下载地址:http://count.skycn.com/softdownload.php?id=977&url=http://ry165.skycn.net/down/pqorangevocwin202demo.zip)

效果极佳的机器人声效果器,可以产生时下流行的电子人声。

着名电子乐队Kraftwerk早期的唱片中,用了大量的Vocoder效果。

下面来介绍一下:

当你说话时,声音包含两部分内容,第一个是你的基本的发声类型,保持了音高,也保留你的独有发声特性……这也是为什么你的声音会区别于其它人的原因。第二个内容是是你调制这些基本声音的形式,调制意味着你可能要对某些特定的频率段进行动态加强或削弱,有点类似于EQ。

示例:说一个很长的“噢”。这时你可能是稍微闭着嘴唇的;然后我们再说声“啊”,这时你是张开嘴唇的——人声和弦产生同样的声音,但是调制是不同的!

这里便引出一个非常重要的概念,就是共振峰(formant),这是因为它造成了基本声音的“轮廓”,而这里,我们称这个基本声音为载体,因为这个基本声音搭载了共振峰信号,所以基本声音是运输工具,共振峰信号是货物。共振峰信号比载体的信号的频率要低得多,最早的应用环境便是减少电话波段,这也是VOCODER最早发明的原因

而Vocoder的作用就是,从一个声音中将你的声音中的载体信号取代了,当然是用其它信号给取代的。这就是最本质的原理。 这样的话,它就改变了人声的效果,但是又不是你刚开始说话的那个效果了。
它从外部设备接收共振峰信号与载体信号,然后将它们按波段来分割(波段是部分频率的区块的意思,同均衡器有点类似)。然后包络(调制)被从每个共振峰波段中析解出来。这部分是由包络跟随所完成的,是一种非常“极端”的低通滤波器。接下来,共振峰波段调制到载体波段,然后混合输出结果。

这样做的好处是,你可以让载体信号为说话声或者是歌唱声。而旁链效果,共振峰的声音则可以绝对是毫不相关的声音,所以各位,我们便可以创造绝对很酷的声音了。通常我们都用人声做为共振峰信号,而用乐器声作为载体,结果就好象乐器说话了……应用的对象可以是弦乐,管乐,长笛等其它类似的乐器……
输入可以是文件也可以是声卡来的信号,如果你的声卡是全双工的话,还可以实时听到效果,在现场演出时可以骗人了,当然延迟是少不了的

阅读全文

与声码话音频算法相关的资料

热点内容
兄弟训诫文严厉 浏览:607
李楠程序员 浏览:288
山推管家app怎么改密码 浏览:680
贷款结束什么时候解压 浏览:142
18命令方块代码 浏览:936
安卓手机视频怎么传到mac电脑上 浏览:932
马缨花app是什么 浏览:6
python金融分析招聘 浏览:60
可以直接写电影就有免费 浏览:108
北京一卡通app换了手机怎么弄 浏览:155
有程序员小说 浏览:688
点开就能看的网址 浏览:450
单片机控制和plc控制系统设计 浏览:29
她通常去电影院英文翻译 浏览:274
阿里个人云服务器叫什么名字 浏览:298
萱萱日记 浏览:707
芯片app有什么用 浏览:204
DaDa兔 浏览:969
卡罗拉烟气压缩机 浏览:470
丹麦大尺度电影推荐 浏览:784