From 0d96f91cde85da4dc3b114f03cd0b8511ac7e7ca Mon Sep 17 00:00:00 2001 From: chadbailey59 Date: Thu, 1 Feb 2024 10:26:50 -0600 Subject: [PATCH] Added sound effect example (#18) * added sound effect example * added dialout to this branch too * fixup * fixup for more dialout testing * cleanup --- src/dailyai/queue_frame.py | 2 + src/dailyai/services/ai_services.py | 16 ++ .../services/daily_transport_service.py | 6 + src/samples/foundational/06a-image-sync.py | 4 +- .../foundational/08b-debate-generator.py | 6 +- src/samples/foundational/10-wake-word.py | 2 +- src/samples/foundational/11-sound-effects.py | 159 +++++++++++++++++ src/samples/foundational/11a-dial-out.py | 165 ++++++++++++++++++ src/samples/foundational/assets/ding1.wav | Bin 0 -> 95092 bytes src/samples/foundational/assets/ding2.wav | Bin 0 -> 47538 bytes .../{images => assets}/sc-default.png | Bin .../{images => assets}/sc-listen-1.png | Bin .../{images => assets}/sc-listen-2.png | Bin .../{images => assets}/sc-talk.png | Bin .../{images => assets}/sc-think-1.png | Bin .../{images => assets}/sc-think-2.png | Bin .../{images => assets}/sc-think-3.png | Bin .../{images => assets}/sc-think-4.png | Bin .../{images => assets}/speaking.png | Bin .../{images => assets}/waiting.png | Bin 20 files changed, 354 insertions(+), 6 deletions(-) create mode 100644 src/samples/foundational/11-sound-effects.py create mode 100644 src/samples/foundational/11a-dial-out.py create mode 100644 src/samples/foundational/assets/ding1.wav create mode 100644 src/samples/foundational/assets/ding2.wav rename src/samples/foundational/{images => assets}/sc-default.png (100%) rename src/samples/foundational/{images => assets}/sc-listen-1.png (100%) rename src/samples/foundational/{images => assets}/sc-listen-2.png (100%) rename src/samples/foundational/{images => assets}/sc-talk.png (100%) rename src/samples/foundational/{images => assets}/sc-think-1.png (100%) rename src/samples/foundational/{images => assets}/sc-think-2.png (100%) rename src/samples/foundational/{images => assets}/sc-think-3.png (100%) rename src/samples/foundational/{images => assets}/sc-think-4.png (100%) rename src/samples/foundational/{images => assets}/speaking.png (100%) rename src/samples/foundational/{images => assets}/waiting.png (100%) diff --git a/src/dailyai/queue_frame.py b/src/dailyai/queue_frame.py index 75a524813..3e249b38c 100644 --- a/src/dailyai/queue_frame.py +++ b/src/dailyai/queue_frame.py @@ -18,6 +18,8 @@ class StartStreamQueueFrame(ControlQueueFrame): class EndStreamQueueFrame(ControlQueueFrame): pass +class LLMResponseEndQueueFrame(QueueFrame): + pass @dataclass() class AudioQueueFrame(QueueFrame): diff --git a/src/dailyai/services/ai_services.py b/src/dailyai/services/ai_services.py index 263cf186e..a7a301ca5 100644 --- a/src/dailyai/services/ai_services.py +++ b/src/dailyai/services/ai_services.py @@ -9,6 +9,7 @@ from dailyai.queue_frame import ( EndStreamQueueFrame, ImageQueueFrame, LLMMessagesQueueFrame, + LLMResponseEndQueueFrame, QueueFrame, TextQueueFrame, ) @@ -89,6 +90,9 @@ class LLMService(AIService): if isinstance(frame, LLMMessagesQueueFrame): async for text_chunk in self.run_llm_async(frame.messages): yield TextQueueFrame(text_chunk) + yield LLMResponseEndQueueFrame() + else: + yield frame class TTSService(AIService): @@ -186,6 +190,18 @@ class STTService(AIService): text = await self.run_stt(content) yield TextQueueFrame(text) +class FrameLogger(AIService): + def __init__(self, prefix="Frame", **kwargs): + super().__init__(**kwargs) + self.prefix = prefix + + async def process_frame(self, frame: QueueFrame) -> AsyncGenerator[QueueFrame, None]: + if isinstance(frame, (AudioQueueFrame, ImageQueueFrame)): + self.logger.info(f"{self.prefix}: {type(frame)}") + else: + print(f"{self.prefix}: {frame}") + + yield frame @dataclass class AIServiceConfig: diff --git a/src/dailyai/services/daily_transport_service.py b/src/dailyai/services/daily_transport_service.py index 258bd7da2..f253db9f6 100644 --- a/src/dailyai/services/daily_transport_service.py +++ b/src/dailyai/services/daily_transport_service.py @@ -305,6 +305,12 @@ class DailyTransportService(EventHandler): t = Thread(target=self._receive_audio, daemon=True) t.start() + def dialout(self, number): + self.client.start_dialout({"phoneNumber": number}) + + def start_recording(self): + self.client.start_recording() + def on_error(self, error): self._logger.error(f"on_error: {error}") diff --git a/src/samples/foundational/06a-image-sync.py b/src/samples/foundational/06a-image-sync.py index 5967cecaa..f8898ebe4 100644 --- a/src/samples/foundational/06a-image-sync.py +++ b/src/samples/foundational/06a-image-sync.py @@ -79,8 +79,8 @@ async def main(room_url: str, token): messages, transport.my_participant_id ) image_sync_aggregator = ImageSyncAggregator( - os.path.join(os.path.dirname(__file__), "images", "speaking.png"), - os.path.join(os.path.dirname(__file__), "images", "waiting.png"), + os.path.join(os.path.dirname(__file__), "assets", "speaking.png"), + os.path.join(os.path.dirname(__file__), "assets", "waiting.png"), ) await tts.run_to_queue( transport.send_queue, diff --git a/src/samples/foundational/08b-debate-generator.py b/src/samples/foundational/08b-debate-generator.py index 2e74ac90c..4366f836d 100644 --- a/src/samples/foundational/08b-debate-generator.py +++ b/src/samples/foundational/08b-debate-generator.py @@ -36,9 +36,9 @@ async def main(room_url:str): affirmative = "A woman dressed as a cowboy, outside on a ranch" negative = "Pikachu in a business suit" - topic = "Is a hot dog a sandwich?" - affirmative = "A woman conservatively dressed as a librarian in a library surrounded by books" - negative = "A cat dressed in a hot dog costume" + # topic = "Is a hot dog a sandwich?" + # affirmative = "A woman conservatively dressed as a librarian in a library surrounded by books" + # negative = "A cat dressed in a hot dog costume" diff --git a/src/samples/foundational/10-wake-word.py b/src/samples/foundational/10-wake-word.py index 54575091f..6125a2a56 100644 --- a/src/samples/foundational/10-wake-word.py +++ b/src/samples/foundational/10-wake-word.py @@ -39,7 +39,7 @@ script_dir = os.path.dirname(__file__) for file in image_files: # Build the full path to the image file - full_path = os.path.join(script_dir, "images", file) + full_path = os.path.join(script_dir, "assets", file) # Get the filename without the extension to use as the dictionary key filename = os.path.splitext(os.path.basename(full_path))[0] # Open the image and convert it to bytes diff --git a/src/samples/foundational/11-sound-effects.py b/src/samples/foundational/11-sound-effects.py new file mode 100644 index 000000000..ee913fe56 --- /dev/null +++ b/src/samples/foundational/11-sound-effects.py @@ -0,0 +1,159 @@ +import argparse +import asyncio +import logging +import os +import wave +import requests +import time +import urllib.parse + +from dailyai.services.daily_transport_service import DailyTransportService +from dailyai.services.azure_ai_services import AzureLLMService, AzureTTSService +from dailyai.queue_aggregators import LLMContextAggregator, LLMUserContextAggregator, LLMAssistantContextAggregator +from dailyai.services.ai_services import AIService, FrameLogger +from dailyai.queue_frame import QueueFrame, AudioQueueFrame, LLMResponseEndQueueFrame, LLMMessagesQueueFrame +from typing import AsyncGenerator + +logging.basicConfig(format=f"%(levelno)s %(asctime)s %(message)s") # or whatever +logger = logging.getLogger("dailyai") +logger.setLevel(logging.DEBUG) + +sounds = {} +sound_files = [ + 'ding1.wav', + 'ding2.wav' +] + +script_dir = os.path.dirname(__file__) + +for file in sound_files: + # Build the full path to the image file + full_path = os.path.join(script_dir, "assets", file) + # Get the filename without the extension to use as the dictionary key + filename = os.path.splitext(os.path.basename(full_path))[0] + # Open the image and convert it to bytes + with wave.open(full_path) as audio_file: + sounds[file] = audio_file.readframes(-1) + + + + +class OutboundSoundEffectWrapper(AIService): + def __init__(self): + pass + + async def process_frame(self, frame: QueueFrame) -> AsyncGenerator[QueueFrame, None]: + if isinstance(frame, LLMResponseEndQueueFrame): + yield AudioQueueFrame(sounds["ding1.wav"]) + # In case anything else up the stack needs it + yield frame + else: + yield frame + +class InboundSoundEffectWrapper(AIService): + def __init__(self): + pass + + async def process_frame(self, frame: QueueFrame) -> AsyncGenerator[QueueFrame, None]: + if isinstance(frame, LLMMessagesQueueFrame): + yield AudioQueueFrame(sounds["ding2.wav"]) + # In case anything else up the stack needs it + yield frame + else: + yield frame + + +async def main(room_url: str, token): + global transport + global llm + global tts + + transport = DailyTransportService( + room_url, + token, + "Respond bot", + 5, + ) + transport.mic_enabled = True + transport.mic_sample_rate = 16000 + transport.camera_enabled = False + + llm = AzureLLMService() + tts = AzureTTSService() + + @transport.event_handler("on_first_other_participant_joined") + async def on_first_other_participant_joined(transport): + await tts.say("Hi, I'm listening!", transport.send_queue) + await transport.send_queue.put(AudioQueueFrame(sounds["ding1.wav"])) + async def handle_transcriptions(): + messages = [ + {"role": "system", "content": "You are a helpful LLM in a WebRTC call. Your goal is to demonstrate your capabilities in a succinct way. Your output will be converted to audio. Respond to what the user said in a creative and helpful way."}, + ] + + tma_in = LLMUserContextAggregator( + messages, transport.my_participant_id + ) + tma_out = LLMAssistantContextAggregator( + messages, transport.my_participant_id + ) + out_sound = OutboundSoundEffectWrapper() + in_sound = InboundSoundEffectWrapper() + fl = FrameLogger("LLM Out") + fl2 = FrameLogger("Transcription In") + await out_sound.run_to_queue( + transport.send_queue, + tts.run( + fl.run( + tma_out.run( + llm.run( + fl2.run( + in_sound.run( + tma_in.run( + transport.get_receive_frames() + ) + ) + ) + ) + ) + ) + ) + ) + + + transport.transcription_settings["extra"]["punctuate"] = True + await asyncio.gather(transport.run(), handle_transcriptions()) + + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description="Simple Daily Bot Sample") + parser.add_argument( + "-u", "--url", type=str, required=True, help="URL of the Daily room to join" + ) + parser.add_argument( + "-k", + "--apikey", + type=str, + required=True, + help="Daily API Key (needed to create token)", + ) + + args, unknown = parser.parse_known_args() + + # Create a meeting token for the given room with an expiration 1 hour in the future. + room_name: str = urllib.parse.urlparse(args.url).path[1:] + expiration: float = time.time() + 60 * 60 + + res: requests.Response = requests.post( + f"https://api.daily.co/v1/meeting-tokens", + headers={"Authorization": f"Bearer {args.apikey}"}, + json={ + "properties": {"room_name": room_name, "is_owner": True, "exp": expiration} + }, + ) + + if res.status_code != 200: + raise Exception(f"Failed to create meeting token: {res.status_code} {res.text}") + + token: str = res.json()["token"] + + asyncio.run(main(args.url, token)) diff --git a/src/samples/foundational/11a-dial-out.py b/src/samples/foundational/11a-dial-out.py new file mode 100644 index 000000000..95beb586e --- /dev/null +++ b/src/samples/foundational/11a-dial-out.py @@ -0,0 +1,165 @@ +import argparse +import asyncio +import os +import wave +import requests +import time +import urllib.parse + +from dailyai.services.daily_transport_service import DailyTransportService +from dailyai.services.azure_ai_services import AzureLLMService, AzureTTSService +from dailyai.queue_aggregators import LLMContextAggregator +from dailyai.services.ai_services import AIService, FrameLogger +from dailyai.queue_frame import QueueFrame, AudioQueueFrame, LLMResponseEndQueueFrame, LLMMessagesQueueFrame +from typing import AsyncGenerator + +sounds = {} +sound_files = [ + 'ding1.wav', + 'ding2.wav' +] + +script_dir = os.path.dirname(__file__) + +for file in sound_files: + # Build the full path to the image file + full_path = os.path.join(script_dir, "assets", file) + # Get the filename without the extension to use as the dictionary key + filename = os.path.splitext(os.path.basename(full_path))[0] + # Open the image and convert it to bytes + with wave.open(full_path) as audio_file: + sounds[file] = audio_file.readframes(-1) + + + + +class OutboundSoundEffectWrapper(AIService): + def __init__(self): + pass + + async def process_frame(self, frame: QueueFrame) -> AsyncGenerator[QueueFrame, None]: + if isinstance(frame, LLMResponseEndQueueFrame): + yield AudioQueueFrame(sounds["ding1.wav"]) + # In case anything else up the stack needs it + yield frame + else: + yield frame + +class InboundSoundEffectWrapper(AIService): + def __init__(self): + pass + + async def process_frame(self, frame: QueueFrame) -> AsyncGenerator[QueueFrame, None]: + if isinstance(frame, LLMMessagesQueueFrame): + yield AudioQueueFrame(sounds["ding2.wav"]) + # In case anything else up the stack needs it + yield frame + else: + yield frame + + +async def main(room_url: str, token, phone): + global transport + global llm + global tts + + transport = DailyTransportService( + room_url, + token, + "Respond bot", + 300, + ) + transport.mic_enabled = True + transport.mic_sample_rate = 16000 + transport.camera_enabled = False + + llm = AzureLLMService() + tts = AzureTTSService() + + @transport.event_handler("on_first_other_participant_joined") + async def on_first_other_participant_joined(transport): + await tts.say("Hi, I'm listening!", transport.send_queue) + await transport.send_queue.put(AudioQueueFrame(sounds["ding1.wav"])) + async def handle_transcriptions(): + messages = [ + {"role": "system", "content": "You are a helpful LLM in a WebRTC call. Your goal is to demonstrate your capabilities in a succinct way. Your output will be converted to audio. Respond to what the user said in a creative and helpful way."}, + ] + + tma_in = LLMContextAggregator( + messages, "user", transport.my_participant_id + ) + tma_out = LLMContextAggregator( + messages, "assistant", transport.my_participant_id + ) + out_sound = OutboundSoundEffectWrapper() + in_sound = InboundSoundEffectWrapper() + fl = FrameLogger("LLM Out") + fl2 = FrameLogger("Transcription In") + await out_sound.run_to_queue( + transport.send_queue, + tts.run( + tma_out.run( + llm.run( + fl2.run( + in_sound.run( + tma_in.run( + transport.get_receive_frames() + ) + ) + ) + ) + ) + ) + ) + + @transport.event_handler("on_participant_joined") + async def pax_joined(transport, pax): + print(f"PARTICIPANT JOINED: {pax}") + + @transport.event_handler("on_call_state_updated") + async def on_call_state_updated(transport, state): + if (state == "joined"): + if (phone): + transport.start_recording() + transport.dialout(phone) + + + transport.transcription_settings["extra"]["punctuate"] = True + + await asyncio.gather(transport.run(), handle_transcriptions()) + + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description="Simple Daily Bot Sample") + parser.add_argument( + "-u", "--url", type=str, required=True, help="URL of the Daily room to join" + ) + parser.add_argument( + "-k", + "--apikey", + type=str, + required=True, + help="Daily API Key (needed to create token)", + ) + + parser.add_argument("-p", "--phone", type=str, required=False, help="A phone number to call when the bot joins the room") + + args, unknown = parser.parse_known_args() + + # Create a meeting token for the given room with an expiration 1 hour in the future. + room_name: str = urllib.parse.urlparse(args.url).path[1:] + expiration: float = time.time() + 60 * 60 + + res: requests.Response = requests.post( + f"https://api.staging.daily.co/v1/meeting-tokens", + headers={"Authorization": f"Bearer {args.apikey}"}, + json={ + "properties": {"room_name": room_name, "is_owner": True, "exp": expiration} + }, + ) + + if res.status_code != 200: + raise Exception(f"Failed to create meeting token: {res.status_code} {res.text}") + + token: str = res.json()["token"] + asyncio.run(main(args.url, token, args.phone)) diff --git a/src/samples/foundational/assets/ding1.wav b/src/samples/foundational/assets/ding1.wav new file mode 100644 index 0000000000000000000000000000000000000000..b508dae9a794690b05030511f0742dd57367bfa6 GIT binary patch literal 95092 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
  • 0#g12lK&KzZY0t^hL*|nQw%T*S(r-% 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