Softwareentwicklung
›
Thread
Was steht in der Datei und wie ist sie codiert?
MM
Mike M.
(mikeii)
OP
04.01.2012 22:17
#2486097
Ich besitze einen Microkorg von Korg (ist ein Synthesizer).
Da ich im Moment noch kein Midi Interface habe, um damit neue Patches
auf das Gerät zu laden, habe ich mal versucht die Einstellungen aus den
*.prg Dateien zu lesen.
Leider steht da für mich nur unleserliches Zeug drin.
Im Prinzip suche ich nach Sachen wie Wellenformen, Mixerwerte, Effekte
etc.
Eine Beispieldatei ist im Anhang, aber wie gesagt, Notepad ++ gibt mir
nichts brauchbares aus.
Wie ist die Datei codiert, und wie decodiere ich sie?
Der Microkorg wird übrigens über SysEx (System Exclusive) über Midi
gefüttert.
Danke
Das scheint eine Midi-Datei zu sein, jedenfalls ist der Midi-Header
"MThd" enthalten. Das Format ist im weiteren hier
http://www.sonicspot.com/guide/midifiles.html beschrieben.
MM
Mike M.
(mikeii)
OP
04.01.2012 22:31
#2486159
Wow, stimmt.
Na dass kann dauern zum decodieren :P
Aber danke dir.
Evtl sollte ich mir ein Script dazu schreiben, dass mir das übersetzt.
MM
Mike M.
(mikeii)
OP
04.01.2012 22:37
#2486179
Mal ne Frage zum Decodieren.
Da steht Variable Längen und nur Werte.
Wie unterscheide ich das jetzt?
Variabel müsste ja bei dem Beispiel 11001000 noch zwei Bytes folgen.
Woran erkenne ich jetzt den Unterschied?
TK
Tom K.
(ez81)
04.01.2012 23:18
#2486293
Hallo,
ich habe das File mal durch den Midiparser von
http://groups.google.com/group/alt.sources/msg/22467419ad4bf416?pli=1
geschoben. Heraus kam folgendes:
1 <MidiFile 1 tracks
2 <MidiTrack 0 -- 4 events
3 <MidiEvent DeltaTime, t=0, track=0, channel=None>
4 <MidiEvent F0_SYSEX_EVENT, t=0, track=0, channel=None, data='B0X@\x00Bass Ra\x00sp \x02\x03 \x00\x00@\x00<\x06(\x005\x02\x157\x00\x00I\x00\x18F\x00|A\x00P\x18\x01\x00\x00\x7f0\n@\x00B(@\x04#\x00\x00\x00\x00\x12@F\x025#\x00\x00\x01\x1d\x12cPJ\x00m@\x01J6\x00?\x00\x141\x00<n\x13\x10\x02\n\x05\x02L\x0cG\x7f\x00QmB@ bC\x01q\x01\x01@@JL\x00@O@@AAJ\x00LAOAA\x1d\x01\x00XPXPPPP\x00PXPXPPP\x00PP\x0b\x01JJJ\x00JJJJJJJ@JJJJJJ\x7f\x00p\n@B@E\x00\x00\x00\x00\x00\x00\x00@@\x00\x00\x7f\x00\x00\x01\x7f\n\x00@@@\x7f@\x00@\x00@\x00@\x7f\x00\x00@\x00\x7f\x00\x02\n\x03\x02F\x00\x0c\x02@\x03@B@\x08C@Cq\x01\x01@\x00@@@@@@@\x00@@@@@@@\x00@\x00\x01@@@@\x00@@@@@@@\x00@@@@@\x00\x01\x00@@@@@@@\x00@@@@@@@\x00@@\xf7'>
5 <MidiEvent DeltaTime, t=0, track=0, channel=None>
6 <MidiEvent END_OF_TRACK, t=0, track=0, channel=None, data=''>
7 >
8 >
MM
Mike M.
(mikeii)
OP
04.01.2012 23:20
#2486300
Sehr gut, danke.
Das Problem ist jetzt nur, das was lesbar ist, nützt mir nichts. Die
anderen Hexvalues sind interessant, da diese die SysEx Messages
darstellen.
Dazu brauche ich von Korg ein spezielles Handbuch, das suche ich gerade
im Internet. Ohne dem geht leider nichts :(
MM
Mike M.
(mikeii)
OP
04.01.2012 23:23
#2486305
MM
Mike M.
(mikeii)
OP
05.01.2012 00:57
#2486469
Ich habe jetzt mal die Bytes in Binär umgewandelt und zugeordnet, so wie
es hier steht:
http://www.korg.de/uploads/tx_softwarecenter/MicroKorg_SYS_EX.txt
Allerdings gibt es manche Einstellungen, die einfach nicht so sein
können.
z.B. das 12te Byte von TABLE 2 : SYNTH PARAMETER ( 1 TIMBRE )
da soll im Bit 6 und 7 nur 00 stehen. Bei mir kommt aber das raus
0100 0000 (0x40)
Wo liegt der Fehler? ich habs im Hexeditor nochmal geprüft, da steht das
gleiche drin...
Fange ich vllt falsch an? Ich habe mich am Patchnamen Orientiert.
W ist der erste Buchstabe, also Byte 0, dann folgen weitere Bytes und
mein 14tes ist dann der Anfang, in dem Fall 0x3
Was auch komisch ist, dass in dem Fall die Dummybytes auch als
Patchnamen-Zeichen missbraucht werden...
1 --- ANFANG von SysEx ---
2 Byte : 14 0x3 0000 0011
3 Byte : 15 0x0 0000 0000
4 Byte : 16 0x7 0000 0111
5 Byte : 17 0x10 0001 0000
6 Byte : 18 0x40 0100 0000
7 Byte : 19 0x0 0000 0000
8 Byte : 20 0x3c 0011 1100
9 Byte : 21 0x0 0000 0000
10 Byte : 22 0x44 0100 0100
11 Byte : 23 0x0 0000 0000
12 Byte : 24 0x5a 0101 1010
13 Byte : 25 0x2 0000 0010
14 Byte : 26 0x2b 0010 1011
15 Byte : 27 0x52 0101 0010
16 Byte : 28 0x1 0000 0001
17 Byte : 29 0x15 0001 0101
18 Byte : 30 0x4b 0100 1011
19 Byte : 31 0x0 0000 0000
20 Byte : 32 0x5 0000 0101
21 Byte : 33 0x46 0100 0110
22 Byte : 34 0x0 0000 0000
23 Byte : 35 0x64 0110 0100
24 Byte : 36 0x1 0000 0001
25 Byte : 37 0x0 0000 0000
26
27 --- TIMBRE1 DATA ---
28 Byte : 0 0x64 0110 0100
29 Byte : 1 0x8 0000 1000
30 Byte : 2 0x5 0000 0101
31 Byte : 3 0x0 0000 0000
32 Byte : 4 0x0 0000 0000
33 Byte : 5 0x7f 0111 1111
34 Byte : 6 0x40 0100 0000
35 Byte : 7 0x0 0000 0000
36 Byte : 8 0x40 0100 0000
37 Byte : 9 0x0 0000 0000
38 Byte : 10 0x42 0100 0010
39 Byte : 11 0x40 0100 0000
40 Byte : 12 0x40 0100 0000
41 Byte : 13 0x5 0000 0101
42 Byte : 14 0x0 0000 0000
43 Byte : 15 0x6a 0110 1010
44 Byte : 16 0x23 0010 0011
45 Byte : 17 0x0 0000 0000
46 Byte : 18 0x0 0000 0000
47 Byte : 19 0x22 0010 0010
48 Byte : 20 0x40 0100 0000
49 Byte : 21 0x40 0100 0000
50 Byte : 22 0x0 0000 0000
51 Byte : 23 0x50 0101 0000
52 Byte : 24 0x64 0110 0100
53 Byte : 25 0x0 0000 0000
54 Byte : 26 0x0 0000 0000
55 Byte : 27 0x1 0000 0001
56 Byte : 28 0x49 0100 1001
57 Byte : 29 0xf 0000 1111
58 Byte : 30 0x40 0100 0000
59 Byte : 31 0x40 0100 0000
60 Byte : 32 0x51 0101 0001
61 Byte : 33 0x0 0000 0000
62 Byte : 34 0x7f 0111 1111
63 Byte : 35 0x40 0100 0000
64 Byte : 36 0x0 0000 0000
65 Byte : 37 0x40 0100 0000
66 Byte : 38 0x40 0100 0000
67 Byte : 39 0x0 0000 0000
68 Byte : 40 0x0 0000 0000
69 Byte : 41 0x0 0000 0000
70 Byte : 42 0x7f 0111 1111
71 Byte : 43 0x5e 0101 1110
72 Byte : 44 0x20 0010 0000
73 Byte : 45 0x20 0010 0000
74 Byte : 46 0x78 0111 1000
75 Byte : 47 0x40 0100 0000
76 Byte : 48 0x22 0010 0010
77 Byte : 49 0x0 0000 0000
78 Byte : 50 0x22 0010 0010
79 Byte : 51 0xe 0000 1110
80 Byte : 52 0x22 0010 0010
81 Byte : 53 0x45 0100 0101
82 Byte : 54 0xe 0000 1110
83 Byte : 55 0x13 0001 0011
84 Byte : 56 0x43 0100 0011
85 Byte : 57 0x0 0000 0000
86 Byte : 58 0x72 0111 0010
87 Byte : 59 0x54 0101 0100
88 Byte : 60 0x51 0101 0001
89 Byte : 61 0x63 0110 0011
90 Byte : 62 0x54 0101 0100
91 Byte : 63 0x62 0110 0010
92 Byte : 64 0x0 0000 0000
93 Byte : 65 0x0 0000 0000
94 Byte : 66 0x0 0000 0000
95 Byte : 67 0x0 0000 0000
96 Byte : 68 0x0 0000 0000
97 Byte : 69 0x40 0100 0000
98 Byte : 70 0x40 0100 0000
99 Byte : 71 0x40 0100 0000
100 Byte : 72 0x40 0100 0000
101 Byte : 73 0x0 0000 0000
102 Byte : 74 0x40 0100 0000
103 Byte : 75 0x40 0100 0000
104 Byte : 76 0x40 0100 0000
105 Byte : 77 0x40 0100 0000
106 Byte : 78 0x40 0100 0000
107 Byte : 79 0x40 0100 0000
108 Byte : 80 0x40 0100 0000
109 Byte : 81 0x0 0000 0000
110 Byte : 82 0x40 0100 0000
111 Byte : 83 0x40 0100 0000
112 Byte : 84 0x40 0100 0000
113 Byte : 85 0x40 0100 0000
114 Byte : 86 0x40 0100 0000
115 Byte : 87 0x0 0000 0000
116 Byte : 88 0x0 0000 0000
117 Byte : 89 0x0 0000 0000
118 Byte : 90 0x40 0100 0000
119 Byte : 91 0x40 0100 0000
120 Byte : 92 0x40 0100 0000
121 Byte : 93 0x40 0100 0000
122 Byte : 94 0x40 0100 0000
123 Byte : 95 0x40 0100 0000
124 Byte : 96 0x40 0100 0000
125 Byte : 97 0x0 0000 0000
126 Byte : 98 0x40 0100 0000
127 Byte : 99 0x40 0100 0000
128 Byte : 100 0x40 0100 0000
129 Byte : 101 0x40 0100 0000
130 Byte : 102 0x40 0100 0000
131 Byte : 103 0x40 0100 0000
132 Byte : 104 0x40 0100 0000
133 Byte : 105 0x0 0000 0000
134 Byte : 106 0x40 0100 0000
135 Byte : 107 0x40 0100 0000
136
137 --- TIMBRE2 DATA ---
138 Byte : 0 0x0 0000 0000
139 Byte : 1 0x0 0000 0000
140 Byte : 2 0x40 0100 0000
141 Byte : 3 0x40 0100 0000
142 Byte : 4 0x40 0100 0000
143 Byte : 5 0x0 0000 0000
144 Byte : 6 0x40 0100 0000
145 Byte : 7 0x40 0100 0000
146 Byte : 8 0x40 0100 0000
147 Byte : 9 0x40 0100 0000
148 Byte : 10 0x40 0100 0000
149 Byte : 11 0x40 0100 0000
150 Byte : 12 0x40 0100 0000
151 Byte : 13 0x40 0100 0000
152 Byte : 14 0x40 0100 0000
153 Byte : 15 0x40 0100 0000
154 Byte : 16 0x40 0100 0000
155 Byte : 17 0x40 0100 0000
156 Byte : 18 0x40 0100 0000
157 Byte : 19 0x40 0100 0000
158 Byte : 20 0x7f 0111 1111
159 Byte : 21 0x0 0000 0000
160 Byte : 22 0x70 0111 0000
161 Byte : 23 0xa 0000 1010
162 Byte : 24 0x40 0100 0000
163 Byte : 25 0x42 0100 0010
164 Byte : 26 0x40 0100 0000
165 Byte : 27 0x45 0100 0101
166 Byte : 28 0x0 0000 0000
167 Byte : 29 0x0 0000 0000
168 Byte : 30 0x0 0000 0000
169 Byte : 31 0x0 0000 0000
170 Byte : 32 0x0 0000 0000
171 Byte : 33 0x0 0000 0000
172 Byte : 34 0x0 0000 0000
173 Byte : 35 0x40 0100 0000
174 Byte : 36 0x40 0100 0000
175 Byte : 37 0x0 0000 0000
176 Byte : 38 0x0 0000 0000
177 Byte : 39 0x7f 0111 1111
178 Byte : 40 0x0 0000 0000
179 Byte : 41 0x0 0000 0000
180 Byte : 42 0x1 0000 0001
181 Byte : 43 0x7f 0111 1111
182 Byte : 44 0xa 0000 1010
183 Byte : 45 0x0 0000 0000
184 Byte : 46 0x40 0100 0000
185 Byte : 47 0x40 0100 0000
186 Byte : 48 0x40 0100 0000
187 Byte : 49 0x7f 0111 1111
188 Byte : 50 0x40 0100 0000
189 Byte : 51 0x0 0000 0000
190 Byte : 52 0x40 0100 0000
191 Byte : 53 0x0 0000 0000
192 Byte : 54 0x40 0100 0000
193 Byte : 55 0x0 0000 0000
194 Byte : 56 0x40 0100 0000
195 Byte : 57 0x7f 0111 1111
196 Byte : 58 0x0 0000 0000
197 Byte : 59 0x0 0000 0000
198 Byte : 60 0x40 0100 0000
199 Byte : 61 0x0 0000 0000
200 Byte : 62 0x7f 0111 1111
201 Byte : 63 0x0 0000 0000
202 Byte : 64 0x2 0000 0010
203 Byte : 65 0xa 0000 1010
204 Byte : 66 0x3 0000 0011
205 Byte : 67 0x2 0000 0010
206 Byte : 68 0x46 0100 0110
207 Byte : 69 0x0 0000 0000
208 Byte : 70 0xc 0000 1100
209 Byte : 71 0x2 0000 0010
210 Byte : 72 0x40 0100 0000
211 Byte : 73 0x3 0000 0011
212 Byte : 74 0x40 0100 0000
213 Byte : 75 0x42 0100 0010
214 Byte : 76 0x40 0100 0000
215 Byte : 77 0x0 0000 0000
216 Byte : 78 0x43 0100 0011
217 Byte : 79 0x40 0100 0000
218 Byte : 80 0x0 0000 0000
219 Byte : 81 0x0 0000 0000
220 Byte : 82 0x0 0000 0000
221 Byte : 83 0x0 0000 0000
222 Byte : 84 0x40 0100 0000
223 Byte : 85 0x0 0000 0000
224 Byte : 86 0x40 0100 0000
225 Byte : 87 0x40 0100 0000
226 Byte : 88 0x40 0100 0000
227 Byte : 89 0x40 0100 0000
228 Byte : 90 0x40 0100 0000
229 Byte : 91 0x40 0100 0000
230 Byte : 92 0x40 0100 0000
231 Byte : 93 0x0 0000 0000
232 Byte : 94 0x40 0100 0000
233 Byte : 95 0x40 0100 0000
234 Byte : 96 0x40 0100 0000
235 Byte : 97 0x40 0100 0000
236 Byte : 98 0x40 0100 0000
237 Byte : 99 0x40 0100 0000
238 Byte : 100 0x40 0100 0000
239 Byte : 101 0x0 0000 0000
240 Byte : 102 0x40 0100 0000
241 Byte : 103 0x0 0000 0000
242 Byte : 104 0x0 0000 0000
243 Byte : 105 0x40 0100 0000
244 Byte : 106 0x40 0100 0000
245 Byte : 107 0x40 0100 0000
246 Byte : 108 0x40 0100 0000
247 Byte : 109 0x0 0000 0000
248 Byte : 110 0x40 0100 0000
249 Byte : 111 0x40 0100 0000
250 Byte : 112 0x40 0100 0000
251 Byte : 113 0x40 0100 0000
252 Byte : 114 0x40 0100 0000
253 Byte : 115 0x40 0100 0000
254 Byte : 116 0x40 0100 0000
255 Byte : 117 0x0 0000 0000
256 Byte : 118 0x40 0100 0000
257 Byte : 119 0x40 0100 0000
258 Byte : 120 0x40 0100 0000
259 Byte : 121 0x40 0100 0000
260 Byte : 122 0x40 0100 0000
261 Byte : 123 0x0 0000 0000
262 Byte : 124 0x0 0000 0000
263 Byte : 125 0x0 0000 0000
264 Byte : 126 0x40 0100 0000
265 Byte : 127 0x40 0100 0000
266 Byte : 128 0x40 0100 0000
267 Byte : 129 0x40 0100 0000
268 Byte : 130 0x40 0100 0000
269 Byte : 131 0x40 0100 0000
270 Byte : 132 0x40 0100 0000
271 Byte : 133 0x0 0000 0000
272 Byte : 134 0x40 0100 0000
273 Byte : 135 0x40 0100 0000
274 Byte : 136 0x40 0100 0000
275 Byte : 137 0x40 0100 0000
276 Byte : 138 0x40 0100 0000
277 Byte : 139 0x40 0100 0000
278 Byte : 140 0x40 0100 0000
279 Byte : 141 0x0 0000 0000
280 Byte : 142 0x40 0100 0000
281 Byte : 143 0x40 0100 0000
282 --- ENDE von SysEx ---
283 Process returned 3 ( 0x3 ) execution time : 0 . 370 s
284 Press any key to continue .
↑ Nach oben
← Zurück zu Softwareentwicklung
Antwort schreiben