定 義
AIFF是
音頻交換檔案格式(Audio Interchange File Format)的英文縮寫,是Apple公司開發的一種聲音檔案格式,被Macintosh平台及其應用程式所支持,Netscape Navigator瀏覽器中的LiveAudio也支持AIFF格式,SGI及其它專業音頻軟體包也同樣支持AIFF格式。AIFF支持ACE2、ACE8、MAC3和MAC6壓縮,支持16位44.1kHz立體聲。
打開工具
Acitve Movie
簡介
AIFF是
音頻交換檔案格式(AudioInterchangeFileFormat)的英文縮寫,AIFF是一種檔案格式存儲的
數字音頻(波形)的數據。AIFF支持各種比特決議,採樣率和音頻通道。是
Apple公司開發的一種聲音檔案格式,被
Macintosh平台及其應用程式所支持,NetscapeNavigator瀏覽器中的LiveAudio支持AIFF格式,SGI及專業音頻軟體包都支持AIFF格式。AIFF套用於個人電腦及其它電子音響設備以存儲音樂數據。
數據結構
AIFF格式是一個
C語言將被用來描述數據結構的檔案。AIFF的常數在
十進制值的一連串的數字,例如:123,0,100都是小數。AIFF的常數在
十六進制位值之前加上0x-例如:0x0a,0x1,0x64。
計算方式
typedefstruct{IDckID;/*chunkID*/
longckSize;/*chunkSize*/
}Chunk;
1、char類型:8個
位元組。一個char類型可以包含的不僅僅是
ASCII字元。它可以包含任意數量從128至127位
3、短型:16個位元組,包含任何數目從32768到32767位。
4、長型:32個位元組,包含任何數目從2147483648到2147483647位。
5、
ID:32位的串連四個列印ASCII字元,不能先印刷字元,不允許尾隨空格,禁止
控制字元。
6、OS類型:32位。串連四個字元。
數據組織
AIFF檔案所有數據都存儲在
endian的格式,
位元組多位元組值是儲存與高階(即最重要的)第一個位元組。
檔案結構
AIFF檔案一個收集了不同類型的塊的格式,當中有一個需要共同大塊其中包含重要的參數描述的
聲波,如:AIFF檔案的長度和
採樣率。AIFF檔案聲音
數據塊,其中包含的實際波形數據,如果波形數據長度大於0(即實際上是波形數據的形式)。在其他可選塊都是界定標誌,列出儀器參數,存儲應用程式特定的信息。所有申請使用形式AIFF格式必須能夠讀取所需的2塊,並可以選擇有選擇地忽略可選塊。沒有任何限制的命令塊內的一種形式AIFF格式。最小的AIFF格式的檔案,由一個單一的形式AIFF格式含有所需的2塊,一個共同的大塊和健全的數據塊組成。
採樣點和採樣幀
AIFF
採樣點和採樣幀樣本點的相當於樣品一個健全的某一時刻。每個樣本點都被保存為一個線性,2's補值可從1到32位全(所確定的samplesize領域中的共同塊)。如:每個樣本點的一個8位的波形將是一個8位
位元組。因為大多數
CPU的讀寫作業處理的8位位元組,這是決定一個樣本點應該是四捨五入的大小這是一個多8時,存儲在AIFF格式。這使得AIFF格式更容易閱讀到記憶體中。
如果AIFF檔案的
ADC產生一個採樣點從1到8位全,一個採樣點應存放在一個AIFF格式作為一個8位位元組。如果AIFF檔案的ADC產生一個採樣點從9至16位寬,一個採樣點應存放在一個AIFF格式作為一個16位
位元組。如果AIFF檔案的ADC產生一個採樣點從17日至24位元寬,抽樣點應存放在一個AIFF格式三個位元組。如果AIFF檔案的ADC產生一個採樣點從25到32位全,一個採樣點應存放在一個AIFF格式為32位。
此外,
數據位應該是
左對齊,與任何剩餘位清零。如:在12位的採樣點下必須被保存為一個16位字。這些12位應該是左對齊,並位0至3應設定為0。
為多聲道的聲音(例如,一個立體聲波形),單從採樣點的每個通道交錯。假定一個立體聲(即第2
通道)波形。不是儲存的所有採樣點的左聲道,然後儲存的所有採樣點的右聲道未來,“組合”的兩個頻道採樣點在一起。要將存儲第一個樣本點的左聲道,儲存第二採樣點在左側通道。
主塊
AIFF的主塊描述基本參數的波形數據,如採樣率,位解析度,以及如何多渠道的數字音頻存儲的形式AIFF格式。
定義commonid 通信/*chunkid 共同大塊*/
typedef結構(
chunkid;
chunksize;
numchannels;
numsampleframes;
samplesize;
samplerate;
)commonchunk;
在chunksize領域的
位元組數的大塊。這還不包括8個位元組使用的ID和大小領域。為了共同的大塊,chunksize始終1長度18因為沒有領域的可變長度(但保持
兼容性與未來可能的
擴展,如果chunksize是18,這些額外的位元組作為墊位元組)。numchannels包含一些
音頻通道的聲音。值為1意味著單聲道聲音,2指
立體聲,4是指四個聲道等等任何數目的音頻通道均可作為代表參加。為多聲道的聲音,單一樣本點從每個通道都交錯。實際波形數據存儲在另一大塊,聲音數據塊。numsampleframes包含一些示例框架。這不一定是相同的
位元組數,也沒有一些採樣點的聲音數據塊(除非處理一個單一的波形)。在samplesize是位數在每個樣本點,可以是任何數目從1到32。samplerate在採樣率上的聲音是要發揮在樣本幀每秒。
聲音數據塊
計算方式
#defineCommonID'COMM'/*ckIDforCommonChunk*/
typedefstruct{
IDckID;
longckSize;
shortnumChannels;
unsignedlongnumSampleFrames;
shortsampleSize;
extendedsampleRate;
}CommonChunk;
採樣點數據塊
每個樣本點的抽樣框是一種線性,2的補充價值。樣本點是從1到32位元寬,所確定的sampleSize參數共同塊。樣本點都儲存在一個不可分割的連續
位元組。之一8位全樣本點都存儲在一個位元組,9至16位寬度的樣本點都儲存在兩個位元組,17至24位寬度的樣本點都儲存在第3位元組,和25至32位的全樣本保存在4位元組。當寬度的採樣點小於多種8位,樣本點數據是離開的理由,其餘位清零。一個例子說明了情況如下。一個由12位採樣點,儲存離開兩個位元組。其餘位設定為0。
抽樣框數據塊
樣本幀存儲contiguously為了增加時間。樣本點的抽樣框包裝在一起,不存在未使用的
位元組之間。同樣,抽樣框包裝在一起,沒有墊位元組。
標記塊
標記塊包含標記,職位的聲音數據。標記可用於何種用途的數據申請。
計算方式:
typedefstruct{
MarkerIdid;
unsignedlongposition;
pstringmarkerName;
}Marker;
ID是唯一識別的標記內表格AIFF格式。的ID可以是任何積極的非零整數,只要沒有其他標記在同一個表格AIFF格式具有相同的編號。
標記塊格式如下所示:
#defineMarkerID'MARK'/*ckIDforMarkerChunk*/
typedefstruct{
IDckID;
longckSize;
unsignedshortnumMarkers;
MarkerMarkers[];
}MarkerChunk;