• 易迪拓培训,专注于微波、射频、天线设计工程师的培养
首页 > 无线通信 > 技术文章 > 多带激励语音编码的实现

多带激励语音编码的实现

录入:edatop.com     点击:

本文对于浊音部分的语音采用时域合成法,因为该方法可利用插值实现帧与帧之间基音周期的平滑过渡,合成出更自然的语音。而对于清音部分的语音,采用频域短时傅里叶变换法合成,因为带通滤波器在频域中易于实现,用FFT实现,计算复杂度更低。

3静音检测

3.1概念

研究表明,人们在电话交流时,单向通话的时间通常只占总的通信时间的40%或更少,其他约60%的时间为聆听对方讲话和通信中静默期。静默期的参数(背景噪声参数)比较简单,用很少的比特数即可表示。如果能准确地判断出语音/静音帧,在静音期间,只发送很少的比特数,从理论上来看,语音编码率应该可以降低50%左右。

静音检测,又称端点检测(Voice Activation Detection,VAD),其目的是从声音信号流里识别长时间的静音期(背景噪声),使得在不降低业务质量的情况下达到节省带宽资源的作用。

3.2算法

本文采用了"基于熵的VAD检测法"。熵VAD检测方法是通过对信号幅值分布概率的统计取对数,以得到熵值。如果语音的幅值的绝对值在1.0左右变化,则不能统计出所期望的概率。为了便于统计计算,因此在处理16位的语音文件时,不能将其归一化处理,而是通过预处理,使其幅度值分布在[-50,+50]之间。计算前10~20帧信号的熵值的平均值,乘以某个倍数作为阈值。然后将每一帧的熵值与阈值比较,大于阈值,则VAD=1,否则置0。当VAD=1,暂时记为语音的开始点,如果向后连续几帧都判为1,则该点为起始点,否则重新向后搜索。结束点的搜索方法与开始点相同,只不过是向前搜索而已。

4仿真试验

4.1算法实现的整体流程图

前面已经详细说明了语音帧的编解码过程与算法,对于加入静音检测模块的整体算法流程图(图4),现在简单说明本文采用的静音帧的编解码方法:

(1)静音帧编码

当VAD检测结果为0时,为降低编码率,静音帧只发送该静音帧的幅度均。

(2)静音帧的解码

在解码端,若VAD判决为0时,即当前帧为静音帧,则生成一均值为0,方差为1的类似白噪声的随机序列u(n),再与编码端发送的静音帧的幅度均值相乘得到自适应的白噪声序列。

4.2试验结果

原始语音与合成语音时域波形图比较,如图5所示。原始语音与合成语音频谱图比较,如图6所示。

4.3结果分析

仿真结果表明,基于VAD检测的MBE模型声码器对于语音信号可以很好地区分出语音帧和静音帧。同时,采用VAD检测算法后,对于被检测出的语音帧执行MBE编解码处理,静音帧只传送帧幅度均值,有效地降低了语音编码速率,对于正常语速的通话,本文的编码率可以在原来的基础上减少50%左右。从听觉效果上来看,采用VAD检测的MBE算法的合成语音与未采用VAD检测的一般MBE算法的合成语音几乎没有区别,两种方法有较好的主观听觉效果和可懂度。

5结语

(1)合成波形失真

从仿真试验结果的波形图中可以看出,合成语音波形相对于原始语音波形有一些失真,这与信号处理前的高通滤波器和基音周期粗估前的低通滤波器的设计有关。因为高通滤波器可使输入信号抗工频(50~60 Hz)干扰,低通滤波器可减少高频共振峰和外来高频噪声对基音周期提取的影响。因此,滤波器的设计在MBE编码中至关重要,这也就是下步工作中首要解决的问题。

(2)基音粗估后加入基音平滑模块,提高基音准确度、平滑语音

由于噪声的干扰,造成基音周期粗估值的错锁(通常是1/2倍频或1/3倍频),而基音细搜索只在基音粗估值的附近进行,这就使得基音频率以及帧之间有很大跳变,合成语音有停顿感。因此,在基音粗估后加入基音平滑模块,有利于提取基音频率较高时的基音周期,又不至于影响提取基音周期频率较低时的基音周期;它既能保证基音周期的正确估计,又能保证基音演变的平滑性,最终得到音质好的合成语音。

来源:维库开发网

上一篇:基于μC/OS-Ⅱ的数据采集系统设计与应用
下一篇:基于HPI接口的高速数据传输设计

手机天线设计培训教程详情>>

手机天线设计培训教程 国内最全面、系统、专业的手机天线设计培训课程,没有之一;是您学习手机天线设计的最佳选择...【More..

射频和天线工程师培训课程详情>>

  网站地图