# Core dependencies setuptools>=65.0.0 wheel # Audio dependencies (capture is ffmpeg-based; no PyAudio/portaudio needed) SpeechRecognition>=3.10.0 # PyTorch - standard PyPI build supports CUDA (Linux) and MPS (macOS ARM) automatically. # On Windows/Linux with NVIDIA GPU the installers add the CUDA wheel index: # pip install torch torchaudio --extra-index-url https://download.pytorch.org/whl/cu128 # Pinned: torch/ctranslate2/cuDNN must move together (ctranslate2 >= 4.5 needs # the cuDNN 9 that torch 2.8 cu12x wheels bundle) — bump the trio deliberately. torch==2.8.0 torchaudio==2.8.0 # Core ML dependencies numpy<2.0.0 # The reference implementation, from PyPI — not the GitHub URL it used to be: # uv shells out to the git CLI for VCS requirements, which stranded setup on # machines without git (headless Macs with no Command Line Tools and no brew). openai-whisper==20250625 faster-whisper==1.2.1 ctranslate2==4.7.1 transformers>=4.35.0 huggingface_hub>=0.19.0 accelerate>=0.24.0 datasets>=2.14.0 # Audio processing soundfile>=0.12.0 # Deliberately unpinned, and deliberately not removed: panns-inference and # torchlibrosa both require it, so a pin here would only fight them. It drags in # the compiled scientific stack (numba/llvmlite, scikit-learn, scipy, soxr), # which is where every source-build failure on a user machine has come from — # see stt/wheel_policy.py, whose --only-binary list the installers pass so uv # backtracks to a release with a wheel instead of trying to compile one. librosa>=0.10.0 pydub>=0.25.1 # Audio tagging for music/speech detection (PANNs CNN14); pulls torchlibrosa panns-inference>=0.1.0 # Web framework flask>=2.3.0 flask-socketio>=5.3.0 flask-cors>=4.0.0 python-socketio>=5.9.0 # Text-to-Speech edge-tts>=6.1.0 piper-tts>=1.2.0 # Local multilingual TTS: one ~385MB ONNX model covers 30 languages, so a # language switch needs no per-language download the way piper does. Pulls # onnxruntime (already required by piper-tts), numpy, soundfile and # huggingface-hub — all of which we install anyway. supertonic>=1.3.1 # Utilities pytz>=2023.3 # IANA timezone database for stdlib zoneinfo. Required on Windows, which ships no # system tz database — without it a configured timezone.value silently falls back to # the machine's own zone. Pure data, no code. tzdata>=2024.1 silero-vad>=4.0.0 smbprotocol>=1.10.0 # Live CPU/RAM metrics for the health dashboard (optional — degrades to "n/a" if absent) psutil>=5.9.0 # Optional error reporting — only active when crash_reporting.sentry_dsn is set sentry-sdk[flask]>=2.0,<3 # Optional: For better performance # ffmpeg-python>=0.2.0 # Requires ffmpeg installed on system # Optional: LLM translation with live_translation.llm.provider = "local". # Runs a GGUF in-process — no separate server, installer or port — and unlike an NMT # model it can be told the domain ("render biblical terminology as English Bibles # do"), which fixes a class of error no decoding parameter reaches. Left commented out # because it is a large build and most installs will not use it; the "endpoint" # provider needs nothing extra and talks to any OpenAI-compatible server. # # pip install llama-cpp-python # # The PyPI wheel is CPU-only on every platform, which works and is the safe default # (a caption is short — measured p50 19 output tokens). For acceleration: # macOS ARM — the PyPI wheel already includes Metal # CUDA — needs a matching prebuilt wheel, the same pattern as torch above: # pip install llama-cpp-python \ # --extra-index-url https://abetlen.github.io/llama-cpp-python/whl/ # llama-cpp-python>=0.3.0