demucs

n8n community node to separate vocals/music using Demucs, with first-class binary data support

Package Information

Downloads: 39 weekly / 64 monthly
Latest Version: 0.1.1
Author: topandrey16

Documentation

n8n-nodes-demucs

Community node для качественного отделения голоса/музыки из аудио и видео с помощью Demucs, с полноценной поддержкой binary data в n8n (binary in → binary out).

Автор: topandrey16

Что умеет

  • Принимает video/audio как binary (например, после HTTP Request (Download), Read Binary File, Telegram, S3 и т.п.).
  • Нормализует вход в WAV через системный ffmpeg (чтобы Demucs работал стабильно и предсказуемо).
  • Запускает Demucs CLI и возвращает:
    • vocals (голос), no_vocals (инструментал) в режиме 2 stems, или
    • vocals, drums, bass, other в режиме 4 stems.
  • Опционально re-mux: вернуть видео с заменённой аудиодорожкой (например, с no_vocals) без перекодирования видео (-c:v copy).
  • Возврат результатов:
    • одним item с несколькими бинарями, или
    • по одному item на stem.

Требования (важно)

  1. ffmpeg должен быть доступен в PATH на хосте, где запускается n8n:
ffmpeg -version
  1. Demucs должен быть установлен и доступен как CLI demucs:
python3 -m pip install -U demucs
demucs --help

Нода не вшивает Demucs внутрь npm-пакета — это сознательно: Demucs тяжелый и живёт в Python-экосистеме.

Установка

Вариант A: через npm (внутри окружения n8n)

cd ~/.n8n
npm install n8n-nodes-demucs

Перезапусти n8n.

Вариант B: локальная разработка

git clone https://github.com/topandrey16/n8n-nodes-demucs.git
cd n8n-nodes-demucs
npm i
npm run build

Быстрый пример использования

  1. HTTP Request (download file) → включи Response Format: File, чтобы получить binary.
  2. Demucs:
    • Binary Property: data (или как у тебя называется бинарник)
    • Output Type: Audio stems
    • Separation Mode: 2 stems (vocals / no_vocals)
  3. Дальше можно:
    • сохранить vocals в S3,
    • отправить no_vocals в ffmpeg-нод/видео-генерацию,
    • и т.д.

Параметры ноды (коротко)

  • Binary Property — имя входного бинарного поля.
  • Output Type
    • Audio stems — вернуть дорожки (рекомендуется)
    • Re-mux video — собрать видео обратно с выбранной дорожкой
    • Stems + re-mux — оба варианта
  • Return Mode — один item или item на stem.
  • Model — имя модели Demucs (по умолчанию htdemucs).
  • Deviceauto/cpu/cuda/mps.
  • Shifts/Overlap/Segment — качество/скорость (чем выше shifts, тем качественнее и медленнее).
  • FFmpeg Path — по умолчанию ffmpeg (системный).
  • Demucs Path — по умолчанию demucs.

Замечания по качеству

  • Для максимального качества обычно имеет смысл:
    • модель htdemucs или htdemucs_ft
    • shifts 2..6 (баланс скорость/качество)
  • GPU (cuda) резко ускоряет.

Лицензия

MIT

Discussion