matlab中计算mfcc

matlab中计算mfcc,第1张

首先下载附件的renren_rp函数文件,并保存到Matlab的搜索路径下。

在Command Window中,输入以下的代码即可完成:

1.自动启动IE浏览器(8.0)

2.自动填写用户的账户名和密码

3.自动点击登录按钮进入用户主页(同时刷得1人品值)

username = 'xxxxxxxxxx'

 keyword = 'xxxxxxxx'

 renren_rp(username,keyword)

无需网页 *** 作,轻松一句话即可完成人人登录。PS:使用前记得退出登录并取消自动登录选项。

也可以这么玩:

username = 'xxxxxxxxxx'

keyword = 'xxxxxxxx'

while 1

    renren_rp(username,keyword)

    pause(1800)%等待半小时再刷新人品值

end

%mfcc

function mfc=mfcc(x)

%%%%%%%%%%%%%%%%%%%%%%%%%

%对输入的语音序列x进行mfcc参数提取,返回mfcc参数和一阶差分mfcc参数,mel滤波器的阶数为24

%fft变换长度为256,采样频率为8000HZ,对x 256点分为一帧

%%%%%%%%%%%%%%%%%%%%%%%%%%%%

bank=melbankm(24,256,8000,0,0.5,'m')

%归一化mel滤波器组参数

bank=full(bank)

bank=bank/max(bank((:))

%DCT系数,12*24

for k=1:12

n=0:23

dctcoef(:,k)=cos((2*n+1)*k*pi/(2*24))

end

%归一化倒谱提升窗口

w=1+6*sin(pi*[1:12]./12)

w=w/max(w)

%预加重滤波器

xx=double(x)

xx=filter([1 -0.9375],1,xx)

%语音信号分帧

xx=enframe(xx,256,80)

%计算每帧的mfcc参数

for i=1:size(xx,1) %

y=xx(i,:)

s=y'.*hamming(256)

t=abs(fft(s))

t=t.^2%计算能量

c1=dctcoef*log(bank*t(1:129))%dctcoef为dct系数,bank归一化mel滤波器组系数

c2=c1.*w'%w为归一化倒谱提升窗口

m(i,:)=c2'

end

%差分系数

dtm=zeros(size(m))

for i=3:size(m,1)-2

dtm(i,:)=-2*(i-2,:)-m(i-1,1)+2*m(i+2,:)

end

dtm=dtm/3

%合并mfcc参数和一阶差分mfcc参数

mfc=[m dtm]

%去除首尾两帧,因为这两帧的一阶差分参数为0

mfc=mfc(3:size(m,1)-2,:)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11659454.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存