File size: 1,871 Bytes
76db545
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
c154b17
 
 
76db545
 
 
 
 
 
 
 
 
 
 
65942ec
 
76db545
 
 
 
 
 
 
 
 
 
 
6f4d8d0
 
 
dd38e25
49910a9
 
 
fddb44b
 
 
 
 
49910a9
c154b17
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# -----------------------------------------------------------------------------
# Sahel-Agri Voice AI — Python Dependencies
# HuggingFace Spaces (ZeroGPU) deployment — CUDA pre-installed, no +cu128 suffix
#
# Local CPU test:
#   pip install -r requirements.txt
# -----------------------------------------------------------------------------

# PyTorch (CPU build — works on HF Spaces cpu-basic and locally)
torch==2.11.0
torchaudio==2.11.0

# HuggingFace core
transformers==5.5.0
datasets==4.8.4
accelerate==1.13.0
evaluate==0.4.2
huggingface-hub==1.9.0

# PEFT (LoRA adapters)
peft==0.18.1

# Audio processing
librosa==0.10.2
soundfile==0.12.1
audiomentations==0.43.1

# Quantization (CPU: installs fine; 4-bit/8-bit requires GPU at runtime)
bitsandbytes==0.49.2

# Metrics
jiwer==3.0.4

# Config & environment
pyyaml==6.0.2
python-dotenv==1.1.0

# Gradio version is controlled by sdk_version in README.md — do not pin here
# to avoid conflict with the version HF Spaces pre-installs.

# Pydantic v2
pydantic==2.11.3

# Testing
pytest==8.3.5
pytest-asyncio==0.26.0

# Utilities
numpy==2.2.4
scipy==1.15.2

# Phrase matching (fuzzy match for Whisper mis-transcriptions of Bambara/Fula)
rapidfuzz==3.13.0

# Speaker identification (ECAPA-TDNN 192-d embeddings, used by SpeakerProfileManager)
speechbrain>=0.5.15

# Voice cloning (OpenVoice V2 / myshell-openvoice) is NOT listed here.
# myshell-openvoice pins librosa==0.9.1 which conflicts with our librosa==0.10.2.
# VoiceCloner in src/tts/voice_cloner.py degrades gracefully (returns None) when
# the package is absent — base VITS voice is used instead.
# Re-enable once OpenVoice releases a version compatible with librosa>=0.10.

# maliba-ai is NOT listed here — it has strict conflicting pins (librosa, soundfile).
# It is installed lazily at runtime on first Bambara TTS call (see src/tts/waxal_tts.py).