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

Posted 紫极神光

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了短时能量基于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期的主要内容,如果未能解决你的问题,请参考以下文章

语音分析基于matlab短时自相关基音周期检测+LPC预测增益计算含Matlab源码 1517期

数字信号处理基于matlab数字信号离散序列短时傅里叶变换含Matlab源码 1545期

matlab 画短时平均幅度谱

短时幅度谱短时幅度谱估计在语音增强方面的MATLAB仿真

FPGA教程案例52语音案例1——基于能量检测的语音信号端点检测FPGA实现

Matlab-基于短时神经网络的声音分类