Using the correct default for auto_mode based on text_aggregation_mode.
This commit is contained in:
@@ -359,7 +359,7 @@ class ElevenLabsTTSService(WebsocketTTSService):
|
|||||||
model: Optional[str] = None,
|
model: Optional[str] = None,
|
||||||
url: str = "wss://api.elevenlabs.io",
|
url: str = "wss://api.elevenlabs.io",
|
||||||
sample_rate: Optional[int] = None,
|
sample_rate: Optional[int] = None,
|
||||||
auto_mode: bool = True,
|
auto_mode: Optional[bool] = None,
|
||||||
enable_ssml_parsing: Optional[bool] = None,
|
enable_ssml_parsing: Optional[bool] = None,
|
||||||
enable_logging: Optional[bool] = None,
|
enable_logging: Optional[bool] = None,
|
||||||
pronunciation_dictionary_locators: Optional[List[PronunciationDictionaryLocator]] = None,
|
pronunciation_dictionary_locators: Optional[List[PronunciationDictionaryLocator]] = None,
|
||||||
@@ -385,7 +385,13 @@ class ElevenLabsTTSService(WebsocketTTSService):
|
|||||||
|
|
||||||
url: WebSocket URL for ElevenLabs TTS API.
|
url: WebSocket URL for ElevenLabs TTS API.
|
||||||
sample_rate: Audio sample rate. If None, uses default.
|
sample_rate: Audio sample rate. If None, uses default.
|
||||||
auto_mode: Whether to enable automatic mode optimization.
|
auto_mode: Whether to enable ElevenLabs' auto mode, which reduces
|
||||||
|
latency by disabling server-side chunk scheduling and buffering.
|
||||||
|
Recommended when sending complete sentences or phrases. When
|
||||||
|
None (default), auto mode is enabled for ``SENTENCE``
|
||||||
|
aggregation and disabled for ``TOKEN`` aggregation — because
|
||||||
|
token streaming relies on the server-side chunk scheduler to
|
||||||
|
accumulate enough text for natural-sounding synthesis.
|
||||||
enable_ssml_parsing: Whether to parse SSML tags in text.
|
enable_ssml_parsing: Whether to parse SSML tags in text.
|
||||||
enable_logging: Whether to enable ElevenLabs server-side logging.
|
enable_logging: Whether to enable ElevenLabs server-side logging.
|
||||||
pronunciation_dictionary_locators: List of pronunciation dictionary
|
pronunciation_dictionary_locators: List of pronunciation dictionary
|
||||||
@@ -490,6 +496,17 @@ class ElevenLabsTTSService(WebsocketTTSService):
|
|||||||
self._url = url
|
self._url = url
|
||||||
|
|
||||||
# Init-only WebSocket URL params (not runtime-updatable).
|
# Init-only WebSocket URL params (not runtime-updatable).
|
||||||
|
#
|
||||||
|
# ElevenLabs' auto mode reduces latency by disabling server-side chunk
|
||||||
|
# scheduling and buffering — it's designed for inputs that are already
|
||||||
|
# complete sentences or phrases. In TOKEN mode we stream individual LLM
|
||||||
|
# tokens, so we need the server-side scheduler to accumulate enough
|
||||||
|
# text for natural-sounding synthesis; enabling auto mode there would
|
||||||
|
# hurt quality. When the caller hasn't set auto_mode explicitly, we
|
||||||
|
# derive the right default from the text aggregation strategy.
|
||||||
|
if auto_mode is None:
|
||||||
|
auto_mode = self._text_aggregation_mode != TextAggregationMode.TOKEN
|
||||||
|
|
||||||
self._auto_mode = auto_mode
|
self._auto_mode = auto_mode
|
||||||
self._enable_ssml_parsing = enable_ssml_parsing
|
self._enable_ssml_parsing = enable_ssml_parsing
|
||||||
self._enable_logging = enable_logging
|
self._enable_logging = enable_logging
|
||||||
|
|||||||
Reference in New Issue
Block a user