Ein auf ModelScope basierendes End-to-End-Spracherkennungstoolkit, das Funktionen wie Spracherkennung, Sprachaktivitätserkennung und Punktwiederherstellung unterstützt.

MITPythonFunASRmodelscope 12.6k Last Updated: September 09, 2025

FunASR - Fundamentales End-to-End Spracherkennungs-Toolkit

Projektübersicht

FunASR ist ein fundamentales Spracherkennungs-Toolkit, das eine Vielzahl von Funktionen bietet, darunter Spracherkennung (ASR), Sprachaktivitätsdetektion (VAD), Interpunktionswiederherstellung, Sprachmodelle, Sprecherverifikation, Sprechertrennung und Multi-Sprecher-ASR. Das Projekt wurde von der Alibaba DAMO Academy entwickelt und zielt darauf ab, eine Brücke zwischen akademischer Forschung und industriellen Anwendungen zu schlagen.

Projektadresse: https://github.com/modelscope/FunASR

Kernfunktionen

1. Multifunktionale Sprachverarbeitung

  • Spracherkennung (ASR): Unterstützt Streaming- und Nicht-Streaming-Erkennung
  • Sprachaktivitätsdetektion (VAD): Erkennt Sprachaktivitätssegmente
  • Interpunktionswiederherstellung: Fügt automatisch Satzzeichen hinzu
  • Sprechererkennung: Unterstützt Sprecherverifikation und -trennung
  • Emotionserkennung: Sprach-Emotionsanalyse
  • Schlüsselworterkennung: Unterstützt Keyword-Wake-up

2. Bibliothek vortrainierter Modelle

FunASR veröffentlicht eine große Anzahl akademischer und industrieller vortrainierter Modelle auf ModelScope und Hugging Face, darunter hauptsächlich:

Modellname Funktionsbeschreibung Trainingsdaten Parameteranzahl
SenseVoiceSmall Multifunktionale Sprachverständnisfähigkeiten, einschließlich ASR, ITN, LID, SER und AED 300.000 Stunden 234M
paraformer-zh Chinesische Spracherkennung, mit Zeitstempeln, nicht-streaming 60.000 Stunden, Chinesisch 220M
paraformer-zh-streaming Chinesische Spracherkennung, streaming 60.000 Stunden, Chinesisch 220M
paraformer-en Englische Spracherkennung, nicht-streaming 50.000 Stunden, Englisch 220M
ct-punc Interpunktionswiederherstellung 100 Millionen Einträge, Chinesisch/Englisch 290M
fsmn-vad Sprachaktivitätsdetektion 5.000 Stunden, Chinesisch/Englisch 0.4M
Whisper-large-v3 Mehrsprachige Spracherkennung Mehrsprachig 1550M

3. Vorstellung der Kernmodelle

Paraformer

Paraformer-large ist ein nicht-autoregressives End-to-End-Spracherkennungsmodell, das sich durch hohe Genauigkeit, Effizienz und einfache Bereitstellung auszeichnet und den schnellen Aufbau von Spracherkennungsdiensten unterstützt.

SenseVoice

SenseVoice ist ein grundlegendes Sprachmodell mit verschiedenen Sprachverständnisfähigkeiten, darunter ASR, LID, SER und AED, und unterstützt mehrere Sprachen wie Chinesisch, Kantonesisch, Englisch, Japanisch und Koreanisch.

Installation und Nutzung

Installationsmethoden

Installation via pip

pip3 install -U funasr

Installation aus dem Quellcode

git clone https://github.com/alibaba/FunASR.git && cd FunASR
pip3 install -e ./

Installation der Modellbibliotheksunterstützung (optional)

pip3 install -U modelscope huggingface_hub

Schnellstart

1. Nutzung über die Kommandozeile

funasr ++model=paraformer-zh ++vad_model="fsmn-vad" ++punc_model="ct-punc" ++input=asr_example_zh.wav

2. Python API - SenseVoice Modell

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",
)

# Englische Erkennung
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 Modell

from funasr import AutoModel

# paraformer-zh ist ein multifunktionales ASR-Modell
model = AutoModel(
    model="paraformer-zh", 
    vad_model="fsmn-vad", 
    punc_model="ct-punc",
    # spk_model="cam++",  # Optionale Sprechererkennung
)

res = model.generate(
    input=f"{model.model_path}/example/asr_example.wav",
    batch_size_s=300,
    hotword='魔搭'  # Hotword
)
print(res)

4. Streaming-Erkennung

from funasr import AutoModel
import soundfile
import os

chunk_size = [0, 10, 5]  # [0, 10, 5] Konfiguration für 600ms Latenz
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)

Dienstbereitstellung

FunASR unterstützt die Bereitstellung von vortrainierten oder weiter feinabgestimmten Modellen für Dienste. Derzeit werden die folgenden Arten der Dienstbereitstellung unterstützt:

Unterstützte Diensttypen

  • Offline-Dateitranskriptionsdienst (Chinesisch, CPU-Version)
  • Echtzeit-Transkriptionsdienst (Chinesisch, CPU-Version)
  • Offline-Dateitranskriptionsdienst (Englisch, CPU-Version)
  • Offline-Dateitranskriptionsdienst (Chinesisch, GPU-Version)

Empfohlene Bereitstellungskonfigurationen

Empfohlene Konfigurationen:

  • Konfiguration 1: (X86-Rechenmodell) 4 vCPUs, 8 GB RAM, unterstützt ca. 32 Anfragen pro Server
  • Konfiguration 2: (X86-Rechenmodell) 16 vCPUs, 32 GB RAM, unterstützt ca. 64 Anfragen pro Server

Technische Merkmale

1. Modellinnovationen

  • Nicht-autoregressive Architektur: Paraformer verwendet ein nicht-autoregressives Design, um die Inferenz-Effizienz zu verbessern
  • 2-Pass-Modus: Kombiniert die Vorteile von Streaming und Nicht-Streaming
  • Hotword-Unterstützung: Unterstützt benutzerdefinierte Hotwords zur Verbesserung der Erkennungsgenauigkeit spezifischer Vokabeln

2. Engineering-Optimierung

  • ONNX-Export: Unterstützt den Export von Modellen im ONNX-Format für eine einfachere Bereitstellung
  • Multi-Plattform-Unterstützung: Unterstützt verschiedene Plattformen wie CPU, GPU, ARM64
  • Containerisierte Bereitstellung: Bietet Docker-Image-Unterstützung

3. Entwicklerfreundlichkeit

  • Einheitliche Schnittstelle: AutoModel vereinheitlicht die Inferenz-Schnittstellen von ModelScope, Hugging Face und FunASR
  • Plug-in-Design: Unterstützt die flexible Kombination von Komponenten wie VAD, Interpunktion und Sprechererkennung
  • Umfassende Dokumentation: Bietet detaillierte Tutorials und Beispiele

Anwendungsfälle

1. Echtzeit-Sprachtranskription

  • Besprechungsprotokolle
  • Live-Untertitel
  • Sprachassistenten

2. Offline-Audioverarbeitung

  • Transkription von Audiodateien
  • Sprachdatenanalyse
  • Inhaltsmoderation

3. Mehrsprachige Unterstützung

  • Sprachübergreifende Spracherkennung
  • Sprachübersetzung
  • Mehrsprachiger Kundenservice

Neueste Updates

Wichtige Updates 2024

  • 29.10.2024: Echtzeit-Transkriptionsdienst 1.12 veröffentlicht, 2-Pass-Offline-Modus unterstützt SenseVoice-Modell
  • 10.10.2024: Unterstützung für das Whisper-large-v3-turbo-Modell hinzugefügt
  • 26.09.2024: Speicherleck behoben, Unterstützung für SenseVoice ONNX-Modell
  • 04.07.2024: SenseVoice Sprachgrundlagenmodell veröffentlicht
  • 27.06.2024: Offline-Dateitranskriptionsdienst GPU 1.0 veröffentlicht

Community und Support

Open-Source-Lizenz

Community-Beteiligung

  • GitHub Issues: Technische Fragen und Bug-Feedback
  • DingTalk-Gruppe: Täglicher Austausch und Diskussion
  • ModelScope: Modell-Download und -Teilung

Zitation

Wenn Sie FunASR in Ihrer Forschung verwenden, zitieren Sie bitte das folgende Paper:

@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},
}

Zusammenfassung

FunASR ist ein funktionsreiches und leistungsstarkes Spracherkennungs-Toolkit, das erfolgreich Spitzentechnologien aus der akademischen Forschung mit den praktischen Anforderungen industrieller Anwendungen verbindet. Ob Forscher Algorithmen validieren oder Entwickler Sprachanwendungen erstellen, FunASR bietet leistungsstarke technische Unterstützung und eine bequeme Entwicklungserfahrung. Durch seine umfangreichen vortrainierten Modelle, flexiblen Bereitstellungsoptionen und eine aktive Open-Source-Community entwickelt sich FunASR zu einer wichtigen Infrastruktur im Bereich der Spracherkennung.

Star History Chart