【问题标题】:What kind of sound processing algorithm allows you to make visualizations like this?什么样的声音处理算法可以让你做出这样的可视化?
【发布时间】:2011-01-13 16:37:12
【问题描述】:

我有兴趣为 MP3 制作一个 OpenGL 可视化器作为一个宠物项目。

我偶然发现了这个 youtube 视频,该视频展示了有人展示了与增强现实结合使用的可视化工具。

http://www.youtube.com/watch?v=SnshyLJSpnc#t=1m15s

请观看该视频,但忽略该视频的增强现实方面。我只对制作 Visualizer 感兴趣,而不是增强现实。

使用了哪些算法来生成与音乐相关的模式?如果您观看,您可以看到几种不同的可视化方法。第一个具有独特的外观:

第一个看起来像波浪在渲染区域上移动:

另一种“模式”似乎使可视化围绕同心圆的中心移动:

任何精通音频编程的人,可以使用哪些算法来生成外观相似的可视化?第一个使用了什么样的算法?还是同心圆的那个?

任何帮助指出我使用了哪些算法来根据音乐生成这些可视化效果都会对我有很大帮助!

【问题讨论】:

    标签: opengl audio visualization audio-processing


    【解决方案1】:

    首先,这些似乎都是基于 FFT 算法(快速傅立叶变换),它可以将特定时间片的声波分离成 XY 频谱线图,其中 X 表示频谱(通常基于对数从 20hz 到 20,000hz),Y 表示每个不同频率的声音的幅度或音量。

    如果您查看最初的可视化(视频前面的扁平、无色的可视化),您会看到它的朴素形式。您会注意到,较低的音符在左侧显示为峰值和尖峰,而较高的音符出现在中间和右侧,这是经典的傅立叶变换映射。 (其实这个视频最大的毛病就是后半段,介绍完之后,从左到右的FFT映射有缺陷,以至于大部分的最高和最低音符都被截断了左右边缘可视化)。

    从这里开始,他只是在这个基本技巧中添加不同且逐渐复杂的装饰。首先他添加了一个非常基本颜色映射:波形的高度直接映射到它的颜色:从红色(最低)到深蓝色/靛蓝(最高),遵循经典的 ROYGBIV 模式(红色、橙色、黄色、绿色、蓝色、靛蓝色、紫色)。请记住,高度也对应于该频率下的体积。据我所知,他始终使用相同的颜色映射,没有任何变化。

    所有后续的装饰和变化似乎只是使用渐进式时间映射的不同方式。最初,他只是将波形映射在可视区域的前面,然后逐渐将它们流走,这样他就可以有效地制作一个连续运行的 3d 曲面图,频率从左到右,音量(和颜色)从下到上和时间从前到后运行。这就是你在第一张照片中的样子。

    其他一切都只是这个越来越复杂的版本,以更复杂的方式映射时间(和仅时间)。例如,在你展示的第二个圆形中,我相信他在中间明显的极点周围以非常快的径向扫描模式映射时间。

    【讨论】:

      猜你喜欢
      • 2018-09-02
      • 2011-07-20
      • 2012-04-08
      • 1970-01-01
      • 1970-01-01
      • 2011-09-16
      • 2012-02-19
      • 2017-11-30
      • 1970-01-01
      相关资源
      最近更新 更多