<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>

電子發燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
電子發燒友網>電子資料下載>電子資料>Dexter獨立語音助手開源分享

Dexter獨立語音助手開源分享

2023-06-25 | zip | 0.00 MB | 次下載 | 免費

資料介紹

描述

這個項目的目標是創建一個保護隱私的語音助手來控制我的物聯網設備,即我的燈和電視。自從我發現即使是我的智能燈也一直試圖與中國的服務器通信以發揮作用,我決定盡量將我的數據保存在本地。我建立了一個基于家庭助理的服務器來本地控制所??有這些設備,并為語音助理提供一個界面。因此,語音助手本身會在被喚醒詞喚醒后將一些語音片段轉錄為文本,然后通過 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 可以以您認為合適的任何方式使用。

poYBAGNYfpOAYifLAAF_OPGwDR4156.jpg
Dexter 的 Node-RED 流程圖。頂部:電視命令。底部:燈光命令
?

用法

使用系統很簡單——系統啟動后,您可以通過瀏覽器登錄 IDE,或使用 PuTTY SSH 進入終端。然后,運行RunDexter.sh腳本將 Dexter 啟動到永久的活躍狀態。說“Dexter”將激活錄音,由綠色 LED 指示。然后,您將有三秒鐘的時間發出命令,之后綠色 LED 將熄滅,表示錄制完成。然后,此記錄會在后臺上傳到 IBM,系統會負責其余的工作,按照您的命令執行命令。

使用像 IBM 這樣的基于 AI 的語音識別的一個怪癖是語音到文本系統傾向于尋找有意義的完整短語。因此,像“淺紫色”之類的東西可能對 AI 沒有意義,它可能會返回一些沒有意義的荒謬解釋,并且由于上述默認設置,您將觸發“房間白色”結果。因此,更像“把燈變成紫色”的短語將有更高的機會被正確識別。然而,在我的測試中,如果你說得清楚并且對你的陳述很聰明,那么系統的反應方式是非常好的。

系統接線

這主要是一個編碼項目,涉及許多 hacky 腳本。但是,下圖顯示了 PocketBeagle 的接線設置。

poYBAGNYfpiAfg0lAAa--W7Z74w824.jpg
德克斯特接線設置
。

未來目標

將來,我打算擴展系統的功能。就目前而言,Dexter 不會回復你,也不能在一個語句中執行多個命令。這兩個都是我很快就會做的事情。


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數據手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動電路設計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>