一、两种思路
就当前学习所知,有两种语音识别的思路
1、将语音文件提取mfcc,即转为二维张量形式,然后进行dense全连接层叠层训练,当然这个也可以使用传统机器学习方法。
转为二维张量格式为:

2、将语音文件提取mfcc转为三维张量形式即频谱图,然后进行cnn卷积神经网络训练,看了几个资料,这个似乎准确率更高,但是比较麻烦
所以下文采取第一种方式进行尝试
频谱图形式为:

二、代码更新
采取第一种思路的代码为大佬南方朗郎:《python+keras实现语音识别》,这个代码有些小问题
1、keras版本问题
报错

准确的说,这个不是keras版本问题,应该是tensorflow版本的问题,tensorflow是keras的后端,我的python版本是3.8,所以安装的tensorflow版本是2.0以上的,而作者源码是建立在keras后端tensorflow1.0以上的版本,所以出现这样的错误,这样的错误会很多,一个个修改非常麻烦,但是python3.8好像没有支持的tensorflow1.0以上的版本,只有2.0以上的版本。
不过,幸运的是,我有两个python版本,一个3.7,一个3.8,python3.7有支持的tensorflow1.0以上的版本,于是我用python3.7安装了tensorflow1.15.

本文介绍了使用Python和Keras进行单字语音识别的两种方法,重点是通过MFCC特征提取和Dense层训练。在解决版本兼容问题和代码修正后,模型达到93%的测试准确率。此外,还探讨了汉字语音识别,使用百度合成数据集并进行数据增强,但目前仅调整音量,后续将加入更多增强技术以提升准确率。
最低0.47元/天 解锁文章
6047

被折叠的 条评论
为什么被折叠?



