(无损)将单声道立体声 mp3 转换为单声道

(无损)将单声道立体声 mp3 转换为单声道

我有几个立体声的 mp3,但其中一个声道是无声的,听起来很烦人,尤其是戴着耳机听。我无法获得新录音(曲目是来源不明的盗版曲目),所以我猜第二好的选择是将它们转换为单声道,用另一首曲目替换无声曲目。

我读过这个类似的问题使用 Lame 将 mp3 从单声道转换为立体声但建议的解决方案似乎不适用于我的情况。

在我的环境下,什么工具可以将一个音轨替换为另一个音轨,最好是无损的并且最好使用“联合立体声”(=新通道实际上将是空的,从而避免显着增加文件大小)?

答案1

你可以用 ffmpeg 来实现这一点。他们的音频通道操控页面上有很多示例,包括这个例子将音频通道拆分为单独的文件:

ffmpeg -i stereo.wav -map_channel 0.0.0 left.wav -map_channel 0.0.1 right.wav

它会对任何它能识别的格式执行相同的操作,包括 mp3。该示例将一个立体声文件拆分为两个单声道文件,而无需重新编码。我假设所有播放器(默认情况下)都会在每个扬声器上播放一个声道。您可以关注这个例子制作一个立体声文件,将相同的音频复制到两个声道。要获得联合立体声,您必须重新编码,这(在 mp3 上)不是无损的;该页面没有示例。

如果你在 Windows 上执行此操作(而不是使用 Cygwin),那么最好的来源似乎是Zeranoe FFmpeg 构建

答案2

所以我尝试了 ffmpeg 方法,我觉得它重新编码。它需要相当长的时间进行处理,占用大量 CPU(比 MP3directcut 多得多);生成的文件在 Mediainfo 的读数中显示不同的编解码器;当比较原始文件和分割文件的频谱图时,有明显的差异。为了检查,我使用相同的编码设置(lame 128kpbs cbr stereo mp3 -> lame 128 cbr stereo mp3)对原始文件进行了转码,原始文件与转码文件相比更接近 ffmpg 的分割文件。

我真的不认为这种方法是无损的。你不妨使用像 Audacity 这样的程序。

答案3

我无法评论 ShadSterling 和 Jayden 的答案(代表性不足),所以这是我的看法。

正如 Jayden 暗示的那样,这个命令确实似乎重新编码(在我的例子中,left.wav 和 right.wav 是 Vorbis,而 stereo.wav 是 aac)。

ffmpeg -i stereo.wav -map_channel 0.0.0 left.wav -map_channel 0.0.1 right.wav

然而,这个命令取自相同示例页面, 做似乎(对我来说,生成的文件与源文件采用相同的编解码器 - AAC - 但这并不能完全证明没有发生重新编码)来完成这项工作(无需重新编码):

ffmpeg -i stereo.wav -af "pan=mono|c0=c1" mono.m4a

相关内容