我正在寫一個程序來讀取和處理數字信號處理類項目的WAV文件,我有兩個測試文件。我可以正確閱讀RIFF
,fmt
和data
塊。兩個文件都有fmt Chunk Size: 16
,但文件B在fmt
和data
塊之間有這個十六進制的塊。WAV文件的其他子塊是什麼?
我確定它不是隨機數據。我推測它有一些關於該文件的元數據,所以我將其歌曲標題Colors
轉換爲十六進制,並發現43 6f 6c 6f 72 73
在該流浪塊內。我覺得這不是巧合。我訪問過的所有網站都只提到了一個2字節變量,它告訴fmt
塊末尾的額外參數的大小。如果兩個fmt
塊聲稱只有16 bytes
,則對於文件B來說不是這種情況。
我在猜測文件B中還有其他塊。我還沒有發現任何有關這些可選(?)塊的信息。我需要幫助來了解我可以在wav文件中查找哪些其他子塊。我根本不知道其他塊的標籤可以存在於一個WAV文件
文件(「我跑到目前爲止away.wav」)包含此頭。我從互聯網上下載了這個文件。
5249 4646 24c0 c900 5741 5645 666d 7420
1000 0000 0100 0100 2256 0000 44ac 0000
0200 1000 6461 7461 00c0 c900
文件B(「Colors.wav」)包含此標頭。這是我從.mp3下載到.wav轉換器的文件。
5249 4646 7c32 4a02 5741 5645 666d 7420
1000 0000 0100 0200 44ac 0000 10b1 0200
0400 1000 4c49 5354 5000 0000 494e 464f
4941 5254 0500 0000 466c 6f77 0000 494e
414d 0700 0000 436f 6c6f 7273 0000 4950
5244 0f00 0000 436f 6465 2047 6561 7373
204f 5031 0000 4953 4654 0e00 0000 4c61
7666 3537 2e32 362e 3130 3000 6461 7461
0032 4a02
如果它是有幫助的,下面是我寫的程序輸出。
File A
File Descriptor: RIFF
RIFF Chunk Size: 13221924
File Format: WAVE
fmt Chunk Descriptor: fmt
fmt Chunk Size: 16
Audio Format: 1
Number of Channels: 1
Sampling Rate: 22050
Byte Rate: 44100
Block Align: 2
Bits Per Sample: 16
Data Chunk Descriptor: data
Data Chunk Size: 13221888
File B
File Descriptor: RIFF
RIFF Chunk Size: 38417020
File Format: WAVE
fmt Chunk Descriptor: fmt
fmt Chunk Size: 16
Audio Format: 1
Number of Channels: 2
Sampling Rate: 44100
Byte Rate: 176400
Block Align: 4
Bits Per Sample: 16
Data Chunk Descriptor: data
Data Chunk Size: 38416896
我試着將hex轉換爲ascii,並發現這個'LIST P'塊。無論如何,你是否知道這意味着什麼,或者像「INFO」塊一樣可以忽略不計? – Nogurenn