664a23c48dd2e7c8b9d1a5cd9bdf73677d9e24c3
EVS - Embedded Voice System
ESP32-basierter Voice-Client mit:
INMP441als Mikrofon (I2S)PAM8403als Verstärker (PWM-Audio vom ESP32)- WebSocket-Audio-Streaming zur zentralen Bridge
- optionaler Home-Assistant/MQTT-Integration
Ziel
Dieses Projekt bildet die Basis für eine lokale "Echo-Alternative":
- Audioaufnahme am ESP32
- Verarbeitung zentral (z. B. Home Assistant / Container)
- Audioantwort zurück an den ESP32-Lautsprecher
Projektstruktur
src/main.cpp: Firmware (Audio, WiFi, WebSocket, Modi)include/secrets.h: lokale Umgebungswerte (nicht versioniert)include/secrets.example.h: Vorlage fürsecrets.hbridge/: Dockerisierte EVS-Bridge (WebSocket + MQTT + HA-Hooks)
Firmware-Modi
Serielle Kommandos (115200 Baud):
l= Local Loopback (Mic direkt auf Speaker)s= Stream to Server (Audio zur Bridge)i= Idlep= Netzwerkstatush= Hilfe
Setup (ESP32)
include/secrets.example.hnachinclude/secrets.hkopieren.- In
include/secrets.hsetzen:
- WiFi-Zugang
EVS_BRIDGE_HOSTEVS_WS_PORT,EVS_WS_PATHEVS_DEVICE_ID
- Firmware bauen/flashen:
pio run -e esp32dev_core2 -t upload
pio device monitor -b 115200
Setup (Bridge)
- In
bridge/wechseln. .env.examplenach.envkopieren und Werte setzen.- Bridge starten:
docker compose up -d --build
Standard-WebSocket-Endpunkt:
ws://<bridge-host>:8765/audio
Audioformat
- PCM16LE
- Mono
- 16 kHz
Hinweise
include/secrets.hist absichtlich in.gitignore.- Für den Core-3-Test ist in
platformio.inieine eigene Environment vorbereitet. - Details zur Bridge findest du in
bridge/README.md.
Description
Languages
Python
57.8%
C++
30.2%
HTML
6.9%
Dockerfile
3%
C
2.1%