Add Pending_Query class and voice interaction improvements

- lib/pending-query.mjs: new state machine for query accumulation
  wake word, silence timer, send/cancel/pause/resume, instant dispatch,
  mode toggle (always listen / stop listening), mode query
- query-demo.mjs: refactored to use Pending_Query; wake word on by default
  with silence timer; chimes for dispatch/working/cancel/activate
- tts-server.mjs: track last_speak_at, expose /activity endpoint,
  chime playback via Python queue (soundfile + librosa), preload on startup
- chatterbox-server.py: chime and preload commands via stdin protocol
- lib/chatterbox-tts.mjs: play_chime and preload_chime methods
- test-chime.mjs: simple chime test script
- voices.yaml: configured ready/cancel/working/dispatch chimes
- CLEANUP-PLAN.md: updated with current state, command vocabulary, future plans

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-31 03:59:11 +00:00
parent 4fdad055e4
commit a7fa2fd218
9 changed files with 487 additions and 95 deletions

View File

@@ -56,7 +56,10 @@ voices:
# System event chimes — map event name to audio file path.
# Falls back to chimes/<name>.wav or .ogg if not listed here.
chimes:
# ready: /home/devilholk/sounds/trek-chirp.wav
ready: /home/devilholk/Documents/ready.ogg
cancel: /home/devilholk/Documents/abort.ogg
working: /home/devilholk/Documents/working.ogg
dispatch: /home/devilholk/Documents/dispatch.ogg
# dispatch: /home/devilholk/sounds/trek-send.wav
# cancel: /home/devilholk/sounds/cancel.ogg
# error: /home/devilholk/sounds/error.ogg