2016-12-25 63 views
0

我想事先錄製一個詞,並且在python腳本中使用相同的密碼時,如果口述密碼與先前錄製的文件相匹配,程序應運行。我不想使用語音識別工具包,因爲密碼可能不是任何適當的詞,但可能是完整的亂碼。我開始將先前錄製的文件和新演講的聲音保存爲numpy數組。現在我需要一種方法來確定兩個數組是否相互「接近」。有人能爲我指出正確的方向嗎?在Python中實現語音激活的密碼實現

回答

1

無法與樣本級別(或時域)上的語音樣本進行比較。說出的單詞的每個部分的長度可能不同,因此它們不匹配,每個部分的級別也會有所不同,依此類推。另一個問題是聲音信號所包含的各個組成部分的相位也可能發生變化,因此兩個聽起來相同的信號在時域中看起來可能會有很大的不同。所以最好的解決方案是將信號移入頻域。一種常見的方法是使用快速傅立葉變換(FFT)。你可以查看它,網上有很多這方面的資料,並且在Python中對它有很好的支持。

然後可能會繼續像這樣:

  • 鴻溝的聲音樣本到幾毫秒的小片段。

  • 查找段的FFT的主要係數。

  • 比較一些選定的主要係數的序列。