Merge pull request #1819 from kaikato/lmnt-model-langs
LmntTTSService: add model param and additional languages
This commit is contained in:
@@ -9,6 +9,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||||||
|
|
||||||
### Added
|
### 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.
|
- Added `MiniMaxHttpTTSService`, which implements MiniMax's T2A API for TTS.
|
||||||
Learn more: https://www.minimax.io/platform_overview
|
Learn more: https://www.minimax.io/platform_overview
|
||||||
|
|
||||||
|
|||||||
@@ -40,8 +40,20 @@ def language_to_lmnt_language(language: Language) -> Optional[str]:
|
|||||||
Language.EN: "en",
|
Language.EN: "en",
|
||||||
Language.ES: "es",
|
Language.ES: "es",
|
||||||
Language.FR: "fr",
|
Language.FR: "fr",
|
||||||
|
Language.HI: "hi",
|
||||||
|
Language.ID: "id",
|
||||||
|
Language.IT: "it",
|
||||||
|
Language.JA: "ja",
|
||||||
Language.KO: "ko",
|
Language.KO: "ko",
|
||||||
|
Language.NL: "nl",
|
||||||
|
Language.PL: "pl",
|
||||||
Language.PT: "pt",
|
Language.PT: "pt",
|
||||||
|
Language.RU: "ru",
|
||||||
|
Language.SV: "sv",
|
||||||
|
Language.TH: "th",
|
||||||
|
Language.TR: "tr",
|
||||||
|
Language.UK: "uk",
|
||||||
|
Language.VI: "vi",
|
||||||
Language.ZH: "zh",
|
Language.ZH: "zh",
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -66,6 +78,7 @@ class LmntTTSService(InterruptibleTTSService):
|
|||||||
voice_id: str,
|
voice_id: str,
|
||||||
sample_rate: Optional[int] = None,
|
sample_rate: Optional[int] = None,
|
||||||
language: Language = Language.EN,
|
language: Language = Language.EN,
|
||||||
|
model: str = "aurora",
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
super().__init__(
|
super().__init__(
|
||||||
@@ -76,7 +89,8 @@ class LmntTTSService(InterruptibleTTSService):
|
|||||||
)
|
)
|
||||||
|
|
||||||
self._api_key = api_key
|
self._api_key = api_key
|
||||||
self._voice_id = voice_id
|
self.set_voice(voice_id)
|
||||||
|
self.set_model_name(model)
|
||||||
self._settings = {
|
self._settings = {
|
||||||
"language": self.language_to_service_language(language),
|
"language": self.language_to_service_language(language),
|
||||||
"format": "raw", # Use raw format for direct PCM data
|
"format": "raw", # Use raw format for direct PCM data
|
||||||
@@ -135,6 +149,7 @@ class LmntTTSService(InterruptibleTTSService):
|
|||||||
"format": self._settings["format"],
|
"format": self._settings["format"],
|
||||||
"sample_rate": self.sample_rate,
|
"sample_rate": self.sample_rate,
|
||||||
"language": self._settings["language"],
|
"language": self._settings["language"],
|
||||||
|
"model": self.model_name,
|
||||||
}
|
}
|
||||||
|
|
||||||
# Connect to LMNT's websocket directly
|
# Connect to LMNT's websocket directly
|
||||||
|
|||||||
Reference in New Issue
Block a user