LmntTTSService: add model param and additional languages

This commit is contained in:
kaikato
2025-05-15 20:57:59 +00:00
parent 90f27a3090
commit c3b95767f3
2 changed files with 22 additions and 1 deletions

View File

@@ -9,6 +9,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Added
- Added additional languages to `LmntTTSService`. Languages include: `hi`, `id`,
`it`, `ja`, `nl`, `pl`, `ru`, `sv`, `th`, `tr`, `uk`, `vi`.
- Added a `model` parameter to the `LmntTTSService` constructor, allowing
switching between LMNT models.
- Added `MiniMaxHttpTTSService`, which implements MiniMax's T2A API for TTS.
Learn more: https://www.minimax.io/platform_overview

View File

@@ -40,8 +40,20 @@ def language_to_lmnt_language(language: Language) -> Optional[str]:
Language.EN: "en",
Language.ES: "es",
Language.FR: "fr",
Language.HI: "hi",
Language.ID: "id",
Language.IT: "it",
Language.JA: "ja",
Language.KO: "ko",
Language.NL: "nl",
Language.PL: "pl",
Language.PT: "pt",
Language.RU: "ru",
Language.SV: "sv",
Language.TH: "th",
Language.TR: "tr",
Language.UK: "uk",
Language.VI: "vi",
Language.ZH: "zh",
}
@@ -66,6 +78,7 @@ class LmntTTSService(InterruptibleTTSService):
voice_id: str,
sample_rate: Optional[int] = None,
language: Language = Language.EN,
model: str = "aurora",
**kwargs,
):
super().__init__(
@@ -76,7 +89,8 @@ class LmntTTSService(InterruptibleTTSService):
)
self._api_key = api_key
self._voice_id = voice_id
self.set_voice(voice_id)
self.set_model_name(model)
self._settings = {
"language": self.language_to_service_language(language),
"format": "raw", # Use raw format for direct PCM data
@@ -135,6 +149,7 @@ class LmntTTSService(InterruptibleTTSService):
"format": self._settings["format"],
"sample_rate": self.sample_rate,
"language": self._settings["language"],
"model": self.model_name,
}
# Connect to LMNT's websocket directly