如何使用ffmpeg将常规WAV文件转换为4bit WAV文件?

时间:2020-02-13 15:26:42

标签: c# audio ffmpeg

我尝试了类似的方法

C:\ ffmpeg \ ffmpeg -i“ Blip_Select2.wav” -c:a wav -sample_fmt u8“ Blip_Select2_8bit.wav”

但是我不知道如何访问4位转换。

我正在为c#项目使用音频,4位就足够了,我更喜欢wav,因此我不必随文件分发可能受限的使用解码器。

修改。我找到了使用其他软件的解决方案(请参阅下面的答案),但是我接受Mattias的回答,因为他提供了ffmpeg所要求的解决方案。

2 个答案:

答案 0 :(得分:1)

请注意,-b 4与sox似乎使用MS ADPCM编解码器,该编解码器使用4位对样本之间的差异进行编码。如果要使用ffmpeg产生类似的结果,可以使用:

ffmpeg -i sound.wav -codec:a adpcm_ms -f wav sound_4bit.wav

答案 1 :(得分:0)

好的,所以我确实设法找到了解决方案。这是一个很棒的命令行实用程序,类似于ffmpeg,称为(Sound eXchange)SoX 。可以在这里找到:

http://sox.sourceforge.net/

实现转换为4位WAV的命令行是这样的:

sox "sound.wav" -b 4 "sound_4bit.wav"

它工作得很好,并且由于采样率仍然是44100,而大小却下降到1/4,所以我没有发现质量下降。

重要提示。仅当您的音频干净且未录制得太大时(例如正确录制的语音)(这就是我正在使用的声音)时,此方法才有效,但只要声音不太大,它也适用于音乐。