Balaka v0.3.0: OmniVoice 0.2.1, safer local defaults, and a better UI
I first shared Balaka as a small, inspectable text-to-speech app that runs on your machine. Today I released v0.3.0.
Balaka still has a FastAPI backend, a build-free browser interface, voice design, and voice cloning. Speech generation stays local; the model is downloaded only when it is not already cached.
What changed
- OmniVoice 0.2.1: Both synthesis modes now use the updated runtime. I verified real Ukrainian voice design and voice cloning as 24 kHz mono WAVs.
- Local by default: The server now listens on
127.0.0.1:8000. You can explicitly setBALAKA_HOSTandBALAKA_PORTwhen another address is needed. - Clear limits: Reference audio is capped at 20 MiB, with HTTP 413 for larger uploads. Only one generation runs at a time per process; a second request gets HTTP 503 instead of competing for the model.
- A friendlier UI: Text tips explain supported phrasing and expressive tags. An API preview shows the exact form fields and a copyable cURL command. Advanced settings expose edge silence and fade controls.
- Reproducible setup: Dependencies are pinned, and the updated CI passed the expanded test suite on Python 3.13.
A note about the voice
The default k2-fsa/OmniVoice model and its published weights have not changed. The inference code has, so a generated voice can sound different from v0.2.0. Voice design also varies between runs. To compare results, keep the text, settings, and any cloning reference audio and transcript the same.
Try it
The v0.3.0 release has setup instructions and two short Ukrainian voice-design and voice-clone WAV samples. The full source is on GitHub. If you try it, I'd welcome feedback on Ukrainian pronunciation, voice cloning, and the API.
Comments
No comments yet. Start the discussion.