✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。
🍎个人主页:Matlab科研工作室
🍊个人信条:格物致知。
更多Matlab仿真内容点击👇
⛄ 内容介绍
随着科技的进步和先进生活理念的日益深入,智慧家庭(Smart Home-SH)正逐步成为现实。尤其是近年来互联网、人工智能、生物识别等技术的突飞猛进,对SH的发展提供了更多方面的参考,可以广泛的应用于日常生活中,让科技的进步造福人类。然而,现在的生物识别技术尤其是声纹识别,除了在重要的安全部门,即便是在国外,很少见于SH的领域。 本文针对声纹识别在智慧家庭领域的应用及其相关问题进行了详细的分析和深入的研究。主要研究了以下几个方面:说话人语音识别系统,对能够反映人对语音感知特性的Mel频率倒谱系数(MFCC)作为特征参数进行提取。
⛄ 部分代码
function m = melfb(p, n, fs)
% MELFB Determine matrix for a mel-spaced filterbank
%
% Inputs: p number of filters in filterbank
% n length of fft
% fs sample rate in Hz
%
% Outputs: x a (sparse) matrix containing the filterbank amplitudes
% size(x) = [p, 1+floor(n/2)]
%
% Usage: For example, to compute the mel-scale spectrum of a
% colum-vector signal s, with length n and sample rate fs:
%
% f = fft(s);
% m = melfb(p, n, fs);
% n2 = 1 + floor(n/2);
% z = m * abs(f(1:n2)).^2;
%
% z would contain p samples of the desired mel-scale spectrum
%
% To plot filterbanks e.g.:
%
% plot(linspace(0, (12500/2), 129), melfb(20, 256, 12500)'),
% title('Mel-spaced filterbank'), xlabel('Frequency (Hz)');
f0 = 700 / fs;
fn2 = floor(n/2);
lr = log(1 + 0.5/f0) / (p+1);
% convert to fft bin numbers with 0 for DC term
bl = n * (f0 * (exp([0 1 p p+1] * lr) - 1));
b1 = floor(bl(1)) + 1;
b2 = ceil(bl(2));
b3 = floor(bl(3));
b4 = min(fn2, ceil(bl(4))) - 1;
pf = log(1 + (b1:b4)/n/f0) / lr;
fp = floor(pf);
pm = pf - fp;
r = [fp(b2:b4) 1+fp(1:b3)];
c = [b2:b4 1:b3] + 1;
v = 2 * [1-pm(b2:b4) pm(1:b3)];
m = sparse(r, c, v, p, 1+fn2);
⛄ 运行结果
⛄ 参考文献
[1] 于树本. 基于MFCC的说话人语音识别系统的研究[J]. 黑龙江科技信息, 2015.
[2] 于树本. 基于MFCC的说话人语音识别系统的研究[J]. 黑龙江科技信息, 2015(27):77-78.
[3] 李文. 智慧家庭中声纹识别技术的研究与实现[D]. 东北大学.