Merge pull request #3366 from lukepayyapilli/fix/cartesia-allow-none-language

Allow language=None in CartesiaTTSService for auto-detection
This commit is contained in:
Mark Backman
2026-01-08 14:42:09 -05:00
committed by GitHub

View File

@@ -298,7 +298,7 @@ class CartesiaTTSService(AudioContextWordTTSService):
}, },
"language": self.language_to_service_language(params.language) "language": self.language_to_service_language(params.language)
if params.language if params.language
else "en", else None,
"speed": params.speed, "speed": params.speed,
"emotion": params.emotion, "emotion": params.emotion,
"generation_config": params.generation_config, "generation_config": params.generation_config,
@@ -392,10 +392,10 @@ class CartesiaTTSService(AudioContextWordTTSService):
Returns: Returns:
List of (word, start_time) tuples processed for the language. List of (word, start_time) tuples processed for the language.
""" """
current_language = self._settings.get("language", "en") current_language = self._settings.get("language")
# Check if this is a CJK language # Check if this is a CJK language (if language is None, treat as non-CJK)
if self._is_cjk_language(current_language): if current_language and self._is_cjk_language(current_language):
# For CJK languages, combine all characters in this message into one word # For CJK languages, combine all characters in this message into one word
# using the first character's start time # using the first character's start time
if words and starts: if words and starts:
@@ -434,11 +434,13 @@ class CartesiaTTSService(AudioContextWordTTSService):
"model_id": self.model_name, "model_id": self.model_name,
"voice": voice_config, "voice": voice_config,
"output_format": self._settings["output_format"], "output_format": self._settings["output_format"],
"language": self._settings["language"],
"add_timestamps": add_timestamps, "add_timestamps": add_timestamps,
"use_original_timestamps": False if self.model_name == "sonic" else True, "use_original_timestamps": False if self.model_name == "sonic" else True,
} }
if self._settings["language"]:
msg["language"] = self._settings["language"]
if self._settings["speed"]: if self._settings["speed"]:
msg["speed"] = self._settings["speed"] msg["speed"] = self._settings["speed"]
@@ -694,7 +696,7 @@ class CartesiaHttpTTSService(TTSService):
}, },
"language": self.language_to_service_language(params.language) "language": self.language_to_service_language(params.language)
if params.language if params.language
else "en", else None,
"speed": params.speed, "speed": params.speed,
"emotion": params.emotion, "emotion": params.emotion,
"generation_config": params.generation_config, "generation_config": params.generation_config,
@@ -786,9 +788,11 @@ class CartesiaHttpTTSService(TTSService):
"transcript": text, "transcript": text,
"voice": voice_config, "voice": voice_config,
"output_format": self._settings["output_format"], "output_format": self._settings["output_format"],
"language": self._settings["language"],
} }
if self._settings["language"]:
payload["language"] = self._settings["language"]
if self._settings["speed"]: if self._settings["speed"]:
payload["speed"] = self._settings["speed"] payload["speed"] = self._settings["speed"]