In Cartesia TTS service, we don't need to override _update_settings. Parent class handling is enough, as new settings are picked up on the next run_tts (no need to reconnect).
This commit is contained in:
@@ -22,7 +22,7 @@ from pipecat.processors.aggregators.llm_response_universal import (
|
|||||||
)
|
)
|
||||||
from pipecat.runner.types import RunnerArguments
|
from pipecat.runner.types import RunnerArguments
|
||||||
from pipecat.runner.utils import create_transport
|
from pipecat.runner.utils import create_transport
|
||||||
from pipecat.services.cartesia.tts import CartesiaTTSService, CartesiaTTSSettings
|
from pipecat.services.cartesia.tts import CartesiaTTSService, CartesiaTTSSettings, GenerationConfig
|
||||||
from pipecat.services.deepgram.stt import DeepgramSTTService
|
from pipecat.services.deepgram.stt import DeepgramSTTService
|
||||||
from pipecat.services.openai.llm import OpenAILLMService
|
from pipecat.services.openai.llm import OpenAILLMService
|
||||||
from pipecat.transports.base_transport import BaseTransport, TransportParams
|
from pipecat.transports.base_transport import BaseTransport, TransportParams
|
||||||
@@ -103,8 +103,12 @@ async def run_bot(transport: BaseTransport, runner_args: RunnerArguments):
|
|||||||
await task.queue_frames([LLMRunFrame()])
|
await task.queue_frames([LLMRunFrame()])
|
||||||
|
|
||||||
await asyncio.sleep(10)
|
await asyncio.sleep(10)
|
||||||
logger.info("Updating Cartesia TTS settings: speed=fast")
|
logger.info("Updating Cartesia TTS settings: speed increased to 1.5")
|
||||||
await task.queue_frame(TTSUpdateSettingsFrame(update=CartesiaTTSSettings(speed="fast")))
|
await task.queue_frame(
|
||||||
|
TTSUpdateSettingsFrame(
|
||||||
|
update=CartesiaTTSSettings(generation_config=GenerationConfig(speed=1.5))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
@transport.event_handler("on_client_disconnected")
|
@transport.event_handler("on_client_disconnected")
|
||||||
async def on_client_disconnected(transport, client):
|
async def on_client_disconnected(transport, client):
|
||||||
|
|||||||
@@ -355,25 +355,6 @@ class CartesiaTTSService(AudioContextWordTTSService):
|
|||||||
"""
|
"""
|
||||||
return True
|
return True
|
||||||
|
|
||||||
async def _update_settings(self, update: TTSSettings) -> dict[str, Any]:
|
|
||||||
"""Apply a settings update.
|
|
||||||
|
|
||||||
Settings are stored but not applied to the active connection.
|
|
||||||
"""
|
|
||||||
changed = await super()._update_settings(update)
|
|
||||||
|
|
||||||
if not changed:
|
|
||||||
return changed
|
|
||||||
|
|
||||||
# TODO: someday we could reconnect here to apply updated settings.
|
|
||||||
# Code might look something like the below:
|
|
||||||
# await self._disconnect()
|
|
||||||
# await self._connect()
|
|
||||||
|
|
||||||
self._warn_unhandled_updated_settings(changed)
|
|
||||||
|
|
||||||
return changed
|
|
||||||
|
|
||||||
def language_to_service_language(self, language: Language) -> Optional[str]:
|
def language_to_service_language(self, language: Language) -> Optional[str]:
|
||||||
"""Convert a Language enum to Cartesia language format.
|
"""Convert a Language enum to Cartesia language format.
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user