Roland A-Pro Masterkeyboard - Programmierung (SysEX)

  • Themenstarter GeoTeknique
  • Datum Start
  • Schlagworte
    checksum midi programmer roland a-pro sysex
GeoTeknique

GeoTeknique

|||||
Es scheint irgendwie noch keinen eigenen Thread für das A-Pro von Roland zu geben, drum mache ich mal einen neuen auf.

Hier soll's in erster Linie um die Technik gegen und wie man diese zielgerichtet einsetzt. Das A-Pro verfügt nämlich als eine der ganz wenigen Keyboard-Controller über die Fähigkeit SysEx-Nachrichten inkl. Prüfsummenalgorithmus zu senden. Das macht das Keyboard besonders für Diejenigen interessant, die sich an älteren Synthesizern versuchen, die meist nur mit SysEx kommunizieren können, wie viele der Rompler von Roland oder dem D-50. Vor allem bei Rackmount-Synthesizern ganz ohne Fader und Drehregler ist so ein Keyboard 'goldwert' für eine Live-Klangformung.

Den ersten Schritt wie man einn einfachen Parameter wie z.B. den Master-Volume eines XV-Romplers sendet habe ich neulich hier ausführlich beschrieben:

Jedoch ergibt sich im Zuge der weiteren Programmierung ein Problem mit dem Datenformat wenn es um Werte > 127 geht. Dann muss das 7-Bit-Format verlassen werden. Im Handbuch steht als BSP. für die LFO Rate (Freq) eine Auswahl von 0-149 zur Verfügung, welche in folgender Weise organisiert sind:

66263-d134c5ed5e4b66abe87d372aa8d41247.jpg

Also ein 2*4Bit Format. In der Steuerungssoftware gibt es ein DT1-Datenformat mit 2x4 Bit.
66264-33ba091fd0c2d6ef6b8c49c72ea3572d.jpg

Allerdings scheint das nicht ganz so zu funktionieren, wie angedacht, denn in der Assigment-Liste die man sich ausgeben lassen kann ist dann folgendes zu lesen:
66265-94179815c595a0ac16db3124a910d766.jpg
[0 -159] ist der Wertebereich der übermittelt wird - nicht 0-149! Stelle ich den MaxValue auf 8 - erniedrigt sich die Obergrenze um 16 auf 143 - stelle ich es auf den maximalmöglichen Wert von 15, ist die obere Grenze 255 (dezimal) - also immer im 16er Raster. Das führt zu dem unschönen Nebeneffekt, dass nach Erreichen des höchsten Werts, der Slider noch weiter fährt und Werte ab 150 sendet, die vom Gerät dann als 92(dezimal) interpretiert werden. Also auf Anschlag ist dann ein Wert im oberen Drittel gesetzt - nicht der tatsächliche obere Grenzwert, wie er im Handbuch steht. Da das Keyboard bei SysEx-Nachrichten den gesendeten Dezimalwert nicht anzeigt, bleibt nur die aufgedruckte Skala auf dem Keyboard.

Nun ist die Frage aller Fragen - wie definiere ich den Datenbereich so, dass er nur von 0 bis 149 (dezimal) geht?
Ansonsten sind hier der Diskussion um Programmierung und MIDI im Allgemeinen bezogen auf das A-Pro und deren Vorgänger natürlich auch willkommen.

Dankr
 
microbug

microbug

|||||||||||
Roland hat die bytes genibblet, also von 2 bytes immer nur die Hälfte benutzt. Das ist zwar "Verschwendung", aber einer der vielen Wege, die 7 Bit Grenze zu umgehen. Nachdem man aber hier auch die Wahl hätte, welches der Nibbles zuerst kommt, in diesem Fall wohl MSN vor LSN.

Das Format 4bit/4bit ist schon richtig, beim A-Pro, wie aber auch beim Edirol PCR davor, stellst Du bei diesem Format den Bereich des ersten Bytes ein, das Zweite ist fest auf 0-F festgelegt - steht auch so im Handbuch. Dummerweise kann man beim A-pro die Reihenfolge nicht einstellen, nachdem aber das Sysex Format bei Roland einheitlich ist und die Checksum auch das Roland Format beinhaltet, sollte das auch hier gehen.

Was mich beim Wertebereich irritiert, sind die verschiedenen Angaben, einmal 0-149 und einmal 0-127 mit dem Zusatz "Musical Notes". Hat der LFO da zwei Modi? Dann wird es problematsch, das von dieser Tastatur aus zu steuern sag ich mal, denn eine Parameterabhängigkeit geht da nicht.
 
GeoTeknique

GeoTeknique

|||||
Numerisch ist ein Wertebereich von 0 bis 127 vorhanden wie bei fastallen Reglern, aber wenn man noch weiter dreht, kommen eine Auswal an Noten. Ähnlich beim SDE-330-Delay kann man hier direkt eine Notenlänge wählen, an der sich die LFO-Frequenz dann am MIDI-Clock-Signal orientiert. Dafür sind dann eben noch 22 weitere Einträge im Wertebereich vorhanden.

159 = 9F
149 = 95

Also kann ich es so garnicht zielgenau auf 149(dezimal) bekommen?
 
microbug

microbug

|||||||||||
Also kann ich es so garnicht zielgenau auf 149(dezimal) bekommen?
nach dem was ich sehen konnte und mit der Bereichseinschränkung in den Bytes beim A-Pro (gilt das dort noch oder haben die das geändert?) würde ich fast sagen: nein. Da ist Roland offenbar mal wieder inkompatibel zu sich selbst. Ließe sich bei 4bit/4bit die Reihenfolge der Nibbles einstellen, würde es gehen.

Lade Dir mal MIOS Studio von ucapps.de runter, da kannst Du Sysex Strings direkt eingeben und probieren.

Schon blöd, daß es kein solches Tool wie MIDIA, später Hearmaster, mehr gibt. Damit hab ich meine Geräte damals immer geärgert, um sie dann mit Sounddiver traktieren zu können. MIOS Studio ist aber schon ein recht guter Ersatz.
 
GeoTeknique

GeoTeknique

|||||
Ist ja auch halb so wild -das Grundsystem der SysEx-Programmierung auf dem A-Pro habe ich ja nun verstanden und hoffe auch so mancher Mitleser.
Was mir noch auffiel, wenn ich das Keyboard per USB am PC hatte und an hatte und gleichzeitig den Synthesizer über den MIDI-OUT steuern wollte gab es immer mal wieder Aussetzer in der Form, dass das Keyboard kurz ausging auch dann wieder hochfuhr - das ganze wurde zudem mit einem MIDI-Communication-Error im Synth quittiert. Ebenso war kein Umschalten mehr auf SPLIT möglich. Da kam der irgendwie mit sich selbst durcheinander. Noten kamen aber durch. Bei Stromversorgung über USB aus der Steckdose mit USB-Anschluss war alles in Ordnung. Keine Ahnung was da los war.
 
GeoTeknique

GeoTeknique

|||||
Eigentlich macht es ja auch keinen Sinn im geschilderten Fall die Notenauswahl für die LFO-Frequenz mit in den Wertebereich aufzunehmen. Ich sehe ja wie gesagt nirgends welche Note nun genau eingestellt ist bei 149 Werten auf 5cm Schiebeweg, dazu noch ohne Anzeige. Von daher würde ich hier den Bereich auf 0-127 beschränken, so dass ich nur numerische Werte rüberschicke - und das passt ja dann mit den Teiler=16 und wir bekommen modulo=0. Von daher kann mir die Roland-interne Inkompatibilität zwischen den Geräten rel. egal sein. Wenn ich unbedingt den LFO schnell auf ein Clock-Signal synchen will kann ich dass ja auch mit einem der Buttons machen. Da weiß ich dann auch genau welche Note auf welchem Taster liegt. Das macht mehr Sinn. Trotzdem wär's natürlich schön, wenn das Display im A-Pro wenigstens den gesendeten numerischen Wert in Dezimalform anzeigen würde wie es das bei CC-Meldungen ja auch macht.

Ich ahne schon, dass es auf mehrere Presets nur für diesen Synth hinausläuft um alleine die wichtigsten Klangformungsparameter anzuzapfen. Und bei 4 Tones kommt da Einiges zusammen.
 
microbug

microbug

|||||||||||
Was mir noch auffiel, wenn ich das Keyboard per USB am PC hatte und an hatte und gleichzeitig den Synthesizer über den MIDI-OUT steuern wollte gab es immer mal wieder Aussetzer in der Form, dass das Keyboard kurz ausging auch dann wieder hochfuhr - das ganze wurde zudem mit einem MIDI-Communication-Error im Synth quittiert. Ebenso war kein Umschalten mehr auf SPLIT möglich. Da kam der irgendwie mit sich selbst durcheinander. Noten kamen aber durch. Bei Stromversorgung über USB aus der Steckdose mit USB-Anschluss war alles in Ordnung. Keine Ahnung was da los war.
Das ist mir beim A-800 Pro nicht aufgefallen und beim PCR-800, welches ich jetzt habe, auch nicht. Beide hingen auch schon direkt am Fantom ohne Probleme. Evtl liegts an Deinem Rechner?

Ich hatte mich eher geärgert, daß wenn man das Ding am USB Power hängen hatte, nix aus der MIDI Buchse rauskam und dachte, das ist mal wieder der eingebaute Roland, dabei muß man einfach nur den Interface Mode ausschalten ...

BTW: MIOS Studio braucht man nicht, SendSX kann frei definierbare Sysex Strings eingeben, sehr gut.
 
GeoTeknique

GeoTeknique

|||||
Der Control-Change ist ja kanalgebunden. Wenn ich ein Regler mit einer bestimmten CC-Funktion belegt habe bezieht sich das ja auf einen MIDI-Kanal. Stelle ich dann den Kanal des Keyboards am Gerät mit dem Encoder um, hat das keine Auswirkungen auf den Regler, da dieser fest z.B. auf Kanal1 eingestellt ist.
Wünschensert wäre also, wenn ich am Gerät einen Kanalwechsel anstrenge, dass dann auch für die CC-Regler übernommen wird. Kriegt man das irgendwie hin, dass auch auf Kanal2 CC gesendet wird oder benötigt es dafür ein neues Preset?
 
microbug

microbug

|||||||||||
Der Control-Change ist ja kanalgebunden. Wenn ich ein Regler mit einer bestimmten CC-Funktion belegt habe bezieht sich das ja auf einen MIDI-Kanal. Stelle ich dann den Kanal des Keyboards am Gerät mit dem Encoder um, hat das keine Auswirkungen auf den Regler, da dieser fest z.B. auf Kanal1 eingestellt ist.
Wünschensert wäre also, wenn ich am Gerät einen Kanalwechsel anstrenge, dass dann auch für die CC-Regler übernommen wird. Kriegt man das irgendwie hin, dass auch auf Kanal2 CC gesendet wird oder benötigt es dafür ein neues Preset?
Bei den PCRs gibt es den Omni-Modus. Wenn Du den einschaltest, wird der pro Element eingestellte MIDI Kanal ignoriert und stattdessen der Aktuelle der Tastatur genommen. Diese Einstellung sollte es bei den A-pros auch geben.
 
 


News

Oben