Pre-recorded message example

This commit is contained in:
James Hush
2025-10-01 13:52:58 +08:00
parent feae3b6d2d
commit c6a1013051
2 changed files with 121 additions and 0 deletions

View File

@@ -8,6 +8,7 @@ import os
from dotenv import load_dotenv
from loguru import logger
from prerecorded_message_processor import PrerecordedMessageProcessor
from pipecat.audio.turn.smart_turn.base_smart_turn import SmartTurnParams
from pipecat.audio.turn.smart_turn.local_smart_turn_v3 import LocalSmartTurnAnalyzerV3
@@ -77,12 +78,18 @@ async def run_bot(transport: BaseTransport, runner_args: RunnerArguments):
context = LLMContext(messages)
context_aggregator = LLMContextAggregatorPair(context)
# Create the prerecorded message processor
prerecorded_processor = PrerecordedMessageProcessor(
audio_file_path=os.path.join(os.path.dirname(__file__), "assets", "ding1.wav")
)
pipeline = Pipeline(
[
transport.input(), # Transport user input
stt,
context_aggregator.user(), # User responses
llm, # LLM
prerecorded_processor, # Check for prerecorded message trigger
tts, # TTS
transport.output(), # Transport bot output
context_aggregator.assistant(), # Assistant spoken responses