services(playht): fix language codes
This commit is contained in:
@@ -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,
|
||||||
|
|||||||
Reference in New Issue
Block a user