構(gòu)建基于ESP32S3的AI語(yǔ)音助手
免費(fèi)DIY AI語(yǔ)音助手(ESP32-S3 & HuggingFace)
這個(gè)項(xiàng)目指導(dǎo)您使用完全免費(fèi)的工具和人工智能模型構(gòu)建自己的人工智能語(yǔ)音助手。ESP32-S3開(kāi)發(fā)板處理語(yǔ)音錄制和音頻播放,而所有復(fù)雜的人工智能處理都在HuggingFace Space服務(wù)器上運(yùn)行。
特性
?100%免費(fèi):不需要付費(fèi)api、服務(wù)或訂閱。
?HuggingFace集成:在HuggingFace上使用自定義服務(wù)器設(shè)置來(lái)結(jié)合語(yǔ)音到文本(STT),大型語(yǔ)言模型(LLM)和文本到語(yǔ)音(TTS)。
?硬件:圍繞強(qiáng)大的ESP32-S3開(kāi)發(fā)板構(gòu)建。
?當(dāng)前語(yǔ)言:目前只支持英語(yǔ)。(多語(yǔ)言支持是未來(lái)的目標(biāo))。
硬件需求
PSRAM的使用對(duì)于語(yǔ)音錄制和處理任務(wù)至關(guān)重要,因此請(qǐng)確保您的電路板具有它!
組件
開(kāi)發(fā)板
?ESP32-S3 (16MB閃存,8MB PSRAM)
?PSRAM是代碼正常運(yùn)行的必要條件。
顯示
?ST7789 TFT顯示器
麥克風(fēng)
?inmp441i2s MEMS麥克風(fēng)
關(guān)鍵:在麥克風(fēng)的接地和VCC之間添加一個(gè)電容。
音頻放大器
?MAX98357A I2S音頻放大器
?連接到半瓦,8歐姆揚(yáng)聲器。
觸發(fā)
?觸覺(jué)按鈕
?用于啟動(dòng)和停止錄音。
布線
?單獨(dú)的I2S線
麥克風(fēng)和放大器采用專(zhuān)用I2S GPIO引腳,簡(jiǎn)化控制,避免噪聲。
服務(wù)器設(shè)置(HuggingFace Space)
?AI的魔力發(fā)生在一個(gè)免費(fèi)的HuggingFace Space上。
?創(chuàng)建一個(gè)HuggingFace帳戶(hù),點(diǎn)擊“新空間”。
?空間配置:
?Space SDK:選擇Docker。
?模板:選擇“空白”。
?空間硬件:使用CPU Basic。
?空間配置:空間SDK:選擇Docker。模板:選擇“空白”??臻g硬件:使用CPU Basic。
上傳服務(wù)器文件:從這個(gè)存儲(chǔ)庫(kù)復(fù)制以下文件,并在新的HuggingFace Space中創(chuàng)建它們(Files選項(xiàng)卡-> Contribute -> create new file):
上傳服務(wù)器文件:從這個(gè)存儲(chǔ)庫(kù)復(fù)制以下文件,并在新的HuggingFace Space中創(chuàng)建它們(Files選項(xiàng)卡-> Contribute -> create new file):Dockerfile
?創(chuàng)建一個(gè)訪問(wèn)令牌:轉(zhuǎn)到您的配置文件的訪問(wèn)令牌,創(chuàng)建一個(gè)“寫(xiě)”令牌,并復(fù)制它。
設(shè)置一個(gè)秘密:在你的空間設(shè)置選項(xiàng)卡中,向下滾動(dòng)到秘密并創(chuàng)建一個(gè)新的秘密:
?名稱(chēng)(必須準(zhǔn)確):HF_TOKEN
?值:將復(fù)制的令牌粘貼到這里。
?設(shè)置一個(gè)秘密:在你的空間的設(shè)置選項(xiàng)卡,向下滾動(dòng)到秘密和創(chuàng)建一個(gè)新的秘密:名稱(chēng)(必須是準(zhǔn)確的):HF_TOKEN
?值:將復(fù)制的令牌粘貼到這里。
?等待服務(wù)器狀態(tài)從“Building”變?yōu)椤癛unning”。檢查日志是否有錯(cuò)誤。
Arduino固件設(shè)置
?安裝庫(kù):下載并安裝所有必需的庫(kù)(視頻描述中的鏈接)。注意:ESP8266音頻庫(kù)與ESP32工作良好。
代碼的配置:
?輸入您的WiFi SSID和密碼。
?更新服務(wù)器URL與您的具體HuggingFace空間URL(注意大小寫(xiě)敏感)。
?代碼配置:輸入您的WiFi SSID和密碼。更新服務(wù)器URL與您的具體HuggingFace空間URL(注意大小寫(xiě)敏感)。
ESP32單板設(shè)置:
?確保PSRAM已在Tools菜單中啟用。
?選擇包含SPIFFS的分區(qū)方案。
?ESP32 Board Settings:確保在Tools菜單中開(kāi)啟了PSRAM。選擇包含SPIFFS的分區(qū)方案。
?將代碼上傳到ESP32-S3板。
如何使用
?一旦顯示屏顯示“助手準(zhǔn)備就緒”,系統(tǒng)就可以運(yùn)行了。
?按住觸覺(jué)按鈕開(kāi)始錄制您的聲音到PSRAM。
?松開(kāi)按鈕停止錄音,自動(dòng)將音頻發(fā)送到服務(wù)器。
?AI服務(wù)器處理請(qǐng)求(STT -> LLM -> TTS),并將響應(yīng)音頻發(fā)送回ESP32。
?ESP32將音頻下載到LittleFS,并自動(dòng)在揚(yáng)聲器上播放答案。
本文編譯自hackster.io





