基于Flash的声音可视化播放效果分析研究
详细内容
对声音的描述可以基于物理特征或心理特征来进行描述。物理特征描述如频率、幅度、相位等,心理特征方面描述有音调、响度、音色等。用这些量纲特性语言来描述声音缺乏形象与直观性,更难以体现人们对音乐旋律的感受。对只能主观感受的声音进行可视化表达,可以增强人们对声音的理解,增强声音信息的表达力效果。声音可视化的基本方法[1]决定一个声音的因素有三个:频率、响度和音色,人耳对于声音的识别是基于频率的,因此对于声音频谱的可视化有助于人们对声音的理解。如Windows Media Player音频播放器中的可视化插件,在选择了一种可视化插件效果后,就可以在聆听美妙的声音的同时欣赏绚丽的图像。声音可视化方法是将声音看作是一种信号进行处理,反映的是信号的声学特征;音频播放器中的可视化插件大多按照从音频文件中提取的频率和响度特征生成可视化显示。
如果只显示动态波形,只需处理好解码线程和可视化线程之间的缓冲的同步。而实现频谱的显示,则还要将解码线程送来的数据先进行快速傅里叶变换FFT,然后再将动态声音数据抽样传递给视觉效果插件。Flash支持MP3、WAV和AIFF文件。可以把多种类型的声音文件导入到Flash中应用。而mp3格式的声音文件,其结构是明确定义的,MP3文件经过不完全的解码过程,可得到频谱特征。将频谱信息存储在频谱数据库中,用以获得当前帧频率后,就可以通过傅里叶变换,来得到频率值,就可以运用算法与图示来实现需要的频谱显示,形成音频频谱的可视化。MP3声音频谱可视化过程如图1所示。图1声音可视化过程2 Flash中可视化表达应用Flash AS3中提供了一个SoundMixer类,其SoundMixer.puteSpectrum()方法可将当前播放声音的波形数据进行一次快照,所得的数据存入ByteArray类型的二进制数组中。因此只要建立一个字节数组,然后不断的通过该方法得到声音快照,然后通过设计图形算法运算,就能形象的描绘出一个不断动态变换的音乐动态播放效果。