Merge pull request #1680 from pipecat-ai/aleix/local-input-select-stt-update

examples: update local-input-select-stt
This commit is contained in:
Aleix Conchillo Flaqué
2025-04-28 12:01:12 -07:00
committed by GitHub
4 changed files with 25 additions and 34 deletions

30
.gitignore vendored
View File

@@ -7,7 +7,7 @@ venv
/.idea /.idea
#*# #*#
# Distribution / packaging # Distribution / Packaging
.Python .Python
build/ build/
develop-eggs/ develop-eggs/
@@ -30,24 +30,24 @@ MANIFEST
.env .env
fly.toml fly.toml
# Example files # Examples
pipecat/examples/twilio-chatbot/templates/streams.xml examples/telnyx-chatbot/templates/streams.xml
pipecat/examples/bot-ready-signalling/client/react-native/node_modules/ examples/twilio-chatbot/templates/streams.xml
pipecat/examples/bot-ready-signalling/client/react-native/.expo/ examples/**/node_modules/
pipecat/examples/bot-ready-signalling/client/react-native/dist/ examples/**/.expo/
pipecat/examples/bot-ready-signalling/client/react-native/npm-debug.* examples/**/dist/
pipecat/examples/bot-ready-signalling/client/react-native/*.jks examples/**/npm-debug.*
pipecat/examples/bot-ready-signalling/client/react-native/*.p8 examples/**/*.jks
pipecat/examples/bot-ready-signalling/client/react-native/*.p12 examples/**/*.p8
pipecat/examples/bot-ready-signalling/client/react-native/*.key examples/**/*.p12
pipecat/examples/bot-ready-signalling/client/react-native/*.mobileprovision examples/**/*.key
pipecat/examples/bot-ready-signalling/client/react-native/*.orig.* examples/**/*.mobileprovision
pipecat/examples/bot-ready-signalling/client/react-native/web-build/ examples/**/*.orig.*
examples/**/web-build/
# macOS # macOS
.DS_Store .DS_Store
# Documentation # Documentation
docs/api/_build/ docs/api/_build/
docs/api/api docs/api/api

View File

@@ -12,11 +12,10 @@ from dotenv import load_dotenv
from loguru import logger from loguru import logger
from select_audio_device import AudioDevice, run_device_selector from select_audio_device import AudioDevice, run_device_selector
from pipecat.frames.frames import Frame, TranscriptionFrame from pipecat.observers.loggers.transcription_log_observer import TranscriptionLogObserver
from pipecat.pipeline.pipeline import Pipeline from pipecat.pipeline.pipeline import Pipeline
from pipecat.pipeline.runner import PipelineRunner from pipecat.pipeline.runner import PipelineRunner
from pipecat.pipeline.task import PipelineTask from pipecat.pipeline.task import PipelineTask
from pipecat.processors.frame_processor import FrameDirection, FrameProcessor
from pipecat.services.whisper.stt import Model, WhisperSTTService from pipecat.services.whisper.stt import Model, WhisperSTTService
from pipecat.transports.local.audio import LocalAudioTransport, LocalAudioTransportParams from pipecat.transports.local.audio import LocalAudioTransport, LocalAudioTransportParams
@@ -26,14 +25,6 @@ logger.remove(0)
logger.add(sys.stderr, level="DEBUG") logger.add(sys.stderr, level="DEBUG")
class TranscriptionLogger(FrameProcessor):
async def process_frame(self, frame: Frame, direction: FrameDirection):
await super().process_frame(frame, direction)
if isinstance(frame, TranscriptionFrame):
print(f"Transcription: {frame.text}")
async def main(input_device: int, output_device: int): async def main(input_device: int, output_device: int):
transport = LocalAudioTransport( transport = LocalAudioTransport(
LocalAudioTransportParams( LocalAudioTransportParams(
@@ -46,11 +37,9 @@ async def main(input_device: int, output_device: int):
stt = WhisperSTTService(device="cuda", model=Model.LARGE, no_speech_prob=0.3) stt = WhisperSTTService(device="cuda", model=Model.LARGE, no_speech_prob=0.3)
tl = TranscriptionLogger() pipeline = Pipeline([transport.input(), stt])
pipeline = Pipeline([transport.input(), stt, tl]) task = PipelineTask(pipeline, observers=[TranscriptionLogObserver()])
task = PipelineTask(pipeline)
runner = PipelineRunner(handle_sigint=False if sys.platform == "win32" else True) runner = PipelineRunner(handle_sigint=False if sys.platform == "win32" else True)

View File

@@ -1,8 +1,4 @@
--extra-index-url https://download.pytorch.org/whl/cu124 pipecat-ai[whisper, openai]
torch==2.5.0+cu124
torchvision
torchaudio
pipecat[whisper, openai]
textual==1.0.0 textual==1.0.0
pydantic-settings==2.7.1 pydantic-settings==2.7.1
pyaudio==0.2.14 pyaudio==0.2.14

View File

@@ -1,3 +1,9 @@
#
# Copyright (c) 20242025, Daily
#
# SPDX-License-Identifier: BSD 2-Clause License
#
from typing import List, Optional, Tuple from typing import List, Optional, Tuple
import pyaudio import pyaudio