| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143 |
- # Trixy Voice Assistant - Client/Satellite Requirements
- # ===================================================
- # Minimal dependencies for client/satellite deployment mode
- # Focused on wakeword detection, audio streaming, and server communication
- # Core Python libraries
- typing-extensions>=4.0.0 # Enhanced type hints for older Python versions
- # Audio processing (minimal ML for wakeword detection)
- torch>=1.11.0,<2.0.0 # PyTorch for wakeword model inference only
- torchaudio>=0.11.0,<1.0.0 # Audio processing for wakeword detection
- numpy>=1.21.0,<2.0.0 # Numerical computing foundation
- # Audio I/O and real-time processing
- soundfile>=0.10.3 # Audio file I/O support
- pyaudio>=0.2.11 # Real-time audio input/output
- sounddevice>=0.4.0 # Alternative audio I/O library
- # Network communication
- requests>=2.25.0 # HTTP requests for server communication
- websockets>=10.0 # WebSocket client for real-time communication (if used)
- # Configuration management
- pyyaml>=6.0 # YAML configuration file support
- pydantic>=1.8.0,<2.0.0 # Configuration validation
- # Audio processing utilities (lightweight)
- scipy>=1.7.0 # Signal processing for audio preprocessing
- librosa>=0.9.0 # Basic audio feature extraction
- # Voice Activity Detection
- webrtcvad>=2.0.0 # WebRTC VAD for voice detection
- silero-vad>=4.0.0 # Silero VAD models (lightweight)
- # System monitoring (basic)
- psutil>=5.8.0 # System resource monitoring
- # Logging and error handling
- structlog>=21.0.0 # Structured logging
- rich>=12.0.0 # Rich console output for status display
- # Cryptography for secure communication
- cryptography>=3.4.8 # Secure model loading and communication
- # File system monitoring for config changes
- watchdog>=2.1.0 # Configuration file monitoring
- # Date and time utilities
- python-dateutil>=2.8.0 # Enhanced date/time parsing
- # Audio format support
- pydub>=0.25.0 # Audio format conversion (optional)
- # Memory management
- memory-profiler>=0.60.0 # Memory usage monitoring
- # Threading and async support
- asyncio-compat>=0.1.0 # Async compatibility utilities (if needed)
- # Audio buffer management
- collections-extended>=2.0.0 # Enhanced collections for audio buffering
- # Error reporting
- better-exceptions>=0.3.0 # Enhanced error reporting for debugging
- # Platform-specific audio dependencies
- # Note: These may require system-level installations
- # Linux: python3-pyaudio, libasound2-dev, portaudio19-dev
- # macOS: portaudio (via Homebrew)
- # Windows: Usually included with PyAudio
- # Minimal ML inference utilities
- joblib>=1.1.0 # Model loading and persistence
- scikit-learn>=1.0.0 # Basic ML utilities and preprocessing
- # Audio codecs and format support
- audioread>=2.1.0 # Audio file reading backend
- # Optional: Advanced audio processing (only if needed)
- # resampy>=0.2.2 # High-quality audio resampling
- # pyroomacoustics>=0.6.0 # Room acoustics (for noise reduction)
- # Client-specific utilities
- click>=8.0.0 # Command line interface
- typer>=0.4.0 # Modern CLI framework
- # Configuration and environment
- python-dotenv>=0.19.0 # Environment variable management
- # Network utilities
- urllib3>=1.26.0 # HTTP library utilities
- # Data serialization
- msgpack>=1.0.0 # Efficient data serialization for network
- # Time synchronization
- ntplib>=0.3.0 # NTP client for time synchronization
- # Audio stream management
- threading-timer>=1.0.0 # Timer utilities for audio streaming
- # Signal processing for wakeword detection
- scipy>=1.7.0 # Already included, signal processing
- # Model format support (minimal)
- onnx>=1.12.0 # ONNX model format (if models are in ONNX)
- onnxruntime>=1.12.0 # ONNX runtime for inference
- # Optional: Hardware-specific optimizations
- # For Raspberry Pi and ARM devices:
- # pip install torch torchaudio -f https://download.pytorch.org/whl/torch_stable.html
- # System requirements notes:
- # - Audio system: ALSA/PulseAudio (Linux), CoreAudio (macOS), DirectSound (Windows)
- # - Microphone access permissions
- # - Network access to server
- # - Minimum 512MB RAM for basic operation
- # - ARM64/x86_64 compatible PyTorch build
- # Installation for different platforms:
- #
- # Raspberry Pi 4 (ARM64):
- # pip install torch torchaudio --index-url https://download.pytorch.org/whl/cpu
- # sudo apt-get install portaudio19-dev python3-pyaudio
- #
- # Ubuntu/Debian:
- # sudo apt-get install portaudio19-dev python3-pyaudio libasound2-dev
- # pip install -r requirements-client.txt
- #
- # macOS:
- # brew install portaudio
- # pip install -r requirements-client.txt
- #
- # Windows:
- # pip install -r requirements-client.txt
- # (PyAudio wheel usually includes PortAudio)
- # Performance notes:
- # - Keep PyTorch CPU-only for client devices to reduce size
- # - Use quantized models for faster inference on edge devices
- # - Consider ONNX Runtime for better performance on some hardware
- # Approximate install size: ~500MB (much smaller than full ML environment)
|