Bugfixes, Verbesserungen und Mixed-Language-Support
Bugfixes: - Abkürzungen (z.B., d.h., Dr., Prof.) werden nicht mehr als Satzenden erkannt (_ABBREV_MASK_RE) - Multilingual-Import: except Exception → except (ImportError, ModuleNotFoundError) - tts_agent: ReAct-Schleife auf max. 10 Iterationen begrenzt, model_dump → explizites Dict - tts_service: audio_device=None fällt auf 'pulse' zurück - JSON-Fehlerbehandlung für --pronunciation-dict mit aussagekräftiger Meldung - PlaybackWorker: Audio-Device wird vor Stream-Start via sd.query_devices() geprüft - mcp_adapter: Fehlerbehandlung für HTTP-Fehler, Timeout erhöht, session_id ergänzt - tts_agent: Health-Check beim Start, --speed/--first-chunk-len Validierung Neue Features: - Gemischtsprachige Texte: [en]...[/en]-Markierungen für per-Segment language_id - strip_markdown(): entfernt Markdown-Formatierung vor der Synthese (--no-strip-markdown) - Emoji-Entfernung in clean_raw_text() via unicodedata - Pause/Resume: request_pause()/request_resume(), POST /pause, POST /resume, MCP-Tools - Neue Einheiten: °C, °F, kWh, kW, W, V, A, J, kPa, bar, m², m³, m/s, rpm - number_to_words_de/en bis Milliarden - DEFAULT_PRONUNCIATION_DE erweitert (GitHub, YouTube, LinkedIn, Wi-Fi, iPhone, ChatGPT, …) - NON_SPELLED_ACRONYMS erweitert (USB, CPU, GPU, API, CEO, HTML, …) - Nummerierte Listen als separate Chunks behandelt - Modell-Warmup via TTS_PRELOAD_LANG Env-Variable - requirements.txt: Upper-Bounds für fastapi und uvicorn Dokumentation: CLAUDE.md, README.md, BEDIENUNGSANLEITUNG.md vollständig aktualisiert Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
d1971049ce
commit
34a34907a8
8 changed files with 778 additions and 114 deletions
|
|
@ -152,9 +152,9 @@ Du kannst das mit einer einfachen Textdatei im JSON-Format korrigieren.
|
|||
|
||||
```json
|
||||
{
|
||||
"Xi Jinping": "Schi Dschinping",
|
||||
"Seoul": "Söul",
|
||||
"Macron": "Makron"
|
||||
"Macron": "Makron",
|
||||
"Kubernetes": "Kubernetis"
|
||||
}
|
||||
```
|
||||
|
||||
|
|
@ -166,6 +166,9 @@ python chatterbox_cli_v4.py --lang de \
|
|||
--input nachricht.txt
|
||||
```
|
||||
|
||||
Häufige englische Begriffe wie „GitHub" (→ „Git Hab"), „YouTube" (→ „Jutjub") oder
|
||||
„Wi-Fi" (→ „Wai Fai") werden bereits automatisch korrekt ausgesprochen.
|
||||
|
||||
---
|
||||
|
||||
## Den Service aus dem Netzwerk nutzen
|
||||
|
|
@ -188,6 +191,12 @@ curl -X POST http://COMPUTER-IP:9999/speak \
|
|||
hostname -I
|
||||
```
|
||||
|
||||
**Ausgabe pausieren und fortsetzen:**
|
||||
```bash
|
||||
curl -X POST http://COMPUTER-IP:9999/pause
|
||||
curl -X POST http://COMPUTER-IP:9999/resume
|
||||
```
|
||||
|
||||
**Ausgabe stoppen:**
|
||||
```bash
|
||||
curl -X POST http://COMPUTER-IP:9999/stop
|
||||
|
|
@ -203,10 +212,12 @@ kann er den TTS-Service direkt ansprechen:
|
|||
### Claude (Claude Code / Claude Desktop)
|
||||
|
||||
Claude ist bereits mit dem TTS-Service verbunden. Du kannst Claude einfach bitten,
|
||||
etwas vorzulesen — er ruft den Service automatisch auf.
|
||||
etwas vorzulesen, zu pausieren oder zu stoppen — er ruft den Service automatisch auf.
|
||||
|
||||
Beispiel-Anfrage an Claude:
|
||||
Beispiel-Anfragen an Claude:
|
||||
> „Lies mir bitte diesen Text vor: ..."
|
||||
> „Pause bitte."
|
||||
> „Weiter."
|
||||
|
||||
### Home Assistant
|
||||
|
||||
|
|
@ -219,6 +230,14 @@ rest_command:
|
|||
method: POST
|
||||
content_type: "application/json"
|
||||
payload: '{"text": "{{ text }}", "lang": "de"}'
|
||||
|
||||
tts_pause:
|
||||
url: "http://COMPUTER-IP:9999/pause"
|
||||
method: POST
|
||||
|
||||
tts_weiter:
|
||||
url: "http://COMPUTER-IP:9999/resume"
|
||||
method: POST
|
||||
```
|
||||
|
||||
Danach in einer Automation verwendbar:
|
||||
|
|
@ -249,11 +268,15 @@ Service verbunden werden — Details in der `README.md`.
|
|||
|
||||
## Was das Programm automatisch macht
|
||||
|
||||
- Abkürzungen buchstabieren: ARD wird zu „Ah Er De", YMCA zu „Ypsilon Em Tse Ah"
|
||||
- Zusammengesetzte Wörter mit Abkürzung: „US-Präsident" wird zu „U Es Präsident"
|
||||
- Uhrzeiten vorlesen: „14:58" wird zu „vierzehn Uhr achtundfünfzig"
|
||||
- Jahreszahlen aussprechen: „2026" wird zu „zweitausendsechsundzwanzig"
|
||||
- Trennzeilen wie „--- Ende ---" werden stillschweigend übersprungen
|
||||
- **Markdown-Formatierung bereinigen**: `**fett**`, `# Überschrift`, `- Listen` und Links werden vor der Sprachausgabe entfernt
|
||||
- **Emojis entfernen**: Smileys und Symbole (😊, 🎉) werden still übergangen
|
||||
- **Abkürzungen buchstabieren**: ARD wird zu „Ah Er De", YMCA zu „Ypsilon Em Tse Ah"
|
||||
- **Tech-Abkürzungen richtig sprechen**: CPU, GPU, USB, API, JSON u. a. werden lateinisch buchstabiert (nicht auf Deutsch)
|
||||
- **Zusammengesetzte Wörter mit Abkürzung**: „US-Präsident" wird zu „U Es Präsident"
|
||||
- **Uhrzeiten vorlesen**: „14:58" wird zu „vierzehn Uhr achtundfünfzig"
|
||||
- **Jahreszahlen aussprechen**: „2026" wird zu „zweitausendsechsundzwanzig"
|
||||
- **Einheiten übersetzen**: „25 °C", „100 kWh", „10 m²", „100 W" werden ausgeschrieben
|
||||
- **Trennzeilen überspringen**: Linien wie „--- Ende ---" werden stillschweigend übersprungen
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -286,8 +309,7 @@ kann 30–60 Sekunden brauchen. Mit GPU (CUDA) dauert es ca. 5–10 Sekunden.
|
|||
|
||||
- **Betonung einzelner Wörter** lässt sich nicht direkt steuern.
|
||||
Eine Aufnahme der eigenen Stimme mit natürlicher Betonung kann helfen.
|
||||
- **Manche Fremdwörter** (z. B. chinesische oder arabische Namen) klingen
|
||||
nicht immer perfekt — mit der Aussprache-Datei lässt sich das korrigieren.
|
||||
- **Manche Fremdwörter** klingen nicht immer perfekt — mit der Aussprache-Datei lässt sich das korrigieren.
|
||||
- Das Programm liest alles vor, was in der Datei steht — also auch
|
||||
Überschriften und Metadaten wie „Schlagzeile:" oder „Stand:".
|
||||
- Eine laufende Ausgabe kann erst am Ende des aktuellen Satzes unterbrochen
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue