摘要
本项目的目标是使用深度学习来检测数字 0-9 的语音。
我们将利用深度学习技术,把语音文件转译为文本数据,例如把英语 three 的发音转译为文本 “three”。
我们将使用 TensorFlow/Keras 来创建模型、训练模型,再使用测试数据评估它的性能。
运行环境
因为 AI 需要在 GPU 上运算,而一般的 PC 是没有 GPU 的,所以我们要借用云端的算力。
我选择的云端算力平台是 OpenBayes,你使用下面的链接进行注册,将可以获得免费 4 小时 RTX-4090 显卡的使用时长。
注册链接如下:
https://openbayes.com/console/signup?r=comehope_JrJj
点击它,会出现下面的登录界面,填写用户名、邮箱、密码、手机号和短信验证码,就可以完成注册,如下图所示。

克隆教程
注册成功之后,进入到个人控制台,在左侧菜单中选择“公共资源/公共教程”,搜索“0-9”,找到“语音识别入门教程:用 TensorFlow 识别数字 0-9”这篇教程,如下图所示。

打开这篇教程,点击右上角的“克隆”按钮,如下图所示。

在接下来“从模板创建:基本信息”的界面中点击“下一步:选择算力”按钮,如下图所示。

所谓算力,就是显卡类型,请选择“RTX 4090”,这里会显示您获赠的时长。再选择镜像类型中,选择“TensorFlow”,然后,显示右下角的“下一步:审核”按钮,如下图所示。

接下来列出了刚才选择过的算力和镜像,点击右下角的“继续执行”按钮,如下图所示。

接下来,系统会自动分配资源,稍待片刻,等到页面中显示“打开工作空间”按钮,点击它,就可以进入运行中的教程了,如下图所示。

工作空间的界面如下图所示。

接下来,运行“教程.jpynb”文件即可。以下内容与 “教程.jpynb” 的内容完全相同,建议您在 Jupyter 中运行,可以实时看到运行结果。
教程正文
先安装库文件,所有依赖都保存在 requirements.txt 中,其中主要是 librosa 库,是一个提取语音特征的库。
!pip install -r /openbayes/home/requirements.txt -q
数据集包含 1700 个语音文件,录制了多个人的英语数字发音,每个录音大约 1 秒到 2 秒时长。
数据集已经下载到 data 文件夹中。
接下来我们开始正式编码。
首先,定义数据集的文件夹路径,每个数字的语音都保存在以它的英语单词命名的文件夹中。
file_paths = {
'0': 'zero',
'1': 'one',
'2': 'two',
'3': 'three',
'4': 'four',
'5': 'five',
'6': 'six',
'7': 'seven',
'8': 'eight',
'9': 'nine'
}
初始化 2 个列表 audio_data 和 labels,用于保存音频数据和音频对应的标签。
audio_data = []
labels = []
使用 librosa 库提取语音特征,即所有音频文件的 MFCC 特征,并且使帧长固定为 40。MFCC(梅尔频率倒谱系数)适合描绘人类的语音特征。
使用 librosa 库提取语音特征,即所有音频文件的 MFCC 特征,并且使帧长固定为 40。MFCC(梅尔频率倒谱系数)适合描绘人类的语音特征。
import os
import numpy as np
n_frames = 40
for label, file_path in file_paths.items():
print("processing: ", label, file_path)
for file_name in os.listdir('data/' + file_path):
file_path_full = os.path.join('data/' + file_path,

最低0.47元/天 解锁文章
2483

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



