AI Personal Learning
und praktische Anleitung
TRAE

Kimi-Audio: Open-Source-Audioverarbeitung und Dialogbasis-Modell

Allgemeine Einführung

Kimi-Audio ist ein Open-Source-Audiobasismodell, das von Moonshot AI entwickelt wurde und sich auf das Verstehen, die Erzeugung und den Dialog von Audio konzentriert. Es unterstützt eine breite Palette von Audioverarbeitungsaufgaben wie Spracherkennung, Audio-Q&A und Sprach-Emotionserkennung. Das Modell wurde mit mehr als 13 Millionen Stunden Audiodaten trainiert und zeigt in Kombination mit einer innovativen hybriden Architektur gute Leistungen in mehreren Audio-Benchmarks. kimi-Audio bietet Modellgewichte, Inferenzcode und ein Evaluierungs-Toolkit für Entwickler, um es einfach in ihre Forschung und Anwendungen zu integrieren. Es eignet sich für Szenarien, die eine effiziente Audioverarbeitung und Dialogfähigkeiten erfordern, mit klarer Dokumentation, Unterstützung für die Docker-Bereitstellung, einer aktiven Community und kontinuierlichen Updates.

Kimi-Audio: Open-Source-Audioverarbeitung und Dialogbasis-Modell-1


 

Funktionsliste

  • Spracherkennung (ASR): Konvertiert Audio in Text und unterstützt mehrsprachige Sprachtranskription.
  • Audio Question and Answer (AQA): Beantwortung von Benutzerfragen auf der Grundlage von Audioinhalten und Verständnis des Audiokontextes.
  • Audio Captioning (AAC): erzeugt genaue Untertitel oder Beschreibungen für Audio.
  • Speech Emotion Recognition (SER): analysiert emotionale Zustände in Audiodateien, z. B. glücklich oder traurig.
  • Sound Event/Scene Classification (SEC/ASC): identifiziert bestimmte Ereignisse oder Szenen in Audiodateien, z. B. Autogeräusche oder Innenraumgeräusche.
  • Text-to-Speech (TTS): wandelt Text in natürliche Sprache um, unterstützt mehrere Töne.
  • Sprachumwandlung (VC): Ändern Sie die Klangfarbe oder den Stil der Stimme, um personalisierte Audios zu erzeugen.
  • End-to-End-Sprachdialog: Unterstützt kontinuierliche Sprachinteraktion, die einen natürlichen Dialog simuliert.
  • Streaming-Audio-Generierung: Audio-Generierung mit niedriger Latenz durch einen Chunked-Streaming-Decoder.
  • Evaluierungs-Toolkit: stellt standardisierte Evaluierungsinstrumente zur Verfügung, um den Vergleich der verschiedenen Modellleistungen zu erleichtern.

 

Hilfe verwenden

Einbauverfahren

Für die Bereitstellung von Kimi-Audio wird Docker empfohlen, um eine einheitliche Umgebung und eine einfache Installation zu gewährleisten. Hier sind die detaillierten Installationsschritte:

  1. Klon-Lager
    Führen Sie den folgenden Befehl im Terminal aus, um den Code und die Submodule von Kimi-Audio zu erhalten:

    git clone https://github.com/MoonshotAI/Kimi-Audio.git
    cd Kimi-Audio
    git submodule update --init --recursive
  1. Installation von Abhängigkeiten
    Installieren Sie die Python-Abhängigkeiten, eine Python 3.10-Umgebung wird empfohlen:

    pip install -r requirements.txt
    

    Sicherstellung der Installation torch im Gesang antworten soundfileWenn Sie GPU-Unterstützung haben, müssen Sie die CUDA-Version von PyTorch installieren.

  2. Erstellen eines Docker-Images
    Erstellen Sie das Docker-Image im Verzeichnis Kimi-Audio:

    docker build -t kimi-audio:v0.1 .
    

    Oder verwenden Sie ein offizielles vorgefertigtes Image:

    docker pull moonshotai/kimi-audio:v0.1
    
  3. Laufende Container
    Starten Sie den Docker-Container und mounten Sie das lokale Arbeitsverzeichnis:

    docker run -it -v $(pwd):/app kimi-audio:v0.1 bash
    
  4. Download Modellgewichte
    Kimi-Audio bietet zwei Hauptmodelle an:Kimi-Audio-7B(Basismodell) und Kimi-Audio-7B-Instruct(Anleitung zur Feinabstimmung des Modells). Heruntergeladen von Hugging Face:

    • moonshotai/Kimi-Audio-7B-Instruct: Für den direkten Gebrauch geeignet.
    • moonshotai/Kimi-Audio-7B: Geeignet für weitere Feinabstimmung.
      Verwenden Sie die Hugging Face CLI zum Anmelden und Herunterladen:
    huggingface-cli login
    

    Das Modell wird automatisch in den angegebenen Pfad heruntergeladen.

Verwendung

Die Kernfunktionen von Kimi-Audio werden durch Python-API-Aufrufe implementiert. Im Folgenden finden Sie den detaillierten Ablauf der Hauptfunktionen:

1. die Spracherkennung (ASR)

Audiodatei in Text umzuwandeln. Beispiel-Code:

import soundfile as sf
from kimia_infer.api.kimia import KimiAudio
# 加载模型
model_path = "moonshotai/Kimi-Audio-7B-Instruct"
model = KimiAudio(model_path=model_path, load_detokenizer=True)
# 设置采样参数
sampling_params = {
"audio_temperature": 0.8,
"audio_top_k": 10,
"text_temperature": 0.0,
"text_top_k": 5,
"audio_repetition_penalty": 1.0,
"audio_repetition_window_size": 64,
"text_repetition_penalty": 1.0,
"text_repetition_window_size": 16,
}
# 准备输入
asr_audio_path = "asr_example.wav"  # 确保文件存在
messages_asr = [
{"role": "user", "message_type": "text", "content": "请转录以下音频:"},
{"role": "user", "message_type": "audio", "content": asr_audio_path}
]
# 生成文本输出
_, text_output = model.generate(messages_asr, **sampling_params, output_type="text")
print("转录结果:", text_output)

Verfahren::

  • Bereiten Sie eine Audiodatei im WAV-Format vor.
  • aufstellen messages_asr Geben Sie die Aufgabe als Transkription an.
  • Führen Sie den Code aus und erhalten Sie die Textausgabe.

2. ein Audio-Quiz (AQA)

Beantworten Sie die Fragen anhand des Audios. Beispiel:

qa_audio_path = "qa_example.wav"
messages_qa = [
{"role": "user", "message_type": "text", "content": "音频中说了什么?"},
{"role": "user", "message_type": "audio", "content": qa_audio_path}
]
_, text_output = model.generate(messages_qa, **sampling_params, output_type="text")
print("回答:", text_output)

Verfahren::

  • Laden Sie eine Audiodatei mit Informationen hoch.
  • existieren messages_qa Stellen Sie spezifische Fragen in der
  • Abrufen von Textantworten aus dem Modell.

3. text-to-speech (TTS)

Wandelt Text in Sprachausgabe um. Beispiel:

messages_tts = [
{"role": "user", "message_type": "text", "content": "请将以下文本转为语音:你好,欢迎使用 Kimi-Audio!"}
]
audio_output, _ = model.generate(messages_tts, **sampling_params, output_type="audio")
sf.write("output.wav", audio_output, samplerate=16000)

Verfahren::

  • Geben Sie den zu konvertierenden Text ein.
  • aufstellen output_type="audio" Abrufen von Audiodaten.
  • ausnutzen soundfile Als WAV-Datei speichern.

4. durchgängiger Sprachdialog

Unterstützt kontinuierliche Sprachinteraktion. Beispiel:

messages_conversation = [
{"role": "user", "message_type": "audio", "content": "conversation_example.wav"},
{"role": "user", "message_type": "text", "content": "请回复一段语音,介绍你的功能。"}
]
audio_output, text_output = model.generate(messages_conversation, **sampling_params, output_type="both")
sf.write("response.wav", audio_output, samplerate=16000)
print("文本回复:", text_output)

Verfahren::

  • Ermöglicht erste Spracheingaben und Textbefehle.
  • aufstellen output_type="both" Erhalten Sie Sprach- und Textantworten.
  • Speichern Sie die Audioausgabe und zeigen Sie den Text an.

5. die Verwendung des Bewertungs-Toolkits

Mit freundlicher Genehmigung von Kimi-Audio Kimi-Audio-Evalkit Zur Bewertung der Modellleistung. Einbau:

git clone https://github.com/MoonshotAI/Kimi-Audio-Evalkit.git
cd Kimi-Audio-Evalkit
pip install -r requirements.txt

Operative Bewertung:

bash run_audio.sh --model Kimi-Audio --dataset all

Verfahren::

  • Laden Sie den Datensatz in das angegebene Verzeichnis herunter.
  • konfigurieren. config.yaml Gibt den Pfad des Datensatzes an.
  • Führen Sie das Skript aus, um den Bewertungsbericht zu erstellen.

caveat

  • Stellen Sie sicher, dass das Audiodateiformat WAV mit einer Abtastrate von 16 kHz ist.
  • Die GPU-Umgebung beschleunigt die Inferenz und CUDA 12.4 wird empfohlen.
  • Das Laden von Modellen erfordert eine große Menge an Arbeitsspeicher, es werden mindestens 16 GB Grafikspeicher empfohlen.
  • Nicht-Docker-Bereitstellungen erfordern die manuelle Installation von Systemabhängigkeiten, siehe die GitHub-Dokumentation.

 

Anwendungsszenario

  1. Intelligente Kundenbetreuung
    Kimi-Audio kann für den Aufbau von Kundendienstsystemen für die Sprachinteraktion verwendet werden. Es transkribiert Benutzerfragen durch Spracherkennung, kombiniert Audio-Q&A, um Antworten zu geben, und erzeugt natürliche Sprachantworten. Es eignet sich für E-Commerce-Plattformen oder technische Supportszenarien zur Verbesserung der Benutzererfahrung.
  2. Pädagogische Hilfsmittel
    Beim Sprachenlernen transkribiert Kimi-Audio die Aussprache der Schüler, analysiert Emotionen und Intonation und gibt Feedback. Kimi-Audio transkribiert auch Unterrichtstexte in Sprache, um Hörmaterial zu erstellen, und eignet sich daher für Online-Bildungsplattformen.
  3. Erstellung von Inhalten
    Videoproduzenten können Kimi-Audio verwenden, um Untertitel oder Synchronisationen zu erstellen. Es kann automatisch genaue Untertitel für Videos erzeugen oder Skripte in Sprache mit mehreren Tönen umwandeln, um die Nachbearbeitung zu vereinfachen.
  4. Krankenakte
    Ärzte können Fälle per Stimme eingeben, Kimi-Audio transkribiert sie in Text und klassifiziert die Emotionen, um bei der Diagnose des emotionalen Zustands des Patienten zu helfen. Geeignet für Krankenhausinformationssysteme.

 

QA

  1. Welche Sprachen werden von Kimi-Audio unterstützt?
    Kimi-Audio unterstützt mehrsprachige Spracherkennung und -erzeugung, insbesondere in Englisch und Chinesisch. Für die Unterstützung anderer Sprachen lesen Sie bitte die offizielle Dokumentation.
  2. Wie kann die Geschwindigkeit des Denkens optimiert werden?
    Um die GPU-Beschleunigung zu nutzen, installieren Sie flash-attn Bibliothek, Satz torch_dtype=torch.bfloat16. Darüber hinaus werden Anpassungen audio_top_k im Gesang antworten text_top_k Die Parameter stellen ein Gleichgewicht zwischen Geschwindigkeit und Qualität her.
  3. Unterstützt das Modell den Dialog in Echtzeit?
    Ja, der Streaming-Decoder von Kimi-Audio unterstützt die Audioerzeugung mit niedriger Latenz für Sprachinteraktion in Echtzeit.
  4. Wie füge ich einen benutzerdefinierten Datensatz für die Auswertung hinzu?
    existieren Kimi-Audio-Evalkit Erstellen Sie eine JSONL-Datei in der indexundaudio_path im Gesang antworten question Feld. Ändern Sie config.yaml Geben Sie einfach den Pfad zum Datensatz an und führen Sie das Auswertungsskript aus.
Darf nicht ohne Genehmigung vervielfältigt werden:Leiter des AI-Austauschkreises " Kimi-Audio: Open-Source-Audioverarbeitung und Dialogbasis-Modell
de_DEDeutsch