1 简介
语音识别是让机器自动识别和理解语音信号,并把语音信号转变为相应的文本或命令的技术.通过对特定人孤立词语音特点的研究,在对语音信号进行预处理的过程中,选择过零率与短时平均能量两项指标作为对语音信号端点检测的依据,提取语音线性预测系数,通过计算分析后获得线性预测倒谱系数,作为语音特征参数.选择动态时间规整法为模板匹配算法,并针对传统匹配算法中计算量大的特点,作出改进,采用全局限制的方法以减小匹配过程中的计算量.采用上述算法设计了一种基于特定人的孤立词语音识别系统,并对该系统进行了多种背景条件下的Matlab仿真研究.仿真实验结果表明,此算法对于特点人孤立词的语音识别能达到较好的识别效果.
2 部分代码
function r = mfcc(s, fs) % s声音信号的向量 fs取样频率
% MFCC
% Inputs: s contains the signal to analize
% fs is the sampling rate of the signal
% Output: r contains the transformed signal
m = 100;
n = 256;
l = length(s);
nbFrame = floor((l - n) / m) + 1;
for i = 1:n
for j = 1:nbFrame
M(i, j) = s(((j - 1) * m) + i);
end
end
h = hamming(n);
M2 = diag(h) * M;
for i = 1:nbFrame
frame(:,i) = fft(M2(:, i));
end
t = n / 2;
tmax = l / fs;
m = melfb(20, n, fs);
n2 = 1 + floor(n / 2);
z = m * abs(frame(1:n2, :)).^2;
r = dct(log(z));
3 仿真结果
4 参考文献
[1]彭辉, 魏玮, 陆建华. 特定人孤立词的语音识别系统研究[J]. 控制工程, 2011, 18(3):5.