Hi guys,
here's my Access Music midi file parser.
You can download a windows executable here:
https://launchpad.net/virussynthmanager
(The download link is on the right, it is "midi_file.7z")
Here's a direct download link :
http://launchpad.net/virussynthmanager/t…d/midi_parse.7z
The full source code is also available on the same page.
Many thanks to Marc and Joerg of Access Music for their help!
Here's how this tool is used :
midi_parse --midifile my_patch_file.mid
It can also take raw midi input :
midi_parse --rawfile my_raw_file.dump
|
Source code
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
|
H:\Projects\projects\prog\Utilitaires\virussynthmanager>midi_parse --midifile test\single-Overlead.mid
Found sysex, length=255
Found sysex, length=256
Found sysex, length=12
SYSEX: AccessMusic
[1] CMD=10 (SINGLE_DUMP)
CC[A][00] = 0x0A
CC[A][01] = 0x00
CC[A][02] = 0x01
CC[A][03] = 0x00
CC[A][04] = 0x00
portamento = 0
CC[A][06] = 0x00
channel_volume = 0
CC[A][08] = 0x00
CC[A][09] = 0x00
panorama = 0
CC[A][0B] = 0x00
CC[A][0C] = 0x00
CC[A][0D] = 0x00
CC[A][0E] = 0x00
CC[A][0F] = 0x00
CC[A][10] = 0x00
osc1_shape = 58
osc1_pulse_width = 0
osc1_wave_select = 0
osc1_semitone = 0
osc1_key_follow = 32
osc2_shape = 64
osc2_pulse_witdh = 0
osc2_wave_select = 0
osc2_semitone = 0
osc2_detune = 32
fm_amount = 0
osc2_sync = 0
osc2_filter_pitch = 0
osc2_filter_fm = 0
osc2_key_follow = 32
CC[A][20] = 0x00
osc_balance = 0
sub_osc_volume = 0
sub_osc_shape = 0
osc_volume = 64
noise_volume = 0
osc_ring_mod = 0
noise_color = 64
filter1_cutoff = 94
filter2_offset = -33
filter1_resonance = 0
filter2_resonance = 0
filter1_env_amount = 0
filter2_env_amount = 0
filter1_key_follow = 0
filter2_key_follow = 0
filter_balance = 0
saturation_type = 0
CC[A][32] = 0x00
filter1_type = 0
filter2_type = 0
filter_routing = 0
filter_attack = 0
filter_decay = 46
filter_sustain = 0
filter_sustain_slope = 0
filter_release = 127
amp_attack = 0
amp_decay = 127
amp_sustain = 127
amp_sustain_slope = 0
amp_release = 4
CC[A][40] = 0x00
CC[A][41] = 0x00
CC[A][42] = 0x00
lfo1_rate = 48
lfo1_shape = 1
lfo1_env_mode = 0
lfo1_mode = 0
lfo1_contour = 0
lfo1_key_follow = -64
lfo1_trigger = 0
lfo1_to_osc1_pitch = 0
lfo1_to_osc2_pitch = 0
lfo1_to_pulse_width = 0
lfo1_to_resonance = 0
lfo1_to_filter_gain = 0
lfo2_rate = 48
lfo2_shape = 1
lfo2_env_mode = 0
lfo2_mode = 0
lfo2_contour = 0
lfo2_key_follow = -64
lfo2_trigger = 0
lfo2_to_shape = 0
lfo2_to_fm_amount = 0
lfo2_to_cutoff1 = 0
lfo2_to_cutoff2 = 0
lfo2_to_panorama = 0
patch_volume = 107
cut....
|