raw file(audio file format) How to convert endianness

You can convert the endianness using sox(sox-14.4.1) like this:

sox -t .raw -r 16k -b 16 -e signed infile -t.raw -r 16k -b 16 -e signed -x outfile

假設raw file 

Number of bits:16bit

Number of channels:one

Sampling Rates:16000 HZ


實際上只有16bit及以上纔有可能需要convert endianness。另一種方法是直接通過程序解決(針對16bit):

// convert endianess
for(int i=0;i<nBufBKLen;i+=2)
{
	char temp = szBufBK[i];
	szBufBK[i] = szBufBK[i+1];
	szBufBK[i+1] = temp;
}					
這兒假設szBufBK存放raw file data,nBufBKLen爲data length。

好久沒更新博客,慚愧~以後要努力更新博客了。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章