【语音识别】基于MFCC和MEL倒频系数实现声纹识别附matlab代码

简介: 【语音识别】基于MFCC和MEL倒频系数实现声纹识别附matlab代码

✅作者简介:热爱科研的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]. 东北大学.

⛳️ 代码获取关注我

❤️部分理论引用网络文献,若有侵权联系博主删除
❤️ 关注我领取海量matlab电子书和数学建模资料


相关实践学习
达摩院智能语音交互 - 声纹识别技术
声纹识别是基于每个发音人的发音器官构造不同,识别当前发音人的身份。按照任务具体分为两种: 声纹辨认:从说话人集合中判别出测试语音所属的说话人,为多选一的问题 声纹确认:判断测试语音是否由目标说话人所说,是二选一的问题(是或者不是) 按照应用具体分为两种: 文本相关:要求使用者重复指定的话语,通常包含与训练信息相同的文本(精度较高,适合当前应用模式) 文本无关:对使用者发音内容和语言没有要求,受信道环境影响比较大,精度不高 本课程主要介绍声纹识别的原型技术、系统架构及应用案例等。 讲师介绍: 郑斯奇,达摩院算法专家,毕业于美国哈佛大学,研究方向包括声纹识别、性别、年龄、语种识别等。致力于推动端侧声纹与个性化技术的研究和大规模应用。
相关文章
|
7天前
|
存储 编解码 算法
【多光谱滤波器阵列设计的最优球体填充】使用MSFA设计方法进行各种重建算法时,图像质量可以提高至多2 dB,并在光谱相似性方面实现了显著提升(Matlab代码实现)
【多光谱滤波器阵列设计的最优球体填充】使用MSFA设计方法进行各种重建算法时,图像质量可以提高至多2 dB,并在光谱相似性方面实现了显著提升(Matlab代码实现)
|
7天前
|
机器学习/深度学习 传感器 算法
【高创新】基于优化的自适应差分导纳算法的改进最大功率点跟踪研究(Matlab代码实现)
【高创新】基于优化的自适应差分导纳算法的改进最大功率点跟踪研究(Matlab代码实现)
85 14
|
7天前
|
机器学习/深度学习 算法
【概率Copula分类器】实现d维阿基米德Copula相关的函数、HACs相关的函数研究(Matlab代码实现)
【概率Copula分类器】实现d维阿基米德Copula相关的函数、HACs相关的函数研究(Matlab代码实现)
|
7天前
|
机器学习/深度学习 传感器 算法
【裂纹检测】检测和标记图片中的裂缝(Matlab代码实现)
【裂纹检测】检测和标记图片中的裂缝(Matlab代码实现)
|
7天前
|
传感器 机器学习/深度学习 编解码
【电缆】中压电缆局部放电的传输模型研究(Matlab代码实现)
【电缆】中压电缆局部放电的传输模型研究(Matlab代码实现)
|
4天前
|
并行计算 算法 语音技术
基于MFCC(梅尔频率倒谱系数)和GMM(高斯混合模型)的语音识别
基于MFCC(梅尔频率倒谱系数)和GMM(高斯混合模型)的语音识别
|
8天前
|
算法 计算机视觉
【MPDR & SMI】失配广义夹角随输入信噪比变化趋势、输出信干噪比随输入信噪比变化趋势研究(Matlab代码实现)
【MPDR & SMI】失配广义夹角随输入信噪比变化趋势、输出信干噪比随输入信噪比变化趋势研究(Matlab代码实现)
|
8天前
|
编解码 人工智能 算法
【采用BPSK或GMSK的Turbo码】MSK、GMSK调制二比特差分解调、turbo+BPSK、turbo+GMSK研究(Matlab代码实现)
【采用BPSK或GMSK的Turbo码】MSK、GMSK调制二比特差分解调、turbo+BPSK、turbo+GMSK研究(Matlab代码实现)
|
8天前
|
机器学习/深度学习 编解码 并行计算
【改进引导滤波器】各向异性引导滤波器,利用加权平均来实现最大扩散,同时保持图像中的强边缘,实现强各向异性滤波,同时保持原始引导滤波器的低低计算成本(Matlab代码实现)
【改进引导滤波器】各向异性引导滤波器,利用加权平均来实现最大扩散,同时保持图像中的强边缘,实现强各向异性滤波,同时保持原始引导滤波器的低低计算成本(Matlab代码实现)
|
8天前
|
机器学习/深度学习 传感器 边缘计算
【故障诊断】基于时滞反馈随机共振的增强型旋转电机故障诊断(Matlab代码实现)
【故障诊断】基于时滞反馈随机共振的增强型旋转电机故障诊断(Matlab代码实现)

热门文章

最新文章