gpt4 book ai didi

opengl - 什么样的声音处理算法可以让你做出这样的可视化?

转载 作者:行者123 更新时间:2023-12-04 13:55:37 24 4
gpt4 key购买 nike

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

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

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

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

使用什么样的算法来生成与音乐相关的模式?如果您观看,您可以看到几种不同的可视化方法。第一个有明显的外观:

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

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

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

任何帮助我指出使用什么算法来基于音乐生成这些可视化的帮助都会对我有很大帮助!

最佳答案

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

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

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

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

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

关于opengl - 什么样的声音处理算法可以让你做出这样的可视化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2210240/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com