簡體   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