Vorlesen: Wortfilter trifft nicht mehr jedes w, Stimme Thorsten

"www" in der Blockliste wurde beim Zusammenziehen gezogener Buchstaben zu
"w" und traf als kurzer Eintrag jedes Wort, das mit w anfaengt. Im Stream
flog damit fast jede Nachricht raus ("wie", "weg"), die Punkte gingen
zurueck. Was nach dem Normalisieren unter 3 Buchstaben hat, trifft jetzt
nur noch als ganzes Wort.

de_DE-mls-medium, Sprecher 0, klang verwaschen. Die Phoneme stimmten, es
lag am Modell. Vorgabe ist jetzt de_DE-thorsten-medium; im Hub schon so
eingestellt.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
ZeasyAlexandClaude Opus 5.5 committed 2026-09-25 00:17:17 +02:00
1 parent 58e1d98351
commit 5622499877
6 files changed
+41 -13

No files matched your search

+9
View File
@@ -25,6 +25,15 @@ test('Wortfilter: kurze Eintraege nur am Wortanfang, sonst trifft es Harmloses',
assert.equal(wortfilterTreffer('N4Z1', LISTE), 'nazi');
});
test('Wortfilter: "www" wird zu "w" und darf nur als ganzes Wort treffen', () => {
// So im Stream passiert: jede Nachricht mit "wie" oder "weg" flog raus.
const liste = ['www', 'http'];
assert.equal(wortfilterTreffer('wie kann es sein, dass ich nicht mod bin?!', liste), undefined);
assert.equal(wortfilterTreffer('Ladiesman hat einen weg', liste), undefined);
assert.equal(wortfilterTreffer('geh auf www.example.de', liste), 'www');
assert.equal(wortfilterTreffer('https://example.de', liste), 'http');
});
test('Wortfilter: normaler Text geht durch', () => {
assert.equal(wortfilterTreffer('Grüße an Abdu, geiler Stream!', LISTE), undefined);
});
+3
View File
@@ -148,6 +148,8 @@ export function fuerFilter(text: string, mitLuecken: boolean): string {
* Lange Eintraege (ab 5 Buchstaben) werden im zusammengezogenen Text
* gesucht, damit Punkte und Leerzeichen dazwischen nicht helfen. Kurze nur
* am Wortanfang: zusammengezogen stuende "nazi" sonst auch in "kann azubi".
* Was danach kuerzer als 3 Buchstaben ist, nur als ganzes Wort: aus "www"
* wird "w", und das stuende am Anfang von "wie" und "weg".
*/
export function wortfilterTreffer(text: string, blockliste: string[]): string | undefined {
const dicht = fuerFilter(text, false);
@@ -155,6 +157,7 @@ export function wortfilterTreffer(text: string, blockliste: string[]): string |
return blockliste.find((eintrag) => {
const e = fuerFilter(eintrag, false);
if (!e) return false;
if (e.length < 3) return woerter.includes(e);
return e.length >= 5 ? dicht.includes(e) : woerter.some((w) => w.startsWith(e));
});
}