要为固定词汇语音命令训练(和评估)分类器,您应该构建一个精选数据集,该数据集:
- 具有明确定义的命令列表(分类器的类)
- 每个命令都有足够的样本。10-100,或更多
- 每个音频样本仅包含一个命令。
- 每个样本的长度大致相同
- 命令的开始位于音频样本的开头
然后,数据集将是 .WAV 音频文件的集合,以及描述它们的 .CSV:
filename,command,...
dd690d11-2412-4a16-8103-f1c2d178eca8.wav,up
df36c75b-d30d-49c0-a103-f9fc76827625.wav,down
dab2f090-4493-4756-85ee-b6cd62c7bae8.wav,left
...
录制过程
录音的一个基本过程是使用现有的音频程序(例如Audacity),并为每个单词制作一个录音。
可以加快收集速度的一件事是一次性记录许多话语。连续多次说出一个命令词(“up”),每个命令之间有很多静默(0.5 秒)。然后可以使用自动音频分割算法来使用静音分割命令。静音分割的示例程序是:pyAudioAnalysis和audiotok
捕捉变化
一个好的数据收集过程可以确保包含类中大部分自然发生的变化。对于演讲,这通常意味着录制许多不同的演讲者,因为每个人的说话方式都略有不同。但即使只有一个扬声器,您也可以自己引入一些变化:在您说快或慢的地方做额外的录音。并且还通过您大声(接近喊叫)或轻柔(接近耳语)说它们的地方。
您可能还希望有课外示例,至少用于评估。您可以以几乎相同的方式收集这些。为了获得许多不同的单词,例如可以逐字阅读维基百科的文章(之间保持沉默)。然后过去并删除您的目标词。