多媒體基礎知識
多媒體信息一般指用文本、圖形、圖像、動(dòng)畫(huà)、音頻和視頻影像等形式表示的信息。多媒體計算機技術(shù)是指利用計算機交互地綜合處理相互之間有聯(lián)系的文本、圖形、圖像、動(dòng)畫(huà)、音頻、視頻等多種信息。多媒體的主要特性表現在信息載體的多樣性、交互性和集成性。
能夠處理多媒體信息的個(gè)人計算機稱(chēng)為“多媒體個(gè)人計算機”,英文簡(jiǎn)寫(xiě)是MPC。為了使計算機能夠正確處理多媒體信息,Microsoft公司聯(lián)合一些其他公司制定了多媒體個(gè)人計算機標準,該標準是以Intel處理器為基礎構成多媒體計算機的最低硬件規范。計算機多媒體涉及以下技術(shù)。
一、聲卡
聲卡(也叫音頻卡)是MPC的必要部件,它是計算機進(jìn)行聲音處理的適配器。聲卡有三個(gè)基本功能:一是音樂(lè )合成發(fā)音功能;二是混音器(Mixer)功能和數字聲音效果處理器(DSP)功能;三是模擬聲音信號的輸入和輸出功能。
音樂(lè )合成有兩種方法。一種是調頻(FM)合成法,FM合成方式是將多個(gè)頻率的簡(jiǎn)單聲音合成復合音來(lái)模擬各種樂(lè )器的聲音。FM合成方式是早期使用的方法,用這種方法產(chǎn)生的聲音音色少、音質(zhì)差。另一種是波形表(Wavetable)合成法。這種方法是先把各種真正樂(lè )器的聲音錄下來(lái),再進(jìn)行數字化處理形成波形數據,然后將各種波形數據存儲在只讀存儲器中。發(fā)音時(shí)通過(guò)查表找到所選樂(lè )器的波形數據,再經(jīng)過(guò)調制、濾波、再合成等處理形成立體聲送去發(fā)音。存儲聲音樣本的ROM容量的大小對波表合成效果影響很大。
混音器的作用是將來(lái)自音樂(lè )合成器、CD-ROM、話(huà)筒輸入(MIC)等不同來(lái)源的聲音組合在一起再輸出,混音器是每種聲音卡都有的。數字聲音效果處理器是對數字化的聲音信號進(jìn)行處理以獲得所需要的音響效果(混響、延時(shí)、合唱等),數字聲音效果處理器是高檔聲卡具備的功能。
模擬聲音輸入輸出功能 主要是A/D、D/A轉換。一般聲音信號是模擬信號,計算機不能對模擬信號進(jìn)行處理。聲音信號輸入后要將模擬信號轉換成數字信號再由計算機進(jìn)行處理。由于揚聲器只能接受模擬信號,所以聲卡輸出前要把數字信號轉換成模擬信號。
常用于表示聲卡性能的兩個(gè)參數是采樣率和模擬量轉換成數字量之后的數據位數(簡(jiǎn)稱(chēng)量化位數)。采樣率決定了頻率響應范圍,對聲音進(jìn)行采樣的三種標準以及采樣頻率分別為:語(yǔ)音效果(11 kHz)、音樂(lè )效果(22 kHz)、高保真效果(44.1 kHz),目前聲卡的最高采樣率為44.1KHz。對聲波每次采樣后存儲、記錄聲音振幅所用的位數稱(chēng)為采樣位數,16位聲卡的采樣位數就是16。量化位數決定了音樂(lè )的動(dòng)態(tài)范圍,量化位數有8位和16位兩種。8位聲卡的聲音從最低音到最高音只有256個(gè)級別,16位聲卡有65536個(gè)高低音級別。
MIDI是數字樂(lè )器接口的國際標準,它定義了電子音樂(lè )設備與計算機的通訊接口,規定了使用數字編碼來(lái)描述音樂(lè )樂(lè )譜的規范。常見(jiàn)的MIDI設備有電子琴等。計算機中以MID為擴展名的文件稱(chēng)為MIDI文件,其中存放的是對MIDI設備的命令,即每個(gè)音符的頻率、音量、通道號等指示信息。最后播出的聲音是由MIDI設備根據這些信息產(chǎn)生的。MIDI聲音可以用于配音。
MIDI與聲波形式的聲音不同,MIDI技術(shù)不是對聲波進(jìn)行編碼,而是把MIDI樂(lè )器上產(chǎn)生的每一活動(dòng)編碼記錄下來(lái)存儲在MIDI文件中,放在MIDI消息中。MIDI 傳輸的不是聲音信號, 而是音符、控制參數等指令, 它指示MIDI 設備要做什么,怎么做, 如演奏哪個(gè)音符、多大音量等。它們被統一表示成MIDI 消息(MIDI Message) .MIDI文件中的音樂(lè )可通過(guò)音頻處理卡中聲音合成器或與PC機連接的外部MIDI聲音合成器來(lái)產(chǎn)生高質(zhì)量的音樂(lè )效果。MIDI技術(shù)的優(yōu)點(diǎn)是可以節省大量的存儲空間,并可方便地配樂(lè )。
自然聲是聲波信號,錄制自然聲時(shí),需要將模擬量轉換成數字信息。采樣頻率越高,聲音就越真,但形成的數字信息就越多,占用的存儲量也越大。所以一般都需要采用壓縮技術(shù)。
聲卡處理的聲音信息在計算機中以文件的形式存儲。Windows使用的標準數字音頻文件稱(chēng)為波形文件,擴展名為WAV;擴展名為VOL的聲音文件主要用于DOS程序;擴展名為MID的文件用于存儲MIDI類(lèi)聲音信息;它比WAV文件更節省空間。聲音文件的存儲量等于采樣頻率×采樣位數×聲道數。
聲卡使用的總線(xiàn)有ISA總線(xiàn)和PCI總線(xiàn)。
聲卡工作應有相應的軟件支持,包括驅動(dòng)程序、混頻程序(mixer)和CD播放程序等。
二、CD-ROM
CD-ROM是MPC的常用外存之一。CD-ROM包括光盤(pán)和光盤(pán)驅動(dòng)器(簡(jiǎn)稱(chēng)光驅?zhuān)﹥刹糠帧?
光盤(pán)上用“平地”和“凹坑”來(lái)表示二進(jìn)制信息,通過(guò)激光的反射來(lái)讀出其中存儲的信息。光盤(pán)上無(wú)論是“平地”上還是“凹坑”內都表示數字“0”,而在凹凸變化之處才表示數字“1”。 從光盤(pán)上讀出的數字還要通過(guò)處理才能變換成為實(shí)際輸入的信息。光盤(pán)上的信息沿光道存放。光道是一條螺旋線(xiàn),從內到外存放信息。光盤(pán)的光道上分為三個(gè)區:導入區、信息區、導出區。目前常用的光盤(pán)都是單面只讀光盤(pán)。光盤(pán)的優(yōu)點(diǎn)是存儲量大,制作成本低,不怕磁和熱,壽命長(cháng)。光盤(pán)有三種類(lèi)型。一種是只讀型光盤(pán)CD-ROM,這種光盤(pán)盤(pán)片由生產(chǎn)廠(chǎng)家預先寫(xiě)入信息,用戶(hù)使用時(shí)只能讀出不能寫(xiě)入。第二種是只寫(xiě)一次型光盤(pán)WORM(Write Once ,Read Many),這種光盤(pán)可以由用戶(hù)寫(xiě)入信息,但是只能寫(xiě)一次,以后只能讀出。第三種是可擦寫(xiě)型光盤(pán),這種光盤(pán)類(lèi)似磁盤(pán),可以重復讀寫(xiě),這種光盤(pán)使用的盤(pán)片材料與前兩種不同。
光盤(pán)片的直徑一般是5.25英寸。目前一般用戶(hù)使用的光盤(pán)是CD-ROM。CD-ROM驅動(dòng)器的速度通常以數據傳輸率來(lái)衡量。數據傳輸率以150KB/S為一倍速(與音樂(lè )CD相當),目前已經(jīng)達到40倍速。
光盤(pán)上存儲信息必須標準化,目前國際上已經(jīng)有種光盤(pán)存儲信息標準,主要有用于存儲音頻信息的CD-DA(CD-Digital Audio)標準,按照該標準每張光盤(pán)可以存儲60分鐘的音樂(lè )信息;用于存儲計算機文件信息的ISO9660標準,按照該標準每張光盤(pán)的容量為650MB;根據MPEG-1壓縮技術(shù)標準制定的,用于存儲視頻信息的Video CD標準,按照該標準每張光盤(pán)可以存儲74分鐘的VCD內容;根據MPEG-2壓縮標準制定的DVD標準可錄制2小時(shí)以上的影片,容量可達4.7GB以上。
光驅是對光盤(pán)上存儲的信息進(jìn)行讀寫(xiě)操作的設備。光驅由光盤(pán)驅動(dòng)部件和光盤(pán)轉速控制電路、讀寫(xiě)光頭和讀寫(xiě)電路、聚焦控制、尋道控制、接口電路等部分組成。
光驅的接口有AT總線(xiàn)型、IDE型(包括增強IDE型)、SCSI型等。
三、視頻卡
多媒體計算機中處理活動(dòng)圖像的適配器稱(chēng)為視頻卡。視頻卡是一種統稱(chēng),視頻卡有視頻疊加卡、視頻捕獲卡、電視編碼卡、電視選臺卡、壓縮/解壓卡等。
視頻疊加卡的作用是將計算機的VGA信號與視頻信號疊加,然后把疊加后的信號在顯示器上顯示。視頻疊加卡用于對連續圖像進(jìn)行處理,產(chǎn)生特技效果。
視頻捕獲卡的作用是從視頻信號中捕獲一幅畫(huà)面,然后存儲起來(lái)供以后使用。這種卡用于從電視節目、錄相帶中提取一幅靜止畫(huà)面存儲起來(lái)供編輯或演示使用。
電視編碼卡的作用是將計算機VGA信號轉換成視頻信號。這種卡一般用于把計算機的屏幕內容送電視機或錄相設備。
電視選臺卡相當于電視機的高頻頭,起選臺的作用。電視選臺卡和視頻疊加卡配合使用就可以在計算機上觀(guān)看電視節目?,F在又將這兩種卡合二為一,稱(chēng)為電視卡。
壓縮/解壓卡用于將連續圖像的數據壓縮和解壓。
連續圖像的數據量很大,這樣的存儲容量是目前計算機所沒(méi)有的。為了解決這個(gè)問(wèn)題,人們對連續圖像的數據進(jìn)行壓縮以減少存儲量。數據壓縮就是把重復的數據去掉,圖像壓縮后便于存儲。圖像在重放時(shí)要進(jìn)行解壓以便重現圖像,解壓方法和壓縮方法相反。
圖像壓縮和解壓方法有多種。比較具有權威的壓縮/解壓技術(shù)是MPEG技術(shù)。MPEG技術(shù)又分為MPEG-I和MPEG-II兩種,這兩種技術(shù)都是國際標準。目前比較流行的是MPEG-I標準壓縮/解壓技術(shù)。一般VCD盤(pán)中的圖像都采用MPEG-I標準壓縮。
四、觸摸屏
為了操作方便,人們用觸摸屏代替鼠標或鍵盤(pán),根據手指觸摸的圖標或菜單位置來(lái)定位選擇信息輸入。觸摸屏由觸摸檢測部件和觸摸屏控制器組成;觸摸檢測部件安裝在顯示器屏幕前面,用于檢測用戶(hù)觸摸位置,接受后送觸摸屏控制器,然后把接受的信息送主機。
觸摸屏根據所用的介質(zhì)以及工作原理,可分為電阻式、電容式、紅外線(xiàn)式和聲表面波式多種。
電阻式 觸摸屏用兩層高透明的導電層組成觸摸屏,兩層之間距離僅為2.5微米。當手指按在觸摸屏上時(shí),該處兩層導電層接觸,電阻發(fā)生變化,在X和Y兩個(gè)方向上產(chǎn)生信號,然后送觸摸屏控制器。
電容式 觸摸屏把透明的金屬層涂在玻璃板上,當手指觸摸在金屬層上時(shí),電容發(fā)生變化,使得與之相連的振蕩器頻率發(fā)生變化,通過(guò)測量頻率變化可以確定觸摸位置獲得信息。
紅外線(xiàn)式 在屏幕周邊成對安裝紅外線(xiàn)發(fā)射器和紅外線(xiàn)接受器,接受器接受發(fā)射器發(fā)射的紅外線(xiàn),形成紅外線(xiàn)矩陣。當手指按在屏幕上時(shí),手指阻擋了紅外線(xiàn),這樣在X、Y兩個(gè)方向接受信息送給主機。
聲表面波式 由觸摸屏、聲波發(fā)生器、反射器和聲波接受器組成。聲波發(fā)生器發(fā)出聲波在觸摸屏表面傳遞,經(jīng)反射器傳遞給聲波接受器,聲波轉換成電信號送給主機。聲表面波式觸摸屏效果比較好,目前應用比較廣泛。
五、圖形圖像文件
圖形是指用計算機繪制工具繪制的畫(huà)面,包括直線(xiàn)、曲線(xiàn),圓/圓弧,方框等成分。圖形一般按各個(gè)成分的參數形式存儲,可以對各個(gè)成分進(jìn)行移動(dòng)、縮放、旋轉和扭曲等變換,可以在繪圖儀上將各個(gè)成分輸出。圖像是由輸入設備捕捉的實(shí)際場(chǎng)景或以數字化形式存儲的任意畫(huà)面。圖像可以用位圖或矢量圖形式存儲。
位圖 就是按圖像點(diǎn)陣形式存儲各像素的顏色編碼或灰度級;位圖適于表現含有大量細節的畫(huà)面,并可直接、快速地顯示或印出。位圖存儲量大,一般需要壓縮存儲。Windows下位圖格式擴展名為BMP。
矢量圖 用一組指令或參數來(lái)描述其中的各個(gè)成分,易于對各個(gè)成分進(jìn)行移動(dòng)、縮放、旋轉和扭曲等變換。矢量圖適于描述由多種比較規則的圖形元素構成的圖形,但輸出圖像畫(huà)面時(shí)將轉換成位圖形式。
矢量圖形文件格式有:3DS,DXF,WMF等。其中GIF格式主要用于在不同平臺上進(jìn)行圖像交換。GIF文件最大64MB,顏色數最多256色。TIF格式文件有壓縮和非壓縮兩大類(lèi)。這種格式文件是許多圖像應用軟件所支持的主要文件格式之一。BMP格式是Windows 3.X使用的圖形文件格式,圖形以位圖方式存儲。JPG格式的文件壓縮比較高,文件比較小。AVI 格式的文件將視頻信號和音頻信號混合存儲。MPG格式是運動(dòng)圖像文件常用文件格式。
圖形和圖像以文件形式存儲。圖形和圖像文件格式分兩大類(lèi):一類(lèi)是靜態(tài)圖像文件格式,一類(lèi)是動(dòng)態(tài)圖像文件格式。靜態(tài)圖像文件格式有:GIF,TIF,BMP,PCX,JPG,PCD等;動(dòng)態(tài)圖像文件格式有AVI,MPG等。
多媒體技術(shù)隨著(zhù)半導體制造技術(shù)、計算機技術(shù)、網(wǎng)絡(luò )技術(shù)、通信技術(shù)等各相關(guān)產(chǎn)業(yè)的發(fā)展,多媒體計算機技術(shù)必將給人類(lèi)帶來(lái)更新穎、更豐富、更方便的學(xué)習、工作和生活。
音頻采樣 解釋
數碼音頻系統是通過(guò)將聲波波形轉換成一連串的二進(jìn)制數據來(lái)再現原始聲音的,實(shí)現這個(gè)步驟使用的設備是模/數轉換器(A/D)它以每秒上萬(wàn)次的速率對聲波進(jìn)行采樣,每一次采樣都記錄下了原始模擬聲波在某一時(shí)刻的狀態(tài),稱(chēng)之為樣本。將一串的樣本連接起來(lái),就可以描述一段聲波了,把每一秒鐘所采樣的數目稱(chēng)為采樣頻率或采率,單位為HZ(赫茲)。采樣頻率越高所能描述的聲波頻率就越高。采樣率決定聲音頻率的范圍(相當于音調),可以用數字波形表示。以波形表示的頻率范圍通常被稱(chēng)為帶寬。要正確理解音頻采樣可以分為采樣的位數和采樣的頻率。
1.采樣的位數
采樣位數可以理解為采集卡處理聲音的解析度。這個(gè)數值越大,解析度就越高,錄制和回放的聲音就越真實(shí)。我們首先要知道:電腦中的聲音文件是用數字0和1來(lái)表示的。所以在電腦上錄音的本質(zhì)就是把模擬聲音信號轉換成數字信號。反之,在播放時(shí)則是把數字信號還原成模擬聲音信號輸出。采集卡的位是指采集卡在采集和播放聲音文件時(shí)所使用數字聲音信號的二進(jìn)制位數。采集卡的位客觀(guān)地反映了數字聲音信號對輸入聲音信號描述的準確程度。8位代表2的8次方--256,16位則代表2的16次方--64K。比較一下,一段相同的音樂(lè )信息,16位聲卡能把它分為64K個(gè)精度單位進(jìn)行處理,而8位聲卡只能處理256個(gè)精度單位,造成了較大的信號損失,最終的采樣效果自然是無(wú)法相提并論的。
如今市面上所有的主流產(chǎn)品都是16位的采集卡,而并非有些無(wú)知商家所鼓吹的64位乃至128位,他們將采集卡的復音概念與采樣位數概念混淆在了一起。如今功能最為強大的采集卡系列采用的EMU10K1芯片雖然號稱(chēng)可以達到32位,但是它只是建立在Direct Sound加速基礎上的一種多音頻流技術(shù),其本質(zhì)還是一塊16位的聲卡。應該說(shuō)16位的采樣精度對于電腦多媒體音頻而言已經(jīng)綽綽有余了。
2.音頻采樣級別(音頻采樣頻率)
數碼音頻系統是通過(guò)將聲波波形轉換成一連串的二進(jìn)制數據來(lái)再現原始聲音的,實(shí)現這個(gè)步驟使用的設備是模/數轉換器(A/D)它以每秒上萬(wàn)次的速率對聲波進(jìn)行采樣,每一次采樣都記錄下了原始模擬聲波在某一時(shí)刻的狀態(tài),稱(chēng)之為樣本。將一串的樣本連接起來(lái),就可以描述一段聲波了,把每一秒鐘所采樣的數目稱(chēng)為采樣頻率或采率,單位為HZ(赫茲)。采樣頻率越高所能描述的聲波頻率就越高。
采樣頻率是指錄音設備在一秒鐘內對聲音信號的采樣次數,采樣頻率越高聲音的還原就越真實(shí)越自然。在當今的主流采集卡上,采樣頻率一般共分為22.05KHz、44.1KHz、48KHz三個(gè)等級,22.05 KHz只能達到FM廣播的聲音品質(zhì),44.1KHz則是理論上的CD音質(zhì)界限,48KHz則更加精確一些。對于高于48KHz的采樣頻率人耳已無(wú)法辨別出來(lái)了,所以在電腦上沒(méi)有多少使用價(jià)值。
5kHz的采樣率僅能達到人們講話(huà)的聲音質(zhì)量。
11kHz的采樣率是播放小段聲音的最低標準,是CD音質(zhì)的四分之一。
22kHz采樣率的聲音可以達到CD音質(zhì)的一半,目前大多數網(wǎng)站都選用這樣的采樣率。
44kHz的采樣率是標準的CD音質(zhì),可以達到很好的聽(tīng)覺(jué)效果。
3. 位速說(shuō)明
位速是指在一個(gè)數據流中每秒鐘能通過(guò)的信息量。您可能看到過(guò)音頻文件用 “128–Kbps MP3” 或 “64–Kbps WMA” 進(jìn)行描述的情形。Kbps 表示 “每秒千字節數”,因此數值越大表示數據越多:128–Kbps MP3 音頻文件包含的數據量是 64–Kbps WMA 文件的兩倍,并占用兩倍的空間。(不過(guò)在這種情況下,這兩種文件聽(tīng)起來(lái)沒(méi)什么兩樣。原因是什么呢?有些文件格式比其他文件能夠更有效地利用數據,64–Kbps WMA 文件的音質(zhì)與 128–Kbps MP3 的音質(zhì)相同。)需要了解的重要一點(diǎn)是,位速越高,信息量越大,對這些信息進(jìn)行解碼的處理量就越大,文件需要占用的空間也就越多。
為項目選擇適當的位速取決于播放目標:如果您想把制作的 VCD 放在 DVD 播放器上播放,那么視頻必須是 1150 Kbps,音頻必須是 224 Kbps。典型的 206 MHz Pocket PC 支持的 MPEG 視頻可達到 400 Kbps—超過(guò)這個(gè)限度播放時(shí)就會(huì )出現異常。
比特率和采樣率【轉貼】 收藏
我們在轉換音頻格式時(shí)常見(jiàn)到“比特率、采樣率”這樣的專(zhuān)業(yè)術(shù)語(yǔ),它們代表什么意思呢?
數碼錄音最關(guān)鍵一步就是要把模擬信號轉換為數碼信號。就電腦而言是把模擬聲音信號錄制成為Wave文件,這個(gè)工作Windows自帶的錄音機也可以做到,但是它的功能十分有限,不能滿(mǎn)足我們的需求,所以我們用其他專(zhuān)業(yè)音頻軟件代替,如Sound Forge等。錄制出來(lái)的文件就是Wave文件,描述Wave文件主要有兩個(gè)指標,一個(gè)是采樣精度,另一個(gè)是比特率。這是數字音頻制作中十分重要的兩個(gè)概念,下面就來(lái)看一下吧。 什么是采樣精度?因為Wave是數碼信號,它是用一堆數字來(lái)描述原來(lái)的模擬信號,所以它要對原來(lái)的模擬信號進(jìn)行分析,我們知道所有的聲音都有其波形,數碼信號就是在原有的模擬信號波形上每隔一段時(shí)間進(jìn)行一次“取點(diǎn)”,賦予每一個(gè)點(diǎn)以一個(gè)數值,這就是“采樣”,然后把所有的“點(diǎn)”連起來(lái)就可以描述模擬信號了,很明顯,在一定時(shí)間內取的點(diǎn)越多,描述出來(lái)的波形就越精確,這個(gè)尺度我們就稱(chēng)為“采樣精度”。采樣率類(lèi)似于動(dòng)態(tài)影像的幀數,比如電影的采樣率是24赫茲,PAL制式的采樣率是25赫茲,NTSC制式的采樣率是30赫茲。當我們把采樣到的一個(gè)個(gè)靜止畫(huà)面再以采樣率同樣的速度回放時(shí),看到的就是連續的畫(huà)面。同樣的道理,把以44.1kHZ采樣率記錄的CD以同樣的速率播放時(shí),就能聽(tīng)到連續的聲音。我們最常用的采樣精度是44.1kHz/s。它的意思是每秒取樣44100次,之所以使用這個(gè)數值是因為經(jīng)過(guò)了反復實(shí)驗,人們發(fā)現這個(gè)采樣精度最合適,低于這個(gè)值就會(huì )有較明顯的損失,而高于這個(gè)值人的耳朵已經(jīng)很難分辨,而且增大了數字音頻所占用的空間。一般為了達到“萬(wàn)分精確”,我們還會(huì )使用48k甚至96k的采樣精度,實(shí)際上,96k采樣精度和44.1k采樣精度的區別絕對不會(huì )象44.1k和22k那樣區別如此之大,我們所使用的CD的采樣標準就是44.1k,目前44.1k還是一個(gè)最通行的標準,有些人認為96k將是未來(lái)錄音界的趨勢。顯然,采樣率越高,聽(tīng)到的聲音和看到的圖像就越連貫。當然,人的聽(tīng)覺(jué)和視覺(jué)器官能分辨的采樣率是有限的,基本上高于44.1kHZ采樣的聲音,絕大部分人已經(jīng)覺(jué)察不到其中的分別了。
比特率是指二元數字碼流的信息傳輸速率,單位是bit/s,表示每秒可傳輸多少個(gè)二元比特,是一種數字音樂(lè )壓縮效率的參考性指標,通常我們使用kbps(通俗地講就是每秒鐘1000比特)作為單位。CD中的數字音樂(lè )比特率為1411.2kbps(也就是記錄1秒鐘的CD音樂(lè ),需要1411.2×1024比特的數據)。音樂(lè )文件的比特率越高,意味著(zhù)在單位時(shí)間(1秒)內需要處理的數據量(Bit)越多,也就表明音樂(lè )文件的音質(zhì)越好。但是,比特率高時(shí)文件大小變大,會(huì )占據很多的存儲容量,MP3音樂(lè )文件最常用的bit rate是128kbps,MP3文件可以使用的比特率一般是8~320kbps。
現在你知道該如何設置音頻文件的比特率和采樣率了吧?愿你轉換出音質(zhì)極佳的樂(lè )曲!
MP3其中的VBR,ABR,CBR及相關(guān)解釋
VBR(Variable Bitrate)動(dòng)態(tài)比特率。也就是沒(méi)有固定的比特率,壓縮軟件在壓縮時(shí)根據音頻數據即時(shí)確定使用什么比特率。這是Xing發(fā)展的算法,他們將一首歌的復 雜部分用高Bitrate編碼,簡(jiǎn)單部分用低Bitrate編碼。主意雖然不錯,可惜Xing編碼器的VBR算法很差,音質(zhì)與CBR相去甚遠。幸運的是, Lame完美地優(yōu)化了VBR算法,使之成為MP3的最佳編碼模式。這是以質(zhì)量為前提兼顧文件大小的方式,推薦編碼模式。
ABR(Average Bitrate)平均比特率,是VBR的一種插值參數。Lame針對CBR不佳的文件體積比和VBR生成文件大小不定的特點(diǎn)獨創(chuàng )了這種編碼模式。ABR也 被稱(chēng)為“Safe VBR”,它是在指定的平均Bitrate內,以每50幀(30幀約1秒)為一段,低頻和不敏感頻率使用相對低的流量,高頻和大動(dòng)態(tài)表現時(shí)使用高流量。舉 例來(lái)說(shuō),當指定用192kbps ABR對一段wav文件進(jìn)行編碼時(shí),Lame會(huì )將該文件的85%用192kbps固定編碼,然后對剩余15%進(jìn)行動(dòng)態(tài)優(yōu)化:復雜部分用高于192kbps 來(lái)編碼、簡(jiǎn)單部分用低于192kbps來(lái)編碼。與192kbps CBR相比,192kbps ABR在文件大小上相差不多,音質(zhì)卻提高不少。ABR編碼在速度上是VBR編碼的2到3倍,在128-256kbps范圍內質(zhì)量要好于CBR??梢宰鰹?VBR和CBR的一種折衷選擇。
CBR(Constant Bitrate),常數比特率,指文件從頭到尾都是一種位速率。相對于VBR和ABR來(lái)講,它壓縮出來(lái)的文件體積很大,但音質(zhì)卻不會(huì )有明顯的提高。
對MP3來(lái)說(shuō)Bitrate是最重要的因素,它用來(lái)表示每秒鐘的音頻數據占用了多少個(gè)bit(bit per second,簡(jiǎn)稱(chēng)bps)。這個(gè)值越高,音質(zhì)就越好。
當音樂(lè )CD的數據被讀到電腦后,他的存儲將成為一大難題,我們可以來(lái)算一下,44100Hz采樣率16bit位率的立體聲數據數據一秒鐘有多少?44100Hz * (16 / 8)Byte * 2Channel = 176400字節,也就是0.17M,一分種就是10.5M,一般CD可以存70多分鐘的音樂(lè ),那么一張CD算下來(lái)就是700多M,對于一般百余G的硬盤(pán)空間,這還是比較難以承受的,所以很多年以前有人就提出了有損壓縮的辦法,采用了類(lèi)似于快速傅利葉變換的算法,對數據進(jìn)行處理,可以把WAVE壓縮到很小,一秒鐘100-300K,這樣就很好的解決了存儲的問(wèn)題,但這是以犧牲了一部分音質(zhì)為代價(jià)的。
混音器原理及Mixer API函數介紹
系統中每個(gè)聲卡都有一個(gè)與其相連的混音器設備。聲卡上所有的組件都由與聲卡關(guān)聯(lián)的混音器設備控制。Windows Mixer API就是用來(lái)訪(fǎng)問(wèn)聲卡的混音器設備的一組函數。Mixer API有一組函數,可以獲取聲卡上所有的組件并調整它們的參數。這是Win95/98和WinNT (4.X 及以上版本)新增的一組API,雖然加入到windows 3.1及更早的版本中也可以使用。
打開(kāi)一個(gè)混音器設備
怎樣在你的程序中選擇一個(gè)混音器設備來(lái)進(jìn)行操作?這里有很多種方法,具體要看你想做多炫、多靈活的程序了。
如果你只是想簡(jiǎn)單的打開(kāi)首選的混音器設備,那么您可以使用mixerOpen函數,并使設備ID值0,如下:
unsigned long err;
HMIXER mixerHandle; /* 打開(kāi)與默認的Audio/MIDI聲卡相連的混音器 */
err = mixerOpen(&mixerHandle, 0, 0, 0, 0);
if (err)
{
printf("ERROR: Can't open Mixer Device! -- %08X\n", err);
}
else
{
/*混音器已打開(kāi),你可以此混音器句柄mixerHandle用在其它Mixer API中*/
}
當然,如果沒(méi)有安裝混音器,上述調用將會(huì )返回一個(gè)錯誤值,因此要始終檢查那個(gè)返回值。(調
用Mixer API返回的預期錯誤值已列在頭文件MMSYSTEM.H中。不幸的是,不像其它WAVE和MIDI
那些更低級的API,這里沒(méi)有將這些錯誤值代碼轉換為描述字符串的API函數).
但是,什么是首選混音器設備?好,讓我來(lái)告訴你,那就是第一個(gè)安裝在系統中的混音器設備。
如果系統中只有一個(gè)聲卡,那么你得到的混音器設備肯定就是首選混音器設備。但是,如果你
嘗試著(zhù)去使用第二塊聲卡上的Wave Output組件,那該怎么做?你肯定不希望使用第一塊聲卡的
混音器設備去控制第二塊聲卡上的Wave Out組件的音量。(第一塊聲卡的混音器當然控制不了
第二塊聲卡的Wave Output組件了).
但是,你怎樣打開(kāi)與你想要的那塊聲卡關(guān)聯(lián)的混音器?幸運的是,mixerOpen()函數允許你傳遞
與這個(gè)聲卡關(guān)聯(lián)的其它設備的ID或句柄來(lái)打開(kāi)混音器。在這種情況下,mixerOpen()函數將會(huì )準
確無(wú)疑的返回與那個(gè)聲卡的其它設備關(guān)聯(lián)的混音器設備。以下是一個(gè)樣例程序,展示了如何通過(guò)
打開(kāi)默認的WAVE OUT設備(默認聲卡上的WAVE OUT設備)獲取混音器設備的句柄:
unsigned long err;
HMIXER mixerHandle;
WAVEFORMATEX waveFormat;
HWAVEOUT hWaveOut;
/*
打開(kāi)默認的WAVE Out設備, 指定回調函數,確保waveFormat已被正確的初始化
*/
err = waveOutOpen(&hWaveOut, WAVE_MAPPER, &waveFormat,
(DWORD)WaveOutProc, 0, CALLBACK_FUNCTION);
if(err)
{
printf("ERROR: Can't open WAVE Out Device! -- %08X\n", err);
}
else
{
/*
已打開(kāi)與WAVE OUT設備關(guān)聯(lián)的混音器.
注意我傳遞的是通過(guò)waveOutOpen()返回的句柄
*/
err = mixerOpen(&mixerHandle, hWaveOut, 0, 0, MIXER_OBJECTF_HWAVEOUT);
if(err)
{
printf("ERROR: Can't open Mixer Device! -- %08X\n", err);
}
}
上述代碼的關(guān)鍵不僅僅是傳遞waveOutOpen()(或者waveInOpen(), 或者midiOutOpen(),
或者midiInOpen())返回的句柄,同樣要注意的是mixerOpen()的最后一個(gè)參數必須是
MIXER_OBJECTF_HWAVEOUT (或者M(jìn)IXER_OBJECTF_HWAVEIN,或者M(jìn)IXER_OBJECTF_HMIDIOUT,
或者M(jìn)IXER_OBJECTF_HMIDIIN),用于指明傳遞的是哪一類(lèi)設備句柄。
如果你知道你想要打開(kāi)的WAVE OUT設備的ID(但是還未通過(guò)waveOutOpen()獲取它的句柄),
你可以傳遞這個(gè)ID并在mixerOpen的最后一個(gè)參數中指定MIXER_OBJECTF_WAVEOUT。
mixerOpen()將會(huì )找到與這個(gè)ID關(guān)聯(lián)的混音器。 你可以通過(guò)混音器的句柄獲取它的ID,
按如下方式使用mixerGetID():
unsigned long mixerID;
err = mixerGetID(mixerHandle, &mixerID, MIXER_OBJECTF_HMIXER);
if(err)
{
printf("ERROR: Can't get Mixer Device ID! -- %08X\n", err);
}
else
{
printf("Mixer Device ID = %d\n", mixerID);
}
2。列舉所有的混音器設備
如果你想寫(xiě)一個(gè)能列舉系統中所有混音器的程序,windows有一個(gè)函數可以確定列表中有多少個(gè)混音器,這個(gè)函數就是mixerGetNumDevs()。它返回系統中混音器的個(gè)數。切記設備ID是從0開(kāi)始并以1遞增。因此,如果windows顯示列表中有3個(gè)混音器,那么你就應該知道它們的ID分別是0、1、2。然后你可以將這些ID用于其他windows函數中。例如,這里有一個(gè)函數可以用來(lái)獲取列表中的設備信息,包括它的名稱(chēng)和其它特征——比如它包含多少個(gè)組件及每個(gè)組件的類(lèi)型,等等。你可以傳遞你想獲取信息的混音器設備ID(和一個(gè)指向類(lèi)型為MIXERCAPS的結構體的指針,windows將設備信息填入此結構體),然后調用獲取混音器設備信息的函數mixerGetDevCaps()。
3.使用mixerGetDevCaps()函數獲取一個(gè)打開(kāi)的混音器設備的能力特征,它的第一個(gè)參數為uMxId(Identifier or handle of an open mixer device),是一個(gè)打開(kāi)的混音器設備的ID號。第二個(gè)參數是一個(gè)傳出參數,將返回一個(gè)MIXERCAPS的結構。此結構中包含有此混音器設備的信息,其中有用的是cDestinations成員(member)(The number of audio line destinations available through the mixer device)它表示此混音器設備的audio line目標的數量。Realtec AC97 Audio有兩個(gè)audio line目標(audio line destination),一個(gè)audio line目標為“音量控制”,另一個(gè)audio line目標為“錄音控制”。
MIXERCAPS mixercaps;
mixerGetDevCaps(id,&mixercaps,sizeof(MIXERCAPS));
如果打開(kāi)的混音器設備是Realtec AC97 Audio,可以看到mixercaps.cDestinations將等于2.
4.混音器包含許多音頻線(xiàn)路(mixer line)。
音頻線(xiàn)路(mixer line),一條音頻線(xiàn)路可能是目的線(xiàn)路(destination line),也可能是源線(xiàn)路(source line),一條目的線(xiàn)路可能和一或多條源線(xiàn)路綁定(attach)在一起,一條目的線(xiàn)路可以對應多條源線(xiàn)路。
每一條音頻線(xiàn)路都由控制(control)來(lái)進(jìn)行設置,程序通過(guò)配置他的參數來(lái)實(shí)現對線(xiàn)路的控制。
目的線(xiàn)路的控制:音量、靜音、低音、顫抖等,都是輸出的設置。
源線(xiàn)路的控制:線(xiàn)路輸入、合成器、CD音頻等。
MIXERLINE包含了由一條音頻線(xiàn)路的信息, 可能是destinaton line,也可能是source line 。信息要么是一條源線(xiàn)路,要么是一條目的線(xiàn)路,從數據成員的命名也能分開(kāi)出來(lái)。
typedef struct {
DWORD cbStruct; //結構大小
DWORD dwDestination; //目的線(xiàn)路索引
DWORD dwSource; //源線(xiàn)路索引
/P>
DWORD dwLineID; //這條線(xiàn)路的ID
DWORD fdwLine;
DWORD dwUser;
DWORD dwComponentType; //組件類(lèi)型,兩種線(xiàn)路又分為若干個(gè)類(lèi)型
DWORD cChannels; //聲道數
DWORD cConnections; //源線(xiàn)路所連接的目的線(xiàn)路數目
DWORD cControls; //線(xiàn)路所綁定的相應控制數目
CHAR szShortName[MIXER_SHORT_NAME_CHARS];
CHAR szName[MIXER_LONG_NAME_CHARS];
struct {
DWORD dwType;
DWORD dwDeviceID;
WORD wMid;
WORD wPid;
MMVERSION vDriverVersion;
CHAR szPname[MAXPNAMELEN];
} Target;
} MIXERLINE;具體細節參考Windows混音器API使用和混音器原理及Mixer API函數介紹這兩個(gè)帖子
具體