>_ DevTrendspt

Idioma

Início

Linguagens

Seções

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embarcados Segurança
TypeScript

Como Extrair Qualquer Som de uma Faixa Usando Texto Simples

AudioGhost Banner

Demo Python License

Se você já precisou remover latidos de cachorro de um podcast ou extrair vocais de uma faixa antiga, provavelmente lidou com separadores padrão. Geralmente, eles só podem dividir uma faixa em exatamente quatro stems: vocais, baixo, bateria e todo o resto. Um passo à esquerda ou à direita disso—como isolar aplausos específicos ou o tilintar de copos—e as redes neurais clássicas ficam aquém.

Recentemente, a Meta lançou o modelo SAM-Audio, que divide faixas de áudio com base em descrições em texto. O problema é que o repositório original requer quantidades enormes de VRAM e não roda em qualquer máquina. O projeto audioghost-ai resolve exatamente esse problema: o autor removeu partes desnecessárias da arquitetura, reduziu os requisitos de VRAM quase pela metade e empacotou tudo em uma aplicação web pronta para uso.

O Que o Projeto Pode Fazer

A ideia central por trás do AudioGhost é dar comandos ao modelo em linguagem humana simples. Você faz upload de um arquivo de áudio ou vídeo, digita uma descrição no campo de entrada drums, crowd noise ou a dog barking, e escolhe uma ação: extrair esse som ou, inversamente, removê-lo da faixa.

A interface fornece imediatamente um mixer de faixas integrado. Você pode ouvir o original, o som isolado e a faixa residual diretamente no navegador, comparando resultados em tempo real. O stream de vídeo ainda não é analisado visualmente—o serviço apenas extrai a faixa de áudio do vídeo—mas o autor planeja integrar o SAM 2 para clicar em objetos no quadro.

Como Conseguiram Reduzir o Modelo para 4 GB de VRAM

O SAM-Audio original foi projetado como um cavalo de trabalho multimodal universal. Por causa disso, codificadores de vídeo e classificadores de texto permaneciam constantemente na memória, mesmo que o usuário quisesse apenas limpar um arquivo MP3.

O AudioGhost usa o Modo Leve proposto em uma das discussões no repositório original da Meta. Veja como eles economizaram recursos:

  • Removeram o Codificador de Visão e o Classificador Visual, economizando cerca de 4 GB de VRAM
  • Desativaram o Classificador de Texto e os previsores de span, ganhando mais 3–4 GB
  • Mudaram os cálculos para precisão bfloat16 por padrão
  • Dividiram faixas longas em fragmentos de 25 segundos

Como resultado, o modelo base pode rodar em GPUs de consumo como a RTX 3070 ou RTX 4060 com 8 GB de memória. Se você habilitar o modo de alta qualidade em float32, os requisitos sobem para 13 GB, mas para a maioria das tarefas cotidianas, o modo base é suficiente. Em termos de velocidade, a inferência em uma RTX 4090 de teste atinge aceleração dez vezes maior em relação ao áudio em tempo real.

Arquitetura e Stack

O desenvolvedor não complicou o projeto com ferramentas exóticas. A arquitetura é direta:

┌─────────────────────────────────────────────────┐
                   Frontend                       
             (Next.js + Tailwind v4)             
└──────────────────────┬──────────────────────────┘
                       
┌──────────────────────▼──────────────────────────┐
               Backend API                        
            (FastAPI + Python)                    
└──────────────────────┬──────────────────────────┘
                       
                       
┌─────────────────────────────────────────────────┐
              Task Queue                          
          (Celery + Redis)                        
└──────────────────────┬──────────────────────────┘
                       
                       
┌─────────────────────────────────────────────────┐
           SAM Audio Lite                         
    (Memory-optimized Meta SAM-Audio)            
└─────────────────────────────────────────────────┘

O frontend é construído com Next.js e Tailwind v4. O backend roda em FastAPI, e tarefas pesadas de separação de áudio são transferidas para uma fila via Celery e Redis. Isso mantém a interface responsiva durante operações longas de processamento de arquivos.

Início Rápido

Para Windows, o repositório contém scripts bat prontos que configuram automaticamente o ambiente Conda, puxam o Redis e instalam as dependências.

Se você estiver construindo manualmente no Linux ou via 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

Antes de iniciar, você precisará de uma conta no HuggingFace. O modelo sam-audio-large é controlado pelo acordo base, então você precisa solicitar acesso na página do modelo e gerar um token, que é então inserido através da interface web do serviço.

Impressões e Para Quem Serve

O projeto tem cerca de 470 estrelas no GitHub e status de MVP v1.0, então você pode encontrar algumas arestas ásperas. Por exemplo, problemas com binários do FFmpeg às vezes aparecem ao construir o TorchCodec no Windows, e o modelo pode ter dificuldades com descrições de texto excessivamente abstratas.

Mesmo assim, é uma das poucas implementações de código aberto que transforma o modelo pesado de pesquisa da Meta em um serviço local funcional. Se você edita vídeos, limpa faixas de áudio ou experimenta design de som em uma GPU local, este projeto definitivamente merece um clone para sua pasta local.

Projetos relacionados