資料介紹
描述
這個項目的目標是創建一個保護隱私的語音助手來控制我的物聯網設備,即我的燈和電視。自從我發現即使是我的智能燈也一直試圖與中國的服務器通信以發揮作用,我決定盡量將我的數據保存在本地。我建立了一個基于家庭助理的服務器來本地控制所??有這些設備,并為語音助理提供一個界面。因此,語音助手本身會在被喚醒詞喚醒后將一些語音片段轉錄為文本,然后通過 MQTT 將轉錄內容發送到服務器,由我的基本意圖引擎解析,之后服務器會將預期的命令發送給我的設備。語音助手本身是完全獨立的,不需要與任何其他計算機持續連接即可運行。
Dexter 的工作流程中有很多步驟——我將通過每一步解釋我為使它們發揮作用所做的工作。
工作流程:
1. 使用永遠在線的程序監聽喚醒詞
2. 監聽命令并轉錄
3. 將命令發送到本地服務器進行處理
4. 解析命令并執行所需功能
我的主程序是一個 python 腳本——它運行一個無限循環,通過腳本調用喚醒詞檢測程序,并在檢測到喚醒詞時移動以收集音頻,最后轉錄并將該命令發送到我的服務器。然后,循環再次開始,并調用喚醒詞檢測程序。
為了使設備正常工作,我首先需要將其連接到 wifi,并
在啟動時連接。我最初嘗試使用 cron 作業并使用 wpa_supplicant,但 cron 作業不可靠。相反,network-manager 是即時無線連接的無憂解決方案。為 Pocketbeagle 分配一個靜態本地 IP 意味著我也可以始終通過 SSH 訪問它以使用命令行,或者簡單地使用 Web 瀏覽器連接到 cloud9 IDE。一個
順便說一句 - 如果您嘗試復制它,請不要使用任何基于 RealTek 芯片組的 WiFi 卡。安裝一些社區編譯的驅動程序以使其正常運行是非常痛苦的。謝天謝地,我最終找到了這個 GitHub 項目來處理它。
聽喚醒詞
對于設備上的喚醒詞檢測,我使用的是 Porcupine,這是一個非常輕量級的程序,也設計用于在 BeagleBone 設備上運行。首先,我們需要在picovoice.ai上創建一個帳戶(不用擔心,它是免費供個人使用的)以獲得訪問密鑰。雖然 Porcupine 是完全本地的,但它在初始化時確實需要訪問密鑰。接下來,我們需要在 picovoice 控制臺上為我們選擇的喚醒詞訓練一個模型。Dexter 是喚醒詞的絕佳選擇,因為它不包含常見的聲音,換句話說,減少了誤報的機會。出于這個原因,Dexter(甚至 Alexa)中的“x”非常有用。
立刻,這個項目變得相當 hacky——Porcupine 的 python 實現在 PocketBeagle 上遇到了重大問題,在我放棄之前拋出了各種錯誤。相反,我嘗試了 C 實現,并且能夠讓他們的命令行演示工作。但是,我使用 C 的經驗為零,并且無法充分利用他們的 SDK。給定的演示文件被設計為從命令行調用,并運行啟動指令檢測的無限循環,檢測時僅返回“檢測到啟動指令”。我修改了演示文件,改為在檢測到啟動指令后退出,并從 python 腳本(實際上稱為名為 wakeword 程序的 bash 腳本)調用它。此腳本僅在喚醒詞程序結束后才會繼續,因此這是一個功能齊全的解決方法,可避免不熟悉 C 語言編程。
要獲得演示功能,需要使用 cmake 對其進行編譯,并識別功能麥克風,可以在他們的github 頁面上找到更多說明。
聽命令并轉錄
這里的子工作流程相當簡單——調用 3s 的 arecord 流程創建一個 .wav 文件,然后上傳該 .wav 文件以供 IBM Watson 處理。與 Porcupine 類似,IBM 也需要一個帳戶和一個訪問密鑰。有關如何設置的更多說明可以在他們的網站上找到。我的麥克風帽以 44100 Hz 錄制音頻,這是傳遞給 arecord 的調用的重要參數,這是通過一個簡單的腳本調用完成的。
在音頻文件被記錄并存儲在 PocketBeagle 上之后,另一個 python 程序使用他們的 ibm-watson api 將其上傳到 IBM,并等待接收轉錄。
向本地服務器發送命令
一旦命令被轉換為文本,系統就會通過 MQTT 協議向本地服務器發送一條消息。我已經為服務器分配了一個靜態本地 IP,并使用 Mosquitto 設置了一個 MQTT 代理服務。我不打算解釋如何設置它,因為有很多資源。我使用 Mosquitto 的 Home Assistant 集成來盡可能輕松地完成此操作。
為了從 python 發送命令,我使用了 paho-mqtt 庫。
解析命令和執行功能
為了理解發送的命令,我編寫了一個基本的意圖引擎。對于每個語句,引擎都會嘗試識別一個實體(在我的房間中,燈 1、3 或 3 中的一個,電視,或像整個房間這樣的自定義組)。然后,它會嘗試識別意圖。這就像打開,變紅或變亮。它通過檢查命令字符串并查看它是否包含實體關鍵字以及查看它是否包含意圖關鍵字來執行此操作。因此,就引擎確認而言,命令“打開電視”和“打開電視”在功能上是相同的。默認情況下,如果沒有找到實體或意圖,則將實體設置為整個房間,并將意圖設置為將它們變為白色。
為了實現它,我使用了 Node-RED,它是 Home Assistant 中的一個集成,允許使用 javascript 程序來執行功能。下圖顯示了程序的流程,左側有一個 MQTT 輸入,進入一個實體標識符,然后根據實體是燈還是電視拆分為意圖類型。
這是 parsed 命令的可選用法 - MQTT 可以以您認為合適的任何方式使用。
用法
使用系統很簡單——系統啟動后,您可以通過瀏覽器登錄 IDE,或使用 PuTTY SSH 進入終端。然后,運行RunDexter.sh腳本將 Dexter 啟動到永久的活躍狀態。說“Dexter”將激活錄音,由綠色 LED 指示。然后,您將有三秒鐘的時間發出命令,之后綠色 LED 將熄滅,表示錄制完成。然后,此記錄會在后臺上傳到 IBM,系統會負責其余的工作,按照您的命令執行命令。
使用像 IBM 這樣的基于 AI 的語音識別的一個怪癖是語音到文本系統傾向于尋找有意義的完整短語。因此,像“淺紫色”之類的東西可能對 AI 沒有意義,它可能會返回一些沒有意義的荒謬解釋,并且由于上述默認設置,您將觸發“房間白色”結果。因此,更像“把燈變成紫色”的短語將有更高的機會被正確識別。然而,在我的測試中,如果你說得清楚并且對你的陳述很聰明,那么系統的反應方式是非常好的。
系統接線
這主要是一個編碼項目,涉及許多 hacky 腳本。但是,下圖顯示了 PocketBeagle 的接線設置。
未來目標
將來,我打算擴展系統的功能。就目前而言,Dexter 不會回復你,也不能在一個語句中執行多個命令。這兩個都是我很快就會做的事情。
- 谷歌助手LED控制開源分享
- Office M5堆棧助手開源
- 園藝助手開源硬件
- 使用Alexa語音助手制作IOTA支付系統來收款
- GRIPP3R助手機器人開源分享
- 語音控制界面實驗開源分享
- 通過谷歌助手語音控制來控制燈光
- 停車傳感器助手開源分享
- 限客店門助手V3(物聯網版)開源 0次下載
- 節能和語音可控的LED開源分享
- 串口調試助手V2.2軟件程序下載 47次下載
- 串口調試助手V2.80軟件下載 102次下載
- 安卓系統藍牙調試助手工具源代碼下載 8次下載
- 蘋果ios藍牙調試助手工具源代碼下載 7次下載
- 網絡調試助手
- 電機控制調試助手怎么用 747次閱讀
- 下一代語音輔助解決方案 747次閱讀
- 自動語音識別技術基本指南 1834次閱讀
- 使用NVIDIA Riva構建語音支持的人工智能虛擬助手 1276次閱讀
- 樂鑫語音助手框架ESP-Skainet的中文語音合成例程 2122次閱讀
- dfrobot語音識別控制板 介紹 2976次閱讀
- 智能語音助手的原理_預測智能語音助手的未來 2w次閱讀
- 語音助手哪個好用點?五款好用的手機語音助手評測 12.9w次閱讀
- 蘋果Siri深度學習語音合成技術揭秘 3222次閱讀
- 友善串口調試助手怎么使用及使用方法說明 12.6w次閱讀
- 獨立聲卡是什么_獨立聲卡起什么作用_獨立聲卡怎么安裝 3.8w次閱讀
- “語音助手”如何運行在手機上的? 8736次閱讀
- 智能語音交互是怎么實現交互流程中的輸入輸出呢? 1.2w次閱讀
- 詳細解析WORLD語音合成系統的原理以及使用方法 1.5w次閱讀
- 智能語音助手將成為智能家居用戶入口 2669次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數據手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多