Henk Reisen schrieb:
Ich finde nirgendwo eine Liste der Parameter-Nummern. Aber selbst wenn irgendwo eine solche Liste wäre, wüsste ich nicht, wie ich daraus eine gültige Sysex-Message bastele, um z.B. Regler X dazu zu bewegen, Parameter Y zu beeinflussen. Klar, Sysex beginnt und endet mit F0 bzw. F7, und dazwischen setze ich die Message, über deren Zusammensetzung ich mir aber überhaupt nicht klar werde.
Der Beispielcode aus dem DS-8-Manual:
#: Byte Status
A: 1111 0000 Exclusive Status
B: 0100 0010 Korg ID 42H
C: 0011
nnnn Format ID 3nH (
n=ch)
D: 0001 0011 DS-8 ID 13H
E: 0100 0001 Parameter Change 41H
F: 0
ddd dddd Parameter No.
G: 0
ddd dddd Parameter Value LSB
H: 0000 000
d Parameter Value MSB
I: 1111 0111 EOX
Zeile A: "
1111 0000" ist Binärcode. Übersetzt man diesen in Hexadezimalcode, dann kommt dabei "
F0" bei raus. Es handelt sich hier also um den Beginn der Sysex-Message an den DS-8.
Zeile B: "
0100 0010" entspricht der Korg-Hersteller-ID "
42"
Zeile C: "
0011 nnnn" entspricht dem Midi-Kanal, der hier von "
0011 0000" bis "
0011 1111" (Hex: "
30" bis "
3F") reicht. Man sieht, dass hier nur die RECHTEN vier Ziffern der Binärzahl Variablen sind. Diese vier Ziffern bilden zusammen eine Zahl, die von 0 bis 15 reicht und somit Auskunft über den zu verwendenden Midi-Kanal geben, der hier benutzt werden soll. Es könnte ja sein, dass du mehrere Geräte von Korg in deinem Midi-Setup hast und du über die Kanäle unterschiedliche Geräte ansprechen willst. Es ist also entscheidend, was im DS-8 eingestellt ist und auf welchem Kanal das Teil lauscht und auf Midi-Befehle wartet.
Zeile D: "
0001 0011" entspricht der DS-8-Geräte-ID, hier "
13".
Zeile E: "
0100 0001" entspricht "
41" und weist den DS-8 dazu an, auf eine Parametereinstellung (Zeilen F bis H) zu warten.
Zeile F: "
0ddd dddd" kennzeichnet den Parameter, der zu manipulieren ist. Die Spannweite reicht von "
0000 0000" bis "
0111 1111" (Hex: "
00" bis "
7F"); in normalen Zahlen ausgedrückt: Es gibt bis zu 127 verschiedene Parameter, die beeinflusst werden können.
Zeile G: Selber Wertebereich wie bei "F", nur dass es hier eben um den Inhalt des in "F" bestimmten Parameters geht.
Zeile H: "
0000 000d" stellt zusammen mit "G" ein zusätzliches Bit dar, erweitert den Wertebereich nach Bedarf also von 0-127 (-64 bis +63) auf 0-255 (-128 bis +127).
Zeile I: "
1111 0111" entspricht "
F7" und bedeutet das Ende der Sysex-Botschaft.
====================================================================================
1. Die rot markierten Bereiche müssen durch sinnvollen Inhalt ersetzt werden, den der DS-8 verstehen kann.
2. Parallel zur Erläuterung der einzelnen Zeilen bitte
diesen Link hier benutzen und mal ein paar Werte eingeben.
3. Wie zählt man?
Binär -
Hexadezimal - Dezimal
0000 -
0 - 0
0001 -
1 - 1
0010 -
2 - 2
0011 -
3 - 3
0100 -
4 - 4
0101 -
5 - 5
0110 -
6 - 6
0111 -
7 - 7
1000 -
8 - 8
1001 -
9 - 9
1010 -
A - 10
1011 -
B - 11
1100 -
C - 12
1101 -
D - 13
1110 -
E - 14
1111 -
F - 15
====================================================================================
In Hex-Schreibweise lässt sich dieser Anweisungsblock wie folgt zusammenfassen:
F0 42 30 13 41 00 00 00 F7
Das wäre ein gültiger Sysex-String, wie ihn der DS-8 sowohl AUSSPUCKT als auch EMPFÄNGT.
Es gibt vermutlich deswegen keine Liste der Parameternummern, weil eine Live-Manipulation dieser Parameter offensichtlich nicht vorgesehen war und nur den Zweck hatte, ein Backup eines Presets bzw. ein Wiedereinspielen dieses Backups per Sysex zu ermöglichen. Logischerweise umfasst ein komplettes DS-8-Preset aber bis zu 127 verschiedene Sysex-Strings, damit eben alle Parameter mit ihren jeweiligen Werten abgedeckt werden. Welcher Parameter jetzt aber wofür verantwortlich ist, ist vermutlich mit einem ausdauerndem Ratespiel verbunden.
Das sollte als grundsätzliche Orientierung hoffentlich erst mal ausreichend sein.
Hier noch die DS-8-Anleitung als PDF:
http://www.cyborgstudio.com/synthmp3s/k ... manual.pdf
Ab Seite 25 geht es mit dem Sysex-Zeugs los.