Ogg形式とmp3形式の両方に変換する必要がある数百の.wavファイルがあります。 Audacityまたは他のコマンドラインツールからこれをバッチで実行する方法はありますか?
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の実用的な実装を見つけてくれた)
Findで大文字と小文字を区別しない検索を行うには、-iname
ではなく-name
を使用します。
-q:a
に関する注記:MP3の場合、品質の範囲は0〜9です。0が最高の品質、2はほとんどの人にとってCDオーディオの変換には十分です。 OGGの場合、1〜10です。10が最高で、5はほとんどの人にとってCD品質と同等です。
以下のリンクから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ディレクトリにコピーされます。
私は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