我感兴趣的是为MP3制作一个OpenGL可视化工具作为一个宠物项目。
我偶然发现了这段youtube视频,视频中有人展示了与增强现实相结合的可视化工具。
http://www.youtube.com/watch?v=SnshyLJSpnc#t=1m15s
请看那个视频,但是忽略那个视频的增强现实方面。我只感兴趣的是做一个可视化,而不是增强现实。
什么样的算法被用来生成与音乐相关的模式?如果你看的话,你可以看到几种不同的可视化方法。第一种看上去很独特:
第一个看起来像是在渲染区域上移动的波浪:

另一种“模式”似乎以同心圆的形式围绕着中心移动:

任何精通音频编程的人,都可以使用什么样的算法来产生相似的视觉效果?第一个算法使用的是哪种算法?还是同心圆的那个?
任何帮助我指出那些算法是用来根据音乐生成这些可视化的,这将极大地帮助我!
发布于 2010-02-05 21:12:56
首先,所有这些似乎都是基于FFT算法(快速傅立叶变换),它可以为特定的时间切片提取声波,并将其分离成X-Y谱线图,其中X代表频谱(通常基于20 or到20 000 or),Y表示每个不同频率的声音的幅度或体积。
如果您查看第一次可视化(在视频前面的平面,无色的可视化),您将看到它朴素的形式。您会注意到,较低的音符在左侧以峰值和尖峰出现,而较高的音符出现在中间和右侧,这是经典的Fourier变换映射。(事实上,这段视频最大的缺点是,在下半部分,在介绍之后,从左到右的FFT映射是有缺陷的,这样大多数最高和最低的音符都会切断可视化的左右边缘)。
从现在开始,他只是在这个基本的技巧中添加了不同的、越来越复杂的装饰品。首先,他添加了一个非常基本的颜色映射:波形的高度直接映射到它的颜色:从红色(最低)到深蓝色/靛蓝(最高),遵循经典的ROYGBIV模式(红色、橙色、黄色、绿色、蓝色、靛蓝、紫色)。记住,高度在这个频率上也与体积相对应。据我所知,他始终使用同样的颜色映射,没有任何变化。
所有随后的装饰和变体似乎只是不同的方式来玩进步的时间映射。起初,他只是把视觉区域前面的波形映射出来,然后逐渐地将它们流走,这样他就有效地绘制了一个连续运行的三维曲面图,它的频率从左向右运行,音量(和颜色)从下到上运行,时间从前到后运行。这是你的第一张照片。
其他的一切都是越来越复杂的版本,以更复杂的方式映射时间(和时间)。举个例子,在第二个圆形图中,我认为他是在一个非常快的径向扫描图中,在中间的一个明显的极点上映射时间。
https://stackoverflow.com/questions/2210240
复制相似问题