Keep German domain endings natural in TTS
This commit is contained in:
@@ -98,7 +98,8 @@ ohne Ausgabe des API-Schlüssels:
|
||||
Für die Sprachausgabe normalisiert das Gateway außerdem Datumsangaben,
|
||||
Temperaturen, Prozentwerte, Postleitzahlen und Domains. Beispielsweise wird
|
||||
`22° / 10°` als „Höchstwert 22 Grad, Tiefstwert 10 Grad“ und `wetter.com` als
|
||||
„Wetter Punkt C O M“ gesprochen. Die sichtbare Chatantwort wird nicht verändert.
|
||||
„Wetter Punkt C O M“ gesprochen. Die deutsche Endung `.de` bleibt natürlich
|
||||
gesprochen. Die sichtbare Chatantwort wird nicht verändert.
|
||||
|
||||
```bash
|
||||
set -a; source /etc/mike-ai/stack.env; set +a
|
||||
|
||||
@@ -89,7 +89,7 @@ class LanguageSegmentationTests(unittest.TestCase):
|
||||
self.assertIn("Höchstwert 22 Grad, Tiefstwert 10 Grad", spoken)
|
||||
self.assertIn("0 Prozent Regen", spoken)
|
||||
self.assertIn("wetter Punkt C O M", spoken)
|
||||
self.assertIn("wetteronline Punkt D E", spoken)
|
||||
self.assertIn("wetteronline Punkt de", spoken)
|
||||
|
||||
def test_full_date_and_raw_url_are_normalized(self):
|
||||
spoken = gateway.clean_for_speech(
|
||||
|
||||
@@ -259,7 +259,11 @@ def normalize_for_german_speech(text: str) -> str:
|
||||
r"\.(de|com|org|net|io|ai)\b",
|
||||
lambda match: (
|
||||
match.group(1).replace(".", " Punkt ")
|
||||
+ " Punkt " + " ".join(match.group(2).upper())
|
||||
+ " Punkt "
|
||||
+ (
|
||||
"de" if match.group(2).lower() == "de"
|
||||
else " ".join(match.group(2).upper())
|
||||
)
|
||||
),
|
||||
text,
|
||||
flags=re.IGNORECASE,
|
||||
|
||||
Reference in New Issue
Block a user