From ff20a7e27a2c88fde124df749849f7f8ef7964c1 Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Wed, 27 Aug 2025 20:53:18 -0500 Subject: [PATCH 1/2] Creates a simple example that demonstrates how to play audio at beginning of call or loop in a case where office is closed. --- telephony/pre_roll_audio_file/closed.mp3 | Bin 0 -> 51336 bytes .../pre_roll_audio_file/pre_roll_audio.mp3 | Bin 0 -> 69797 bytes .../pre_roll_audio_agent.py | 188 ++++++++++++++++++ 3 files changed, 188 insertions(+) create mode 100644 telephony/pre_roll_audio_file/closed.mp3 create mode 100644 telephony/pre_roll_audio_file/pre_roll_audio.mp3 create mode 100644 telephony/pre_roll_audio_file/pre_roll_audio_agent.py diff --git a/telephony/pre_roll_audio_file/closed.mp3 b/telephony/pre_roll_audio_file/closed.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..6d02f26194fbda1059eb1ff10a2a162b5f6b3b5e GIT binary patch literal 51336 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

WAOH{5VNuid~WT&7wa^(gXzZ!+Bbyy%rFVj%<# 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 literal 0 HcmV?d00001 diff --git a/telephony/pre_roll_audio_file/pre_roll_audio_agent.py b/telephony/pre_roll_audio_file/pre_roll_audio_agent.py new file mode 100644 index 0000000..50c01f0 --- /dev/null +++ b/telephony/pre_roll_audio_file/pre_roll_audio_agent.py @@ -0,0 +1,188 @@ +""" +LiveKit Voice Agent Example: Law Office Reception with Pre-roll Audio and Office Hours Logic + +This example demonstrates a voice AI agent that acts as a law office receptionist with the following features: + +1. Pre-roll Audio: Plays a pre-recorded audio file when the agent first enters the session +2. Office Hours Logic: Automatically switches between two modes based on current time: + - Office Open (8 AM - 5 PM): Full interactive agent with STT, LLM, and TTS capabilities + - Office Closed (outside 8 AM - 5 PM): Plays background audio loop (closed.mp3) continuously for N seconds, then hangup call then hangs up +3. Voice Agent: Uses OpenAI's GPT-4o-mini for natural language processing +4. Audio Processing: Supports both pre-synthesized audio playback and real-time TTS generation + +The agent greets callers during office hours and provides a professional law office experience, +while offering appropriate messaging when the office is closed. +""" + +import logging +import asyncio +from typing import AsyncIterable +from datetime import datetime + +from dotenv import load_dotenv + +from livekit import api, rtc +from livekit.agents import ( + NOT_GIVEN, + Agent, + AgentFalseInterruptionEvent, + AgentSession, + BackgroundAudioPlayer, + JobContext, + JobProcess, + MetricsCollectedEvent, + RoomInputOptions, + RoomOutputOptions, + RunContext, + WorkerOptions, + cli, + metrics, +) +from livekit.agents.llm import function_tool +from livekit.agents.utils.codecs import AudioStreamDecoder +from livekit.plugins import deepgram, openai, silero +from livekit.plugins.turn_detector.multilingual import MultilingualModel + +# uncomment to enable Krisp background voice/noise cancellation +# from livekit.plugins import noise_cancellation + +logger = logging.getLogger("basic-agent") + +load_dotenv() + +audio_file = "pre_roll_audio.mp3" +closed_audio_file = "closed.mp3" + +async def load_audio_file(file_path: str) -> AsyncIterable[rtc.AudioFrame]: + """Load an audio file and convert it to AudioFrames""" + decoder = AudioStreamDecoder(sample_rate=48000, num_channels=1) + + with open(file_path, 'rb') as f: + while chunk := f.read(4096): + decoder.push(chunk) + decoder.end_input() + + async for frame in decoder: + yield frame + +class MyAgent(Agent): + def __init__(self) -> None: + super().__init__( + instructions=""" + You are a reception for the law office of Dewey, Cheatham & Howe. + You would interact with users via voice. With that in mind keep your responses concise and to the point. + Do not use emojis, asterisks, markdown, or other special characters in your responses. You are curious and friendly, and have a sense of humor. + """ + ) + + async def on_enter(self): + audio_frames = load_audio_file(audio_file) + await self.session.say(".", audio=audio_frames, allow_interruptions=False) + await asyncio.sleep(3) + + # Generate a reply + await self.session.say("Hello, thank you for calling. I am Pat. How can I help you today?") + + +def prewarm(proc: JobProcess): + proc.userdata["vad"] = silero.VAD.load() + + +async def entrypoint(ctx: JobContext): + # each log entry will include these fields + ctx.log_context_fields = { + "room": ctx.room.name, + } + + # If current time is between 8am and 5pm, call entrypoint_office_open + if datetime.now().hour >= 8 and datetime.now().hour <= 17: + #if True: # for Open Office Hours + #if False: # for Closed Office Hours + await entrypoint_office_open(ctx) + else: + await entrypoint_office_closed(ctx) + +async def entrypoint_office_closed(ctx: JobContext): + """Play background audio when office is closed""" + logger.info("Office is closed, playing background audio") + + # Connect to the room first + await ctx.connect() + + # Create background audio player with the closed audio file looped + background_audio = BackgroundAudioPlayer( + ambient_sound=closed_audio_file + ) + + try: + # Start the background audio player + await background_audio.start(room=ctx.room, agent_session=None) + + # Keep the audio playing for N seconds then hang up + start_time = datetime.now() + while True: + # after 5 seconds hangup call + if (datetime.now() - start_time).seconds >= 10: + await background_audio.aclose() + await ctx.delete_room() + return + + await asyncio.sleep(1) + + except Exception as e: + logger.error(f"Error in office closed mode: {e}") + finally: + # Clean up the background audio player + await background_audio.aclose() + + +async def entrypoint_office_open(ctx: JobContext): + + session = AgentSession( + vad=ctx.proc.userdata["vad"], + # any combination of STT, LLM, TTS, or realtime API can be used + #llm=openai.LLM(model="gpt-4o-mini"), + llm=openai.LLM(model="gpt-4o-mini"), + stt=deepgram.STT(model="nova-3", language="multi"), + tts=openai.TTS(voice="ash"), + # allow the LLM to generate a response while waiting for the end of turn + preemptive_generation=True, + # use LiveKit's turn detection model + turn_detection=MultilingualModel(), + ) + + # log metrics as they are emitted, and total usage after session is over + usage_collector = metrics.UsageCollector() + + # sometimes background noise could interrupt the agent session, these are considered false positive interruptions + # when it's detected, you may resume the agent's speech + @session.on("agent_false_interruption") + def _on_agent_false_interruption(ev: AgentFalseInterruptionEvent): + logger.info("false positive interruption, resuming") + session.generate_reply(instructions=ev.extra_instructions or NOT_GIVEN) + + @session.on("metrics_collected") + def _on_metrics_collected(ev: MetricsCollectedEvent): + metrics.log_metrics(ev.metrics) + usage_collector.collect(ev.metrics) + + async def log_usage(): + summary = usage_collector.get_summary() + logger.info(f"Usage: {summary}") + + # shutdown callbacks are triggered when the session is over + ctx.add_shutdown_callback(log_usage) + + await session.start( + agent=MyAgent(), + room=ctx.room, + room_input_options=RoomInputOptions( + # uncomment to enable Krisp BVC noise cancellation + # noise_cancellation=noise_cancellation.BVC(), + ), + room_output_options=RoomOutputOptions(transcription_enabled=True), + ) + + +if __name__ == "__main__": + cli.run_app(WorkerOptions(entrypoint_fnc=entrypoint, prewarm_fnc=prewarm)) \ No newline at end of file From 58213acfd3e7762a33ed5d2c1778465439bc65b9 Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Wed, 10 Sep 2025 20:10:26 -0500 Subject: [PATCH 2/2] Make code less strict about where audio files are stored. --- .../pre_roll_audio_agent.py | 74 ++++++++++++++----- 1 file changed, 54 insertions(+), 20 deletions(-) diff --git a/telephony/pre_roll_audio_file/pre_roll_audio_agent.py b/telephony/pre_roll_audio_file/pre_roll_audio_agent.py index 50c01f0..318c0c3 100644 --- a/telephony/pre_roll_audio_file/pre_roll_audio_agent.py +++ b/telephony/pre_roll_audio_file/pre_roll_audio_agent.py @@ -18,10 +18,10 @@ import asyncio from typing import AsyncIterable from datetime import datetime - +from pathlib import Path from dotenv import load_dotenv -from livekit import api, rtc +from livekit import rtc from livekit.agents import ( NOT_GIVEN, Agent, @@ -33,12 +33,10 @@ MetricsCollectedEvent, RoomInputOptions, RoomOutputOptions, - RunContext, WorkerOptions, cli, metrics, ) -from livekit.agents.llm import function_tool from livekit.agents.utils.codecs import AudioStreamDecoder from livekit.plugins import deepgram, openai, silero from livekit.plugins.turn_detector.multilingual import MultilingualModel @@ -50,20 +48,34 @@ load_dotenv() -audio_file = "pre_roll_audio.mp3" -closed_audio_file = "closed.mp3" +audio_path = Path(__file__).parent +audio_file = f"{audio_path}/pre_roll_audio.mp3" +closed_audio_file = f"{audio_path}/closed.mp3" + async def load_audio_file(file_path: str) -> AsyncIterable[rtc.AudioFrame]: """Load an audio file and convert it to AudioFrames""" - decoder = AudioStreamDecoder(sample_rate=48000, num_channels=1) + # Check if file exists before attempting to load + if not Path(file_path).exists(): + logger.error("Audio file could not be loaded: %s", file_path) + logger.error("File path: %s", Path(file_path).absolute()) + logger.error("File name: %s", Path(file_path).name) + raise FileNotFoundError(f"Audio file not found: {file_path}") - with open(file_path, 'rb') as f: - while chunk := f.read(4096): - decoder.push(chunk) - decoder.end_input() + logger.info("Loading audio file: %s", file_path) + decoder = AudioStreamDecoder(sample_rate=48000, num_channels=1) - async for frame in decoder: - yield frame + try: + with open(file_path, 'rb') as f: + while chunk := f.read(4096): + decoder.push(chunk) + decoder.end_input() + + async for frame in decoder: + yield frame + except Exception as e: + logger.error("Error loading audio file %s: %s", file_path, e) + raise class MyAgent(Agent): def __init__(self) -> None: @@ -76,9 +88,14 @@ def __init__(self) -> None: ) async def on_enter(self): - audio_frames = load_audio_file(audio_file) - await self.session.say(".", audio=audio_frames, allow_interruptions=False) - await asyncio.sleep(3) + try: + audio_frames = load_audio_file(audio_file) + await self.session.say(".", audio=audio_frames, allow_interruptions=False) + await asyncio.sleep(3) + except FileNotFoundError as e: + logger.error("Pre-roll audio file not found, continuing without audio: %s", e) + except Exception as e: + logger.error("Error loading pre-roll audio file: %s", e) # Generate a reply await self.session.say("Hello, thank you for calling. I am Pat. How can I help you today?") @@ -106,6 +123,15 @@ async def entrypoint_office_closed(ctx: JobContext): """Play background audio when office is closed""" logger.info("Office is closed, playing background audio") + # Check if closed audio file exists + if not Path(closed_audio_file).exists(): + logger.error("Closed office audio file could not be loaded: %s", closed_audio_file) + logger.error("File path: %s", Path(closed_audio_file).absolute()) + logger.error("File name: %s", Path(closed_audio_file).name) + logger.error("Cannot play background audio, hanging up call") + await ctx.delete_room() + return + # Connect to the room first await ctx.connect() @@ -117,11 +143,12 @@ async def entrypoint_office_closed(ctx: JobContext): try: # Start the background audio player await background_audio.start(room=ctx.room, agent_session=None) + logger.info("Successfully started background audio: %s", closed_audio_file) # Keep the audio playing for N seconds then hang up start_time = datetime.now() while True: - # after 5 seconds hangup call + # after 10 seconds hangup call if (datetime.now() - start_time).seconds >= 10: await background_audio.aclose() await ctx.delete_room() @@ -129,11 +156,18 @@ async def entrypoint_office_closed(ctx: JobContext): await asyncio.sleep(1) + except FileNotFoundError as e: + logger.error("Background audio file not found during playback: %s", e) + logger.error("File path: %s", Path(closed_audio_file).absolute()) + logger.error("File name: %s", Path(closed_audio_file).name) except Exception as e: - logger.error(f"Error in office closed mode: {e}") + logger.error("Error in office closed mode: %s", e) finally: # Clean up the background audio player - await background_audio.aclose() + try: + await background_audio.aclose() + except Exception as e: + logger.error("Error closing background audio player: %s", e) async def entrypoint_office_open(ctx: JobContext): @@ -168,7 +202,7 @@ def _on_metrics_collected(ev: MetricsCollectedEvent): async def log_usage(): summary = usage_collector.get_summary() - logger.info(f"Usage: {summary}") + logger.info("Usage: %s", summary) # shutdown callbacks are triggered when the session is over ctx.add_shutdown_callback(log_usage)