Install native audio separator with model packages WAV tests and restore recipe

This commit is contained in:
Mikei386
2026-10-01 12:00:36 +02:00
parent c3db35dada
commit 66b035c8d7
20 changed files with 368 additions and 23 deletions
+41
View File
@@ -291,3 +291,44 @@ Laufzeiten müssen weiter über die Steuerung verwaltet werden. Löschen benöti
einen gestoppten Container und eine Bestätigung; weder Images noch Volumes
werden gelöscht. Daten nur in der beschreibbaren Container-Schicht gehen verloren.
Es gibt keine pauschalen Stop-, Prune- oder Löschaktionen für den Docker-Stack.
## Audio Separator
Unter Einstellungen → Laufzeiten → Audio Separator steht ein nativer Installer
für `audio-separator[gpu]==0.47.0` bereit. PyTorch/Torchaudio 2.11.0 mit CUDA 12.8
und ONNX Runtime GPU 1.22.0 werden in einer eigenen Python-Umgebung installiert.
FFmpeg und libsndfile werden vom Debian-Testinstaller im Deck-Image bereitgestellt.
Die Laufzeit wird pro Server, nicht pro Modell installiert.
Unterstützte Pakete: BS-RoFormer (`model_bs_roformer_ep_317_sdr_12.9755.ckpt`)
und MelBand RoFormer (`vocals_mel_band_roformer.ckpt`). „Modell und Konfiguration
herunterladen“ verwendet den Audio-Separator-Modellkatalog und lädt die passende
YAML mit. Diese Pakete liegen in `separator-runtime/models`; sie werden derzeit
auf der Laufzeitseite verwaltet, getrennt von ungeprüften Hub-Downloads in der
Bibliothek. CoreML-, ONNX- und Safetensors-Abwandlungen werden nicht automatisch
als kompatibel freigegeben. Für unbekannte RoFormer-Dateien zeigt Deck den Weg
zu diesem Einrichtungsbereich, behauptet aber keine Kompatibilität.
Stimmwerkzeuge → Audio trennen bzw. die Laufzeitseite bieten einen Trenntest:
16-Bit-PCM-WAV, Mono/Stereo, 8–48 kHz, maximal 30 Sekunden/8 MiB. Der Worker
nutzt bevorzugt eine freie RTX 3060, sonst eine freie RTX 5080. Deck koordiniert
eigene LLM/TTS-Prozesse über den GPU-Scheduler; fremde Prozesse werden nicht
beendet. Video-/Musikmodus sperren diesen Test. Es gibt keinen stillen CPU-Fallback.
Nach Abschluss/Abbruch wird der Prozess beendet und die Eingabedatei gelöscht.
Ergebnis-WAVs bleiben unter `separator-tests/<job-id>` auf Athena.
Interne, nur mit GUI-Anmeldung erreichbare API:
- `GET /api/v1/separator-runtime`: Status, Installationsauftrag, Modellpakete.
- `POST /api/v1/separator-runtime/install` / `cancel`: leeres JSON-Objekt.
- `POST /api/v1/separator-runtime/download`: `{"model":"<Paket-Dateiname>"}`.
- `GET /api/v1/separator-tests`: Teststatus und Ergebnisliste.
- `POST /api/v1/separator-tests/start`: Multipart-Felder `model` und `file`.
- `POST /api/v1/separator-tests/cancel`: leeres JSON-Objekt.
- `GET /api/v1/separator-tests/audio?id=<job-id>&index=<Spur>`: WAV.
Backups enthalten Version und ausgewählte Modellpakete als Restore-Rezept,
keine Laufzeit-Binaries, Gewichte, Eingabe- oder Ergebnis-Audiodateien. Restore
installiert eine fehlende Laufzeit und lädt die Modellpakete erneut. Der
Audio-Separator-Upstream-Katalog und seine öffentlichen Modellquellen können
sich ändern; Wiederherstellung ist von deren Verfügbarkeit abhängig.
Quelle: https://github.com/nomadkaraoke/python-audio-separator/tree/v0.47.0