3 Punkte von GN⁺ 2026-01-10 | Noch keine Kommentare. | Auf WhatsApp teilen
  • Sopro TTS ist ein leichtgewichtiges, englischbasiertes Text-to-Speech-Modell, das Zero-Shot-Stimmklonen und Streaming-Generierung unterstützt
  • Es verfügt über 169 Millionen Parameter und erzeugt auf der CPU mit 0,25 RTF 30 Sekunden Audio in etwa 7,5 Sekunden
  • Bereits mit 3 bis 12 Sekunden Referenzsprache kann die Stimme eines Sprechers geklont werden; verwendet werden eine WaveNet-artige dilated conv und eine leichtgewichtige Cross-Attention-Struktur
  • Ein Low-Budget-Projekt, das auf einer einzelnen L40S-GPU trainiert wurde; bei besserer Datenqualität besteht weiteres Potenzial für Leistungssteigerungen
  • Unterstützt Streaming- und Nicht-Streaming-Modus sowie CLI, Python API und Web-Demo, was die Eignung für Entwicklerexperimente und Integrationen erhöht

Überblick über Sopro TTS

  • Sopro bedeutet auf Portugiesisch „Atem“ und wurde als leichtgewichtiges englisches TTS-Modell entwickelt
    • Architektur, die dilated convolution und Cross-Attention statt eines Transformers kombiniert
    • Als persönliches Projekt mit einer einzelnen L40S-GPU trainiert
  • Hauptmerkmale
    • 169M Parameter, Streaming-Unterstützung, Zero-Shot-Stimmklonen
    • 0,25 RTF auf der CPU, erzeugt 30 Sekunden Audio in 7,5 Sekunden
    • Stimmklonen mit 3 bis 12 Sekunden Referenzaudio möglich

Installation und Ausführung

  • Es sind nur Mindestversionen der Abhängigkeiten festgelegt, sodass eine Installation ohne separate Umgebung möglich ist
    • Beispiel: Version torch==2.6.0 bringt auf einer M3-CPU etwa die dreifache Leistung
  • Installationsmethoden
    • PyPI: pip install sopro
    • GitHub-Repository: nach git clone dann pip install -e .

Nutzungsbeispiele

  • CLI-Ausführungsbeispiele
    • Text, Referenzaudio und Ausgabedatei können angegeben werden
    • Bietet detaillierte Steuerungsparameter wie --style_strength, --no_stop_head, --stop_threshold, --stop_patience
  • Python-API-Beispiele
    • Modell laden mit SoproTTS.from_pretrained("samuel-vitorino/sopro", device="cpu")
    • Unterstützt sowohl Nicht-Streaming als auch Streaming
    • Im Streaming-Modus können erzeugte Audio-Chunks nacheinander zusammengefügt werden

Interaktive Streaming-Demo

  • Nach der Installation den lokalen Server mit dem Befehl uvicorn demo.server:app starten
  • Alternativ per Docker bauen und ausführen
    • docker build -t sopro-demo .
    • docker run --rm -p 8000:8000 sopro-demo
  • Die Demo ist im Browser unter http://localhost:8000 aufrufbar

Hinweise und Einschränkungen

  • Es kann an Ausgabekonsistenz fehlen; Feinabstimmung der Parameter kann nötig sein
  • Die Qualität des Stimmklonens hängt stark von Mikrofonqualität und Umgebungsgeräuschen ab
  • Die Nicht-Streaming-Version liefert höhere Audioqualität
  • Die Generierung ist auf etwa 32 Sekunden (400 Frames) begrenzt; darüber hinaus treten halluzinationsartige Ausgaben auf
  • Bei Verwendung von torchaudio wird ffmpeg benötigt; soundfile wird empfohlen
  • Die Trainingsdaten liegen in vorab tokenisierter Form vor; die Originalaudios wurden aus Speicherplatzgründen verworfen
  • Geplant sind die Veröffentlichung des Trainingscodes und ein Ausbau der Mehrsprachenunterstützung

Trainingsdaten

  • Verwendete Datensätze: Emilia YODAS, LibriTTS-R, Mozilla Common Voice 22, MLS

Referenzen und Basistechnologien

  • Nutzung von Forschung und Code zu Mimi Codec (Kyutai), WaveNet, Attentive Stats Pooling, AudioLM, CSM u. a.

Noch keine Kommentare.

Noch keine Kommentare.