Repository navigation
The gadget now talks — and wakes on its own.
"Hi, ESP" or the knob — both start a turn. Detection is esp-sr WakeNet10 running on-chip; the wake model lives in its own flash partition (srmodels.bin @ 0x822000, flashed automatically by build-and-flash.sh when missing).
v0.2.1 — wake word
- WakeNet10
wn10_hiespon idle audio chunks, direct (no AFE — its static buffers OOM the codec on this board) - Wake → synthesized PTT: recording, VAD end-of-turn and the reply flow are exactly the button's
- esp-dl kernel fix:
dl-extra-req.ymlre-adds the W8A16 no-bias 1×1 conv that esp-sr's own compile_req strips - Serial self-tests:
k= wake-phrase playback in full duplex,l= mic loopback probe - 4 s post-turn cooldown (armed after the reply plays) prevents re-wake loops
apply.shasks to enable it;WAKE_WORD/WAKE_VAD_DBinprovider_config.h
v0.2.0 — bring your own brain
- STT + chat + TTS are three independent OpenAI-compatible endpoints — one provider or mix-and-match; presets
openai,quicksilver(deepseek-v4.1-flash + whisper-large-v3-turbo + chatterbox/qwen3-tts),custom - Streaming sentence TTS while the model writes the next sentence (ASCII + CJK boundaries)
- TLS keep-alive: warm voice turn ≈ 5–7 s end-to-end; captions at ~2–3 s
- Language-aware voice (Chinese turns use
TTS_MODEL_CJK) - Headless Wi-Fi provisioning — no Muse app, no vendor account
- Silence-trimmed uploads; typed turns speak too
Setup: see the README — clone the SDK, ./apply.sh --preset …, ./build-and-flash.sh. Verified end to end on a SenseCAP Watcher.