Skip to content

Latest commit

 

History

History
148 lines (106 loc) · 6.95 KB

File metadata and controls

148 lines (106 loc) · 6.95 KB

Fun-ASR

简体中文」|「English」|「日本語」

Fun-ASRは通義実験室が開発したエンドツーエンド音声認識モデルファミリーです。チェックポイントごとに対応範囲が異なり、Fun-ASR-Nano-2512は中・英・日と中国語方言・地域アクセント、Fun-ASR-MLT-Nano-2512は31言語に対応します。どちらもFunASRから推論・配信できます。

モデルリポジトリ:Fun-ASR-NanoModelScopeHugging Face) · Fun-ASR-MLT-NanoModelScopeHugging Face

オンラインデモ: ModelScope SpaceHuggingFace Space

Open In Colab

実行可能なサンプル では、クイックスタート推論、直接推論、話者分離、vLLM バッチ推論、Streaming SDK を確認できます。

モデル 対応タスク 学習データ パラメータ
Fun-ASR-Nano
( 🤗)
中国語・英語・日本語の音声認識。中国語は7方言・26地域アクセント対応。英語・日本語も複数地域アクセントに対応。歌詞認識・ラップ音声認識も搭載。 数千万時間 8億
Fun-ASR-MLT-Nano
( 🤗)
中・英・粤・日・韓、ベトナム語、インドネシア語、タイ語、マレー語、フィリピン語、アラビア語、ヒンディー語など31言語の音声認識。 数十万時間 8億

主要機能 🎯

  • 遠距離・高ノイズ環境対応:会議室、車内、工場など高ノイズ環境に最適化、認識精度 93% 達成
  • 中国語方言・地域アクセント:7大方言 + 26地域アクセントに対応
  • 31言語多言語対応(MLT-Nano):東アジア・東南アジア言語を中心に31言語を認識
  • 音楽背景下の歌詞認識:音楽干渉下での音声認識性能を強化
  • ホットワード機能:ドメイン固有用語の認識精度を向上
  • FunASRパイプラインによる話者分離:独立したFSMN-VADとCAM++を組み合わせて話者ラベルを生成
  • vLLM推論エンジン:バッチ推論で最大340倍リアルタイム速度

環境構築 🐍

git clone https://github.com/FunAudioLLM/Fun-ASR.git
cd Fun-ASR
pip install -r requirements.txt

機能の境界

  • タイムスタンプ:公開済みNano checkpointには学習済みCTC重みが含まれないため、checkpoint由来の文字単位タイムスタンプは信頼できません。正確な文字単位タイムスタンプにはParaformerを使用してください(issue #106)。
  • 話者分離:Nano/MLT checkpoint自体は話者ラベルを出力しません。FunASRでfsmn-vadcam++を組み合わせます。

使い方 🛠️

基本的な推論

from funasr import AutoModel

model = AutoModel(
    model="FunAudioLLM/Fun-ASR-Nano-2512",
    trust_remote_code=True,
    device="cuda:0",
    hub="hf"
)

result = model.generate(
    input=["audio.wav"],
    batch_size=1,
    language="日文",
)
print(result[0]["text"])

FunASRパイプラインによる話者分離

この例ではFSMN-VADが音声を分割し、Fun-ASRが文字起こしし、CAM++が話者ラベルを付与します。sentence_infoの区間はVADセグメント境界であり、checkpoint由来の文字単位タイムスタンプではありません。

model = AutoModel(
    model="FunAudioLLM/Fun-ASR-Nano-2512",
    trust_remote_code=True,
    device="cuda:0",
    hub="hf",
    vad_model="fsmn-vad",
    spk_model="cam++",
    punc_model="ct-punc"
)

result = model.generate(input=["meeting.wav"], batch_size=1)
for item in result:
    if 'sentence_info' in item:
        for sent in item['sentence_info']:
            print(f"[話者{sent['spk']}] {sent['sentence']}")

vLLM 高速推論

from funasr.auto.auto_model_vllm import AutoModelVLLM

model = AutoModelVLLM(
    model="FunAudioLLM/Fun-ASR-Nano-2512",
    tensor_parallel_size=2,
)

results = model.generate(["audio1.wav", "audio2.wav"], language="日文")

詳細は vLLM推論ガイド をご参照ください。

性能評価 📊

モデル GPUスピード CPUスピード vs Whisper-large-v3
Fun-ASR-Nano (vLLM) 340x リアルタイム 🚀 26倍高速
SenseVoice-Small 170x リアルタイム 17x リアルタイム 🚀 13倍高速
Whisper-large-v3 13x リアルタイム 基準

エコシステム

Fun-ASR-Nanoは FunAudioLLM ファミリーの一員です:

プロジェクト 説明 Stars
FunASR 産業用音声認識ツールキット — VAD、ASR、句読点、話者分離
SenseVoice 超高速ASR + 感情認識 + 音声イベント検出
CosyVoice 自然音声生成 — 多言語、ゼロショットクローニング
FunClip AI音声認識による動画クリッピング

ライセンス

Apache 2.0