app
Adom TTS: Text to Speech
Public Made by Adomby adom
Adom's shared voice service. Reads your AI's answers back to you while you drive, and renders perfectly-timed voiceover tracks for your demo videos, so you never record your own voice.
← Commit history
v1.9.27 — status shows PAUSED BY THE HUMAN (whole-queue hold) instead of a misleading 'now playing'
4 files changed
+10−24
Cargo.toml+1−1@@ -1,6 +1,6 @@ [package] name = "adom-tts"-version = "1.9.26"+version = "1.9.27" edition = "2021" license = "AGPL-3.0-or-later" repository = "https://github.com/adom-inc/adom-tts"
VERSION+1−1@@ -1 +1 @@-1.9.26+1.9.27
page.json−21@@ -12,7 +12,6 @@ "audio", "demo", "accessibility",- "cli", "open-source", "mit" ],@@ -65,25 +64,5 @@ ], "install": { "binary_name": "adom-tts"- },- "description": "Adom's shared text-to-speech CLI + Playground. Reads your AI answers back to you while driving, and renders perfectly-timed voiceover tracks for demo videos.",- "dependencies": {},- "scripts": {- "install": "./install.sh",- "uninstall": "./uninstall.sh"- },- "needs_sudo": false,- "files": [- "package.json",- "install.sh",- "uninstall.sh",- "bin/adom-tts",- "skills/**",- "completions/**"- ],- "org": "adom",- "author": {- "name": "John Lauer",- "email": "[email protected]" } }
src/play.rs+8−1@@ -226,7 +226,14 @@ pub fn show_status() -> Result<()> { let reached = v.get("last_ms").and_then(|x| x.as_f64()).unwrap_or(0.0) / 1000.0; let clip = v.get("clip").and_then(|x| x.as_str()).unwrap_or(""); let what = if clip.is_empty() { String::new() } else { format!(" \"{clip}\"") };- playing_line = format!(" ▶ now playing{what} on :{port} — {reached:.0}s / {dur:.0}s");+ if v.get("paused").and_then(|x| x.as_bool()).unwrap_or(false) {+ // The HUMAN paused — say so loudly; "now playing" here misled+ // a reporting thread into thinking its clip vanished.+ playing_line = format!(+ " ⏸ PAUSED BY THE HUMAN{what} at {reached:.0}s / {dur:.0}s — the WHOLE queue is holding.\n # hint: nothing plays until the human presses play (or the player reopens). Do NOT\n # re-send your clip — it is safely queued and will play, in order, on resume.");+ } else {+ playing_line = format!(" ▶ now playing{what} on :{port} — {reached:.0}s / {dur:.0}s");+ } } } }