So extrahieren Sie beliebige Sounds aus einem Track mit einfachem Text

Wenn Sie schon einmal Hundegebell aus einem Podcast entfernen oder Vocals aus einem alten Track extrahieren mussten, haben Sie wahrscheinlich mit Standard-Splittern gearbeitet. Normalerweise können diese einen Track nur in genau vier Stems aufteilen: Vocals, Bass, Drums und alles andere. Weichen Sie davon ab – etwa um bestimmten Applaus oder das Klirren von Gläsern zu isolieren – stoßen klassische neuronale Netze an ihre Grenzen.
Kürzlich hat Meta das SAM-Audio-Modell veröffentlicht, das Audio-Tracks basierend auf Textbeschreibungen aufteilt. Das Problem ist, dass das ursprüngliche Repository enorme VRAM-Mengen erfordert und nicht auf jeder Maschine läuft. Das Projekt audioghost-ai löst genau dieses Problem: Der Autor hat unnötige Teile der Architektur entfernt, die VRAM-Anforderungen um fast die Hälfte reduziert und alles in eine gebrauchsfertige Webanwendung verpackt.
Was das Projekt kann
Die Kernidee hinter AudioGhost ist es, dem Modell Befehle in einfacher menschlicher Sprache zu geben. Sie laden eine Audio- oder Videodatei hoch, geben eine Beschreibung in das Eingabefeld drums, crowd noise oder a dog barking ein und wählen eine Aktion: diesen Sound extrahieren oder umgekehrt aus dem Track entfernen.
Die Oberfläche bietet sofort einen integrierten Track-Mixer. Sie können das Original, den isolierten Sound und den Rest-Track direkt im Browser anhören und die Ergebnisse im Handumdrehen vergleichen. Der Videostream wird noch nicht visuell analysiert – der Dienst extrahiert lediglich den Audiotrack aus dem Video – aber der Autor plant, SAM 2 zu integrieren, um auf Objekte im Bild zu klicken.
Wie es gelang, das Modell auf 4 GB VRAM zu schrumpfen
Das ursprüngliche SAM-Audio wurde als universelles multimodales Arbeitstier konzipiert. Aus diesem Grund blieben Video-Encoder und Text-Ranker ständig im Speicher, selbst wenn der Benutzer nur eine MP3-Datei bereinigen wollte.
AudioGhost verwendet den Lite-Modus, der in einer der Diskussionen im ursprünglichen Repository von Meta vorgeschlagen wurde. So haben sie Ressourcen gespart:
- Den Vision Encoder und Visual Ranker entfernt, was etwa 4 GB VRAM spart
- Den Text Ranker und Span-Predictors deaktiviert, was weitere 3–4 GB bringt
- Die Berechnungen standardmäßig auf
bfloat16-Präzision umgestellt - Lange Tracks in 25-Sekunden-Fragmente aufgeteilt
Dadurch kann das Basismodell auf Consumer-GPUs wie der RTX 3070 oder RTX 4060 mit 8 GB Speicher laufen. Wenn Sie den Hochqualitätsmodus in float32 aktivieren, springen die Anforderungen auf 13 GB, aber für die meisten alltäglichen Aufgaben reicht der Basis-Modus aus. Was die Geschwindigkeit betrifft, erreicht die Inferenz auf einer Test-RTX 4090 eine zehnfache Beschleunigung relativ zur Echtzeit-Audio.
Architektur und Stack
Der Entwickler hat das Projekt nicht mit exotischen Tools verkompliziert. Die Architektur ist straightforward:
┌─────────────────────────────────────────────────┐
│ Frontend │
│ (Next.js + Tailwind v4) │
└──────────────────────┬──────────────────────────┘
│
┌──────────────────────▼──────────────────────────┐
│ Backend API │
│ (FastAPI + Python) │
└──────────────────────┬──────────────────────────┘
│
▼
┌─────────────────────────────────────────────────┐
│ Task Queue │
│ (Celery + Redis) │
└──────────────────────┬──────────────────────────┘
│
▼
┌─────────────────────────────────────────────────┐
│ SAM Audio Lite │
│ (Memory-optimized Meta SAM-Audio) │
└─────────────────────────────────────────────────┘
Das Frontend ist mit Next.js und Tailwind v4 aufgebaut. Das Backend läuft auf FastAPI, und schwere Audio-Trennungsaufgaben werden über eine Warteschlange mittels Celery und Redis ausgelagert. Dadurch bleibt die Oberfläche während langer Dateiverarbeitungsoperationen reaktionsfähig.
Schnellstart
Für Windows enthält das Repository fertige bat-Skripte, die automatisch die Conda-Umgebung einrichten, Redis herunterladen und Abhängigkeiten installieren.
Wenn Sie manuell auf Linux oder über das Terminal bauen:
# Создаем окружение
conda create -n audioghost python=3.11 -y
conda activate audioghost
# Ставим PyTorch с поддержкой CUDA 12.6 и FFmpeg
pip install torch==2.9.0+cu126 torchvision==0.24.0+cu126 torchaudio==2.9.0+cu126 --index-url https://download.pytorch.org/whl/cu126
conda install -c conda-forge ffmpeg -y
# Ставим SAM Audio и зависимости бэкенда
pip install git+https://github.com/facebookresearch/sam-audio.git
cd backend && pip install -r requirements.txt
# Ставим фронтенд
cd ../frontend && npm install
Vor dem Start benötigen Sie ein HuggingFace-Konto. Das Modell sam-audio-large unterliegt der Basis-Vereinbarung, Sie müssen also auf der Modellseite Zugriff anfordern und ein Token generieren, das dann über die Weboberfläche des Dienstes eingegeben wird.
Eindrücke und für wen es geeignet ist
Das Projekt hat etwa 470 Sterne auf GitHub und MVP v1.0-Status, daher können Sie auf raue Kanten stoßen. Zum Beispiel treten manchmal FFmpeg-Binary-Probleme beim Bauen von TorchCodec unter Windows auf, und das Modell kann mit zu abstrakten Textbeschreibungen kämpfen.
Dennoch ist es eine der wenigen Open-Source-Implementierungen, die Metas schweres Forschungsmodell in einen funktionierenden lokalen Dienst verwandelt. Wenn Sie Videos schneiden, Audiotracks bereinigen oder mit Sounddesign auf einer lokalen GPU experimentieren, verdient dieses Projekt definitiv einen Clone in Ihren lokalen Ordner.
Ähnliche Projekte