Jak wyodrębnić dowolny dźwięk z utworu za pomocą zwykłego tekstu

Jeśli kiedykolwiek musiałeś usunąć szczekanie psa z podcastu lub wyodrębnić wokale ze starego utworu, prawdopodobnie miałeś do czynienia ze standardowymi separatorami. Zazwyczaj potrafią one podzielić utwór tylko na dokładnie cztery ścieżki: wokal, bas, bębny i wszystko inne. Wyjdź choć trochę poza te ramy — jak na przykład izolowanie konkretnych oklasków czy brzęku szkła — a klasyczne sieci neuronowe zawodzą.
Niedawno Meta udostępniła model SAM-Audio, który dzieli ścieżki audio na podstawie opisów tekstowych. Problem polega na tym, że oryginalne repozytorium wymaga ogromnych ilości VRAM i nie uruchomi się na każdym komputerze. Projekt audioghost-ai rozwiązuje dokładnie ten problem: autor wyciął niepotrzebne części architektury, zmniejszył wymagania VRAM o prawie połowę i spakował wszystko w gotową do użycia aplikację webową.
Co potrafi ten projekt
Główna idea AudioGhost polega na wydawaniu modelowi poleceń zwykłym, ludzkim językiem. Przesyłasz plik audio lub wideo, wpisujesz opis w polu wejściowym drums, crowd noise lub a dog barking i wybierasz akcję: wyodrębnić ten dźwięk lub odwrotnie — usunąć go z utworu.
Interfejs natychmiast udostępnia wbudowany mikser ścieżek. Możesz odsłuchać oryginał, wyodrębniony dźwięk i pozostałą ścieżkę bezpośrednio w przeglądarce, porównując wyniki w locie. Strumień wideo nie jest jeszcze analizowany wizualnie — serwis po prostu wyodrębnia ścieżkę audio z wideo — ale autor planuje zintegrować SAM 2, aby klikać na obiekty w kadrze.
Jak udało się zmniejszyć model do 4 GB VRAM
Oryginalny SAM-Audio został zaprojektowany jako uniwersalna wielomodalna maszyna robocza. Z tego powodu enkoder wideo i rankery tekstowe stale pozostawały w pamięci, nawet jeśli użytkownik chciał tylko wyczyścić plik MP3.
AudioGhost wykorzystuje tryb Lite zaproponowany w jednej z dyskusji w oryginalnym repozytorium Mety. Oto jak zaoszczędzono zasoby:
- Usunięto Enkoder Wizyjny i Ranker Wizyjny, oszczędzając około 4 GB VRAM
- Wyłączono Ranker Tekstowy i predyktory zakresów, zyskując kolejne 3–4 GB
- Przełączono obliczenia na precyzję
bfloat16domyślnie - Podzielono długie utwory na fragmenty 25-sekundowe
W rezultacie model bazowy może działać na konsumenckich GPU, takich jak RTX 3070 czy RTX 4060 z 8 GB pamięci. Jeśli włączysz tryb wysokiej jakości w float32, wymagania skaczą do 13 GB, ale do większości codziennych zadań tryb bazowy jest wystarczający. Jeśli chodzi o szybkość, wnioskowanie na testowym RTX 4090 osiąga dziesięciokrotne przyspieszenie względem czasu rzeczywistego audio.
Architektura i stos technologiczny
Deweloper nie komplikował projektu egzotycznymi narzędziami. Architektura jest prosta:
┌─────────────────────────────────────────────────┐
│ Frontend │
│ (Next.js + Tailwind v4) │
└──────────────────────┬──────────────────────────┘
│
┌──────────────────────▼──────────────────────────┐
│ Backend API │
│ (FastAPI + Python) │
└──────────────────────┬──────────────────────────┘
│
▼
┌─────────────────────────────────────────────────┐
│ Task Queue │
│ (Celery + Redis) │
└──────────────────────┬──────────────────────────┘
│
▼
┌─────────────────────────────────────────────────┐
│ SAM Audio Lite │
│ (Memory-optimized Meta SAM-Audio) │
└─────────────────────────────────────────────────┘
Frontend jest zbudowany z Next.js i Tailwind v4. Backend działa na FastAPI, a ciężkie zadania separacji audio są odciążane do kolejki przez Celery i Redis. Dzięki temu interfejs pozostaje responsywny podczas długich operacji przetwarzania plików.
Szybki start
W przypadku Windowsa repozytorium zawiera gotowe skrypty bat, które automatycznie konfigurują środowisko Conda, pobierają Redis i instalują zależności.
Jeśli budujesz ręcznie na Linuksie lub przez terminal:
# Создаем окружение
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
Przed uruchomieniem będziesz potrzebować konta na HuggingFace. Model sam-audio-large jest chroniony umową bazową, więc musisz poprosić o dostęp na stronie modelu i wygenerować token, który następnie wprowadzasz przez interfejs webowy serwisu.
Wrażenia i dla kogo to jest
Projekt ma około 470 gwiazdek na GitHub i status MVP v1.0, więc możesz napotkać niedociągnięcia. Na przykład problemy z binarką FFmpeg czasem pojawiają się podczas budowania TorchCodec na Windowsie, a model może mieć trudności ze zbyt abstrakcyjnymi opisami tekstowymi.
Niemniej jednak to jeden z niewielu open-source'owych projektów, który przekształca ciężki model badawczy Mety w działającą usługę lokalną. Jeśli edytujesz filmy, porządkujesz ścieżki audio lub eksperymentujesz z projektowaniem dźwięku na lokalnym GPU, ten projekt zdecydowanie zasługuje na sklonowanie do lokalnego folderu.
Powiązane projekty