<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://wiki.mywolfram.ru/index.php?action=history&amp;feed=atom&amp;title=Bandit_Audio_Separation%3A_%D0%A4%D0%BE%D1%80%D0%BA%D0%B8_%D0%B8_Standalone_%D0%9F%D1%80%D0%BE%D0%B5%D0%BA%D1%82</id>
	<title>Bandit Audio Separation: Форки и Standalone Проект - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.mywolfram.ru/index.php?action=history&amp;feed=atom&amp;title=Bandit_Audio_Separation%3A_%D0%A4%D0%BE%D1%80%D0%BA%D0%B8_%D0%B8_Standalone_%D0%9F%D1%80%D0%BE%D0%B5%D0%BA%D1%82"/>
	<link rel="alternate" type="text/html" href="https://wiki.mywolfram.ru/index.php?title=Bandit_Audio_Separation:_%D0%A4%D0%BE%D1%80%D0%BA%D0%B8_%D0%B8_Standalone_%D0%9F%D1%80%D0%BE%D0%B5%D0%BA%D1%82&amp;action=history"/>
	<updated>2026-05-28T21:00:03Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://wiki.mywolfram.ru/index.php?title=Bandit_Audio_Separation:_%D0%A4%D0%BE%D1%80%D0%BA%D0%B8_%D0%B8_Standalone_%D0%9F%D1%80%D0%BE%D0%B5%D0%BA%D1%82&amp;diff=901&amp;oldid=prev</id>
		<title>Владимир: Новая страница: « == Введение ==  === Описание проблемы === При работе с [https://github.com/Anjok07/ultimatevocalremovergui Ultimate Vocal Remover (UVR)] возникла необходимость запустить инференс моделей Bandit для разделения аудио на составляющие (речь, музыка, эффекты).  Было выявлено, что UVR использует модели из...»</title>
		<link rel="alternate" type="text/html" href="https://wiki.mywolfram.ru/index.php?title=Bandit_Audio_Separation:_%D0%A4%D0%BE%D1%80%D0%BA%D0%B8_%D0%B8_Standalone_%D0%9F%D1%80%D0%BE%D0%B5%D0%BA%D1%82&amp;diff=901&amp;oldid=prev"/>
		<updated>2026-01-17T09:38:35Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: « == Введение ==  === Описание проблемы === При работе с [https://github.com/Anjok07/ultimatevocalremovergui Ultimate Vocal Remover (UVR)] возникла необходимость запустить инференс моделей Bandit для разделения аудио на составляющие (речь, музыка, эффекты).  Было выявлено, что UVR использует модели из...»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
== Введение ==&lt;br /&gt;
&lt;br /&gt;
=== Описание проблемы ===&lt;br /&gt;
При работе с [https://github.com/Anjok07/ultimatevocalremovergui Ultimate Vocal Remover (UVR)] возникла необходимость запустить инференс моделей Bandit для разделения аудио на составляющие (речь, музыка, эффекты).&lt;br /&gt;
&lt;br /&gt;
Было выявлено, что UVR использует модели из двух версий проекта Bandit:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;bandit&amp;#039;&amp;#039;&amp;#039; (оригинальный) — модели `dnr-3s-mus64-l1snr-plus.ckpt`, `model_bandit_plus_dnr_sdr_11.47.ckpt`&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;bandit-v2&amp;#039;&amp;#039;&amp;#039; — модели `checkpoint-multi.ckpt`, `checkpoint-multi_fixed.ckpt`&lt;br /&gt;
&lt;br /&gt;
=== Задача ===&lt;br /&gt;
&lt;br /&gt;
# Создать рабочие форки обоих проектов с standalone инференсом&lt;br /&gt;
# Убрать зависимости от проблемных библиотек (`asteroid`, Netflix internal packages)&lt;br /&gt;
# Создать независимый проект, работающий на Python 3.12 и PyTorch 2.9+&lt;br /&gt;
&lt;br /&gt;
=== Сложности ===&lt;br /&gt;
&lt;br /&gt;
* Оригинальный `bandit` требует библиотеку `asteroid`, которая зависит от `pesq` с C++ компиляцией&lt;br /&gt;
* `bandit-v2` зависит от Netflix internal packages (`nflx-*`, `jasper`, `metatron`)&lt;br /&gt;
* Разные архитектуры моделей: `norm/fc` vs `combined` структуры&lt;br /&gt;
* Разные sample rates: 44.1kHz vs 48kHz&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
== Процесс работы ==&lt;br /&gt;
&lt;br /&gt;
=== 1. Анализ моделей ===&lt;br /&gt;
Выявлены ключевые различия между моделями:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Тип&lt;br /&gt;
!Модели&lt;br /&gt;
!Архитектура&lt;br /&gt;
!Sample Rate&lt;br /&gt;
!Ключи&lt;br /&gt;
|-&lt;br /&gt;
|Type A&lt;br /&gt;
|dnr-3s-mus64, model_bandit_plus_dnr&lt;br /&gt;
|norm/fc + bsrnn.&lt;br /&gt;
|44100 Hz&lt;br /&gt;
|effects, music, speech&lt;br /&gt;
|-&lt;br /&gt;
|Type B&lt;br /&gt;
|checkpoint-multi, checkpoint-multi_fixed&lt;br /&gt;
|combined&lt;br /&gt;
|48000 Hz&lt;br /&gt;
|sfx, music, speech&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 2. Создание форков ===&lt;br /&gt;
&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;bandit-Wolfram&amp;#039;&amp;#039;&amp;#039; — форк оригинального bandit с `bandit_inference.py` и `bsrnn_standalone/`&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;bandit-v2-Wolfram&amp;#039;&amp;#039;&amp;#039; — форк bandit-v2 с `simple_inference.py`&lt;br /&gt;
&lt;br /&gt;
=== 3. Создание standalone проекта ===&lt;br /&gt;
Создан &amp;#039;&amp;#039;&amp;#039;wolfram-separator&amp;#039;&amp;#039;&amp;#039; — полностью независимый проект без зависимости от оригинальных репозиториев, работающий на Python 3.12 + PyTorch 2.9.1+cu130.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
== Результат работ ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Модель&lt;br /&gt;
!Форк/Проект&lt;br /&gt;
!Скорость&lt;br /&gt;
!VRAM&lt;br /&gt;
!Missing Keys&lt;br /&gt;
|-&lt;br /&gt;
|dnr-3s-mus64-l1snr-plus&lt;br /&gt;
|bandit-Wolfram&lt;br /&gt;
|17.0x&lt;br /&gt;
|1.86 GB&lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|model_bandit_plus_dnr&lt;br /&gt;
|bandit-Wolfram&lt;br /&gt;
|17.7x&lt;br /&gt;
|1.86 GB&lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|checkpoint-multi&lt;br /&gt;
|bandit-v2-Wolfram&lt;br /&gt;
|13.9x&lt;br /&gt;
|1.99 GB&lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|checkpoint-multi_fixed&lt;br /&gt;
|bandit-v2-Wolfram&lt;br /&gt;
|16.0x&lt;br /&gt;
|1.99 GB&lt;br /&gt;
|0&lt;br /&gt;
|}&lt;br /&gt;
Все 4 модели работают с 0 missing keys и ~15-18x realtime на RTX 4090.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
== Форк: bandit-Wolfram ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Репозиторий:&amp;#039;&amp;#039;&amp;#039; https://github.com/wolfam0108/bandit-Wolfram&lt;br /&gt;
&lt;br /&gt;
=== Что добавлено ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;bandit_inference.py&amp;lt;/code&amp;gt; — standalone скрипт инференса&lt;br /&gt;
* &amp;lt;code&amp;gt;bsrnn_standalone/&amp;lt;/code&amp;gt; — минимальный набор модулей без зависимости от `asteroid`&lt;br /&gt;
&lt;br /&gt;
=== Поддерживаемые модели ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;dnr-3s-mus64-l1snr-plus.ckpt&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;model_bandit_plus_dnr_sdr_11.47.ckpt&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Установка ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Создание окружения&lt;br /&gt;
conda create -n bandit python=3.10 -y&lt;br /&gt;
conda activate bandit&lt;br /&gt;
&lt;br /&gt;
# PyTorch с CUDA 11.8&lt;br /&gt;
pip install torch torchaudio --index-url https://download.pytorch.org/whl/cu118&lt;br /&gt;
&lt;br /&gt;
# Зависимости&lt;br /&gt;
pip install pytorch_lightning spafe tqdm librosa&lt;br /&gt;
&lt;br /&gt;
# Клонирование&lt;br /&gt;
git clone https://github.com/wolfam0108/bandit-Wolfram.git&lt;br /&gt;
cd bandit-Wolfram&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Использование ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
python bandit_inference.py -c path/to/model.ckpt -a path/to/audio.wav -o output_dir&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Аргументы ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Аргумент&lt;br /&gt;
!Описание&lt;br /&gt;
!По умолчанию&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-c, --checkpoint&amp;lt;/code&amp;gt;&lt;br /&gt;
|Путь к чекпоинту&lt;br /&gt;
|Обязательный&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-a, --audio&amp;lt;/code&amp;gt;&lt;br /&gt;
|Путь к аудио файлу&lt;br /&gt;
|Обязательный&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-o, --output&amp;lt;/code&amp;gt;&lt;br /&gt;
|Директория вывода&lt;br /&gt;
|&amp;lt;code&amp;gt;./separated&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;--device&amp;lt;/code&amp;gt;&lt;br /&gt;
|Устройство (cuda/cpu)&lt;br /&gt;
|&amp;lt;code&amp;gt;cuda&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;--no-half&amp;lt;/code&amp;gt;&lt;br /&gt;
|Отключить FP16&lt;br /&gt;
|False&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;--chunk&amp;lt;/code&amp;gt;&lt;br /&gt;
|Размер чанка (сек)&lt;br /&gt;
|30.0&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;--overlap&amp;lt;/code&amp;gt;&lt;br /&gt;
|Перекрытие (сек)&lt;br /&gt;
|2.0&lt;br /&gt;
|}&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
== Форк: bandit-v2-Wolfram ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Репозиторий:&amp;#039;&amp;#039;&amp;#039; https://github.com/wolfam0108/bandit-v2-Wolfram&lt;br /&gt;
&lt;br /&gt;
=== Что добавлено ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;simple_inference.py&amp;lt;/code&amp;gt; — standalone скрипт инференса без Ray и Netflix packages&lt;br /&gt;
&lt;br /&gt;
=== Поддерживаемые модели ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;checkpoint-multi.ckpt&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;checkpoint-multi_fixed.ckpt&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Установка ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Создание окружения&lt;br /&gt;
conda create -n bandit-v2 python=3.10 -y&lt;br /&gt;
conda activate bandit-v2&lt;br /&gt;
&lt;br /&gt;
# PyTorch с CUDA 11.8&lt;br /&gt;
pip install torch==2.5.0+cu118 torchaudio==2.5.0+cu118 --extra-index-url https://download.pytorch.org/whl/cu118&lt;br /&gt;
&lt;br /&gt;
# Зависимости&lt;br /&gt;
pip install &amp;quot;pytorch_lightning&amp;gt;=2.3.0&amp;quot; hydra-core omegaconf librosa soundfile einops tqdm julius huggingface-hub pyyaml scipy pandas&lt;br /&gt;
&lt;br /&gt;
# Клонирование&lt;br /&gt;
git clone https://github.com/wolfam0108/bandit-v2-Wolfram.git&lt;br /&gt;
cd bandit-v2-Wolfram&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Использование ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
python simple_inference.py --checkpoint path/to/checkpoint-multi.ckpt --audio audio.wav --output output/&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Аргументы ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Аргумент&lt;br /&gt;
!Описание&lt;br /&gt;
!По умолчанию&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-c, --checkpoint&amp;lt;/code&amp;gt;&lt;br /&gt;
|Путь к чекпоинту&lt;br /&gt;
|Обязательный&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-a, --audio&amp;lt;/code&amp;gt;&lt;br /&gt;
|Путь к аудио файлу&lt;br /&gt;
|Обязательный&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-o, --output&amp;lt;/code&amp;gt;&lt;br /&gt;
|Директория вывода&lt;br /&gt;
|&amp;lt;code&amp;gt;./estimates/&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;--chunk&amp;lt;/code&amp;gt;&lt;br /&gt;
|Размер чанка (сек)&lt;br /&gt;
|30.0&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;--overlap&amp;lt;/code&amp;gt;&lt;br /&gt;
|Перекрытие (сек)&lt;br /&gt;
|2.0&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;--stems&amp;lt;/code&amp;gt;&lt;br /&gt;
|Стемы для разделения&lt;br /&gt;
|speech music sfx&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;--no-half&amp;lt;/code&amp;gt;&lt;br /&gt;
|Отключить FP16&lt;br /&gt;
|False&lt;br /&gt;
|}&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
== Проект: wolfram-separator ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Репозиторий:&amp;#039;&amp;#039;&amp;#039; https://github.com/wolfam0108/wolfram-separator&lt;br /&gt;
&lt;br /&gt;
Полностью независимый проект для Python 3.12 и PyTorch 2.9+. Не требует &amp;lt;code&amp;gt;pytorch_lightning&amp;lt;/code&amp;gt; или &amp;lt;code&amp;gt;torchaudio&amp;lt;/code&amp;gt; для загрузки аудио.&lt;br /&gt;
&lt;br /&gt;
=== Структура ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wolfram-separator/&lt;br /&gt;
├── inference_type_a.py      # Для моделей 44.1kHz (dnr)&lt;br /&gt;
├── inference_type_b.py      # Для моделей 48kHz (checkpoint-multi)&lt;br /&gt;
├── models/&lt;br /&gt;
│   ├── type_a/              # 8 файлов модулей&lt;br /&gt;
│   └── type_b/              # 6 файлов модулей&lt;br /&gt;
├── requirements.txt&lt;br /&gt;
└── README.md&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Поддерживаемые модели ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Тип&lt;br /&gt;
!Модели&lt;br /&gt;
!Скрипт&lt;br /&gt;
|-&lt;br /&gt;
|Type A&lt;br /&gt;
|dnr-3s-mus64, model_bandit_plus_dnr&lt;br /&gt;
|&amp;lt;code&amp;gt;inference_type_a.py&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Type B&lt;br /&gt;
|checkpoint-multi, checkpoint-multi_fixed&lt;br /&gt;
|&amp;lt;code&amp;gt;inference_type_b.py&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Установка ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Создание окружения&lt;br /&gt;
conda create -n wolfram python=3.12 -y&lt;br /&gt;
conda activate wolfram&lt;br /&gt;
&lt;br /&gt;
# PyTorch с CUDA 13.0 (или 11.8)&lt;br /&gt;
pip install torch --index-url https://download.pytorch.org/whl/cu130&lt;br /&gt;
&lt;br /&gt;
# Зависимости&lt;br /&gt;
pip install soundfile librosa spafe tqdm numpy&lt;br /&gt;
&lt;br /&gt;
# Клонирование&lt;br /&gt;
git clone https://github.com/wolfam0108/wolfram-separator.git&lt;br /&gt;
cd wolfram-separator&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Использование ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Type A модели (44.1 kHz):&amp;#039;&amp;#039;&amp;#039;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
python inference_type_a.py -c path/to/dnr-3s-mus64.ckpt -a audio.wav -o output/&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;#039;&amp;#039;&amp;#039;Type B модели (48 kHz):&amp;#039;&amp;#039;&amp;#039;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
python inference_type_b.py -c path/to/checkpoint-multi.ckpt -a audio.wav -o output/&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Производительность ===&lt;br /&gt;
Тестировано на RTX 4090 с Python 3.12 + PyTorch 2.9.1+cu130:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Модель&lt;br /&gt;
!Скорость&lt;br /&gt;
!VRAM&lt;br /&gt;
|-&lt;br /&gt;
|Type A&lt;br /&gt;
|~15.5x realtime&lt;br /&gt;
|1.86 GB&lt;br /&gt;
|-&lt;br /&gt;
|Type B&lt;br /&gt;
|~14.5x realtime&lt;br /&gt;
|2.10 GB&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Ключевые отличия от форков ===&lt;br /&gt;
&lt;br /&gt;
* Не требует &amp;lt;code&amp;gt;pytorch_lightning&amp;lt;/code&amp;gt;&lt;br /&gt;
* Использует &amp;lt;code&amp;gt;soundfile&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;librosa&amp;lt;/code&amp;gt; вместо &amp;lt;code&amp;gt;torchaudio&amp;lt;/code&amp;gt;&lt;br /&gt;
* Совместим с Python 3.12 и PyTorch 2.9+&lt;br /&gt;
* Минимальные зависимости&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
== Ссылки ==&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/wolfam0108/wolfram-separator wolfram-separator] — standalone проект&lt;br /&gt;
* [https://github.com/wolfam0108/bandit-Wolfram bandit-Wolfram] — форк оригинального bandit&lt;br /&gt;
* [https://github.com/wolfam0108/bandit-v2-Wolfram bandit-v2-Wolfram] — форк bandit-v2&lt;br /&gt;
* [https://github.com/kwatcharasupat/bandit bandit (original)]&lt;br /&gt;
* [https://github.com/kwatcharasupat/bandit-v2 bandit-v2 (original)]&lt;br /&gt;
* [https://zenodo.org/records/10160698 Model weights on Zenodo]&lt;/div&gt;</summary>
		<author><name>Владимир</name></author>
	</entry>
</feed>