

Bild von Autor | Leinwand
# Einführung
Die Open-Supply-KI erlebt einen bedeutenden Second. Mit Fortschritten in Großsprachenmodellen, allgemeinem maschinellem Lernen und jetzt Sprachtechnologien verengen Open-Supply-Modelle die Lücke zu proprietären Systemen schnell. Einer der aufregendsten Teilnehmer in diesem Bereich ist der Open-Supply-Sprachstack von Microsoft Vibevoice. Diese Modellfamilie ist für natürliche, ausdrucksstarke und interaktive Konversation konzipiert und mit der Qualität der hochwertigen kommerziellen Angebote mithalten.
In diesem Artikel werden wir Vibevoice untersuchen, das Modell herunterladen und mithilfe der GPU -Laufzeit die Inferenz auf Google Colab ausführen. Darüber hinaus werden wir die Fehlerbehebung mit allgemeinen Problemen befassen, die bei der Ausführung von Modellinferenz auftreten können.
# Einführung in Vibevoice
Vibevoice ist ein TTS-Framework (Textual content-to-Speech) der nächsten Era zum Erstellen von Ausdrucks-, Langform-, Multi-Speaker-Audio wie Podcasts und Dialogen. Im Gegensatz zu herkömmlichen TTs übertrifft es sich in Skalierbarkeit, Sprecherkonsistenz und natürlicher Wende.
Seine Kerninnovation liegt in kontinuierlichen akustischen und semantischen Tokenisierern, die bei 7,5 Hz arbeiten, mit einem großen Sprachmodell (QWEN2.5-1.5B) und einem Diffusionskopf zur Erzeugung von Audio mit hohem Constancy. Dieses Design ermöglicht bis zu 90 Minuten Sprache mit 4 verschiedenen Lautsprechern, die frühere Systeme übertreffen.
Vibevoice ist als Open-Supply-Modell erhältlich Umarmtes Gesichtmit in der Gemeinschaft gepflegter Code für einfache Experimente und Verwendung.

Bild von Vibevoice# Erste Schritte mit Vibevoice-1.5b
In diesem Leitfaden lernen wir, wie Sie das Vibevoice-Repository klonen und die Demo ausführen, indem wir es mit einer Textdatei zur Verfügung stellen, um eine natürliche Sprache mit mehreren Sprechern zu generieren. Es dauert nur etwa 5 Minuten vom Setup bis zum Generieren des Audios.
// 1. Klonen Sie das Neighborhood -Repository und installieren Sie
Klonen Sie zunächst die Neighborhood -Model des Vibevoice -Repositorys (Vibevoice-Neighborhood/Vibevoice), installieren Sie die erforderlichen Python -Pakete und installieren Sie auch die Umarmung des Gesichtszentrums Bibliothek zum Herunterladen des Modells mit der Python -API.
Notiz: Stellen Sie vor dem Begin der Colab -Sitzung sicher, dass Ihr Laufzeittyp auf T4 GPU eingestellt ist.
!git clone -q --depth 1 https://github.com/vibevoice-community/VibeVoice.git /content material/VibeVoice
%pip set up -q -e /content material/VibeVoice
%pip set up -q -U huggingface_hub
// 2. Laden Sie den Modell -Schnappschuss vom Umarmungsgesicht herunter
Laden Sie das Modellrepository mit der API des Umarmungsgesichts -Snapshots herunter. Dadurch wird alle Dateien von der heruntergeladen microsoft/VibeVoice-1.5B Repository.
from huggingface_hub import snapshot_download
snapshot_download(
"microsoft/VibeVoice-1.5B",
local_dir="/content material/fashions/VibeVoice-1.5B",
local_dir_use_symlinks=False
)
// 3. Erstellen Sie ein Transkript mit Sprechern
Wir erstellen eine Textdatei in Google Colab. Dafür werden wir die magische Funktion verwenden %%writefile Inhalt bereitstellen. Im Folgenden finden Sie ein Beispielgespräch zwischen zwei Rednern über KDNuggets.
%%writefile /content material/my_transcript.txt
Speaker 1: Have you ever learn the most recent article on KDnuggets?
Speaker 2: Sure, it is among the finest assets for information science and AI.
Speaker 1: I like how KDnuggets all the time retains up with the most recent traits.
Speaker 2: Completely, it is a go-to platform for anybody within the AI neighborhood.
// 4. Inferenz rennen (Mehrfachleiter)
Jetzt werden wir das Demo Python -Skript im Vibevoice -Repository ausführen. Das Skript erfordert den Modellpfad, den Textdateipfad und den Sprechernamen.
Lauf Nr. 1: Kartenlautsprecher 1 → Alice, Lautsprecher 2 → Frank
!python /content material/VibeVoice/demo/inference_from_file.py
--model_path /content material/fashions/VibeVoice-1.5B
--txt_path /content material/my_transcript.txt
--speaker_names Alice Frank
Infolgedessen sehen Sie die folgende Ausgabe. Das Modell wird CUDA verwenden, um das Audio mit Frank und Alice als beiden Lautsprechern zu generieren. Es bietet auch eine Zusammenfassung, die Sie zur Analyse verwenden können.
Utilizing system: cuda
Discovered 9 voice information in /content material/VibeVoice/demo/voices
Out there voices: en-Alice_woman, en-Carter_man, en-Frank_man, en-Mary_woman_bgm, en-Maya_woman, in-Samuel_man, zh-Anchen_man_bgm, zh-Bowen_man, zh-Xinran_woman
Studying script from: /content material/my_transcript.txt
Discovered 4 speaker segments:
1. Speaker 1
Textual content preview: Speaker 1: Have you ever learn the most recent article on KDnuggets?...
2. Speaker 2
Textual content preview: Speaker 2: Sure, it is among the finest assets for information science and AI....
3. Speaker 1
Textual content preview: Speaker 1: I like how KDnuggets all the time retains up with the most recent traits....
4. Speaker 2
Textual content preview: Speaker 2: Completely, it is a go-to platform for anybody within the AI neighborhood....
Speaker mapping:
Speaker 2 -> Frank
Speaker 1 -> Alice
Speaker 1 ('Alice') -> Voice: en-Alice_woman.wav
Speaker 2 ('Frank') -> Voice: en-Frank_man.wav
Loading processor & mannequin from /content material/fashions/VibeVoice-1.5B
==================================================
GENERATION SUMMARY
==================================================
Enter file: /content material/my_transcript.txt
Output file: ./outputs/my_transcript_generated.wav
Speaker names: ('Alice', 'Frank')
Variety of distinctive audio system: 2
Variety of segments: 4
Prefilling tokens: 368
Generated tokens: 118
Whole tokens: 486
Era time: 28.27 seconds
Audio length: 15.47 seconds
RTF (Actual Time Issue): 1.83x
==================================================
Spielen Sie das Audio in Pocket book:
Wir werden nun die Ipython -Funktion verwenden, um das generierte Audio in Colab anzuhören.
from IPython.show import Audio, show
out_path = "/content material/outputs/my_transcript_generated.wav"
show(Audio(out_path))


Es dauerte 28 Sekunden, um das Audio zu erzeugen, und es klingt klar, natürlich und glatt. Ich liebe es!
Versuchen Sie es erneut mit verschiedenen Sprachakteuren.
Lauf Nr. 2: Probieren Sie verschiedene Stimmen aus (Mary für Sprecher 1, Carter für Sprecher 2)
!python /content material/VibeVoice/demo/inference_from_file.py
--model_path /content material/fashions/VibeVoice-1.5B
--txt_path /content material/my_transcript.txt
--speaker_names Mary Carter
Das generierte Audio conflict noch besser, mit Hintergrundmusik am Anfang und einem reibungslosen Übergang zwischen den Lautsprechern.
Discovered 9 voice information in /content material/VibeVoice/demo/voices
Out there voices: en-Alice_woman, en-Carter_man, en-Frank_man, en-Mary_woman_bgm, en-Maya_woman, in-Samuel_man, zh-Anchen_man_bgm, zh-Bowen_man, zh-Xinran_woman
Studying script from: /content material/my_transcript.txt
Discovered 4 speaker segments:
1. Speaker 1
Textual content preview: Speaker 1: Have you ever learn the most recent article on KDnuggets?...
2. Speaker 2
Textual content preview: Speaker 2: Sure, it is among the finest assets for information science and AI....
3. Speaker 1
Textual content preview: Speaker 1: I like how KDnuggets all the time retains up with the most recent traits....
4. Speaker 2
Textual content preview: Speaker 2: Completely, it is a go-to platform for anybody within the AI neighborhood....
Speaker mapping:
Speaker 2 -> Carter
Speaker 1 -> Mary
Speaker 1 ('Mary') -> Voice: en-Mary_woman_bgm.wav
Speaker 2 ('Carter') -> Voice: en-Carter_man.wav
Loading processor & mannequin from /content material/fashions/VibeVoice-1.5B
Tipp: Wenn Sie sich nicht sicher sind, welche Namen verfügbar sind, druckt das Skript „verfügbare Stimmen:“ beim Begin.
Zu den allgemeinen gehören:
en-Alice_woman, en-Carter_man, en-Frank_man, en-Mary_woman_bgm, en-Maya_woman, in-Samuel_man, zh-Anchen_man_bgm, zh-Bowen_man, zh-Xinran_woman
# Fehlerbehebung
// 1. Repo hat keine Demo -Skripte?
Das offizielle Microsoft Vibevoice -Repository wurde gezogen und zurückgesetzt. Neighborhood -Berichte zeigen, dass Code und Demos entfernt wurden oder am ursprünglichen Ort nicht mehr zugänglich sind. Wenn Sie feststellen, dass das offizielle Repository Beispiele fehlen, überprüfen Sie bitte einen Neighborhood -Spiegel oder ein Archiv, das die ursprünglichen Demos und Anweisungen erhalten hat: https://github.com/vibevoice-community/vibevoice
// 2. Langsamer Era oder CUDA -Fehler in Colab
Überprüfen Sie, ob Sie sich in einer GPU -Laufzeit befinden: Laufzeit → Laufzeittyp → {Hardware} Accelerator: GPU (T4 oder eine beliebige GPU).
// 3.. CUDA OOM (aus dem Gedächtnis)
Um die Final zu minimieren, können Sie mehrere Schritte unternehmen. Beginnen Sie zunächst den Eingabetxt abkürzen und die Erzeugungslänge reduzieren. Erwägen Sie, die Audio -Stichprobenrate zu senken und/oder die internen Chunk -Größen anzupassen, wenn das Skript dies zulässt. Stellen Sie die Chargengröße auf 1 ein und wählen Sie eine kleinere Modellvariante.
// V.
Das Skript druckt normalerweise den endgültigen Ausgabepfad in der Konsole. Scrollen Sie nach oben, um den genauen Ort zu finden
discover /content material -name "*generated.wav"
// 5. Sprachnamen nicht gefunden?
Kopieren Sie die genauen Namen, die unter verfügbaren Stimmen aufgeführt sind. Verwenden Sie die alias -Namen (Alice, Frank, Mary, Carter), die in der Demo gezeigt sind. Sie entsprechen dem .wav Vermögenswerte.
# Letzte Gedanken
Für viele Projekte würde ich aus mehreren überzeugenden Gründen einen Open-Supply-Stapel wie Vibevoice gegenüber bezahlten APIs wählen. In erster Linie ist es einfach zu integrieren und bietet Flexibilität für die Anpassung, sodass es für eine Vielzahl von Anwendungen geeignet ist. Darüber hinaus ist es überraschend Licht in den GPU-Anforderungen, was in ressourcenbeschränkten Umgebungen von erheblichem Vorteil sein kann.
Vibevoice ist Open Supply, was bedeutet, dass Sie in Zukunft bessere Frameworks erwarten können, die auch bei CPUs eine schnellere Erzeugung ermöglichen.
Abid Ali Awan (@1abidaliawan) ist ein zertifizierter Datenwissenschaftler, der es liebt, maschinelles Lernenmodelle zu bauen. Derzeit konzentriert er sich auf die Erstellung von Inhalten und das Schreiben von technischen Blogs über maschinelles Lernen und Datenwissenschaftstechnologien. Abid hat einen Grasp -Abschluss in Technologiemanagement und einen Bachelor -Abschluss in Telekommunikationstechnik. Seine Imaginative and prescient ist es, ein KI -Produkt zu bauen, das ein Diagramm neuronales Netzwerk für Schüler mit psychische Erkrankungen mit kämpfender Krankheiten unterhält.
