4.3 KiB
VoxCPM2: Komponentenpaket und Ausführungsstatus
Für openbmb/VoxCPM2/model.safetensors besitzt Deck ein eigenes Komponentenrezept:
audiovae.pth: Audio-VAE-Gewichte.config.json: Modellkonfiguration einschließlich Audio-VAE-Architektur.tokenizer.json: Text-Tokenizer/Wortschatz.tokenizer_config.json: Einstellungen des Text-Tokenizers.special_tokens_map.json: Spezialtokens.
Diese Dateien müssen dieselbe feste Repository-Revision wie die Hauptgewichte verwenden. Vorhandene Downloads werden wiederverwendet. Die zwei Tokenizer-Dateien sind verschiedene Teile eines Pakets, keine doppelten Modelle. Separater Textencoder und Vision-Projektor werden nicht benötigt. Der optionale externe Denoiser ist nicht Bestandteil dieses Grundpakets.
Das Dateirezept ist anhand des offiziellen Modells und des originalen Loaders geprüft. Es ist keine Zusage getesteter Inferenz: VoxCPM2 wird durch den eigenen Deck-Worker ausgeführt. Eine vorhandene audio.cpp- oder llama.cpp-Installation ersetzt diese Anbindung nicht. Ein Profil wird erst nach installierter Laufzeit und vollständiger Komponenten-Zuordnung ausführbar.
Der Katalog erlaubt .pth ausschließlich für die exakt benannte offizielle
Audio-VAE-Datei dieses Repositorys. Der Download führt keine Datei aus. Das spätere
Laden muss wie im Original mit weights_only=True erfolgen. Kein automatisches
Ausführen von Python-Dateien aus Modell-Repositories.
Die Bibliothek gruppiert Text-Tokenizer gesondert; sie erscheinen nicht zusätzlich als allgemeine Konfiguration. „Alle fehlenden Dateien herunterladen“ prüft zunächst, ob für alle Pflichtkomponenten eine herunterladbare Datei angeboten wird. Erst danach werden Downloads eingereiht; bei einem späteren Fehler zeigt Deck bereits eingereihte Dateien an. Manuelle, ungeprüfte Listen erhalten weiterhin keinen Sammeldownload.
Laufzeit über die Oberfläche installieren
Unter Laufzeiten → VoxCPM oder im Komponentenbereich über
Passende Laufzeit installieren lässt sich das offizielle Paket VoxCPM 2.0.3
in einer eigenen Python-Umgebung installieren und abbrechen. Die Installation
prüft CUDA-PyTorch, Paketkonsistenz und den VoxCPM2-Loader, lädt aber weder
Modellgewichte noch ein Modell in die GPUs. Vorhandene CUDA-Pakete der
Bildlaufzeit werden lesend wiederverwendet. Versionen stehen in
deploy/voxcpm-requirements.lock.
Backup exportiert den Installationswunsch und die Version; Restore installiert diese Laufzeit erneut. Eine installierte Laufzeit allein genügt nicht: Die fünf Komponenten müssen dem Profil zugeordnet sein.
Generierung und Stimmklonen
Unter Stimmwerkzeuge → Testen: VoxCPM2-Profil wählen, Text eingeben, GPU (RTX 5080 oder RTX 3060), Guidance, Schritte und Seed einstellen. Optional eine PCM-16-WAV-Referenz mit 1–30 Sekunden und höchstens 8 MiB hochladen. Die Referenz wird nach dem Auftrag gelöscht; der Text wird nur über stdin weitergegeben. Bibliotheksgewichte werden in einem temporären Paket verlinkt, nicht kopiert. Der Worker lädt ausschließlich lokale Dateien, ohne Denoiser oder zusätzliche Downloads, auf die ausdrücklich ausgewählte CUDA-GPU.
Im LLM-Modus reserviert Deck die GPUs exklusiv, entlädt sein LLM/TTS und beendet VoxCPM2 nach Abschluss, Abbruch oder Fehler. Andere Dienste werden nicht gestoppt. Bei nächster Chat-Anfrage wird das LLM wieder geladen.
Interne API (Oberflächen-Anmeldung und Same-Origin-Steuerheader erforderlich):
GET /api/v1/voice: Job und Laufzeitstatus.POST /api/v1/voice/start: JSON mitprofile_id,text, optionaldevice(5080/3060),cfg,steps,seed; alternativ Multipart mit denselben Feldern und optionalfileals WAV-Referenz.POST /api/v1/voice/cancel: leeres JSON.GET /api/v1/voice/audio?id=...: fertiges WAV.
Ein unter Profile freigegebenes VoxCPM2-Profil steht zusätzlich unter
GET /v1/audio/speech/models und POST /v1/audio/speech bereit:
model=<Profilname>, input=<Text>, voice=default, response_format=wav,
speed=1. Referenz-Stimmklonen verwendet derzeit den internen Multipart-Endpunkt.
Backups sichern Profile, Komponenten und die wiederherstellbare Laufzeitversion,
keine Testtexte oder Audiodateien.