[英]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.