ASR Project is a production-oriented workspace for building custom Automatic Speech Recognition (ASR) models and related audio ML tooling.
This repository provides a practical foundation for end-to-end speech ML workflows:
- dataset preparation and versioning;
- feature engineering and model training;
- evaluation with ASR metrics (WER/CER and related checks);
- reproducible experiments and inference-ready packaging.
src/asr/- application source code (data,features,models,training,inference,utils).data/- local datasets (raw,interim,processed,external).notebooks/- exploratory and experiment notebooks.configs/- experiment and pipeline configuration files.scripts/- CLI and automation scripts.models/,checkpoints/,artifacts/,logs/- training outputs and runtime artifacts.tests/- unit and integration tests.docs/- project and code documentation in multiple languages.
Documentation is organized by language and purpose.
Language support:
docs/en/- English documentation.docs/ru/- Russian documentation.
Detailed dataset installation and downloader docs:
- English:
docs/en/code-documentation/scripts_data_download.md - Russian:
docs/ru/code-documentation/scripts_data_download.md
Requirements:
- Python 3.12+
- Poetry
Install project dependencies:
poetry install --with devInstall ML stack when needed:
poetry install --with dev,mlRun quality checks:
poetry run ruff check .
poetry run mypy src tests
poetry run pytestQuick dataset download example:
bash scripts/data_download.sh --datasets allInstall SOVA from local pre-downloaded archive:
bash scripts/data_download.sh --sova-archive /path/to/RuDevices.tarSource for manual SOVA archive download:
https://disk.yandex.ru/d/jz3k7pnzTpnTgw
Resume interrupted or verify existing dataset downloads:
bash scripts/data_download.sh --datasets golosForce full re-download of built-in downloadable datasets:
bash scripts/data_download.sh reinstall-allRetry policy overview:
- request-level retries:
5 - dataset-level retries:
3 - global pipeline retries:
5
Start notebooks:
poetry run jupyter labPre-commit is configured for ruff, mypy, and pytest.
Setup:
poetry run pre-commit install
poetry run pre-commit run --all-filesRun all tests:
poetry run pytestRun integration tests only:
poetry run pytest -m integrationContribution guide: CONTRIBUTING.md.
Security policy and responsible disclosure contacts: SECURITY.md.
This project is licensed under Apache License 2.0. See LICENSE.