modelscope/FunASRView GitHub Homepage for Latest Official Releases
基於ModelScope的端到端語音辨識工具包,支援語音辨識、語音活動檢測、標點恢復等多種功能
MITPythonFunASRmodelscope 12.6k Last Updated: September 09, 2025
FunASR - 基礎端到端語音識別工具包
專案概述
FunASR 是一個基礎的語音識別工具包,提供多種功能,包括語音識別 (ASR)、語音活動檢測 (VAD)、標點恢復、語言模型、說話人驗證、說話人分離和多說話人 ASR。該專案由阿里巴巴達摩院開發,旨在建構學術研究與工業應用之間的橋樑。
專案地址: https://github.com/modelscope/FunASR
核心特性
1. 多功能語音處理
- 語音識別 (ASR): 支援流式和非流式識別
- 語音活動檢測 (VAD): 檢測語音活動段落
- 標點恢復: 自動添加標點符號
- 說話人識別: 支援說話人驗證和分離
- 情感識別: 語音情感分析
- 關鍵詞檢測: 支援關鍵詞喚醒
2. 預訓練模型庫
FunASR 在 ModelScope 和 Hugging Face 上發布了大量的學術和工業級預訓練模型,主要包括:
模型名稱 | 功能描述 | 訓練數據 | 參數量 |
---|---|---|---|
SenseVoiceSmall | 多語音理解能力,包括 ASR、ITN、LID、SER 和 AED | 30萬小時 | 234M |
paraformer-zh | 中文語音識別,帶時間戳,非流式 | 6萬小時,中文 | 220M |
paraformer-zh-streaming | 中文語音識別,流式 | 6萬小時,中文 | 220M |
paraformer-en | 英文語音識別,非流式 | 5萬小時,英文 | 220M |
ct-punc | 標點恢復 | 1億條,中英文 | 290M |
fsmn-vad | 語音活動檢測 | 5000小時,中英文 | 0.4M |
Whisper-large-v3 | 多語言語音識別 | 多語言 | 1550M |
3. 核心模型介紹
Paraformer
Paraformer-large 是一個非自迴歸的端到端語音識別模型,具有高準確性、高效率和便捷部署的優勢,支援快速建構語音識別服務。
SenseVoice
SenseVoice 是一個具有多種語音理解能力的語音基礎模型,包括 ASR、LID、SER 和 AED,支援中文、粵語、英語、日語、韓語等多種語言。
安裝和使用
安裝方式
通過 pip 安裝
pip3 install -U funasr
從源碼安裝
git clone https://github.com/alibaba/FunASR.git && cd FunASR
pip3 install -e ./
安裝模型庫支援(可選)
pip3 install -U modelscope huggingface_hub
快速開始
1. 命令列使用
funasr ++model=paraformer-zh ++vad_model="fsmn-vad" ++punc_model="ct-punc" ++input=asr_example_zh.wav
2. Python API - SenseVoice 模型
from funasr import AutoModel
from funasr.utils.postprocess_utils import rich_transcription_postprocess
model_dir = "iic/SenseVoiceSmall"
model = AutoModel(
model=model_dir,
vad_model="fsmn-vad",
vad_kwargs={"max_single_segment_time": 30000},
device="cuda:0",
)
# 英文識別
res = model.generate(
input=f"{model.model_path}/example/en.mp3",
cache={},
language="auto", # "zn", "en", "yue", "ja", "ko", "nospeech"
use_itn=True,
batch_size_s=60,
merge_vad=True,
merge_length_s=15,
)
text = rich_transcription_postprocess(res[0]["text"])
print(text)
3. Python API - Paraformer 模型
from funasr import AutoModel
# paraformer-zh 是多功能 ASR 模型
model = AutoModel(
model="paraformer-zh",
vad_model="fsmn-vad",
punc_model="ct-punc",
# spk_model="cam++", # 可選說話人識別
)
res = model.generate(
input=f"{model.model_path}/example/asr_example.wav",
batch_size_s=300,
hotword='魔搭' # 熱詞
)
print(res)
4. 流式識別
from funasr import AutoModel
import soundfile
import os
chunk_size = [0, 10, 5] # [0, 10, 5] 600ms延遲配置
encoder_chunk_look_back = 4
decoder_chunk_look_back = 1
model = AutoModel(model="paraformer-zh-streaming")
wav_file = os.path.join(model.model_path, "example/asr_example.wav")
speech, sample_rate = soundfile.read(wav_file)
chunk_stride = chunk_size[1] * 960 # 600ms
cache = {}
total_chunk_num = int(len((speech)-1)/chunk_stride+1)
for i in range(total_chunk_num):
speech_chunk = speech[i*chunk_stride:(i+1)*chunk_stride]
is_final = i == total_chunk_num - 1
res = model.generate(
input=speech_chunk,
cache=cache,
is_final=is_final,
chunk_size=chunk_size,
encoder_chunk_look_back=encoder_chunk_look_back,
decoder_chunk_look_back=decoder_chunk_look_back
)
print(res)
服務部署
FunASR 支援部署預訓練或進一步微調的模型進行服務,目前支援以下類型的服務部署:
支援的服務類型
- 離線檔案轉錄服務 (中文, CPU版本)
- 即時轉錄服務 (中文, CPU版本)
- 離線檔案轉錄服務 (英文, CPU版本)
- 離線檔案轉錄服務 (中文, GPU版本)
部署配置建議
推薦配置:
- 配置1:(X86計算型) 4核vCPU,8GB記憶體,單機支援約32個請求
- 配置2:(X86計算型) 16核vCPU,32GB記憶體,單機支援約64個請求
技術特點
1. 模型創新
- 非自迴歸架構: Paraformer 採用非自迴歸設計,提高推理效率
- 2Pass 模式: 結合流式和非流式的優勢
- 熱詞支援: 支援自定義熱詞提升特定詞彙識別準確率
2. 工程優化
- ONNX 匯出: 支援模型 ONNX 格式匯出,便於部署
- 多平台支援: 支援 CPU、GPU、ARM64 等多種平台
- 容器化部署: 提供 Docker 映像檔支援
3. 開發友善
- 統一介面: AutoModel 統一了 ModelScope、Hugging Face 和 FunASR 的推理介面
- 插件化設計: 支援 VAD、標點、說話人等組件的靈活組合
- 豐富文件: 提供詳細的教程和示例
應用場景
1. 即時語音轉錄
- 會議記錄
- 直播字幕
- 語音助理
2. 離線音訊處理
- 音訊檔案轉錄
- 語音資料分析
- 內容審核
3. 多語言支援
- 跨語言語音識別
- 語音翻譯
- 多語言客服
最新更新
2024年主要更新
- 2024/10/29: 即時轉錄服務 1.12 發布,2pass-offline 模式支援 SenseVoice 模型
- 2024/10/10: 新增 Whisper-large-v3-turbo 模型支援
- 2024/09/26: 修復記憶體洩漏問題,支援 SenseVoice ONNX 模型
- 2024/07/04: 發布 SenseVoice 語音基礎模型
- 2024/06/27: 離線檔案轉錄服務 GPU 1.0 發布
社區和支援
開源協議
- 專案採用 MIT License
- 預訓練模型使用特定的模型許可協議
社區參與
- GitHub Issues: 技術問題和錯誤回報
- 釘釘群: 日常交流和討論
- ModelScope: 模型下載和分享
引用
如果您在研究中使用了 FunASR,請引用以下論文:
@inproceedings{gao2023funasr,
author={Zhifu Gao and Zerui Li and Jiaming Wang and Haoneng Luo and Xian Shi and Mengzhe Chen and Yabin Li and Lingyun Zuo and Zhihao Du and Zhangyu Xiao and Shiliang Zhang},
title={FunASR: A Fundamental End-to-End Speech Recognition Toolkit},
year={2023},
booktitle={INTERSPEECH},
}
總結
FunASR 是一個功能完整、性能優異的語音識別工具包,它成功地將學術研究的前沿技術與工業應用的實際需求相結合。無論是研究人員進行演算法驗證,還是開發者建構語音應用,FunASR 都提供了強大的技術支援和便捷的開發體驗。通過其豐富的預訓練模型、靈活的部署方案和活躍的開源社群,FunASR 正在成為語音識別領域的重要基礎設施。