你想用它来处理语音吗?如果是,最好的方法是使用 MSR Identity Toolkit。此工具包由 Omid Sadjadi 博士作为 Microsoft 研究员编写。他指导我如何使用它。(你也需要语音盒)。这是一个示例代码片段,您可以使用它从 wav 文件中的语音文件中提取 MFCC(假设 16 kHz 采样率):
addpath('path_to_voicebox');
addpath('path_to_identity_toolbox');
[s, fs] = wavread(speechFilename);
fL = 100.0/fs;
fH = 8000.0/fs;
fRate = 0.010 * fs;
fSize = 0.025 * fs;
nChan = 27;
nCeps = 12;
premcoef = 0.97;
s = rm_dc_n_dither(s, fs);
s = filter([1 -premcoef], 1, s);
mfc = melcepst(s, fs, '0dD', nCeps, nChan, fSize, fRate, fL, fH);
mfc = cmvn(mfc', true);
writehtk(featureFilename, mfc', 100000, 9);
上述代码从预加重的语音信号中提取出 39 维的 MFCC,然后对特征进行均值和方差归一化,最后以 HTK 格式写入磁盘。请注意,这只是一个示例代码,您可以根据您的需要/资源修改此代码。“rm_dc_n_dither”和“cmvn”这两个函数来自 Identity Toolbox。Voicebox 和 Identity Toolbox 都应该在 MatLab 路径中(参见上述代码的前两行)。对于语音活动检测 (VAD),您可以使用 Voicebox 中的“vadsohn”功能,该功能以 10 毫秒的跳帧率输出帧级决策(0 表示静音,1 表示语音)。
从数据库中提取特征后,您可以按照 Identity Toolbox 提供的 gmm_ubm_demo 中的过程来训练 UBM 模型。
如果您想在 TIMIT 上复制我们的演示结果,您可以从以下地址下载列表文件(未包含在工具箱中):
http://www.utdallas.edu/~sadjadi/lists.tar.gz
这很容易,你可以用普通的电脑来做。
问候 Mohammad Karaminejad karaminejad@gmail.com