|
Download README.md from Henil1/Sravaani-1.0-GGUF: direct link, hf CLI and curl.
- Browser
- Download file 3.93 kB
-
https://huggingface.co/Henil1/Sravaani-1.0-GGUF/resolve/main/README.md
- Command line
-
hf download hf://Henil1/Sravaani-1.0-GGUF/README.md
-
curl -L -o README.md https://huggingface.co/Henil1/Sravaani-1.0-GGUF/resolve/main/README.md
3.93 kB
| license: mit | |
| base_model: ARTPARK-IISc/SraVaani-1.0 | |
| library_name: parakeet.cpp | |
| pipeline_tag: automatic-speech-recognition | |
| tags: | |
| - gguf | |
| - ggml | |
| - parakeet.cpp | |
| - asr | |
| - speech-recognition | |
| - indic | |
| - hindi | |
| - conformer | |
| - transducer | |
| - tdt | |
| language: | |
| - hi | |
| - mr | |
| - ta | |
| - te | |
| - bn | |
| - gu | |
| - kn | |
| - ml | |
| - pa | |
| - or | |
| - as | |
| - en | |
| # SraVaani-1.0 GGUF | |
| GGUF conversions of [ARTPARK-IISc/SraVaani-1.0](https://huggingface.co/ARTPARK-IISc/SraVaani-1.0), | |
| an Indic multilingual speech recognition model, for CPU inference with | |
| [parakeet.cpp](https://github.com/mudler/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](https://github.com/mudler/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](https://huggingface.co/ARTPARK-IISc). This repository contains format conversions only, released under the same MIT License as the original. | |