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





