华南理工大学_语音信号实验三:LPC特征提取

合集下载

基于深度学习的智能语音交互系统实验报告

基于深度学习的智能语音交互系统实验报告

基于深度学习的智能语音交互系统实验报告一、引言随着人工智能技术的迅速发展,智能语音交互系统在我们的生活中扮演着越来越重要的角色。

从智能手机中的语音助手到智能音箱,这些应用都为我们提供了更加便捷和自然的交互方式。

本实验旨在研究和开发一种基于深度学习的智能语音交互系统,以提高语音识别和理解的准确性,并实现更加自然流畅的对话。

二、实验目的本次实验的主要目的是构建一个基于深度学习的智能语音交互系统,并对其性能进行评估和优化。

具体目标包括:1、提高语音识别的准确率,减少误识别和漏识别的情况。

2、增强对自然语言的理解能力,能够准确解析用户的意图和需求。

3、实现流畅自然的语音对话,提高交互的满意度和实用性。

三、实验环境和数据(一)实验环境1、硬件配置:使用具有高性能 CPU 和 GPU 的服务器,以满足深度学习模型的训练和运行需求。

2、软件环境:采用 Python 编程语言,以及 TensorFlow、PyTorch 等深度学习框架。

(二)数据来源1、公开数据集:如 LibriSpeech、Common Voice 等,这些数据集包含了大量的语音和对应的文本标注。

2、自行采集:通过录制和标注一些特定领域的语音数据,以丰富数据的多样性和针对性。

四、实验方法(一)语音特征提取使用梅尔频率倒谱系数(MFCC)或线性预测编码(LPC)等方法对语音信号进行特征提取,将语音转换为可用于深度学习模型输入的数值向量。

(二)模型选择与构建1、选用循环神经网络(RNN)、长短时记忆网络(LSTM)或门控循环单元(GRU)等模型来处理序列数据。

2、构建多层神经网络结构,结合卷积神经网络(CNN)进行特征提取和分类。

(三)训练与优化1、采用随机梯度下降(SGD)、Adagrad、Adadelta 等优化算法对模型进行训练。

2、应用数据增强技术,如随机裁剪、添加噪声等,以增加数据的多样性。

3、调整超参数,如学习率、层数、节点数等,以提高模型的性能。

语音编码LPC参数提取的FPGA实现的开题报告

语音编码LPC参数提取的FPGA实现的开题报告

语音编码LPC参数提取的FPGA实现的开题报告1. 研究背景语音编码技术是人类通过通讯手段进行交流的主要方式之一,其应用在通讯、音频存储和处理、语音识别和合成等方面具有重要的价值。

其中,线性预测编码(Linear Predictive Coding,LPC)是一种常用的语音编码方式,采用线性预测模型对语音信号进行参数提取,并采用量化与编码方法对参数进行压缩,从而实现对语音信号的压缩编码。

随着时代的发展,智能化设备越来越普及,对于语音编码技术的需求也越来越高,其中,LPC参数提取在语音编码中扮演着重要的角色。

为了满足实时性和高效性的要求,需要将LPC参数提取的算法实现在硬件上,从而提高语音编码的速度和压缩效率。

本项目旨在将LPC参数提取算法实现在FPGA上,以实现对语音信号的实时编码和解码。

2. 研究目的本项目旨在实现LPC参数提取算法的FPGA硬件实现,提高语音编码的速度和压缩效率,具体研究目的包括:(1)实现LPC参数提取算法的硬件结构设计,包括数字信号处理模块、线性预测模型模块和自适应滤波器模块等。

(2)语音信号的采集和预处理,包括滤波、重采样和分帧等处理过程。

(3)采用VHDL语言进行设计,进行模拟和验证,运用EDA工具进行综合和布局布线,实现硬件逻辑实现,提高语音编码效率。

(4)进行实验和验证,对所设计的硬件进行参数测试和性能测试,验证LPC参数提取算法FPGA硬件实现的可行性和有效性。

3. 研究内容(1)LPC参数提取算法的研究LPC编码算法是语音编码技术的常用算法之一,其核心是通过预测下一个采样值的线性预测模型对语音信号进行参数提取,包括线性预测分析、倒谱求解和自适应滤波等部分。

本项目将研究并实现LPC参数提取算法,并进行算法优化。

(2)FPGA硬件设计本项目将采用VHDL语言进行硬件的设计和实现,具体包括数字信号处理模块、线性预测模型模块和自适应滤波器模块等。

对硬件结构进行模拟和验证,运用EDA工具进行综合和布局布线,实现硬件逻辑实现。

语音信号特征提取

语音信号特征提取

标准的LPCC参数只反映了声道参数的静态特性,反 映说话人声道动态变化的参数就是线性预测差分倒谱。
线性预测差分倒谱的定义为:
k
~
~ i h(n i)
h(t) 常数,通常取2,这时差分参数就称为当前帧 的前两帧和后两帧参数的线性组合。由此式计算得到的差 分参数为一阶差分参数,用同样的公式对一阶差分参数进 行计算,可得到二阶差分LPCC参数。
r( p)
则采用Yule-Walker求解线性预测系数的公式为:ap Rp1rp
其中 Rp :
LPC的计算方法有自相关法、协方差法、格型法、Burg 法等等。
LPC模型阶数P的确定
实验表明,LPC分析阶数p应选在8至12之间。选择 p=12可以对绝大多数语音信号的声道模型取得足够近似的 逼近。p值选得过大虽然可以略微改善逼近效果,但也带 来一些负作用。一方面是加大了计算量,另一方面有可能 增添一些不必要的细节,比如在用声道模型谱进行共振峰 分析时反而使效果变坏。
P
x(n) i x(n i) Gu(n) i 1
其中,G为增益系数,它用来控制音量。则该系统的 Z域表达式:
P
X (z) i zi X (z) GU (z) i 1
该系统的传递函数:
H (z) X (z) GU (z) 1
1
P
i zi
i 1
其冲激响应为
h(n)。求
h(n)
的倒谱
~
LPCC参数及其差分
同态处理基本原理
语音信号、图像信号、通信中的衰落信号和调制信号 都是非线性信号,是乘积性信号或卷积性信号。同态信号 处理就是将非线性问题转化为线性问题来处理。图1是同 台系统的组成框图。
图1 同态系统的组成

语音信号LPC分析的编程实现

语音信号LPC分析的编程实现

语音信号LPC分析的编程实现一、实验要求首先,提取语音信号LPC特征,完成LPC分析的编程实现,使之能给出一段语音信号LPC的系数分析结果。

二、具体实现1.准备新的语音信号:语音信号首先需要准备一段新的未处理的语音信号,这段语音信号的长度无需太长也无需太短。

2. 开始LPC分析:通过LPC分析,我们能够将语音信号的信息特征具体化,并对语音进行分析。

在LPC分析之前,必须要将语音信号进行预处理,将其采样、进行过采样以及Hanning窗函数处理,使语音信号“呈现”出精确的LPC系数。

LPC系数以描述语音信号的特征形式呈现,其系数分析值受语音信号发音人的影响最大,所以有效的LPC分析,可以得到准确的语音特征参数,和较高的语音识别准确率。

3.代码实现:#include <stdio.h>#include <stdlib.h>#include <math.h>/*variables*/int order;float *signal;float *autocorr;float *lpc;float *error;/*function definition*/void read_signal(FILE *fp);/* main( */int main(int argc, char**argv)FILE *fp = fopen(argv[1],"rb");order = atoi(argv[2]);read_signal(fp);fclose(fp);}/* read signal from file */void read_signal(FILE *fp)signal = (float *)malloc(sizeof(float)*1024); fread(signal,sizeof(float),1024,fp);}autocorr = (float *)malloc(sizeof(float)*order); float mean = 0;int i;for (i = 0;i<1024;i++) mean += signal[i];}mean /= 1024;for (i = 0;i<order;i++)。

语音识别的特征提取方法

语音识别的特征提取方法

语音识别的特征提取方法语音识别技术是指通过计算机技术将人的语音信息转化为可识别和理解的文本或指令的过程。

而在实现语音识别的过程中,特征提取是其中至关重要的一步。

本文将介绍一些常用的语音识别特征提取方法。

1. 短时能量和过零率特征短时能量指的是在一段时间内短时信号的能量大小,它可以用来描述信号的音量大小。

过零率是信号穿过零点的次数,可以用来描述信号的频率特性。

短时能量和过零率特征可以用来区分不同音频信号的语音信息。

2. 梅尔频率倒谱系数(MFCC)MFCC被广泛应用于语音识别领域。

它首先将声音信号通过傅里叶变换转换为频域信号,然后将频域信号转换为梅尔倒谱系数。

MFCC特征具有良好的频率表示能力和语音识别性能。

3. 线性预测编码系数(LPC)LPC是一种常用的短时语音信号建模方法,通过对语音信号进行分帧处理,利用线性预测分析法得到线性预测滤波器的系数。

LPC特征可以表示语音信号中的共振特性,用于说明语音信号的声道特性。

4. 倒谱谱分析(LPCC)LPCC是在LPC基础上进一步改进的一种特征提取方法。

它通过对信号的小波包分解来提取倒谱系数,具有更好的频率表示能力和高分辨率。

5. 线性离散预测(LDA)LDA是一种经典的特征降维方法,被广泛应用于语音识别任务中。

它通过最大化类内散度和最小化类间散度的方式将高维特征映射到低维空间,以提高分类效果和减少计算复杂度。

6. 隐马尔科夫模型(HMM)HMM是一种概率模型,用于描述序列数据中的潜在状态和状态之间的转移关系。

在语音识别中,HMM被广泛用于建模语音的时域演化过程,同时结合上述特征提取方法,实现对语音信号的自动识别。

总结起来,语音识别的特征提取方法包括短时能量和过零率特征、MFCC、LPC、LPCC、LDA以及HMM等。

这些方法在实际应用中相互结合,共同构建一个准确、高效的语音识别系统。

随着深度学习等技术的发展,也出现了一些基于神经网络的特征提取方法,如深度神经网络和循环神经网络等。

基于短时能量—LPCC的语音特征提取方法研究

基于短时能量—LPCC的语音特征提取方法研究

基于短时能量—LPCC的语音特征提取方法研究王钟斐;王彪【期刊名称】《计算机与数字工程》【年(卷),期】2012(40)11【摘要】为了提高语音信号的识别率,提出了一种基于短时能量—LPCC的语音特征提取方法.该方法在LPCC参数的基础上,增加每帧信号的短时能量信息,使得新参数能够更为准确的表征语音信号.通过仿真实验,说明了新特征参数取得了较高的识别率.%In order to improve the speech recognition rate, a speech signal feature extraction method based on the short-time energy-LPCC is proposed. The short-time energy Information of each frame signal based on LPCC parameters are increased in the method, which make the new parameters can provide a more accurate representation of speech signals. The new feature parameters obtains high recognition rate is explained through the simulation experiments.【总页数】3页(P79-80,127)【作者】王钟斐;王彪【作者单位】宝鸡文理学院数学系宝鸡721013;宝鸡文理学院数学系宝鸡721013【正文语种】中文【中图分类】TP311【相关文献】1.一种基于小波包的语音信号特征提取方法研究 [J], 王彪2.基于matlab的语音信号特征提取方法研究 [J], 余海峰3.基于RBM的语音特征提取方法研究 [J], 赵从健; 雷菊阳; 李明明4.基于LPCC的不同频率段语音智能识别方法研究 [J], 黄秀彬; 张莉; 曹璐; 王峰; 张劭韡5.基于MFCC特征提取和改进SVM的语音情感数据挖掘分类识别方法研究 [J], 张钰莎;蒋盛益因版权原因,仅展示原文概要,查看原文内容请购买。

华南理工大学_语音信号实验三:LPC特征提取

华南理工大学_语音信号实验三:LPC特征提取

华南理工大学《语音信号处理》实验报告实验名称:LPC特征提取姓名:学号:班级:11级电信7班日期:2014年3 月1. 实验目的1、熟练运用MATLAB 软件进行语音信号实验;2、熟悉短时分析原理、LPC 的原理;3、学习运用MATLAB 编程进行LPC 的提取;4、学会利用短时分析原理提取LPC 特征序列。

2. 实验原理1、LPC 分析基本原理LPC 分析为线性时不变因果稳定系统V (z )建立一个全极点模型,并利用均方误差准则,对已知的语音信号s(n)进行模型参数估计。

如果利用P 个取样值来进行预测,则称为P 阶线性预测。

假设用过去P 个取样值()()(){}1,2,S n S n S n p --- 的加权之和来预测信号当前取样值()S n ,则预测信号()S n∧为:()()1pk k S n a n k ∧==-∑ (1)其中加权系数用k a 表示,称为预测系数,则预测误差为:()()()()()1pk k e n s n S n s n a n k ∧==-=--∑ (2)要使预测最佳,则要使短时平均预测误差最小有:()2minE e n ε⎡⎤==⎣⎦ (3)()20,(1)ke n k p a ⎡⎤∂⎣⎦=≤≤∂ (4)令()()(),,i k E s n i S n k φ=--⎡⎤⎣⎦(5)最小的ε可表示成:()()min 10,00,pk k a k εφφ==-∑ (6)显然,误差越接近于零,线性预测的准确度在均方误差最小的意义上为最佳,由此可以计算出预测系数。

通过LPC 分析,由若干帧语音可以得到若干组LPC 参数,每组参数形成一个描绘该帧语音特征的矢量,即LPC 特征矢量。

由LPC 特征矢量可以进一步得到很多种派生特征矢量,例如线性预测倒谱系数、线谱对特征、部分相关系数、对数面积比等等。

不同的特征矢量具有不同的特点,它们在语音编码和识别领域有着不同的应用价值。

2 、自相关法在最佳线性预测中,若用下式定义的时间平均最小均方准则代替(3)式的集合平均最小均方准则,即令()1201minN p n e n Nε+-===∑(7)事实上就是短时自相关函数,因而()(),R i k i k φ-=(8)()()(),R k E S n S n k =-⎡⎤⎣⎦(9)根据平稳随机信号的自相关性质,可得()(),,1,2;0,1i k R i k i p k pφ=-== (10)由(6)式,可得:()()min 10pk k R a R k ε==-∑(11)综上所述,可以得到如下矩阵形式:(12)值得注意的是,自相关法在计算预测误差时,数据段()()(){}0,1,1S S S n - 的两端都需要加P 个零取样值,因而可造成谱估计失真。

语音识别技术中的特征提取

语音识别技术中的特征提取

语音识别技术中的特征提取特征提取是语音识别技术中的重要环节。

它通过对语音信号进行分析和处理,提取出能够表征语音特征的参数,为后续的语音识别任务提供基础。

本文将从特征提取的定义、常用方法以及应用领域等方面进行阐述,以便读者对该技术有更深入的了解。

特征提取是将原始的语音信号转化为能够反映语音特征的数学表达的过程。

语音信号是一种时域信号,它在时间上呈现出连续且动态的特点。

为了能够对语音信号进行分析和处理,我们需要将其转化为一种更容易处理的形式,即特征向量。

特征向量能够准确地表征语音信号的频谱、能量、过零率等重要特征,为后续的语音识别任务提供重要的信息。

在特征提取的过程中,常用的方法包括短时能量、过零率、Mel频率倒谱系数(MFCC)、线性预测编码(LPC)等。

其中,MFCC是最为常用的特征提取方法之一。

它通过将语音信号转化为频域上的梅尔倒谱系数,能够更好地表征人耳对声音的感知特性。

另外,LPC 方法则是通过线性预测模型对语音信号进行建模,进而提取出线性预测系数。

特征提取在语音识别领域有着广泛的应用。

首先,它是语音识别系统中的核心环节。

通过提取语音信号的特征,能够减少数据的维度,降低计算复杂度,提高系统的识别准确率。

其次,特征提取也被广泛应用于语音合成、语音转换等相关领域。

通过提取语音信号的特征,能够实现对语音的分析、合成和转换,进一步拓展了语音技术的应用范围。

除了在语音识别领域,特征提取也被应用于其他领域。

例如,音乐信息检索领域,通过提取音频信号的特征,能够实现对音乐的分类、推荐等任务。

此外,特征提取还被应用于语音情感识别、语音指纹识别等领域,为人机交互、智能音箱等应用提供技术支持。

总结起来,特征提取在语音识别技术中起着重要的作用。

通过对语音信号进行分析和处理,能够提取出能够反映语音特征的参数,为后续的语音识别任务提供基础。

在实际应用中,特征提取不仅在语音识别领域有着广泛的应用,还在音乐信息检索、语音情感识别等领域发挥着重要作用。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

华南理工大学《语音信号处理》实验报告实验名称:LPC特征提取姓名:学号:班级:11级电信7班日期:2014年3 月1. 实验目的1、熟练运用MATLAB 软件进行语音信号实验;2、熟悉短时分析原理、LPC 的原理;3、学习运用MATLAB 编程进行LPC 的提取;4、学会利用短时分析原理提取LPC 特征序列。

2. 实验原理1、LPC 分析基本原理LPC 分析为线性时不变因果稳定系统V (z )建立一个全极点模型,并利用均方误差准则,对已知的语音信号s(n)进行模型参数估计。

如果利用P 个取样值来进行预测,则称为P 阶线性预测。

假设用过去P 个取样值()()(){}1,2,S n S n S n p --- 的加权之和来预测信号当前取样值()S n ,则预测信号()S n∧为:()()1pk k S n a n k ∧==-∑ (1)其中加权系数用k a 表示,称为预测系数,则预测误差为:()()()()()1pk k e n s n S n s n a n k ∧==-=--∑ (2)要使预测最佳,则要使短时平均预测误差最小有:()2minE e n ε⎡⎤==⎣⎦ (3)()20,(1)ke n k p a ⎡⎤∂⎣⎦=≤≤∂ (4)令()()(),,i k E s n i S n k φ=--⎡⎤⎣⎦(5)最小的ε可表示成:()()min 10,00,pk k a k εφφ==-∑ (6)显然,误差越接近于零,线性预测的准确度在均方误差最小的意义上为最佳,由此可以计算出预测系数。

通过LPC 分析,由若干帧语音可以得到若干组LPC 参数,每组参数形成一个描绘该帧语音特征的矢量,即LPC 特征矢量。

由LPC 特征矢量可以进一步得到很多种派生特征矢量,例如线性预测倒谱系数、线谱对特征、部分相关系数、对数面积比等等。

不同的特征矢量具有不同的特点,它们在语音编码和识别领域有着不同的应用价值。

2 、自相关法在最佳线性预测中,若用下式定义的时间平均最小均方准则代替(3)式的集合平均最小均方准则,即令()1201minN p n e n Nε+-===∑(7)事实上就是短时自相关函数,因而()(),R i k i k φ-=(8)()()(),R k E S n S n k =-⎡⎤⎣⎦(9)根据平稳随机信号的自相关性质,可得()(),,1,2;0,1i k R i k i p k pφ=-== (10)由(6)式,可得:()()min 10pk k R a R k ε==-∑(11)综上所述,可以得到如下矩阵形式:(12)值得注意的是,自相关法在计算预测误差时,数据段()()(){}0,1,1S S S n - 的两端都需要加P 个零取样值,因而可造成谱估计失真。

特别是在短数据段的情况下,这一现实更为严重。

另外,当预测系数量化时,有可能造成实际系统的不稳定。

自相关解法主要有杜宾算法、格型算法和舒尔算法等几种高效递推算法。

3、 协方差法如果在最佳线性预测中,用下式定义的时间平均最小均方准则代替(3)式的()()()()()()()()()011102120R R R P R R R P R P R P R -⎛⎫ ⎪- ⎪ ⎪ ⎪ ⎪-- ⎪ ⎪⎝⎭()()()()123123n R a R a a R a R p ⎛⎫⎛⎫ ⎪⎪ ⎪ ⎪ ⎪⎪= ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪⎝⎭⎝⎭集合平均最小均方准则,则可得到类似的方程:()121minN n pe n Nε-===∑ (13)可以看出,这里的数据段两端不需要添加零取样值。

在理论上,协方差法计算出来的预测系数有可能造成预测误差滤波器的不稳定,但在实际上当每帧信号取样足够多时,其计算结果将与自相关法的结果很接近,因而稳定性一般是能够保证的 (当然这种方法也有量化效应可能引起不稳定的缺点)。

协方差解法的最大优点在于不存在自相关法中两端出现很大预测误差的情况,在N 和P 相差不大时,其参数估值比自相关法要精确的多。

但是在语音信号处理时,往往取N 在200左右。

此时,自相关法具有较大误差的段落在整个语音段中所占的比例很小,参数估值也是比较准确的。

在这种情况下,协方差法误差较小的优点就不再突出,其缺乏高效递推算法的缺点成为了制约因素。

所以,在语音信号处理中往往使用高效的自相关法。

5、LPC由于频率响应)(jw e H 反映声道的频率响应和被分析信号的谱包络,因此用|)(|log jw e H 做反傅里叶变换求出的LPC 倒谱系数。

通过线性预测分析得到的合成滤波器的系统函数为)1/(1)(1∑=--=pi i i z a z H ,其冲激响应为h(n)。

h(n)的倒谱为)(^n h ,∑+∞=-=1^^)()(n nzn h z H 就是说)(^z H 的逆变换)(^n h 是存在的。

设0)0(^=h ,将式∑+∞=-=1^^)()(n n z n h z H 两边同时对1-z 求导,得∑∑+∞=--=--∂∂=-∂∂1^1111)(]11log[n n p i i z n h z z a z 得到∑∑∑∞+==-=+-+--=11111^1)(n p i ii pi i i n z a zia z n h n ,于是有 ∑∑∑+∞=+∞=+-+-=-=-1111^11)()1(n n i i n p i i z ia zn h n z a 令其左右两边z 的各次幂前系数分别相等,得到)(^n h 和i a 间的递推关系⎪⎪⎪⎩⎪⎪⎪⎨⎧>--=≤≤--+==∑∑=-=p i i n i i n p n n h a n i n h pn k n h a n i a n h a h 1^^11^^1^),1()1()(1),()1()()1( ,按其可直接从预测系数{i a }求得倒谱)(^n h 。

这个倒谱是根据线性预测模型得到的,又称为LPC 倒谱。

LPC 倒谱由于利用线性预测中声道系统函数H (z )的最小相位特性,因此避免了一般同态处理中求复对数的麻烦。

3. 实验数据及平台本实验所采用的数据是语音文件phrase.WAV 和monologue speech_female ,平台是MATLAB 。

4. 实验过程(步骤)(1)、实验步骤 1、输入原始语音2、对样本语音进行加窗处理3、计算LPC 系数4、建立语音正则方程5、输出原始样本语音、预测语音波形和预测误差6、输出LPC 谱7、求出预测误差的倒谱8、输出原始语音和预测语音的语谱图 (2)实验流程图1 LPC 系数实验流程图5. 实验结果及讨论我们使用的原始语音为“monologue speech_female ”,运行程序,得到原始语音语谱图和原始语音波形:图2 原始语音语谱图和原始语音波形在这里我们选取线性预测阶数为15,下图是实验的结果,图3上半部分中蓝色的线是原始语音帧波形,红色的线是预测语音帧的波形;下半部分为预测误差;图4为原始语音帧和预测语音帧的短时谱和LPC谱的波形:图3图4 短时谱和LPC谱图5 原始语音和预测误差的倒谱波形图6 原始语音语谱图和预测语音语谱图LPC系数:ai =Columns 1 through 81.0000 -0.5313 -0.1624 -0.2005 -0.0726 0.1481 0.0192 -0.1592Columns 9 through 16-0.1248 0.1857 0.0636 0.0848 -0.1475 -0.0562 0.0129 -0.0196通过计算LPC系数可以很好的利用先行预测中声道系统函数的最小相位特性来提取特征函数6. 实验总结这次实验利用MATLAB对信号进行分析和处理,主要就是进行语音线性预测,语音线性预测的基本思想是:一个语音信号的抽样值可以用过去若干个取样值的线性组合来逼近。

通过使实际语音抽样值与线性预测抽样值的均方误差达到最小,可以确定唯一的一组线性预测系数。

通过这个实验,我对语音线性预测进行了探究和验证,巩固了课内所学的知识。

7. 实验代码I = wavread('E:\yuuyin\monologue speech_female.wav');%读入原始语音%subplot(3,1,1),plot(I);title('原始语音波形')%对指定帧位置进行加窗处理Q = I';N = 256; % 窗长Hamm = hamming(N); % 加窗frame = 60;%需要处理的帧位置M = Q(((frame - 1) * (N / 2) + 1):((frame - 1) * (N / 2) + N));Frame = M .* Hamm';%加窗后的语音帧[B,F,T] = specgram(I,N,N/2,N);[m,n] = size(B);for i = 1:mFTframe1(i) = B(i,frame);endP =input('请输入预测器阶数 = ');ai = lpc(Frame,P); % 计算lpc系数LP = filter([0 -ai(2:end)],1,Frame); % 建立语音帧的正则方程FFTlp = fft(LP);E = Frame - LP; % 预测误差subplot(2,1,1),plot(1:N,Frame,1:N,LP,'-r');grid;title('原始语音和预测语音波形')subplot(2,1,2),plot(E);grid;title('预测误差');pausefLength(1 : 2 * N) = [M,zeros(1,N)];Xm = fft(fLength,2 * N);X = Xm .* conj(Xm);Y = fft(X , 2 * N);Rk = Y(1 : N);PART = sum(ai(2 : P + 1) .* Rk(1 : P));G = sqrt(sum(Frame.^2) - PART);A = (FTframe1 - FFTlp(1 : length(F'))) ./ FTframe1 ;subplot(2,1,1),plot(F',20*log(abs(FTframe1)),F',(20*log(abs(1 ./ A))),'-r');grid;xlabel('频率/dB');ylabel('幅度');title('短时谱');subplot(2,1,2),plot(F',(20*log(abs(G ./ A))));grid; xlabel('频率/dB');ylabel('幅度');title('LPC谱');pause%求出预测误差的倒谱pitch = fftshift(rceps(E));M_pitch = fftshift(rceps(Frame));subplot(2,1,1),plot(M_pitch);grid;xlabel('语音帧');ylabel('/dB');title('原始语音帧倒谱');subplot(2,1,2),plot(pitch);grid;xlabel('语音帧');ylabel('/dB');title('预测误差倒谱');pause%画出语谱图ai1 = lpc(I,P); % 计算原始语音lpc系数LP1 = filter([0 -ai(2:end)],1,I); % 建立原始语音的正则方程subplot(2,1,1);specgram(I,N,N/2,N);title('原始语音语谱图');subplot(2,1,2);specgram(LP1,N,N/2,N);title('预测语音语谱图');。

相关文档
最新文档