构建基于ESP32S3的AI语音助手
扫描二维码
随时随地手机看文章
免费DIY AI语音助手(ESP32-S3 & HuggingFace)
这个项目指导您使用完全免费的工具和人工智能模型构建自己的人工智能语音助手。ESP32-S3开发板处理语音录制和音频播放,而所有复杂的人工智能处理都在HuggingFace Space服务器上运行。
特性
•100%免费:不需要付费api、服务或订阅。
•HuggingFace集成:在HuggingFace上使用自定义服务器设置来结合语音到文本(STT),大型语言模型(LLM)和文本到语音(TTS)。
•硬件:围绕强大的ESP32-S3开发板构建。
•当前语言:目前只支持英语。(多语言支持是未来的目标)。
硬件需求
PSRAM的使用对于语音录制和处理任务至关重要,因此请确保您的电路板具有它!
组件
开发板
•ESP32-S3 (16MB闪存,8MB PSRAM)
•PSRAM是代码正常运行的必要条件。
显示
•ST7789 TFT显示器
麦克风
•inmp441i2s MEMS麦克风
关键:在麦克风的接地和VCC之间添加一个电容。
音频放大器
•MAX98357A I2S音频放大器
•连接到半瓦,8欧姆扬声器。
触发
•触觉按钮
•用于启动和停止录音。
布线
•单独的I2S线
麦克风和放大器采用专用I2S GPIO引脚,简化控制,避免噪声。
服务器设置(HuggingFace Space)
•AI的魔力发生在一个免费的HuggingFace Space上。
•创建一个HuggingFace帐户,点击“新空间”。
•空间配置:
•Space SDK:选择Docker。
•模板:选择“空白”。
•空间硬件:使用CPU Basic。
•空间配置:空间SDK:选择Docker。模板:选择“空白”。空间硬件:使用CPU Basic。
上传服务器文件:从这个存储库复制以下文件,并在新的HuggingFace Space中创建它们(Files选项卡-> Contribute -> create new file):
上传服务器文件:从这个存储库复制以下文件,并在新的HuggingFace Space中创建它们(Files选项卡-> Contribute -> create new file):Dockerfile
•创建一个访问令牌:转到您的配置文件的访问令牌,创建一个“写”令牌,并复制它。
设置一个秘密:在你的空间设置选项卡中,向下滚动到秘密并创建一个新的秘密:
•名称(必须准确):HF_TOKEN
•值:将复制的令牌粘贴到这里。
•设置一个秘密:在你的空间的设置选项卡,向下滚动到秘密和创建一个新的秘密:名称(必须是准确的):HF_TOKEN
•值:将复制的令牌粘贴到这里。
•等待服务器状态从“Building”变为“Running”。检查日志是否有错误。
Arduino固件设置
•安装库:下载并安装所有必需的库(视频描述中的链接)。注意:ESP8266音频库与ESP32工作良好。
代码的配置:
•输入您的WiFi SSID和密码。
•更新服务器URL与您的具体HuggingFace空间URL(注意大小写敏感)。
•代码配置:输入您的WiFi SSID和密码。更新服务器URL与您的具体HuggingFace空间URL(注意大小写敏感)。
ESP32单板设置:
•确保PSRAM已在Tools菜单中启用。
•选择包含SPIFFS的分区方案。
•ESP32 Board Settings:确保在Tools菜单中开启了PSRAM。选择包含SPIFFS的分区方案。
•将代码上传到ESP32-S3板。
如何使用
•一旦显示屏显示“助手准备就绪”,系统就可以运行了。
•按住触觉按钮开始录制您的声音到PSRAM。
•松开按钮停止录音,自动将音频发送到服务器。
•AI服务器处理请求(STT -> LLM -> TTS),并将响应音频发送回ESP32。
•ESP32将音频下载到LittleFS,并自动在扬声器上播放答案。
本文编译自hackster.io





