资源简介
基于倒谱图判断浊音的基音周期MATLAB仿真 包含MATLAB代码和语音文件
代码片段和文件信息
waveFile = ‘qinghua.wav ‘;
[y fs nbits] = wavread(waveFile);
time=(1:length(y))/fs;
frameSize=floor(40*fs/1000); %帧长
startIndex=round(15000); %起始序号
endIndex=startIndex+frameSize-1; %结束序号
frame = y(startIndex:endIndex); %取出该帧
frameSize=length(frame);
frame2=frame.*hamming(length(frame)); % 加hamming窗
rwy = rceps(frame2); % 求倒谱
ylen=length(rwy);
cepstrum=rwy(1:ylen/2); %基音检测
LF=floor(fs/500); %设置基音搜索的范围
HF=floor(fs/70);
cn=cepstrum(LF:HF);
[mx_cep ind]=max(cn); %设置门限,找到峰值位置
if mx_cep > 0.08 & ind >LF
a= fs/(LF+ind);
else
a=0;
end
figure(1);
plot(time y); title(waveFile); axis tight
ylim=get(gca ‘ylim‘);
line([time(startIndex) time(startIndex)] ylim ‘color‘ ‘r‘);
line([time(endIndex) time(endIndex)] ylim ‘color‘ ‘r‘);
title(‘语音波形‘);
figure(2);
subplot(211);
plot(frame);
title(‘取出帧的波形‘);
subplot(212);
plot(cepstrum);
title(‘倒谱图‘);
[xsr]=wavread(‘qinghua.wav‘);
meen=mean(x);
x= x - meen;
updRate=floor(20*sr/1000); %每20ms更新
fRate=floor(40*sr/1000); %40ms一帧
n_samples=length(x);
nframes=floor(n_samples/updRate)-1; %帧数
k=1;
pitch=zeros(1nframes);
f0=zeros(1nframes);
LF=floor(sr/500);
HF=floor(sr/70);
m=1;
avgF0=0;
for t=1:nframes
yin=x(k:k+fRate-1);
cn1=rceps(yin);
cn=cn1(LF:HF);
[mx_cep ind]=max(cn);
if mx_cep > 0.08 & ind >LF
a= sr/(LF+ind);
else
a=0;
end
f0(t)=a;
if t>2 & nframes>3 %中值滤波对基音轨迹图进行平滑
z=f0(t-2:t);
md=median(z);
pitch(t-2)=md;
if md > 0
avgF0=avgF0+md;
m=m+1;
end
else
if nframes<=3
pitch(t)=a;
avgF0=avgF0+a;
m=m+1;
end
end
k=k+updRate;
end
figure(3)
subplot(211);
plot((1:length(x))/sr x);
ylabel(‘幅度‘);
xlabel(‘时间‘);
subplot(212);
xt=1:nframes;
xt=20*xt;
plot(xtpitch)
xlim([03]);
axis([xt(1) xt(nframes) 0 max(pitch)+50]);
ylabel(‘基音频率/HZ‘);
xlabel(‘时间‘);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2014-06-30 16:32 No.2\
文件 2214 2014-06-30 16:37 No.2\pro_2.m
文件 33120 2010-01-13 11:54 No.2\qinghua.wav
相关资源
- 粒子群算法优化pid源码 matlab仿真.ra
- 小卫星多普勒频偏MATLAB仿真程序及参
- 基于Matlab的OFDM系统仿真的设计
- 《MATLAB仿真在现代通信中的应用》徐
- 自抗扰控制ADRC的MATLAB仿真+书籍资料
- Ldpc编译码方案MATLAB仿真
- 基于模型预测控制的车辆轨迹跟踪问
- 合成孔径雷达成像csChirp Scaling算法M
- 冲击电压发生器MATLAB仿真,主要是单
- 信道的MATLAB仿真
- 基于傅里叶叠层的图像重建算法matl
- 信息论大作业 LZ78算法编译码 matlab仿
- 跳频通信系统MATLAB仿真
- 机械臂SEA柔顺控制matlab仿真
- 群速度色散的matlab仿真
- 异步电机降压启动matlab仿真
- Aloha系统MATLAB仿真代码
- 机器人焊接轨迹规划matlab仿真程序
- 同步电机模型的MATLAB仿真-毕业设计论
- 方崇智《过程辨识》一书中各种辨识
- matlab仿真及其在光学课程中的应用 课
- MINIST 手写数字识别 MATLAB仿真
- 基于Matlab的光学实验仿真
- 四旋翼MATLAB仿真文件实验报告.zip
- 雷达系统的matlab仿真
- 波导MATLAB仿真
- 《先进PID控制MATLAB仿真第3版》程序代
- 先进PID控制及其MATLAB仿真(刘金锟)
- 滑模控制及观测器设计
- Massive MIMO信号检测算法以及信道估计
评论
共有 条评论