(Sorry,
comments in this chapter actual only in german - we will
translate it soon)
Erstellung eines REGELWERK-Presets für
den Yamaha-XG-Tonerzeuger DB50
Von Roland Mayer
Ein String ist hier eine Kette von Bytes also mehrere Zahlenwerte die aufeinander folgen und in dieser Reihenfolge vom Regelwerk auch über die MIDI Schnittstelle übertragen werden.
Zuvor müssen diese natürlich ins Regelwerk eingegeben werden.
Die Folgenden Sysex-Strings zur Parametersteuerung der o.g. Expander sind dem Yamaha DB 50 XG Manual entnommen und müßten auch für MU 50 und zum Teil auch andere XG-kompatible funktionieren. ( z.B. der QY 700 scheint intern dieselbe Klangerzeugung zu haben wie das DB 50 ! ).
Wie ich die Strings aus der Yamaha Dokumentation rausgepfriemelt habe und wie man diese ins Regelwerk reinkriegt, ist ganz zum Schluß kurz beschrieben.
Mit diesen Strings lassen sich die einzelnen Parameter mit dem Regelwerk (in Echtzeit !) regeln, in dem wir die einzelnen Strings auf verschiedene Regler des Regelwerks legen.
Sinnvollerweise sollte man dazu zuerst den Regler mit der gewünschten Parameterbezeichnung versehen.
Zu beachten ist, daß alles in Hexadezimaler Schreibweise notiert ist.
Im Regelwerk werden die Strings ebenfalls in dieser Schreibweise eingegeben.
RW = Regelwerk
So und nun gleich zur Sache !
MULTIPART Parameter Change" Strings
Zunächst mal muß man wissen, welchen Part man steuern will.
Dazu ist es vorteilhaft zu wissen, daß beim Einschalten der Karte bzw. des Expanders, bei welchem diese(r) einen internen Reset durchführt, die Partnummern mit den MIDI-Kanälen übereinstimmen.
Also Part 1 ist auf Kanal 1, Part 2 ist auf Kanal 2 usw.
Desweiteren ist für alle Parts das Grand Piano als Stimme definiert, mit Ausnahme des Part 10, auf dem liegt nämlich das Schlagzeug Setup 1 mit "Standard Kit". ( Nach GM ist Kanal 10 immer für Drums reserviert ).
Bei allen nachfolgenden Strings ist für nn die Partnummer einzusetzen : ( In Hexadezimaler Schreibweise )
für Part 1: nn = 00 (Kanal 1)
für Part 2: nn = 01 (Kanal 2)
für Part 3: nn = 02 (Kanal 3)
für Part 4: nn = 03 (Kanal 4)
für Part 5: nn = 04 (Kanal 5)
für Part 6: nn = 05 (Kanal 6)
für Part 7: nn = 06 (Kanal 7)
für Part 8: nn = 07 (Kanal 8)
für Part 9: nn = 08 (Kanal 9)
für Part 10: nn = 09 (Kanal 10)
für Part 11: nn = 0A (Kanal 11)
für Part 12: nn = 0B (Kanal 12)
für Part 13: nn = 0C (Kanal 13)
für Part 14: nn = 0D (Kanal 14)
für Part 15: nn = 0E (Kanal 15)
für Part 16: nn = 0F (Kanal 16)
XX ist wie nn eine Variable und steht für den Parameterwert.
An seiner Stelle baut das Regelwerk seinen Faderwert ein.
Im Regelwerk erscheint im Display an gleicher Stelle ebenfalls XX, sofern man die Parameterposition richtig eingegeben hat.
Die Parameterposition richtet sich danach, wo im String sich das XX befindet, das heißt an welcher Stelle.
Bei den nachfolgenden Strings ist das immer die 8. Stelle,
( zählen Sie nach ) folglich gibt man im Regelwerk die Stelle mit 7 an.
( Fürs Regelwerk zählt man nämlich von 0 bis 7 und nicht von 1 bis 8 !!! )
Vergessen Sie nicht, den String im Regelwerk zuvor auf insgesamt 9 Stellen (= 9 Bytes) zu initialisieren. (sonst is nix mit editieren)
Besonderes Augenmerk sollte man auf die Strings zur FILTERsteuerung legen ! Auch die PROGRAMNUMBER zur Anwahl der Voice sollte man nicht übersehen.
Im einem der nächsten Regelwerk Software Updates soll es auch möglich sein mit einem Regler eine Globale Variable zu regeln, welche anderen Reglern im String zugeordnet werden kann, so daß es z.B. auch môglich sein wird, die Partnummer nn oder die Drum Keynummer rr auf einen der Regler zu legen.
Regelwerk-String | Parameter | Bereich von XX
F0 43 10 4C 08 nn 00 XX F7 ELEMENT RESERVE 00...20
F0 43 10 4C 08 nn 01 XX F7 BANK SELECT MSB 00...7F
F0 43 10 4C 08 nn 02 XX F7 BANK SELECT LSB 00...7F
F0 43 10 4C 08 nn 03 XX F7 PROGRAM NUMBER 00...7F
F0 43 10 4C 08 nn 04 XX F7 RCV CHANNEL 00...0F 7F=OFF
F0 43 10 4C 08 nn 05 XX F7 MONO/POLY MODE 00=MONO 01=POLY
F0 43 10 4C 08 nn 06 XX F7 SAME NOTE NUMBER 00...02
F0 43 10 4C 08 nn 07 XX F7 PART MODE 00...03
F0 43 10 4C 08 nn 08 XX F7 NOTE SHIFT 28...58
F0 43 10 4C 08 nn 09 XX F7 DETUNE HI ?
F0 43 10 4C 08 nn 0A XX F7 DETUNE LO ?
F0 43 10 4C 08 nn 0B XX F7 VOLUME 00...7F
F0 43 10 4C 08 nn 0C XX F7 VELOCITY SENSE DEPTH 00...7F
F0 43 10 4C 08 nn 0D XX F7 VELOCITY SENSE OFFSET 00...7F
F0 43 10 4C 08 nn 0E XX F7 PANORAMA 00...7F
F0 43 10 4C 08 nn 0F XX F7 NOTE LIMIT LOW 00...7F
F0 43 10 4C 08 nn 10 XX F7 NOTE LIMIT HIGH 00...7F
F0 43 10 4C 08 nn 11 XX F7 DRY LEVEL 00...7F
F0 43 10 4C 08 nn 12 XX F7 CHORUS SEND 00...7F
F0 43 10 4C 08 nn 13 XX F7 REVERB SEND 00...7F
F0 43 10 4C 08 nn 14 XX F7 VARIATION SEND 00...7F
F0 43 10 4C 08 nn 15 XX F7 VIBRATO RATE 00...7F
F0 43 10 4C 08 nn 16 XX F7 VIBRATO DEPTH 00...7F
F0 43 10 4C 08 nn 17 XX F7 VIBRATO DELAY 00...7F
F0 43 10 4C 08 nn 18 XX F7 FILTER CUTOFF FREQUENCY 00...7F
F0 43 10 4C 08 nn 19 XX F7 FILTER RESONANCE 00...7F
Envelope Generator (ADR)
F0 43 10 4C 08 nn 1A XX F7 ENVELOPE ATTACK TIME 00...7F
F0 43 10 4C 08 nn 1B XX F7 ENVELOPE DECAY TIME 00...7F
F0 43 10 4C 08 nn 1C XX F7 ENVELOPE RELEASE TIME 00...7F
Modulationsrad
F0 43 10 4C 08 nn 1D XX F7 MW PITCH CONTROL 28...58
F0 43 10 4C 08 nn 1E XX F7 MW FILTER CONTROL 00...7F
F0 43 10 4C 08 nn 1F XX F7 MW AMPLITUDE CONTROL 00...7F
F0 43 10 4C 08 nn 20 XX F7 MW LFO PMOD DEPTH 00...7F
F0 43 10 4C 08 nn 21 XX F7 MW LFO FMOD DEPTH 00...7F
F0 43 10 4C 08 nn 22 XX F7 MW LFO AMOD DEPTH 00...7F
Pitch Bender
F0 43 10 4C 08 nn 23 XX F7 BEND PITCH CONTROL 28...58
F0 43 10 4C 08 nn 24 XX F7 BEND FILTER CONTROL 00...7F
F0 43 10 4C 08 nn 25 XX F7 BEND AMPLITUDE CONTROL 00...7F
F0 43 10 4C 08 nn 26 XX F7 BEND LFO PMOD DEPTH 00...7F
F0 43 10 4C 08 nn 27 XX F7 BEND LFO FMOD DEPTH 00...7F
F0 43 10 4C 08 nn 28 XX F7 BEND LFO AMOD DEPTH 00...7F
F0 43 10 4C 08 nn 29 XX F7 ??? UNDOKUMENTIERT ?
F0 43 10 4C 08 nn 2A XX F7 ??? " ?
F0 43 10 4C 08 nn 2B XX F7 ??? " ?
F0 43 10 4C 08 nn 2C XX F7 ??? " ?
F0 43 10 4C 08 nn 2D XX F7 ??? " ?
F0 43 10 4C 08 nn 2E XX F7 ??? " ?
F0 43 10 4C 08 nn 2F XX F7 ??? " ?
Die Folgenden 17 Strings für die Midi-Filter Switches sind für die Regelwerk
Taster gut geeignet: ( Taster im Toggle Mode )
zum Beispiel für den RCV PITCH BEND Schalter
F0 43 10 4C 08 nn 30 00 F7 RCV PITCH BEND = OFF als OFF-String
F0 43 10 4C 08 nn 30 01 F7 RCV PITCH BEND = ON als ON -String
F0 43 10 4C 08 nn 30 XX F7 RCV PITCH BEND 00=AUS 01=EIN
F0 43 10 4C 08 nn 31 XX F7 RCV CH AFTER TOUCH 00=AUS 01=EIN
F0 43 10 4C 08 nn 32 XX F7 RCV PROGRAM CHANGE 00=AUS 01=EIN
F0 43 10 4C 08 nn 33 XX F7 RCV CONTROL CHANGE 00=AUS 01=EIN
F0 43 10 4C 08 nn 34 XX F7 RCV POLY AFTER TOUCH 00=AUS 01=EIN
F0 43 10 4C 08 nn 35 XX F7 RCV NOTE MESSAGE 00=AUS 01=EIN
F0 43 10 4C 08 nn 36 XX F7 RCV RPN 00=AUS 01=EIN
F0 43 10 4C 08 nn 37 XX F7 RCV NRPN 00=AUS 01=EIN
F0 43 10 4C 08 nn 38 XX F7 RCV MODULATION 00=AUS 01=EIN
F0 43 10 4C 08 nn 39 XX F7 RCV VOLUME 00=AUS 01=EIN
F0 43 10 4C 08 nn 3A XX F7 RCV PANORAMA 00=AUS 01=EIN
F0 43 10 4C 08 nn 3B XX F7 RCV EXPRESSION 00=AUS 01=EIN
F0 43 10 4C 08 nn 3C XX F7 RCV HOLD1 00=AUS 01=EIN
F0 43 10 4C 08 nn 3D XX F7 RCV PORTAMENTO 00=AUS 01=EIN
F0 43 10 4C 08 nn 3E XX F7 RCV SOSTENUTO 00=AUS 01=EIN
F0 43 10 4C 08 nn 3F XX F7 RCV SOFT PEDAL 00=AUS 01=EIN
F0 43 10 4C 08 nn 40 XX F7 RCV BANK SELECT 00=AUS 01=EIN
F0 43 10 4C 08 nn 41 XX F7 SCALE TUNING C 00...7F
F0 43 10 4C 08 nn 42 XX F7 SCALE TUNING C# 00...7F
F0 43 10 4C 08 nn 43 XX F7 SCALE TUNING D 00...7F
F0 43 10 4C 08 nn 44 XX F7 SCALE TUNING D# 00...7F
F0 43 10 4C 08 nn 45 XX F7 SCALE TUNING E 00...7F
F0 43 10 4C 08 nn 46 XX F7 SCALE TUNING F 00...7F
F0 43 10 4C 08 nn 47 XX F7 SCALE TUNING F# 00...7F
F0 43 10 4C 08 nn 48 XX F7 SCALE TUNING G 00...7F
F0 43 10 4C 08 nn 49 XX F7 SCALE TUNING G# 00...7F
F0 43 10 4C 08 nn 4A XX F7 SCALE TUNING A 00...7F
F0 43 10 4C 08 nn 4B XX F7 SCALE TUNING A# 00...7F
F0 43 10 4C 08 nn 4C XX F7 SCALE TUNING B 00...7F
CAT = Channel Aftertouch
F0 43 10 4C 08 nn 4D XX F7 CAT PITCH CONTROL 28...58
F0 43 10 4C 08 nn 4E XX F7 CAT FILTER CONTROL 00...7F
F0 43 10 4C 08 nn 4F XX F7 CAT AMPLITUDE CONTROL 00...7F
F0 43 10 4C 08 nn 50 XX F7 CAT LFO PMOD DEPTH 00...7F
F0 43 10 4C 08 nn 51 XX F7 CAT LFO FMOD DEPTH 00...7F
F0 43 10 4C 08 nn 52 XX F7 CAT LFO AMOD DEPTH 00...7F
PAT = Polyphoner Aftertouch
F0 43 10 4C 08 nn 53 XX F7 PAT PITCH CONTROL 28...58
F0 43 10 4C 08 nn 54 XX F7 PAT FILTER CONTROL 00...7F
F0 43 10 4C 08 nn 55 XX F7 PAT AMPLITUDE CONTROL 00...7F
F0 43 10 4C 08 nn 56 XX F7 PAT LFO PMOD DEPTH 00...7F
F0 43 10 4C 08 nn 57 XX F7 PAT LFO FMOD DEPTH 00...7F
F0 43 10 4C 08 nn 58 XX F7 PAT LFO AMOD DEPTH 00...7F
AC1 = Assignable Controller 1
F0 43 10 4C 08 nn 59 XX F7 AC1 CONTROLLER NUMBER 00...5F
F0 43 10 4C 08 nn 5A XX F7 AC1 PITCH CONTROL 28...58
F0 43 10 4C 08 nn 5B XX F7 AC1 FILTER CONTROL 00...7F
F0 43 10 4C 08 nn 5C XX F7 AC1 AMPLITUDE CONTROL 00...7F
F0 43 10 4C 08 nn 5D XX F7 AC1 LFO PMOD DEPTH 00...7F
F0 43 10 4C 08 nn 5E XX F7 AC1 LFO FMOD DEPTH 00...7F
F0 43 10 4C 08 nn 5F XX F7 AC1 LFO AMOD DEPTH 00...7F
AC2 = Assignable Controller 2
F0 43 10 4C 08 nn 60 XX F7 AC2 CONTROLLER NUMBER 00...5F
F0 43 10 4C 08 nn 61 XX F7 AC2 PITCH CONTROL 28...58
F0 43 10 4C 08 nn 62 XX F7 AC2 FILTER CONTROL 00...7F
F0 43 10 4C 08 nn 63 XX F7 AC2 AMPLITUDE CONTROL 00...7F
F0 43 10 4C 08 nn 64 XX F7 AC2 LFO PMOD DEPTH 00...7F
F0 43 10 4C 08 nn 65 XX F7 AC2 LFO FMOD DEPTH 00...7F
F0 43 10 4C 08 nn 66 XX F7 AC2 LFO AMOD DEPTH 00...7F
F0 43 10 4C 08 nn 67 XX F7 ??? UNDOKUMENTIERT ?
F0 43 10 4C 08 nn 68 XX F7 ??? " ?
PITCH EG = Pitch Envelope Generator
F0 43 10 4C 08 nn 69 XX F7 PITCH EG INITIAL LEVEL 00...7F
F0 43 10 4C 08 nn 6A XX F7 PITCH EG ATTACK TIME 00...7F
F0 43 10 4C 08 nn 6B XX F7 PITCH EG RELEASE LEVEL 00...7F
F0 43 10 4C 08 nn 6C XX F7 PITCH EG RELEASE TIME 00...7F
F0 43 10 4C 08 nn 6D XX F7 VELOCITY LIMIT LOW 01...7F
F0 43 10 4C 08 nn 6E XX F7 VELOCITY LIMIT HIGH 01...7F
Regelwerk-String | Parameter | Bereich von XX
F0 43 10 4C 00 00 00 00 04 XX 00 F7 MASTER TUNE (UP) 00...0F ?
F0 43 10 4C 00 00 04 XX F7 MASTER VOLUME 00...7F
F0 43 10 4C 00 00 06 XX F7 TRANSPOSE 28...58
F0 43 10 4C 00 00 7D 00 F7 DRUM SETUP 1 RESET f. Taster !
F0 43 10 4C 00 00 7D 01 F7 DRUM SETUP 2 RESET f. Taster !
F0 43 10 4C 00 00 7E 00 F7 XG SYSTEM ON f. Taster !
F0 43 10 4C 00 00 7F 00 F7 ALL PARAMETER RESET f. Taster !
EFFECT 1 Parameter Change" Strings
Regelwerk-String | Parameter | Bereich von XX
F0 43 10 4C 02 01 0C XX F7 REVERB RETURN LEVEL 00...7F
F0 43 10 4C 02 01 0D XX F7 REVERB PANORAMA 01...7F
F0 43 10 4C 02 01 00 00 00 F7 REVERB = NO EFFECT auf Taster !
F0 43 10 4C 02 01 00 01 00 F7 REVERB = HALL 1 auf Taster !
F0 43 10 4C 02 01 00 01 01 F7 REVERB = HALL 2 auf Taster !
F0 43 10 4C 02 01 00 02 00 F7 REVERB = ROOM 1 auf Taster !
F0 43 10 4C 02 01 00 02 01 F7 REVERB = ROOM 2 auf Taster !
F0 43 10 4C 02 01 00 02 02 F7 REVERB = ROOM 3 auf Taster !
F0 43 10 4C 02 01 00 03 00 F7 REVERB = STAGE 1 auf Taster !
F0 43 10 4C 02 01 00 03 01 F7 REVERB = STAGE 2 auf Taster !
F0 43 10 4C 02 01 00 04 00 F7 REVERB = PLATE auf Taster !
F0 43 10 4C 02 01 00 10 00 F7 REVERB = WHITE ROOM auf Taster !
F0 43 10 4C 02 01 00 11 00 F7 REVERB = TUNNEL auf Taster !
F0 43 10 4C 02 01 00 13 00 F7 REVERB = BASEMENT auf Taster !
F0 43 10 4C 02 01 02 XX F7 REVERB TIME 00...45
F0 43 10 4C 02 01 03 XX F7 REVERB DIFFUSION 00...0A
F0 43 10 4C 02 01 04 XX F7 REVERB INITIAL DELAY 00...3F
F0 43 10 4C 02 01 05 XX F7 REVERB HPF CUTOFF 00...34
F0 43 10 4C 02 01 06 XX F7 REVERB LPF CUTOFF 22...3C
F0 43 10 4C 02 01 0B XX F7 REVERB DRY / WET 01...7F
F0 43 10 4C 02 01 10 XX F7 REVERB REV DELAY 00...3F
F0 43 10 4C 02 01 11 XX F7 REVERB DENSITY 00...03
F0 43 10 4C 02 01 12 XX F7 REVERB ER/REV BALANCE 01...7F
F0 43 10 4C 02 01 14 XX F7 REVERB FEEDBACK LEVEL 01...7F
F0 43 10 4C 02 01 2C XX F7 CHORUS RETURN LEVEL 00...7F
F0 43 10 4C 02 01 2D XX F7 CHORUS PANORAMA 01...7F
F0 43 10 4C 02 01 20 00 00 F7 CHORUS = NO EFFECT auf Taster !
F0 43 10 4C 02 01 20 41 00 F7 CHORUS = CHORUS 1 auf Taster !
F0 43 10 4C 02 01 20 41 01 F7 CHORUS = CHORUS 2 auf Taster !
F0 43 10 4C 02 01 20 41 02 F7 CHORUS = CHORUS 3 auf Taster !
F0 43 10 4C 02 01 20 41 08 F7 CHORUS = CHORUS 4 auf Taster !
F0 43 10 4C 02 01 20 42 00 F7 CHORUS = CELESTE 1 auf Taster !
F0 43 10 4C 02 01 20 42 01 F7 CHORUS = CELESTE 2 auf Taster !
F0 43 10 4C 02 01 20 42 02 F7 CHORUS = CELESTE 3 auf Taster !
F0 43 10 4C 02 01 20 42 08 F7 CHORUS = CELESTE 4 auf Taster !
F0 43 10 4C 02 01 20 43 00 F7 CHORUS = FLANGER 1 auf Taster !
F0 43 10 4C 02 01 20 43 01 F7 CHORUS = FLANGER 2 auf Taster !
F0 43 10 4C 02 01 20 43 08 F7 CHORUS = FLANGER 3 auf Taster !
F0 43 10 4C 02 01 22 XX F7 CHORUS LFO FREQUENCY 00...7F
F0 43 10 4C 02 01 23 XX F7 CHORUS LFO DEPTH 00...7F
F0 43 10 4C 02 01 24 XX F7 CHORUS FEEDBACK LEVEL 01...7F
F0 43 10 4C 02 01 25 XX F7 CHORUS DELAY OFFSET 00...7F
F0 43 10 4C 02 01 27 XX F7 CHORUS EQ LOW FREQUENCY 08...28
F0 43 10 4C 02 01 28 XX F7 CHORUS EQ LOW GAIN 34...4C
F0 43 10 4C 02 01 29 XX F7 CHORUS EQ HI FREQUENCY 1C...3A
F0 43 10 4C 02 01 2A XX F7 CHORUS EQ HI GAIN 34...3C
F0 43 10 4C 02 01 2B XX F7 CHORUS DRY / WET 01...7F
F0 43 10 4C 02 01 56 XX F7 VARIATION RETURN LEVEL 00...7F
F0 43 10 4C 02 01 57 XX F7 VARIATION PANORAMA 01...7F
F0 43 10 4C 02 01 5C XX F7 VARIATION MW CONTROL DEPTH 00...7F
F0 43 10 4C 02 01 5D XX F7 VARIATION BEND CONTROL DEPTH 00...7F
F0 43 10 4C 02 01 5E XX F7 VARIATION CAT CONTROL DEPTH 00...7F
F0 43 10 4C 02 01 5F XX F7 VARIATION AC1 CONTROL DEPTH 00...7F
F0 43 10 4C 02 01 60 XX F7 VARIATION AC2 CONTROL DEPTH 00...7F
F0 43 10 4C 02 01 5A 01 F7 VARIATION > SYSTEM EFFECT ! auf Taster !
F0 43 10 4C 02 01 40 00 00 F7 VARIATION = NO EFFECT auf Taster !
F0 43 10 4C 02 01 40 43 00 F7 VARIATION = FLANGER 1 auf Taster !
F0 43 10 4C 02 01 40 41 00 F7 VARIATION = CHORUS 1 auf Taster !
F0 43 10 4C 02 01 40 42 00 F7 VARIATION = CELESTE 1 auf Taster !
F0 43 10 4C 02 01 40 44 00 F7 VARIATION = SYMPHONIC auf Taster !
F0 43 10 4C 02 01 40 45 00 F7 VARIATION = ROTARY SPEAKER auf Taster !
F0 43 10 4C 02 01 40 48 00 F7 VARIATION = PHASER 1 auf Taster !
F0 43 10 4C 02 01 40 4E 00 F7 VARIATION = AUTO WAH auf Taster !
F0 43 10 4C 02 01 40 47 00 F7 VARIATION = AUTO PAN auf Taster !
F0 43 10 4C 02 01 40 46 00 F7 VARIATION = TREMOLO auf Taster !
F0 43 10 4C 02 01 54 00 XX F7 VARIATION DRY / WET 01...7F
F0 43 10 4C 02 01 42 00 XX F7 VARIATION LFO FREQUENCY 00...7F
F0 43 10 4C 02 01 44 00 XX F7 VARIATION LFO DEPTH 00...7F
F0 43 10 4C 02 01 4C 00 XX F7 VARIATION EQ LOW FREQUENCY 08...28
F0 43 10 4C 02 01 4E 00 XX F7 VARIATION EQ LOW GAIN 34...4C
F0 43 10 4C 02 01 50 00 XX F7 VARIATION EQ HI FREQUENCY 1C...3A
F0 43 10 4C 02 01 52 00 XX F7 VARIATION EQ HI GAIN 34...4C
Nach dem Einschalten liegt auf Part 10 (Kanal 10) das DRUM SETUP 1
mit dem "Standard Kit"
Bei allen folgenden Strings ist für rr die Keynummer der Trommel
Becken etc. einzusetzen. Die Belegung der Keynummern
finden Sie im DB50 Manual (leider nur in Dezimaler Schreibweise !!!).
Hier jedoch ein paar der wichtigsten:
HiHat Open : rr = 2E
HiHat Closed : rr = 2A
HiHat Pedal : rr = 2C
Snare Hi : rr = 28
Snare Mid : rr = 26
Snare Low : rr = 1F
Bass Drum Hi : rr = 24
Bass Drum Mid : rr = 23
Bass Drum Low : rr = 21
Hi Q : rr = 0F
Regelwerk-String | Parameter | Bereich von XX
F0 43 10 4C 30 rr 00 XX F7 PITCH COARSE 00...7F
F0 43 10 4C 30 rr 01 XX F7 PITCH FINE 00...7F
F0 43 10 4C 30 rr 02 XX F7 LEVEL 00...7F
F0 43 10 4C 30 rr 03 XX F7 ALTERNATE GROUP 00...7F 00=OFF
F0 43 10 4C 30 rr 04 XX F7 PANORAMA 00...7F 00=RND
F0 43 10 4C 30 rr 05 XX F7 REVERB SEND 00...7F
F0 43 10 4C 30 rr 06 XX F7 CHORUS SEND 00...7F
F0 43 10 4C 30 rr 07 XX F7 VARIATION SEND 00...7F
F0 43 10 4C 30 rr 08 XX F7 KEY ASSIGN 00=SING 01=MULT
F0 43 10 4C 30 rr 09 XX F7 RCV NOTE OFF 00=OFF 01=ON
F0 43 10 4C 30 rr 0A XX F7 RCV NOTE ON 00=OFF 01=ON
F0 43 10 4C 30 rr 0B XX F7 FILTER CUTOFF FREQUENCY 00...7F
F0 43 10 4C 30 rr 0C XX F7 FILTER RESONANCE 00...7F
F0 43 10 4C 30 rr 0D XX F7 EG ATTACK RATE 00...7F
F0 43 10 4C 30 rr 0E XX F7 EG DECAY 1 RATE 00...7F
F0 43 10 4C 30 rr 0F XX F7 EG DECAY 2 RATE 00...7F
So, das waren die "Instant Strings" . Im Anschluß noch zwei Parameter Change
Tables , die im Manual DB50 fehlen.
Wie man daraus die Sysex Strings bildet finden Sie weiter unten bei Punkt 7.
Soviel sei gesagt, versuchen Sie es mit F0 43 10 4C 10 00 ?? XX F7 bzw.
mit F0 43 10 4C 2e 00 ?? XX F7.
( ??=Parameteradresse XX=Parameterwert e=Elementnummer ).
Damit lässt sich ein in Realtime steuerbarer Synthesizer Programmieren !
(Hab es jedoch noch nicht ausprobiert, möglicherweise muß man dazu in den TG300 Modus wechseln).
MIDI Parameter Change table ( NORMAL VOICE COMMON)
ohne Gewähr
Address Size Data Prameter Name Description
(H) (H) (H)
10 00 00 1 20..7E Voice Name1 32..126(ASCII)
01 1 20..7E Voice Name2 32..126(ASCII)
02 1 20..7E Voice Name3 32..126(ASCII)
03 1 20..7E Voice Name4 32..126(ASCII)
04 1 20..7E Voice Name5 32..126(ASCII)
05 1 20..7E Voice Name6 32..126(ASCII)
06 1 20..7E Voice Name7 32..126(ASCII)
07 1 20..7E Voice Name8 32..126(ASCII)
08 1 20..7E Voice Name9 32..126(ASCII)
09 1 20..7E Voice Name10 32..126(ASCII)
0A 1 00..15 Voice Category 00..21(--..Wv)
0B 1 00..0F Element Switch Bit0..Bit3;EL1..EL4
0/1;off/on
0C 1 00..7F Voice Level 0..127
0D 1 00..7F Velocity Sens Depth 0..127
0E 1 00..7F Velocity Sens Offset 0..127
0F 1 00..7F Reverb Send Level 0..127
10 1 00..7F Chorus Send Level 0..127
11 1 00..7F Send Chorus To Reverb -$B!g(B..0..+6dB(0..96..127)
12 2 00..7F Variation Type MSB Ef. Program List
00..7F Variation Type LSB 00 : basic type
14 2 00..7F Variation Param 1 MSB Ef. Parameter List
00..7F Variation Param 1 LSB $B!7(B
16 2 00..7F Variation Param 2 MSB Ef. Parameter List
00..7F Variation Param 2 LSB $B!7(B
18 2 00..7F Variation Param 3 MSB Ef. Parameter List
00..7F Variation Param 3 LSB $B!7(B
1A 2 00..7F Variation Param 4 MSB Ef. Parameter List
00..7F Variation Param 4 LSB $B!7(B
1C 2 00..7F Variation Param 5 MSB Ef. Parameter List
00..7F Variation Param 5 LSB $B!7(B
1E 1 00..7F Variation Attenuate Lvl 0..127
1F 1 00..7F Variation Param 10 LSB Ef. Parameter List
20 1 00..01 Play Mode 0/1;mono/poly
21 1 00..01 Portament Switch 0/1;off/on
22 1 00..127 Portamento Time 0..127
23 1 28..58 Bend Wheel Pitch Ctrl. -24..+24(semitones)
24 1 00..7F Bend Wheel Cutoff Ctrl. -9600..+9600(cent)
25 1 00..7F Bend Wheel Amp Ctrl. -100..+100(%)
26 1 00..7F Bend Wheel PM Ctrl. 0..127
27 1 00..7F Bend Wheel FM Ctrl. 0..127
28 1 00..7F Bend Wheel AM Ctrl. 0..127
29 1 28..58 Mod. Wheel Pitch Ctrl. -24..+24(semitones)
2A 1 00..7F Mod. Wheel Cutoff Ctrl. -9600..+9600(cent)
2B 1 00..7F Mod. Wheel Amp Ctrl. -100..+100(%)
2C 1 00..7F Mod. Wheel PM Ctrl. 0..127
2D 1 00..7F Mod. Wheel FM Ctrl. 0..127
2E 1 00..7F Mod. Wheel AM Ctrl. 0..127
2F 1 01..7F Mod. Wheel VariEf Ctrl -63..+63
30 1 28..58 After Touch Pitch Ctrl. -24..+24(semitones)
31 1 00..7F After Touch Cutoff Ctrl.-9600..+9600(cent)
32 1 00..7F After Touch Amp Ctrl. -100..+100(%)
33 1 00..7F After Touch PM Ctrl. 0..127
34 1 00..7F After Touch FM Ctrl. 0..127
35 1 00..7F After Touch AM Ctrl. 0..127
36 1 28..58 Foot Cont. Pitch Ctrl. -24..+24(semitones)
37 1 00..7F Foot Cont. Cutoff Ctrl. -9600..+9600(cent)
38 1 00..7F Foot Cont. Amp Ctrl. -100..+100(%)
39 1 00..7F Foot Cont. PM Ctrl. 0..127
3A 1 00..7F Foot Cont. FM Ctrl. 0..127
3B 1 00..7F Foot Cont. AM Ctrl. 0..127
3C 1 01..7F Foot Cont. VariEf Ctrl. -63..+63
MIDI Parameter Change table ( NORMAL VOICE ELEMENT)
ohne Gewähr
Address Size Data Prameter Name Description
(H) (H) (H)
2e 00 00 2 0000 Wave Num 1st Bit13..7
..3FFF 2nd Bit6..0
02 1 00..7F Note Limit Low C-2..G8
03 1 00..7F Note Limit High C-2..G8
04 1 01..7F Velocity Limit Low 1..127
05 1 01..7F Velocity Limit High 1..127
06 1 00..01 Filter Curve 0..1(lin,Exp)
07 1 00..02 LFO Wave 0;saw/1;tri/2;S&H
08 1 00..01 LFO Phase Init off/on
09 1 00..3F LFO Speed 0..63
0A 1 00..7F PLFO Delay 0..127
0B 1 00..7F PLFO Fade Time 0..127
0C 1 00..3F LFO PMD 0..63
0D 1 00..0F LFO FMD 0..15
0E 1 00..1F LFO AMD 0..31
0F 1 20..60 Note Shift -32..+32(semitones)
10 1 0E..72 Detune -50..+50(cent)
11 1 00..05 Pitch Scaling Rate 100,50,20,10,5,0(%)
12 1 00..7F Pitch Scaling Center C-2..G8
13 1 00..03 Pitch EG Depth 1/2,1,2,4(oct)
14 1 39..47 PEG Depth VelLevelSens. -7..+7
15 1 39..47 PEG Depth VelRateSens. -7..+7
16 1 39..47 PEG Depth Rate Scaling -7..+7
17 1 00..7F PEGDpth RateScalCenter C-2..G8
18 1 00..3F PEG Rate1(Attack) 0..63
19 1 00..3F PEG Rate2 0..63
1A 1 00..3F PEG Rate3 0..63
1B 1 00..3F PEG Rate4(Release) 0..63
1C 1 00..7F PEG Level0 0..127
1D 1 00..7F PEG Level1 0..127
1E 1 00..7F PEG Level2 0..127
1F 1 00..7F PEG Level3 0..127
20 1 00..7F PEG Release Level 0..127
21 1 00..3F Filter Resonance 0..63
22 1 00..07 Velocity Sens. 0..7
23 1 00..7F Filter Cutoff Freq. 0..127
24 1 00..7C Filter Scaling BP1 C-2..E8
25 1 01..7D Filter Scaling BP2 C#-2..F8
26 1 02..7E Filter Scaling BP3 D-2..F#8
27 1 03..7F Filter Scaling BP4 D#-2..G8
28 1 00..7F Filter Scaling Offset1 -63..+64
29 1 00..7F Filter Scaling Offset2 -63..+64
2A 1 00..7F Filter Scaling Offset3 -63..+64
2B 1 00..7F Filter Scaling Offset4 -63..+64
2C 1 39..47 FEG VelocityLevelSens. -7..+7
2D 1 39..47 FEG VelocityRateSens. -7..+7
2E 1 39..47 FEG Rate Scaling -7..+7
2F 1 00..7F FEG RateScalingCenter C-2..G8
30 1 00..3F FEG Rate1 0..63
31 1 00..3F FEG Rate2 0..63
32 1 00..3F FEG Rate3 0..63
33 1 00..3F FEG Rate4 0..63
34 1 00..7F FEG Level0 0..127
35 1 00..7F FEG Level1 0..127
36 1 00..7F FEG Level2 0..127
37 1 00..7F FEG Level3 0..127
38 1 00..7F FEG Level4 0..127
39 1 00..7F Element Level 0..127
3A 1 00..7C Level Scaling BP1 C-2..E8
3B 1 01..7D Level Scaling BP2 C#-2..F8
3C 1 02..7E Level Scaling BP3 D-2..F#8
3D 1 03..7F Level Scaling BP4 D#-2..G8
3E 1 00..7F Level Scaling Offset1 -63..+64
3F 1 00..7F Level Scaling Offset2 -63..+64
40 1 00..7F Level Scaling Offset3 -63..+64
41 1 00..7F Level Scaling Offset4 -63..+64
42 1 00..06 Velocity Curve 0..6
43 1 00..0F Pan (left..right),(scaling)
44 1 39..47 AEG Rate Scaling -7..+7
45 1 00..7F AEG RateScalingCenter C-2..G8
46 1 00..0F AEG Key On Delay 0..15
47 1 00..3F AEG Attack Rate 0..63
48 1 00..3F AEG Decay1 Rate 0..63
49 1 00..3F AEG Decay2 Rate 0..63
4A 1 00..3F AEG Release Rate 0..63
4B 1 00..7F AEG Decay1 Level 0..127
4C 1 00..7F AEG Decay2 Level 0..127
4D 2 0000 Address Offset 1st Bit13..7
..3FFF 2nd Bit6..0
4F 1 39..47 Resonance Sensitivity -7..+7
TOTAL SIZE 17D
e = 0 ;Current Normal Voice Element1 Address High Byte = 001000e
e = 1 ;Current Normal Voice Element2 e;Element Number
Wie die Strings aufgebaut sind
(siehe auch DB50 Doku)
Bei den Strings handelt es sich um die Anwendung des Sysex-Formats
" XG Native Parameter Change " :
Byte Bedeutung
F0 System Exclusive Status Byte
43 Yamaha ID
10 Geräte ID
4C XG Model ID
aa Adress High
aa Adress Mid
aa Adress Low
dd Data
. .
. .
. .
F7 End of Exclusive
Mit dem 1. Adressbyte werden die verschiedenen Parameter Changetables Parameter Change Tables adressiert. In der DB50 Dokumentation sind nur einige davon beschrieben.
Parameter Change Tables: aa/aa/aa
00 : SYSTEM
02 : EFFECT 1
08 : MULTI PART
10 : CURRENT NORMAL VOICE
11 : USER NORMAL VOICE
20 : CURRENT NORMAL VOICE E1
21 : CURRENT NORMAL VOICE E2
22 : CURRENT NORMAL VOICE E3
23 : CURRENT NORMAL VOICE E4
30 : DRUM SETUP 1
31 : DRUM SETUP 2
40 : DRUM COMMON
Am Beispiel des "MULTI PART Parameter Change" schaut das dann so aus :
( zu erkennen an der 08 anstelle des Adress High Bytes )
Byte Bedeutung
F0 System Exclusive Status Byte
43 Yamaha ID
10 Geräte ID
4C XG Model ID
08 Adress High für "MULTI PART"
nn Adress Mid hier kommt die Partnummer rein.
aa Adress Low hier kommt die Parameternummer (Adresse) rein.
dd Data hier kommt der Parameterwert (XX) rein.
. .
. .
. .
F7 End of Exclusive
Nun wissen Sie warum die "MULTI PART Parameter Change" Sysexstrings immer mit
F0 43 10 4C 08 beginnen.
Bei den anderen Tables
verhält es sich genauso. In den Parameter Change Tables der
jeweiligen Manuals stehen die Parameteradressen und deren
Belegung.
Mit diesem Wissen sollten Sie in der Lage sein auch andere
XG-Expander zu steuern.
Der große Vorteil dieser Parameteränderungs-Befehle via Sysex,
ist es daß diese Sysex keine sogenannte Checksumme benötigt und
somit an beliebiger Stelle abgebrochen werden kann, ohne daß die
Karte die schon empfangenen Informationen verwirft.
Wenn man mal einen Blick auf die Yamaha Dokumentation wirft (muß nicht sein) und sich die "MIDI Parameter Change Tables" mal ansieht, sieht man zunächst erstmal schwarz und dann vielleicht die Tatsache daß jeder einzelne Parameter in diesen Riesenoschis eine Nummer (Adresse) hat.
Diese steht bei dem "MULTI PART Parameter Change Table" , rechts neben nn.
Nun machen wir einfach nix
anderes als daß wir in dieser "Native Parameter
Change" -Sysex nicht den ganzen Parameterblock schicken,
sondern wir beginnen beim gewünschten Parameter (im
entsprechenden Table) und brechen gleich nach diesem wieder ab.
Man kann die Parameter also gezielt "adressieren" , indem man an der gewünschten Stelle des Parameterblocks reinspringt. Es lassen sich übrigens auch mehrere aufeinanderfolgende Parameter schicken, maximal jedoch immer nur ein kompletter Parameter Change Table. (Beim MULTI PART Parameter Change Table sind das zum Beispiel 63 Bytes).
Und Hier noch eine kleine Kurzanleitung zur Bedienung des Regelwerks.
Groß geschriebene Wörter symbolisieren die Tasten wie sie am Regelwerk zu finden sind.
Beachten Sie daß Strings ohne Variable, also ohne XX sinnvollerweise auf die Tasten des Regelwerks gelegt werden und daß bei Strings mit XX die X-Position auch stimmt.
Als Beispiel soll Volume für Part 1 auf den ersten Regler gelegt werden.
Wie man einem RW Fader einen Namen gibt
Drücken Sie FADER MODE und bewegen Sie den ersten Regler kurz.
Drücken Sie STRING EDIT.
Wenn nun "No Name!¦Make?" erscheint drücken Sie die O.K. Taste um den Namen zu erzeugen und anschließend nochmal STRING EDIT.
Der Zeichencursor befindet sich nun auf dem ersten Zeichen des Namens und man kann dieses mit dem Alpha Dial verändern.
In unserem Beispiel soll der Regler als "Volume" benannt werden, also stellen Sie das erste Zeichen auf V.
Anschließend bewegen Sie den Zeichencursor mit der INC Taste auf das nächste Zeichen und stellen dieses mit dem Alpha Dial auf o.
So fahren Sie fort bis Sie "Volume" im Display stehen haben.
Zur Korrektur kann der Zeichencursor mit DEC auch zurückbewegt werden.
Leerzeichen, also Zwischenräume sind natürlich auch einstellbar.
links Alpha Dial rechts
<--------------------------------->
¦
¦
!"#$%&n()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[Y]^_`abcdefghi...
¦
¦
¦
<--------- hier ist das Leerzeichen !
Wenn Sie nun "Volume" im Display stehen haben drücken Sie nur die FADER MODE Taste und !!!nicht!!! OK.
Es sollte nun jedesmal beim Betätigen des ersten Reglers "Volume"´ im Display erscheinen.
Wie man einen String für einen Fader am RW programmiert
Im vorherigen Punkt haben wir den ersten Regler mit "Volume" benannt. Damit dieser auch als solcher Funktioniert muß für diesen noch der passende String eingegeben werden.
Unter Punkt "MULTIPART Parameter Change" Strings suchen wir nach Volume und werden in der 12. Zeile fündig, wo da steht:
Regelwerkstring Parameter Wertbereich
F0 43 10 4C 08 nn 0B XX F7 VOLUME 00...7F
Um das Volume für den Part 1 zu regeln, setzen wir für nn = 00 ein.
und erhalten den einzugebenden String :
F0 43 10 4C 08 00 0B XX F7
0 1 2 3 4 5 6 7 8 <----- Position im String
1. 2. 3. 4. 5. 6. 7. 8. 9. <----- Länge = 9
So nun wolllen wir diesen mal eingeben !
Drücken Sie FADER MODE und bewegen Regler 1 (unser künftiger Volume Regler)ein kleines Stück.
Drücken Sie nun 2 mal FADER EDIT und stellen mit dem Alpha Dial das Midi Event auf "String".
Drücken Sie FADER EDIT nochmal und stellen Sie die X-Position mit dem Alpha Dial auf 7 (an diese Stelle kommt XX, zählen Sie im obigen String bei F0 beginnend von 0 an aufwärts nach, macht gleich 7 ).
Drücken Sie weitere 2 mal FADER EDIT und stellen Sie mit der INC Taste die Länge des obigen Strings ein. Die Länge ermittelt man, indem man einfach die Anzahl der Bytes zählt (von F0 bis einschließlich F7).
In unserem Beispiel, sowie bei den meisten hier vorkommenden Strings ist die Länge = 9.
Mit der DEC Taste können Sie auch wieder zurücksteppen, wenn Sie zuviel eingegeben haben.
Steht nun im Display unten "009<__,__,__,__>", dann drehen Sie den Alpha Dial langsam nach links (3 Raster) bis "009<..;__,__,__>" erscheint
Nun drücken Sie die O.K. Taste.
Das Regelwerk hat nun 9 Bytes Speicher für den String reserviert und weiß auch schon, wo es im String die Variable XX plazieren soll !
Drücken Sie nun nochmal FADER EDIT und es erscheint der noch leere String mit lauter Nullen drin : 000¦00,00,00,00>
diesen editieren wir nun:
STELLEN Sie mit dem Alpha Dial nun die F0 ein: 000¦F0,00,00,00>
Drücken Sie die INC Taste,
STELLEN Sie mit dem Alpha Dial nun die 43 ein: 001<43,00,00,00>
Drücken Sie die INC Taste,
STELLEN Sie mit dem Alpha Dial nun die 10 ein: 002<10,00,00,00>
Drücken Sie die INC Taste,
STELLEN Sie mit dem Alpha Dial nun die 4C ein: 003<4C,00,00,00>
Drücken Sie die INC Taste,
STELLEN Sie mit dem Alpha Dial nun die 08 ein: 004<08,00,00,XX>
Drücken Sie die INC Taste,
STELLEN Sie mit dem Alpha Dial nun die 00 ein: 005<00,00,XX,00>
Drücken Sie die INC Taste,
STELLEN Sie mit dem Alpha Dial nun die 0B ein: 006<0B,XX,00,__>
Drücken Sie die INC Taste,
Es erscheint die Variable XX an Position 7 007<XX,00,__,__>
Drücken Sie die INC Taste,
STELLEN Sie mit dem Alpha Dial nun die F7 ein: 008<F7,__,__,__>
Drücken Sie nun noch die FADER MODE TASTE und nun sollte der erste Regler das Volume von Part 1 (Midi Kanal 1) regeln.
Als nächstes wäre zu empfehlen die Programnummer auf den nächstenRegler zu legen, um die Voices anwählen zu können.
Dazu geht man wie eben bei Volume vor, nur eben mit dem String für Program Number. Suchen Sie diesen unter:
Punkt "MULTIPART Parameter Change" Strings.
Den Regler benennt man sinnvollerweise mit "Program".
Vergessen Sie auch nicht die Filter auszutesten (Woooow !)
Dazu legen Sie am besten auf die nächsten beiden Regler die Filter Cutoff Frequency und die Filter Resonance, welche Sie dann z.B. als "Cutoff" und "Resonanz" benennen.
Die Strings hierfür finden Sie ebenfalls unter Punkt "MULTIPART Parameter Change" Strings.
back to overview