¿Convertir por lotes .wav a mp3 y ogg?


20

Tengo unos cientos de archivos .wav que necesito convertir a formato ogg y mp3. ¿Hay alguna manera de que pueda hacer esto en lote desde Audacity o desde alguna otra herramienta de línea de comandos?

audio  batch  mp3  audacity  ogg 

Respuestas:


25

Desde una línea de comandos similar a Unix (Linux, OSX, etc.), ffmpeg se puede usar así:

for f in *.wav; do ffmpeg -i "$f" -c:a libmp3lame -q:a 2 "${f/%wav/mp3}" -c:a libvorbis -q:a 4 "${f/%wav/ogg}"; done

Esto convertirá cada WAV en un directorio en un MP3 y un OGG; tenga en cuenta que distingue entre mayúsculas y minúsculas (el comando anterior convertirá cada archivo que termine en .wav, pero no en .WAV). Si quieres una versión que no distinga entre mayúsculas y minúsculas:

for f in *.{wav,WAV}; do ffmpeg -i "$f" -c:a libmp3lame -q:a 2 "${f%.*}.mp3" -c:a libvorbis -q:a 4 "${f%.*}.ogg"; done

Para convertir cada WAV en un directorio de forma recursiva (es decir: cada WAV en el directorio actual y todos los directorios en el directorio actual), puede usar find:

find . -type f -name '*.wav' -exec bash -c 'ffmpeg -i "$0" -c:a libmp3lame -q:a 2 "${0/%wav/mp3}" -c:a libvorbis -q:a 4 "${f/%wav/ogg}' '{}' \;

(Max respeto a Dennis por su respuesta aquí por encontrarme una implementación funcional de find con ffmpeg)

Para la búsqueda que no distingue entre mayúsculas y minúsculas con find, use en -inamelugar de -name.

Una nota sobre -q:a: para MP3, el rango de calidad es 0-9, donde 0 es la mejor calidad y 2 es lo suficientemente bueno para la mayoría de las personas para convertir audio de CD; para OGG, es 1-10, donde 10 es el mejor y 5 es equivalente a la calidad de CD para la mayoría de las personas.


44
Muy útil. Modifiqué esto para convertir por lotes .wav a mp3 de forma recursiva, ya que no necesitaba ogg:find . -type f -name '*.wav' -exec bash -c 'ffmpeg -i "$0" -c:a libmp3lame -q:a 2 "${0/%wav/mp3}"' '{}' \;
smg

El tercer ejemplo, para la conversión recursiva, no coincide '.
Anaphory

$ for f in *.wav; do ffmpeg -i "$f" -c:a libmp3lame -b:a 320k "${f/%wav/mp3}"; donesolo para mp3 de 320 kbps
qwr



2

Descargue ffmpeg desde el siguiente enlace e instálelo: http://ffmpeg.zeranoe.com/builds/

cree y ejecute un archivo por lotes con los siguientes comandos:

echo converting *.wav to *.ogg 
mkdir ..\Ogg
for /r %%i in (*) do ffmpeg -i %%i -acodec libvorbis ..\Ogg\%%~ni.ogg

Todos los archivos * .ogg convertidos se copiarán al directorio .. \ Ogg.


0

Hice algún cambio en un archivo bat que encontré en SO, ahora trata con espacios en los nombres de los archivos, como suele ser el caso en el nombre de las canciones. este archivo bat convierte .wav a .mp3, usando la herramienta de línea de comandos VLC. Pero puede cambiar a los formatos wma -> mp3, etc.

@echo off
chcp 65001
SETLOCAL ENABLEDELAYEDEXPANSION

for /f "delims=" %%f IN ('dir /b /s "YOUR_DISK:\Path\To\Your Music\That May contain Spaces\*.wav"') do (
set file1=%%~nf.mp3
echo "file :" !file1!
set fic1=%%f
echo "file : " !fic1!

CALL "C:\Program Files (x86)\VideoLAN\VLC\vlc.exe"  "!fic1!" --sout="#transcode{vcodec=none,acodec=mp3,ab=320,channels=2,samplerate=48000}:std{access=file{no-overwrite},mux=mp3,dst="""!file1!"""}" vlc://quit
)

echo .
echo conversion finished
pause

chcp cambia la codificación (para tratar con caracteres acentuados). ab es la tasa de bits aquí 320

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.