簡體   English   中英

如何以無頭PCM格式編寫文件?

[英]How do I write a file in headerless PCM format?

如何以無頭PCM格式編寫文件? 源數據是一個numpy數組,我有一個應用程序期望無頭PCM文件中的數據,但我找不到任何文件格式的文檔? 它與wave文件中的數據塊基本相同嗎?

問題是沒有一種“無頭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來轉換它。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM