ESP32-S3 语音对话终于跑通:从分阶段处理到实时会话
记录一台 ESP32-S3 参考设备从完整但迟缓的录音、转写、AI 回复和语音合成链路,转向单个实时语音会话的过程;解释为什么实时交互到了资源有限的硬件上,不再只是接入一个 API,而是要重新调度音频、网络、显示与播放。
LEARNING NOTES
从零学习 3D 打印、电子硬件和 AI 产品制作的实践记录,包含元件选型、供电调试、失败复盘与可复现方法。
记录一台 ESP32-S3 参考设备从完整但迟缓的录音、转写、AI 回复和语音合成链路,转向单个实时语音会话的过程;解释为什么实时交互到了资源有限的硬件上,不再只是接入一个 API,而是要重新调度音频、网络、显示与播放。
复盘一次 ESP32-S3 录音严重欠采样故障:从 Base64 缓冲区错误,到定位低速 ST7789 重绘阻塞 I²S,再用独立 FreeRTOS 采集任务和分频局部刷新完成验证。
记录 ESP32-S3 与 INMP441 从按住录音、屏幕声量反馈、WAV 上传,到服务端音频处理、whisper.cpp 转写和网页显示的完整实测链路。
本地语音平台最初每次发送相同文字都会重新调用 TTS,并生成一份重复 MP3。本文从一次真实重复文件问题出发,解释为什么“语音资产”和“播放任务”必须分开,以及缓存键、历史试听、再次发送和旧数据库迁移应该怎样配合。
我把 ESP32-S3 的语音播放从“把固定音频烧进代码”改成了“在网页输入文字后动态播放”。本文记录网页、本地 TTS、任务队列、ESP32、MAX98357A 和喇叭之间怎样连成一条实际可听的链路,以及当前还没有完成的语音输入边界。
记录一次已经完成的 ESP32-S3 语音播放实践:先解决喇叭插头无法接入 MAX98357A 的问题,再按 5 根线完成 I²S 接线,经过短时供电检查、三声测试音和五条网页语音验证,确认声音输出链路可用。
为了练习焊接,又希望最后得到一个能使用的作品,我选择了一套 YCA2109 电子骰子练习板。这篇文章记录我怎样从一块空板和一袋元器件开始,花大约五六个小时完成安装、焊接和故障排查,最后让 LED 短时点亮。
一块刚焊完的 YCA2109 电子骰子通电后 LED 全灭,接入电路板后的电压只有约 2.2V,约 10 分钟后两颗芯片明显发热。本文记录我怎样从电源、按钮、万用表档位和输入二极管一路排查,最终发现两颗 DIP 芯片方向错误;换向后,电子骰子恢复运行并能随机停在不同点数。
第一次连接 GMT130-V1.0 时,我只会照着接线表操作。本文把 VCC、GND、BLK、RES、SCK、SDA、DC 分成四类,沿完整显示链路解释它们怎样把 ESP32 代码变成可见画面,以及理解以后怎样安全地重新规划线路。