Merge pull request #2288 from pipecat-ai/mb/stt-mute-examples

Update placement of STTMuteFilter in examples to reflect the new reco…
This commit is contained in:
Mark Backman
2025-07-29 12:10:36 -07:00
committed by GitHub
3 changed files with 6 additions and 2 deletions

View File

@@ -38,6 +38,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Changed
- `STTMuteFilter` now pushes the `STTMuteFrame` upstream and downstream, to
allow for more flexible `STTMuteFilter` placement.
- Play delayed messages from `ElevenLabsTTSService` if they still belong to the
current context.

View File

@@ -111,8 +111,8 @@ async def run_example(transport: BaseTransport, _: argparse.Namespace, handle_si
pipeline = Pipeline(
[
transport.input(), # Transport user input
stt_mute_processor, # Add the mute processor before STT
stt, # STT
stt_mute_processor, # Add the mute processor between STT and context aggregator
context_aggregator.user(), # User responses
llm, # LLM
tts, # TTS

View File

@@ -133,7 +133,8 @@ class STTMuteFilter(FrameProcessor):
if should_mute != self.is_muted:
logger.debug(f"STTMuteFilter {'muting' if should_mute else 'unmuting'}")
self._is_muted = should_mute
await self.push_frame(STTMuteFrame(mute=should_mute))
await self.push_frame(STTMuteFrame(mute=should_mute), FrameDirection.UPSTREAM)
await self.push_frame(STTMuteFrame(mute=should_mute), FrameDirection.DOWNSTREAM)
async def _should_mute(self) -> bool:
"""Determine if STT should be muted based on current state and strategies."""