Recho is a fully local AI chatbot with voice support. It implements a speech-to-speech pipeline based on open-source models like Whisper (speech to text), Supertonic (speech to text) and a local language model at its core.
Specifically, it uses whisper.cpp via whisper-rs and a custom Supertonic implementation that uses onnxruntime (ort) under-the-hood.
I built this project primarily to improve my Rust skills. This isn't a robust application, nothing fancy, but it works.
recho_v2_demo.webm
- Rust (stable) Install via rustup
- Any LLM inference engine with OpenAI-like API (like Ollama, llama.cpp, etc.)
Clone the repository and build the project using Cargo:
cargo build- An LLM running via inference engines like Ollama, llama.cpp, etc.
- A Whisper model (like
whisper-ggml-small.bin) - A Supertoic TTS ONNX models and voice styles
Run the project like this:
cargo run -- -l "http://localhost:1234/v1/chat/completions" -o "supertonic/models" -v "supertonic/voices/M1.json" -w "whisper/ggml-small.bin"Tested on a Linux system with LMStudio for serving LLMs.
- thewh1teagle's piper-rs
- supertone-inc's supertonic