pimenov.ai

База знаний

StemDeck — локальное разделение музыки на стемы без облака и подписки

StemDeck — бесплатный локальный инструмент для разделения аудио на 6 стемов: установка, микшер, сценарии и сравнение с Moises и LALAL.AI.

Опубликовано

Практическое руководство по StemDeck: бесплатной программе с открытым исходным кодом, которая разделяет готовую песню на шесть отдельных партий прямо на вашем компьютере. Ниже: установка, работа с микшером, сценарии использования и честные ограничения.

Содержание

  1. Что такое StemDeck: суть и позиционирование
  2. Основные возможности: сепарация, микшер, анализ трека
  3. Установка на macOS и Windows: готовые сборки
  4. Веб-сервер, Docker и Unraid: альтернативные способы запуска
  5. Как разобрать трек на стемы: пошаговый процесс и горячие клавиши
  6. Полезные сценарии: бас на слух, минусовка, заготовки для ремикса
  7. Проверка результата: минимальный рабочий сценарий
  8. Ограничения и кому не подойдёт: сравнение с облачными сервисами
  9. Настройка: основные переменные окружения
  10. Если что-то пошло не так: типичные проблемы
  11. Ссылки: репозиторий, сайт, комьюнити

Что такое StemDeck

StemDeck — приложение для сепарации аудио: оно раскладывает готовый трек на стемы (stems), то есть отдельные дорожки с вокалом, барабанами, басом, гитарой, фортепиано и остальными инструментами. За разделение отвечает открытая нейросеть Demucs, (модель htdemucs_6s).

Вся обработка идёт локально, на вашем компьютере: файлы не уходят в облако, аккаунт и подписка не нужны, программа бесплатная и распространяется под лицензией Apache-2.0. По позиционированию это свободная альтернатива облачным сервисам вроде Moises и LALAL.AI для личных занятий: разобрать партию, потренироваться, собрать минусовку или заготовку для ремикса.

📌
Ключевое отличие от облачных сервисов: аудио не покидает ваш компьютер. Расплата за бесплатность и приватность — скорость зависит от вашего железа, а качество сепарации ограничено открытой моделью Demucs.

Основные возможности

  • Сепарация на шесть стемов: вокал, барабаны, бас, гитара, фортепиано и «прочее». Устройство для нейросети определяется автоматически: CUDA на видеокартах NVIDIA, MPS на Apple Silicon, иначе процессор.
  • Импорт локальных файлов MP3, WAV, FLAC, OGG/Opus, MP4 и M4A перетаскиванием в окно, плюс вставка ссылки на YouTube.
  • Мультитрековый микшер в духе DAW (digital audio workstation, цифровая звуковая рабочая станция): регулятор громкости, кнопки mute и solo на каждой дорожке, живые индикаторы уровня.
  • Выбор подмножества стемов. Если извлекать не всё, первой дорожкой появляется Original: исходный трек без выбранных партий, удобно для сравнения «было — стало».
  • Экспорт: каждую дорожку можно скачать отдельно (WAV или MP3), а кнопка Download Mix собирает выбранные стемы в один файл mix.wav.
  • Анализ трека: темп в BPM (ударах в минуту), тональность и лад, интегральная громкость в LUFS по стандарту BS.1770, пиковый уровень.
  • Волновые формы с масштабированием, зацикливание фрагмента, отмена запущенной обработки, библиотека треков с папками и поиском.
Студийный экран StemDeck: дорожки-стемы, микшер и волновые формы. Скриншот из репозитория проекта
Студийный экран StemDeck: дорожки-стемы, микшер и волновые формы. Скриншот из репозитория проекта

Установка на macOS и Windows

Готовые сборки приложены к каждому релизу в разделе Releases на GitHub.

ФайлЧипУскорение
StemDeck-macOS-arm64.dmgApple Silicon (M1 и новее)GPU через MPS
StemDeck-macOS-x64.dmgIntelтолько процессор

На macOS откройте DMG и перетащите StemDeck в «Программы». При первом запуске программа сама скачает Python-окружение (~500 МБ), FFmpeg и модель Demucs (~170 МБ); следующие запуски занимают секунды. Устанавливать Python или другие зависимости в систему не требуется.

⚠️
При первом открытии macOS может показать предупреждение Gatekeeper. Кликните по значку программы правой кнопкой мыши и выберите «Открыть».
ФайлУскорениеРазмер
StemDeck-Windows-x64.zipтолько процессор~700 МБ
StemDeck-Windows-x64.NVIDIA.zipNVIDIA CUDA~1,6 ГБ

На Windows распакуйте архив в любое место и запустите StemDeck.exe. FFmpeg, модель, настройки и логи лежат в папке data рядом с программой, поэтому всю папку можно переносить между дисками и компьютерами. Обработанные треки по умолчанию сохраняются в «Документы\StemDeck»; расположение меняется в настройках (Settings → StemData location).

💡
Совет: первая сепарация всегда долгая, потому что скачиваются веса модели (~170 МБ). Дальше они берутся из локального кэша.

Веб-сервер, Docker и Unraid

Помимо десктопных сборок, StemDeck работает как локальный веб-сервер на Python 3.12 и FastAPI: интерфейс открывается в браузере. Понадобятся Python 3.12+, FFmpeg и менеджер пакетов uv.

macOS и Linux:

git clone https://github.com/stemdeckapp/stemdeck stemdeck && cd stemdeck
./run.sh setup     # ставит ffmpeg и uv, затем зависимости проекта
./run.sh start

Windows (PowerShell; предварительно winget install astral-sh.uv и winget install Gyan.FFmpeg):

git clone https://github.com/stemdeckapp/stemdeck stemdeck; cd stemdeck
uv sync
uv run uvicorn app.main:app --host 127.0.0.1 --port 8000 --timeout-graceful-shutdown 5

При ручном запуске интерфейс будет на http://localhost:8000. Скрипт run.sh берёт порт из переменной PORT (по умолчанию 8765), точный адрес смотрите в логе запуска.

Для ускорения на NVIDIA под Windows перед стартом поставьте CUDA-сборку PyTorch и явно укажите устройство:

uv pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124
$env:STEMDECK_DEMUCS_DEVICE = "cuda"

Запуск в Docker:

docker run -d --name stemdeck -p 8000:8000 \
  -v /path/to/jobs:/app/jobs \
  -v /path/to/cache:/cache \
  -e STEMDECK_PERSIST_LIBRARY=1 \
  ghcr.io/stemdeckapp/stemdeck:edge

Образ уже включает CUDA-версию PyTorch; на Linux-хосте с видеокартой NVIDIA добавьте параметры --runtime=nvidia -e NVIDIA_VISIBLE_DEVICES=all. В Docker на macOS GPU-ускорение недоступно. Для Unraid приложение опубликовано в Community Applications, тома /app/jobs и /cache мапятся на постоянные папки.

Есть и REST API для автоматизации: состояние сервера (GET /api/health), постановка задачи (POST /api/jobs), поток событий по задаче через Server-Sent Events, отмена задачи, отдача отдельных стемов в WAV или MP3 и даже склейка текущего микса с исходным видео в MP4.

Как разобрать трек на стемы

  1. На панели импорта отметьте, какие стемы извлекать: по умолчанию выбраны все шесть, клик по чипу из состояния «выбрано всё» оставляет только этот стем.
  2. Перетащите аудиофайл в окно или вставьте ссылку на YouTube, затем нажмите Process.
  3. Дождитесь стадий конвейера: загрузка, анализ, сепарация, сборка дорожек.
  4. Откроется студийный экран. Если выбрано подмножество, первой дорожкой будет Original: трек без выбранных партий.
  5. Управляйте звучанием: M глушит дорожку, S включает соло (несколько соло звучат вместе), Monitor оставляет только выбранную дорожку. Двойной клик по фейдеру возвращает громкость к нулю; колёсико мыши крутит громкость точно, с Shift — грубо.
  6. Для зацикливания протяните выделение по линейке времени и нажмите Loop. Масштаб волновой формы меняется кнопками +, − и Fit или сочетанием Ctrl/Cmd с колёсиком.
  7. Кнопка Download Mix внизу экрана сохраняет сумму выбранных стемов в mix.wav.

Горячие клавиши:

КлавишаДействие
Spaceвоспроизведение и пауза
[ / ]перемотка на 5 секунд назад или вперёд
Lвключить цикл
I / Oзадать начало и конец цикла

Полезные сценарии

Разобрать басовую партию на слух

  • Задача: выучить или транскрибировать партию баса.
  • Исходные данные: любой трек из вашей коллекции в MP3, WAV или FLAC.
  • Действия: загрузите трек, при выборе стемов оставьте только bass, зациклите нужный фрагмент на линейке времени и слушайте партию в соло, увеличив масштаб волновой формы.
  • Результат: изолированная басовая дорожка, которую можно сохранить отдельным WAV-файлом и разбирать фразу за фразой.
  • Ограничение: на компьютере без GPU сепарация идёт ощутимо медленнее, чем на видеокарте.

Минусовка для практики или караоке

  • Задача: убрать вокал и оставить аккомпанемент.
  • Исходные данные: трек, который вы имеете право обрабатывать.
  • Действия: выберите все стемы, кроме vocals. Для контроля послушайте дорожку Original: в неё попадёт как раз вырезанный вокал, и сразу слышно, что именно ушло из микса. Затем нажмите Download Mix.
  • Результат: файл mix.wav с аккомпанементом без вокала.
  • Ограничение: на плотных миксах слышны артефакты открытой модели; чистоту коммерческих сервисов Demucs не гарантирует. Опционально вокал можно дополнительно разделить на ведущий и бэк моделью UVR-MDX-NET Karaoke 2.

Заготовки для ремикса

  • Задача: забрать отдельные партии трека в DAW для ремикса или сэмпла.
  • Исходные данные: трек и установленный StemDeck.
  • Действия: разложите трек на все шесть стемов, прослушайте дорожки через solo и сохраните нужные по одной в WAV.
  • Результат: отдельные WAV-файлы партий в папке задания (jobs/<id>/stems/), готовые к импорту в Ableton Live, Logic Pro или другую DAW.
  • Ограничение: пакетной обработки нет, треки разбираются строго по одному.

Проверка результата

Минимальный сценарий после установки:

  1. Запустите StemDeck и перетащите в окно короткий MP3 на 1–2 минуты.
  2. Нажмите Process и дождитесь студийного экрана.
  3. Признак успеха: на экране шесть волновых дорожек, при нажатии Play звучит микс, а кнопки M и S на каждой дорожке слышно меняют звучание.
  4. Для серверного варианта дополнительно откройте /api/health на адресе сервера: в ответ должны прийти состояние и версия.

Время первой обработки не показатель: в него входит скачивание модели. Если дорожки появились и микшер реагирует, установка удалась.

Ограничения и кому не подойдёт

StemDeckMoises, LALAL.AI и подобные
Ценабесплатноподписка или кредиты
Обработкалокально, на вашем железев облаке
Аккаунтне нуженобязателен
Приватностьаудио не покидает компьютерфайлы обрабатываются на чужих серверах
Модельоткрытая Demucs htdemucs_6sпроприетарная, обычно качественнее
Число стемов6до 10
Скоростьзависит от железаодинаково быстро для всех
Пакетная обработканетесть на платных тарифах
Мобильное приложениенетiOS и Android
Дополнительные функцииотсутствуютсдвиг тональности, аккорды, текст песни и другое

Вывод без маркетинга: если нужны скорость, максимальное качество сепарации и музыкальные инструменты вроде распознавания аккордов, коммерческий сервис оправдает подписку. Если важнее бесплатность, локальность и приватность, StemDeck закрывает основную задачу.

Технические рамки по умолчанию: аудио длиннее 20 минут отклоняется (STEMDECK_MAX_DURATION_SEC = 1200), в очереди не больше трёх ожидающих задач, папки заданий автоматически чистятся через 24 часа (STEMDECK_JOB_TTL_SECONDS = 86400). Нужные файлы забирайте сразу или увеличьте срок хранения в настройках.

⚠️
StemDeck — инструмент обработки уже имеющихся у вас записей. Поддержка ссылок на YouTube реализована через yt-dlp, а автоматическое скачивание может нарушать условия YouTube. Ответственность за права на материал несёте вы: обрабатывайте только то, что имеете право обрабатывать.

Настройка

Основные переменные окружения (полный список в README):

ПеременнаяПо умолчаниюНазначение
STEMDECK_DEMUCS_DEVICEautoпринудительный выбор устройства: cuda, mps или cpu
STEMDECK_DEMUCS_MODELhtdemucs_6sмодель Demucs
STEMDECK_JOBS_DIR./jobsкуда складывать результаты обработки
STEMDECK_DATA_DIRне заданакорень portable-режима: все служебные папки внутри него
STEMDECK_MAX_DURATION_SEC1200отклонять аудио длиннее этого числа секунд
STEMDECK_JOB_TTL_SECONDS86400срок хранения папок заданий

Если что-то пошло не так

  • ffmpeg: command not found: установите FFmpeg и перезапустите сервер (./run.sh restart).
  • Первая сепарация очень долгая: это скачивание весов модели, дальше будет быстрее.
  • Demucs работает на процессоре вместо GPU: в логе запуска ищите device=cuda или device=mps; строка device=cpu означает CPU-сборку PyTorch (для NVIDIA поставьте CUDA-вариант, как в разделе про веб-сервер).
  • [youtube] No supported JavaScript runtime: поставьте Deno; загрузка сработает и без него, но с неоптимальным выбором формата.
  • Страница обновилась посреди обработки: задание продолжается на сервере, дождитесь завершения и повторите запрос.

Ссылки

Следующий шаг

Стемы из StemDeck выгружаются в WAV, и дальше их обычно нужно конвертировать или сжать: Shutter Encoder: практическое руководство по конвертации видео и аудио.

Связанные материалы

Локальная обработка звука — хороший способ применять ИИ-инструменты там, куда не хочется отдавать данные в облако. Если выстраиваете такой процесс для студии, медиапроекта или рабочей команды, обсуждение будет полезно.

Если захотите обсудить, как это применить у себя или в команде — пишите в Telegram @pimenov