feat: Phone voice command interface (Issue #553) #554
Loading…
x
Reference in New Issue
Block a user
No description provided.
Delete Branch "sl-android/issue-553-voice-command"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
phone/voice_commander.py: Termux-based voice command listener for SaltyBotgo_forward,go_back,go_left,go_right,stop,follow_me,go_home,look_at_me{"command": ..., "raw": ..., "ts": ...}to/saltybot/voice/cmdvia ROS2 (rclpy) or rosbridge WebSocket fallbacktermux-tts-speakafter each commandtermux-microphone-record(16 kHz mono AAC)--host,--port,--model(tiny/base/small),--threshold,--record-sec,--no-tts,--debugTest plan
python3 -m py_compile phone/voice_commander.py— syntax cleanpip install openai-whisper websocket-clientthenpython3 phone/voice_commander.py --debug --no-tts/saltybot/voice/cmdreceives{"command":"go_forward",...}follow_mepublished with TTS confirmationunknowncommand and "Sorry, I didn't understand that" TTS--model tinyfor faster inference on low-end phones🤖 Generated with Claude Code
Add phone/voice_commander.py — Termux-based voice command listener for SaltyBot: - Continuous wake word detection ('Hey Salty') via Whisper STT on short audio clips - Command recording after wake word, transcribed with local Whisper (tiny/base/small) - Parses go forward/back/left/right, stop, follow me, go home, look at me - Publishes JSON to /saltybot/voice/cmd via ROS2 (rclpy) or rosbridge WebSocket - TTS confirmation via termux-tts-speak; 'Yes?' prompt on wake word - Fuzzy token-overlap fallback for wake word matching - Flags: --host, --port, --model, --threshold, --record-sec, --no-tts, --debug Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>