繁体   English   中英

如何使用sox将无头的ima-adpcm原始文件转换为wav

[英]How to convert headerless ima-adpcm raw file to wav using sox

我试图将原始文件(无标题)转换为wav

它在ADPCM 16中的速率为8000

我试过三个控制台命令

sox -e ima-adpcm -r 8000 input.raw output.wav
sox -e ima-adpcm -r 8000 -b 16 input.raw output.wav

这些触发相同的错误:

sox FAIL formats: bad input format for file `input.raw': data encoding or sample size was not specified

最后的尝试

sox -t raw -t wav -e ima-adpcm -r 8000 -b 16 input.raw output.wav

这会触发另一个错误

sox FAIL formats: can't open input file `input.raw': WAVE: RIFF header not found

你知道为什么我会收到这些错误吗?

谢谢

编辑

前48个字节FYI的十六进制转储

C0 0C 00 03 00 00 37 C0 34 0C D0 30 37 C0 30 C7 CD D3 C0 03 CD 00 37 03
C0 00 0D 0C CD 00 C0 10 0F 00 03 55 0B 4B 0F 0F 0C 0F 34 0F 0D C3 0D 03
00 C0 31 00 00 D0 C0 00 F4 4C 03 33 34 33 31 33 0D 33 D0 03 C0 4C C0 43

看起来像使用-t raw -e ima-adpcm不起作用,而是你必须使用-t ima -e ima-adpcm

我想-t raw表示原始PCM,而-t ima表示原始ADPCM?

这对我来说可以将ADPCM文件转换为.wav:

sox -t ima -r 44100 -e ima-adpcm in.raw -e signed-integer -b 16 out.wav

只要您使用-t ima指示ADPCM,文件扩展名似乎无关紧要。

你可以将文件名从input.raw更改为input.ima吗? 如果可以,那么

 sox input.ima -r 8000 -b 16 output.wav

应该工作。 .raw似乎是sox的神奇扩展,并假设数据具有某些可能性。 请参见此手册页

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM