Quickstart
1. Install
Section titled “1. Install”pip install "vaak[whisper]"ffmpeg must be on your PATH. See installation for CUDA and other extras.
2. Transcribe a file
Section titled “2. Transcribe a file”vaak transcribe clip.mp3 --language hiPrints the transcript to stdout. The default model is faster-whisper:small. Add --json to get the full Transcript object including segments and the real-time factor:
vaak transcribe clip.mp3 --model faster-whisper:small --language hi --jsonLeave out --language to auto-detect.
3. Use it from Python
Section titled “3. Use it from Python”from vaak import get_backend, load_audio
audio = load_audio("clip.wav") # float32 numpy, 16 kHz monobackend = get_backend("faster-whisper:small") # lazy: weights load on first useresult = backend.transcribe(audio, language="hi") # language=None -> auto-detectprint(result.text)print(result.language, result.rtf)result.segments is a list of Segment(start, end, text). See the Python API guide.
4. Start a server
Section titled “4. Start a server”vaak serveBy default this loads faster-whisper:small and listens on http://127.0.0.1:8000. Try it:
curl -F file=@clip.mp3 -F language=hi http://localhost:8000/v1/transcribeResponse:
{ "text": "...", "language": "hi", "segments": [{"start": 0.0, "end": 2.4, "text": "..."}], "duration": 2.4, "rtf": 0.08, "backend": "faster-whisper", "model": "small"}The server also exposes /v1/audio/transcriptions, which accepts the same request shape as OpenAI’s endpoint, and a WebSocket at /v1/stream. See the HTTP API guide.
5. Try another backend
Section titled “5. Try another backend”pip install "vaak[nemo]"vaak transcribe clip.mp3 --model indic-conformer:hivaak models lists everything that is installed. Spec strings are documented in model specs.
- Live demo in the browser, or pointed at the server you just started.
- Benchmarks to pick a model for your language and hardware.
- Docker to run the server without a Python environment.