services(playht): fix language codes

This commit is contained in:
Aleix Conchillo Flaqué
2024-11-13 16:59:46 +01:00
parent 0af2196f50
commit c1fff00586

View File

@@ -47,63 +47,40 @@ except ModuleNotFoundError as e:
def language_to_playht_language(language: Language) -> str | None: def language_to_playht_language(language: Language) -> str | None:
match language: language_map = {
case Language.BG: Language.BG: "bulgarian",
return "BULGARIAN" Language.CA: "catalan",
case Language.CA: Language.CS: "czech",
return "CATALAN" Language.DA: "danish",
case Language.CS: Language.DE: "german",
return "CZECH" Language.EN: "english",
case Language.DA: Language.EN_US: "english",
return "DANISH" Language.EN_GB: "english",
case Language.DE: Language.EN_AU: "english",
return "GERMAN" Language.EN_NZ: "english",
case ( Language.EN_IN: "english",
Language.EN Language.ES: "spanish",
| Language.EN_US Language.FR: "french",
| Language.EN_GB Language.FR_CA: "french",
| Language.EN_AU Language.EL: "greek",
| Language.EN_NZ Language.HI: "hindi",
| Language.EN_IN Language.HU: "hungarian",
): Language.ID: "indonesian",
return "ENGLISH" Language.IT: "italian",
case Language.ES: Language.JA: "japanese",
return "SPANISH" Language.KO: "korean",
case Language.FR | Language.FR_CA: Language.MS: "malay",
return "FRENCH" Language.NL: "dutch",
case Language.EL: Language.PL: "polish",
return "GREEK" Language.PT: "portuguese",
case Language.HI: Language.PT_BR: "portuguese",
return "HINDI" Language.RU: "russian",
case Language.HU: Language.SV: "swedish",
return "HUNGARIAN" Language.TH: "thai",
case Language.ID: Language.TR: "turkish",
return "INDONESIAN" Language.UK: "ukrainian",
case Language.IT: }
return "ITALIAN" return language_map.get(language)
case Language.JA:
return "JAPANESE"
case Language.KO:
return "KOREAN"
case Language.MS:
return "MALAY"
case Language.NL:
return "DUTCH"
case Language.PL:
return "POLISH"
case Language.PT | Language.PT_BR:
return "PORTUGUESE"
case Language.RU:
return "RUSSIAN"
case Language.SV:
return "SWEDISH"
case Language.TH:
return "THAI"
case Language.TR:
return "TURKISH"
case Language.UK:
return "UKRAINIAN"
return None
class PlayHTTTSService(TTSService): class PlayHTTTSService(TTSService):
@@ -140,7 +117,7 @@ class PlayHTTTSService(TTSService):
"sample_rate": sample_rate, "sample_rate": sample_rate,
"language": self.language_to_service_language(params.language) "language": self.language_to_service_language(params.language)
if params.language if params.language
else Language.EN, else "english",
"output_format": output_format, "output_format": output_format,
"voice_engine": voice_engine, "voice_engine": voice_engine,
"speed": params.speed, "speed": params.speed,
@@ -153,8 +130,7 @@ class PlayHTTTSService(TTSService):
return True return True
def language_to_service_language(self, language: Language) -> str | None: def language_to_service_language(self, language: Language) -> str | None:
# Keep your existing language mapping logic here return language_to_playht_language(language)
pass
async def start(self, frame: StartFrame): async def start(self, frame: StartFrame):
await super().start(frame) await super().start(frame)
@@ -352,7 +328,7 @@ class PlayHTHttpTTSService(TTSService):
"sample_rate": sample_rate, "sample_rate": sample_rate,
"language": self.language_to_service_language(params.language) "language": self.language_to_service_language(params.language)
if params.language if params.language
else Language.EN, else "english",
"format": Format.FORMAT_WAV, "format": Format.FORMAT_WAV,
"voice_engine": voice_engine, "voice_engine": voice_engine,
"speed": params.speed, "speed": params.speed,