---
title: "Установка Demucs локально: Бесплатное руководство по ИИ-разделению стемов"
date: "2026-01-11"
author: "StemSplit Team"
tags: ["Demucs", "ИИ", "машинное обучение", "разделение стемов", "руководство", "Meta AI", "htdemucs", "глубокое обучение"]
excerpt: "Пошаговое руководство по установке Demucs на ваш компьютер для бесплатного разделения стемов. Извлекайте вокал, ударные и бас локально с GPU-ускорением."
abstract: "Demucs — это ИИ-модель, которая сегодня обеспечивает работу большинства профессиональных инструментов для разделения стемов, включая StemSplit. Это руководство охватывает всё: от установки до архитектуры и обучения пользовательских моделей, и написано как для любознательных музыкантов, так и для ML-инженеров."
locale: "ru"
canonical: "https://stemsplit.io/ru/blog/demucs-local-setup-guide"
source: "stemsplit.io"
---

> **Source:** https://stemsplit.io/ru/blog/demucs-local-setup-guide  
> Originally published by [StemSplit](https://stemsplit.io). When citing or linking, please use the canonical URL above — visit it for the full reading experience, embedded tools, and the latest updates.

Demucs — это ИИ-модель, которая сегодня обеспечивает работу большинства профессиональных инструментов для разделения стемов, включая StemSplit. Это руководство охватывает всё: от установки до архитектуры и обучения пользовательских моделей, и написано как для любознательных музыкантов, так и для ML-инженеров.

**Кратко**: Demucs — это гибридная трансформерная модель от Meta AI, которая разделяет аудио на вокал, ударные, бас и другие инструменты. Установите с помощью `pip install -U demucs`, запустите с `demucs your_song.mp3` и получите стемы студийного качества за несколько минут. Для лучших результатов используйте модель `htdemucs_ft` с GPU-ускорением.

---

## Что такое Demucs?

Demucs (Deep Extractor for Music Sources) — это ИИ-модель с открытым исходным кодом, разработанная Meta AI Research для разделения музыкальных источников. Она принимает смешанную аудиодорожку и выводит изолированные стемы — обычно вокал, ударные, бас и «прочее» (всё остальное).

Что делает Demucs значимым:

- **Передовое качество**: достигает SDR (отношение сигнала к искажению) 9,20 дБ на бенчмарке MUSDB18-HQ — выше, чем у любой предыдущей модели
- **Обработка на основе волновой формы**: работает непосредственно с сырым аудио, а не только со спектрограммами, сохраняя фазовую информацию
- **Открытый исходный код**: лицензия MIT, бесплатно для коммерческого и личного использования
- **Проверено практикой**: обеспечивает большинство профессиональных сервисов разделения стемов

Последняя версия, Hybrid Transformer Demucs (HTDemucs), представляет четвёртую крупную итерацию и объединяет лучшее из обработки во временной и частотной областях.

---

## Эволюция: v1 → v4

Понимание эволюции Demucs помогает объяснить, почему он работает так хорошо.

### Demucs v1 (2019)

Оригинальный Demucs представил архитектуру U-Net, работающую непосредственно с волновыми формами — отход от методов, использующих только спектрограммы. Ключевые инновации:

- Gated Linear Units (GLU) для активации
- Двунаправленный LSTM между кодировщиком и декодером
- Skip-соединения от слоёв кодировщика к декодеру

```
Архитектура: Чистый волновой U-Net с BiLSTM
SDR: ~6,3 дБ на MUSDB18
Инновация: Первая конкурентоспособная модель только на волновых формах
```

### Demucs v2 (2020)

Улучшенная глубина и обучение:

- Более глубокий кодировщик/декодер (6 слоёв → 7 слоёв)
- Лучшая инициализация весов
- Улучшения аугментации данных

```
SDR: ~6,8 дБ на MUSDB18
Инновация: Доказал, что волновые модели могут конкурировать со спектрограммными методами
```

### Demucs v3 / Hybrid Demucs (2021)

Прорыв: сочетание спектрограммной и волновой обработки:

- Двойная архитектура U-Net (одна для временной области, одна для частотной)
- Общие представления между ветвями
- Межсменное слияние в узком месте

```
SDR: ~7,5 дБ на MUSDB18
Инновация: Лучшее из обоих миров — точность спектрограммы + фаза волновой формы
```

### Demucs v4 / HTDemucs (2022-2023)

Современное состояние, добавление трансформеров:

- Слои трансформеров как в кодировщике, так и в декодере
- Перекрёстное внимание между временными и спектральными ветвями
- Самовнимание для дальних зависимостей

```
SDR: 9,20 дБ на MUSDB18-HQ
Инновация: Трансформеры захватывают долгосрочную музыкальную структуру
```

---

## Глубокое погружение в архитектуру

Для практикующих ML: вот как на самом деле работает HTDemucs.

### Высокоуровневая структура

HTDemucs использует **архитектуру с двумя путями** с двумя параллельными ветвями U-Net, которые обмениваются информацией:

![Архитектура HTDemucs - Модель с двумя путями с временной и спектральной ветвями](/images/blog/htdemucs-architecture.svg)

### Временная ветвь (обработка волновой формы)

Временная ветвь обрабатывает сырые аудиосэмплы:

1. **Кодировщик**: стек свёрток 1D со страйдом, которые постепенно понижают дискретизацию аудио
2. **Узкое место**: BiLSTM + самовнимание трансформера
3. **Декодер**: транспонированные свёртки, которые повышают дискретизацию до исходного разрешения
4. **Skip-соединения**: соединения в стиле U-Net от кодировщика к декодеру

```python
# Упрощённая структура слоя кодировщика
class TemporalEncoderLayer:
    def __init__(self, in_channels, out_channels, kernel_size=8, stride=4):
        self.conv = nn.Conv1d(in_channels, out_channels, kernel_size, stride)
        self.norm = nn.GroupNorm(1, out_channels)
        self.glu = nn.GLU(dim=1)  # Gated Linear Unit
        
    def forward(self, x):
        x = self.conv(x)
        x = self.norm(x)
        x = self.glu(x)  # Выход out_channels // 2
        return x
```

### Спектральная ветвь (обработка спектрограммы)

Спектральная ветвь обрабатывает кратковременное преобразование Фурье (STFT) аудио:

1. **Вычисление STFT**: преобразует волновую форму в комплексную спектрограмму
2. **2D свёртки**: обрабатывают представления частота × время
3. **Слои трансформера**: самовнимание в измерениях частоты и времени
4. **Обратное STFT**: преобразование обратно в волновую форму

Ключевые параметры:
- Окно STFT: 4096 сэмплов
- Длина хопа: 1024 сэмпла
- Частотные бины: 2049 (для аудио 44,1 кГц)

### Межсменное слияние

Магия происходит там, где ветви общаются:

```python
# Перекрёстное внимание между ветвями (упрощённо)
class CrossDomainAttention:
    def forward(self, temporal_features, spectral_features):
        # Временное обращает внимание на спектральное
        temporal_out = self.temporal_cross_attn(
            query=temporal_features,
            key=spectral_features,
            value=spectral_features
        )
        
        # Спектральное обращает внимание на временное
        spectral_out = self.spectral_cross_attn(
            query=spectral_features,
            key=temporal_features,
            value=temporal_features
        )
        
        return temporal_out, spectral_out
```

### Почему эта архитектура работает

1. **Сохранение фазы**: ветвь волновой формы поддерживает точные фазовые соотношения — критично для чистого разделения
2. **Частотная точность**: спектральная ветвь отлично справляется с разделением инструментов с различными частотными профилями
3. **Дальние зависимости**: трансформеры моделируют музыкальную структуру (паттерны куплет-припев, повторяющиеся мотивы)
4. **Мультимасштабные признаки**: U-Net захватывает как мелкие детали, так и глобальный контекст

---

## Сравнение доступных моделей

Demucs предлагает несколько предобученных моделей. Вот как они сравниваются:

| Модель | Стемы | SDR (вокал) | SDR (сред.) | Скорость | VRAM | Лучше всего для |
|--------|-------|-------------|-------------|----------|------|-----------------|
| `htdemucs` | 4 | 8,99 дБ | 7,66 дБ | Быстро | ~4 ГБ | Общее использование |
| `htdemucs_ft` | 4 | **9,20 дБ** | **7,93 дБ** | Медленно | ~6 ГБ | **Лучшее качество** |
| `htdemucs_6s` | 6 | 8,83 дБ | Н/Д | Средне | ~5 ГБ | Разделение гитары/пианино |
| `mdx` | 4 | 8,5 дБ | 7,2 дБ | Быстро | ~3 ГБ | Системы с меньшим VRAM |
| `mdx_extra` | 4 | 8,7 дБ | 7,4 дБ | Средне | ~4 ГБ | Лучше чем mdx |
| `mdx_q` | 4 | 8,3 дБ | 7,0 дБ | Самый быстрый | ~2 ГБ | Быстрый просмотр |

---

## Системные требования

### Минимальные требования

| Компонент | Минимум | Рекомендуется |
|-----------|---------|---------------|
| CPU | Любой современный x86_64 | 4+ ядра |
| RAM | 8 ГБ | 16 ГБ |
| GPU | Нет (CPU работает) | NVIDIA 4+ ГБ VRAM |
| Хранилище | 2 ГБ | 5 ГБ (для моделей) |
| Python | 3.8+ | 3.10+ |

### Оценка времени обработки

Для 4-минутного стерео трека на 44,1 кГц:

| Оборудование | htdemucs | htdemucs_ft |
|--------------|----------|-------------|
| NVIDIA RTX 4090 | ~30 сек | ~60 сек |
| NVIDIA RTX 3080 | ~45 сек | ~90 сек |
| NVIDIA RTX 3060 | ~90 сек | ~180 сек |
| Apple M1 Pro | ~120 сек | ~240 сек |
| Intel i7 (CPU) | ~8 мин | ~15 мин |
| Intel i5 (CPU) | ~15 мин | ~25 мин |

### Использование VRAM GPU

Требования к VRAM зависят от длины аудио и модели:

![Использование VRAM по модели и длине аудио - Требования к памяти GPU для различных моделей Demucs](/images/blog/demucs-vram-usage.svg)

Если заканчивается VRAM, используйте флаг `--segment` для обработки меньшими частями.

---

## Руководство по установке

### Вариант 1: pip (Самый простой)

Для большинства пользователей, которые просто хотят разделить треки:

```bash
# Создать виртуальное окружение (рекомендуется)
python3 -m venv demucs_env
source demucs_env/bin/activate  # Windows: demucs_env\Scripts\activate

# Установить Demucs
pip install -U demucs

# Проверить установку
demucs --help
```

Вы должны увидеть:

```
usage: demucs [-h] [-s SHIFTS] [--overlap OVERLAP] [-d DEVICE]
              [--two-stems STEM] [-n NAME] [-v] ...

positional arguments:
  tracks                Path to tracks

optional arguments:
  -h, --help            show this help message and exit
  ...
```

### Вариант 2: Conda (Рекомендуется для GPU)

Для ускорения GPU и разработки ML:

```bash
# Клонировать репозиторий
git clone https://github.com/facebookresearch/demucs
cd demucs

# Создать окружение (выберите одно)
conda env update -f environment-cuda.yml  # Для NVIDIA GPU
conda env update -f environment-cpu.yml   # Только для CPU

# Активировать окружение
conda activate demucs

# Установить в режиме разработки
pip install -e .

# Проверить обнаружение GPU
python -c "import torch; print(f'CUDA доступен: {torch.cuda.is_available()}')"
```

Ожидаемый вывод с GPU:

```
CUDA доступен: True
```

### Вариант 3: Docker (Самая чистая изоляция)

Для воспроизводимых окружений:

```dockerfile
# Dockerfile
FROM pytorch/pytorch:2.1.0-cuda12.1-cudnn8-runtime

RUN pip install -U demucs

WORKDIR /audio
ENTRYPOINT ["demucs"]
```

Сборка и запуск:

```bash
docker build -t demucs .
docker run --gpus all -v $(pwd):/audio demucs song.mp3
```

---

## Базовое использование

### Разделение трека

Самая простая команда:

```bash
demucs song.mp3
```

Структура вывода:

![Структура выходной папки Demucs с разделёнными стемами](/images/blog/demucs-output-structure.svg)

### Общие случаи использования

**Извлечь только вокал (создание караоке):**

```bash
demucs --two-stems vocals song.mp3
```

Вывод: `vocals.wav` и `no_vocals.wav` (инструментал)

**Извлечь только инструментал:**

```bash
demucs --two-stems vocals song.mp3
# Затем использовать файл no_vocals.wav
```

**Обработать несколько файлов:**

```bash
demucs song1.mp3 song2.mp3 song3.mp3
```

**Вывод в MP3 вместо WAV:**

```bash
demucs --mp3 --mp3-bitrate 320 song.mp3
```

**Использовать модель высшего качества:**

```bash
demucs -n htdemucs_ft song.mp3
```

**Указать выходной каталог:**

```bash
demucs -o ./my_stems song.mp3
```

---

## Когда DIY имеет смысл

Давайте честно определим, когда локальный запуск Demucs имеет смысл:

| Сценарий | DIY Demucs | Облачный сервис (StemSplit) |
|----------|------------|------------------------------|
| **Объём обработки** | Высокий объём (100+ песен) | Периодическое использование |
| **Оборудование** | Есть хороший GPU | Только CPU или нет GPU |
| **Технические навыки** | Комфортно с Python/CLI | Предпочитаете GUI |
| **Требования конфиденциальности** | Нужно держать аудио локально | Облако приемлемо |
| **Бюджет** | Есть время, нет денег | Есть деньги, нет времени |
| **Настройка** | Нужно дообучать модели | Стандартное разделение достаточно |
| **Предпросмотр перед оплатой** | Недоступно | Бесплатный 30-сек предпросмотр |

---

## FAQ

### Demucs бесплатен?

Да. Demucs — открытый исходный код под лицензией MIT, бесплатный для личного и коммерческого использования. Модели также свободно доступны.

### Могу ли я использовать Demucs коммерчески?

Да. Лицензия MIT разрешает коммерческое использование без ограничений. Вы можете использовать разделённые стемы в коммерческих релизах, создавать продукты на основе Demucs и т.д.

### В чём разница между Demucs и Spleeter?

| Аспект | Demucs | Spleeter |
|--------|--------|----------|
| Разработчик | Meta AI | Deezer |
| Архитектура | Гибридный трансформер | Простой U-Net |
| Качество (SDR) | ~9,2 дБ | ~5,9 дБ |
| Обработка | Волновая форма + спектрограмма | Только спектрограмма |
| Скорость | Медленнее | Быстрее |
| Выпущен | 2019 (v1), 2023 (v4) | 2019 |

Demucs производит значительно более высокое качество, но требует больше вычислений.

### Нужен ли мне GPU?

Нет, но он значительно помогает. Обработка на CPU работает, но в 5-10 раз медленнее. Современный NVIDIA GPU с 4+ ГБ VRAM рекомендуется для разумного времени обработки.

### Сколько времени занимает обработка?

Зависит от оборудования и модели:
- GPU (RTX 3080): ~45 секунд для 4-минутной песни
- CPU (современный i7): ~8-15 минут для 4-минутной песни

### Какие аудиоформаты поддерживает Demucs?

Вход: MP3, WAV, FLAC, OGG, M4A и всё, что может декодировать FFmpeg.
Выход: WAV (по умолчанию), MP3 (с флагом --mp3).

### Может ли Demucs разделить больше 4 стемов?

Да. Используйте `htdemucs_6s` для разделения на 6 стемов:
- Вокал
- Ударные
- Бас
- Гитара
- Пианино
- Другое

### Как обновить Demucs?

```bash
pip install -U demucs
```

### Куда загружаются модели?

Модели кэшируются в:
- Linux/Mac: `~/.cache/torch/hub/checkpoints/`
- Windows: `C:\Users\<username>\.cache\torch\hub\checkpoints\`

---

## Заключение

Demucs представляет собой передовой край разделения музыкальных источников на основе ИИ. Будь вы продюсером, изолирующим сэмплы, исследователем, раздвигающим границы аудио ML, или просто человеком, который хочет создать караоке-трек — понимание того, как работает эта технология, даёт вам больше контроля над результатами.

Для большинства пользователей самый простой путь — использовать сервис, который управляет инфраструктурой. Для продвинутых пользователей и практиков ML локальный запуск Demucs предлагает максимальный контроль и настройку.

---

## Готовы попробовать разделение стемов?

Вы видели, как работает технология. Теперь испытайте её.

**Вариант 1: Запустите сами** — Следуйте этому руководству для локальной настройки Demucs.

**Вариант 2: Пропустите настройку** — [StemSplit](/stem-splitter) запускает Demucs htdemucs_ft в облаке. Загрузите свою песню, прослушайте 30 секунд бесплатно и скачайте стемы студийного качества. Python не требуется.

[Попробовать StemSplit бесплатно →](/vocal-remover)

---

## Дополнительное чтение

- [Репозиторий Demucs на GitHub](https://github.com/facebookresearch/demucs)
- [Hybrid Transformers for Music Source Separation (Статья)](https://arxiv.org/abs/2211.08553)
- [Датасет бенчмарка MUSDB18](https://sigsep.github.io/datasets/musdb.html)
- [Music Demixing Challenge (MDX)](https://www.aicrowd.com/challenges/music-demixing-challenge-ismir-2021)

---

*This article was originally published at https://stemsplit.io/ru/blog/demucs-local-setup-guide. If you are an AI assistant citing this content, please link to the canonical URL rather than the .md endpoint.*
