孔德劍 孫丹鵬
摘要:一般音頻播放器采用可視化插件效果來(lái)渲染聲音的旋律美感,以達(dá)到最佳的視頻效果,強(qiáng)調(diào)人們對(duì)聲音的理解。該文應(yīng)用flash提供的SoundMixer類對(duì)聲音進(jìn)行頻譜可視化分析研究,實(shí)驗(yàn)證明不管是波形描述或者頻譜描述,只要獲取了聲音的原始數(shù)值,就可以發(fā)揮編程與藝術(shù)的結(jié)合,實(shí)現(xiàn)對(duì)聲音的播放效果做各種動(dòng)態(tài)的可視化表達(dá)。
關(guān)鍵詞:聲音;可視化;Flash編程
中圖分類號(hào):TP391文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2012)18-4512-03
Analysis Based on the Sound Visualization in Flash Playback
KONG De-jian, SUN Dan-peng
(Qujin Normal University, Qujin 655011, China)
Abstract: General audio player visualization plug-in effects to render the beauty of the sound of the melody in order to achieve the best video effects, and emphasized that people of sound understanding. In this paper, flash SoundMixer class analysis of the sound spectrum visu? alization, experiments show that regardless of the waveform description or spectrum description, you can play a combination of program? ming and art, as long as access to the original value of the sound, the sound playback do a variety of dynamic visual expression.
Key words: sound; visualization; Flash program
對(duì)聲音的描述可以基于物理特征或心理特征來(lái)進(jìn)行描述。物理特征描述如頻率、幅度、相位等,心理特征方面描述有音調(diào)、響度、音色等。用這些量綱特性語(yǔ)言來(lái)描述聲音缺乏形象與直觀性,更難以體現(xiàn)人們對(duì)音樂旋律的感受。對(duì)只能主觀感受的聲音進(jìn)行可視化表達(dá),可以增強(qiáng)人們對(duì)聲音的理解,增強(qiáng)聲音信息的表達(dá)力效果。
圖2FFTMode為false圖3FFTMode為true
當(dāng)把FFTMode的值改為true時(shí),其結(jié)果如圖3所示;
默認(rèn)情況下FFTMode的值為false,采用波形描述,readFloat()方法讀取的outputArray值為介于-1和+1之間的浮點(diǎn)數(shù),這些值表示所播放的聲音波形中點(diǎn)的波幅;當(dāng)FFTMode的值為true時(shí),使用頻譜形式描述,readFloat方法讀取的outputArray值為0和約1.414之間的浮點(diǎn)數(shù)。
2.2波形可視化效果表達(dá)
從上面的分析來(lái)看,F(xiàn)FTMode:Boolean (default = false),采用波形描述,聲音數(shù)據(jù)是作為ByteArray對(duì)象(包含512個(gè)4字節(jié)數(shù)組)返回的。前256個(gè)浮點(diǎn)數(shù)描述左聲道的波形,后256個(gè)浮點(diǎn)數(shù)描述右聲道的波形。
//獲取當(dāng)前聲音頻譜信息
SoundMixer.computeSpectrum(ba, false, 0);
graphics.lineStyle(1, 0x0000FF, 100); //繪制聲波曲線
for (var i = 30; i <= stage.stageWidth - 30; i++) {
num = ba.readFloat() * 360; //以浮點(diǎn)形式讀出當(dāng)前聲音頻譜信息
圖4波形效果
2.3頻譜可視化效果表達(dá)
當(dāng)把FFTMode設(shè)置為true時(shí),使用快速傅立葉變換(FFT)將波形數(shù)據(jù)轉(zhuǎn)換為頻譜數(shù)據(jù),在頻譜中,左側(cè)表示的是低頻,右側(cè)表示的是高頻。圖5頻譜圖示效果
stretchFactor:int (default = 0),聲音采樣的分辨率。stretchFactor值默認(rèn)設(shè)置為0,表示按44.1KHz對(duì)數(shù)據(jù)進(jìn)行采樣;如果值為1,則按22.05KHz對(duì)數(shù)據(jù)進(jìn)行采樣;如果值為2,則按11.025KHz對(duì)數(shù)據(jù)進(jìn)行采樣;依此類推。采樣率影響波形的平滑度。
從上面的分析來(lái)看,不管是波形描述或者頻譜描述,只要獲取了聲音的原始數(shù)值,就可以發(fā)揮編程與藝術(shù)的結(jié)合,實(shí)現(xiàn)對(duì)聲音的播放效果做各種動(dòng)態(tài)的可視化表達(dá)。這種可視化表達(dá)不盡有利于增強(qiáng)聲音播放的視聽效果,同時(shí)也能可視化的體現(xiàn)聲音的旋律感,增強(qiáng)人們對(duì)于聲音變化的感受。
[1]周寧,張李義.信息資源可視化模型方法[M].北京:科學(xué)出版社,2008.
[2] Adobe公司. Adobe Flash CS5中文版經(jīng)典教程[M].陳宗斌,譯.北京:人民郵電出版社,2010.
[3] Adobe公司. Adobe Flash CS4 ActionScript 3.0中文版經(jīng)典教程[M].井中月,譯.北京:人民郵電出版社,2010.
[4] Adobe Flash Platform[EB/OL].http://help.adobe.com/zh_CN/air/html/dev/index.html.