开发特定MIDI设备的软件

时间:2011-02-26 01:29:18

标签: java jruby midi decompiling

我拥有一个Behringer BCR2000并且该设备非常棒,但它的software非常可怕。每当我尝试将预设从我的计算机复制到设备时它都会失败,这至少可以说是非常不方便。

我想为设备开发新的简单软件(Java或JRuby,因为该软件是用Java编写的),但我不知道如何做到这一点。

Java反编译器会工作吗?

4 个答案:

答案 0 :(得分:3)

要做的第一件事就是启动MIDI-OX并将其放在随附的软件和设备的中间。这通常通过回送驱动程序完成,例如MIDI Yoke(与MIDI-OX相同的站点)。

我不会浪费任何时间使用现有的软件。那里什么都没有,你不能自己搞清楚。

请记住,此设备可以重新编程。它非常灵活。我假设你有兴趣编写设置预设的软件?您可能会在SYSEX转储中找到此数据。再一次,启动MIDI-OX并嗅出它。

编辑:看起来http://www.behringer.com/EN/Products/BCR2000.aspx的原始SYSEX数据文件中已有所有预设。您可以下载这些并在任何十六进制编辑器中查看它们,但MIDI-OX可以很好地识别消息的起点和终点。它看起来非常简单,但如果没有我前面的硬件,就很难提供关于哪些字节做什么的解释。

编辑#2:好的,我已经找到了一些。每条消息都像标准SYSEX消息一样开始,字节为f0,并以字节f7结束。消息中的第二个字节是制造商ID,Behringer在此处仅使用00。然后我们进入消息有效负载,这是我将在这里展示的所有内容:

20 32 7f 7f 20 00 00 24 rev R1
20 32 7f 7f 20 00 01 24 preset
20 32 7f 7f 20 00 02 20 .name 'NI Pro 53                '
20 32 7f 7f 20 00 03 20 .snapshot off

它继续这样。请注意,上面的十六进制是实际的字节值,但文本实际上是ASCII。我知道,这是一种奇怪的展示方式,但我只想说明你有一个标题。我不知道20 32 7f 7f 20 00意味着什么,但我怀疑它意味着“嘿,更新预设”。下一个字节似乎是序列标识符。以下字节似乎是某些命令或其他东西。实际工作似乎是从那里的所有ASCII。

我希望这能让你开始。同样,您可以在预设文件中找到所有这些内容。作为参考,这是我正在查看的文件的开头:

000000  F0 00 20 32 7F 7F 20 00 00 24 72 65 76 20 52 31  .. 2.. ..$rev R1
000010  F7 F0 00 20 32 7F 7F 20 00 01 24 70 72 65 73 65  ... 2.. ..$prese
000020  74 F7 F0 00 20 32 7F 7F 20 00 02 20 20 2E 6E 61  t... 2.. ..  .na
000030  6D 65 20 27 4E 49 20 50 72 6F 20 35 33 20 20 20  me 'NI Pro 53   
000040  20 20 20 20 20 20 20 20 20 20 20 20 27 F7 F0 00              '...
000050  20 32 7F 7F 20 00 03 20 20 2E 73 6E 61 70 73 68   2.. ..  .snapsh
000060  6F 74 20 6F 66 66 F7 F0 00 20 32 7F 7F 20 00 04  ot off... 2.. ..
000070  20 20 2E 72 65 71 75 65 73 74 20 6F 66 66 F7 F0    .request off..
000080  00 20 32 7F 7F 20 00 05 20 20 2E 65 67 72 6F 75  . 2.. ..  .egrou
000090  70 73 20 34 F7 F0 00 20 32 7F 7F 20 00 06 20 20  ps 4... 2.. ..  
0000A0  2E 66 6B 65 79 73 20 6F 6E F7 F0 00 20 32 7F 7F  .fkeys on... 2..
0000B0  20 00 07 20 20 2E 6C 6F 63 6B 20 6F 66 66 F7 F0   ..  .lock off..
0000C0  00 20 32 7F 7F 20 00 08 20 20 2E 69 6E 69 74 F7  . 2.. ..  .init.
0000D0  F0 00 20 32 7F 7F 20 00 09 24 65 6E 63 6F 64 65  .. 2.. ..$encode
0000E0  72 20 31 F7 F0 00 20 32 7F 7F 20 00 0A 20 20 2E  r 1... 2.. ..  .
0000F0  65 61 73 79 70 61 72 20 43 43 20 31 20 32 30 20  easypar CC 1 20 
000100  30 20 31 32 37 20 61 62 73 6F 6C 75 74 65 F7 F0  0 127 absolute..
000110  00 20 32 7F 7F 20 00 0B 20 20 2E 73 68 6F 77 76  . 2.. ..  .showv
000120  61 6C 75 65 20 6F 6E F7 F0 00 20 32 7F 7F 20 00  alue on... 2.. .
000130  0C 20 20 2E 6D 6F 64 65 20 31 32 64 6F 74 F7 F0  .  .mode 12dot..
000140  00 20 32 7F 7F 20 00 0D 24 65 6E 63 6F 64 65 72  . 2.. ..$encoder
000150  20 32 F7 F0 00 20 32 7F 7F 20 00 0E 20 20 2E 65   2... 2.. ..  .e
000160  61 73 79 70 61 72 20 43 43 20 31 20 32 31 20 30  asypar CC 1 21 0
000170  20 31 32 37 20 61 62 73 6F 6C 75 74 65 F7 F0 00   127 absolute...
000180  20 32 7F 7F 20 00 0F 20 20 2E 73 68 6F 77 76 61   2.. ..  .showva
000190  6C 75 65 20 6F 6E F7 F0 00 20 32 7F 7F 20 00 10  lue on... 2.. ..
0001A0  20 20 2E 6D 6F 64 65 20 31 32 64 6F 74 F7 F0 00    .mode 12dot...
0001B0  20 32 7F 7F 20 00 11 24 65 6E 63 6F 64 65 72 20   2.. ..$encoder 
0001C0  34 F7 F0 00 20 32 7F 7F 20 00 12 20 20 2E 65 61  4... 2.. ..  .ea
0001D0  73 79 70 61 72 20 43 43 20 31 20 34 30 20 30 20  sypar CC 1 40 0 
0001E0  31 32 37 20 61 62 73 6F 6C 75 74 65 F7 F0 00 20  127 absolute... 
0001F0  32 7F 7F 20 00 13 20 20 2E 73 68 6F 77 76 61 6C  2.. ..  .showval
000200  75 65 20 6F 6E F7 F0 00 20 32 7F 7F 20 00 14 20  ue on... 2.. .. 
000210  20 2E 6D 6F 64 65 20 31 32 64 6F 74 F7 F0 00 20   .mode 12dot... 
000220  32 7F 7F 20 00 15 24 65 6E 63 6F 64 65 72 20 35  2.. ..$encoder 5
000230  F7 F0 00 20 32 7F 7F 20 00 16 20 20 2E 65 61 73  ... 2.. ..  .eas
000240  79 70 61 72 20 43 43 20 31 20 34 33 20 30 20 31  ypar CC 1 43 0 1
000250  32 37 20 61 62 73 6F 6C 75 74 65 F7 F0 00 20 32  27 absolute... 2
000260  7F 7F 20 00 17 20 20 2E 73 68 6F 77 76 61 6C 75  .. ..  .showvalu
000270  65 20 6F 6E F7 F0 00 20 32 7F 7F 20 00 18 20 20  e on... 2.. ..  
000280  2E 6D 6F 64 65 20 31 32 64 6F 74 F7 F0 00 20 32  .mode 12dot... 2
000290  7F 7F 20 00 19 24 65 6E 63 6F 64 65 72 20 37 F7  .. ..$encoder 7.
0002A0  F0 00 20 32 7F 7F 20 00 1A 20 20 2E 65 61 73 79  .. 2.. ..  .easy
0002B0  70 61 72 20 50 43 20 31 20 6F 66 66 20 6F 66 66  par PC 1 off off
0002C0  F7 F0 00 20 32 7F 7F 20 00 1B 20 20 2E 73 68 6F  ... 2.. ..  .sho
0002D0  77 76 61 6C 75 65 20 6F 6E F7 F0 00 20 32 7F 7F  wvalue on... 2..
0002E0  20 00 1C 20 20 2E 6D 6F 64 65 20 31 32 64 6F 74   ..  .mode 12dot
0002F0  F7 F0 00 20 32 7F 7F 20 00 1D 24 65 6E 63 6F 64  ... 2.. ..$encod
000300  65 72 20 38 F7 F0 00 20 32 7F 7F 20 00 1E 20 20  er 8... 2.. ..  
000310  2E 65 61 73 79 70 61 72 20 43 43 20 31 20 37 20  .easypar CC 1 7 
000320  30 20 31 32 37 20 61 62 73 6F 6C 75 74 65 F7 F0  0 127 absolute..
000330  00 20 32 7F 7F 20 00 1F 20 20 2E 73 68 6F 77 76  . 2.. ..  .showv
000340  61 6C 75 65 20 6F 6E F7 F0 00 20 32 7F 7F 20 00  alue on... 2.. .
000350  20 20 20 2E 6D 6F 64 65 20 31 32 64 6F 74 F7 F0     .mode 12dot..
000360  00 20 32 7F 7F 20 00 21 24 65 6E 63 6F 64 65 72  . 2.. .!$encoder
000370  20 39 F7 F0 00 20 32 7F 7F 20 00 22 20 20 2E 65   9... 2.. ."  .e
000380  61 73 79 70 61 72 20 43 43 20 31 20 35 30 20 30  asypar CC 1 50 0
000390  20 31 32 37 20 61 62 73 6F 6C 75 74 65 F7 F0 00   127 absolute...
0003A0  20 32 7F 7F 20 00 23 20 20 2E 73 68 6F 77 76 61   2.. .#  .showva
0003B0  6C 75 65 20 6F 6E F7 F0 00 20 32 7F 7F 20 00 24  lue on... 2.. .$
0003C0  20 20 2E 6D 6F 64 65 20 31 32 64 6F 74 F7 F0 00    .mode 12dot...
0003D0  20 32 7F 7F 20 00 25 24 65 6E 63 6F 64 65 72 20   2.. .%$encoder 
0003E0  31 30 F7 F0 00 20 32 7F 7F 20 00 26 20 20 2E 65  10... 2.. .&  .e
0003F0  61 73 79 70 61 72 20 43 43 20 31 20 35 31 20 30  asypar CC 1 51 0
000400  20 31 32 37 20 61 62 73 6F 6C 75 74 65 F7 F0 00   127 absolute...
000410  20 32 7F 7F 20 00 27 20 20 2E 73 68 6F 77 76 61   2.. .'  .showva
000420  6C 75 65 20 6F 6E F7 F0 00 20 32 7F 7F 20 00 28  lue on... 2.. .(
000430  20 20 2E 6D 6F 64 65 20 31 32 64 6F 74 F7 F0 00    .mode 12dot...
000440  20 32 7F 7F 20 00 29 24 65 6E 63 6F 64 65 72 20   2.. .)$encoder 
000450  31 31 F7 F0 00 20 32 7F 7F 20 00 2A 20 20 2E 65  11... 2.. .*  .e
000460  61 73 79 70 61 72 20 43 43 20 31 20 35 35 20 30  asypar CC 1 55 0
000470  20 31 32 37 20 61 62 73 6F 6C 75 74 65 F7 F0 00   127 absolute...
000480  20 32 7F 7F 20 00 2B 20 20 2E 73 68 6F 77 76 61   2.. .+  .showva
000490  6C 75 65 20 6F 6E F7 F0 00 20 32 7F 7F 20 00 2C  lue on... 2.. .,
0004A0  20 20 2E 6D 6F 64 65 20 31 32 64 6F 74 F7 F0 00    .mode 12dot...
0004B0  20 32 7F 7F 20 00 2D 24 65 6E 63 6F 64 65 72 20   2.. .-$encoder 
0004C0  31 34 F7 F0 00 20 32 7F 7F 20 00 2E 20 20 2E 65  14... 2.. ..  .e
0004D0  61 73 79 70 61 72 20 43 43 20 31 20 34 35 20 30  asypar CC 1 45 0
0004E0  20 31 32 37 20 61 62 73 6F 6C 75 74 65 F7 F0 00   127 absolute...
0004F0  20 32 7F 7F 20 00 2F 20 20 2E 73 68 6F 77 76 61   2.. ./  .showva
000500  6C 75 65 20 6F 6E F7 F0 00 20 32 7F 7F 20 00 30  lue on... 2.. .0
000510  20 20 2E 6D 6F 64 65 20 31 32 64 6F 74 F7 F0 00    .mode 12dot...
000520  20 32 7F 7F 20 00 31 24 65 6E 63 6F 64 65 72 20   2.. .1$encoder 
000530  31 35 F7 F0 00 20 32 7F 7F 20 00 32 20 20 2E 65  15... 2.. .2  .e
000540  61 73 79 70 61 72 20 43 43 20 31 20 34 36 20 30  asypar CC 1 46 0
000550  20 31 32 37 20 61 62 73 6F 6C 75 74 65 F7 F0 00   127 absolute...
000560  20 32 7F 7F 20 00 33 20 20 2E 73 68 6F 77 76 61   2.. .3  .showva
000570  6C 75 65 20 6F 6E F7 F0 00 20 32 7F 7F 20 00 34  lue on... 2.. .4
000580  20 20 2E 6D 6F 64 65 20 31 32 64 6F 74 F7 F0 00    .mode 12dot...
000590  20 32 7F 7F 20 00 35 24 65 6E 63 6F 64 65 72 20   2.. .5$encoder 
0005A0  31 36 F7 F0 00 20 32 7F 7F 20 00 36 20 20 2E 65  16... 2.. .6  .e
0005B0  61 73 79 70 61 72 20 43 43 20 31 20 34 37 20 30  asypar CC 1 47 0
0005C0  20 31 32 37 20 61 62 73 6F 6C 75 74 65 F7 F0 00   127 absolute...
0005D0  20 32 7F 7F 20 00 37 20 20 2E 73 68 6F 77 76 61   2.. .7  .showva
0005E0  6C 75 65 20 6F 6E F7 F0 00 20 32 7F 7F 20 00 38  lue on... 2.. .8
0005F0  20 20 2E 6D 6F 64 65 20 31 32 64 6F 74 F7 F0 00    .mode 12dot...
000600  20 32 7F 7F 20 00 39 24 65 6E 63 6F 64 65 72 20   2.. .9$encoder 
000610  31 37 F7 F0 00 20 32 7F 7F 20 00 3A 20 20 2E 65  17... 2.. .:  .e
000620  61 73 79 70 61 72 20 43 43 20 31 20 32 36 20 30  asypar CC 1 26 0
000630  20 31 32 37 20 61 62 73 6F 6C 75 74 65 F7 F0 00   127 absolute...
000640  20 32 7F 7F 20 00 3B 20 20 2E 73 68 6F 77 76 61   2.. .;  .showva
000650  6C 75 65 20 6F 6E F7 F0 00 20 32 7F 7F 20 00 3C  lue on... 2.. .<
000660  20 20 2E 6D 6F 64 65 20 31 32 64 6F 74 F7 F0 00    .mode 12dot...
000670  20 32 7F 7F 20 00 3D 24 65 6E 63 6F 64 65 72 20   2.. .=$encoder 
000680  32 35 F7 F0 00 20 32 7F 7F 20 00 3E 20 20 2E 65  25... 2.. .>  .e
000690  61 73 79 70 61 72 20 43 43 20 31 20 33 34 20 30  asypar CC 1 34 0
0006A0  20 31 32 37 20 61 62 73 6F 6C 75 74 65 F7 F0 00   127 absolute...
0006B0  20 32 7F 7F 20 00 3F 20 20 2E 73 68 6F 77 76 61   2.. .?  .showva
0006C0  6C 75 65 20 6F 6E F7 F0 00 20 32 7F 7F 20 00 40  lue on... 2.. .@
0006D0  20 20 2E 6D 6F 64 65 20 31 32 64 6F 74 F7 F0 00    .mode 12dot...
0006E0  20 32 7F 7F 20 00 41 24 65 6E 63 6F 64 65 72 20   2.. .A$encoder 
0006F0  32 39 F7 F0 00 20 32 7F 7F 20 00 42 20 20 2E 65  29... 2.. .B  .e
000700  61 73 79 70 61 72 20 43 43 20 31 20 33 34 20 30  asypar CC 1 34 0
000710  20 31 32 37 20 61 62 73 6F 6C 75 74 65 F7 F0 00   127 absolute...
000720  20 32 7F 7F 20 00 43 20 20 2E 73 68 6F 77 76 61   2.. .C  .showva
000730  6C 75 65 20 6F 6E F7 F0 00 20 32 7F 7F 20 00 44  lue on... 2.. .D
000740  20 20 2E 6D 6F 64 65 20 31 32 64 6F 74 F7 F0 00    .mode 12dot...
000750  20 32 7F 7F 20 00 45 24 65 6E 63 6F 64 65 72 20   2.. .E$encoder 
000760  33 32 F7 F0 00 20 32 7F 7F 20 00 46 20 20 2E 65  32... 2.. .F  .e
000770  61 73 79 70 61 72 20 43 43 20 31 20 37 20 30 20  asypar CC 1 7 0 
000780  31 32 37 20 61 62 73 6F 6C 75 74 65 F7 F0 00 20  127 absolute... 
000790  32 7F 7F 20 00 47 20 20 2E 73 68 6F 77 76 61 6C  2.. .G  .showval
0007A0  75 65 20 6F 6E F7 F0 00 20 32 7F 7F 20 00 48 20  ue on... 2.. .H 
0007B0  20 2E 6D 6F 64 65 20 31 32 64 6F 74 F7 F0 00 20   .mode 12dot... 
0007C0  32 7F 7F 20 00 49 24 65 6E 63 6F 64 65 72 20 33  2.. .I$encoder 3
0007D0  33 F7 F0 00 20 32 7F 7F 20 00 4A 20 20 2E 65 61  3... 2.. .J  .ea
0007E0  73 79 70 61 72 20 43 43 20 31 20 37 30 20 30 20  sypar CC 1 70 0 
0007F0  31 32 37 20 61 62 73 6F 6C 75 74 65 F7 F0 00 20  127 absolute... 
000800  32 7F 7F 20 00 4B 20 20 2E 73 68 6F 77 76 61 6C  2.. .K  .showval
000810  75 65 20 6F 6E F7 F0 00 20 32 7F 7F 20 00 4C 20  ue on... 2.. .L 
000820  20 2E 6D 6F 64 65 20 31 64 6F 74 F7 F0 00 20 32   .mode 1dot... 2
000830  7F 7F 20 00 4D 24 65 6E 63 6F 64 65 72 20 33 34  .. .M$encoder 34
000840  F7 F0 00 20 32 7F 7F 20 00 4E 20 20 2E 65 61 73  ... 2.. .N  .eas
000850  79 70 61 72 20 43 43 20 31 20 37 31 20 30 20 31  ypar CC 1 71 0 1
000860  32 37 20 61 62 73 6F 6C 75 74 65 F7 F0 00 20 32  27 absolute... 2
000870  7F 7F 20 00 4F 20 20 2E 73 68 6F 77 76 61 6C 75  .. .O  .showvalu
000880  65 20 6F 6E F7 F0 00 20 32 7F 7F 20 00 50 20 20  e on... 2.. .P  
000890  2E 6D 6F 64 65 20 31 64 6F 74 F7 F0 00 20 32 7F  .mode 1dot... 2.
0008A0  7F 20 00 51 24 65 6E 63 6F 64 65 72 20 33 35 F7  . .Q$encoder 35.
0008B0  F0 00 20 32 7F 7F 20 00 52 20 20 2E 65 61 73 79  .. 2.. .R  .easy
0008C0  70 61 72 20 43 43 20 31 20 37 32 20 30 20 31 32  par CC 1 72 0 12
0008D0  37 20 61 62 73 6F 6C 75 74 65 F7 F0 00 20 32 7F  7 absolute... 2.
0008E0  7F 20 00 53 20 20 2E 73 68 6F 77 76 61 6C 75 65  . .S  .showvalue
0008F0  20 6F 6E F7 F0 00 20 32 7F 7F 20 00 54 20 20 2E   on... 2.. .T  .
000900  6D 6F 64 65 20 31 64 6F 74 F7 F0 00 20 32 7F 7F  mode 1dot... 2..
000910  20 00 55 24 65 6E 63 6F 64 65 72 20 33 36 F7 F0   .U$encoder 36..
000920  00 20 32 7F 7F 20 00 56 20 20 2E 65 61 73 79 70  . 2.. .V  .easyp
000930  61 72 20 43 43 20 31 20 37 33 20 30 20 31 32 37  ar CC 1 73 0 127
000940  20 61 62 73 6F 6C 75 74 65 F7 F0 00 20 32 7F 7F   absolute... 2..
000950  20 00 57 20 20 2E 73 68 6F 77 76 61 6C 75 65 20   .W  .showvalue 
000960  6F 6E F7 F0 00 20 32 7F 7F 20 00 58 20 20 2E 6D  on... 2.. .X  .m
000970  6F 64 65 20 31 64 6F 74 F7 F0 00 20 32 7F 7F 20  ode 1dot... 2.. 
000980  00 59 24 65 6E 63 6F 64 65 72 20 33 37 F7 F0 00  .Y$encoder 37...
000990  20 32 7F 7F 20 00 5A 20 20 2E 65 61 73 79 70 61   2.. .Z  .easypa
0009A0  72 20 43 43 20 31 20 31 30 35 20 30 20 31 32 37  r CC 1 105 0 127
0009B0  20 61 62 73 6F 6C 75 74 65 F7 F0 00 20 32 7F 7F   absolute... 2..
0009C0  20 00 5B 20 20 2E 73 68 6F 77 76 61 6C 75 65 20   .[  .showvalue 
0009D0  6F 6E F7 F0 00 20 32 7F 7F 20 00 5C 20 20 2E 6D  on... 2.. .\  .m
0009E0  6F 64 65 20 31 64 6F 74 F7 F0 00 20 32 7F 7F 20  ode 1dot... 2.. 
0009F0  00 5D 24 65 6E 63 6F 64 65 72 20 33 38 F7 F0 00  .]$encoder 38...
000A00  20 32 7F 7F 20 00 5E 20 20 2E 65 61 73 79 70 61   2.. .^  .easypa
000A10  72 20 43 43 20 31 20 31 30 36 20 30 20 31 32 37  r CC 1 106 0 127
000A20  20 61 62 73 6F 6C 75 74 65 F7 F0 00 20 32 7F 7F   absolute... 2..
000A30  20 00 5F 20 20 2E 73 68 6F 77 76 61 6C 75 65 20   ._  .showvalue 
000A40  6F 6E F7 F0 00 20 32 7F 7F 20 00 60 20 20 2E 6D  on... 2.. .`  .m
000A50  6F 64 65 20 31 64 6F 74 F7 F0 00 20 32 7F 7F 20  ode 1dot... 2.. 
000A60  00 61 24 65 6E 63 6F 64 65 72 20 33 39 F7 F0 00  .a$encoder 39...
000A70  20 32 7F 7F 20 00 62 20 20 2E 65 61 73 79 70 61   2.. .b  .easypa
000A80  72 20 43 43 20 31 20 31 30 37 20 30 20 31 32 37  r CC 1 107 0 127
000A90  20 61 62 73 6F 6C 75 74 65 F7 F0 00 20 32 7F 7F   absolute... 2..
000AA0  20 00 63 20 20 2E 73 68 6F 77 76 61 6C 75 65 20   .c  .showvalue 
000AB0  6F 6E F7 F0 00 20 32 7F 7F 20 00 64 20 20 2E 6D  on... 2.. .d  .m
000AC0  6F 64 65 20 31 64 6F 74 F7 F0 00 20 32 7F 7F 20  ode 1dot... 2.. 
000AD0  00 65 24 65 6E 63 6F 64 65 72 20 34 30 F7 F0 00  .e$encoder 40...
000AE0  20 32 7F 7F 20 00 66 20 20 2E 65 61 73 79 70 61   2.. .f  .easypa
000AF0  72 20 43 43 20 31 20 31 30 38 20 30 20 31 32 37  r CC 1 108 0 127
000B00  20 61 62 73 6F 6C 75 74 65 F7 F0 00 20 32 7F 7F   absolute... 2..
000B10  20 00 67 20 20 2E 73 68 6F 77 76 61 6C 75 65 20   .g  .showvalue 
000B20  6F 6E F7 F0 00 20 32 7F 7F 20 00 68 20 20 2E 6D  on... 2.. .h  .m
000B30  6F 64 65 20 31 64 6F 74 F7 F0 00 20 32 7F 7F 20  ode 1dot... 2.. 
000B40  00 69 24 65 6E 63 6F 64 65 72 20 34 31 F7 F0 00  .i$encoder 41...
000B50  20 32 7F 7F 20 00 6A 20 20 2E 65 61 73 79 70 61   2.. .j  .easypa
000B60  72 20 43 43 20 31 20 37 35 20 30 20 31 32 37 20  r CC 1 75 0 127 
000B70  61 62 73 6F 6C 75 74 65 F7 F0 00 20 32 7F 7F 20  absolute... 2.. 
000B80  00 6B 20 20 2E 73 68 6F 77 76 61 6C 75 65 20 6F  .k  .showvalue o
000B90  6E F7 F0 00 20 32 7F 7F 20 00 6C 20 20 2E 6D 6F  n... 2.. .l  .mo
000BA0  64 65 20 31 64 6F 74 F7 F0 00 20 32 7F 7F 20 00  de 1dot... 2.. .
000BB0  6D 24 65 6E 63 6F 64 65 72 20 34 32 F7 F0 00 20  m$encoder 42... 
000BC0  32 7F 7F 20 00 6E 20 20 2E 65 61 73 79 70 61 72  2.. .n  .easypar
000BD0  20 43 43 20 31 20 37 36 20 30 20 31 32 37 20 61   CC 1 76 0 127 a
000BE0  62 73 6F 6C 75 74 65 F7 F0 00 20 32 7F 7F 20 00  bsolute... 2.. .
000BF0  6F 20 20 2E 73 68 6F 77 76 61 6C 75 65 20 6F 6E  o  .showvalue on
000C00  F7 F0 00 20 32 7F 7F 20 00 70 20 20 2E 6D 6F 64  ... 2.. .p  .mod
000C10  65 20 31 64 6F 74 F7 F0 00 20 32 7F 7F 20 00 71  e 1dot... 2.. .q
000C20  24 65 6E 63 6F 64 65 72 20 34 33 F7 F0 00 20 32  $encoder 43... 2
000C30  7F 7F 20 00 72 20 20 2E 65 61 73 79 70 61 72 20  .. .r  .easypar 
000C40  43 43 20 31 20 37 37 20 30 20 31 32 37 20 61 62  CC 1 77 0 127 ab
000C50  73 6F 6C 75 74 65 F7 F0 00 20 32 7F 7F 20 00 73  solute... 2.. .s
000C60  20 20 2E 73 68 6F 77 76 61 6C 75 65 20 6F 6E F7    .showvalue on.
000C70  F0 00 20 32 7F 7F 20 00 74 20 20 2E 6D 6F 64 65  .. 2.. .t  .mode
000C80  20 31 64 6F 74 F7 F0 00 20 32 7F 7F 20 00 75 24   1dot... 2.. .u$
000C90  65 6E 63 6F 64 65 72 20 34 34 F7 F0 00 20 32 7F  encoder 44... 2.
000CA0  7F 20 00 76 20 20 2E 65 61 73 79 70 61 72 20 43  . .v  .easypar C
000CB0  43 20 31 20 37 38 20 30 20 31 32 37 20 61 62 73  C 1 78 0 127 abs
000CC0  6F 6C 75 74 65 F7 F0 00 20 32 7F 7F 20 00 77 20  olute... 2.. .w 
000CD0  20 2E 73 68 6F 77 76 61 6C 75 65 20 6F 6E F7 F0   .showvalue on..
000CE0  00 20 32 7F 7F 20 00 78 20 20 2E 6D 6F 64 65 20  . 2.. .x  .mode 
000CF0  31 64 6F 74 F7 F0 00 20 32 7F 7F 20 00 79 24 65  1dot... 2.. .y$e
000D00  6E 63 6F 64 65 72 20 34 35 F7 F0 00 20 32 7F 7F  ncoder 45... 2..
000D10  20 00 7A 20 20 2E 65 61 73 79 70 61 72 20 43 43   .z  .easypar CC
000D20  20 31 20 31 31 30 20 30 20 31 32 37 20 61 62 73   1 110 0 127 abs
000D30  6F 6C 75 74 65 F7 F0 00 20 32 7F 7F 20 00 7B 20  olute... 2.. .{ 
000D40  20 2E 73 68 6F 77 76 61 6C 75 65 20 6F 6E F7 F0   .showvalue on..
000D50  00 20 32 7F 7F 20 00 7C 20 20 2E 6D 6F 64 65 20  . 2.. .|  .mode 
000D60  31 64 6F 74 F7 F0 00 20 32 7F 7F 20 00 7D 24 65  1dot... 2.. .}$e
000D70  6E 63 6F 64 65 72 20 34 36 F7 F0 00 20 32 7F 7F  ncoder 46... 2..
000D80  20 00 7E 20 20 2E 65 61 73 79 70 61 72 20 43 43   .~  .easypar CC
000D90  20 31 20 31 31 31 20 30 20 31 32 37 20 61 62 73   1 111 0 127 abs
000DA0  6F 6C 75 74 65 F7 F0 00 20 32 7F 7F 20 00 7F 20  olute... 2.. .. 
000DB0  20 2E 73 68 6F 77 76 61 6C 75 65 20 6F 6E F7 F0   .showvalue on..
000DC0  00 20 32 7F 7F 20 01 00 20 20 2E 6D 6F 64 65 20  . 2.. ..  .mode 
000DD0  31 64 6F 74 F7 F0 00 20 32 7F 7F 20 01 01 24 65  1dot... 2.. ..$e
000DE0  6E 63 6F 64 65 72 20 34 37 F7 F0 00 20 32 7F 7F  ncoder 47... 2..
000DF0  20 01 02 20 20 2E 65 61 73 79 70 61 72 20 43 43   ..  .easypar CC
000E00  20 31 20 31 31 32 20 30 20 31 32 37 20 61 62 73   1 112 0 127 abs
000E10  6F 6C 75 74 65 F7 F0 00 20 32 7F 7F 20 01 03 20  olute... 2.. .. 
000E20  20 2E 73 68 6F 77 76 61 6C 75 65 20 6F 6E F7 F0   .showvalue on..
000E30  00 20 32 7F 7F 20 01 04 20 20 2E 6D 6F 64 65 20  . 2.. ..  .mode 
000E40  31 64 6F 74 F7 F0 00 20 32 7F 7F 20 01 05 24 65  1dot... 2.. ..$e
000E50  6E 63 6F 64 65 72 20 34 38 F7 F0 00 20 32 7F 7F  ncoder 48... 2..
000E60  20 01 06 20 20 2E 65 61 73 79 70 61 72 20 43 43   ..  .easypar CC
000E70  20 31 20 31 31 36 20 30 20 31 32 37 20 61 62 73   1 116 0 127 abs
000E80  6F 6C 75 74 65 F7 F0 00 20 32 7F 7F 20 01 07 20  olute... 2.. .. 
000E90  20 2E 73 68 6F 77 76 61 6C 75 65 20 6F 6E F7 F0   .showvalue on..
000EA0  00 20 32 7F 7F 20 01 08 20 20 2E 6D 6F 64 65 20  . 2.. ..  .mode 
000EB0  31 64 6F 74 F7 F0 00 20 32 7F 7F 20 01 09 24 65  1dot... 2.. ..$e
000EC0  6E 63 6F 64 65 72 20 34 39 F7 F0 00 20 32 7F 7F  ncoder 49... 2..
000ED0  20 01 0A 20 20 2E 65 61 73 79 70 61 72 20 43 43   ..  .easypar CC
000EE0  20 31 20 38 30 20 30 20 31 32 37 20 61 62 73 6F   1 80 0 127 abso
000EF0  6C 75 74 65 F7 F0 00 20 32 7F 7F 20 01 0B 20 20  lute... 2.. ..  
000F00  2E 73 68 6F 77 76 61 6C 75 65 20 6F 6E F7 F0 00  .showvalue on...
000F10  20 32 7F 7F 20 01 0C 20 20 2E 6D 6F 64 65 20 31   2.. ..  .mode 1
000F20  64 6F 74 F7 F0 00 20 32 7F 7F 20 01 0D 24 65 6E  dot... 2.. ..$en
000F30  63 6F 64 65 72 20 35 30 F7 F0 00 20 32 7F 7F 20  coder 50... 2.. 
000F40  01 0E 20 20 2E 65 61 73 79 70 61 72 20 43 43 20  ..  .easypar CC 
000F50  31 20 38 31 20 30 20 31 32 37 20 61 62 73 6F 6C  1 81 0 127 absol
000F60  75 74 65 F7 F0 00 20 32 7F 7F 20 01 0F 20 20 2E  ute... 2.. ..  .
000F70  73 68 6F 77 76 61 6C 75 65 20 6F 6E F7 F0 00 20  showvalue on... 
000F80  32 7F 7F 20 01 10 20 20 2E 6D 6F 64 65 20 31 64  2.. ..  .mode 1d
000F90  6F 74 F7 F0 00 20 32 7F 7F 20 01 11 24 65 6E 63  ot... 2.. ..$enc
000FA0  6F 64 65 72 20 35 31 F7 F0 00 20 32 7F 7F 20 01  oder 51... 2.. .
000FB0  12 20 20 2E 65 61 73 79 70 61 72 20 43 43 20 31  .  .easypar CC 1
000FC0  20 38 32 20 30 20 31 32 37 20 61 62 73 6F 6C 75   82 0 127 absolu
000FD0  74 65 F7 F0 00 20 32 7F 7F 20 01 13 20 20 2E 73  te... 2.. ..  .s
000FE0  68 6F 77 76 61 6C 75 65 20 6F 6E F7 F0 00 20 32  howvalue on... 2
000FF0  7F 7F 20 01 14 20 20 2E 6D 6F 64 65 20 31 64 6F  .. ..  .mode 1do
001000  74 F7 F0 00 20 32 7F 7F 20 01 15 24 65 6E 63 6F  t... 2.. ..$enco
001010  64 65 72 20 35 32 F7 F0 00 20 32 7F 7F 20 01 16  der 52... 2.. ..
001020  20 20 2E 65 61 73 79 70 61 72 20 43 43 20 31 20    .easypar CC 1 
001030  38 33 20 30 20 31 32 37 20 61 62 73 6F 6C 75 74  83 0 127 absolut
001040  65 F7 F0 00 20 32 7F 7F 20 01 17 20 20 2E 73 68  e... 2.. ..  .sh
001050  6F 77 76 61 6C 75 65 20 6F 6E F7 F0 00 20 32 7F  owvalue on... 2.
001060  7F 20 01 18 20 20 2E 6D 6F 64 65 20 31 64 6F 74  . ..  .mode 1dot
001070  F7 F0 00 20 32 7F 7F 20 01 19 24 65 6E 63 6F 64  ... 2.. ..$encod
001080  65 72 20 35 33 F7 F0 00 20 32 7F 7F 20 01 1A 20  er 53... 2.. .. 
001090  20 2E 65 61 73 79 70 61 72 20 43 43 20 31 20 35   .easypar CC 1 5
0010A0  20 30 20 31 32 37 20 61 62 73 6F 6C 75 74 65 F7   0 127 absolute.
0010B0  F0 00 20 32 7F 7F 20 01 1B 20 20 2E 73 68 6F 77  .. 2.. ..  .show
0010C0  76 61 6C 75 65 20 6F 6E F7 F0 00 20 32 7F 7F 20  value on... 2.. 
0010D0  01 1C 20 20 2E 6D 6F 64 65 20 31 64 6F 74 F7 F0  ..  .mode 1dot..
0010E0  00 20 32 7F 7F 20 01 1D 24 65 6E 63 6F 64 65 72  . 2.. ..$encoder
0010F0  20 35 34 F7 F0 00 20 32 7F 7F 20 01 1E 20 20 2E   54... 2.. ..  .
001100  65 61 73 79 70 61 72 20 43 43 20 31 20 38 37 20  easypar CC 1 87 
001110  30 20 31 32 37 20 61 62 73 6F 6C 75 74 65 F7 F0  0 127 absolute..
001120  00 20 32 7F 7F 20 01 1F 20 20 2E 73 68 6F 77 76  . 2.. ..  .showv
001130  61 6C 75 65 20 6F 6E F7 F0 00 20 32 7F 7F 20 01  alue on... 2.. .
001140  20 20 20 2E 6D 6F 64 65 20 31 64 6F 74 F7 F0 00     .mode 1dot...
001150  20 32 7F 7F 20 01 21 24 65 6E 63 6F 64 65 72 20   2.. .!$encoder 
001160  35 35 F7 F0 00 20 32 7F 7F 20 01 22 20 20 2E 65  55... 2.. ."  .e
001170  61 73 79 70 61 72 20 43 43 20 31 20 38 38 20 30  asypar CC 1 88 0
001180  20 31 32 37 20 61 62 73 6F 6C 75 74 65 F7 F0 00   127 absolute...          

答案 1 :(得分:1)

我认为没有必要对整个Java应用程序进行反编译,但是您可能需要通过电话连接来了解计算机如何与MIDI设备通信。补丁通常通过MID控制信号进行传输,这些信号允许特定于供应商,这就是您的问题。

我恐怕无法提供任何进一步的细节,因为我从来没有尝试过像我这样的项目。我希望这些少量的知识至少在某种程度上是有用的。

答案 2 :(得分:0)

可能。只要他们没有在代码上使用混淆器,它就不会很糟糕。

我不知道如何用Java做任何MIDI,但我知道很多专业音频MIDI设备都在手册中记录了他们的midi协议。您可能会发现更容易废弃他们所做的事情并从头开始。

非常快速的谷歌搜索引导我here。没看到它,但它可能会有所帮助。

快速查看manual表示有足够的​​midi信息可以对数据进行一些有根据的猜测。

我会说,这是一项承诺,但它可能是一个非常有趣的项目。

答案 3 :(得分:0)

首先,您需要转储Sysex文件(在启动时引用MIDI_OX),然后您需要将一个参数更改一个,并找到SysExfile中已更改的值。 当然时间耗尽,因为制造商没有在sysex文件中公布有效载荷的含义。