File size: 3,488 Bytes
ac69520 ef2ae18 ac69520 ef2ae18 ac69520 4bf1c22 ac69520 4bf1c22 ef2ae18 ac69520 4bf1c22 ac69520 4bf1c22 ac69520 4bf1c22 ac69520 4bf1c22 ac69520 4bf1c22 ac69520 4bf1c22 ac69520 4bf1c22 ac69520 4bf1c22 ac69520 4bf1c22 ac69520 4bf1c22 ac69520 4bf1c22 ac69520 4bf1c22 ef2ae18 ac69520 4bf1c22 ac69520 4bf1c22 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 | ---
pipeline_tag: automatic-speech-recognition
language:
- nan
- zh
base_model:
- Qwen/Qwen3-ASR-1.7B
- FireRedTeam/FireRedASR2-AED
tags:
- wenetspeech-min
- minnan
- speech-recognition
- paired-transcript-asr
---
# WenetSpeech-Min ASR Models
ASR models for Minnan transcription, Mandarin transcription, and paired-transcript
recognition, described in [WenetSpeech-Min](https://arxiv.org/abs/2609.36834).
The corpus contains around 10,000 hours of Minnan speech, with paired Minnan
and Mandarin transcripts for each utterance.
## Available Models
| Model | Task | Framework |
| --- | --- | --- |
| [Qwen3-ASR-WSM-Min](https://huggingface.co/ASLP-lab/WS-Min-ASR/tree/main/Qwen3-ASR-WSM-Min) | Minnan transcription | ms-swift |
| [Qwen3-ASR-WSM-Mandarin](https://huggingface.co/ASLP-lab/WS-Min-ASR/tree/main/Qwen3-ASR-WSM-Mandarin) | Mandarin transcription | ms-swift |
| [FireRedASR2-AED-WSM](https://huggingface.co/ASLP-lab/WS-Min-ASR/tree/main/FireRedASR2-AED-WSM) | Paired-transcript recognition | WeNet |
## Installation
Follow the official installation guides:
- [Qwen3-ASR](https://github.com/QwenLM/Qwen3-ASR#environment-setup), including the vLLM backend for inference.
- [ms-swift](https://swift.readthedocs.io/en/latest/GetStarted/SWIFT-installation.html) for Qwen fine-tuning.
- [WeNet](https://github.com/wenet-e2e/wenet#install-for-training--deployment) for FireRed fine-tuning and inference.
## Usage
### Qwen3-ASR
Select `Qwen3-ASR-WSM-Min` for Minnan output or `Qwen3-ASR-WSM-Mandarin`
for Mandarin output. Both take Minnan audio as input.
```python
from huggingface_hub import snapshot_download
from qwen_asr import Qwen3ASRModel
if __name__ == "__main__":
subfolder = "Qwen3-ASR-WSM-Min" # Or "Qwen3-ASR-WSM-Mandarin"
model_root = snapshot_download(
repo_id="ASLP-lab/WS-Min-ASR",
allow_patterns=[f"{subfolder}/*.safetensors", f"{subfolder}/*.json",
f"{subfolder}/*.txt", f"{subfolder}/*.jinja",
"examples/G1216S0004.wav"],
)
model = Qwen3ASRModel.LLM(
model=f"{model_root}/{subfolder}",
gpu_memory_utilization=0.8,
max_model_len=8192,
max_new_tokens=1024,
)
results = model.transcribe(
audio=f"{model_root}/examples/G1216S0004.wav", # Or your audio path
language=None,
)
print(results[0].text)
```
### FireRedASR2-AED-WSM
Download the model and run paired-transcript recognition with the GitHub recipe:
```bash
git clone https://github.com/ASLP-lab/WenetSpeech-Min-Repo.git
cd WenetSpeech-Min-Repo
bash FireRedASR2-AED-WSM/setup_wenet.sh
hf download ASLP-lab/WS-Min-ASR --include "FireRedASR2-AED-WSM/*" \
--local-dir pretrained_models/WS-Min-ASR
CUDA_VISIBLE_DEVICES=0 bash FireRedASR2-AED-WSM/infer.sh \
--model-dir pretrained_models/WS-Min-ASR/FireRedASR2-AED-WSM \
--task both
```
Use `--task minnan` or `--task mandarin` for a single transcript.
Add `--audio /path/to/audio.wav` to use your own audio; otherwise the included
example is used. Paired output contains `text_minnan` and `text_mandarin`.
## Training
- [Minnan transcription: Qwen3-ASR-WSM-Min](https://github.com/ASLP-lab/WenetSpeech-Min-Repo/tree/main/Qwen3-ASR-Min)
- [Mandarin transcription: Qwen3-ASR-WSM-Mandarin](https://github.com/ASLP-lab/WenetSpeech-Min-Repo/tree/main/Qwen3-ASR-Mandarin)
- [Paired-transcript recognition: FireRedASR2-AED-WSM](https://github.com/ASLP-lab/WenetSpeech-Min-Repo/tree/main/FireRedASR2-AED-WSM)
|