# Audio Pipeline (Issue #503)

Comprehensive audio pipeline for Salty Bot with full voice interaction support.

## Features

- **Hardware**: Jabra SPEAK 810 USB audio device integration
- **Wake Word**: openwakeword "Hey Salty" detection
- **STT**: whisper.cpp running on Jetson GPU (small/base/medium/large models)
- **TTS**: Piper synthesis with voice switching
- **State Machine**: listening → processing → speaking
- **MQTT**: Real-time status reporting
- **Metrics**: Latency tracking and performance monitoring

## ROS2 Topics

Published:
- `/saltybot/speech/transcribed_text` (String): Final STT output
- `/saltybot/audio/state` (String): Current audio state
- `/saltybot/audio/status` (String): JSON metrics with latencies

## MQTT Topics

- `saltybot/audio/state`: Current state
- `saltybot/audio/status`: Complete status JSON

## Launch

```bash
ros2 launch saltybot_audio_pipeline audio_pipeline.launch.py
```

## Configuration

See `config/audio_pipeline_params.yaml` for tuning:
- `device_name`: Jabra device
- `wake_word_threshold`: 0.5 (0.0-1.0)
- `whisper_model`: small/base/medium/large
- `mqtt_enabled`: true/false
