¿Convertir por lotes .wav a mp3 y 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.

maldad
fuente
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
3

Puede usar foobar2000 con codificadores para ogg y mp3. Creo que puedes encontrar codificadores en rarewares .

Nils Magne Lunde
fuente
2

Parece que puede usar oggenc para convertir WAV en OGG, y puede usar cojo para convertir WAV en MP3.

Christian Mann
fuente
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.

Sathya
fuente
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

Tom
fuente