AI Personal Learning
und praktische Anleitung
Sitzsack Marscode1

Orpheus-TTS: Ein Text-to-Speech-Werkzeug zur Erzeugung natürlicher chinesischer Sprache

Allgemeine Einführung

Orpheus-TTS ist ein quelloffenes Text-to-Speech (TTS)-System, das auf der Llama-3b-Architektur entwickelt wurde, mit dem Ziel, Audio zu erzeugen, das der natürlichen menschlichen Sprache nahe kommt. Es wurde vom Canopy AI-Team entwickelt und unterstützt mehrere Sprachen wie Englisch, Spanisch, Französisch, Deutsch, Italienisch, Portugiesisch und Chinesisch. Das System generiert Sprache mit Intonation, Emotion und Rhythmus aus Texteingaben und unterstützt nonverbale Ausdrücke wie Lachen und Seufzen, wodurch es sich für Echtzeitgespräche, die Produktion von Hörbüchern und die Entwicklung intelligenter Assistenten eignet.Orpheus-TTS bietet vortrainierte und fein abgestimmte Modelle, die es Entwicklern ermöglichen, Sprache oder Sprache nach ihren Bedürfnissen anzupassen.

Orpheus-TTS: Ein Open-Source-Text-to-Speech-Werkzeug zur Erzeugung natürlicher chinesischer Sprache-1


 

Funktionsliste

  • Generierung nahezu menschlicher Sprache: Die Umwandlung von Text in Audio mit natürlicher Intonation, Emotion und Rhythmus übertrifft teilweise Closed-Source-Modelle.
  • Null-Sample-Sprachklonen: ahmt die Klangfarbe der Zielsprache ohne zusätzliches Training nach.
  • Emotions- und Intonationskontrolle: durch Etikettierung (z. B. <laugh>und<sigh>) Anpassung des Stimmausdrucks, um den Realismus zu erhöhen.
  • Streaming-Ausgabe mit niedriger Latenz: Latenzzeit der Spracherzeugung in Echtzeit von etwa 200 ms, optimiert auf 100 ms.
  • Mehrsprachige Unterstützung: Englisch, Spanisch, Französisch, Deutsch, Italienisch, Portugiesisch, Chinesisch und andere Sprachen.
  • Feinabstimmung des Modells: Datenverarbeitungsskripte und Beispieldatensätze werden bereitgestellt, um Entwickler bei der Anpassung von Sprachstilen oder Sprachen zu unterstützen.
  • Betrieb lokal und in der Cloud: Unterstützt über LM Studio, llama.cpp oder vLLM Lokal oder in der Cloud ausführen.
  • Audio-Wasserzeichen: Schützen Sie Ihre Urheberrechte, indem Sie generierte Audiodaten mit der Silent Cipher-Technologie mit einem Wasserzeichen versehen.

 

Hilfe verwenden

Einbauverfahren

Orpheus-TTS erfordert eine Python-Umgebung und grundlegende Hardware-Unterstützung (GPU empfohlen). Hier sind die detaillierten Installationsschritte:

  1. Klonen der Codebasis
    Laden Sie das Orpheus-TTS-Projekt mit Git herunter:

    git clone https://github.com/canopyai/Orpheus-TTS.git
    cd Orpheus-TTS
    
  2. Installation von Abhängigkeiten
    Installation von Kernpaketen orpheus-speechEs stützt sich auf vLLM für schnelle Schlussfolgerungen:

    pip install orpheus-speech
    

    Hinweis: Die Version vom 18. März 2025 von vLLM kann Fehler enthalten, und es wird empfohlen, die stabile Version zu installieren:

    pip install vllm==0.7.3
    

    Weitere Abhängigkeiten sind transformersunddatasets im Gesang antworten torchDie Installation kann auf Anfrage erfolgen:

    pip install transformers datasets torch
    
  3. Hardware-Anforderungen prüfen
    • Python-Version: 3.8-3.11 (3.12 wird nicht unterstützt).
    • GPU: Es wird ein NVIDIA CUDA-Treiber empfohlen, mit mehr als 12 GB Videospeicher, um einen reibungslosen Betrieb zu gewährleisten.
    • CPU: Unterstützt durch orpheus-cpp läuft, aber mit geringerer Leistung bei leichteren Tests.
    • Netzwerk: Für den ersten Durchlauf muss das Modell heruntergeladen werden, eine stabile Internetverbindung wird empfohlen.
  4. Modelle herunterladen
    Orpheus-TTS bietet die folgenden Modelle an, die bei Hugging Face gehostet werden:

    • Feinabstimmung des Modells (canopylabs/orpheus-tts-0.1-finetune-prod): Geeignet für alltägliche Aufgaben der Spracherzeugung.
    • Vorgetrainierte Modelle (canopylabs/orpheus-tts-0.1-pretrained): Basierend auf 100.000 Stunden Training mit englischen Sprachdaten, geeignet für fortgeschrittene Aufgaben wie das Klonen von Sprache.
    • Mehrsprachige Modellierung (canopylabs/orpheus-multilingual-research-release): Enthält 7 Sätze von vortrainierten und feinabgestimmten Modellen zur Unterstützung mehrsprachiger Studien.
      Methode zum Herunterladen:
    huggingface-cli download canopylabs/orpheus-tts-0.1-finetune-prod
    
  5. Probeaufbau
    Führen Sie das folgende Python-Skript aus, um zu überprüfen, ob die Installation erfolgreich war:

    from orpheus_tts import OrpheusModel
    model = OrpheusModel(model_name="canopylabs/orpheus-tts-0.1-finetune-prod")
    prompt = "tara: 你好,这是一个测试!"
    audio = model.generate_speech(prompt)
    with wave.open("test_output.wav", "wb") as file:
    file.setnchannels(1)
    file.setsampwidth(2)
    file.setframerate(24000)
    file.writeframes(audio)
    

    Nach erfolgreicher Ausführung wird eine WAV-Datei erzeugt, die die Stimme des eingegebenen Textes enthält.

Hauptfunktionen

1. die Erzeugung von nahezu menschlicher Sprache

Die Kernfunktion von Orpheus-TTS ist die Umwandlung von Text in Audio, das der natürlichen menschlichen Sprache nahe kommt. Das System unterstützt eine breite Palette von Sprachzeichen, im englischen Sprachmodell tara der natürlichste Sinn der Sprache, andere Zeichen sind leahundjessundleounddanundmiaundzac im Gesang antworten zoe. Die Rollen des mehrsprachigen Modells müssen sich auf die offizielle Dokumentation beziehen. Verfahren:

  • Bereiten Sie Textaufforderungen in folgendem Format vor {角色名}: {文本}Zum Beispiel tara: 你好,今天天气很好!.
  • Rufen Sie die Funktion generate auf:
    audio = model.generate_speech(prompt="tara: 你好,今天天气很好!")
    
  • Die Ausgabe erfolgt als Audio im WAV-Format mit einer Abtastrate von 24000 Hz in Mono.

2. die Steuerung von Emotionen und Tönen

Benutzer können den emotionalen Ausdruck der Stimme durch Tags steuern, um den Realismus der Stimme zu erhöhen. Zu den unterstützten Tags gehören:

  • <laugh>Gelächter.
  • <sigh>Seufz.
  • <cough>Husten.
  • <sniffle>Schnupfen.
  • <groan>:seufz.
  • <yawn>: Gähn.
  • <gasp>: Überraschung.
    Beispiel:
prompt = "tara: 这个消息太震撼了!<gasp> 你听说了吗?"
audio = model.generate_speech(prompt)

Das erzeugte Audio enthält an den entsprechenden Stellen Überraschungseffekte. Siehe die Dokumentation zu Hugging Face für die Unterstützung mehrsprachiger Model-Tags.

3. das Klonen von Null-Sample-Sprache

Orpheus-TTS unterstützt das Klonen von Null-Sample-Sprache, die direkt die Zielsprache ohne Vortraining imitieren kann. Arbeitsschritte:

  • Bereiten Sie eine WAV-Datei der Zielsprache mit einer empfohlenen Dauer von 10-30 Sekunden und einer Abtastrate von 24000 Hz vor.
  • Verwenden Sie das folgende Skript:
    audio_ref = "path/to/reference.wav"
    prompt = "tara: 这段话会模仿你的声音!"
    audio = model.generate_with_voice_clone(prompt, audio_ref)
    
  • Das ausgegebene Audiomaterial kommt dem Timbre der Referenzsprache sehr nahe. Das vortrainierte Modell schneidet bei der Klonaufgabe besser ab.

4. latenzarme Streaming-Ausgabe

Orpheus-TTS bietet Streaming-Spracherzeugung für Echtzeit-Dialogszenarien mit einer Latenzzeit von etwa 200 ms, optimiert auf 100 ms. Betriebsbeispiel:

from flask import Flask, Response
from orpheus_tts import OrpheusModel
app = Flask(__name__)
[1]
model = OrpheusModel(model_name="canopylabs/orpheus-tts-0.1-finetune-prod")
@app.route("/stream")
def stream_audio():
def generate():
prompt = "tara: 这是实时语音测试!"
for chunk in model.stream_generate(prompt):
yield chunk
return Response(generate(), mimetype="audio/wav")

Nachdem Sie den Flask-Dienst gestartet haben, rufen Sie die http://localhost:5000/stream Sprache kann in Echtzeit gehört werden. Zur Optimierung der Latenzzeit müssen KV-Caching und Input-Streaming aktiviert werden.

5. die Feinabstimmung des Modells

Die Entwickler können das Modell feinabstimmen, um neue Sprachen oder Sprachstile zu unterstützen. Die Schritte sind wie folgt:

  • Bereiten Sie den Datensatz vor: Das Format finden Sie im Beispieldatensatz Hugging Face (canopylabs/zac-sample-dataset). Es wird empfohlen, 50-300 Proben/Zeichen einzubeziehen, wobei 300 Proben die besten Ergebnisse liefern.
  • Vorverarbeitung der Daten: Verwendung der offiziell bereitgestellten Colab-Notebooks (1wg_CPCA-MzsWtsujwy-1Ovhv-tn8Q1nDDie Daten werden in etwa 1 Minute/Tausend Einträge verarbeitet.
  • Konfigurationsschulung: Änderungen finetune/config.yamllegen Sie den Pfad und die Parameter für den Datensatz fest.
  • Lauftraining:
    huggingface-cli login
    wandb login
    accelerate launch train.py
    
  • Das fein abgestimmte Modell kann für spezielle Aufgaben wie die Optimierung der chinesischen Sprache verwendet werden.

6) Audio-Wasserzeichen

Orpheus-TTS unterstützt Audio-Wasserzeichen mit der Silent Cipher Technologie zum Schutz des Urheberrechts. Arbeitsweise:

  • Siehe dazu das offizielle Implementierungsskript (additional_inference_options/watermark_audio).
  • Beispiel:
    from orpheus_tts import add_watermark
    audio = model.generate_speech(prompt)
    watermarked_audio = add_watermark(audio, watermark_id="user123")
    

7. keine GPU-Begründung

Benutzer ohne GPU können die orpheus-cpp Betrieb auf einer CPU, Schritt für Schritt:

  • Montage lama.cpp Umwelt.
  • Siehe dazu die offizielle Dokumentation (additional_inference_options/no_gpu/README.md).
  • Geringere Leistung als GPUs für leichtere Aufgaben.

caveat

  • Auswahl des ModellsFeinabgestimmte Modelle eignen sich für alltägliche Aufgaben, während vortrainierte Modelle für fortgeschrittene Aufgaben wie das Klonen von Sprache geeignet sind.
  • Hardware-BeschränkungWeniger als 12 GB Videospeicher kann zu unzureichendem Speicher führen, es wird empfohlen, die Hardwarekonfiguration zu überprüfen.
  • Unterstützung mehrerer SprachenNicht-englische Sprachen müssen in der mehrsprachigen Modelldokumentation nachgeschlagen werden, einige Sprachen müssen möglicherweise feinabgestimmt werden.
  • Komponenten während der Prüfung anpassenWenn vLLM einen Fehler meldet (z.B. vllm._C), versuchen Sie eine andere Version oder prüfen Sie die CUDA-Kompatibilität.

Komplementäre Funktionen: Erweiterung der Gemeinschaft

Der Open-Source-Charakter von Orpheus-TTS hat Beiträge der Gemeinschaft angezogen, und die folgende (nicht vollständig verifizierte) Implementierung wird offiziell empfohlen:

  • LM Studio Lokaler KundeAusführen von Orpheus-TTS über die LM Studio API (isaiahbjork/orpheus-tts-local).
  • FastAPI Kompatibel mit Open AIBietet eine API-Schnittstelle im Stil von Open AI (Lex-au/Orpheus-FastAPI).
  • Gradio WebUIWSL und CUDA-fähige Webschnittstelle (Saganaki22/OrpheusTTS-WebUI).
  • Umarmung Gesicht RaumEin Online-Erlebnis, das von Community-Benutzer MohamedRashad (MohamedRashad/Orpheus-TTS).

 

Anwendungsszenario

  1. Intelligenter Kundendienst-Roboter
    Orpheus-TTS generiert natürliche Sprache für Kundenservice-Systeme und unterstützt Echtzeit-Dialoge und emotionale Äußerungen, um das Benutzererlebnis zu verbessern.
    So können beispielsweise E-Commerce-Plattformen Orpheus-TTS integrieren, um bei der Beantwortung von Kundenanfragen einen freundlichen Ton hinzuzufügen.
  2. Produktion von Hörbüchern und Podcasts
    Verlage können Romane oder Artikel in Hörbücher umwandeln, was die Kennzeichnung mehrerer Charaktere und Emotionen unterstützt und die Kosten für die Vertonung reduziert.
    Podcast-Ersteller können dynamische Eröffnungszeilen erstellen, um die Attraktivität ihrer Sendung zu erhöhen.
  3. Tools zum Sprachenlernen
    Die Lern-App generiert standardmäßig klingende Sprache, damit die Schüler das Hören und Sprechen üben können.
    Chinesische Lernende können zum Beispiel das chinesische Modell verwenden, um ihre Mandarin-Aussprache zu üben.
  4. Spiel Charakter Voiceover
    Spieleentwickler können dynamische Dialoge für NPCs erstellen, die mehrere Sprachen und emotionale Ausdrücke unterstützen, um die Immersion zu verbessern.
    Zum Beispiel können Rollenspiele einzigartige Töne für verschiedene Charaktere erzeugen.
  5. Zugänglichkeitshilfen
    Orpheus-TTS bietet sehbehinderten Nutzern Leseunterstützung in Echtzeit, indem es Text in Sprache umwandelt.
    Zum Beispiel die Einbindung in einen E-Book-Reader, um lange Artikel vorzulesen.

 

QA

  1. Welche Sprachen werden von Orpheus-TTS unterstützt?
    Es werden Englisch, Spanisch, Französisch, Deutsch, Italienisch, Portugiesisch und Chinesisch unterstützt. Das mehrsprachige Modell deckt mehr Sprachen ab, wie in der Dokumentation zu Hugging Face beschrieben.
  2. Wie kann die Echtzeit-Sprachlatenz optimiert werden?
    Aktivieren Sie KV-Caching und Input-Streaming, um die Latenzzeit von 200 ms auf 100 ms zu reduzieren. Sorgen Sie für ausreichende GPU-Leistung mit mindestens 12 GB Videospeicher.
  3. Welche Vorbereitung ist für das Klonen von Null-Proben-Stimmen erforderlich?
    Stellt 10-30 Sekunden Referenz-Audio im WAV-Format mit einer Abtastrate von 24000 Hz für ein besseres Vortraining des Modells zur Verfügung.
  4. Kann die CPU Orpheus-TTS ausführen?
    Ja, verwenden Sie orpheus-cppDie Grafikprozessoren sind nicht so leistungsfähig, haben aber eine geringere Leistung als die GPUs, so dass sie sich für Tests oder leichte Aufgaben eignen.
  5. Wie füge ich ein Wasserzeichen zu meinem Audio hinzu?
    Mit der Silent Cipher Technologie können Sie add_watermark Funktion zu implementieren, müssen Sie sich auf das offizielle Skript beziehen.
  6. Wie viele Daten werden für die Feinabstimmung benötigt?
    50 Proben für erste Ergebnisse, 300 Proben/Zeichen für beste Qualität. Die Daten sollten im Format "Hugging Face" vorliegen.
Darf nicht ohne Genehmigung vervielfältigt werden:Leiter des AI-Austauschkreises " Orpheus-TTS: Ein Text-to-Speech-Werkzeug zur Erzeugung natürlicher chinesischer Sprache
de_DEDeutsch