【短时能量】基于matlab语音信号短时能量【含Matlab源码 1719期】

一、获取代码方式

获取代码方式1:
完整代码已上传我的资源:【短时能量】基于matlab语音信号短时能量【含Matlab源码 1719期】

获取代码方式2:
通过订阅紫极神光博客付费专栏,凭支付凭证,私信博主,可获得此代码。

备注:
订阅紫极神光博客付费专栏,可免费获得1份代码(有效期为订阅日起,三天内有效);

二、短时能量简介

1 原理
【短时能量】基于matlab语音信号短时能量【含Matlab源码 1719期】
2 语音信号的读取
2.1 函数使用示例1
[y,Fs] = audioread(filename) 从名为 filename 的文件中读取数据,并返回样本数据 y 以及该数据的采样率 Fs。

2.2 函数使用示例2
[y,Fs] = audioread(filename,samples) 读取文件中所选范围的音频样本,其中 samples 是 [start,finish] 格式的向量。也就是说你可以得到任意一段的音频数据

2.3 函数使用示例3
[y,Fs] = audioread(___,dataType) 返回数据范围内与 dataType(‘native’ 或 ‘double’)对应的采样数据,可以包含先前语法中的任何输入参数

3 语音信号的分帧
3.1 分帧原理
为了分析读入数据,通常进行分帧处理。在分帧中,往往设置在相邻两帧之间有一部分重叠。

3.2 计算分帧后的对应时间
【短时能量】基于matlab语音信号短时能量【含Matlab源码 1719期】

三、部分源代码

clear all; clc; close all;
filedir=[];                % 设置路径
filename='s.wav';   % 设置文件名
fle=[filedir filename];    % 构成完整的路径和文件名
[x,Fs]=audioread(fle);     % 读入数据文件
wlen=200; inc=80;          % 给出帧长和帧移
win=hanning(wlen);         % 给出海宁窗
N=length(x);               % 信号长度
X=enframe(x,win,inc)';     % 分帧
fn=size(X,2);              % 求出帧数。size函数里选择1时是返回行数,2是返回列数
time=(0:N-1)/Fs;           % 计算出信号的时间刻度

四、运行结果

【短时能量】基于matlab语音信号短时能量【含Matlab源码 1719期】

五、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1]韩纪庆,张磊,郑铁然.语音信号处理(第3版)[M].清华大学出版社,2019.
[2]柳若边.深度学习:语音识别技术实践[M].清华大学出版社,2019.
[3]宋云飞,姜占才,魏中华.基于MATLAB GUI的语音处理界面设计[J].科技信息. 2013,(02)

上一篇:艺术品区块链溯源防伪平台(连载一)


下一篇:认识PyQt、菜单栏、工具栏、状态栏