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