资源简介
语音识别端点检测Matlab代码。
在复杂的环境下,从信号语音信号中分辨出语音信号和非语音信号,是语音处理很重要一个环节。语音端点检测是从一段输入语音信号中确定语音的起始点和结束点。正确的端点检测可以减少不必要的计算量,提高语音识别的精度和减少识别时间。通常采用短时能量和短时过零率相结合的方法来寻找语音的开始帧和结束帧。
代码片段和文件信息
function [x1x2] = vad(x)
%幅度归一化到[-11]
x = double(x);
x = x / max(abs(x));
%常数设置
frameLen = 240;%帧长为240点
frameInc = 80;%帧移为80点
amp1 = 10;%初始短时能量高门限
amp2 = 2;%初始短时能量低门限
zcr1 = 10;%初始短时过零率高门限
zcr2 = 5;%初始短时过零率低门限
maxsilence = 8; % 8*10ms = 80ms
%语音段中允许的最大静音长度,如果语音段中的静音帧数未超过此值,则认为语音还没结束;如果超过了该值,则对语音段长度count进行判断,若countminlen,则认为语音段结束;
minlen = 15; % 15*10ms = 150ms
%语音段的最短长度,若语音段长度小于此值,则认为其为一段噪音
status = 0; %初始状态为静音状态
count = 0; %初始语音段长度为0
silence = 0; %初始静音段长度为0
%计算过零率
tmp1 = enframe(x(1:end-1) frameLen frameInc);
tmp2 = enframe(x(2:end) frameLen frameInc);
signs = (tmp1.*tmp2)<0;
diffs = (tmp1 -tmp2)>0.02;
zcr = sum(signs.*diffs 2);
%计算短时能量
%amp = sum(abs(enframe(filter([1 -0.9375] 1 x) frameLen frameInc)) 2);
a
- 上一篇:SINS卡曼滤波初始对准
- 下一篇:同步发电机的暂态仿真
相关资源
- HMMforspeechrecogntion 一个可执行的HMM语音
- popular-UCI-datasets 一些非常有用的数据
- GAPSO 这个算法是遗传算法和粒子群优
- synchronization 利用matlab仿真实现载波的
- Gabor Gabor小波变换的matlab实现
- 4 matlab区域填充的具体算法及演示
- MATLAB_image_process_with_PDE 运用偏微分方
- gabijiao 该程序通过实例(函数)
- SIFT2844912
- gbvs 二维图像视觉显著性检测
- wenli 分析了纹理特征提取方法
- EELM
- barcode 基于图像的条形码识别程序(识
-
myaudiopla
yer 使用Matlab GUI实现的音频 - B-spline-surface 在MATLAB-2008a环境下编写的
- NURBS-surface 在MATLAB-2008a环境下编写的
- ACO 用MATLAB编写的蚁群算法最短路径寻
- wavplay 基于matlab GUI界面的播放器
- allfns 是由牛津大学VGG开发的三维重建
- spectrogram_fft
- adaboost 基于adaboost的人脸识别程序
- 2 2课程报告要求:按照讲课内容
- gps GPS信号的捕获、处理程序
- fuzzynetme 模糊神经网络的MATLAB程序
- naive_bayes_numeric 利用matlab实现的朴素贝
- MFandMPF 计算肌电信号积分肌电值
- BM3D BM3D去噪算法的实现和相关文档
- BarrelDistortion 两个matlab程序
- Kalman 用卡尔曼滤波跟踪目标实例
- susancorners
评论
共有 条评论