WAV文件格式詳解

1.概述

Waveform Audio File FormatWAVE矿卑,又或者是因?yàn)?code>WAV后綴而被大眾所知的),它采用RIFF(Resource Interchange File Format)文件格式結(jié)構(gòu)兔辅。通常用來保存PCM格式的原始音頻數(shù)據(jù),所以通常被稱為無損音頻击喂。但是嚴(yán)格意義上來講,WAV也可以存儲其它壓縮格式的音頻數(shù)據(jù)碰辅。

2.格式解析

WAV文件遵循RIFF規(guī)則懂昂,其內(nèi)容以區(qū)塊(chunk)為最小單位進(jìn)行存儲。WAV文件一般由3個(gè)區(qū)塊組成:RIFF chunk没宾、Format chunkData chunk凌彬。另外,文件中還可能包含一些可選的區(qū)塊循衰,如:Fact chunk铲敛、Cue points chunkPlaylist chunk会钝、Associated data list chunk等伐蒋。
本文將只介紹RIFF chunk工三、Format chunkData chunk

2.1 RIFF區(qū)塊

名稱 偏移地址 字節(jié)數(shù) 端序 內(nèi)容
ID 0x00 4Byte 大端 'RIFF' (0x52494646)
Size 0x04 4Byte 小端 fileSize - 8
Type 0x08 4Byte 大端 'WAVE'(0x57415645)
  • 'RIFF'為標(biāo)識
  • Size是整個(gè)文件的長度減去IDSize的長度
  • TypeWAVE表示后面需要兩個(gè)子塊:Format區(qū)塊和Data區(qū)塊

2.2 FORMAT區(qū)塊

名稱 偏移地址 字節(jié)數(shù) 端序 內(nèi)容
ID 0x00 4Byte 大端 'fmt ' (0x666D7420)
Size 0x04 4Byte 小端 16
AudioFormat 0x08 2Byte 小端 音頻格式
NumChannels 0x0A 2Byte 小端 聲道數(shù)
SampleRate 0x0C 4Byte 小端 采樣率
ByteRate 0x10 4Byte 小端 每秒數(shù)據(jù)字節(jié)數(shù)
BlockAlign 0x14 2Byte 小端 數(shù)據(jù)塊對齊
BitsPerSample 0x16 2Byte 小端 采樣位數(shù)
  • 'fmt '為標(biāo)識
  • Size表示該區(qū)塊數(shù)據(jù)的長度(不包含IDSize的長度)
  • AudioFormat表示Data區(qū)塊存儲的音頻數(shù)據(jù)的格式先鱼,PCM音頻數(shù)據(jù)的值為1
  • NumChannels表示音頻數(shù)據(jù)的聲道數(shù)俭正,1:單聲道,2:雙聲道
  • SampleRate表示音頻數(shù)據(jù)的采樣率
  • ByteRate每秒數(shù)據(jù)字節(jié)數(shù) = SampleRate * NumChannels * BitsPerSample / 8
  • BlockAlign每個(gè)采樣所需的字節(jié)數(shù) = NumChannels * BitsPerSample / 8
  • BitsPerSample每個(gè)采樣存儲的bit數(shù)焙畔,8:8bit掸读,16:16bit,32:32bit

2.3 DATA區(qū)塊

名稱 偏移地址 字節(jié)數(shù) 端序 內(nèi)容
ID 0x00 4Byte 大端 'data' (0x64617461)
Size 0x04 4Byte 小端 N
Data 0x08 NByte 小端 音頻數(shù)據(jù)
  • 'data'為標(biāo)識
  • Size表示音頻數(shù)據(jù)的長度宏多,N = ByteRate * seconds
  • Data音頻數(shù)據(jù)

3. 小端存儲

WAV文件以小端形式來進(jìn)行數(shù)據(jù)存儲儿惫。

所謂的大端模式,是指數(shù)據(jù)的低位保存在內(nèi)存的高地址中伸但,而數(shù)據(jù)的高位肾请,保存在內(nèi)存的低地址中;
所謂的小端模式砌烁,是指數(shù)據(jù)的低位保存在內(nèi)存的低地址中筐喳,而數(shù)據(jù)的高位保存在內(nèi)存的高地址中。

下面解釋一下PCM數(shù)據(jù)在WAV文件中的bit位排列方式

PCM數(shù)據(jù)類型 采樣 采樣
8Bit 單聲道 聲道0 聲道0
8Bit 雙聲道 聲道0 聲道1
16Bit 單聲道 聲道0低位函喉,聲道0高位 聲道0低位避归,聲道0高位
16Bit 雙聲道 聲道0低位,聲道0高位 聲道1低位管呵,聲道1高位
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末梳毙,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子捐下,更是在濱河造成了極大的恐慌账锹,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,997評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件坷襟,死亡現(xiàn)場離奇詭異奸柬,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)婴程,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,603評論 3 392
  • 文/潘曉璐 我一進(jìn)店門廓奕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人档叔,你說我怎么就攤上這事桌粉。” “怎么了衙四?”我有些...
    開封第一講書人閱讀 163,359評論 0 353
  • 文/不壞的土叔 我叫張陵铃肯,是天一觀的道長。 經(jīng)常有香客問我传蹈,道長押逼,這世上最難降的妖魔是什么步藕? 我笑而不...
    開封第一講書人閱讀 58,309評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮宴胧,結(jié)果婚禮上漱抓,老公的妹妹穿的比我還像新娘。我一直安慰自己恕齐,他們只是感情好乞娄,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,346評論 6 390
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著显歧,像睡著了一般仪或。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上士骤,一...
    開封第一講書人閱讀 51,258評論 1 300
  • 那天范删,我揣著相機(jī)與錄音,去河邊找鬼拷肌。 笑死到旦,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的巨缘。 我是一名探鬼主播添忘,決...
    沈念sama閱讀 40,122評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼若锁!你這毒婦竟也來了搁骑?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,970評論 0 275
  • 序言:老撾萬榮一對情侶失蹤又固,失蹤者是張志新(化名)和其女友劉穎仲器,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體仰冠,經(jīng)...
    沈念sama閱讀 45,403評論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡乏冀,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,596評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了洋只。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片辆沦。...
    茶點(diǎn)故事閱讀 39,769評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖木张,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情端三,我是刑警寧澤舷礼,帶...
    沈念sama閱讀 35,464評論 5 344
  • 正文 年R本政府宣布,位于F島的核電站郊闯,受9級特大地震影響妻献,放射性物質(zhì)發(fā)生泄漏蛛株。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,075評論 3 327
  • 文/蒙蒙 一育拨、第九天 我趴在偏房一處隱蔽的房頂上張望谨履。 院中可真熱鬧,春花似錦熬丧、人聲如沸笋粟。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,705評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽害捕。三九已至,卻和暖如春闷畸,著一層夾襖步出監(jiān)牢的瞬間尝盼,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,848評論 1 269
  • 我被黑心中介騙來泰國打工佑菩, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留盾沫,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,831評論 2 370
  • 正文 我出身青樓殿漠,卻偏偏與公主長得像赴精,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子凸舵,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,678評論 2 354

推薦閱讀更多精彩內(nèi)容