A lightweight Rust-based voice assistant with speech-to-text and text-to-speech capabilities, using Whisper for STT and ElevenLabs for TTS.
Rust Voice Assistant captures audio asynchronously, transcribes it with Whisper, processes basic commands, and responds with ElevenLabs TTS. Ideal for offline STT and cloud TTS integration.
Set API key, run cargo run, say "time", hear response.
-π€ STT & TTS
- Whisper for transcription.
- ElevenLabs for speech synthesis.
-π Async
- Tokio for concurrency.
- CPAL for audio capture.
-π οΈ Command Processing
- Basic NLP for commands.
-π§ Compile from Source
git clone https://github.com/mkyla/rust-voice-assistant.git cd rust-voice-assistant
cargo build --release
- Set ELEVENLABS_API_KEY
- Download Whisper model to models/
- Run
./target/release/rust-voice-assistant
Say commands, get responses.
- API Key: ELEVENLABS_API_KEY env var
- Model: models/ggml-base.en.bin
-π§© Core Components
- main.rs: Audio loop, transcription, command handling, TTS.
-π οΈ Tech Stack
- Rust 2021
- STT: Whisper
- TTS: ElevenLabs API
- Audio: CPAL, Rodio
BSD-3-Clause