% 实验要求五:线性预测法进行基音周期检测
clc; close all; clear all;
wlen=320; inc=80; % 分帧的帧长和帧移
T1=0.05; % 设置基音端点检测的参数
p=12; % 设置线性预测阶数
[x,fs]=wavread('C4_2_y.wav'); % 读入wav文件
x=x-mean(x); % 消去直流分量
x=x/max(abs(x)); % 幅值归一化
[voiceseg,vosl,SF,Ef,period]=pitch_Lpc(x,wlen,inc,T1,fs,p); %基于线性预测法的基音周期检测
fn=length(SF);
time = (0 : length(x)-1)/fs; % 计算时间坐标
frameTime = FrameTimeC(fn, wlen, inc, fs); % 计算各帧对应的时间坐标
subplot 211, plot(time,x,'k'); title('语音信号')
axis([0 max(time) -1 1]); grid; ylabel('幅值'); xlabel('时间/s');
subplot 212; hold on
plot(frameTime,period,'k');
axis([0 max(time) 0 150]); title('线性预测法基音检测');
ylabel('样点数'); xlabel('时间/s'); grid;
for k=1 : vosl
nx1=voiceseg(k).begin;
nx2=voiceseg(k).end;
nxl=voiceseg(k).duration;
fprintf('%4d %4d %4d %4d\n',k,nx1,nx2,nxl);
subplot 211
line([frameTime(nx1) frameTime(nx1)],[-1 1],'color','r','linestyle','-');
line([frameTime(nx2) frameTime(nx2)],[-1 1],'color','b','linestyle','--');
subplot 212
line([frameTime(nx1) frameTime(nx1)],[0 150],'color','r','linestyle','-');
line([frameTime(nx2) frameTime(nx2)],[0 150],'color','b','linestyle','--');
end
matlab实现基音周期估计实验
版权申诉
17 浏览量
2022-07-10
21:14:53
上传
评论
收藏 391KB RAR 举报
Sherry_shiry
- 粉丝: 2
- 资源: 1097
最新资源
- 部署yolov8的tensorrt模型支持检测分割姿态估计的C++源码+部署步骤.zip
- 以简单、易用、高性能为目标、开源的时序数据库,支持Linux及Windows, Time Series Database.zip
- python-leetcode面试题解之第198题打家劫舍-题解.zip
- python-leetcode面试题解之第191题位1的个数-题解.zip
- python-leetcode面试题解之第186题反转字符串中的单词II-题解.zip
- 一个基于python的web后端高性能开发框架,下载可用
- python-leetcode面试题解之第179题最大数-题解.zip
- python-leetcode面试题解之第170题两数之和III数据结构设计-题解.zip
- python-leetcode面试题解之第168题Excel表列名称-题解.zip
- python-leetcode面试题解之第167题两数之和II输入有序数组-题解.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈