简体   繁体   English

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

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

I am trying to convert a raw file (header-less) to wav 我试图将原始文件(无标题)转换为wav

It is in ADPCM 16 rate 8000 它在ADPCM 16中的速率为8000

I have tried three console commands 我试过三个控制台命令

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

These trigger the same error: 这些触发相同的错误:

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

and last attempt 最后的尝试

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

which triggers another error 这会触发另一个错误

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

Do you know why I get these errors? 你知道为什么我会收到这些错误吗?

Thanks 谢谢

EDIT 编辑

An hex dump of the first 48 bytes FYI 前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

Looks like using -t raw -e ima-adpcm doesn't work, but rather you have to use -t ima -e ima-adpcm . 看起来像使用-t raw -e ima-adpcm不起作用,而是你必须使用-t ima -e ima-adpcm

I guess -t raw means raw PCM, whereas -t ima means raw ADPCM? 我想-t raw表示原始PCM,而-t ima表示原始ADPCM?

This worked for me to convert an ADPCM file into .wav: 这对我来说可以将ADPCM文件转换为.wav:

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

The file extension doesn't seem to matter as long as you indicate ADPCM with -t ima . 只要您使用-t ima指示ADPCM,文件扩展名似乎无关紧要。

Can you change the filename from input.raw to input.ima ? 你可以将文件名从input.raw更改为input.ima吗? If you can, then 如果可以,那么

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

ought to work. 应该工作。 .raw seems to be a magic extension for sox and it assumes certain possibilities for the data. .raw似乎是sox的神奇扩展,并假设数据具有某些可能性。 See this man page . 请参见此手册页

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

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