Implement full audio pipeline with: - Jabra SPEAK 810 USB audio I/O (mic + speaker) - openwakeword 'Hey Salty' wake word detection - whisper.cpp GPU-accelerated STT (small/base/medium/large models) - piper TTS synthesis and playback - Audio state machine: listening → processing → speaking - MQTT status and state reporting - Real-time latency metrics tracking ROS2 Topics Published: - /saltybot/speech/transcribed_text: STT output for voice router - /saltybot/audio/state: Current audio state - /saltybot/audio/status: JSON metrics with latencies MQTT Topics: - saltybot/audio/state: Current state (listening/processing/speaking) - saltybot/audio/status: Complete status JSON Configuration parameters in yaml: - device_name: Jabra device pattern - wake_word_threshold: 0.5 (tunable) - whisper_model: small/base/medium/large - mqtt_enabled: true/false with broker config Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Description
SaltyLab self-balancing bot firmware (STM32F722)
Languages
Python
67.1%
C
11.4%
JavaScript
9.2%
OpenSCAD
7.8%
HTML
1.5%
Other
2.9%