From 366547c45799aabb8f888b3d7b01f69e1d5b6638 Mon Sep 17 00:00:00 2001 From: Luis Andrade Date: Sun, 28 Jan 2024 22:53:37 -0500 Subject: [PATCH] expose played command --- wyoming_satellite/__main__.py | 4 ++++ wyoming_satellite/satellite.py | 7 ++++++- wyoming_satellite/settings.py | 1 + 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/wyoming_satellite/__main__.py b/wyoming_satellite/__main__.py index 796c5a6..8e775df 100644 --- a/wyoming_satellite/__main__.py +++ b/wyoming_satellite/__main__.py @@ -158,6 +158,9 @@ async def main() -> None: parser.add_argument( "--detection-command", help="Command to run when wake word is detected" ) + parser.add_argument( + "--played-command", help="Command to run when audio stopped playing" + ) parser.add_argument( "--transcript-command", help="Command to run when speech to text transcript is returned", @@ -334,6 +337,7 @@ async def main() -> None: streaming_stop=split_command(args.streaming_stop_command), detect=split_command(args.detect_command), detection=split_command(args.detection_command), + played=split_command(args.played_command), transcript=split_command(args.transcript_command), stt_start=split_command(args.stt_start_command), stt_stop=split_command(args.stt_stop_command), diff --git a/wyoming_satellite/satellite.py b/wyoming_satellite/satellite.py index 84b5115..b2e2a2b 100644 --- a/wyoming_satellite/satellite.py +++ b/wyoming_satellite/satellite.py @@ -550,7 +550,7 @@ class SatelliteBase: event.type ): await _disconnect() - await self.forward_event(Played().event()) + await self.trigger_played() snd_client = None # reconnect on next event except asyncio.CancelledError: break @@ -775,6 +775,11 @@ class SatelliteBase: mute_microphone=self.settings.mic.mute_during_awake_wav, ) + async def trigger_played(self) -> None: + """Called when audio stopped playing""" + await run_event_command(self.settings.event.played) + await self.forward_event(Played().event()) + async def trigger_transcript(self, transcript: Transcript) -> None: """Called when speech-to-text text is received.""" await run_event_command(self.settings.event.transcript, transcript.text) diff --git a/wyoming_satellite/settings.py b/wyoming_satellite/settings.py index 67e7bd7..138f884 100644 --- a/wyoming_satellite/settings.py +++ b/wyoming_satellite/settings.py @@ -149,6 +149,7 @@ class EventSettings(ServiceSettings): streaming_stop: Optional[List[str]] = None detect: Optional[List[str]] = None detection: Optional[List[str]] = None + played: Optional[List[str]] = None transcript: Optional[List[str]] = None stt_start: Optional[List[str]] = None stt_stop: Optional[List[str]] = None