如何创建语音命令数据集

数据挖掘 数据集 音频识别 数据增强
2022-02-01 23:02:26

我计划创建一个语音识别网络来识别几个单词(语音命令),并从谷歌遇到语音命令数据集除了可用的数据集之外,我还计划添加更多的词,例如“移动”、“保存”等,它们不是谷歌数据集的一部分。

有没有一种方法或任何其他来源可以让我创建/查找单词的数据集?

由于许多在线数据集可用于句子和语音转录,我正在考虑编写一个脚本,该脚本可以通过可用的转录并找到所需单词的位置并物理裁剪音频,然后对其进行填充以制作一秒钟的音频文件. 但这似乎是一个非常非常艰巨的过程,像我的机器人的名字这样的几个字在网上不会出现。

各位大佬能推荐个方法吗?

1个回答

创建自己的数据集或更新现有数据集的方法很少。

一个人

这种方式假设您有一个麦克风(至少一个)。为了简化您的录制体验,请在您重复每个命令的位置录制文件。每个文件一个唯一的命令。然后提取数据。基本管道应该是这样的。

收集数据

  • 将每个命令的语音命令记录在一个文件中。如果您使用 python,请注意pyaudio库。录音时,在您重复的单词之间暂停。您可以尝试不同的麦克风和不同的位置。此外,您可以请您的朋友或亲戚帮助您完成任务。

  • 阅读录音并将其分成较小的文件,每个文件只有一个单词。对于此任务,您可以使用VAD - 语音音频检测器软件,例如webrtc-vadPython有一个包装器。

  • 要规范化您的数据,您可能希望将音频文件附加到相同的长度。在文件的情况下,在.wav文件的开头和结尾附加零。

数据增强

  • 为您的数据添加一些噪音。它可能是白噪声,通过代码随机生成,或者您可能只是记录静音、街道噪音、安静的对话等。之后将噪音添加到您之前记录的数据中。

虽然,这可能不是最好的方法,但它会在你的情况下工作得很好。

提取数据

对于更大的数据集,您可能希望使用简单音频索引器来索引音频文件。它可以帮助您找到特定单词或短语的时间戳。

将它用于互联网上提供的录音,例如有声读物(音质通常很好,但录音通常是去噪的 - 不像现实生活中的录音)或开放的语音数据集(一些在此处列出)。

最后,您可以结合这两种方法来解决您的问题。