批量将 .wav 转换为 mp3 和 ogg?

批量将 .wav 转换为 mp3 和 ogg?

我有几百个 .wav 文件需要转换为 ogg 和 mp3 格式。有没有办法通过 Audacity 或其他命令行工具批量执行此操作?

答案1

从类 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 转换为一个 MP3 和一个 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}' '{}' \;

(非常感谢 Dennis 的回复这里帮我找到一个使用 ffmpeg 实现 find 的可行实现)

对于使用 find 进行不区分大小写的搜索,请使用-iname而不是-name

注意事项-q:a:对于 MP3,质量范围是 0-9,其中 0 为最佳质量,2 对于大多数人来说足以转换 CD 音频;对于 OGG,质量范围是 1-10,其中 10 为最佳质量,5 对于大多数人来说相当于 CD 质量。

答案2

你可以使用foob​​ar2000带有 ogg 和 mp3 编码器。我相信你可以在稀有器皿

答案3

看起来你可以使用奥根克将 WAV 转换为 OGG,您可以使用将 WAV 转换为 MP3。

答案4

我对在 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

相关内容