.wavをmp3とoggにバッチ変換しますか?


20

ogg形式とmp3形式の両方に変換する必要がある.wavファイルが数百個あります。Audacityまたは他のコマンドラインツールからバッチでこれを行う方法はありますか?

audio  batch  mp3  audacity  ogg 

回答:


25

Unixライク(Linux、OSXなど)コマンドラインから、ffmpegは次のように使用できます。

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

これにより、ディレクトリ内のすべてのWAVが1つのMP3と1つのOGGに変換されます。大文字と小文字が区別されることに注意してください(上記のコマンドは、.wavではなく.wavで終わるすべてのファイルを変換します)。大文字と小文字を区別しないバージョンが必要な場合:

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

ディレクトリ内のすべてのWAV(つまり、現在のディレクトリ内のすべてのWAV、および現在のディレクトリ内のすべてのディレクトリ)を再帰的に変換するには、次を使用できます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}' '{}' \;

(私がffmpegでfindの実用的な実装を見つけるためのここでの彼の応答についてのデニスへの最大の敬意)

検索で大文字と小文字を区別しない検索の場合は、の-iname代わりに使用します-name

-q:a:MP3の場合、品質の範囲は0〜9で、0が最高の品質であり、2はCDオーディオを変換するのにほとんどの人にとって十分です。OGGの場合、1〜10で、10が最高で、5はほとんどの人にとってCD品質と同等です。


4
非常に便利。私はOGGを必要としなかったので、私は、再帰的にmp3へのバッチ改宗.WAVにこれを修正:find . -type f -name '*.wav' -exec bash -c 'ffmpeg -i "$0" -c:a libmp3lame -q:a 2 "${0/%wav/mp3}"' '{}' \;
SMG

再帰変換の3番目の例では、が一致していません'
照応

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



2

以下のリンクからffmpegをダウンロードしてインストールしてくださいhttp//ffmpeg.zeranoe.com/builds/

以下のコマンドを含むバッチファイルを作成して実行します。

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

変換されたすべての* .oggファイルは.. \ Oggディレクトリにコピーされます。


0

SOで見つけたbatファイルに変更を加えました。今では、曲名の場合によくあるように、ファイル名のスペースを処理します。このbatファイルは、VLCコマンドラインツールを使用して、.wavを.mp3に変換します。ただし、wma-> mp3などの形式に変更できます...

@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はエンコードを変更します(強調された文字を処理します)。abはここでのビットレートです320

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.