⛄一、获取代码方式
获取代码方式1:
完整代码已上传我的资源:【语音预测】基于matlab语音信号LPC线性预测【含Matlab源码 4763期】
点击上面蓝色字体,直接付费下载,即可。
获取代码方式2:
付费专栏Matlab语音处理(初级版)
备注:
点击上面蓝色字体付费专栏Matlab语音处理(初级版),扫描上面二维码,付费29.9元订阅海神之光博客付费专栏Matlab语音处理(初级版),凭支付凭证,私信博主,可免费获得1份本博客上传CSDN资源代码(有效期为订阅日起,三天内有效);
点击CSDN资源下载链接:1份本博客上传CSDN资源代码
⛄二、部分源代码
%% LPC线性预测
clear all; clc
%%
[x,Fs] = audioread(‘morning.wav’); % 读入原始语音
% sound(x,Fs);
figure,plot(x); title(‘原始语音时域波形’);
%进行重采样,采样率变为10k
[P,Q]=rat(10e3/Fs);
y_res=Fs*P/Q;%采样率10k
y=resample(x,P,Q);
% sound(y,y_res);
y1=y’;
figure,plot(y); title(‘重采样后语音时域波形’);
%%
N = 256; % 帧长256
Hamm = hamming(N); % 汉明窗
% frame = input(‘请输入需要处理的帧位置=’); % 需要处理的帧位置
frame=100;%需要处理的帧位置
X = y1(((frame-1)(N/2)+1) : ((frame-1)(N/2)+N)); % 帧移128
Frame_Hamm = X.*Hamm’; % 加窗后的语音帧,短时傅里叶变换
% N1 = input(‘请输入预测器阶数=’); % 输入预测器阶数
N1=12;%预测器阶数
[coef,gain] = lpc(Frame_Hamm,N1); % 计算lpc系数
Frame_LPC = filter([0 -coef(2:end)],1,Frame_Hamm); % 建立语音帧的正则方程
err = Frame_Hamm - Frame_LPC; % 预测误差
⛄三、运行结果
⛄四、matlab版本及参考文献
1 matlab版本
2014a
2 参考文献
[1]韩纪庆,张磊,郑铁然.语音信号处理(第3版)[M].清华大学出版社,2019.
[2]柳若边.深度学习:语音识别技术实践[M].清华大学出版社,2019.
[3]宋云飞,姜占才,魏中华.基于MATLAB GUI的语音处理界面设计[J].科技信息. 2013,(02)
3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除