Deezer открыл исходные тексты проекта Spleeter, развивающего систему машинного обучения для разделения источников звука из сложных звуковых композиций
Провайдер потокового вещания Deezer открыл исходные тексты экспериментального проекта Spleeter, развивающего систему машинного обучения для разделения источников звука из сложных звуковых композиций. Программа позволяет удалить из композиции вокал и оставить только музыкальное сопровождение, манипулировать звучанием отдельных инструментов или отбросить музыку и оставить голос для наложения на другой звуковой ряд, создания миксов, караоке или транскрипции. Код проекта написан на языке Python с использованием движка Tensorflow и распространяется под лицензией MIT.
Для загрузки предлагаются уже натренированные модели для отделения вокала (одного голоса) от аккомпанемента, а также для разделения на 4 и 5 потоков, включающих вокал, барабаны, басы, пианино и остальной звук. Spleeter может применяться как в виде Python-библиотеки, так и в форме обособленной утилиты командной строки. В простейшем случае на основе исходного файла создаётся два, четыре или пять файлов с голосом и составляющими из аккомпанемента (vocals.wav, drums.wav, bass.wav, piano.wav, other.wav).
При разделении на 2 и 4 потока Spleeter обеспечивает очень высокую производительность, например, при задействовании GPU разделение звукового файла на 4 потока занимает в 100 раз меньше времени, чем продолжительность исходной композиции. На системе с GPU NVIDIA GeForce GTX 1080 и 32-ядерном CPU Intel Xeon Gold 6134 обработка тестовой коллекции musDB, продолжительностью три часа 27 минут, была выполнена за 90 секунд.
Из достоинств Spleeter, по сравнению с другими разработками в области разделения звука, такими как открытый проект Open-Unmix, упоминается применение более качественных моделей, построенных на основе обширной коллекции звуковых файлов. Из-за ограничений авторских прав исследователи в области машинного обучения ограничены доступом к достаточно скудным общедоступным коллекциям музыкальных файлов, в то время как для Spleeter модели были построены с привлечением данных из обширного музыкального каталога Deezer.
По сравнению с Open-Unmix инструментарий Spleeter выполняет разделение примерно на 35% быстрее при тестировании на CPU, поддерживает MP3-файлы и генерирует заметно более качественный результат (при выделении голоса в Open-Unmix остаются следы некоторых инструментов, что, вероятно, объясняется тем, что модели Open-Unmix натренированы на коллекции из всего 150 композиций).