diff --git a/CHANGELOG.md b/CHANGELOG.md index 3fb8498486..6fefa06f54 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added +- Added `pause_frame_processing` parameter to `CartesiaTTSService` to allow + disabling frame processing pausing during TTS generation. + - Added `wait_for_all` argument to the base `LLMService`. When enabled, this ensures all function calls complete before returning results to the LLM (i.e., before running a new inference with those results). diff --git a/src/pipecat/services/cartesia/tts.py b/src/pipecat/services/cartesia/tts.py index 9a47d92379..593defd1bf 100644 --- a/src/pipecat/services/cartesia/tts.py +++ b/src/pipecat/services/cartesia/tts.py @@ -234,6 +234,7 @@ def __init__( params: Optional[InputParams] = None, text_aggregator: Optional[BaseTextAggregator] = None, aggregate_sentences: Optional[bool] = True, + pause_frame_processing: Optional[bool] = True, **kwargs, ): """Initialize the Cartesia TTS service. @@ -254,6 +255,7 @@ def __init__( Use an LLMTextProcessor before the TTSService for custom text aggregation. aggregate_sentences: Whether to aggregate sentences within the TTSService. + pause_frame_processing: Whether to pause processing frames while receiving audio. **kwargs: Additional arguments passed to the parent service. """ # Aggregating sentences still gives cleaner-sounding results and fewer @@ -269,7 +271,7 @@ def __init__( super().__init__( aggregate_sentences=aggregate_sentences, push_text_frames=False, - pause_frame_processing=True, + pause_frame_processing=pause_frame_processing, sample_rate=sample_rate, text_aggregator=text_aggregator, **kwargs,