实战:基于特征词的语音唤醒

7735 2025-12-23 22:23:05
本章前面介绍了纯理论知识,目的是阐述语音识别的方法。接着搭建了开发环境,让读者可以动手编写代码。下面以识别特定词为例,使用深度

本章前面介绍了纯理论知识,目的是阐述语音识别的方法。接着搭建了开发环境,让读者可以动手编写代码。下面以识别特定词为例,使用深度学习方法和Python语言实现一个实战项目——基于特征词的语音唤醒。

说明:本例的目的是演示一个语音识别的Demo。如果读者已经安装开发环境,可以直接复制代码运行;如果没有,可学习完本章后再回头练习。我们会在本节中详细介绍每一步的操作过程和设计方法。

本文完整的示例代码链接:

https://pan.baidu.com/s/1jG0tpGzmQr1biFbUy95FWQ?pwd=u5s6 提取码: u5s6

2.3.1 数据的准备

深度学习的第一步(也是重要的步骤)是数据的准备。数据的来源多种多样,既有不同类型的数据集,也有根据项目需求由项目组自行准备的数据集。由于本例的目的是识别特定词语而进行语音唤醒,因此采用一整套专门的语音命令数据集SpeechCommands,我们可以使用PyTorch专门的下载代码获取完整的数据集,代码如下:

#直接下载PyTorch数据库的语音文件

from torchaudio import datasets

datasets.SPEECHCOMMANDS(

root="./dataset", # 保存数据的路径

url='speech_commands_v0.02', # 下载数据版本URL

folder_in_archive='SpeechCommands',

download=True # 这个记得选True

)

SpeechCommands的数据量约为2GB,等待下载完毕后,可以在下载路径中查看下载的数据集,如图2-21所示。

打开数据集可以看到,根据不同的文件夹名称,其中内部被分成了40个类别,每个类别以名称命名,包含符合该文件名的语音发音,如图2-22和图2-23所示。

可以看到,根据文件名对每个发音进行归类,其中包含:

训练集包含51088个WAV语音文件。

验证集包含6798个WAV语音文件。

发可以加什么部首|17173各类榜单