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

Многие из нас любят петь. Мы напеваем слова из любимых песен в караоке, во время прогулок или работы, слушая любимые композиции или подпевая в унисон исполнителям на концертах. И часто, слушая любимую мелодию с вокалом, ловим себя на мысли, что хотели бы сами исполнить понравившиеся куплеты под любимую музыку. Но как же это сделать? В этом нам на помощь придут специальные сетевые ресурсы, способные помочь в создании минусовки (удалении вокала из понравившейся песни) всего за несколько секунд. В этой статье я расскажу, как в отличном качестве получить минус онлайн, какие сервисы нам в этом помогут, и как с ними работать.

Иллюстрация для создания минуса онлайн

X-MINUS.ME

Сервис работает с файлами не более пятидесяти мегабайт. Качество обработки зависит от композиции.

Начало работы

Перейдите по адресу, выберите:

Загрузите файл:

Отредактируйте параметры среза в зависимости от воспроизведения песни, перемещая соответствующий ползунок.

Прослушайте минусовку, скачайте новый файл на ПК, если результат получится удовлетворительным.

Что нужно знать прежде, чем создавать минусы песен

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

  • Далеко не каждая имеющаяся композиция пригодна к минусовке, многое зависит от качества записи и её специфики;
  • Чем выше битрейт у вашего трека, тем лучше (оптимальнее от 320 кб/c и выше), при этом информацию о битрейте файла вам смогут предоставить программы уровня Mediainfo;
  • В процессе минусовки ударные инструменты теряют в звучании больше всего;
  • Не исключено, что после процесса обработки аудиофайла вокал будет ещё слышен на заднем фоне.

При этом функционал онлайн-ресурсов для того, чтобы вытащить минус песни в Интернете онлайн в нормальном качестве, которые я буду описывать ниже, довольно схож. Вы загружаете нужный аудиофайл (поддерживаются большинство популярных аудиоформатов), сервис обрабатывает композицию, и даёт вам возможность прослушать результат. Если результат вас устраивает, вы скачиваете его к себе на компьютер и наслаждаетесь полученным звучанием.

Как сделать минус из песни на Ru.Minus

На сервисе находится база минусовок от популярных исполнителей. Во время обработки используется инструмент, фильтрующий музыку из голоса.

Начало работы

Перейдите по адресу. Выберите ссылку «Удаление». Далее:

Нажмите кнопку «Сделать».

Прослушайте, а потом скачайте файл.

Vocalremover.ru – популярный инструмент для создания минусов

Наиболее популярный в Рунете сервис для создания минусовок и изменения тональности песни — vocalremover.ru. Сервис имеет абсолютно простой и доступный функционал, позволяющий удалить вокал из композиции, оставив только фоновую музыку. В работе сервиса используется принцип дифференциации фаз каналов, при котором вычисляются подобные звуки для правого и левого канала, и затем удаляются из песни.

  1. Перейдите на Vocalremover.org/ru/, нажмите на надпись «Выберите аудиофайл для обработки», и загрузите нужную композицию на ресурс.
  2. После загрузки песни выберите приемлемую частоту фильтра с помощью ползунка, и прослушайте полученный результат.
  3. Если последний вас устроил, выберите формат исходящего аудиофайла (wav, mp3, ogg), подходящий битрейт, и, нажав на соответствующую кнопку, сохраните результат на PC.

Vocal Remover Pro

Это англоязычный сервис. Разработчики добавили возможность создания файла караоке. В открывшейся форме укажите путь к файлу на HDD или пропишите ссылку на ролик. Введите капчу, нажмите кнопку «Create».

Готовый результат: прослушайте, сохраните на ПК, поделитесь в соцсетях, отправьте на email. Сервис хранит результат на серверах 24 часа после создания.

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

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

  • Уже упомянутый сервис X-MINUS.ME обладает базой минусов весьма высокого качества. Для поиска нужной аудио-файла песни достаточно перейти на главную страницу ресурса, в строке ввести название, исполнителя или слова из нужной песни, и нажать на кнопку «Найти минусовку». Найдя полученный результат и кликнув на него, вы получите возможность скачать его на ПК;
  • Сервис Minusovki. Ещё один ресурс, содержащий внушительную базу готовых минусовок. Для работы с ним достаточно выполнить вход на него, в строке поиска указать название песни или исполнителя, нажать на кнопку «Найти минусовку». После получения результатов можно будет напеть под неё караоке онлайн, или скачать трек к себе на компьютер;
  • Сервис BackingTrack. Специфика действия данного ресурса похожа на вышеописанные, в базе присутствуют более 250 тыс. минусов. Перейдите на ресурс, наберите в строке поиска название композиции, кликните на «Найти» и скачайте полученный результат.

Особенности работы сетевых сервисов по работе с музыкой

Если вы задумали удалить вокал из песни online, то, прежде всего, постарайтесь отыскать нужный аудиотрек хорошего качества в стерео, желательно с битрейтом 320 кб/c.

Найденный трек (обычно в формате mp3) понадобится загрузить на один из сетевых ресурсов, позволяющих убрать голос из композиции. После обработки трека вы получите трек с «задавленным» вокалом, который сможете скачать на ваш ПК.

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

В большинство онлайн-сервисов используется принцип вычисления разности фаз каналов: определяются дублирующие звуки для левого и правого канала, и удаляются из записи. При этом самые продвинутые сервисы (уровня Phonicmind.com) используют искусственный интеллект (AI) для анализа композиции и устранения вокала из песни.

Рекомендуем не гнушаться посещением готовых баз минусовок (netminusa.ru, plus-msk.ru и других) для поиска нужной вам композиции. Возможно, последняя уже имеется в студийном качестве на одном из таких сайтов.

Wavosaur

Аудиоредактор Wavosaur отличается менее удобным и приятным интерфейсом, но в нем тоже есть функция удаления вокала. Помимо этого, доступны такие опции, как преобразование битовой глубины, сдвиг высоты тона, интерполяция, удаление тишины и многое другое. Есть инструмент «Crossfade», позволяющий разными способами смешивать аудиодорожки, например, можно совместить два файла так, чтобы в области скрещивания звук первого объекта затухал, а громкость второго возрастала. В наличие базовые возможности редактирования, которые позволяют вырезать, копировать, удалять фрагменты, вставлять их в тот же или другой трек.

Программа работает с многоканальными WAV-файлами, поддерживает драйвер ASIO, предназначенный для ускоренного доступа аудиоданных к компьютерному железу, а также VST-эффекты, которые можно связывать между собой, а затем сохранять полученные цепочки. Интерфейс не назвать современным, но его можно настраивать, т.е. перетаскивать многие элементы, чтобы было удобнее работать. Распространяется программное обеспечение бесплатно, причем только в качестве портативной версии, поэтому им можно без проблем пользоваться даже на чужом компьютере.

Достоинства:

  • Бесплатная лицензия;
  • Портативная версия;
  • Поддержка VST-эффектов.

Недостатки:

  • Устаревший интерфейс;
  • Не поддерживает русский язык.

Дополнительные возможности для любителей музыки

Интернет предоставляет любителям поэкспериментировать с музыкой почти ничем не ограниченные возможности для творчества. Это различные сервисы, при помощи которых можно сделать нарезки, наложить музыку на музыку онлайн, изменить темп, изолировать вокал и многое другое. Следует помнить, что бесплатные ресурсы и программы представляют собой как бы сокращенную версию более полных платных ресурсов. Последние предоставляют расширенные возможности и гарантируют качественные результаты. Поэтому, если планируете заниматься профессиональной деятельностью, после пробы своих сил на бесплатных ресурсах стоит посмотреть в сторону серьезных онлайн-редакторов (оформить подписку) и программ (купить, скачать и установить). Некоторые ресурсы, кроме того, что предоставляют возможность самостоятельно удалить вокал из трека, также предлагают посетителям воспользоваться каталогом готовых минусовок на все случаи жизни. Названия готовых композиций расположены по алфавиту, что значительно облегчает поиск нужной композиции.

Audio AI: выделяем вокал из музыки с помощью свёрточных нейросетей

Взлом музыки для демократизации производного контента

Отказ от ответственности:
вся интеллектуальная собственность, проекты и методы, описанные в этой статье, раскрыты в патентах US10014002B2 и US9842609B2.

Вот бы вернуться в 1965 год, постучать в парадную дверь студии «Эбби-Роуд» с пропуском, зайти внутрь — и услышать настоящие голоса Леннона и Маккартни… Что ж, давайте попробуем. Входные данные: MP3 среднего качества песни «Битлз» We Can Work it Out
. Верхняя дорожка — входной микс, нижняя дорожка — изолированный вокал, который выделила наша нейросеть.
Формально эта проблема известна как разделение источников звука
или
разделение сигнала
(audio source separation). Она заключается в восстановлении или реконструкции одного или нескольких исходных сигналов, которые в результате
линейного или свёрточного
процесса смешаны с другими сигналами. У этой области исследований много практических применений, в том числе улучшение качества звука (речи) и устранение шума, музыкальные ремиксы, пространственное распределение звука, ремастеринг и т. д. Звукоинженеры иногда называют эту технику
расслоением
(demixing). По этой теме большое количество ресурсов, от слепого разделения сигналов с анализом независимых компонент (ICA) до полууправляемой факторизации неотрицательных матриц и заканчивая более поздними подходами на основе нейронных сетей. Хорошую информацию по первым двум пунктам можете найти в этих мини-руководствах от CCRMA, которые в своё время мне очень пригодились.

Но перед погружением в разработку… совсем немного философии прикладного машинного обучения…

Я занимался обработкой сигналов и изображений ещё до того, как распространился лозунг «глубокое обучение решает всё», поэтому могу представить вам решение в качестве путешествия feature engineering

и показать,
почему для этой конкретной проблемы нейросеть оказывается лучшим подходом
. Зачем? Очень часто я вижу, как люди пишут что-то вроде такого:

«С глубоким обучением больше не нужно беспокоиться о выборе признаков; оно сделает это за вас»

или ещё хуже…

«Разница между машинным обучением и глубоким обучением

[погодите… глубокое обучение это по-прежнему машинное обучение!]
в том, что в ML вы сами извлекаете признаки, а в глубоком обучении это происходит автоматически внутри сети».
Вероятно, такие обобщения исходят из того факта, что DNN могут быть очень эффективны при изучении хороших скрытых пространств. Но так обобщать нельзя. Меня очень расстраивает, когда недавние выпускники и практики поддаются вышеуказанным заблуждениям и принимают подход «глубокое-обучение-решает-всё». Мол, достаточно набросать кучу необработанных данных (пусть даже после небольшой предварительной обработки) — и всё заработает как надо. В реальном мире нужно заботиться о таких вещах, как производительность, выполнение в реальном времени и т. д. Из-за таких заблуждений вы очень надолго застрянете в режиме экспериментов…

Feature Engineering остаётся очень важной дисциплиной при проектировании искусственных нейронных сетей. Как и в любой другой технике ML, в большинстве случаев именно она отличает эффективные решения уровня продакшна от неудачных или неэффективных экспериментов. Глубокое понимание ваших данных и их природы по-прежнему очень много значит…

Хорошо, я закончил проповедь. Теперь разберёмся, зачем мы здесь собрались! Как и с любой проблемой по обработке данных, сначала посмотрим, как они выглядят. Взглянем на следующий фрагмент вокала из оригинальной студийной записи.
Студийный вокал ‘One Last Time’, Ариана Гранде
Не слишком интересно, верно? Ну, это потому что мы визуализируем сигнал во времени

. Здесь мы видим только изменения амплитуды с течением времени. Но можно извлечь всякие другие штуки, такие как амплитудные огибающие (envelope), среднеквадратичные значения (RMS), скорость изменения с положительных значений амплитуды на отрицательные (zero-crossing rate) и т. д., но эти
признаки
слишком
примитивны
и недостаточно отличительны, чтобы помочь в нашей проблеме. Если мы хотим извлечь вокал из аудиосигнала, для начала нужно каким-то образом определить структуру человеческой речи. К счастью, на помощь приходит оконное преобразование Фурье (STFT).
Амплитудный спектр STFT - размер окна = 2048, перекрытие = 75%, логарифмическая шкала частот [Sonic Visualizer]
Хотя я люблю обработку речи и определённо люблю играться с моделированием входного фильтра, кепстром, сачтотами, LPC, MFCC

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

Итак, что же говорит нам структура человеческой речи?

Ну, мы можем определить здесь три основных элемента:

  • Фундаментальная частота
    (f0), которая определяется частотой вибрации наших голосовых связок. В этом случае Ариана поёт в диапазоне 300-500 Гц.
  • Ряд гармоник
    выше f0, которые следуют аналогичной форме или шаблону. Эти гармоники появляются на частотах, кратных f0.
  • Невокализированная
    речь, которая включает согласные, такие как ‘t’, ‘p’, ‘k’, ‘s’ (которые не производятся вибрацией голосовых связок), дыхание и т. д. Всё это проявляется в виде коротких всплесков в высокочастотной области.

Давайте на секунду забудем, что называется машинным обучением. Можно ли разработать метод извлечения вокала на основе наших знаний о сигнале? Позвольте попробовать…
Наивная

изоляция вокала V1.0:

  1. Определить участки с вокалом. В исходном сигнале много всего. Мы хотим сосредоточиться на тех участках, которые действительно содержат вокальное содержание, и игнорировать всё остальное.
  2. Различить вокализированную и невокализированную речь. Как мы видели, они сильно отличаются. Вероятно, их нужно обрабатывать по-разному.
  3. Оценить изменение фундаментальной частоты во времени.
  4. На основании вывода 3 применить какую-то маску для захвата гармоник.
  5. Сделать что-нибудь с фрагментами невокализированной речи…

Если мы достойно поработаем, результатом должна стать мягкая

или
битовая маска
, применение которой к амплитуде STFT (поэлементное умножение) даёт приблизительную реконструкцию амплитуды STFT вокала. Затем мы объединяем эту вокальную STFT с информацией о фазе исходного сигнала, вычисляем обратный STFT и получаем временной сигнал реконструированного вокала.

Делать это с нуля — уже большая работа. Но ради демонстрации применим реализацию алгоритма pYIN. Хотя он предназначен для решения шага 3, но с правильными настройками весьма прилично выполняет шаги 1 и 2, отслеживая вокальную основу даже в присутствии музыки. Пример ниже содержит выходные данные после обработки этим алгоритмом, без обработки невокализированной речи.

И что…? Он вроде сделал всю работу, но хорошего качества нет и близко. Возможно, затратив больше времени, энергии и денег, мы улучшим этот метод…

Но позвольте вас спросить…

Что произойдёт, если на дорожке появится несколько голосов

, а ведь это часто встречается, по крайней мере, в 50% современных профессиональных треков?

Что произойдёт, если вокал обработан реверберацией, задержками

и другими эффектами? Давайте взглянем на последний припев Арианы Гранде из этой песни.
Вы уже чувствуете боль…? Я да.
Такие методы на жёстких правилах очень быстро превращаются в карточный домик. Проблема слишком сложна. Cлишком много правил, слишком много исключений и слишком много различных условий (эффекты и настройки сведения). Многоступенчатый подход также подразумевает, что ошибки на одном шаге распространяют проблемы на следующий шаг. Улучшение каждого шага станет очень дорогостоящим: потребуется большое количество итераций, чтобы всё сделать правильно. И последнее, но не менее важное: вероятно, в конечном итоге у нас получится очень ресурсоёмкий конвейер, что само по себе может свести на нет все усилия.

В такой ситуации пора начать думать о более комплексном

подходе и позволить ML выяснить часть базовых процессов и операций, необходимых для решения проблемы. Но нам всё-таки придётся проявить свои умения и заняться feature engineering, и вы увидите почему.

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

Нейросети успешно решают такие задачи, как расцвечивание изображений, повышение резкости и разрешения
В конце концов, можно же представить звуковой сигнал «как изображение», используя кратковременное преобразование Фурье, верно? Хотя эти звуковые картинки

не соответствуют статистическому распределению естественных изображений, у них всё равно есть пространственные закономерности (во времени и частотном пространстве), на которых можно обучать сеть.

Слева: удар барабана и базовая линия внизу, несколько звуков синтезатора посередине, всё это смешано с вокалом. Справа: только вокал

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

, но не требует много работы. Это позволяет оценить гипотезу, быстрее выполнять итерации и с минимальными потерями исправить модель, если она не работает как надо.

Подразумеваемым условием является то, что нейросеть должна понимать структуру человеческой речи

. Более простая проблема может быть такой:
сможет ли нейросеть определить наличие речи на произвольном фрагменте звукозаписи
. Мы говорим о надёжном детекторе голосовой активности (VAD), реализованном в виде бинарного классификатора.

Проектируем пространство признаков

Мы знаем, что звуковые сигналы, такие как музыка и человеческая речь, основаны на временных зависимостях. Проще говоря, ничто не происходит изолированно в данный момент времени. Если я хочу знать, есть ли голос на конкретном фрагменте звукозаписи, то нужно смотреть на соседние регионы. Такой временной контекст
даёт хорошую информацию о том, что происходит в интересующей области. В то же время желательно выполнять классификацию с очень малыми временными приращениями, чтобы распознавать человеческий голос с максимально возможным разрешением по времени.

Давайте немного посчитаем…

  • Частота дискретизации (fs): 22050 Гц (мы понижаем дискретизацию с 44100 до 22050)
  • Дизайн STFT: размер окна = 1024, hop size = 256, интерполяция мел-шкалы для взвешивающего фильтра с учётом восприятия. Поскольку наши входные данные настоящие
    , можно работать с половиной STFT (объяснение выходит за рамки этой статьи…), сохраняя компонент DC (необязательное требование), что даёт нам 513 частотных бункеров.
  • Целевое разрешение классификации: один кадр STFT (~11,6 мс = 256 / 22050)
  • Целевой временной контекст: ~300 миллисекунд = 25 кадров STFT.
  • Целевое количество обучающих примеров: 500 тыс.
  • Предполагая, что мы используем скользящее окно с шагом в 1 таймфрейм STFT для генерации учебных данных, нужно около 1,6 часов размеченного звука для генерации 500 тыс. образцов данных

С вышеуказанными требованиями вход и выход нашего бинарного классификатора выглядят следующим образом:

Модель

С помощью Keras построим небольшую модель нейросети для проверки нашей гипотезы. import keras from keras.models import Sequential from keras.layers import Dense, Dropout, Flatten, Conv2D, MaxPooling2D from keras.optimizers import SGD from keras.layers.advanced_activations import LeakyReLU model = Sequential() model.add(Conv2D(16, (3,3), padding=’same’, input_shape=(513, 25, 1))) model.add(LeakyReLU()) model.add(Conv2D(16, (3,3), padding=’same’)) model.add(LeakyReLU()) model.add(MaxPooling2D(pool_size=(3,3))) model.add(Dropout(0.25)) model.add(Conv2D(16, (3,3), padding=’same’)) model.add(LeakyReLU()) model.add(Conv2D(16, (3,3), padding=’same’)) model.add(LeakyReLU()) model.add(MaxPooling2D(pool_size=(3,3))) model.add(Dropout(0.25)) model.add(Flatten()) model.add(Dense(64)) model.add(LeakyReLU()) model.add(Dropout(0.5)) model.add(Dense(1, activation=’sigmoid’)) sgd = SGD(lr=0.001, decay=1e-6, momentum=0.9, nesterov=True) model.compile(loss=keras.losses.binary_crossentropy, optimizer=sgd, metrics=[‘accuracy’])

При разделении данных 80/20 на обучение и тестирование после ~50 эпох мы получаем точность при тестировании ~97%

. Это достаточное доказательство, что наша модель способна различать вокал в музыкальных звуковых фрагментах (и фрагменты без вокала). Если проверить некоторые карты признаков из 4-го свёрточного слоя, то можно сделать вывод, что нейросеть вроде бы оптимизировала свои ядра для выполнения двух задач: отфильтровки музыки и отфильтровки вокала…

Пример карты объектов на выходе 4-го свёрточного слоя. Видимо, выходные данные слева являются результатом операций ядра в попытке сохранить вокальный контент, игнорируя музыку. Высокие значения напоминают гармоническую структуру человеческой речи. Карта объектов справа кажется результатом выполнения противоположной задачи
Решив более простую задачу классификации, как нам перейти к реальному выделению вокала из музыки? Ну, глядя на первый
наивный
метод, мы всё равно хотим как-то получить амплитудную спектрограмму для вокала. Теперь это становится задачей регрессии. Что мы хотим сделать, так это по конкретному таймфрейму из STFT исходного сигнала, то есть микса (с достаточным временным контекстом) рассчитать соответствующий амплитудный спектр для вокала в этом таймфрейме.

Что насчёт обучающего набора данных? (вы можете спросить меня в этот момент)

Вот чёрт… зачем же так. Я собирался рассмотреть это в конце статьи, чтобы не отвлекаться от темы!

Если наша модель хорошо обучается, то для логического вывода нужно всего лишь реализовать простое скользящее окно к STFT микса. После каждого прогноза перемещаем окно вправо на 1 таймфрейм, прогнозируем следующий фрейм с вокалом и связываем его с предыдущим предсказанием. Что касается модели, возьмём ту же модель, которую использовали для детектора голоса и произведём небольшие изменения: форма выходного сигнала теперь (513,1), линейная активация на выходе, MSE как функция потерь. Вот теперь начинаем обучение.

Пока не радуйтесь…

Хотя такое представление ввода/вывода имеет смысл, после обучения нашей модели несколько раз, с различными параметрами и нормализациями данных, результатов нет. Кажется, мы просим слишком многого…

Мы перешли от бинарного классификатора к регрессии

на 513-мерном векторе. Хотя сеть в некоторой степени изучает задачу, но в восстановленном вокале всё равно есть очевидные артефакты и помехи от других источников. Даже после добавления дополнительных слоёв и увеличения количества параметров модели результаты не сильно меняются. И тогда встаёт вопрос:
как обманом «упростить» для сети задачу, и при этом достичь желаемых результатов?
Что если вместо оценки амплитуды STFT вокала обучать сеть получению бинарной маски, которая при применении к STFT микса даёт нам упрощённую, но перцептивно-приемлемую

амплитудную спектрограмму вокала?

Экспериментируя с различными эвристиками, мы придумали очень простой (и, безусловно, неортодоксальный с точки зрения обработки сигналов…) способ извлечения вокала из миксов с использованием бинарных масок. Не вдаваясь в подробности, суть в следующем. Представим выход как бинарное изображение, где значение ‘1’ указывает на преобладающее присутствие вокального контента

на заданной частоте и таймфрейме, а значение ‘0’ указывает на преобладающее присутствие музыки в данном месте. Можем назвать это
бинаризацией восприятия
, просто чтобы придумать какое-то название. Визуально это выглядит довольно некрасиво, если честно, но результаты удивительно хороши.

Теперь наша проблема становится своеобразным гибридом регрессии-классификации (очень грубо говоря…). Мы просим модель «классифицировать пиксели» на выходе как вокальные или не вокальные, хотя концептуально (а также с точки зрения используемой функции потерь MSE) задача по-прежнему остаётся регрессионной.

Хотя это различие может показаться неуместным для некоторых, на самом деле оно имеет большое значение в способности модели изучить поставленную задачу, вторая из которых является более простой и ограниченной. В то же время, это позволяет нам сохранить нашу модель относительно небольшой по количеству параметров, учитывая сложность задачи, что-то очень желаемое для работы в реальном времени, что в данном случае было проектным требованием. После некоторых незначительных настроек окончательная модель выглядит так.

Как восстановить сигнал временной области?

По сути, как в наивном методе
. В данном случае на каждый проход мы прогнозируем один таймфрейм бинарной маски вокала. Опять же, реализуя простое скользящее окно с шагом одного таймфрейма, продолжаем оценивать и объединять последовательные таймфреймы, которые в конечном итоге составляют всю вокальную бинарную маску.

Создание обучающего набора

Как вы знаете, одна из главных проблем при обучении с учителем (оставьте эти игрушечные примеры с готовыми датасетами) — правильные данные (по количеству и качеству) для конкретной проблемы, которую вы пытаетесь решить. Исходя из описанных представлений ввода и вывода, для обучения нашей модели сначала понадобится значительное количество миксов и соответствующих им, идеально выровненных и нормализованных вокальных треков. Такой набор можно создать несколькими способами, и мы использовали комбинацию стратегий, начиная от ручного создания пар [микс <-> вокал] на основе нескольких а капелл, найденных в интернете, до поиска музыкального материала рок-групп и скрапинга Youtube. Просто чтобы дать вам представление, насколько это трудоёмкий и болезненный процесс, частью проекта стала разработка такого инструмента для автоматического создания пар [микс <-> вокал]:

Нужно действительно большое количество данных, чтобы нейросеть выучила функцию переноса для трансляции миксов в вокал. Наш окончательный набор состоял примерно из 15 млн образцов по 300 мс миксов и соответствующих им вокальных бинарных масок.

Архитектура конвейера

Как вы наверное знаете, создать модель ML для конкретной задачи — только полдела. В реальном мире нужно продумать архитектуру программного обеспечения, особенно если нужна работа в реальном времени или близком к нему.
В этой конкретной реализации реконструкция во временную область может происходить сразу после прогнозирования полной бинарной маски вокала (автономный режим) или, что более интересно, в многопоточном режиме, где мы получаем и обрабатываем данные, восстанавливаем вокал и воспроизводим звук — всё мелкими сегментами, близко к потоковой передаче и даже практически в режиме реального времени, обрабатывая музыку, которая записывается на лету с минимальной задержкой. Вообще, это отдельная тема, и я оставлю её для другой статьи, посвящённой ML-конвейерам в реальном времени

Daft Punk — Get Lucky (студийная запись)

Здесь можно услышать некоторые минимальные помехи от барабанов…

Adele — Set Fire to the Rain (живая запись!)

Обратите внимание, как в самом начале наша модель извлекает крики толпы как вокальное содержание :). В этом случае есть некоторые помехи от других источников. Поскольку это живая запись, кажется допустимым, что извлечённый вокал хуже качеством, чем предыдущие.
Статья и так довольно большая, но учитывая проделанную работу, вы заслуживаете услышать последнее демо. С точно такой же логикой, как при извлечении вокала, мы можем попытаться разделить стереомузыку на составляющие (барабаны, басы, вокал, другие), сделав некоторые изменения в нашей модели и, конечно, имея соответствующий набор обучения :). Спасибо за чтение. В качестве последнего замечания: как видите, фактическая модель нашей свёрточной нейросети не такая уж особенная. Успех этой работы обусловили
Feature Engineering и аккуратный процесс проверки гипотез, о чём я ещё напишу в будущих статьях!

Сервис Vocalremover

Второй онлайн-сервис, позволяющий подавить вокал в песне – это сервис Vocalremover. Замечу сразу, что наиболее хорошо он работает с браузером Хром и другими браузерами на движке «Хромиум», а вот при работе с браузером Мозилла у указанного ресурса наблюдаются проблемы.

  1. Для работы с Vocalremover выполните вход на данный ресурс , и кликните на кнопку «Загрузить аудио файл».
  2. Укажите ресурсу путь к вашему аудиофайлу и дождитесь его загрузки и обработки.
  3. Для прослушивания полученного результата нажмите на кнопку «Play», а для его сохранения на ПК – кнопку «Скачать файл».

Phonicmind.com – отличный выбор за небольшую плату

Англоязычный phonicmind.com является одним из наиболее качественных сервисов данной специализации, а результаты, получаемые с его помощью, я считаю лучшими среди конкурентов. При этом он, как и другие англоязычные аналоги, имеет условно-бесплатный характер, а доступ к полноценному функционалу вы сможете получить только после соответствующей материальной оплаты.

  1. Перейдите на phonicmind.com, и нажмите на «Try it now».
  2. Затем нажмите на «Drop your audio file here», и загрузите нужную песню на ресурс.
  3. Далее будет необходимо подождать пока ресурс обработает файл (займёт до минуты).
  4. После обработки слева расположится базовая начальная композиция, в центре – версия для караоке (без вокала), справа – сам вокал, изъятый из песни (есть возможность скачать каждую из последних двух версий, нажав на «Download» ниже).

Бесплатная версия функционала сайта ограничена 30 секундами песни для обработки.

FL Studio

Fruity Loops Studio – мощная музыкальная платформа, которая, по утверждению разработчиков, дала старт карьерам многих мировых диджеев и продюсеров. Учитывая то, что функция подавления голоса обычно портит качество звучания, здесь можно построить карту из плагинов, ручек, переключателей и регуляторов, чтобы прямо в режиме прослушивания постараться минимизировать потери. Из композиций, где много проигрыша без вокала можно быстро и точно вырезать эти места, а затем объединить их, полностью воссоздав минусовку. А если у вас хороший слух, есть соответствующие навыки, запас времени и терпения программа готова предложить все необходимые инструменты для создания композиции с нуля.

Возможности программы можно перечислять бесконечно, т.е. в ней есть все и даже больше для обработки, редактирования и записи музыки. Мощный микшер для создания самых сложных постановок, гибкий плейлист, поддерживающий практически любой тип данных, большой набор плагинов, синтезаторов и эффектов, несколько сотен готовых пресетов и многое другое. Интерфейс FL Studio на английском языке, но в данном случае речь идет о профессиональном софте и многие музыкальные термины просто не стоит переводить во избежание путаницы. Пробная версия не ограничена по времени, зато сильно урезана функционально, хотя удалить вокал в ней и можно попробовать, но для полноценного использования придется приобрести одну из лицензий.

Достоинства:

  • Возможность создавать свои композиции и сэмплы;
  • Большой набор готовых музыкальных фрагментов;
  • Пробная версия не ограничена по времени;
  • Широкая функциональность;
  • Внушительная коллекция плагинов, синтезаторов и эффектов.

Недостатки:

  • Дорогая лицензия;
  • Занимает много места на жестком диске;
  • ПО требовательное к железу компьютера.

Рейтинг
( 1 оценка, среднее 5 из 5 )
Понравилась статья? Поделиться с друзьями: