Aussprache-Wörterbuch: eigenes Modul, Wortgrenzen, gepflegte Liste, Kandidaten-Suche
Englische Fachbegriffe und fremde Eigennamen wurden auf Deutsch falsch vorgelesen
("Repository", "Donald Trump"). Chatterbox hat keinen Lautschrift-Eingang, also bleibt
nur die Umschrift in deutscher Rechtschreibung — die gab es zwar schon, aber nur als
kleines Dict im CLI-Skript, das keine andere Anwendung sinnvoll erweitern konnte.
Empirisch geprüft, warum es keinen besseren Weg gibt:
- Der multilinguale Tokenizer heißt "grapheme_mtl_merged_expanded_v1" und enthält zwar
IPA-Zeichen und ein [ipa]-Sprachtoken. generate() lehnt language_id="ipa" ab; umgeht
man nur die Whitelist, kommt Unsinn heraus: "ɹɪˈpɑzɪˌtɔɹi" klingt wie "Ripacitari",
"dɪˈplɔɪmənt" wie "Deep Romant" (per Whisper zurücktranskribiert). IPA ist tot.
- Der vorhandene Sprachwechsel im Satz ([en]...[/en]) synthetisiert die Teile korrekt,
klebt sie aber ohne Überblendung zusammen: gemessen 4 Nahtpausen von 0,5-0,8 s, der
Satz wächst von 3,9 s auf 7,1 s. Für Fließtext unbrauchbar.
Neu:
- pronunciation.py — eigenständiges Modul, reine Standardbibliothek (kein torch), damit
CLI, HTTP-Service, MCP-Adapter und fremde Projekte (Open Notebook) dasselbe Wörterbuch
nutzen können, ohne das Modell zu laden. Namen werden aus chatterbox_cli_v4
re-exportiert, bestehende Importe bleiben gültig.
- Ladereihenfolge mit Vorrang: eingebaut -> pronunciation/<lang>.json (mitgeliefert) ->
~/.config/chatterbox/pronunciation/<lang>.json -> $CHATTERBOX_PRONUNCIATION_DICT ->
explizit übergebenes Dict. Kaputte JSON-Dateien werden gemeldet, nicht fatal.
- pronunciation/de.json — kuratierte Einträge (Tech, KI, Firmen, Personen, Medien).
- pronunciation_candidates.py — findet in einem Text alles, was hunspell (de) nicht kennt
und noch nicht im Wörterbuch steht. An einem echten Podcast-Transkript getestet: 61
Kandidaten, darunter Voicebox, Scrapling, Scraping.
Fehlerbehebung: Ersetzt wird jetzt an Wortgrenzen und in einem einzigen Durchgang. Das
alte str.replace() machte aus "UNESCO" ein "Uh EnnESCO" und aus "UNIX" ein "Uh EnnIX",
weil der Eintrag "UN" auch mitten im Wort traf.
Verifiziert: 199 Einträge laden in 44 ms ohne torch; UNESCO/UNIX/Xiaomi bleiben intakt;
Open Notebooks TTS-Server spricht die Umschrift ohne eine einzige Codeänderung dort; der
MCP-Service auf :9999 läuft unverändert weiter.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-11 16:52:37 +02:00
|
|
|
{
|
|
|
|
|
"_comment": [
|
|
|
|
|
"Aussprache-Woerterbuch fuer deutsche Chatterbox-Synthese.",
|
|
|
|
|
"",
|
|
|
|
|
"Chatterbox ist GRAPHEM-basiert: es gibt keinen Phonem-/IPA-Eingang (das im",
|
|
|
|
|
"Vokabular vorhandene [ipa]-Token wurde getestet und spricht Lautschrift NICHT",
|
|
|
|
|
"korrekt aus). Der einzig tragfaehige Weg ist deshalb die Umschrift in deutscher",
|
|
|
|
|
"Rechtschreibung: 'Repository' -> 'Ripositori'.",
|
|
|
|
|
"",
|
|
|
|
|
"Regeln fuer neue Eintraege:",
|
|
|
|
|
" - Nur aufnehmen, was die deutsche Synthese WIRKLICH falsch spricht. Anglizismen",
|
|
|
|
|
" wie 'Cloud', 'Update', 'Meeting' klingen ohnehin brauchbar -> kein Eintrag.",
|
|
|
|
|
" - Umschrift so schreiben, wie ein deutscher Sprecher das Wort vorlesen wuerde.",
|
|
|
|
|
" - Ersetzt wird nur an Wortgrenzen, 'UN' trifft also nicht mehr in 'UNESCO'.",
|
|
|
|
|
" - Reihenfolge egal: laengere Eintraege gewinnen automatisch vor kuerzeren.",
|
|
|
|
|
" - Die Umschrift NICHT komplett grossschreiben: nach dem Woerterbuch laeuft die",
|
|
|
|
|
" Akronym-Expansion, die 'EIGEN' zu 'E I Ge E En' buchstabieren wuerde.",
|
|
|
|
|
"",
|
|
|
|
|
"Kandidaten aus eigenen Texten finden:",
|
|
|
|
|
" python pronunciation_candidates.py transkript.txt",
|
|
|
|
|
"",
|
|
|
|
|
"Schluessel, die mit _ beginnen, werden ignoriert (Kommentare)."
|
|
|
|
|
],
|
|
|
|
|
|
|
|
|
|
"Repository": "Ripositori",
|
|
|
|
|
"Repositories": "Ripositoris",
|
|
|
|
|
"Deployment": "Diploiment",
|
|
|
|
|
"Framework": "Fräimwörk",
|
|
|
|
|
"Feature": "Fietscher",
|
|
|
|
|
"Features": "Fietschers",
|
|
|
|
|
"Release": "Rilies",
|
|
|
|
|
"Pipeline": "Paiplain",
|
|
|
|
|
"Commit": "Kommit",
|
|
|
|
|
"Branch": "Bräntsch",
|
|
|
|
|
"Issue": "Ischju",
|
|
|
|
|
"Pull Request": "Pull Rikwest",
|
|
|
|
|
"Open Source": "Open Sors",
|
|
|
|
|
"Bug": "Bagg",
|
|
|
|
|
"Debugging": "Dibagging",
|
|
|
|
|
"Runtime": "Rantaim",
|
|
|
|
|
"Design": "Disain",
|
|
|
|
|
"Interface": "Interfäis",
|
|
|
|
|
"Layout": "Lejaut",
|
|
|
|
|
"Cache": "Käsch",
|
|
|
|
|
"Queue": "Kju",
|
|
|
|
|
"Container": "Kontäiner",
|
|
|
|
|
"Cluster": "Klaster",
|
|
|
|
|
"Node": "Noud",
|
|
|
|
|
"Client": "Klaient",
|
|
|
|
|
"Router": "Rauter",
|
|
|
|
|
"Firewall": "Fajerwoll",
|
|
|
|
|
"Proxy": "Proxi",
|
|
|
|
|
"Token": "Touken",
|
|
|
|
|
"Prompt": "Prompt",
|
|
|
|
|
"Prompting": "Prompting",
|
|
|
|
|
"Embedding": "Embedding",
|
|
|
|
|
"Inference": "Inferens",
|
|
|
|
|
"Fine-Tuning": "Fain Tjuning",
|
|
|
|
|
"Machine Learning": "Maschien Lörning",
|
|
|
|
|
"Deep Learning": "Diep Lörning",
|
|
|
|
|
"Reasoning": "Riesoning",
|
|
|
|
|
"Agent": "Ägent",
|
|
|
|
|
"Agents": "Ägents",
|
|
|
|
|
"Workflow": "Wörkflou",
|
|
|
|
|
"Workflows": "Wörkflous",
|
|
|
|
|
"Dashboard": "Däschbord",
|
|
|
|
|
"Benchmark": "Bentschmark",
|
|
|
|
|
"Benchmarks": "Bentschmarks",
|
|
|
|
|
"Voice Cloning": "Weus Klouning",
|
|
|
|
|
"Speech-to-Text": "Spietsch tu Text",
|
|
|
|
|
"Text-to-Speech": "Text tu Spietsch",
|
|
|
|
|
|
|
|
|
|
"Donald Trump": "Donald Tramp",
|
|
|
|
|
"Trump": "Tramp",
|
Wörterbuch: Abkürzungen korrigiert, Neustart-Hinweis in der Doku
Acht Umschriften nachgebessert (vom Nutzer): Abkürzungen wie CLI, IDE, SDK, MCP, TTS,
STT und VPN werden jetzt mit englischen Buchstabennamen gesprochen ("VPN" -> "Wieh Pieh
En" statt "Fau Peh En"), dazu "Elon Musk" -> "Ihlon Mask".
Anmerkung für später: damit sind die Abkürzungen uneinheitlich — CPU, GPU, URL und HTTP
stehen weiterhin auf deutscher Buchstabierung ("Geh Peh Uh"). Das kann so gewollt sein,
weil sich diese im Deutschen tatsächlich eingebürgert haben; wer es angleichen will,
findet sie am Ende von pronunciation/de.json.
Doku: der Neustart-Hinweis fehlte. Die CLI liest das Wörterbuch bei jedem Aufruf neu, die
Dienste halten es aber im Speicher (_cache in pronunciation.py) — ohne
`systemctl --user restart chatterbox-tts` bzw. `open-notebook-tts` sprechen sie
stillschweigend weiter die alte Aussprache.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-11 17:21:24 +02:00
|
|
|
"Elon Musk": "Ihlon Mask",
|
Aussprache-Wörterbuch: eigenes Modul, Wortgrenzen, gepflegte Liste, Kandidaten-Suche
Englische Fachbegriffe und fremde Eigennamen wurden auf Deutsch falsch vorgelesen
("Repository", "Donald Trump"). Chatterbox hat keinen Lautschrift-Eingang, also bleibt
nur die Umschrift in deutscher Rechtschreibung — die gab es zwar schon, aber nur als
kleines Dict im CLI-Skript, das keine andere Anwendung sinnvoll erweitern konnte.
Empirisch geprüft, warum es keinen besseren Weg gibt:
- Der multilinguale Tokenizer heißt "grapheme_mtl_merged_expanded_v1" und enthält zwar
IPA-Zeichen und ein [ipa]-Sprachtoken. generate() lehnt language_id="ipa" ab; umgeht
man nur die Whitelist, kommt Unsinn heraus: "ɹɪˈpɑzɪˌtɔɹi" klingt wie "Ripacitari",
"dɪˈplɔɪmənt" wie "Deep Romant" (per Whisper zurücktranskribiert). IPA ist tot.
- Der vorhandene Sprachwechsel im Satz ([en]...[/en]) synthetisiert die Teile korrekt,
klebt sie aber ohne Überblendung zusammen: gemessen 4 Nahtpausen von 0,5-0,8 s, der
Satz wächst von 3,9 s auf 7,1 s. Für Fließtext unbrauchbar.
Neu:
- pronunciation.py — eigenständiges Modul, reine Standardbibliothek (kein torch), damit
CLI, HTTP-Service, MCP-Adapter und fremde Projekte (Open Notebook) dasselbe Wörterbuch
nutzen können, ohne das Modell zu laden. Namen werden aus chatterbox_cli_v4
re-exportiert, bestehende Importe bleiben gültig.
- Ladereihenfolge mit Vorrang: eingebaut -> pronunciation/<lang>.json (mitgeliefert) ->
~/.config/chatterbox/pronunciation/<lang>.json -> $CHATTERBOX_PRONUNCIATION_DICT ->
explizit übergebenes Dict. Kaputte JSON-Dateien werden gemeldet, nicht fatal.
- pronunciation/de.json — kuratierte Einträge (Tech, KI, Firmen, Personen, Medien).
- pronunciation_candidates.py — findet in einem Text alles, was hunspell (de) nicht kennt
und noch nicht im Wörterbuch steht. An einem echten Podcast-Transkript getestet: 61
Kandidaten, darunter Voicebox, Scrapling, Scraping.
Fehlerbehebung: Ersetzt wird jetzt an Wortgrenzen und in einem einzigen Durchgang. Das
alte str.replace() machte aus "UNESCO" ein "Uh EnnESCO" und aus "UNIX" ein "Uh EnnIX",
weil der Eintrag "UN" auch mitten im Wort traf.
Verifiziert: 199 Einträge laden in 44 ms ohne torch; UNESCO/UNIX/Xiaomi bleiben intakt;
Open Notebooks TTS-Server spricht die Umschrift ohne eine einzige Codeänderung dort; der
MCP-Service auf :9999 läuft unverändert weiter.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-11 16:52:37 +02:00
|
|
|
"Musk": "Mask",
|
|
|
|
|
"Joe Biden": "Dschou Baiden",
|
|
|
|
|
"Biden": "Baiden",
|
|
|
|
|
"Barack Obama": "Barack Obama",
|
|
|
|
|
"Sam Altman": "Säm Altmen",
|
|
|
|
|
"Jensen Huang": "Dschensen Huang",
|
|
|
|
|
"Sundar Pichai": "Sundar Pitschai",
|
|
|
|
|
"Satya Nadella": "Satja Nadella",
|
|
|
|
|
"Mark Zuckerberg": "Mark Zuckerberg",
|
|
|
|
|
"Geoffrey Hinton": "Dschefri Hinton",
|
|
|
|
|
"Yann LeCun": "Jann Lököng",
|
|
|
|
|
"Andrej Karpathy": "Andrej Karpathi",
|
|
|
|
|
|
|
|
|
|
"Hugging Face": "Hagging Fäis",
|
|
|
|
|
"Nvidia": "Enwidia",
|
|
|
|
|
"NVIDIA": "Enwidia",
|
|
|
|
|
"Microsoft": "Maikrosoft",
|
|
|
|
|
"Google": "Gugel",
|
|
|
|
|
"Amazon": "Ämazon",
|
|
|
|
|
"Apple": "Äppel",
|
|
|
|
|
"Meta": "Meta",
|
|
|
|
|
"Tesla": "Tesla",
|
|
|
|
|
"Netflix": "Netflix",
|
|
|
|
|
"Adobe": "Adoubi",
|
|
|
|
|
"Oracle": "Orakel",
|
|
|
|
|
"Salesforce": "Säilsfors",
|
|
|
|
|
"Spotify": "Spotifai",
|
|
|
|
|
"Reddit": "Reddit",
|
|
|
|
|
"Discord": "Diskord",
|
|
|
|
|
"Slack": "Släck",
|
|
|
|
|
"Twitch": "Twitsch",
|
|
|
|
|
"Airbnb": "Ärbienbie",
|
|
|
|
|
"Uber": "Uber",
|
|
|
|
|
"PayPal": "Päipäl",
|
|
|
|
|
"Docker": "Docker",
|
|
|
|
|
"Kubernetes": "Kubernetis",
|
|
|
|
|
"Linux": "Linux",
|
|
|
|
|
"Ubuntu": "Ubuntu",
|
|
|
|
|
"Debian": "Debian",
|
|
|
|
|
"Windows": "Windous",
|
|
|
|
|
"macOS": "Mäck Ou Es",
|
|
|
|
|
"Android": "Android",
|
|
|
|
|
"Firefox": "Fajerfox",
|
|
|
|
|
"Chrome": "Kroum",
|
|
|
|
|
"Safari": "Safari",
|
|
|
|
|
"Edge": "Edsch",
|
|
|
|
|
"Visual Studio Code": "Wischuel Studio Koud",
|
|
|
|
|
"Python": "Paiton",
|
|
|
|
|
"JavaScript": "Dschawaskript",
|
|
|
|
|
"TypeScript": "Taipskript",
|
|
|
|
|
"Rust": "Rast",
|
|
|
|
|
"Go": "Go",
|
|
|
|
|
"Java": "Dschawa",
|
|
|
|
|
"Ruby": "Rubi",
|
|
|
|
|
"Swift": "Swift",
|
|
|
|
|
"Kotlin": "Kotlin",
|
|
|
|
|
|
|
|
|
|
"Gemini": "Dschemini",
|
|
|
|
|
"Copilot": "Kopailot",
|
|
|
|
|
"Midjourney": "Middschörni",
|
|
|
|
|
"Stable Diffusion": "Stäibel Diffjuschen",
|
|
|
|
|
"Whisper": "Wisper",
|
|
|
|
|
"Ollama": "Ollama",
|
|
|
|
|
"OpenRouter": "Open Rauter",
|
|
|
|
|
"Perplexity": "Pörpleksiti",
|
|
|
|
|
"Mistral": "Mistral",
|
|
|
|
|
"Cohere": "Kohier",
|
|
|
|
|
"DeepSeek": "Dieb Siek",
|
|
|
|
|
"Qwen": "Kwen",
|
|
|
|
|
"Llama": "Lama",
|
|
|
|
|
"Grok": "Grok",
|
|
|
|
|
|
|
|
|
|
"Podcast": "Podkäst",
|
|
|
|
|
"Podcasts": "Podkästs",
|
|
|
|
|
"Streaming": "Strieming",
|
|
|
|
|
"Newsletter": "Njuusletter",
|
|
|
|
|
"Interview": "Interwjuu",
|
|
|
|
|
"Highlight": "Hailait",
|
|
|
|
|
"Highlights": "Hailaits",
|
|
|
|
|
"Roadmap": "Roudmäp",
|
|
|
|
|
"Deadline": "Dedlain",
|
|
|
|
|
"Blueprint": "Bluprint",
|
|
|
|
|
"Insight": "Insait",
|
|
|
|
|
"Insights": "Insaits",
|
|
|
|
|
"Mindset": "Maindset",
|
|
|
|
|
"Startup": "Startapp",
|
|
|
|
|
"Startups": "Startapps",
|
|
|
|
|
"Venture Capital": "Wentscher Käpitel",
|
|
|
|
|
"Founder": "Faunder",
|
|
|
|
|
|
|
|
|
|
"Guardian": "Gardien",
|
|
|
|
|
"New York Times": "Njuu Jork Taims",
|
|
|
|
|
"Washington Post": "Woschington Poust",
|
|
|
|
|
"Financial Times": "Fainänschel Taims",
|
|
|
|
|
"Wall Street Journal": "Woll Striet Dschörnel",
|
|
|
|
|
"BBC": "Bie Bie Sie",
|
|
|
|
|
"CNN": "Sie En En",
|
|
|
|
|
"NASA": "Nasa",
|
|
|
|
|
"FBI": "Eff Bie Ai",
|
|
|
|
|
"CIA": "Sie Ai Äi",
|
|
|
|
|
"NATO": "Nato",
|
|
|
|
|
"EU": "Eh Uh",
|
|
|
|
|
"USA": "Uh Es Ah",
|
|
|
|
|
"UK": "Juu Käi",
|
|
|
|
|
"AI": "Äi Ai",
|
|
|
|
|
"API": "Äi Pie Ai",
|
|
|
|
|
"APIs": "Äi Pie Ais",
|
|
|
|
|
"CPU": "Zeh Peh Uh",
|
|
|
|
|
"GPU": "Geh Peh Uh",
|
|
|
|
|
"GPUs": "Geh Peh Uhs",
|
|
|
|
|
"RAM": "Ramm",
|
|
|
|
|
"SSD": "Es Es Deh",
|
|
|
|
|
"URL": "Uh Er El",
|
|
|
|
|
"HTTP": "Hah Teh Teh Peh",
|
|
|
|
|
"JSON": "Dschäison",
|
|
|
|
|
"YAML": "Jämmel",
|
|
|
|
|
"SQL": "Es Ku El",
|
Wörterbuch: Abkürzungen korrigiert, Neustart-Hinweis in der Doku
Acht Umschriften nachgebessert (vom Nutzer): Abkürzungen wie CLI, IDE, SDK, MCP, TTS,
STT und VPN werden jetzt mit englischen Buchstabennamen gesprochen ("VPN" -> "Wieh Pieh
En" statt "Fau Peh En"), dazu "Elon Musk" -> "Ihlon Mask".
Anmerkung für später: damit sind die Abkürzungen uneinheitlich — CPU, GPU, URL und HTTP
stehen weiterhin auf deutscher Buchstabierung ("Geh Peh Uh"). Das kann so gewollt sein,
weil sich diese im Deutschen tatsächlich eingebürgert haben; wer es angleichen will,
findet sie am Ende von pronunciation/de.json.
Doku: der Neustart-Hinweis fehlte. Die CLI liest das Wörterbuch bei jedem Aufruf neu, die
Dienste halten es aber im Speicher (_cache in pronunciation.py) — ohne
`systemctl --user restart chatterbox-tts` bzw. `open-notebook-tts` sprechen sie
stillschweigend weiter die alte Aussprache.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-11 17:21:24 +02:00
|
|
|
"CLI": "Zieh El Aih",
|
|
|
|
|
"IDE": "Aih Dieh Ieh",
|
|
|
|
|
"SDK": "Es Dieh Käih",
|
Aussprache-Wörterbuch: eigenes Modul, Wortgrenzen, gepflegte Liste, Kandidaten-Suche
Englische Fachbegriffe und fremde Eigennamen wurden auf Deutsch falsch vorgelesen
("Repository", "Donald Trump"). Chatterbox hat keinen Lautschrift-Eingang, also bleibt
nur die Umschrift in deutscher Rechtschreibung — die gab es zwar schon, aber nur als
kleines Dict im CLI-Skript, das keine andere Anwendung sinnvoll erweitern konnte.
Empirisch geprüft, warum es keinen besseren Weg gibt:
- Der multilinguale Tokenizer heißt "grapheme_mtl_merged_expanded_v1" und enthält zwar
IPA-Zeichen und ein [ipa]-Sprachtoken. generate() lehnt language_id="ipa" ab; umgeht
man nur die Whitelist, kommt Unsinn heraus: "ɹɪˈpɑzɪˌtɔɹi" klingt wie "Ripacitari",
"dɪˈplɔɪmənt" wie "Deep Romant" (per Whisper zurücktranskribiert). IPA ist tot.
- Der vorhandene Sprachwechsel im Satz ([en]...[/en]) synthetisiert die Teile korrekt,
klebt sie aber ohne Überblendung zusammen: gemessen 4 Nahtpausen von 0,5-0,8 s, der
Satz wächst von 3,9 s auf 7,1 s. Für Fließtext unbrauchbar.
Neu:
- pronunciation.py — eigenständiges Modul, reine Standardbibliothek (kein torch), damit
CLI, HTTP-Service, MCP-Adapter und fremde Projekte (Open Notebook) dasselbe Wörterbuch
nutzen können, ohne das Modell zu laden. Namen werden aus chatterbox_cli_v4
re-exportiert, bestehende Importe bleiben gültig.
- Ladereihenfolge mit Vorrang: eingebaut -> pronunciation/<lang>.json (mitgeliefert) ->
~/.config/chatterbox/pronunciation/<lang>.json -> $CHATTERBOX_PRONUNCIATION_DICT ->
explizit übergebenes Dict. Kaputte JSON-Dateien werden gemeldet, nicht fatal.
- pronunciation/de.json — kuratierte Einträge (Tech, KI, Firmen, Personen, Medien).
- pronunciation_candidates.py — findet in einem Text alles, was hunspell (de) nicht kennt
und noch nicht im Wörterbuch steht. An einem echten Podcast-Transkript getestet: 61
Kandidaten, darunter Voicebox, Scrapling, Scraping.
Fehlerbehebung: Ersetzt wird jetzt an Wortgrenzen und in einem einzigen Durchgang. Das
alte str.replace() machte aus "UNESCO" ein "Uh EnnESCO" und aus "UNIX" ein "Uh EnnIX",
weil der Eintrag "UN" auch mitten im Wort traf.
Verifiziert: 199 Einträge laden in 44 ms ohne torch; UNESCO/UNIX/Xiaomi bleiben intakt;
Open Notebooks TTS-Server spricht die Umschrift ohne eine einzige Codeänderung dort; der
MCP-Service auf :9999 läuft unverändert weiter.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-11 16:52:37 +02:00
|
|
|
"RAG": "Rägg",
|
Wörterbuch: Abkürzungen korrigiert, Neustart-Hinweis in der Doku
Acht Umschriften nachgebessert (vom Nutzer): Abkürzungen wie CLI, IDE, SDK, MCP, TTS,
STT und VPN werden jetzt mit englischen Buchstabennamen gesprochen ("VPN" -> "Wieh Pieh
En" statt "Fau Peh En"), dazu "Elon Musk" -> "Ihlon Mask".
Anmerkung für später: damit sind die Abkürzungen uneinheitlich — CPU, GPU, URL und HTTP
stehen weiterhin auf deutscher Buchstabierung ("Geh Peh Uh"). Das kann so gewollt sein,
weil sich diese im Deutschen tatsächlich eingebürgert haben; wer es angleichen will,
findet sie am Ende von pronunciation/de.json.
Doku: der Neustart-Hinweis fehlte. Die CLI liest das Wörterbuch bei jedem Aufruf neu, die
Dienste halten es aber im Speicher (_cache in pronunciation.py) — ohne
`systemctl --user restart chatterbox-tts` bzw. `open-notebook-tts` sprechen sie
stillschweigend weiter die alte Aussprache.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-11 17:21:24 +02:00
|
|
|
"MCP": "Em Zieh Pieh",
|
|
|
|
|
"TTS": "Tieh Tieh Es",
|
|
|
|
|
"STT": "Es Tieh Tieh",
|
Aussprache-Wörterbuch: eigenes Modul, Wortgrenzen, gepflegte Liste, Kandidaten-Suche
Englische Fachbegriffe und fremde Eigennamen wurden auf Deutsch falsch vorgelesen
("Repository", "Donald Trump"). Chatterbox hat keinen Lautschrift-Eingang, also bleibt
nur die Umschrift in deutscher Rechtschreibung — die gab es zwar schon, aber nur als
kleines Dict im CLI-Skript, das keine andere Anwendung sinnvoll erweitern konnte.
Empirisch geprüft, warum es keinen besseren Weg gibt:
- Der multilinguale Tokenizer heißt "grapheme_mtl_merged_expanded_v1" und enthält zwar
IPA-Zeichen und ein [ipa]-Sprachtoken. generate() lehnt language_id="ipa" ab; umgeht
man nur die Whitelist, kommt Unsinn heraus: "ɹɪˈpɑzɪˌtɔɹi" klingt wie "Ripacitari",
"dɪˈplɔɪmənt" wie "Deep Romant" (per Whisper zurücktranskribiert). IPA ist tot.
- Der vorhandene Sprachwechsel im Satz ([en]...[/en]) synthetisiert die Teile korrekt,
klebt sie aber ohne Überblendung zusammen: gemessen 4 Nahtpausen von 0,5-0,8 s, der
Satz wächst von 3,9 s auf 7,1 s. Für Fließtext unbrauchbar.
Neu:
- pronunciation.py — eigenständiges Modul, reine Standardbibliothek (kein torch), damit
CLI, HTTP-Service, MCP-Adapter und fremde Projekte (Open Notebook) dasselbe Wörterbuch
nutzen können, ohne das Modell zu laden. Namen werden aus chatterbox_cli_v4
re-exportiert, bestehende Importe bleiben gültig.
- Ladereihenfolge mit Vorrang: eingebaut -> pronunciation/<lang>.json (mitgeliefert) ->
~/.config/chatterbox/pronunciation/<lang>.json -> $CHATTERBOX_PRONUNCIATION_DICT ->
explizit übergebenes Dict. Kaputte JSON-Dateien werden gemeldet, nicht fatal.
- pronunciation/de.json — kuratierte Einträge (Tech, KI, Firmen, Personen, Medien).
- pronunciation_candidates.py — findet in einem Text alles, was hunspell (de) nicht kennt
und noch nicht im Wörterbuch steht. An einem echten Podcast-Transkript getestet: 61
Kandidaten, darunter Voicebox, Scrapling, Scraping.
Fehlerbehebung: Ersetzt wird jetzt an Wortgrenzen und in einem einzigen Durchgang. Das
alte str.replace() machte aus "UNESCO" ein "Uh EnnESCO" und aus "UNIX" ein "Uh EnnIX",
weil der Eintrag "UN" auch mitten im Wort traf.
Verifiziert: 199 Einträge laden in 44 ms ohne torch; UNESCO/UNIX/Xiaomi bleiben intakt;
Open Notebooks TTS-Server spricht die Umschrift ohne eine einzige Codeänderung dort; der
MCP-Service auf :9999 läuft unverändert weiter.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-11 16:52:37 +02:00
|
|
|
"OCR": "Oh Zeh Er",
|
Wörterbuch: Abkürzungen korrigiert, Neustart-Hinweis in der Doku
Acht Umschriften nachgebessert (vom Nutzer): Abkürzungen wie CLI, IDE, SDK, MCP, TTS,
STT und VPN werden jetzt mit englischen Buchstabennamen gesprochen ("VPN" -> "Wieh Pieh
En" statt "Fau Peh En"), dazu "Elon Musk" -> "Ihlon Mask".
Anmerkung für später: damit sind die Abkürzungen uneinheitlich — CPU, GPU, URL und HTTP
stehen weiterhin auf deutscher Buchstabierung ("Geh Peh Uh"). Das kann so gewollt sein,
weil sich diese im Deutschen tatsächlich eingebürgert haben; wer es angleichen will,
findet sie am Ende von pronunciation/de.json.
Doku: der Neustart-Hinweis fehlte. Die CLI liest das Wörterbuch bei jedem Aufruf neu, die
Dienste halten es aber im Speicher (_cache in pronunciation.py) — ohne
`systemctl --user restart chatterbox-tts` bzw. `open-notebook-tts` sprechen sie
stillschweigend weiter die alte Aussprache.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-11 17:21:24 +02:00
|
|
|
"VPN": "Wieh Pieh En",
|
Aussprache-Wörterbuch: eigenes Modul, Wortgrenzen, gepflegte Liste, Kandidaten-Suche
Englische Fachbegriffe und fremde Eigennamen wurden auf Deutsch falsch vorgelesen
("Repository", "Donald Trump"). Chatterbox hat keinen Lautschrift-Eingang, also bleibt
nur die Umschrift in deutscher Rechtschreibung — die gab es zwar schon, aber nur als
kleines Dict im CLI-Skript, das keine andere Anwendung sinnvoll erweitern konnte.
Empirisch geprüft, warum es keinen besseren Weg gibt:
- Der multilinguale Tokenizer heißt "grapheme_mtl_merged_expanded_v1" und enthält zwar
IPA-Zeichen und ein [ipa]-Sprachtoken. generate() lehnt language_id="ipa" ab; umgeht
man nur die Whitelist, kommt Unsinn heraus: "ɹɪˈpɑzɪˌtɔɹi" klingt wie "Ripacitari",
"dɪˈplɔɪmənt" wie "Deep Romant" (per Whisper zurücktranskribiert). IPA ist tot.
- Der vorhandene Sprachwechsel im Satz ([en]...[/en]) synthetisiert die Teile korrekt,
klebt sie aber ohne Überblendung zusammen: gemessen 4 Nahtpausen von 0,5-0,8 s, der
Satz wächst von 3,9 s auf 7,1 s. Für Fließtext unbrauchbar.
Neu:
- pronunciation.py — eigenständiges Modul, reine Standardbibliothek (kein torch), damit
CLI, HTTP-Service, MCP-Adapter und fremde Projekte (Open Notebook) dasselbe Wörterbuch
nutzen können, ohne das Modell zu laden. Namen werden aus chatterbox_cli_v4
re-exportiert, bestehende Importe bleiben gültig.
- Ladereihenfolge mit Vorrang: eingebaut -> pronunciation/<lang>.json (mitgeliefert) ->
~/.config/chatterbox/pronunciation/<lang>.json -> $CHATTERBOX_PRONUNCIATION_DICT ->
explizit übergebenes Dict. Kaputte JSON-Dateien werden gemeldet, nicht fatal.
- pronunciation/de.json — kuratierte Einträge (Tech, KI, Firmen, Personen, Medien).
- pronunciation_candidates.py — findet in einem Text alles, was hunspell (de) nicht kennt
und noch nicht im Wörterbuch steht. An einem echten Podcast-Transkript getestet: 61
Kandidaten, darunter Voicebox, Scrapling, Scraping.
Fehlerbehebung: Ersetzt wird jetzt an Wortgrenzen und in einem einzigen Durchgang. Das
alte str.replace() machte aus "UNESCO" ein "Uh EnnESCO" und aus "UNIX" ein "Uh EnnIX",
weil der Eintrag "UN" auch mitten im Wort traf.
Verifiziert: 199 Einträge laden in 44 ms ohne torch; UNESCO/UNIX/Xiaomi bleiben intakt;
Open Notebooks TTS-Server spricht die Umschrift ohne eine einzige Codeänderung dort; der
MCP-Service auf :9999 läuft unverändert weiter.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-11 16:52:37 +02:00
|
|
|
"DSGVO": "Deh Es Geh Fau Oh"
|
|
|
|
|
}
|