利用Novation Launchpad MK2上的24位RGB LED轻松制作MIDI消息
launchpad-rgb的Python项目详细描述
启动板rgb
Novation的Launchpad MK2有80个24位RGB LED,但普通的MIDI消息协议只允许127种颜色。
如何获得63*63*63颜色的最大功率?当然是系统独家消息!
MIDI系统独占消息是特定设备类型的独占消息。这样做的目的是让设备制造商能够在保持带内状态的同时实现midi规范之外的特性。
太棒了!现在怎么办?
系统独占消息比普通消息更复杂。它们需要一个包含设备id(指定消息的目的)的头,以及两个子id(指定要调用的功能)。
此库是创建系统独占消息的一种方便方式,该消息可以访问启动板mk2上可用的完整24位rgb颜色。
消息对象存储所有将要更改的注释及其新颜色。消息的实例方法修改该数据并返回消息,以便您可以链接调用。要获取实际的sysex数据(不包括0xf0以开始,0xf7以结束消息),请像调用函数一样调用该对象。返回的数据可以放入任何midi消息库,如mido。
示例:
msg = Message().row(0, 1, 0.5, 0.25)
msg.note(1, 1, 1, 0.5, 0.25).note(8, 1, 1, 0.5, 0.25)
data = msg()
print(data) -> [0, 32, 41, 2, 24, 11, 11, 63, 31.5, 15.75, 12, 63, 31.5, 15.75,
13, 63, 31.5, 15.75, 14, 63, 31.5, 15.75, 15, 63, 31.5, 15.75,
16, 63, 31.5, 15.75, 17, 63, 31.5, 15.75, 18, 63, 31.5, 15.75,
22, 63, 31.5, 15.75, 29, 63, 31.5, 15.75]