0
点赞
收藏
分享

微信扫一扫

【语音识别】基于BP神经网络0到10数字语音识别含Matlab源码

1 简介

语音识别技术具有重要的理论价值和广阔的应用前景,近年来受到了人们的广泛重视。随着电子计算机的不断应用与发展以及人工智能的不断进步与完善,人们越来越希望让机器能够理解人类的自然语言,这种需求使得语音识别技术的研究与发展十分迅速。一直以来,语音识别研究大部分以线性系统理论为基础,主要包括应矢量量化(VQ)、动态时间规整(DTW)与隐马尔可夫模型(HMM)等技术。然而,人的发音实际上是一个复杂的非线性过程,基于线性系统理论的语音识别方法的局限性渐渐显露出来。语音识别技术若要取得突破,必须引入非线性理论的方法,人工神经网络(ANN)就是非线性理论中的一种有效方法。近年来,随着人工神经网络,特别是BP神经网络等非线性理论研究与应用的逐渐深入,使这些理论应用于语音识别成为可能。   本文以语音识别技术和BP神经网络理论为基础,结合MATLAB工具,研究了BP网络模型在语音识别中的应用问题。论文首先介绍了国内外语音识别研究的历史现状和发展趋势,接着阐述了语音识别和BP网络基本原理,然后基于MATLAB与BP神经网络构造和设计了语音识别原型系统,对系统设计原理和实现过程进行了详细介绍,最后进行了仿真实验和结果分析,并根据实验结果进行了算法改进和系统优化,使系统的识别率与识别速度显著提高。本文主要研究了基于BP神经网络的数字语音识别,对语音识别的主要过程和BP神经网络的构建进行了详细说明,研究构造了相应的语音识别模型与算法,完成了实验软件平台的搭建与开发,设计了基于MATLAB与BP神经网络的语音识别系统,并对系统进行算法改进和结构优化,大大提高了识别性能。

2 部分代码

function r = vqlbg(d,k) 
% VQLBG Vector quantization using the Linde-Buzo-Gray algorithme 矢量量化
%
% Inputs: d contains training data vectors (one per column) d包含训练数据载体(每列)
% k is number of centroids required 需要的质心
%
% Output: r contains the result VQ codebook (k columns, one for each centroids)R含有结果VQ码书(k列,为每个形心)
e = .01;
r = mean(d, 2);
dpr = 10000;
for i = 1:log2(k)
r = [r*(1+e), r*(1-e)];
while (1 == 1)
z = disteu(d, r);
[m,ind] = min(z, [], 2);
t = 0;
for j = 1:2^i
r(:, j) = mean(d(:, find(ind == j)), 2);
x = disteu(d(:, find(ind == j)), r(:, j));
for q = 1:length(x)
t = t + x(q);
end
end
if (((dpr - t)/t) < e)
break;
else
dpr = t;
end
end
end

3 仿真结果

【语音识别】基于BP神经网络0到10数字语音识别含Matlab源码_线性系统

4 参考文献

[1]詹新明. 基于BP神经网络的语音识别研究[D]. 华南理工大学, 2009.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

【语音识别】基于BP神经网络0到10数字语音识别含Matlab源码_神经网络_02

举报

相关推荐

0 条评论