From 7893c60e53bddfa438dbba7fc847e83e8e182da0 Mon Sep 17 00:00:00 2001 From: dschlueter Date: Thu, 4 Jun 2026 01:33:49 +0200 Subject: [PATCH] =?UTF-8?q?Dokumentation:=20Datum-Normalisierung=20und=20N?= =?UTF-8?q?ormalisierungs-=C3=9Cbersicht=20erg=C3=A4nzt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - README: Feature-Liste, CLI-Optionen (--no-normalize-*), Tabelle aller Normalisierungsschritte mit Beispielen - BEDIENUNGSANLEITUNG: Datumsformat in "Was das Programm automatisch macht" Co-Authored-By: Claude Sonnet 4.6 --- BEDIENUNGSANLEITUNG.md | 7 ++++--- README.md | 24 +++++++++++++++++++++++- 2 files changed, 27 insertions(+), 4 deletions(-) diff --git a/BEDIENUNGSANLEITUNG.md b/BEDIENUNGSANLEITUNG.md index 432fb08..80f062a 100644 --- a/BEDIENUNGSANLEITUNG.md +++ b/BEDIENUNGSANLEITUNG.md @@ -319,12 +319,13 @@ Service verbunden werden — Details in der `README.md`. - **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" +- **Datumsangaben vorlesen**: „03.06.2026" wird zu „Dritter Sechster Zwanzigsechsundzwanzig" - **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 +- **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" - **Trennzeilen überspringen**: Linien wie „--- Ende ---" werden stillschweigend übersprungen --- diff --git a/README.md b/README.md index 0ee0dda..a9e8868 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ HTTP-Service und als MCP-Server für KI-Assistenten. - **Voice Cloning** — optionale WAV-Referenz für Akzent und Klang - **Mehrsprachig** — Deutsch, Englisch und 20+ weitere Sprachen via `ChatterboxMultilingualTTS` - **Gemischtsprachige Texte** — `[en]...[/en]`-Markierungen für englische Passagen in deutschen Texten -- **Deutsche Textnormalisierung** — Abkürzungen (ARD → „Ah Er De"), Uhrzeiten (14:58 → „vierzehn Uhr achtundfünfzig"), Jahreszahlen bis Milliarden, Einheiten (°C, °F, kWh, m², …), Aussprache-Wörterbuch +- **Deutsche Textnormalisierung** — Datumsangaben (03.06.2026 → „Dritter Sechster Zwanzigsechsundzwanzig"), Uhrzeiten (14:58 → „vierzehn Uhr achtundfünfzig"), Jahreszahlen bis Milliarden, Einheiten (°C, °F, kWh, m², …), Abkürzungen, Aussprache-Wörterbuch - **Markdown-Bereinigung** — entfernt `**fett**`, `# Überschrift`, Links, Code-Blöcke automatisch vor der Synthese - **HTTP-Service** — FastAPI-Service mit Job-Queue, Stop/Pause/Interrupt, Status-Endpunkt - **MCP-Adapter** — direkte Integration in Claude Code, Claude Desktop und andere MCP-Hosts @@ -97,6 +97,10 @@ python chatterbox_cli_v4.py --lang de --no-strip-markdown --input text.txt | `--acronym-mode` | `german` | Akronym-Modus: `german`, `space`, `period_space` | | `--pronunciation-dict` | — | JSON-Datei mit Aussprache-Substitutionen | | `--no-strip-markdown` | — | Markdown-Formatierung nicht entfernen | +| `--no-normalize-dates` | — | Datumsangaben nicht in Ordinalform umwandeln | +| `--no-normalize-times` | — | Uhrzeiten nicht umwandeln | +| `--no-normalize-years` | — | Jahreszahlen nicht umwandeln | +| `--no-normalize-units` | — | Einheiten nicht umwandeln | | `--save` | nein | WAV-Datei speichern | | `--output DATEI.wav` | — | Ausgabepfad (impliziert `--save`) | | `--no-play` | — | Nicht live abspielen | @@ -459,6 +463,24 @@ Das eigene Dict wird immer **nach** dem eingebauten angewendet — Überschreibu --- +## Textnormalisierung im Überblick + +Die Normalisierungspipeline läuft automatisch vor der TTS-Synthese (nur `--lang de`): + +| Schritt | Beispiel Eingabe | Beispiel Ausgabe | +|---------|-----------------|-----------------| +| Aussprache-Dict | „Xi Jinping" | „Schi Jinping" | +| Einheiten | „25 °C", „100 kWh", „10 m²" | „25 Grad Celsius", „100 Kilowattstunde", „10 Quadratmeter" | +| **Datum** | „03.06.2026" | „Dritter Sechster Zwanzigsechsundzwanzig" | +| Uhrzeit | „14:58 Uhr" | „vierzehn Uhr achtundfünfzig" | +| Jahreszahl | „2026" | „zweitausendsechsundzwanzig" | +| Akronyme | „ARD", „CPU" | „Ah Er De", „C P U" | + +Jeder Schritt kann einzeln deaktiviert werden: +`--no-normalize-dates`, `--no-normalize-times`, `--no-normalize-years`, `--no-normalize-units`, `--no-spell-acronyms` + +--- + ## Bekannte Einschränkungen - **Wortbetonung** lässt sich nicht steuern — kein SSML. Abhilfe: Voice-Referenz mit gewünschter Betonung.