urdu-s2s-mvp / docs /live_s2s_runtime.md
sufinity's picture
Deploy Urdu S2S MVP
c759578 verified
|
Raw
History Blame Contribute Delete
2.22 kB

A newer version of the Gradio SDK is available: 6.24.0

Upgrade

Live Urdu S2S Runtime

Use this once you want to run the real Urdu S2S service:

ASR audio -> Urdu reply -> Devanagari bridge -> Praxy/Chatterbox WAV

Preflight

PYTHONPATH=src:scripts python3 scripts/s2s_live_preflight.py

The command checks:

  • sample input WAV exists
  • Praxy voice anchor exists
  • OPENAI_API_KEY is present
  • faster-whisper, chatterbox-tts, and soundfile are importable
  • Python version is likely compatible

Recommended Runtime

Use Python 3.10, 3.11, or 3.12 for the live ML audio environment. The current local .venv may be Python 3.14, which is likely to be brittle for these dependencies.

python3.11 -m venv .venv-live-s2s
source .venv-live-s2s/bin/activate
pip install -r requirements-live-s2s.txt

Then set the OpenAI key in the shell:

export OPENAI_API_KEY="..."
export OPENAI_MODEL="gpt-4o-mini"

Full Local Smoke Command

PYTHONPATH=src:scripts python3 scripts/run_s2s_live.py \
  --audio-path data/raw/benchmarks/gemini_urdu_s2s_v1/audio/bench_001.wav \
  --asr-provider faster_whisper \
  --whisper-model large-v3 \
  --whisper-device cpu \
  --whisper-compute-type int8 \
  --tts-provider chatterbox_praxy \
  --tts-audio-path reports/evals/s2s_live_bench_001_praxy.wav \
  --output-json reports/evals/s2s_live_bench_001.json

For a CUDA GPU box, use:

  --whisper-device cuda \
  --whisper-compute-type float16 \
  --chatterbox-device cuda

API Live TTS Mode

Start the API:

PYTHONPATH=src:scripts python3 scripts/serve_s2s_api.py --host 0.0.0.0 --port 8017

Generate a live Praxy/Chatterbox response WAV:

curl -X POST "http://127.0.0.1:8017/s2s?mode=live_tts&request_id=live_bench_001&prompt_roman_urdu=Assalam%20o%20alaikum&whisper_device=cuda&whisper_compute_type=float16&chatterbox_device=cuda" \
  -F "audio=@data/processed/benchmarks/gemini_urdu_s2s_v1/audio_canonical/bench_001.wav"

The generated WAV is saved under artifacts/api_tts_outputs/{request_id}.wav and is served from /s2s/{request_id}/audio.

Current Local Blockers

If preflight reports missing dependencies or Python 3.14, use a Python 3.11/3.12 runtime or run the same command on the GPU box.