如果音量级别表示为 0 和 1 之间的浮点值,如何创建 Universal SysEx Master Volume消息的数据字节?
这是 Sysex 消息构造函数,具有给定的 Sysex 消息状态字节 (0xF0) 和数据字节:
new SysexMessage(0xF0, data, data.length)
根据 MIDI 规范,Master Volume 消息中有 2 个状态字节和 6 个数据字节(没有状态字节),最后两个数据字节指定音量级别:
0xF0 SysEx(状态)
0x7F 通用实时
0x7F 忽略通道
0x04 Sub-ID -- 设备控制
0x01 Sub-ID2 -- 主卷
0xLL 14 位卷的位 0 到 6 0xMM 14 位卷
的位 7 到 13
0xF7 SysEx 结束(状态)
所以,如果我没记错的话,数据字节应该是这样的:
data = new byte[] { 0x7F, 0x7F, 0x04, 0x01, LL, MM }
我的问题是如何从 0 到 1 之间的浮动音量级别获取 LL 和 MM字节?