No description
  • Rust 99.1%
  • Shell 0.9%
Find a file
2026-04-11 21:26:17 +02:00
assets (feat) migrate to GTK4 and custom audio player 2026-04-11 21:26:17 +02:00
src (feat) migrate to GTK4 and custom audio player 2026-04-11 21:26:17 +02:00
.gitignore (feat) migrate to GTK4 and custom audio player 2026-04-11 21:26:17 +02:00
Cargo.toml (feat) migrate to GTK4 and custom audio player 2026-04-11 21:26:17 +02:00
LICENSE add readme 2025-06-02 15:18:59 +02:00
README.md (feat) migrate to GTK4 and custom audio player 2026-04-11 21:26:17 +02:00
ttsui-speak.sh (feat) migrate to GTK4 and custom audio player 2026-04-11 21:26:17 +02:00

Simple TTS UI

A TTS UI (lol i know) ispired by osx

Made this program as an alternative to my bash script for text chunking and sequential streaming

Installation

Dependencies: hexgrad/Kokoro and lucasjinreal/Kokoros

This program uses gtk4-layer-shell which doesn't work in Mutter by design https://gitlab.gnome.org/GNOME/mutter/-/issues/973

Set path for TTS: either in ~/.config/ttsui/config.toml

exec_path = "/path/to/kokoros/executable"
model_path = "/path/to/checkpoints/kokoro-v1.0.onnx"
voice_data = "/path/to/data/voices-v1.0.bin"
speed = 1.100000023841858
voice_style = "af_heart"

[chunking]
min_chunk_size = 80
max_chunk_size = 200
min_sentences = 2

or via gui which writes the .toml

Build this app with cargo build --release

Then run echo "Hello, world" | ./target/release/ttsui

Screenshots:

main view