Download Latest Version ESPnet version 202610.post1 source code.zip (25.9 MB) Google Add to Preferred Sources
Home / v.202609
Name Modified Size InfoDownloads / Week
Parent folder
ESPnet version 202609 source code.tar.gz 2026-09-02 21.1 MB
ESPnet version 202609 source code.zip 2026-09-02 25.6 MB
README.md 2026-09-02 8.8 kB
Totals: 3 Items   46.7 MB 0

Summary

Overview

ESPnet3 reaches a working end-to-end recipe: egs3/librispeech_100 trains, decodes and scores an E-Branchformer from run.py alone and reproduces the ESPnet2 result. The CI was rebuilt around a prebuilt container image, halving compute per run and cutting the longest job from 75 to 32 minutes, with nine configuration invariants now enforced rather than assumed. OpenBEATs lands as encoder, pretraining and an AudioSet-2M recipe, and ten new recipes arrive across five task types. This release requires Python 3.12 or 3.13.


Requirements — read before upgrading

202604 202609
Python >=3.10 >=3.12,<3.14
PyTorch 2.9.1 2.9.1, 2.10.0, 2.11.0

Python 3.10 and 3.11 are no longer supported. A date-based version number gives no hint of this, so: pip install espnet on 3.10 or 3.11 will resolve to 202604 or earlier. 3.12 is the new floor because 3.10 reaches end of life in October 2026. PyTorch tops out at 2.11.0 because torchaudio has no 2.12 or 2.13 release and ESPnet installs the two as a matched pair.


Important PRs

🎯 ESPnet3 runs a complete recipe

  • PR [#6418]: Added the LibriSpeech-100h recipe — egs3/librispeech_100. Trains, decodes and scores from run.py, configured with OmegaConf / Hydra rather than shell stages, and reaches parity with the ESPnet2 result (pretrained model).
  • PR [#6416]: Config file names become the default experiment and inference directory names.
  • PR [#6342] & [#6338]: Added the demo and publication stages.
  • PR [#6517]: Added BaseIterator with DDP epoch-end synchronisation for dataloaders.
  • PR [#6494]: Added the TER metric.
  • PR [#6514]: General component for TTS recipes (f5-tts groundwork).
  • PR [#6509], [#6487], [#6469], [#6443], [#6350]: Fixes to AverageCheckpointsCallback, the preprocessor, the publication stage, parallel processing, and the data organizer / dataloader.
  • PR [#6392] & [#6434]: Integration tests for the ASR and demo stages.
  • PR [#6513]: Fixed data_aug_effects nesting in the librispeech_100 E-Branchformer config.

🚀 CI rebuilt on a prebuilt image

Measured against a run from before this work: total compute per run 2414 → 1226 min, longest single job 75 → 32 min.

  • PR [#6563], [#6573], [#6575], [#6576], [#6577]: The environment moved into a prebuilt image published per python × pytorch variant, replacing ~8 min of setup in each of ~100 jobs. resolve_ci_image probes the registry and falls back to building the environment when the image for a hash is not published, so a PR that changes the image inputs degrades to slow-but-correct rather than failing.
  • PR [#6579] & [#6588]: Split the two longest jobs. The asr integration task (61 min) became three, and the asr configuration task (64 min) became three round-robin shards, chosen from the measured per-item distribution.
  • PR [#6589]: A newer master run now cancels the superseded one, instead of every merge leaving a full run alive.
  • PR [#6583], [#6585], [#6596]: Every workflow declares least-privilege permissions. The repository default turned out to be write on almost everything, on jobs that check out and run pull request code.
  • PR [#6591] & [#6593]: Every third-party action is pinned to a commit SHA, and CODECOV_TOKEN — a secret since 2024 — is actually used.
  • PR [#6586]: Removed actions/checkout@master from nine workflows. That branch was abandoned in July 2020, so those jobs had been checking out with v2-era code.
  • PR [#6595]: Python 3.12 / 3.13, and deleted tools/setup.py, which duplicated pyproject.toml, could not execute, and had been attracting Dependabot PRs.
  • PR [#6597]: k2 is installed again. The pin dated from November 2021 and its guard refused any newer PyTorch, so the installer had been skipping silently for four years and the use_k2 integration tests had never run once.
  • PR [#6582], [#6584], [#6578], [#6590], [#6601]: Five infrastructure flakes fixed at the cause — apt repository 403s, a chocolatey install reporting success after installing nothing, torch.hub's anonymous GitHub API limit, Hugging Face 429s during tests, and TLS handshake failures fetching the kaldi binary.
  • PR [#6565], [#6568]: kaldiio is an optional extra, because its licence does not permit redistribution, and the image build fails if it is ever baked in.

🔊 OpenBEATs

  • PR [#6436]: BEATs encoder and tokenizer modules.
  • PR [#6437]: BEATs pretraining.
  • PR [#6498]: AudioSet-2M pretraining recipe — egs2/audioset/ssl1.

📚 New recipes

Ten new recipes across five task templates.

  • PR [#6491]: heroico/asr1 — Spanish ASR.
  • PR [#6476]: kn_openslr126/asr1 — IISc-MILE Kannada ASR.
  • PR [#6461]: ta_openslr127/asr1 — IISc-MILE Tamil ASR.
  • PR [#6274]: marathi_lrec2020 — Marathi ASR, from the ESPnet bootcamp.
  • PR [#6452]: magicdata_ramc/asr1 — MagicData-RAMC conversational Mandarin ASR.
  • PR [#6539]: thorsten/tts1 — Thorsten-Voice German single-speaker TTS.
  • PR [#6488]: dailytalk/tts1 — multi-speaker VITS.
  • PR [#6524]: meld/cls1 — speech emotion recognition.
  • PR [#6457]: multimed_st/s2t1 — MultiMed-ST with OWSM v4 small fine-tuning.
  • PR [#6449]: Refined ML-SUPERB2 MMS CTC recipes (existing corpus).

🔒 Behaviour changes worth knowing about

  • PR [#6526] & [#6541]: safe_torch_load no longer falls back to unsafe loading automatically; it must be opted into explicitly, and the BEATs checkpoint paths no longer carry an implicit fallback.
  • PR [#6413]: trust_remote_code is no longer hardcoded to True; it is configurable and defaults to False.

🗣️ SpeechLM

Landing in pieces; not yet recipe-complete.

  • PR [#6421]: Updated modeling files.
  • PR [#6423]: Trainer and utilities.
  • PR [#6422]: Parallel strategies.
  • PR [#6420]: Multimodal IO and dataloader modules.

🐛 Bug fixes and stability

  • PR [#6548]: Fixed broken CommonVoice downloads across covost2, cvss, commonvoice, open_li52, open_li110 and owsm_v3.
  • PR [#6571]: utterance_mvn was including zero padding in its variance.
  • PR [#6567]: DownSample.forward passed a stray argument, raising TypeError on every call.
  • PR [#6427]: espnet2 reported version 0.0.0 after pip install.
  • PR [#6424]: Replaced deprecated torch.cuda.amp with torch.amp across espnet2.
  • PR [#6362]: Fixed division by zero in CTC builtin2 when every sample had a NaN gradient.
  • PR [#6490]: CategoryIterFactory was built with an unmapped folded batch_type.
  • PR [#6587]: Fixed trs-mode data preparation in puebla_nahuatl and yoloxochitl_mixtecTextRefine was missing text_format.
  • PR [#6492]: Silenced log spam from the text-length warning in CommonPreprocessor.
  • PR [#6445]: Fixed ModuleNotFoundError for the optional resampy in format_wav_scp.py.
  • PR [#6528], [#6527], [#6542]: MiniOmniE2EModel — ignored device argument, gapped and truncated audio output, generation settings not configurable.
  • PR [#6535], [#6534], [#6536], [#6538]: espnet2/sdssds1/setup.sh copied local/ from the slu1 template, an unhelpful error when HF_TOKEN was unset, GPU-only tests reported as passed rather than skipped, and an sds extra so the module can be installed.
  • PR [#6555]: dialog_eval builds its scoring models once instead of per utterance.
  • PR [#6363]: Raise NotImplementedError rather than returning silently, and avoid mutable default arguments.

Contributors

30 contributors, across 134 merged pull requests and 1183 commits since v.202604.

sw005320, Masao-Someki, amirlankalm, Fhrozen, jctian98, Anai-Guo, jaeyeonkim99, Aniket-Tathe, Mr-Neutr0n, NewGamezzz, Nithish-Sri-Ram, ColebyPearson, G-Thor, HartmannPsi, Kayvan-Zahiri, KuangDW, Pranjulcr7, RishabSA, RuiRuihigh, Shankar-Bharadwaj, Shunsuke32, Ting-Justin-Jiang, deekshaNVIDIA, itoten, nagohachi, vaibhav8a, yushuosun, and the copilot-swe-agent, dependabot and pre-commit-ci bots.

Full changelog: v.202604...v.202609

Source: README.md, updated 2026-09-02