數(shù)字音頻規(guī)范與程序設(shè)計(jì)

出版時(shí)間:2012-6-1  出版社:中國水利水電出版社  作者:曹強(qiáng)  頁數(shù):458  
Tag標(biāo)簽:無  

內(nèi)容概要

  《數(shù)字音頻規(guī)范與程序設(shè)計(jì):基于Visual C++開發(fā)》是作者根據(jù)多年的工作經(jīng)驗(yàn)而總結(jié)出來的有關(guān)Windows平臺下數(shù)字音頻規(guī)范與程序設(shè)計(jì)的一手資料,由淺入深地介紹了當(dāng)今多數(shù)主流音頻相關(guān)的技術(shù)規(guī)范與編程實(shí)現(xiàn),適合于對數(shù)字音頻感興趣、準(zhǔn)備或正在從事數(shù)字音頻相關(guān)工作和開發(fā)的用戶?! ”緯卜?1章,涵蓋了Windows平臺下數(shù)字音頻相關(guān)規(guī)范與編程的許多方面,詳細(xì)介紹了Windows系統(tǒng)下高層與底層的多媒體音頻接口(API);WAVE音頻的全面解析、播放與錄音;MIDI音樂的全面解析、播放與錄制;USBMIDI驅(qū)動設(shè)計(jì);MP3的格式與編解碼;樂音的基頻檢測;音頻混音器原理與編程;低延遲ASIO音頻驅(qū)動開發(fā);普通音頻插件與VST(i)插件的設(shè)計(jì);游戲開發(fā)中經(jīng)常使用的DirectSound播放與錄制等?!  稊?shù)字音頻規(guī)范與程序設(shè)計(jì):基于Visual C++開發(fā)》最大的特色是不但針對多媒體音頻應(yīng)用程序的開發(fā)做了較全面的介紹,可以滿足大部分常規(guī)音頻編程用戶的需求,而且對音頻驅(qū)動的開發(fā)也做了較多的切入。其中一部分是作者近幾年獨(dú)自研究的成果,對于有這方面需求的讀者來說都是很寶貴的參考資料?! ”緯Y(jié)構(gòu)清晰,邏輯嚴(yán)密,內(nèi)容具體且涉及面廣泛,不但是從事多媒體(音頻)開發(fā)與應(yīng)用的廣大開發(fā)人員的技術(shù)指導(dǎo)書,同時(shí)也可作為各高等院校相關(guān)專業(yè)、非相關(guān)專業(yè)師生重要的參考讀物?! ”緯忻空露继峁┝艘粋€(gè)或多個(gè)經(jīng)典的編程實(shí)例程序,附帶在光盤中贈送,光盤中提供了所有章節(jié)中實(shí)例程序的VisualC++源代碼。

書籍目錄

推薦序一 推薦序二 前言 第1章Windows音頻體系與Visualc++開發(fā)基礎(chǔ) 導(dǎo)讀 1.1認(rèn)識聲音與音頻 1.2Windows音頻體系層次結(jié)構(gòu) 1.2.1用戶模式與內(nèi)核模式 1.2.2關(guān)于聲音的延遲問題及解決方法 1.3VisualC++開發(fā)基礎(chǔ) 1.3.1區(qū)分C、C++和VisualC++三者的關(guān)系 1.3.2事件驅(qū)動與消息處理 1.3.3開發(fā)環(huán)境概述 1.3.4MFC概述 1.3.5利用向?qū)?chuàng)建一個(gè)簡單的對話框程序 第2章MCI與MMAPI多媒體編程接口 2.1 MCI簡介 2.1.1 MCI邏輯結(jié)構(gòu) 2.1.2 MCI接口、函數(shù)與命令 2.1.3 MCI消息與宏定義 2.2 MCI編程步驟 2.3 MCI編程實(shí)例 2.3.1播放CD 2.3.2 WAVE播放與錄音 2.3.3基于MCIWnd的多媒體播放器 2.4 MMAPl簡介 2.4.1四種多媒體文件I/O 2.4.2波形音頻處理 2.4.3 MIDI的流緩沖區(qū)與非流 緩沖區(qū)處理 2.4.4多媒體定時(shí)器 第3章WAVE格式及播放與錄制 3.1認(rèn)識WAVE 3.2 WAV文件結(jié)構(gòu) 3.3采樣點(diǎn)與采樣幀的區(qū)別 3.4 WAVE中常用的一些塊 3.4.1格式塊 3.4.2數(shù)據(jù)塊 3.4.3提示塊 3.4.4播放列表塊 3.4.5關(guān)聯(lián)數(shù)據(jù)塊 3.4.6采樣塊 3.5多媒體波形音頻函數(shù) 3.6波形音頻處理的回調(diào)機(jī)制 3.7 WAVE播放 3.7.1 WAVE播放基本流程 3.7.2雙緩沖播放機(jī)制 3.7.3關(guān)于死鎖的問題 3.8 WAVE錄音 3.9編程實(shí)例 3.9.1 WAV文件解析及分離與合并 3.9.2 WAVE播放器 3.9.3 WAVE錄音機(jī) …… 第4章MIDI相關(guān)標(biāo)準(zhǔn)與程序設(shè)計(jì) 第5章數(shù)字音樂合成 第6章音頻混音器編程 第7章音頻插件設(shè)計(jì) 第8章基音的時(shí)頻域檢測 第9章ASIO音頻驅(qū)動設(shè)計(jì) 第10章MP3格式與編解碼 第11章DirectSound開發(fā)與應(yīng)用 附錄 參考文獻(xiàn)

章節(jié)摘錄

版權(quán)頁:   插圖:   (1)MIDI解碼。音源驅(qū)動根據(jù)不同的MIDI信息類型進(jìn)入對應(yīng)的處理模塊。比如MIDI發(fā)音信息,需要解析其通道、音高與力度,然后進(jìn)入聲音處理單元。對于控制信息,需要解析其控制號,然后進(jìn)入相應(yīng)的控制單元。 (2)聲音預(yù)處理。波表合成不是簡單的樣本回放,它還需要一些重要音色參數(shù)的控制,包括音高、音量、包絡(luò)處理、濾波處理等。音源驅(qū)動得到開音相關(guān)信息后,將根據(jù)當(dāng)前的音色號、音高和力度到音色庫中查找其對應(yīng)的樣本(一個(gè)或多個(gè)),找到每個(gè)樣本對應(yīng)的音色參數(shù),然后再根據(jù)這些參數(shù)進(jìn)行一定的運(yùn)算,并將部分運(yùn)算結(jié)果傳遞給DSP做進(jìn)一步處理。 (3)DSP處理。DSP根據(jù)音源驅(qū)動提供的樣本地址取出樣本數(shù)據(jù),并根據(jù)音源驅(qū)動計(jì)算出來的部分音色參數(shù)調(diào)整波形數(shù)據(jù)的回放速率和放大系數(shù)等。 (4)數(shù)模轉(zhuǎn)換。從DSP出來的數(shù)字信息就是最終的波形數(shù)據(jù),經(jīng)過數(shù)模(D/A)轉(zhuǎn)換器將數(shù)字信號轉(zhuǎn)換為模擬信號后通過揚(yáng)聲器,于是我們最終聽到了MIDl音符的發(fā)聲。 從圖5.9中可以看出,波表合成主要由如下幾個(gè)功能模塊組成:邏輯控制模塊;發(fā)音控制模塊;發(fā)音處理模塊。邏輯控制模塊主要是指音源驅(qū)動的MIDl解碼與樣本選擇(尋址)。發(fā)音控制模塊主要是指音源驅(qū)動對音色參數(shù)的解析與運(yùn)算(比如包絡(luò)運(yùn)算、LFO運(yùn)算、濾波運(yùn)算等),并將部分計(jì)算結(jié)果傳遞給DSP進(jìn)行處理。發(fā)音處理模塊主要是根據(jù)音源驅(qū)動提供的參數(shù)(如樣本存儲地址、Loop點(diǎn)信息、包絡(luò)信息等)進(jìn)行波形數(shù)據(jù)的回放,當(dāng)然,回放不是簡單的播放,回放時(shí)需要進(jìn)行回放速率的控制、去除噪聲、數(shù)字放大等處理。 與FM相比,波表(Wave Table)合成確實(shí)使電子音樂的發(fā)展取得了歷史性的進(jìn)步,雖然它的核心思想并不復(fù)雜,但通過對真實(shí)樂器的數(shù)字化錄音與回放,使MIDl音樂聽起來更接近自然、更具真實(shí)感。當(dāng)然,波表合成也有它的缺點(diǎn),雖然通過音色參數(shù)的一些調(diào)整可以使原聲發(fā)生一些變化,但相比于FM波表合成較難產(chǎn)生新的音色。 5.4.2波表合成的關(guān)鍵技術(shù) 首先我們來看兩個(gè)問題,第一個(gè)問題是,是不是每個(gè)音色都應(yīng)該像前面所舉的例子(見圖5.8)一樣,每個(gè)音高(鍵位)都需要一個(gè)對應(yīng)的采樣樣本昵?答案是否定的,因?yàn)槭褂妙l率變換技術(shù)可以用已有的樣本模擬出其相鄰音高的音。如圖5.10所示,從c2到B6共有4個(gè)八度,但只用了5個(gè)采樣樣本(a.wav為G2采樣樣本,b.wav為A3采樣樣本,c.way為G4采樣樣本,d.wav為D5采樣樣本,e.wav為E6采樣樣本),其他鍵位的音高都是根據(jù)這5個(gè)樣本變換出來的,比如C2的發(fā)音是通過a.wav變換出來的,C4的發(fā)音是通過b.wav變換出來的,86的發(fā)音是通過e.wav變換出來的。也就是說,一個(gè)或多個(gè)樣本將整個(gè)音高劃分了N個(gè)區(qū)域,每個(gè)區(qū)域內(nèi)的其他鍵位都通過該樣本變換發(fā)聲。假設(shè)當(dāng)前制作的音色為原聲鋼琴,那么只需要錄制真實(shí)鋼琴5個(gè)鍵位的樣本就可以了,所以,在波表合成器中,并不是每個(gè)音色都需要為每個(gè)音高采集樣本。事實(shí)上,很少有音色為每個(gè)鍵位都分配一個(gè)樣本,因?yàn)檫@樣的話,一個(gè)音色占用的樣本容量就太大了,當(dāng)然,整個(gè)音高區(qū)域只使用一個(gè)樣本也是不好的,因?yàn)轭l率變換也有精度的問題,關(guān)于頻率變換的相關(guān)信息請參考5 4.3節(jié)。

編輯推薦

《數(shù)字音頻規(guī)范與程序設(shè)計(jì):基于Visual C++開發(fā)》結(jié)構(gòu)清晰,邏輯嚴(yán)密,內(nèi)容具體且涉及面廣泛,不但是從事多媒體(音頻)開發(fā)與應(yīng)用的廣大開發(fā)人員的技術(shù)指導(dǎo)書,同時(shí)也可作為各高等院校相關(guān)專業(yè)、非相關(guān)專業(yè)師生重要的參考讀物。

圖書封面

圖書標(biāo)簽Tags

評論、評分、閱讀與下載


    數(shù)字音頻規(guī)范與程序設(shè)計(jì) PDF格式下載


用戶評論 (總計(jì)0條)

 
 

 

250萬本中文圖書簡介、評論、評分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號-7