我尝试了类似的方法
C:\ ffmpeg \ ffmpeg -i“ Blip_Select2.wav” -c:a wav -sample_fmt u8“ Blip_Select2_8bit.wav”
但是我不知道如何访问4位转换。
我正在为c#项目使用音频,4位就足够了,我更喜欢wav,因此我不必随文件分发可能受限的使用解码器。
修改。我找到了使用其他软件的解决方案(请参阅下面的答案),但是我接受Mattias的回答,因为他提供了ffmpeg所要求的解决方案。
答案 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 。可以在这里找到:
实现转换为4位WAV的命令行是这样的:
sox "sound.wav" -b 4 "sound_4bit.wav"
它工作得很好,并且由于采样率仍然是44100,而大小却下降到1/4,所以我没有发现质量下降。
重要提示。仅当您的音频干净且未录制得太大时(例如正确录制的语音)(这就是我正在使用的声音)时,此方法才有效,但只要声音不太大,它也适用于音乐。