LLMUserAggregator: broadcast user started/stopped speaking frames
This commit is contained in:
@@ -402,8 +402,9 @@ class LLMUserAggregator(LLMContextAggregator):
|
||||
|
||||
if self._params.enable_user_speaking_frames:
|
||||
logger.debug(f"User started speaking (user turn start strategy: {strategy})")
|
||||
await self.push_frame(UserStartedSpeakingFrame())
|
||||
await self.push_frame(InterruptionFrame())
|
||||
# TODO(aleix): These frames should really come from the top of the pipeline.
|
||||
await self.broadcast_frame(UserStartedSpeakingFrame, emulated=strategy is None)
|
||||
await self.broadcast_frame(InterruptionFrame)
|
||||
|
||||
async def _trigger_bot_turn_start(self, strategy: BaseBotTurnStartStrategy):
|
||||
if not self._user_speaking:
|
||||
@@ -418,7 +419,8 @@ class LLMUserAggregator(LLMContextAggregator):
|
||||
|
||||
if self._params.enable_user_speaking_frames:
|
||||
logger.debug(f"User stopped speaking (bot turn start strategy: {strategy})")
|
||||
await self.push_frame(UserStoppedSpeakingFrame())
|
||||
# TODO(aleix): This frame should really come from the top of the pipeline.
|
||||
await self.broadcast_frame(UserStoppedSpeakingFrame, emulated=strategy is None)
|
||||
|
||||
# Always push context frame.
|
||||
await self.push_aggregation()
|
||||
|
||||
Reference in New Issue
Block a user