资源简介
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实现最大最小距离聚类算法
相关资源
- 基于matlab语音信号基音检测
-
matlab 语音信号处理 enfr
ame.m - 基于MATLAB的语音信号处理课程设计
- 语音信号短时能量
- 双门限法语音信号端点检测matlab可实
- AGC 自动增益控制 含matlab和c两种
- 基于MATLAB有噪声语音信号的处理
- 语音信号的线性预测编码MATLAB程序
- 语音信号处理matlab GUI
- 语音信号时域波形\\短时幅值和短时过
- 自己做的提取语音信号的基音周期的
- 语音信号的双门限的端点检测MATLAB代
- 基于Matlab的语音信号端点检测程序
- 用matlab处理语音信号
- Voicebox语音处理包
- matlab语音信号处理工具箱
- MATLAB语音信号处理
- 语音信号时频分析 (the basic analysis
- 小波分析语音信号并计算各IMF包络的
- 语音信号的MATLAB小波去噪程序
- 基于MATLAB谱减法,改进的谱减法语音
- 语音信号盲分离matlab实现
-
enfr
ame语音信号处理分帧matlab分帧函 - EMOTION-RECOGNITION-OF-SPEECH 关键词:语音
-
DPSK_PCM_TDM 利用matlab simuli
nk产生两路 - kaerman 语音信号去噪
- Dereverberation 通常语音信号在增强时会
- 语音分帧函数
- 自己写的语音信号功率谱估计
- 基于matlab语音信号采集与分析
评论
共有 条评论