WAVE

音訊編碼

建立在 RIFF 結構上的音訊檔案容器,通常用於儲存未壓縮 PCM,也可以封裝浮點 PCM、壓縮音訊與擴充套件聲道資訊。

詳細說明

WAVE(Waveform Audio File Format)是微軟與 IBM 制定、建立在 RIFF(Resource Interchange File Format)之上的音訊檔案格式,常用副檔名為 `.wav`。檔案由四字元程式碼標識的塊組成:RIFF 頭宣告 WAVE 型別,`fmt ` 塊描述音訊編碼和引數,`data` 塊儲存音訊資料;其他塊可記錄廣播後設資料、取樣器資訊、標記點或附加說明。

WAVE 是容器,不是 PCM 的同義詞。

最常見的 WAVE 檔案儲存整數線性 PCM,但 `fmt ` 塊也能標識 IEEE 浮點 PCM、ADPCM、A-law、μ-law 以及透過註冊格式程式碼表示的其他編碼。WAVE_FORMAT_EXTENSIBLE 擴充套件可明確有效位數、聲道掩碼和子格式,解決普通 WAVEFORMATEX 對高位深、多聲道和複雜格式描述不足的問題。僅看到 `.wav` 副檔名,不能保證內部一定是 44.1 kHz、16-bit 或未壓縮音訊。

經典 RIFF 使用 32-bit 無符號欄位記錄塊長度,單個檔案的可表示尺寸因而接近 4 GiB 上限。廣播和製作系統為長時間、多聲道或高取樣率錄音發展出 RF64 等擴充套件,以特殊長度標記和額外資料塊儲存 64-bit 尺寸。Wave64 是另一套擴充套件結構,與 RF64 及普通 RIFF WAVE 不完全相同。

WAVE 的塊設計允許應用跳過不認識的附加塊,但軟體相容性仍取決於塊順序、對齊、編碼程式碼和擴充套件支援。廣播 WAVE(BWF)在相容 WAVE 的基礎上加入描述、時間參考、來源和響度等製作後設資料,音訊資料本身仍可採用 PCM。標籤軟體寫入的 RIFF INFO、ID3 或自定義塊並非所有播放器都會解釋。

把無損 PCM 儲存為 WAVE 通常便於編輯和交換,但檔案體積大於 FLAC、ALAC 等無失真壓縮格式。兩者在正確轉換後可包含相同取樣;容器選擇不會自動改變聲音。相反,把有損音訊解碼成 WAVE 只會得到未壓縮的解碼結果,不能把已損失的資訊變回原始錄音。