我正在使用 afconvert 将 wav 文件转换为 caf。是否可以将现有通道(我的情况是两个)混合为一个通道?我不想丢失任何声音。我看到- 混合选项,但不确定它是如何工作的。它似乎什么也没做。我在脚本文件中使用 afconvert 批处理,因此对于不涉及任何 GUI 的解决方案来说,它会很方便。
这是我目前使用的方式
/usr/bin/afconvert sourceaudio.wav outputaudio.caf -d ima4 -f caff -v
我使用 ffmpeg 来实现这一点。它的工作原理如下:
http://trac.ffmpeg.org/wiki/AudioChannelManipulation
将单个立体声流混合为单声道流。立体声流的两个声道都将混合到该流中。
ffmpeg -i 立体声.flac -ac 1 单声道.flac
答案1
嗯,实际上我在测试版 Sound Design 网络站点上问过这个问题,并得到了一个很好的独立答案:
https://sound.stackexchange.com/questions/28189/downmixing-audio-on-command-line
指定小端(英特尔)整数 16 或 24 位 wav 文件:
afconvert -d LEI16 -c 1 --mix input_file.wav output_file.wav
或者
afconvert -d LEI24 -c 1 --mix input_file.wav output_file.wav
答案2
似乎只是-c 1
混合了左右声道:
afconvert input.wav output.caf -c 1 -d ima4 -f caff -v
afconvert input.wav output.caf -c 1 -d ima4 -f caff -v
并afconvert input.wav output.caf -c 1 --mix -d ima4 -f caff -v
生成相同的文件。