numpy>=1.24.0
requests>=2.31.0

[all]
sounddevice>=0.4.6
webrtcvad>=2.0.10
PyAudio>=0.2.13
openai-whisper>=20230314
coqui-tts<0.30.0,>=0.27.0
torch<2.4.0,>=2.0.0
torchvision<0.19.0,>=0.15.0
torchaudio<2.4.0,>=2.0.0
librosa<0.11.0,>=0.10.0
soundfile>=0.12.1
flask>=2.0.0
tiktoken>=0.6.0

[audio-only]
sounddevice>=0.4.6
webrtcvad>=2.0.10
PyAudio>=0.2.13
soundfile>=0.12.1

[core-stt]
openai-whisper>=20230314
tiktoken>=0.6.0

[core-tts]
coqui-tts<0.30.0,>=0.27.0
torch<2.4.0,>=2.0.0
torchvision<0.19.0,>=0.15.0
torchaudio<2.4.0,>=2.0.0
librosa<0.11.0,>=0.10.0

[dev]
pytest>=7.0.0
black>=22.0.0
flake8>=5.0.0

[stt]
openai-whisper>=20230314
tiktoken>=0.6.0

[tts]
coqui-tts<0.30.0,>=0.27.0
torch<2.4.0,>=2.0.0
torchvision<0.19.0,>=0.15.0
torchaudio<2.4.0,>=2.0.0
librosa<0.11.0,>=0.10.0

[voice]
sounddevice>=0.4.6
webrtcvad>=2.0.10
PyAudio>=0.2.13
soundfile>=0.12.1

[voice-full]
sounddevice>=0.4.6
webrtcvad>=2.0.10
PyAudio>=0.2.13
openai-whisper>=20230314
coqui-tts<0.30.0,>=0.27.0
torch<2.4.0,>=2.0.0
torchvision<0.19.0,>=0.15.0
torchaudio<2.4.0,>=2.0.0
librosa<0.11.0,>=0.10.0
soundfile>=0.12.1
tiktoken>=0.6.0

[web]
flask>=2.0.0
