在Python中实现语音激活的密码实现

问题描述:

我想事先录制一个词,并且在python脚本中使用相同的密码时,如果口述密码与先前录制的文件相匹配,程序应运行。我不想使用语音识别工具包,因为密码可能不是任何适当的词,但可能是完整的乱码。我开始将先前录制的文件和新演讲的声音保存为numpy数组。现在我需要一种方法来确定两个数组是否相互“接近”。有人能为我指出正确的方向吗?在Python中实现语音激活的密码实现

无法与样本级别(或时域)上的语音样本进行比较。说出的单词的每个部分的长度可能不同,因此它们不匹配,每个部分的级别也会有所不同,依此类推。另一个问题是声音信号所包含的各个组成部分的相位也可能发生变化,因此两个听起来相同的信号在时域中看起来可能会有很大的不同。所以最好的解决方案是将信号移入频域。一种常见的方法是使用快速傅立叶变换(FFT)。你可以查看它,网上有很多这方面的资料,并且在Python中对它有很好的支持。

然后可能会继续像这样:

  • 鸿沟的声音样本到几毫秒的小片段。

  • 查找段的FFT的主要系数。

  • 比较一些选定的主要系数的序列。