Mezcle una cantidad arbitraria de archivos de audio en un solo archivo de audio estéreo usando ffmpeg

Mezcle una cantidad arbitraria de archivos de audio en un solo archivo de audio estéreo usando ffmpeg

Actualmente estoy trabajando en una aplicación de karaoke y necesito fusionar un número arbitrario (de 1 a 12) pistas de entrada junto con una pista de canción en un archivo de audio de salida único que debería ser estéreo.

Intenté usar los filtros amerge y amix, funcionaron muy bien, pero ambos tenían un problema: el volumen en la mezcla resultante era menor que en los archivos fuente. El comando que utilicé fue:

ffmpeg.exe -y  -i song.mp3 -i track1.mp3  .... -i track[N].mp3  -filter_complex amerge=inputs=[N]  -c:a libmp3lame  -ar 44100 -q:a 1 mix.mp3

También intenté usar el filtro pan y funcionó muy bien para 2 archivos con
pan=stereo:c0=c0+c1:c1=c0+c1 - el resultado fue exactamente lo que necesitaba pero no pude hacerlo funcionar con más de 2 archivos (y necesito poder fusionar hasta 12).

Respuesta1

Para referencia futura: como dijo llogan, primero debe fusionarse:

ffmpeg -i entrada1.mp3 -i entrada2.mp3 -filter_complex "[0:a][1:a]amerge=inputs=2[a]" -map "[a]" -ac 2 salida.mp3

información relacionada