/ Модель

Характеристики

Лицензия
MIT
Архитектура
bs_roformer · dense
Библиотека
transformers
Опубликована
6 сен 2025

Mini-BS-RoFormer-18M

Обработка аудиоАудио → аудио3 профессии

Компактная модель BS-RoFormer для разделения музыкального микса на вокал, бас, ударные и остальные инструменты.

109скачиваний за 30 дней6лайковвеса обновлены29 дек 2025

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

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

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

HiDolen/Mini-BS-RoFormer-18M — модель разделения музыкального аудио на источники, основанная на архитектуре BS-RoFormer и адаптированная из существующей реализации BS-RoFormer. Она предназначена для извлечения отдельных дорожек из музыкального микса: баса, ударных, других инструментов и вокала; также карточка описывает режим разделения на две дорожки — вокал и аккомпанемент. Модель содержит 17,9 млн параметров; для проверки на валидационной части MUSDB18-HQ указано среднее значение SDR 9,0, с отдельными результатами для четырёх типов источников.

Для запуска описаны библиотека Transformers версии 4.55.4 и зависимости soundfile, einops и librosa. Репозиторий распространяется по лицензии MIT.

Сценарии применения

  • извлечение вокала из музыкальной записи
  • отделение басовой партии от микса
  • выделение ударных из песни
  • разделение музыки на вокал и аккомпанемент
  • подготовка отдельных музыкальных дорожек для ремикса

Ограничения

В README приведены результаты SDR только для валидационной части MUSDB18-HQ; качество на других наборах данных и типах записей не описано. Для запуска требуются Transformers и дополнительные аудио-библиотеки.

Для каких профессий подходит3

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

Model Card for Model ID

Model for the Music source separation task. Its implementation is referenced to the existing BS-RoFormer code.

针对音乐音频分离任务的模型。改编自 现有的 BS-RoFormer 模型代码。

Model Details

模型参数:

  • depth = 8
  • hidden_size = 256
  • intermediate_size = 256 * 3

总参数量 17.9M,在 MUSDB18HQ 数据的 val 集上达到平均 SDR 9.0 的性能。分轨具体 SDR:

  • bass,8.31
  • drums,9.55
  • other,8.14
  • vocal,10.03

Uses

使用的 transformers 库版本为 4.55.4。为了正常运行模型还需要安装库 soudfile、einops 和 librosa。

GPU 推理:

from transformers import AutoModel
import soundfile
import torch
import librosa

model_name = "HiDolen/Mini-BS-RoFormer-18M"
model = AutoModel.from_pretrained(
    model_name,
    trust_remote_code=True,
)
model.to("cuda")

# 加载音频
file = "./Bruno Mars - Runaway Baby.mp3"
waveform, sr = librosa.load(file, sr=44100, mono=False)
waveform = torch.tensor(waveform).float()
waveform = waveform.to("cuda")

# 进行推理
result = model.separate(
    waveform,
    chunk_size=44100 * 6,
    overlap_size=44100 * 3,
    gap_size=0,
    batch_size=2,
    verbose=True,
)

# 保存处理结果
for i in range(result.shape[0]):
    soundfile.write(f"separated_stem_{i}.wav", result[i].cpu().numpy().T, 44100)

只分离伴奏人声 2 轨而不是分离 4 轨:

from transformers import AutoModel
import soundfile
import torch
import librosa

model_name = "HiDolen/Mini-BS-RoFormer-18M"
model = AutoModel.from_pretrained(
    model_name,
    trust_remote_code=True,
)
model.to("cuda")

# 加载音频
file = "./Bruno Mars - Runaway Baby.mp3"
waveform, sr = librosa.load(file, sr=44100, mono=False)
waveform = torch.tensor(waveform).float()
waveform = waveform.to("cuda")

# 进行推理
result = model.separate(
    waveform,
    chunk_size=44100 * 6,
    overlap_size=44100 * 3,
    gap_size=0,
    batch_size=2,
    verbose=True,
)

instrumental = result[0] + result[1] + result[2]
vocals = result[3]
result = torch.stack([instrumental, vocals], dim=0)
for i in range(result.shape[0]):
    soundfile.write(f"separated_stem_{i}.wav", result[i].cpu().numpy().T, 44100)

Training Details

使用 MUSDB18HQ 数据进行训练。

不使用原论文中提到的 Multi-STFT 损失项以提高训练速度。

学习率 5e-4,以 batch_size=6 训练 200k 步。

训练时发现的一些技巧:

  • 数据增强不是越多越好。去除音高和拉伸增强能让收敛更快,也可以占用更少 CPU 资源
  • Multi-STFT 损失可以去掉,不影响训练的同时能极大提高训练速度
  • MaskEstimator 可以只有一个线性层,仍然能拟合且能节省大量参数
  • 适量减少 freq_transformer 层数几乎不影响整体性能。主要会影响人声这种频段丰富的元素

Acknowledgments

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · transformers

Нельзя запустить

Обработка «аудио → аудио» пока не поддерживается.

Класс архитектуры
BSRoformerForMaskedEstimation
Ревизия весов
d3ff400

0 моделей