Vocaloid Keyboard System Exclusive

最終更新:2018/07/15

header
f0 43 73 01 52 25 27 10
Control
00 00 00 mblb I miss touch detect time msec
02 mblb auto power off min
04 id battery type 0:Alkaline/Manganese,1:Nickel
05 id equalizer 0:Flat,1:Boost,2:Bright,3:Mild
06 p0p1p7 hamming phone p0~p7:phonetic symbol
0e mblb master tune 440 + 0.2 * (val - 0x2000) Hz
10 dt MIDI master channel 0:1ch~f:16ch
11 fg MIDI keyboard 0:normal,1:MIDI
12 fg speaker 0:off,1:on
13 dt MIDI send interval iterval
Init
01 00 00 mblbc0c1cn00 O ID text c0~cn:char(mb lb:size)
System
0f 00 00 I init ID ok
04 hello
10 id O response 0:begin,1:end
11 c0 c1 c2 version c0~c2:char
Lyric Slot
20 00 00 dt O select select
Lyric Position
21 7f 00 mblb O next next
21 7f 02 mblbmblb O loop start,length
Lyric
22 sl 00 fgstring[3] I set 0:rw,1:ro ; [0]:name ;([1]:lyric ; [2]:phone)
01 fg O error 0:success 1:error
Singer(30), Instrument(40)
30
or
40
sl 00 dt I program program
01 dump
02 dt memory memory
03 string(length:9) name name
Singer(3x), Instrument(4x) Param(x…1:OFF,2:Memory 1,3:Memory 2,4:Memory 3)
3x
or
4x
sl 00 id I effect type 0:OFF,1:REVERB,2:DISTORTION,3:CHORUS,4:TREMOLO
01 tb effect depth ※effect depth table
02 id octave shift 0:+-0,1:+1
03 dt transpose (dt - 0xc)
04 dt pitch bend sensitivity sensitivity
11 dt voclume(I) volume
13 id vibrato type 0:Normal,1:Extreme,2:Fast,3:Slight
14 dt vibrato depth depth
15 dt vibrato rate rate
16 mb lb vibrato delay delay
18 dt portamento timing timing
19 id delay mode 0:Fader,1:Fixed
1a dt breathiness breathiness
1b dt brightness brightness
1c dt clearness clearness
1d dt opening opening
1e dt gener gender
1f mblb delay time delay time(※delay time table's value)
21 mblb decay time decay time
7e skill-table skill 1 table
7f skill-table skill 2 table
----
7f 00 00 string(length8) I select select
footer
f7

x target1~4
sl slot00~13(flash),7f(RAM)
fg flag00,01
id indextable index
dt data(1byte)00~7f
mb lb data(2byte)(mb << 7) | lb

01234 5678910
effect depth table 000d192633 404c5966727f
delay time table 00a01903203c046 05006409612c2583e7

packed data s3 s2 s1 s0 m[0]d[0]0 d[0]1 d[0]2 d[0]3 d[0]4 d[0]5 d[0]6
m[1]d[1]0 d[1]1 d[1]2 d[1]3 d[1]4 d[1]5 d[1]6
:
m[n]d[n]0 … d[n]i(i:0~6)
s3~s0 は後続データ(unpack 前)の byte 数((s3 << 21) | (s2 << 14) | (s1 << 7) | s0) byte))。
1 block 7 データ(8 bit)の繰り返しで、末端の余分は打ち切り。
m[n] には d[n]i(i:0~6) データ(各7bit)の各 MSB(8bit目)だけが、まとめてパックされている(bit6:i(0)~bit0:i(6))

string[n] 終端が 0 の ANK(ASCII + 半角カナ)コードが n 個連結された packed data