AIFF

AIFF

AIFF是音頻交換檔案格式(Audio Interchange File Format)的英文縮寫,是一種檔案格式存儲的數字音頻(波形)的數據,AIFF套用於個人電腦及其它電子音響設備以存儲音樂數據。AIFF支持ACE2、ACE8、MAC3和MAC6壓縮,支持16位44.1kHz立體聲。用iTunes播放。

基本介紹

  • 中文名音頻交換檔案格式
  • 外文名:Audio Interchange File Format
  • 英文縮寫:.aiff
  • 屬於:一種檔案格式存儲數字音頻
定 義,簡介,數據結構,計算方式,數據組織,檔案結構,主塊,聲音數據塊,採樣點數據塊,抽樣框數據塊,標記塊,

定 義

AIFF是音頻交換檔案格式(Audio Interchange File Format)的英文縮寫,是Apple公司開發的一種聲音檔案格式,被Macintosh平台及其應用程式所支持,Netscape Navigator瀏覽器中的LiveAudio也支持AIFF格式,SGI及其它專業音頻軟體包也同樣支持AIFF格式。AIFF支持ACE2、ACE8、MAC3和MAC6壓縮,支持16位44.1kHz立體聲。
AIFFAIFF
打開工具
Acitve Movie

簡介

AIFF是音頻交換檔案格式(AudioInterchangeFileFormat)的英文縮寫,AIFF是一種檔案格式存儲的數字音頻(波形)的數據。AIFF支持各種比特決議,採樣率和音頻通道。是Apple公司開發的一種聲音檔案格式,被Macintosh平台及其應用程式所支持,NetscapeNavigator瀏覽器中的LiveAudio支持AIFF格式,SGI及專業音頻軟體包都支持AIFF格式。AIFF套用於個人電腦及其它電子音響設備以存儲音樂數據。
AIFF是Apple蘋果電腦上面的標準音頻格式,屬於QuickTime技術的一部分。

數據結構

AIFF格式是一個C語言將被用來描述數據結構的檔案。AIFF的常數在十進制值的一連串的數字,例如:123,0,100都是小數。AIFF的常數在十六進制位值之前加上0x-例如:0x0a,0x1,0x64。

計算方式

typedefstruct{IDckID;/*chunkID*/
AIFFAIFF
longckSize;/*chunkSize*/
charckData[];/*data*/
}Chunk;
1、char類型:8個位元組。一個char類型可以包含的不僅僅是ASCII字元。它可以包含任意數量從128至127位
2、unsigned char類型:8個位元組,無符號。包含任何數量從零發展到255位。
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塊,一個共同的大塊和健全的數據塊組成。
AIFFAIFF
採樣點和採樣幀
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;

相關詞條

熱門詞條

聯絡我們