14. Further reading
Each page of this tutorial compresses one or more papers. The research section has a short, structured summary of each, with the numbers the paper reports and why it matters for vaak. This page maps tutorial topics to those summaries and lists a few primary sources outside the papers.
By tutorial page
Section titled “By tutorial page”A suggested order
Section titled “A suggested order”If you want the history in one sitting, read the research summaries in this order. Each one answers a question the previous one raised.
- CTC (2006): how to train without alignments.
- RNN Transducer (2012): how to keep streaming and still use output history.
- Listen, Attend and Spell (2015): the attention alternative.
- Conformer (2020): the encoder that most current models use.
- wav2vec 2.0 (2020) and XLS-R (2021): learning from unlabelled audio, then doing it in 128 languages.
- Whisper (2022): scale and weak supervision instead of self-supervision.
- FastConformer (2023) and TDT (2023): making Conformer transducers fast.
- IndicVoices (2024): the data problem for Indian languages.
- Vaani benchmark (2026) and Factors affecting Indic ASR (2026): how to evaluate Hindi honestly.
Primary sources outside the papers
Section titled “Primary sources outside the papers”These are code and documentation, not papers. They are the places to look when a detail in this tutorial does not match what a model actually does.
- Whisper’s reference implementation (
openai/whisperon GitHub), especiallyaudio.pyfor the log-mel recipe,tokenizer.pyfor the special tokens, anddecoding.pyandtranscribe.pyfor temperature fallback. - faster-whisper and CTranslate2 documentation, for the decoding options that
faster-whisper:backends accept. - NVIDIA NeMo documentation on ASR models, for Conformer, FastConformer, CTC and TDT configuration, cache-aware streaming, and SentencePiece tokenizers.
- Hugging Face
transformersdocumentation forWhisperForConditionalGeneration,Wav2Vec2ForCTCand thegenerateoptions (no_repeat_ngram_size,repetition_penalty). peftdocumentation forLoraConfigand merging adapters.pyctcdecodeand KenLM for CTC beam search with an n-gram language model.jiwerfor WER and CER, andtorchaudio.functional.forced_alignfor alignment.- Silero VAD for voice activity detection.
- AI4Bharat’s IndicConformer and IndicWav2Vec model cards, for the exact normalisation used in their training transcripts.
- The Unicode Standard chapter on Devanagari, for what NFC does and does not do to nukta and conjunct forms.
Datasets used by vaak
Section titled “Datasets used by vaak”- FLEURS (
google/fleurs): read speech, 102 languages, about 10 hours per language; the default for quick comparisons (fleurs-hi,fleurs-en). - Common Voice 17 (
mozilla-foundation/common_voice_17_0): crowd-sourced read speech with many speakers; needs a Hugging Face token (cv-hi). - Kathbath (
ai4bharat/Kathbath): read speech in 12 Indian languages from AI4Bharat (kathbath-hi). - IndicVoices (AI4Bharat): spontaneous and conversational speech, the closest to real-world Hindi; see its summary.
- Vaani Benchmark V1.0 (ARTPARK-IISc): spontaneous Hindi with three references per utterance; see its summary.
Every benchmark number on this site states its dataset and whether it was reproduced by vaak or published by the model’s authors. If you find a mismatch between a claim here and a paper, the paper wins; please open an issue.