DEV Community

loading...
Cover image for Separar una canción en diferentes pistas con Spleeter

Separar una canción en diferentes pistas con Spleeter

Bitquark Software
Somos una startup chiapaneca dispuesta a ayudar a nuestros clientes a expandir su negocio mediante servicios digitales.
・3 min read

Como buenos músicos, nos hemos encontrado con la necesidad de practicar nuestra canción favorita con nuestro instrumento favorito.

Este post va dedicado a todos los bajistas, guitarristas, baterístas y cantantes que desean realizar covers de canciones profesionales.

Nivel de dificultad: Intermedio

Con esta herramienta podremos separar hasta 5 pistas:

  • Vocales
  • Batería
  • Bajo
  • Guitarra
  • Extras

Temario

  1. Dependencias necesarias
  2. Instalación
  3. Separación de una pista
  4. Unión de las pistas (Opcional)

⚠️⚠️ Esta herramienta no fue escrita por nosotros, el autor es Deezer y le damos los créditos a ellos ⚠️⚠️


Dependencias necesarias

Spleeter es un programa que aplica redes neuronales para entrenar a una IA con la finalidad de separar las pistas de audio a partir de las frecuencias de cada instrumento de la canción original.

Spleeter está escrito en #python, por lo que, deberemos de tener una versión de python 3.6 ó 3.7

⚠️⚠️ Spleeter no funciona en python 3.8 por el momento ⚠️⚠️

Como primer dependencia vamos a instalar ffmpeg:

  • Windows: Descarga FFmpeg aquí
  • MacOS: Lo instalaremos mediante brew:
brew install ffmpeg
  • Linux: sudo apt install ffmpeg (Dependerá de la distribución)

La segunda dependencia es pip, (Si tienes Python instalado ya tienes pip 😉)


Instalación

Para poder instalar spleeter debemos ejecutar el siguiente comando:

pip install spleeter

Será una instalación larga, ten paciencia.

🚫 Me salió un error ☹️ 🚫

Si te encuentras con un error como este:

ERROR: Could not find a version that satisfies the requirement spleeter (from versions: none)
ERROR: No matching distribution found for spleeter

Quiere decir que la versión de Python que tienes instalada no es compatible, como te mencioné anteriormente, solo funciona con python 3.6 ó python 3.7

Eso es todo 😳


Separación de una pista

Abrimos una terminal (desgraciadamente spleeter todavía no incluye una GUI o aplicación ejecutable) y ejecutamos el siguiente comando:

spleeter separate -i cancion.mp3 -o pistas -p spleeter:4stems

Explicación de cada argumento:

  • splitter separate: Instrucción para separar una pista
  • -i cancion.mp3: Seleccionaremos nuestro archivo .mp3 original
  • -o pistas: Carpeta donde se guardarán las pistas generadas.
  • -p spleeter:4stems: Modelo entrenado de la red para separar las pistas.

El último argumento indica la cantidad de pistas que obtendrá.

  • Si deseas separar las vocales de la canción, el último argumento será -p spleeter:2stems.
  • Si deseas separar las vocales, bajo, batería y guitarras de la canción, el último argumento será -p spleeter:4stems.
  • Si eres más exigente o quieres experimentar con cinco pistas, el último argumento será -p spleeter:5stems.

Ejecución (con imágenes):

Paso 1

Después, descargará una copia del modelo entrenado:

Descarga del modelo

Posteriormente, hará una verificación de la copia del modelo:

Analizando al modelo

Y nos mostrará los mensajes de pistas generadas exitosamente.

Pistas separadas

Si revisamos nuestro directorio, veremos lo siguiente:

Finder

Dentro de pistas/cancion/ obtendremos las pistas separadas en formato .wav

Pistas en formato .wav


Unión de las pistas (Opcional)

Para este paso utilizaremos Audacity

Audacity

Una vez abierta la aplicación, arrastraremos una de las pistas generadas:

Solo vocales

Ahora, vamos a agregar la pista de la batería:

Vocales y batería

Finalmente, daremos clic en el botón de play y reproduciremos ambas pistas.


¡Si te gustó síguenos en nuestra redes sociales y aquí para más contenido!

Discussion (0)