Streaming Automatic Speech Recognition (ASR) tools for Fujie Lab, built on ESPnet
Project description
fujielab-asr
Automatic Speech Recognition (ASR) modules for Fujie Laboratory, built on top of ESPnet.
fujielab-asr packages streaming-ASR extensions (the fujielab.asr.espnet_ext
layer) on top of stock ESPnet, together with ready-to-use pretrained models on the
Hugging Face Hub. It is designed for online / chunk-by-chunk recognition.
Features
- Streaming ASR with a Contextual Block Streaming (CBS) encoder.
- Two recognizer families:
- RNN-Transducer (
Speech2Text) — streaming beam search. - CTC-only multitask (
Speech2TextMultitaskCTC) — streaming greedy CTC that, in addition to the transcript, predicts a per-token auxiliary-information label:N(normal),F(filler / フィラー),D(repair / 言い直し).
- RNN-Transducer (
- Pretrained Japanese models distributed via the Hugging Face Hub
(loaded with
from_pretrained).
Installation
Requirements
- Python 3.10 – 3.12 (tested on 3.11).
- ESPnet >= 202412 — pulled in automatically as a dependency.
(Older
fujielab-asr(<= 0.1.3) targeted ESPnet 202301–202503; from 0.1.4 the package follows the newer ESPnet line, which usestypeguard4.x.) torch/torchaudio(install a build matching your CUDA / platform).
ESPnet has a few dependencies that build from source (e.g. pyworld); a working
C/C++ toolchain is recommended when installing.
Install from PyPI
pip install fujielab-asr
We recommend a fresh virtual environment, e.g.:
python3.11 -m venv .venv && . .venv/bin/activate
pip install -U pip
pip install fujielab-asr
Install from source
git clone https://github.com/fujielab/fujielab-asr
cd fujielab-asr
pip install -e .
Pretrained models
Loaded by tag via from_pretrained. (The auxiliary-information models additionally
emit F/D markers for fillers and repairs.)
| Tag | Type | Tokens | Corpus |
|---|---|---|---|
fujie/espnet_asr_csj_pron_aux_cbs_ctc_120300_hop132 |
CTC multitask (N/F/D) | kana | CSJ |
fujie/espnet_asr_cejc_pron_aux_cbs_transducer_081616_hop132 |
Transducer | kana | CEJC |
fujie/espnet_asr_csj_writ_aux_cbs_transducer_081616_hop132 |
Transducer | kanji | CSJ |
fujie/espnet_asr_cbs_transducer_120303_hop132_cc0105 |
Transducer | kana | CEJC+CSJ |
Example Usage
Runnable scripts are in the examples/ directory:
examples/run_streaming_asr.py— streaming Transducer ASR.examples/run_streaming_asr_multitask.py— streaming CTC multitask ASR (transcript + filler/repair labels).examples/run_streaming_asr_live.py— live (microphone) streaming ASR.examples/demo.py— Gradio demo.
Streaming CTC multitask (recognition + auxiliary information)
import numpy as np, soundfile as sf
from fujielab.asr.espnet_ext.espnet2.bin.asr_multitask_ctc_inference_cbs import (
Speech2TextMultitaskCTC,
)
s2t = Speech2TextMultitaskCTC.from_pretrained(
"fujie/espnet_asr_csj_pron_aux_cbs_ctc_120300_hop132", streaming=True
)
audio, fs = sf.read("utterance.wav") # 16 kHz mono
chunk = int(16000 * 0.1) # 100 ms
for i in range(0, len(audio), chunk):
c = audio[i:i + chunk]
is_final = len(c) < chunk
if is_final:
c = np.pad(c, (0, chunk - len(c)))
r = s2t.streaming_decode(c, is_final=is_final)[0]
# r.tokens and r.aux_labels are aligned 1:1 (aux in {N, F, D})
print(" ".join(f"{t}[{a}]" if a != "N" else t
for t, a in zip(r.tokens, r.aux_labels)))
License
Apache License 2.0. See LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file fujielab_asr-0.1.5.tar.gz.
File metadata
- Download URL: fujielab_asr-0.1.5.tar.gz
- Upload date:
- Size: 38.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
659834be2ecdf5e934c2fce459377ed5048773933ea2381469c95eed34249e89
|
|
| MD5 |
aee3415669fb300bc20a5df94ce12a61
|
|
| BLAKE2b-256 |
52178785df4adbcf6b926215a508bc1716a71a1da91bdd888ec134cd1b161aab
|
File details
Details for the file fujielab_asr-0.1.5-py3-none-any.whl.
File metadata
- Download URL: fujielab_asr-0.1.5-py3-none-any.whl
- Upload date:
- Size: 35.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8ab6cdc6b0a27cc45a911383b45a5a1ced3b137913769456ffdd4c31392b2da8
|
|
| MD5 |
01d3967118fcbb958b836019a4992bd4
|
|
| BLAKE2b-256 |
dd558f37c4de295ef7c7ee5760a439306024b984b4a9e79ad0537ad3e14e335a
|