2013-05-13 89 views
1

如何以無標題PCM格式寫入文件?源數據是一個numpy數組,並且我有一個應用程序期待在無標題PCM文件中的數據,但是我找不到任何文件格式的文檔?它與波形文件中的數據塊基本相同嗎?如何以無標題PCM格式寫入文件?

回答

2

問題是沒有一個「無頭PCM」格式。例如,8位單聲道22K和小端16位立體聲48K都是PCM的完美例子,「無標頭」的全部要點是您需要通過某些帶外通道瞭解這些信息。

但是,假設你有預期的格式,它聽起來很簡單。

for sample in samples: 
    for channel in channels: 
     f.write(the_bytes_in_the_right_endianness) 

如果你已經在該格式得到數據,只是把它寫在文件作爲一個大的塊。

WAV文件的「默認」編解碼器 - 也是Python的wave模塊唯一支持的編解碼器 - 是PCM。所以,是的,如果你有一個你想要的相同格式的WAV文件,你可以將其原始幀數據複製到一個無頭文件中,並且你有一個無頭文件的PCM文件。 (如果你有一個wav格式錯誤,你通常可以使用一個簡單的轉換,或者在最壞的情況下使用audioop進行轉換。)