38 lines
No EOL
1.1 KiB
Markdown
38 lines
No EOL
1.1 KiB
Markdown
# Simple TTS UI
|
|
My tts ui program for unix
|
|
|
|
Made this program as an alternative to my bash script for text chunking and sequential streaming
|
|
|
|
## Installation
|
|
|
|
Dependencies: hexgrad/Kokoro or lucasjinreal/Kokoros and a player aplay/paplay/play/ffplay/mpg123
|
|
|
|
Build dependencies: eframe, egui, atty, tempfile
|
|
|
|
Set path for TTS:
|
|
|
|
```rust
|
|
impl Default for KokoroConfig {
|
|
fn default() -> Self {
|
|
let home = std::env::var("HOME").unwrap_or_else(|_| ".".to_string());
|
|
Self {
|
|
exec_path: format!("{}/kokoros/target/release/koko", home),
|
|
model_path: format!("{}/kokoros/checkpoints/kokoro-v1.0.onnx", home),
|
|
voice_data: format!("{}/kokoros/voices-v1.0.bin", home),
|
|
speed: 1.1,
|
|
voice_style: "af_heart".to_string(),
|
|
chunking: ChunkingConfig::default(),
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
Build this app with `cargo build --release`
|
|
|
|
Then run `echo "Hello, world" | ./target/release/ttsui`
|
|
|
|
Screenshots:
|
|
|
|
<img src="./assets/screenshot1.png" alt="main view" title="main view" width="497" height="114">
|
|
|
|
<img src="./assets/screenshot2.png" alt="settings" title="settings" width="464" height="338"> |