SraVaani-1.0 GGUF

GGUF conversions of ARTPARK-IISc/SraVaani-1.0, an Indic multilingual speech recognition model, for CPU inference with parakeet.cpp.

No Python, no PyTorch, no NeMo, no ONNX Runtime. One file and one binary.

Files

file size notes
sravaani-q8_0.gguf 660 MB recommended. Byte-identical output to f16 in testing
sravaani-f16.gguf 1016 MB full precision relative to the source weights
sravaani-q4_k.gguf 471 MB smallest; shows occasional orthographic variants

Usage

Get a parakeet-cli binary from parakeet.cpp releases, then:

parakeet-cli transcribe --model sravaani-q8_0.gguf --input clip.wav --decoder tdt --threads 4

Three things matter:

  • --decoder tdt is required. This is a token-and-duration transducer, not CTC.

  • Do not pass --lang. The model detects language automatically and outputs native script. It has no language token.

  • Input must be 16 kHz mono 16-bit PCM WAV. parakeet.cpp reads nothing else. Convert first:

    ffmpeg -i in.any -ac 1 -ar 16000 -c:a pcm_s16le out.wav
    

Model

architecture NeMo FastConformer-TDT (transducer)
parameters 443.62M
encoder 1024 d_model, 17 layers, 8 heads
subsampling dw_striding x8, 256 channels
features 128 mel, n_fft 512, win 400, hop 160, 16 kHz
predictor 1 LSTM layer, 640 hidden
joint 640 hidden, 5006 outputs (5000 vocab + blank + 5 durations)
tokenizer SentencePiece, 5000 pieces, embedded in the GGUF

Benchmark

Intel i7 laptop, CPU only, single Hindi utterance, best of 3 runs.

model size 1 thr 2 thr 4 thr 8 thr WER vs f16
f16 1016 MB 3.04 s 2.07 s 1.30 s 1.20 s 0.000
q8_0 660 MB 2.35 s 1.86 s 1.49 s 1.33 s 0.000
q4_k 471 MB 2.52 s 1.98 s 1.51 s 1.36 s 0.062

Roughly 6 to 7x faster than realtime. Returns collapse past 4 threads.

q4_k's single error was यह where f16 gave ये, both valid Hindi for "this", so the 0.062 overstates the real gap on this sample.

How these were made

SraVaani ships only a TorchScript graph, with no .nemo checkpoint, so the conversion tool had nothing to read. The checkpoint was reconstructed:

  1. Weights extracted from the TorchScript module and remapped to NeMo names.
  2. Architecture hyperparameters recovered from tensor shapes, with xscaling determined empirically by measuring the positional encoding's output gain.
  3. Validated by a strict load_state_dict against a freshly built EncDecRNNTBPEModel: 705 of 705 tensors, zero missing, zero unexpected, zero shape mismatches.
  4. Verified by an exact transcript match against the original implementation.
  5. Converted with parakeet.cpp's convert_parakeet_to_gguf.py.

Limitations

  • Accuracy testing here is limited to Hindi. Tamil and Telugu in particular are untested in these conversions and are known weaker languages for this model family.
  • The base model has a documented weakness on overlapping speakers and crosstalk.
  • WER figures compare quantised output against f16 output, not against ground truth. They measure quantisation damage, not accuracy.

Credit

All model weights and training are the work of ARTPARK at IISc. This repository contains format conversions only, released under the same MIT License as the original.

Downloads last month
72
GGUF
Model size
0.4B params
Architecture
parakeet
Hardware compatibility
Log In to add your hardware

8-bit

16-bit

Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for Henil1/Sravaani-1.0-GGUF

Quantized
(3)
this model