Para concatenar y transcodificar archivos de audio, este es el flujo de trabajo que desea seguir:
- Decodificar archivos de audio de entrada a datos WAV / PCM,
- Concatenate WAV,
- Codifique WAV para generar un archivo de códec de audio.
El procesamiento en estos pasos lleva a cabo la concatenación de los datos WAV, que es la más fácil de manejar y la que tiene menos pérdidas. Y dado que de todos modos desea transcodificar, deberá decodificar a WAV en algún lugar del proceso; bien podría aprovecharlo.
Aquí están los pasos que recomiendo. Lo usaremos ffmpeg
para decodificar, sox
para concatenación y oggenc
para codificar. Puede sustituir otras herramientas por cualquier paso, mencoder
y otras funcionan bien como decodificador, y cualquier herramienta que codifique Ogg puede usarse como codificador, aunque creo que le será difícil encontrar una herramienta mejor que sox
para el concatenación.
find *.wma -exec ffmpeg -i {} outfile.{}.wav \;
(esto se ejecuta ffmpeg -i infile.wma outfile.infile.wma
en cada archivo WMA en el directorio actual)
sox outfile* all.wav
(nota outfile
es el mismo prefijo que le dimos a los archivos de salida en el paso 1)
oggenc all.wav all.ogg
probablemente desee algunas configuraciones de calidad aquí, pero esto dará valores predeterminados de calidad decentes. No obtuve resultados que me gustaron ffmpeg
, pero es posible que lo prefiera, así que he incluido un ejemplo con ffmpeg a continuación.
Tenga en cuenta que el sox
comando no funcionará correctamente a menos que todos los archivos WAV tengan el mismo formato; si algunos son de 22 kHz y otros de 44.1 kHz, por ejemplo, debe identificarlos sox
mediante los interruptores de línea de comandos y especificar qué formato desea que salida. No conozco ninguna herramienta de línea de comandos tan capaz como sox
para el paso de concatenación. Usted podría , posiblemente, la salida a un formato PCM sin procesar en el paso 1 y el uso cat
para el paso 2, pero que lo haría sólo funcionan si están en el mismo formato, y que había necesidad de ser muy específicos tanto para el descodificador y codificador en cuanto a lo formato que deben esperar.
Codificación con ffmpeg: muchas publicaciones en la red se quejan de que el codificador Vorbis incorporado de ffmpeg no es muy bueno. Si su versión está construida con soporte para libvorbis, use -acodec libvorbis
en su lugar. Línea de comando de muestra:
ffmpeg -i all.wav -acodec libvorbis -ac 2 -ab 128k all.ogg