Интеграция pymss в ComfyUI
Проект Comfy-MSS (pymss-project/comfy-mss) представляет собой набор кастомных нод, который переносит функциональность библиотеки pymss в экосистему ComfyUI. Это решение позволяет пользователям выполнять разделение музыкальных источников (Music Source Separation) прямо в графе обработки, используя как каталожные модели, так и пользовательские веса. Проект поддерживает аппаратное ускорение через cuda, mps и mlx, а также работает на CPU.
Ключевые возможности и архитектура
Основная ценность набора заключается в гибкости выбора моделей и алгоритмов. Ноды поддерживают два основных типа сепарации: через каталог MSS/VR (стандартные модели) и через пользовательскую папку custom. Для пользовательских моделей требуется пара файлов: .ckpt и конфигурационный .yaml, где указывается архитектура (например, mel_band_roformer, bs_roformer, mdx23c, htdemucs).
Особенностью является наличие нод-списков (List), которые возвращают не один объект аудио, а два списка: сами стемы и их имена. Это критически важно для пакетной обработки и автоматизации рабочих процессов без ручного соединения каждого выхода.
Технические параметры и настройки
Разработчики вынесли тонкую настройку разделения в отдельные ноды параметров, что позволяет оптимизировать качество и скорость. Ниже приведена сравнительная таблица доступных параметров для разных типов моделей:
| Параметр | MSS Params (MSS/VR) | VR Params (VR/UVR) | Значение по умолчанию |
|---|---|---|---|
| batch_size | Размер батча для обработки | Размер батча для обработки | Зависит от модели/системы |
| overlap_size | Размер перекрытия окон | — | Default (из YAML модели) |
| chunk_size | Размер чанка обработки | — | Default (из YAML модели) |
| window_size | — | Размер окна FFT | 512 |
| aggression | — | Агрессивность разделения | 3 |
| enable_tta | True/False | True/False | false |
| normalize | Нормализация пика выхода | Нормализация пика выхода | false |
Пакетная обработка и пост-процессинг
Для работы с большими объемами аудио предусмотрена нода Load Audio Batch, которая сканирует папку (с возможностью рекурсии) и выдает списки аудио-объектов. Это позволяет запускать разделение для десятков файлов за один проход графа.
После разделения аудио можно обрабатывать нодой Audio Ensemble. Она поддерживает 2–10 входов и алгоритмы усреднения: avg_wave, median_wave, min_wave, max_wave и их FFT-аналоги. Также доступны базовые операции: инверсия фазы (-a) и нормализация пика (масштабирование до 0.999, если пик > 1.0).
Экспорт и совместимость
Нода Save Audio поддерживает экспорт в форматах wav (FLOAT, PCM_24, PCM_16), flac (PCM_24, PCM_16) и mp3 (битрейты 128k–320k). Файлы сохраняются с защитой от перезаписи: если файл с таким именем уже существует, к нему добавляется суффикс. Установка осуществляется через клонирование репозитория в папку custom_nodes или через comfyui_manager. Требуется наличие библиотеки pymss в том же окружении Python, что и ComfyUI.
Источник: Github ↗
