用RGB led制作一个音乐可视化器
Making a music visualizer out of RGB LEDs
我家里安装了一些led灯,我想让它们随着音乐跳舞。
我的设置:- 10个RGB LED条(因此30通道)由PWM(48步)控制,通过USB连接到PC。
- LED灯条物理位置分为4组
- 硬件由Node.js控制。
- 音乐在不同的机器上播放。
- Traktor提供MIDI数据输出与主节奏和水平。
- 我将MIDI数据通过UDP转发到Node服务器。
我已经写了一个库来抽象控制led,所以在Node中,我可以调用:
channel[n].set(intensity, r, g, b);
…它处理优化通过USB总线发送的数据。
在我的Node服务器上,我有音乐节奏和关卡数据传入,并希望将其转换为灯光秀。Node大约每60毫秒获取一次当前音频电平。数据看起来是这样的(歌曲中间的20秒样本,点击查看大图):
http://josh3736.net/images/ledviz.gifMIDI数据的输出范围为0..127。在这种情况下,42的节奏值对应于128的BPM。
这个问题有多个部分可以解决:
- 最重要的是,使用这些数据来控制led的最佳方法是什么?
- 理想情况下,输入数据应该影响颜色之间的动画/过渡;然而,在重击时,突然的变化/频闪可能也很好。
- 是否有其他MIDI数据从Traktor我应该发送到节点?
- 我如何让4个物理组中的每一个都偏向于相同的颜色?
相关链接:
- 如何同步JavaScript动画与歌曲的节奏,而不建立一个"音频可视化"?
- HTML 5 Beats,特别是this和this。
我做LED动画和可视化的首要建议是在HSV色彩空间中工作。这样你就可以独立控制调色板和强度:https://www.npmjs.com/package/color-system
用HSV颜色编码你的动画,然后当你准备好将它们发送到驱动器时将每个像素转换为RGB。
所以你可以,例如,连接你的响度(V)强度,和节奏的色调(即彩虹的哪一部分)(H)。你可以使用正弦波来调制这些,并做出不同的模式。
你可以从这里得到一些想法-这些模式看起来很复杂,但它们是简单的正弦波模式与音乐的强度和频率调制:https://www.instagram.com/stvito_performance_group/
- 当出现新的数据样本时,将整个图像向左或向右滚动
- 以Traktor报告的速度闪烁led。
你能得到关卡后过滤的MIDI报告吗?我想,你可以用不同的频带来表示不同的原色。
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- jQuery:循环一个具有不同超时值的循环
- 当包含另一个asp文件时,是否也包含所有引用的样式和脚本页面
- 从javascript创建一个列表
- 节点导出返回一个空对象
- 使用clickToggle并在单击另一个元素时关闭元素
- 我可以在json对象中添加一个函数吗
- 使用javascript将动态表从一个html页面打印到另一个html页
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- 表追加而不附加最后一个元素
- 我如何找到一个句子中的所有空格并替换忽略它们
- D3在一个调用中绘制不同的SVG形状,没有可见性
- 如何在android中使用phonegap将文件从一个文件夹移动/复制到另一个文件夹
- 创建一个自定义音乐播放器UI-轨迹栏
- 用RGB led制作一个音乐可视化器
- 创建HTML下拉列表的音乐,可以在一个音频播放器内播放
- (Javascript)我如何做一个静音按钮静音我的背景音乐点击
- 制作一个包含多个音乐播放列表选项的数组
- 如何实现一个流畅的音乐过渡与javascript
- 降低音乐,而另一个轨道播放,并返回到之前的音量