Free-Music-Demixer: Descompone tu música con la ayuda de la IA

Dentro del ámbito de la descomposición musical o separación de fuentes musicales, se utilizan modelos de Inteligencia Artificial para separar los diferentes instrumentos de una grabación musical en pistas individuales. «free-music-demixer» es una aplicación web que permite hacer precisamente esto con tus archivos musicales de forma gratuita y sin límites de uso, ¡todo ello desde tu navegador!

Carga una canción y descompónela en sus componentes de bajo, batería, voz, otros y karaoke utilizando el modelo casi puntero de IA llamado Open-Unmix con los pesos preentrenados UMX-L. Sevag H. es el creador y mantenedor de este sitio.

¿Cómo funciona?

A diferencia de productos similares, esta herramienta es gratuita y no almacena tus datos. Todo el procesamiento se realiza en tu navegador, lo que significa que tus archivos nunca se suben a ningún lugar. Funciona bien en ordenadores, pero puede ser lento en smartphones, así que ¡cuidado, usuarios!

¿Te encanta esta herramienta gratuita?

Para los individuos: Si valoras este recurso gratuito, puedes apoyar el trabajo de Sevag H. a través de GitHub Sponsors o PayPal.

Para empresas: Si eres una empresa en el ámbito profesional de la música (mezcla/desmezcla, DAW, etc.), anunciar en esta plataforma podría ofrecerte una visibilidad específica dentro de la comunidad de música y tecnología. Para oportunidades de asociación, no dudes en contactar.

Detalles técnicos y limitaciones

  • El rendimiento ha mejorado con la implementación de filtrado Wiener y otras técnicas.
  • La descomposición por lotes y una casilla para mostrar registros de desarrolladores también han sido agregadas.
  • Aunque puedes usar casi cualquier formato de archivo de audio para la entrada, las salidas serán siempre archivos wav estéreo a 44100 Hz.

¡Atención!

  • Solo puedes usar las salidas para aplicaciones no comerciales según la licencia de los pesos UMX-L.
  • La tarea requiere mucha CPU y memoria (hasta 4 GB). ¡Ten paciencia! Las pistas muy extensas podrían causar problemas.
  • Si encuentras errores o tienes sugerencias, puedes abrir un problema en GitHub.

La música y la tecnología nunca habían estado tan sincronizadas como ahora, y «free-music-demixer» es un claro ejemplo de ello.

¿Para qué se utiliza la desmixificación musical?

La desmixificación musical permite extraer los componentes aislados (vocales, batería, bajo, otros) de una canción mezclada. A menudo, las canciones están disponibles sin las pistas originales, y puede que desees utilizar solo una sección aislada en tu propio proyecto musical.

Las pistas desmixificadas pueden utilizarse para:

  • Remixes
  • Karaoke
  • Versiones instrumentales
  • Educación musical
  • Análisis musical
  • Transcripción musical
  • Generación de música
  • … y mucho más

Freemusicdemixer.com

La mayoría de las aplicaciones de desmixificación son complejos modelos de Inteligencia Artificial (IA) que requieren una gran potencia computacional para funcionar. Sitios web similares tienen una cola de trabajo, donde envías tu pista y esperas que sea procesada en un servidor potente que probablemente use una GPU costosa.

Este sitio web es una interfaz simple y fácil de usar para el modelo AI UMX-L, diseñada para ejecutarse rápidamente en tu navegador. Simplemente carga la pista que deseas desmixificar y observa cómo se procesa inmediatamente en tu propio ordenador. Tu privacidad es 100% respetada ya que tus archivos nunca se cargan en un servidor o cola de trabajo.

Una vez completada la desmixificación, puedes descargar las siguientes pistas en archivos wav (estéreo, 44100 Hz):

  • Bajo
  • Batería
  • Otros (categoría general para elementos no incluidos en bajo/batería/vocales)
  • Vocales
  • Karaoke (bajo+batería+otros)

Implementación técnica

Free-music-demixer es una adaptación web de umx.cpp, centrada en mantener la paridad con el modelo original. Este proyecto se inspiró en el proyecto «AI at the edge» GGML (incluyendo whisper.cpp y llama.cpp), y WebAssembly es una demostración impresionante de IA en el lado del cliente.

El código de inferencia está escrito en C++, utilizando Eigen3 para operaciones numéricas. Emscripten se usa para compilarlo en WebAssembly. Los pesos del modelo están cuantificados y comprimidos de 424 MB a 45 MB. El código fuente está disponible en GitHub.

Personalizaciones a UMX

La arquitectura de UMX ha sido modificada para adaptarla a una aplicación web. Estos cambios incluyen:

  • Cuantificar los pesos del modelo a enteros de 8 bits
  • Comprimir los pesos del modelo con gzip
  • Implementar una arquitectura LSTM en streaming para permitir que pistas más grandes se separen sin colapsar
  • Implementar inferencia segmentada (tomado de Demucs) para permitir la separación de pistas mucho más grandes sin colapsos

umx.cpp y demucs.cpp

Mi intención es continuar trabajando en la mejora de umx.cpp y, eventualmente, trabajar en demucs.cpp. Demucs es uno de los modelos actuales líderes en desmixificación musical, pero es computacionalmente más intensivo y difícil de implementar que umx.cpp.

El objetivo es, con el tiempo, incorporar características de las bases de código de umx.cpp y demucs.cpp en freemusicdemixer.com.

Últimos artículos

Scroll al inicio