examples: update local-input-select-stt
This commit is contained in:
@@ -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