AIFF
AIFF
AIFF是音頻交換文件格式(Audio Interchange File Format)的英文縮寫,是一種文件格式存儲的數字音頻(波形)的數據,AIFF應用於個人電腦及其它電子音響設備以存儲音樂數據。AIFF支持ACE2、ACE8、MAC3和MAC6壓縮,支持16位44.1kHz立體聲。用iTunes播放。
AIFF
打開工具
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。
AIFF
longckSize;
charckData[];
}Chunk;
2、unsigned char類型:8個位元組,無符號。包含任何數量從零發展到255位。
3、短型:16個位元組,包含任何數目從32768到32767位。
4、長型:32個位元組,包含任何數目從2147483648到2147483647位。
5、ID:32位的串連四個列印ASCII字元,不能先印刷字元,不允許尾隨空格,禁止控制字元。
6、OS類型:32位。串連四個字元。
AIFF文件所有數據都存儲在endian的格式,位元組多位元組值是儲存與高階(即最重要的)第一個位元組。
AIFF
採樣點和採樣幀
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 通信
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'
typedefstruct{
IDckID;
longckSize;
shortnumChannels;
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'
typedefstruct{
IDckID;
longckSize;
unsignedshortnumMarkers;
MarkerMarkers[];
}MarkerChunk;