Conformer, Transformer, and Branchformer models raise
NotImplementedError for batch decoding. Only Paraformer and
e_paraformer support batch_size>1 for inference. Revert the
non-Paraformer recipes back to batch_size=1.
The conformer, transformer, branchformer, and e_branchformer recipes
had inference_batch_size=1 which made GPU decoding extremely slow
(processing one utterance at a time). Changed to 32 to match the
paraformer recipe and utilize GPU parallelism during inference.
- Qwen3-ASR: support spk_model with forced_aligner for speaker diarization
- Qwen3-ASR: fix list input handling (numpy/tensor to tuple format)
- Qwen3-ASR: output timestamp as [start_ms, end_ms] for pipeline compatibility
- Qwen3-ASR: graceful fallback when forced_aligner not configured
- Remove punc_model from Fun-ASR-Nano/SenseVoice/Qwen3-ASR SPK demos and tests
(these models output punctuation natively)
- Fix test scripts to handle both text/sentence keys in sentence_info
- auto_model: set return_time_stamps=True when spk_model present
Integrates ERes2NetV2 from 3D-Speaker into FunASR as a speaker
verification/diarization model. Can be used standalone or as spk_model
combined with VAD + ASR for speaker-attributed transcription.
Usage (standalone speaker embedding):
model = AutoModel(model="iic/speech_eres2netv2_sv_zh-cn_16k-common")
res = model.generate(input="audio.wav")
embedding = res[0]["spk_embedding"] # shape: [1, 192]
Usage (with ASR + speaker diarization):
model = AutoModel(
model="paraformer-zh",
vad_model="fsmn-vad",
spk_model="iic/speech_eres2netv2_sv_zh-cn_16k-common",
)
res = model.generate(input="audio.wav")
Tested end-to-end: ModelScope download + embedding extraction verified.
New files:
- funasr/models/eres2net/eres2netv2.py (network architecture)
- funasr/models/eres2net/model.py (FunASR wrapper with inference)
- tests_models/test_eres2netv2.py
- examples/industrial_data_pretraining/eres2netv2_sv/demo.py
- examples/industrial_data_pretraining/eres2netv2_sv/demo_sv.py
Add GLMASR wrapper class integrating GLM-ASR-Nano-2512 (1.5B) into
FunASR. Uses HuggingFace transformers AutoModel + AutoProcessor with
trust_remote_code. Supports 17 languages with dialect and low-volume
speech optimization.
Usage:
from funasr import AutoModel
model = AutoModel(model="zai-org/GLM-ASR-Nano-2512", hub="hf", device="cuda:0")
res = model.generate(input="audio.wav")
# ModelScope (Chinese users)
model = AutoModel(model="ZhipuAI/GLM-ASR-Nano-2512", hub="ms", device="cuda:0")
Tested end-to-end on CPU with Chinese and English audio.
New files:
- funasr/models/glm_asr/model.py
- funasr/models/glm_asr/__init__.py
- tests_models/test_glm_asr.py
- examples/industrial_data_pretraining/glm_asr/demo.py
- examples/industrial_data_pretraining/glm_asr/demo_ms.py
Note: requires transformers>=5.0.0 (pip install git+https://github.com/huggingface/transformers)
- Add Qwen3-ASR (0.6B/1.7B) to model zoo table in README.md and
README_zh.md with links to HuggingFace and ModelScope
- Add news entry for Qwen3-ASR release
- Add example scripts:
- examples/industrial_data_pretraining/qwen3_asr/demo.py (HuggingFace)
- examples/industrial_data_pretraining/qwen3_asr/demo_ms.py (ModelScope)
- Convert dict-format timestamps to list-format for downstream compatibility
- Fix spk_embedding to concatenate all chunk embeddings from sv_chunk
- Handle timestamps/timestamp key difference in vad_segment mode
- Auto fallback to vad_segment mode when punc_model is missing
- Add demo_spk.py example and test script
- Update README/README_zh with news and usage demo
* docs: Fix syntax error in real-time ASR example (Issue #2720)
Added documentation to fix syntax error in real-time speech recognition example.
* docs: Add implementation guide for syntax error fix (Issue #2720)
Added a section detailing files needing updates for the total_chunk_num calculation syntax error, including examples and testing instructions.
* fix: Correct total_chunk_num syntax error in paraformer_streaming/demo.py
* Correct total_chunk_num calculation in demo.py
Fix calculation of total_chunk_num for speech processing.