Repository navigation
Balaka runs speech synthesis on your computer. This release updates the OmniVoice runtime, tightens local-server defaults, and makes the browser interface easier to use and explore.
Highlights
- OmniVoice 0.2.1: Voice design and voice cloning now use the current runtime, with verified 24 kHz WAV output from both modes. The same
k2-fsa/OmniVoicemodel is used, but the new inference implementation can change how a voice sounds compared with v0.2.0. - Local by default: The server binds to
127.0.0.1:8000.BALAKA_HOSTandBALAKA_PORTallow an explicit override. - Safer requests: Reference recordings are limited to 20 MiB (
413when exceeded). One synthesis runs at a time per process; another request gets a retryable503response. - More control in the UI: Advanced settings now expose silence padding and fade duration. A new Text tips dialog explains supported text controls and their limits, while Show API request displays the current form fields and a copyable cURL command.
- Reproducible setup: Web and runtime dependencies are pinned. CI uses current GitHub Actions versions and runs the API test suite on Python 3.13.
Upgrade notes
Use Python 3.13 and recreate or update your virtual environment using the setup instructions. The default model is unchanged. If a familiar voice sounds different, compare the same text, voice settings, and reference recording; voice-design output can vary between generations.
The server is accessible from this machine by default. To connect from another device, set BALAKA_HOST explicitly and account for your network's access controls.
Verification
18API and service tests passed locally.- Python compilation, JavaScript syntax, dependency consistency, and diff checks passed.
- Real Ukrainian voice-design and voice-clone generation produced playable 24 kHz mono WAV files on Apple Silicon.
Listen to v0.3.0
- Ukrainian voice design WAV
- Ukrainian voice-clone WAV — cloned from the generated design sample