飞线设计声音可视化 Processing p5js
项目概述
这个项目是一个基于音频的创意可视化应用程序。它利用音频文件中的左右声道数据来绘制动态图形,并结合了一些图像和粒子效果,创造出一个独特的视觉体验。以下是项目的主要组件和功能。
主要组件
1. 音频处理
使用ddf.minim库进行音频处理。
初始化Minim库,加载音频文件,并获取音频元数据。
创建音频播放器和元数据对象。
2. 图形和图像处理
使用Processing库进行图形处理。
创建画布,并设置帧率。
加载并显示图像,调整大小并进行阈值过滤。
创建一个具有随机特性的代理类Agent,用于绘制动态线条。
3. 动态线条绘制
使用Agent类创建一个包含多个代理的数组,每个代理代表一条动态线条。
通过更新代理的位置,角度和能量来模拟线条的运动和变化。
根据图像的亮度,在黑色区域绘制彩色线条,而在白色区域绘制黑色线条。
4. 声道数据可视化
利用左右声道的音频数据绘制动态线条。
根据声道数据的大小调整线条的长度和颜色。
随着音频播放的进度,旋转图像以增加视觉效果。
5. 用户交互
支持鼠标点击事件,用于暂停或恢复绘制。
支持键盘事件,按空格键保存当前画面,按回车键清空画布。