资源简介
matlab语音信号某段语音的特征值提取
代码片段和文件信息
close all;
clear all;
[xfsbit]=wavread(‘2.wav‘);%读语音数据数据放入了Xfs代表采样率,bit代表采样位数
framelength=240;%设置帧长,%30ms under 8khz
framenumber=fix(length(x)/(framelength));%总的数据帧数
totaltime=length(x)/fs;%该段语音总的时间长度
sp1=x(fix(1.1*fs):(fix(1.1*fs)+framelength+framelength-1));%1.1*fs=8.8秒处为浊音始点,取两帧
sp2=x(0.8*fs:(0.8*fs+framelength+framelength-1));%0.8*fs=6.4秒处为清音始点,取两帧
d=0;%初始化,浊音波峰判断
R1=0;%初始化,浊音一个基音周期内帧数
%计算每帧的能量
for i=1:framenumber;
E(i)=0;%短时能量初始化
Z(i)=0;%短时过零率初始化
M(i)=0;%短时平均幅度初始化
K(i)=0;%短时零能比初始化
for j=(framelength*(i-1)+1):framelength*i;
E(i)=E(i)+x(j)*x(j); %第i帧短时能量
end
for j=(framelength*(i-1)+2):framelength*i;
Z(i)=Z(i)+abs(sign(x(j)-0.2)-sign(x(j-1)));%第i帧短时过零率
end
for j=(framelength*(i-1)+1):framelength*i;
M(i)=M(i)+abs(x(j));
end
M(i)=M(i)/framelength;%第i帧短时平均幅度
end
for i=1:framelength;
R(i)=0;
for j=1:framelength;
R(i)=R(i)+sp1(j)*sp1(i+j);%浊音的短时自相关函数
end
if (R(i)>=110.11)
R(i)=110.11;%修正最高波峰最大值为110.11
d=d+1;%当波峰为110.11时,自加一
end
if (d==1)%以第一个波峰110.11为起始点,下一个波峰110.11为终点
- 上一篇:基于遗传算法的柔性车间调度.rar
- 下一篇:用matlab实现最大最小距离聚类算法
相关资源
- 基于倒谱图判断浊音的基音周期MATL
- LMS语音信号去噪matlab代码
- 语音信号的采集与处理课程设计
- 格型法线性预测分析预测系数和功率
- 一种基于Matlab的语音信号采集与分析
- MATLAB实现语音信号的仿真以及软件界
- MATLAB在语音信号分析与合成中的应用
- MATLAB在语音信号分析与合成中的应用
- 语音信号子带编码matlab程序subband_co
- 《Matlab语音信号分析与合成》第2版程
- 数字信号处理课程设计语音信号的采
- MATLAB语音信号分析与合成代码
- voicebox matlab语音信号处理工具箱
- 基于matlab的数字语音信号的采集及频
- 基于matlab语音信号分析的低通高通滤
- 语音信号处理MATLAB程序
- MATLAB在语音信号分析和合成中的应
- Matlab在语音信号处理中的应用
- 盲信号分离
- 张雪英版数字语音处理及MATLAB仿真课
- MATLAB语音信号处理0-9语音识别,GUI.
- 数字语音处理及MATLAB仿真(第2版)源
- 终于找到了 MATLAB在语音信号分析与合
- 语音信号处理实验教程-MATLAB源代码
- 语音信号处理实验教程MATLAB源代码
- MATLAB在语音信号分析与合成中的应用
- 梁瑞宇赵力语音信号处理实验教程m
- 《语音信号处理赵力(中文入门)》
- 语音信号的加窗分析
- MATLAB GUI语音信号分析
评论
共有 条评论