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

20 audio mp3 ogg batch audacity

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

evi*_*oup 26

在类 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
Run Code Online (Sandbox Code Playgroud)

这会将目录中的每个 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
Run Code Online (Sandbox Code Playgroud)

要递归转换目录中的每个 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}' '{}' \;
Run Code Online (Sandbox Code Playgroud)

(对丹尼斯的回应表示最大的敬意,他在这里为我找到了使用 ffmpeg 的 find 的工作实现)

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

注意-q:a:对于 MP3,质量范围是 0-9,其中 0 是最好的质量,而 2 对于大多数人转换 CD 音频已经足够了;对于OGG,它是1-10,其中10是最好的,5对于大多数人来说相当于CD质量。

  • 很有用。我修改了它以递归地将 .wav 批量转换为 mp3,因为我不需要 ogg: `find 。-type f -name '*.wav' -exec bash -c 'ffmpeg -i "$0" -c:a libmp3lame -q:a 2 "${0/%wav/mp3}"' '{}' \; ` (5认同)

Chr*_*ann 2

看起来你可以使用oggenc将WAV转换为OGG,并且可以使用lame将WAV转换为MP3。