clear;
tic
[signal,FS] = audioread('D:\1.wav');%读取音频信号
x=signal';%将sianal的转置矩阵赋给x
y=filter([1,-0.97],1,x);%预加重
N=400;%每帧400采样点(25ms*16kHZ=400),帧移10ms*16kHZ=160
N_FFT=512;%样本数
i=1;
start=1;
framesample=zeros(ceil(length(y)/N),N_FFT);%成帧
while start+400-1<=length(y)
framesample(i,1:N)=y(start:start+400-1) ;
start=start+160;
i=i+1;
end
framesample(i,1:length(y)-start+1)=y(start:end);
H=hamming(N_FFT);%加窗
AW_sample=framesample.*H';
z=fft(AW_sample');%傅里叶变换
zz=abs(z);
plot(zz);
AFFT_sample=(z.^2)./N_FFT;%功率谱
f_max=8000;%采样频率*2为最大频率
mel_max=2595*log10(1+f_max/700);%求解mel的最大值,最小值为0
for i=1:40 %40个滤波器
mel(i)=mel_max/41*i;
fmel(i)=round(700*(10^(mel(i)/2595)-1));%依次算出每个点的值
end
fmel(41)=f_max;
f_interval=f_max/(N_FFT/2);
fbank=[1 round(fmel./f_interval)];
for i=1:40
Hm(i,:)=mytriangle(fbank(i),fbank(i+1),fbank(i+2),N_FFT/2);%通过三角滤波器
end
fbankm=Hm*AFFT_sample(1:N_FFT/2,:);
Fm_sample=10.*log10(fbankm);
DCT=dct(Fm_sample);%倒谱系数
MFCC=DCT(1:13,:);
toc
实验1_实验一语音信号MFCC特征提取_MFCC_
版权申诉
5星 · 超过95%的资源 156 浏览量
2021-10-03
14:31:07
上传
评论 4
收藏 22.46MB ZIP 举报
海四
- 粉丝: 53
- 资源: 4716
最新资源
- Qt开发知识、经验总结 包括Qss,数据库,Excel,Model/View等
- IV数据.xlsx
- foldcraftlauncher_262944.apk
- 珍藏多年的基于matlab实现潮流计算程序源代码集合,包含多个潮流计算程序.rar
- 使用FPGA实现串-并型乘法器
- 基于matlab实现针对基于双曲线定位的DV-Hop算法中误差误差出一种基于加权双曲线定位的DV-Hop改进算法.rar
- 基于matlab实现由遗传算法开发的整数规划,车辆调度问题.rar
- 电视家7.0(对电视配置要求高).apk
- 免费计算机毕业设计-基于JavaEE的医院病历管理系统设计与实现(包含论文+源码)
- 手机端 我的世界融合植物大战僵尸版.apk
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
- 1
- 2
前往页