关于时域信号处理方法。。
我是需要处理一段声音信号,提取其特征判断在某段时的状态,现在我觉得在时域时候就能找到其特征。于是我仿照语音信号处理方法对其分帧移帧,求短时能量,短时平均幅度,短时平均幅度差函数并试图对分帧后的每帧信号求自相关函数。
我的问题是,除了以上方法,是否还有别的什么参数是可以用于特征识别的?
谢谢 这个就非常的多了,一般的有LPCC和MFCC。这个两个参数都是非常有用的。 谢谢楼上的解答,我想,在这里询问的大多是关于语音识别的,我也看到了本版块的另一张帖子
【讨论】为什么提取特征用MFCC?
http://bbs.matwav.com/viewthread.php?tid=605931&extra=&page=1
但是,我想,不需要用到这么复杂的算法,简单点的,时域方面的,还有别的参数么?
因为本系统后面可能是用于DSP集成,算法能简单尽量简单
当然,LPCC和MFCC我也看起来了,谢谢
39446465
[ 本帖最后由 yay110 于 2009-4-28 11:31 编辑 ] 本帖最后由 VibInfo 于 2016-11-9 15:00 编辑
原帖由 奇峰 于 2007-3-26 22:54 发表 用MATLAB语言实现MFCC特征参数提取如下:
function r = mfcc(s, fs) % s声音信号的向量 fs取样频率
m = 100;
n = 256;
l = length(s);
nbFrame = floor((l - n) / m) + 1;
for i = 1:n
for j = 1:nbFrame
M(i, j) = ...
这是上面所说的帖子中的一张回帖,程序看懂了,但是后面有一句
m = melfb(20, n, fs);
我的matlab显示melfb.m not found.,而且lookfor melfb以及lookfor mfcc都没有结果。是自己版本不对么?我是用的7.1
[ 本帖最后由 yay110 于 2009-4-28 10:08 编辑 ] 本帖最后由 VibInfo 于 2016-11-9 15:00 编辑
原帖由 z_x_l1984 于 2007-4-27 23:23 发表
MFCC 提取不是这样的吗??如下:
function ccc = mfcc(x)
% 归一化mel滤波器组系数
bank=melbankm(24,256,8000,0,0.5,'m');
bank=full(bank);
bank=bank/max(bank(:));
% DCT系数,12*24
for k=1:12
n=0:23;
dc ...
中的第一句话bank=melbankm(24,256,8000,0,0.5,'m');,melbankm就又是not found。为什么?
是在这个板块有常用的工具箱么?求解。。。 melbankm,是工具箱里的一个函数。
你没有下载工具箱,所以没有。
刚好,我上次用到了,给你传一个。
谢谢楼上,希望z_x_l1984 的function r = mfcc(s, fs)好用,哈
楼上能把完整的工具箱传给我么?yay_110@yahoo.com.cn
感谢 刚刚发现,前面链接的是研学论坛的帖子。。哈哈
在《一种在单片机上提取语音特征参数MFCC的快速算法》中看到MFCC算法的确很复杂,不知道DSP系统中能否能实现,实时性如何,有待进一步考证。 哈 唉,昨晚和老师讨论,基本思路被否决,这样不能得到想要的结果,而且算法过于复杂
呵呵 回复 7 # yay110 的帖子
你好,我想要meflb函数,你能不能发给我下啊,急用!1058920360@qq.com 谢谢楼上的程序。{:{39}:} 看来跟我一样遭受痛苦啊。
页:
[1]