Reference

Reproducibility

Everything needed to rerun the experiments and know how close a rerun should land.

Environment of the reported runs

OSWindows 11 (PowerShell and Git Bash)
Python3.13.4
PyTorch2.11.0+cu128
transformers4.57.6 (allowed range >=4.45,<6)
Other dependenciesnumpy >=1.26, scipy >=1.11, soundfile >=0.12, PyYAML >=6, matplotlib >=3.8, packaging >=23 (see requirements.txt)
GPUNVIDIA GeForce RTX 4060 Laptop, 8 GB total, about 6.5 GB free
Precisionfloat16 on CUDA (dtype: auto)
DecodingGreedy for both ASR (num_beams: 1) and LLM (do_sample: false), plus one warm-up pass
LaTeX (for the PDFs)MiKTeX 25.12, pdflatex

Models and revisions

RoleModelRevision
ASRvasista22/whisper-telugu-smallmain (unpinned; see Limitations)
LLMQwen/Qwen2.5-1.5B-Instruct989aa7980e4cf806f80c7fef2b1adb7bc71aa306
TTS (data generation)facebook/mms-tts-telmain

What is and is not deterministic

StepDeterministic?Detail
Question text and reference answersYesFixed lists and arithmetic in synthesize_corpus.py.
TTS audioNoThe TTS model's duration prediction is not seeded, so a fresh synthesis renders different audio for the same text.
Noise additionYes, given the clean audioNumPy generator seeded with 42.
Dataset subset selectionYesSeeded (42); with --limit 0 every sample is used.
ASR and LLM outputYes, for fixed audio and hardwareGreedy decoding. Not guaranteed bit-identical across hardware or library versions.
Latency numbersNoWall-clock time varies run to run and across machines.
Bootstrap intervalsYesSeeded (0 by default).
Expectation for a rerun Because the TTS audio differs on a fresh run, expect WER and CER in the same neighborhood as the reported values, not identical digits. The qualitative findings (noise hurts, denoiser flat, LLM never correct) should hold; the exact decimals will not.

Commands

The full ordered command list is on the Quickstart. In short: synthesize the corpus at --snr-db 0, build both manifests with --limit 0, run evaluate.py three times (clean; noisy with config.yaml; noisy with config_denoised.yaml), then plots, hallucination.py and bootstrap.py.

What is and is not in the repository

CommittedGit-ignored (regenerate or obtain locally)
All source, tests, both configs, README.md, requirements.txt, AGENTS.md, DraftTask1.md, the reports/ sources and PDFs, this docs/ siteoutputs/ (evaluation reports, plots), data/ (manifests), corpus_clean/, corpus_noisy/, .cache/ (model weights), tmp/, __pycache__/, .venv/, and the local copies of the two source papers (moshi.pdf, qwen omni.pdf)

The result plots and diagrams on this site are copies stored in docs/assets/img/ so the site works without the ignored folders.

Commit history

CommitDateMessage
5df1efa2026-10-24docs: add unified ACL-style report with bootstrap confidence intervals
c83d51e2026-10-24feat: add explicit correctness and hallucination rate to Task 2
b205d732026-10-24feat: finalize Task 1 report and run real Task 2 evaluation
2e87b8b2026-10-23feat: verify Task 2 setup and mock metrics
4fa0cde2026-10-23feat: plot evaluation quality and latency
965bb5c2026-10-23feat: prepare reproducible Telugu test datasets
02c63c62026-10-23docs: record incremental commit workflow
56fcb352026-10-23feat: add paired speech pipeline evaluation
e3dfd042026-10-23feat: add Telugu speech pipeline

Check the repository for anything newer than this table.

Rebuilding the PDFs

cd reports
pdflatex report.tex   # twice, for cross-references
pdflatex report.tex
pdflatex task1.tex
pdflatex task2.tex

The paper's Part II figures include outputs/plots/*.png; task2.tex does too. task1.tex is self-contained (its diagrams are TikZ). The sources contain no Telugu script because plain pdflatex cannot render it.