Java教程

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

本文主要是介绍【短时能量】基于matlab语音信号短时能量【含Matlab源码 1719期】,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、获取代码方式

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

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

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

二、短时能量简介

1 原理
在这里插入图片描述
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 计算分帧后的对应时间
在这里插入图片描述

三、部分源代码

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版本及参考文献

1 matlab版本
2014a

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

这篇关于【短时能量】基于matlab语音信号短时能量【含Matlab源码 1719期】的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!