| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| ESPnet version 202610 source code.tar.gz | 2026-09-19 | 21.3 MB | |
| ESPnet version 202610 source code.zip | 2026-09-19 | 25.8 MB | |
| README.md | 2026-09-19 | 10.0 kB | |
| Totals: 3 Items | 47.1 MB | 0 | |
Summary
Overview
A published model is now something you can try in one line: pip install espnet then espnet asr audio.wav transcribes, translates, synthesizes, or enhances with any model from the organization, and the failures that used to end in a traceback now say what to do instead. Two OWSM v4 demos run on ZeroGPU as Hugging Face Spaces, owsm-ctc-v4 and owsm-v4, maintained from this repository rather than edited on the Hub, and every demo link the documentation carries is now checked daily — four of the five it had were dead, some since 2021. Installation is smaller: the training stack moved out of the core install, so pip install espnet is an inference install (30 core dependencies down to 21) and training is pip install espnet[train]. Decoding is faster too: beam search runs a batch of utterances at once, the CTC prefix score is windowed, and espnet3 decodes test sets in batches by default.
Requirements — read before upgrading
| 202609 | 202610 | |
|---|---|---|
| Python | >=3.12,<3.14 |
unchanged |
| PyTorch | 2.9.1, 2.10.0, 2.11.0 | 2.11.0, 2.13.0, 2.14.0 |
pip install espnet |
includes the training stack | inference only — training is espnet[train] |
If you train, install espnet[train]. The core install no longer carries lightning, tensorboard, wandb, hydra, datasets or dask; an inference-only user was downloading all of them. espnet[all] remains everything, and each task extra (asr, tts, enh, …) is unchanged.
PyTorch 2.9.1, 2.10.0 and 2.12.x are gone. 2.12 is excluded deliberately: there is no torchaudio for it. torchaudio stays at 2.11.0 for every supported torch above 2.11, which was verified rather than assumed — its native libraries import only PyTorch's stable ABI, and resample, MelSpectrogram, Spectrogram, and compliance.kaldi.fbank were run against both 2.13.0 and 2.14.0.
One correctness fix worth naming: PR [#6131] fixed a typo that caused data leakage.
Important PRs
Enhancement
- PR [#6610]: Window the CTC prefix score, on by default for ASR (by @sw005320)
Recipe
- PR [#6713]: Link the OWSM v4 Space now that it is up (by @sw005320)
- PR [#6711]: Two OWSM v4 demos with the same tasks, one per model (by @sw005320)
- PR [#6709]: Keep the demo's card inside the limits the Hub enforces (by @sw005320)
- PR [#6707]: Point the demo links at demos that work, and notice when one rots (by @sw005320)
- PR [#6689]: Add a Space-ready Gradio demo for OWSM-CTC v4 (by @sw005320)
- PR [#6678]: Support PyTorch 2.13.0 and 2.14.0, drop 2.9.1, 2.10.0 and 2.12.1 (by @sw005320)
- PR [#6675]: Recommend maxlenratio=0 in the OWSM v4 README (by @amirlankalm)
- PR [#6668]: Normalise line endings to LF and add the pre-commit hook that keeps them (by @sw005320)
- PR [#6666]: Refine CONTRIBUTING.md, drop ESPnet1 content, delete utils/apply_code_fixes.py (by @sw005320)
- PR [#6664]: Parse YAML and dict arguments without executing them (by @sw005320)
- PR [#6659]: Voxtlm v1 update (by @RuiRuihigh)
- PR [#6658]: Decode espnet3 test sets in batches by default (by @sw005320)
- PR [#6656]: [espnet3-recipe] Add SPGISpeech ASR recipe (by @chenehk)
- PR [#6625]: Replace kaldiio with omniio for Kaldi ark/scp I/O (by @sw005320)
- PR [#6475]: Add VGGSound classification recipe (by @xiquan-li)
Bugfix
- PR [#6681]: Let the k2 assertion read the list of versions k2 has no wheel for (by @sw005320)
- PR [#6633]: Derive Conv*Subsampling masks from per-utterance lengths (by @modelpath-dev)
- PR [#6621]: Follow cuda availability instead of hardcoding
use_gpu=Trueindialog_eval(by @amirlankalm) - PR [#6605]: [espnet3] Make EpochSyncIterator re-iterable so chunk-factory training survives past epoch 0 (by @NewGamezzz)
Documentation
- PR [#6702]: Let all cover every task extra (by @sw005320)
- PR [#6697]: Move the training and espnet3 stacks out of the core dependencies (by @sw005320)
- PR [#6663]: [espnet3] Reformat docstrings for Sphinx/Napoleon rendering (by @Masao-Someki)
- PR [#6651]: Bump js-yaml in /doc/vuepress (by @dependabot[bot])
- PR [#6640]: Fix nanoid advisories in the docs lockfile (by @sw005320)
- PR [#6611]: Declare the three forks as PyPI packages instead of git URLs (by @sw005320)
- PR [#6603]: Bump browserslist from 4.23.2 to 4.28.8 in /doc/vuepress (by @dependabot[bot])
- PR [#6396]: Update hubert doc (by @NewGamezzz)
Others
- PR [#6712]: Compare paths as paths when checking a Space's app_file (by @sw005320)
- PR [#6710]: Give ESPnet a command line for trying a published model (by @sw005320)
- PR [#6708]: Assert that every inference class fetches through the shared helper (by @sw005320)
- PR [#6706]: Say what to do when from_pretrained cannot load a published model (by @sw005320)
- PR [#6701]: Cite OpenBEATs in the README bibliography (by @sw005320)
- PR [#6694]: Add the missing ESPnet toolkit papers to the README bibliography (by @sw005320)
- PR [#6693]: Do not run the integration tests on a pull request that cannot reach them (by @sw005320)
- PR [#6692]: Say in the README what each CI column actually covers (by @sw005320)
- PR [#6691]: Add espnet-mcp, a Model Context Protocol server over the inference classes (by @sw005320)
- PR [#6690]: Give the s3prl adapter tests a budget that covers the download (by @sw005320)
- PR [#6687]: Check that the k2 assertion and the k2 gap list still agree (by @sw005320)
- PR [#6685]: Run the integration grid against one pytorch on pull requests (by @sw005320)
- PR [#6684]: Give the streaming ASR/ST and classification classes from_pretrained (by @sw005320)
- PR [#6683]: Drop the ESPnet1 results and command-line demos from the README (by @sw005320)
- PR [#6682]: Point the README quick start at OWSM-CTC and show how to publish a demo (by @sw005320)
- PR [#6680]: Build FastSpeech 2's decoder mask from the durations it actually used (by @sw005320)
- PR [#6679]: Guard each optional package on its own (by @sw005320)
- PR [#6672]: Bump anthropics/claude-code-action from 1.0.216 to 1.0.222 (by @dependabot[bot])
- PR [#6667]: Summarise an ended hypothesis for end detection once, not at every step (by @sw005320)
- PR [#6665]: Stop the nltk download from prompting, and retry it (by @sw005320)
- PR [#6662]: Load the pretrained-vocoder config with yaml.safe_load (by @sw005320)
- PR [#6660]: Keep the encoder's time convolutions from reading padded frames (by @sw005320)
- PR [#6657]: Label pull requests by path, with globs that match something (by @sw005320)
- PR [#6653]: Download through one retrying helper, and check that every site uses it (by @sw005320)
- PR [#6652]: Follow versa's v1.1.0 tag rather than the commit we happened to test (by @sw005320)
- PR [#6650]: Report daily the workflows failing where no pull request shows it (by @sw005320)
- PR [#6649]: Split debian12's test step per suite, but not into separate jobs (by @sw005320)
- PR [#6647]: Bagpiper-Integration-3: Recipe (by @jctian98)
- PR [#6646]: Bagpiper-Integration-2: Trainer (by @jctian98)
- PR [#6645]: Bagpiper-Integration-1: Installation (by @jctian98)
- PR [#6643]: Say which versions are skewed when torchaudio fails to load (by @sw005320)
- PR [#6642]: Constrain torch when installing torcheval, but do not pin torcheval (by @sw005320)
- PR [#6639]: Bump anthropics/claude-code-action from 1.0.211 to 1.0.216 (by @dependabot[bot])
- PR [#6638]: Bump docker/setup-qemu-action from 4.2.0 to 4.3.0 (by @dependabot[bot])
- PR [#6635]: Pin
install_versa.shto the versa commitdialog_evalwas checked against (by @amirlankalm) - PR [#6634]: Put the
dialog_evaltext metrics on the available device instead of calling.cuda()(by @amirlankalm) - PR [#6632]: Cache the model downloads that have taken jobs down: Hugging Face, torch.hub, s3prl (by @sw005320)
- PR [#6629]: Unbreak the docker publish, and pin every version declaration to one file (by @sw005320)
- PR [#6628]: Warn once, not per batch, when a decoder cannot take the padding mask (by @sw005320)
- PR [#6623]: Use safe_torch_load in handle_finetuned_checkpoint (by @sw005320)
- PR [#6622]: Make the Qwen2-Audio ps2st model work on transformers 5.10 (by @sw005320)
- PR [#6619]: Import the versa metrics from the modules that define them (by @amirlankalm)
- PR [#6617]: Remove the temporary wav that
MiniOmniE2EModelwrites per turn (by @amirlankalm) - PR [#6616]: Remove the remaining dead torch 1.x version conditions from the tests (by @amirlankalm)
- PR [#6615]: Put the NLTK tagger in the venv, so the prebuilt image carries it (by @sw005320)
- PR [#6614]: Bound torch and torchaudio to the versions that are actually supported (by @sw005320)
- PR [#6613]: Stop telling users to install ctc_segmentation from a git URL (by @sw005320)
- PR [#6608]: Fix ProcessContext import in AbsTask (by @ondatk68)
- PR [#6602]: Bump transformers from 5.5.4 to 5.10.1 (by @dependabot[bot])
- PR [#6599]: Decode a batch of utterances in one beam search (by @sw005320)
- PR [#6504]: Bump actions/stale from 10.4.0 to 11.0.0 (by @dependabot[bot])
- PR [#6131]: Fixed a typo that was causing data leakage. (by @Abdigal1)
Contributors
11 contributors, across 80 merged pull requests in v.202610.
@Abdigal1, @amirlankalm, @chenehk, @jctian98, @Masao-Someki, @modelpath-dev, @NewGamezzz, @ondatk68, @RuiRuihigh, @sw005320, @xiquan-li.
Plus @dependabot[bot].
Full changelog: https://github.com/espnet/espnet/compare/v.202609...v.202610