Snowboy 是一款高度可定製的喚醒詞檢測引擎(例如百度的語音喚醒“小度小度”,就是基於它。),可以用於實時嵌入式系統,並且始終監聽(即使離線)。當前,它可以運在 Raspberry Pi、(Ubuntu)Linux 和 Mac OS X 系統上。
github :https://github.com/kitt-ai/snowboy
文檔介紹 :http://docs.kitt.ai/snowboy/
一些熱門的喚醒詞包括,Amazon Echo 上的“Alexa”,Android 設備上的“OK Google” 和 iPhone 上的“Hey Siri”。這些喚醒詞用於,發起一個完整的語音交互界面。除了此,喚醒詞還可以用於其他用途,比如執行簡單的命令和控制動作。
在一個棘手的解決方案中,它可以運行完整的自動語音識別(ASR,Automatic Speech Recognition)來執行熱詞檢測。在這種情況下,設備將在自動語音識別轉錄中觀察特定的觸發詞。轉錄中觀察特定的觸發詞。 另外,當使用基於雲的解決方案時,它也不會保護您的隱私。幸運的是,Snowboy 被創造出來,解決這些問題。
Snowboy 具有以下的特性:
- 高度可定製。允許您自由定義自己的魔術詞,如(但不限於)“芝麻開門”(open sesame)、“打開車庫門”(garage door open)、或者“你好,夢之屋”(hello dreamhouse)。你能想到的,你就能定製它。
- 一直監聽,但是保護您的隱私。因爲 Snowboy 沒有連接到網絡,因此不需要將你的聲音上傳到任何地方。
- 輕巧的、可嵌入,可以讓您在 Raspberry Pi 上運行。在最小的Pi(單核700M Hz ARMv6)上消耗少於10%的CPU。
- Apache 協議
當前,Snowboy 可以支持:
- 所有的 Raspberry Pi (搭載 Debian Jessie 8.0)
- 64位 Mac OS X
- 64bit Ubuntu (12.04 和 14.04)
- iOS
- Android (ARMv7 CPU)
- Pine 64,搭載 Debian Jessie 8.5 (內核版本 3.10.102)
- Intel Edison,搭載 Ubilinux (Debian Wheezy 7.8)
一、前期準備
1、一個支持 Snowboy,並帶有麥克風的設備;
2、一個訓練好的模型,可以從 https://snowboy.kitt.ai/dashboard 獲取,可以自己訓練,也可以下載訓練好的模型,但是下載的時候,需要自己錄入自己的語音。
二、下載Snowboy
您可以下載預先打包好的 Snowboy 二進制文件,及其 Python 封裝:
下載地址:1/2/3/Zero
或者在GitHub上下載編譯
三、訪問麥克風
在這裏,我們使用 PortAudio 作爲音頻輸入/輸出的跨平臺支持。我們還使用 sox 作爲快速實用程序,來檢查麥克風設置是否正確。因此,我們需要先安裝這個軟件,使用麥克風。
1、安裝 Sox
shell>sudo apt-get install sox
2、安裝Python的pyaudio模塊
shell>pip install pyaudio
四、運行DEMO
該 DEMO 可以在任何設備上運行。但是我們建議您:在帶有揚聲器輸出的筆記本電腦/臺式機上運行它,因爲當您的喚醒詞被觸發時,DEMO 會播放Ding聲音。
shell> python demo.py snowboy.pmdl