Saya memiliki beberapa ratus file .wav yang perlu saya konversikan ke format ogg dan mp3. Apakah ada cara saya bisa melakukan ini dalam batch baik dari Audacity atau dari beberapa alat baris perintah lainnya?
Saya memiliki beberapa ratus file .wav yang perlu saya konversikan ke format ogg dan mp3. Apakah ada cara saya bisa melakukan ini dalam batch baik dari Audacity atau dari beberapa alat baris perintah lainnya?
Jawaban:
Dari commandline Unix-like (Linux, OSX, dll), ffmpeg dapat digunakan seperti ini:
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
Ini akan mengubah setiap WAV dalam direktori menjadi satu MP3 dan satu OGG; perhatikan bahwa case-sensitive (perintah di atas akan mengonversi setiap file yang berakhiran .wav, tetapi tidak .WAV). Jika Anda ingin versi case-insensitive:
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
Untuk mengonversi setiap WAV dalam direktori secara rekursif (yaitu: setiap WAV di direktori saat ini, dan semua direktori di direktori saat ini), Anda dapat menggunakan 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 menghormati Dennis untuk tanggapannya di sini karena menemukan saya implementasi yang berfungsi dari find with ffmpeg)
Untuk pencarian case-sensitive dengan find, gunakan -iname
sebagai gantinya -name
.
Catatan untuk -q:a
: untuk MP3, kisaran kualitasnya adalah 0-9, di mana 0 adalah kualitas terbaik, dan 2 cukup baik bagi kebanyakan orang untuk mengonversi audio CD; untuk OGG, ini 1-10, di mana 10 adalah yang terbaik dan 5 setara dengan kualitas CD untuk kebanyakan orang.
find . -type f -name '*.wav' -exec bash -c 'ffmpeg -i "$0" -c:a libmp3lame -q:a 2 "${0/%wav/mp3}"' '{}' \;
'
.
$ for f in *.wav; do ffmpeg -i "$f" -c:a libmp3lame -b:a 320k "${f/%wav/mp3}"; done
hanya untuk 320 kbps mp3
Anda dapat menggunakan foobar2000 dengan enkoder untuk ogg dan mp3. Saya percaya Anda dapat menemukan pembuat kode di barang langka .
Unduh ffmpeg dari tautan di bawah ini dan instal: http://ffmpeg.zeranoe.com/builds/
buat dan jalankan file batch dengan perintah di bawah ini di dalamnya:
echo converting *.wav to *.ogg
mkdir ..\Ogg
for /r %%i in (*) do ffmpeg -i %%i -acodec libvorbis ..\Ogg\%%~ni.ogg
Semua file * .ogg yang dikonversi akan disalin ke .. \ Direktori Ogg.
Saya melakukan beberapa perubahan pada file bat yang saya temukan di SO, sekarang, berkaitan dengan spasi dalam nama file seperti yang sering terjadi pada nama lagu. file kelelawar ini mengonversi .wav ke .mp3, menggunakan alat baris perintah VLC. Tetapi Anda dapat mengubah ke format wma -> mp3 dan seterusnya ...
@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 mengubah encoding (untuk menangani karakter yang ditekankan.) ab adalah bit rate di sini 320