VoiceBlend TUI
A cyberpunk terminal for blending multiple kokoro-onnx voices into one unique audio file. Text → Speech. Locally. Beautifully.
> Loading kokoro-onnx models...
Voice 1: emma
Voice 2: jace
Blend ratio: 65/35
Generating unique voice...
> data/blended_narration.wav [saved]
Load any text file. Choose 1 or 2 voices. Dial in the perfect blend ratio. Get a completely unique AI voice in seconds — all running locally in a gorgeous Textual TUI.
Load any .txt file. Full validation + status feedback directly in the TUI.
Dynamic UI — select from multiple kokoro-onnx voices. Voice 2 panel appears only when needed.
50/50, 60/40, 70/30, 80/20, 90/10 — create entirely new hybrid voices.
Timestamped, color-coded log with info, success, warnings, and errors.
Custom filename, automatic overwrite warnings, saved to data/.
No cloud. No API keys. Everything runs on your machine using ONNX Runtime.
ONNX (Open Neural Network Exchange) is an open standard for representing machine learning models.
It allows models trained in one framework (PyTorch, TensorFlow, etc.) to run efficiently in another — in this case, through ONNX Runtime.
TTS Blender uses kokoro-onnx, a blazing-fast 82M parameter TTS model optimized for local inference. This gives you near real-time, high-quality, multi-voice speech synthesis completely offline.
Result: You get production-grade voice blending in a terminal interface.
$ python3.12 -m venv venv
$ source venv/bin/activate # Windows: venv\Scripts\activate
$ pip install -r requirements.txt
$ pip install -e .
$ python main.py
[TTS Blender launched]
→ Input File: ./data/script.txt
→ Voice Mode: 2 Voices
→ Voice 1: emma
→ Voice 2: jace
→ Blend Ratio: 65/35
→ Output: cyberpunk_narration.wav
Generating blended audio...
[SUCCESS] Saved to data/cyberpunk_narration.wav
One command to rule them all: ./run.sh
Voice + Blend Controls