diff --git a/README.md b/README.md index c5248b4..8c095bd 100644 --- a/README.md +++ b/README.md @@ -28,9 +28,25 @@ keine Runtime-Abhängigkeiten. Say-Flags (gelten auch für `talk "Text"`): `--wait`, `--now`, `--priority`, `--voice`, `--lang`, `--provider`. -**Hinweis:** Alle Befehle sind in diesem Stand Stubs und melden -`not implemented yet` (Exit-Code ≠ 0). Die Implementierung entsteht -Aufgabenweise gemäß Plan; `--version` und `--help` funktionieren. +**Hinweis:** In diesem Stand ist `say` (und der Default-Aufruf +`talk "Text"`) implementiert — die erste Ansage über OS-TTS (blockierend; +Daemon-Anbindung folgt). Alle anderen Befehle sind Stubs und melden +`not implemented yet` (Exit-Code ≠ 0). + +### OS-TTS auf Linux (Dev-Abhängigkeit espeak) + +Der OS-Provider `osbuiltin` nutzt auf Linux zwei Wege: + +- **Audio-Bytes** (Wiedergabe über den eingebauten oto-Sink): benötigt + `espeak` (oder `espeak-ng`). Auf NixOS als Dev-Abhängigkeit: + `nix shell nixpkgs#espeak-ng`. +- **Direktansage** ohne espeak: `spd-say` (speech-dispatcher) — spielt + selbst über den Daemon ab, kann aber nach `spd-say --help` keine Bytes + in Dateien/Pipes liefern. `talk` nutzt diesen Weg automatisch, wenn + kein espeak vorhanden ist. + +`TALK_AUDIO_SINK=null` (oder `audio.sink = "null"` in der config.toml) +schaltet jede Tongabe ab — für CI und Server. ## Entwicklung