Deezer abrió el código fuente de Spleeter un sistema para separar música y voz
El proveedor de música streaming Deezer, dio a conocer la noticia que hace poco decidio abrir el código fuente para un proyecto piloto de “Spleeter” que se desarrolla como un sistema de aprendizaje automático para separar las fuentes de sonido de las composiciones de sonido complejas. El programa en si permite eliminar las voces de la composición y dejar solo el acompañamiento musical, manipular el sonido de instrumentos individuales o soltar la música y dejar que la voz se superponga en otra línea de sonido, cree mezclas, karaoke o transcripción.
En este proyecto piloto “Spleeter” se ofrecen modelos ya entrenados para descargar y para separar las voces del acompañamiento acústico, así como para dividirlas en 4 y 5 transmisiones, incluidas voces, batería, bajos, piano y el resto del sonido. Spleeter se puede usar como una biblioteca de Python o como una utilidad de línea de comandos independiente.
Al dividir en 2 y 4 transmisiones, Spleeter proporciona un rendimiento muy alto, por ejemplo, al usar la GPU, dividir un archivo de audio en 4 transmisiones toma 100 veces menos tiempo que la duración de la composición original.
Debajo del capó, Spleeter es un motor bastante complejo y diseñado, pero hemos trabajado duro para que sea realmente fácil de usar. La separación real se puede lograr con una sola línea de comando , y debería funcionar en su computadora portátil, independientemente de su sistema operativo. Para usuarios más avanzados, existe una clase API de Python llamada Separatorque puede manipular directamente en su canalización habitual.
En un sistema con una GPU NVIDIA GeForce GTX 1080 y una CPU Intel Xeon Gold 6134 de 32 núcleos, el procesamiento de la colección de pruebas musDB, que duró tres horas y 27 minutos, se completó en 90 segundos.
De las ventajas que ofrece Spleeter, en comparación con otros desarrollos en el campo de la separación de sonido, como el proyecto abierto Open-Unmix, se menciona el uso de mejores modelos construidos sobre la base de una extensa colección de archivos de sonido.
He aqui el por que de la decisión de Deezer de liberar el código de Spleeter, pues en la publicación sobre ello, comenta:
¿Por qué lanzar Spleeter?
Respuesta corta: lo usamos para nuestra investigación y creemos que otros podrían querer también.
Hemos estado trabajando en la separación de fuentes durante mucho tiempo (y ya teníamos una publicación en ICASSP 2019 ). Hemos comparado Spleeter con Open-Unmix, otro modelo de código abierto lanzado recientemente por un equipo de investigación de Inria, y reportamos rendimientos ligeramente mejores con mayor velocidad (tenga en cuenta que el conjunto de datos de entrenamiento no es el mismo).
Por último, pero no menos importante, entrenar a este tipo de modelos requiere mucho tiempo y energía. Al hacerlo una vez y compartir el resultado, esperamos ahorrarle a otros algunos problemas y recursos.
Debido a las restricciones de derechos de autor, los investigadores de aprendizaje automático tienen acceso limitado a colecciones de archivos de música de acceso público bastante exiguas, mientras que para los modelos Spleeter se construyeron utilizando datos del extenso catálogo de música de Deezer.
Por comparación con las herramientas abiertas como unmix, Spleeter realiza en aproximadamente un 35% más rápido en las pruebas de la CPU, soporta archivos MP3 y genera mucho mejores resultados (en la asignación de votos en el Open-Deshacer mezcla rastros de algunas herramientas que son probablemente debido al hecho que los modelos Open-Unmix están entrenados en colecciones de solo 150 pistas).
El código del proyecto viene en forma de una biblioteca de Python basada en Tensorflow, con modelos pre-entrenados para separación de 2, 4 y 5 transmisiones y se distribuye bajo la licencia MIT. En el caso más simple, se crean dos, cuatro o cinco archivos con voz y componentes del acompañamiento (vocals.wav, drums.wav, bass.wav, piano.wav, other.wav) sobre la base del archivo fuente.
Si quieres conocer más al respecto sobre este proyecto, puedes consultar el siguiente enlace o puedes consultar su código fuente en este enlace.
Spleeter se presentará y demostrará en vivo en la conferencia ISMIR 2019 en Delft.