Center channel substraction
Cuando escucho música uso Spotify, donde está disponible la mayoría de los álbumes. Sin embargo, algunos conciertos descargados de internet que nunca ven la luz oficial por temas legales o decisiones de las bandas solo pueden disfrutarse localmente, con algún reproductor a elección.
Cuando usaba Windows, mi favorito era AIMP; este era liviano, rápido y compatible con cualquier archivo de audio. Ahora que uso Linux, opté por Audacious, que funciona casi igual. Ambos tienen un “efecto de sonido” llamado Voice Removal o eliminación de voz, que permite obtener un resultado similar a una pista instrumental o backing track, sin utilizar inteligencia artificial.
Aunque el resultado no es perfecto, sirve para experimentar. Por ejemplo, probé este efecto con varias canciones de Los Tres, consiguiendo quitar la voz. Pero la que más me sorprendió fue No me gusta el sol. Como la voz en la mezcla original no se encuentra en el centro, al aplicar el Voice removal se consigue un efecto muy particular, parece una versión sin terminar.
¿Cómo funciona?
Investigando, descubrí que se trata de una técnica llamada cancelación por inversión de fase. Como sabemos de enseñanza básica, cuando dos ondas de la misma frecuencia están en fase, su volumen se refuerza. Si están fuera de fase (es decir, una es el negativo de la otra), se cancelan mutuamente.
En la práctica, los reproductores que implementan “Voice Removal” toman los canales izquierdo (L) y derecho (R), invierten uno de ellos, y los combinan. Es decir: Izquierdo + Inversión del Derecho
. Esto elimina cualquier sonido que esté exactamente igual en ambos canales como la voz principal, que suele estar centrada en la mezcla estéreo.
Recordé una grabación en vivo de Álvaro Henríquez en el Teatro Providencia que sonaba horrible. Probé con este efecto, y para mi sorpresa, sonó muchísimo mejor. Bastó con voltear un canal y recombinar. Próximamente en el canal.
¿Cómo aplicar este efecto?
Con ffmpeg
es muy sencillo. Basta con un script bash:
#!/bin/bash
cd "{path}"
mkdir -p salida
for f in *.mp3; do
ffmpeg -i "$f" -af "pan=mono|c0=FL-FR,loudnorm" -b:a 320k "salida/${f%.mp3}.mp3"
done
Reemplaza {path}
por la carpeta donde tienes tus archivos .mp3
.
-
mkdir -p salida
: crea la carpetasalida/
si no existe (el-p
evita errores si ya está). -
Recorre todos los archivos
.mp3
. -
Aplica el efecto de cancelación de canal central: convierte el audio a mono restando el canal derecho al izquierdo (
c0=FL-FR
). -
Luego normaliza el volumen (
loudnorm
). -
Finalmente guarda el resultado con el mismo nombre, en la carpeta
salida
.
Sencillo!