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,
|
Für die Sprachausgabe normalisiert das Gateway außerdem Datumsangaben,
|
||||||
Temperaturen, Prozentwerte, Postleitzahlen und Domains. Beispielsweise wird
|
Temperaturen, Prozentwerte, Postleitzahlen und Domains. Beispielsweise wird
|
||||||
`22° / 10°` als „Höchstwert 22 Grad, Tiefstwert 10 Grad“ und `wetter.com` als
|
`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
|
```bash
|
||||||
set -a; source /etc/mike-ai/stack.env; set +a
|
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("Höchstwert 22 Grad, Tiefstwert 10 Grad", spoken)
|
||||||
self.assertIn("0 Prozent Regen", spoken)
|
self.assertIn("0 Prozent Regen", spoken)
|
||||||
self.assertIn("wetter Punkt C O M", 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):
|
def test_full_date_and_raw_url_are_normalized(self):
|
||||||
spoken = gateway.clean_for_speech(
|
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",
|
r"\.(de|com|org|net|io|ai)\b",
|
||||||
lambda match: (
|
lambda match: (
|
||||||
match.group(1).replace(".", " Punkt ")
|
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,
|
text,
|
||||||
flags=re.IGNORECASE,
|
flags=re.IGNORECASE,
|
||||||
|
|||||||
Reference in New Issue
Block a user