Batch converter. Wav para mp3 e ogg?


16

Eu tenho algumas centenas de arquivos .wav que eu preciso converter para o formato ogg e mp3. Existe uma maneira que eu possa fazer isso em lote do Audacity ou de alguma outra ferramenta de linha de comando?

audio  batch  mp3  audacity  ogg 

Respostas:


22

De uma linha de comando similar ao Unix (Linux, OSX, etc), o ffmpeg pode ser usado assim:

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

Isso irá converter todos os WAV em um diretório em um MP3 e um OGG; note que é sensível a maiúsculas e minúsculas (o comando acima irá converter todos os arquivos terminados em .wav, mas não em .WAV). Se você quiser uma versão sem distinção entre maiúsculas e 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 converter todos os WAV em um diretório recursivamente (isto é: todos os WAV no diretório atual e todos os diretórios no diretório atual), você poderia 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 respeito a Dennis por sua resposta Aqui para me encontrar uma implementação de trabalho de encontrar com ffmpeg)

Para pesquisa sem distinção entre maiúsculas e minúsculas com find, use -iname ao invés de -name.

Uma nota sobre -q:a: para MP3, a faixa de qualidade é 0-9, onde 0 é a melhor qualidade e 2 é bom o suficiente para a maioria das pessoas para converter áudio em CD; para OGG, é 1-10, onde 10 é o melhor e 5 é equivalente a qualidade de CD para a maioria das pessoas.


3
Muito útil. Eu modifiquei isso para converter em lote .wav para mp3 recursivamente, já que eu não precisava de ogg: find . -type f -name '*.wav' -exec bash -c 'ffmpeg -i "$0" -c:a libmp3lame -q:a 2 "${0/%wav/mp3}"' '{}' \;
smg



2

Faça o download do ffmpeg no link abaixo e instale-o: http://ffmpeg.zeranoe.com/builds/

crie e execute o arquivo de lote com os seguintes comandos:

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

Todos os arquivos * .ogg convertidos serão copiados para o diretório .. \ Ogg.


0

Eu fiz algumas alterações em um arquivo bat que encontrei no SO, agora, lida com espaços em nomes de arquivos, como é frequentemente o caso no nome das músicas. este arquivo bat converte .wav para .mp3, usando a ferramenta de linha de comando VLC. Mas você pode mudar para os formatos wma - & gt; mp3 e assim por diante ...

@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 muda a codificação (para lidar com caracteres acentuados.) ab é a taxa de bits aqui 320

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.