Merge pull request #1680 from pipecat-ai/aleix/local-input-select-stt-update
examples: update local-input-select-stt
This commit is contained in:
30
.gitignore
vendored
30
.gitignore
vendored
@@ -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
|
||||||
@@ -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)
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -1,3 +1,9 @@
|
|||||||
|
#
|
||||||
|
# Copyright (c) 2024–2025, Daily
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: BSD 2-Clause License
|
||||||
|
#
|
||||||
|
|
||||||
from typing import List, Optional, Tuple
|
from typing import List, Optional, Tuple
|
||||||
|
|
||||||
import pyaudio
|
import pyaudio
|
||||||
|
|||||||
Reference in New Issue
Block a user