Midi Kanäle per SysEx ein- oder ausschalten: wer kann helfen?

von gdop, 21.02.16.

Sponsored by
Casio
  1. gdop

    gdop Registrierter Benutzer

    Im Board seit:
    27.04.14
    Zuletzt hier:
    14.10.18
    Beiträge:
    200
    Ort:
    München
    Zustimmungen:
    49
    Kekse:
    220
    Erstellt: 21.02.16   #1
    Moin, Moin!

    @strogon14 hat mich Ende 2014 Jahr schon mal mit Infos gefüttert, aber leider komme ich nicht wirklich zu dem Ergebnis, dass mir vorschwebt. Auf meiner Suche habe ich in dem thread https://www.musiker-board.de/posts/7770862/ gelesen, dass gerade über SysEx diskutiert wurde. Daher versuche ich noch mal mein (Luxus-)Problem zu schildern.

    Ich habe recht alte Hardware und arbeite daher gerne mit Midi. In meiner Zeit als Jungspund hatte ich nur zwei Geräte und habe die Cubase Spuren per Dumpfile aufgeteilt.
    Heute habe ich vier aktive Geräte und wäre bei der Spurenvergabe gerne etwas flexibler.

    Mein Problem ist, dass alle Geräte gleichzeitig auf die DAW ansprechen und ich erst mühsam durch die Menüs klicken muss oder Editoren verwenden, um z.B. bei allen Geräten, die nicht auf Kanal 1 ansprechen sollen, den Empfang von Midi Daten zu deaktivieren.

    Eine Möglichkeit wäre, jedem Gerät vier Spuren zu geben, vier Dumpfiles zu machen und diese nach jedem Neustart einzuspielen. Das ist aber sehr statisch und dauert z.B. beim JV-1010 extrem lange.

    Ich würde das gerne über SysEx lösen, kriege es aber nicht auf die Reihe.
    Die Idee ist, für jedes Gerät einen SysEx Befehl zu haben, bei dem ich nur den Kanal ändern muss, um das Gerät auf der Spur stumm zu schalten, oder zu aktivieren.
    Die würde ich dann per drag & drop auf die entsprechenden Spuren legen, je wie es das Arrangement gerade braucht.

    Für Roland ist das relativ gut im Netz dokumentiert (http://www.2writers.com/eddie/tutsysex.htm) und ich kriege es zumindest in Richtung "abschalten" umgesetzt.

    Beispiel:
    ...
    [1] [2] [3] [4] [5] [6] [7] [8] [9]
    F0 41 10 42 12 40007F 00 41 F7
    ...
    Part [6] is the start address on which the SysEx intends to act.
    ...

    Wenn ich mir dann die MIDI Implementation Card vom JV-1010 ansehe und Kanal 1 "abschalten" will, komme ich auf:
    F0 41 10 6A 12 01 00 10 00 00 00 6F F7

    01 00 00 00 | Temporary Performance
    10 00 | Performance Part 1
    00 00 | 0000 000a | Receive Switch 0 - 1 (OFF,ON)

    Das haut soweit auch hin.

    Will ich jedoch zum Beispiel den abgeschalten Drum Channel 10 bei Bedarf mit
    F0 41 10 6A 12 01 00 19 00 00 01 65 F7
    wieder einschalten, geht das nicht.
    (Geht auch bei den anderen Kanälen nicht.)

    Und ich weiß nicht warum. Jemand eine Idee? :confused:


    Beim Korg X5DR sieht das empfangene Multi-Setup so aus:

    F0 42 30 36 68 00
    [Anm: es folgen Kanäle 01-16]
    00 7F 00 00 0F 22 7F 08 00 7F 01 3F 00
    01 7F 00 00 00 0F 22 7F 00 7F 02 01 3F 01
    02 7F 00 00 40 0F 22 7F 00 7F 01 3F 00 02
    00 7F 00 00 0F 22 10 7F 00 7F 01 3F 03
    04 00 7F 00 00 0F 22 7F 00 04 7F 01 3F 04
    10 7F 00 00 00 0F 22 7F 00 7F 01 01 3F 05
    00 7F 00 00 0F 20 22 7F 00 7F 01 3F 06
    00 17 7F 00 00 0F 22 7F 08 00 7F 01 3F 07
    1F 7F 00 00 00 0F 22 7F 00 7F 0A 01 3F 08
    00 7F 00 00 42 1F 20 7F 00 7F 01 3F 00 09
    00 7F 00 00 0F 22 10 7F 00 7F 01 3F 0A
    00 00 7F 00 00 0F 22 7F 00 04 7F 01 3F 0B
    00 7F 00 00 00 0F 22 7F 00 7F 01 01 3F 0C
    00 7F 00 00 0F 20 22 7F 00 7F 01 3F 0D
    00 00 7F 00 00 0F 22 7F 08 00 7F 01 3F 0E
    00 7F 00 00 00 0F 22 7F 00 7F 02 01 3F 0F
    [Anm: ... und die Pitch-Bend Parameter]
    02 02 02 02 00 02 02 02 02 02 00 02 00 02 02 02 02 02 F7
    [Anm: ... gefolgt von DATA LOAD COMPLETED (ACK)]
    F0 42 30 36 23 F7

    Der Timbre-Switch ist die rote Ziffer (hier nur für die ersten vier Kanäle hervorgehoben).
    ABER: was mir den Kopf zerbricht, sind die fetten Kursiv-Werte. Das scheint eine Art Prüfsumme zu sein, doch ich komme nicht dahinter, wie die gebildet wird und ob die beim Transmit auch eine Rolle spielt.
    Jeder achte HEX Wert nach dem Header ist so ein Wert.
    Ich habe die Anleitung vor und zurück gewälzt, aber ich check es nicht.

    Weiß das jemand und kann mir das erklären? Oder sagen, wo es steht? :weep:

    Den EMU Proteus 2000 und das Kurzweil PC3LE8 habe ich auch noch vor mir.
    Zum PC3LE finde ich im Netz keine Infos zur MIDI Implementierung. Da hat Soundtower wohl einen Deal mit Kurzweil, um den Absatz des Editors zu sichern. :rolleyes:

    Ich könnte das natürlich mit der "sündhaft teuren" Hardware von MOTU lösen.
    Aber wenn die Editoren das können, muss das doch auch per SysEx gehen.

    Ich hoffe, jemand hat ein paar gute Tipps, wie ich hier weiter komme.

    Viele Grüße,
    Hauke
     
  2. Duplobaustein

    Duplobaustein Keyboards Moderator

    Im Board seit:
    22.01.10
    Zuletzt hier:
    20.10.18
    Beiträge:
    9.012
    Ort:
    Wien
    Zustimmungen:
    2.190
    Kekse:
    11.621
    Erstellt: 22.02.16   #2
  3. synthos

    synthos Helpful & Friendly User HFU

    Im Board seit:
    20.10.08
    Beiträge:
    2.408
    Ort:
    Winterthur
    Zustimmungen:
    347
    Kekse:
    4.570
    Erstellt: 22.02.16   #3
    Die von mir rot markierten Nullen sollten da nicht stehen: Receive Switch braucht nur ein Daten-Byte (8 Bit) nicht zwei.

    Die Prüfsumme ändert sich durch das Weglassen dieser Nullen nicht.

    Grüsse,
    synthos
     
    gefällt mir nicht mehr 3 Person(en) gefällt das
  4. gdop

    gdop Threadersteller Registrierter Benutzer

    Im Board seit:
    27.04.14
    Zuletzt hier:
    14.10.18
    Beiträge:
    200
    Ort:
    München
    Zustimmungen:
    49
    Kekse:
    220
    Erstellt: 22.02.16   #4
    Ja, super! :cheer:
    Vielen Dank! Das war es.
    Jetzt geht's einwandfrei! :claphands:

    Dann mach ich mich jetzt mal an das Proteus Handbuch und hoffe, dass sich zwischenzeitlich noch jemand zum X5D meldet.
     
    gefällt mir nicht mehr 1 Person(en) gefällt das
  5. synthos

    synthos Helpful & Friendly User HFU

    Im Board seit:
    20.10.08
    Beiträge:
    2.408
    Ort:
    Winterthur
    Zustimmungen:
    347
    Kekse:
    4.570
    Erstellt: 24.02.16   #5
    Ich habe das jetzt geknackt, und zwar mit Hilfe des X5/X5D-Manuals, das man u. a. hier findet (S. 177ff im PDF-Dokument). In der Online-Version des X5DR-Manuals fehlen die Seiten über das SysEx-Format.

    Bei den zusätzlichen Bytes handelt es sich nicht um Prüfsummen, sondern um eine Konvertierung der Korg-Daten-Bytes, die Werte von 0–255 enthalten können, in Midi-Daten-Bytes, die nur Werte von 0–127 enthalten dürfen. Nur Midi-Status-Bytes dürfen Werte >127 enthalten.

    Die Konvertierung ist in dieser Grafik (S. 179 im PDF-Dokument) veranschaulicht:
    X5DumpDataConvert.jpg
    Sämtliche (Korg-)Daten werden in Pakete zu 7 Bytes eingeteilt, wobei jedes Byte Werte von 0–255 enthalten kann. Das jeweils vorderste Bit dieser 7 Bytes wird in ein zusätzliches achtes Byte gepackt, das dann vorne an die 7 geänderten Bytes angehängt wird. Damit erhält man schliesslich Pakete zu 8 Bytes, von denen jedes nur noch Werte von 0–127 enthält. In "deinem" Dump musst du daher auch die "00" gleich hinter dem Funktionscode "68" fett markieren – die gehört bereits zum ersten 8-Byte-Paket.

    Ein "Multi Setup Data(expansion) Dump" besteht gemäss "TABLE 4" (S. 181 im PDF-Dokument) aus 208 Bytes (16 x 12 Track-Parameter, gefolgt von den 16 Pitch-Bend-Ranges für jeden Track). Diese werden in 29 Pakete zu 7 Bytes eingeteilt, dann bleiben noch 5 Bytes für das letzte Paket. Jedes dieser 30 Pakete wird jetzt wie oben beschrieben konvertiert, so dass man schliesslich einen Dump von 29 x 8 + 6 = 238 Bytes erhält. Dies sind die Bytes zwischen "68" und "F7" in deinem Beispiel.

    Wenn wir dieses Beispiel paketweise zurück konvertieren, dann sieht das so aus:
    Code:
    00 00 7F 00 00 0F 22 7F –> 00 7F 00 00 0F 22 7F
    08 00 7F 01 3F 00 01 7F –> 00 7F 01 BF 00 01 7F
    00 00 00 0F 22 7F 00 7F –> 00 00 0F 22 7F 00 7F
    02 01 3F 01 02 7F 00 00 –> 01 BF 01 02 7F 00 00
    40 0F 22 7F 00 7F 01 3F –> 0F 22 7F 00 7F 01 BF
    00 02 00 7F 00 00 0F 22 –> 02 00 7F 00 00 0F 22
    10 7F 00 7F 01 3F 03 04 –> 7F 00 7F 01 BF 03 04
    00 7F 00 00 0F 22 7F 00 –> 7F 00 00 0F 22 7F 00
    04 7F 01 3F 04 10 7F 00 –> 7F 01 BF 04 10 7F 00
    00 00 0F 22 7F 00 7F 01 –> 00 0F 22 7F 00 7F 01
    01 3F 05 00 7F 00 00 0F –> BF 05 00 7F 00 00 0F
    20 22 7F 00 7F 01 3F 06 –> 22 7F 00 7F 01 BF 06
    00 17 7F 00 00 0F 22 7F –> 17 7F 00 00 0F 22 7F
    08 00 7F 01 3F 07 1F 7F –> 00 7F 01 BF 07 1F 7F
    00 00 00 0F 22 7F 00 7F –> 00 00 0F 22 7F 00 7F
    0A 01 3F 08 00 7F 00 00 –> 01 BF 08 80 7F 00 00
    42 1F 20 7F 00 7F 01 3F –> 1F A0 7F 00 7F 01 BF
    00 09 00 7F 00 00 0F 22 –> 09 00 7F 00 00 0F 22
    10 7F 00 7F 01 3F 0A 00 –> 7F 00 7F 01 BF 0A 00
    00 7F 00 00 0F 22 7F 00 –> 7F 00 00 0F 22 7F 00
    04 7F 01 3F 0B 00 7F 00 –> 7F 01 BF 0B 00 7F 00
    00 00 0F 22 7F 00 7F 01 –> 00 0F 22 7F 00 7F 01
    01 3F 0C 00 7F 00 00 0F –> BF 0C 00 7F 00 00 0F
    20 22 7F 00 7F 01 3F 0D –> 22 7F 00 7F 01 BF 0D
    00 00 7F 00 00 0F 22 7F –> 00 7F 00 00 0F 22 7F
    08 00 7F 01 3F 0E 00 7F –> 00 7F 01 BF 0E 00 7F
    00 00 00 0F 22 7F 00 7F –> 00 00 0F 22 7F 00 7F
    02 01 3F 0F 02 02 02 02 –> 01 BF 0F 02 02 02 02
    00 02 02 02 02 02 00 02 –> 02 02 02 02 02 00 02
    00 02 02 02 02 02       –> 02 02 02 02 02
    
    Nach der Konvertierung haben wir also wieder die 29 x 7 + 5 = 208 Bytes, und wir erkennen, dass einige Werte tatsächlich > 127 sind (z. B. 0xBF = 191). Diese Werte können wir jetzt noch ein bisschen verständlicher anordnen und erhalten
    Code:
    Track Parameters for Tracks 1-16:
    00 7F 00 00 0F 22 7F 00 7F 01 BF 00
    01 7F 00 00 0F 22 7F 00 7F 01 BF 01
    02 7F 00 00 0F 22 7F 00 7F 01 BF 02
    00 7F 00 00 0F 22 7F 00 7F 01 BF 03
    04 7F 00 00 0F 22 7F 00 7F 01 BF 04
    10 7F 00 00 0F 22 7F 00 7F 01 BF 05
    00 7F 00 00 0F 22 7F 00 7F 01 BF 06
    17 7F 00 00 0F 22 7F 00 7F 01 BF 07
    1F 7F 00 00 0F 22 7F 00 7F 01 BF 08
    80 7F 00 00 1F A0 7F 00 7F 01 BF 09
    00 7F 00 00 0F 22 7F 00 7F 01 BF 0A
    00 7F 00 00 0F 22 7F 00 7F 01 BF 0B
    00 7F 00 00 0F 22 7F 00 7F 01 BF 0C
    00 7F 00 00 0F 22 7F 00 7F 01 BF 0D
    00 7F 00 00 0F 22 7F 00 7F 01 BF 0E
    00 7F 00 00 0F 22 7F 00 7F 01 BF 0F
    Pitch Bend Ranges for Tracks 1-16:
    02 02 02 02 02 02 02 02 02 00 02 02 02 02 02 02
    
    In der letzten Spalte stehen die Switches und Midi-Kanäle für jeden Track.

    Zum Senden muss man das Ganze jetzt umkehren …

    Grüsse,
    synthos
     
    gefällt mir nicht mehr 3 Person(en) gefällt das
  6. gdop

    gdop Threadersteller Registrierter Benutzer

    Im Board seit:
    27.04.14
    Zuletzt hier:
    14.10.18
    Beiträge:
    200
    Ort:
    München
    Zustimmungen:
    49
    Kekse:
    220
    Erstellt: 25.02.16   #6
    Hallo synthos,

    vielen Dank für die ausführliche Erläuterung und Hilfe. Ich habe mir das PDF heruntergeladen und werde mir das noch mal ansehen.
    Ich komme noch nicht ganz mit, wie Du auf die 29 Pakete kommst. Aber ist schon spät und die Äuglein sind schon klein... :facepalm2:

    Was ich (glaube) verstanden zu haben ist, dass BF nicht darstellbar ist, weil das vorderste Bit dann eine "1" wäre. Oder?
    In Deiner verständlichen Anordnung wäre das doch dann nach Tabelle 4 der Control Filter mit Verweis auf "Note 8"
    Da steht, dass das 8. (siebte wenn man bei 0 anfängt) immer null ist. :confused:

    Ich glaube, ich muss mich erst mal ausschlafen.
    Verrate erst mal nicht mehr. Der Lernerfolg ist größer, wenn ich selbst drauf komme! :juhuu:
    Und die Blamage auch, wenn nicht! :weep:

    Besten Dank noch mal!

    Gruß,
    Hauke
     
  7. synthos

    synthos Helpful & Friendly User HFU

    Im Board seit:
    20.10.08
    Beiträge:
    2.408
    Ort:
    Winterthur
    Zustimmungen:
    347
    Kekse:
    4.570
    Erstellt: 25.02.16   #7
    Hallo gdop,

    Ja, diese 11. Spalte ist noch relativ wichtig, weil dieses Byte u. a. die Bank (A oder G) bestimmt, aus der die Programme (1. Spalte) für jeden Track gewählt werden.

    Grüsse,
    synthos
     
    gefällt mir nicht mehr 1 Person(en) gefällt das
  8. gdop

    gdop Threadersteller Registrierter Benutzer

    Im Board seit:
    27.04.14
    Zuletzt hier:
    14.10.18
    Beiträge:
    200
    Ort:
    München
    Zustimmungen:
    49
    Kekse:
    220
    Erstellt: 25.02.16   #8
    Hallo synthos,

    so, jetzt hab ich's. :juhuu:

    Habe mir in OpenOffice Calc eine Umrechentabelle gebastelt, mit dem ich die - bzw. beliebige - Werte nach dem von Dir erklärtem und in der Anleitung beschriebenem Muster "umrechnen" kann.

    Falls das jemand brauchen kann, teile ich das gerne per PN. Ist hier - verständlicherweise - kein erlaubtes Anhangformat.

    Vielen Dank noch mal. Ohne Dein "Muster" als Vergleich, hätte ich das wohl nie kapiert. :great:

    Gruß,
    Hauke

    PS: Vielleicht eine Frage noch: ich muss aber zum Senden immer den kompletten Multi Dump (18) nehmen und kann nicht - wie beim JV-1010 - einzelne Kanäle ein- und ausschalten? Jedenfalls habe ich das - bis jetzt - noch nicht gelesen.
     
  9. synthos

    synthos Helpful & Friendly User HFU

    Im Board seit:
    20.10.08
    Beiträge:
    2.408
    Ort:
    Winterthur
    Zustimmungen:
    347
    Kekse:
    4.570
    Erstellt: 26.02.16   #9
    Schön, dass es geklappt hat.
    Leider nicht. Es gibt zwar die Funktion "Parameter Change" (Funktionscode 41 statt 68), mit der man einzelne Parameter durch Angabe einer Adresse und eines Wertes ändern kann. Für Multis kann man jedoch nur die in TABLE 9 (S. 184 im PDF-Dokument) aufgeführten Parameter ändern, und da fehlen leider die Track Switches. Du könntest mit dieser Funktion die Lautstärke eines Tracks auf Null stellen, aber ich weiss nicht, ob das für dich eine Alternative ist. Das könntest du ja eh mit CC#7 machen.

    Grüsse,
    synthos
     
  10. gdop

    gdop Threadersteller Registrierter Benutzer

    Im Board seit:
    27.04.14
    Zuletzt hier:
    14.10.18
    Beiträge:
    200
    Ort:
    München
    Zustimmungen:
    49
    Kekse:
    220
    Erstellt: 26.02.16   #10
    Hallo Synthos,

    ich habe nun mit Hilfe meiner gestern erwähnten Umrechentabelle die Kanäle 1-9 und 14-16 deaktiviert und nachstehenden Dump an den X5D gesendet:

    Code:
    F0 42 30 36 68                           
    00    00    7F    00    00    0F    22    7F
    08    00    7F    01    3F    10    01    7F
    00    00    00    0F    22    7F    00    7F
    02    01    3F    11    02    7F    00    00
    40    0F    22    7F    00    7F    01    3F
    00    12    00    7F    00    00    0F    22
    10    7F    00    7F    01    3F    13    04
    00    7F    00    00    0F    22    7F    00
    04    7F    01    3F    14    10    7F    00
    00    00    0F    22    7F    00    7F    01
    01    3F    15    00    7F    00    00    0F
    20    22    7F    00    7F    01    3F    16
    00    17    7F    00    00    0F    22    7F
    08    00    7F    01    3F    17    1F    7F
    00    00    00    0F    22    7F    00    7F
    0A    01    3F    18    00    7F    00    00
    42    1F    20    7F    00    7F    01    3F
    00    09    00    7F    00    00    0F    22
    10    7F    00    7F    01    3F    0A    00
    00    7F    00    00    0F    22    7F    00
    04    7F    01    3F    0B    00    7F    00
    00    00    0F    22    7F    00    7F    01
    01    3F    0C    00    7F    00    00    0F
    20    22    7F    00    7F    01    3F    1D
    00    00    7F    00    00    0F    22    7F
    08    00    7F    01    3F    1E    00    7F
    00    00    00    0F    22    7F    00    7F
    02    01    3F    1F    02    02    02    02
    00    02    02    02    02    02    00    02
    00    02    02    02    02    02       
    F7                           
    
    Das hat auch prinzipiell funktioniert, nur verharrte der X5D nach der Übertragung im Status "processing...".
    Wenn ich dann eine Taste drückte, war alles wieder fein und so wie vorgesehen (nur Tracks 10 - 13 empfangen Daten).

    Also habe ich den ACK Befehl
    Code:
    F0 42 30 36 23 F7
    noch hinten dran gesetzt und :rock:!

    Nochmal besten Dank! :hail:
     
  11. gdop

    gdop Threadersteller Registrierter Benutzer

    Im Board seit:
    27.04.14
    Zuletzt hier:
    14.10.18
    Beiträge:
    200
    Ort:
    München
    Zustimmungen:
    49
    Kekse:
    220
    Erstellt: 27.02.16   #11
    Hallo,

    ich wechsle ein wenig zwischen Frage und Bericht, aber: vielleicht gibt es ja auch andere Wieder- oder Neueinsteiger, die ähnliche Herausforderungen haben und noch weniger Ahnung wie ich! :D

    Ich habe nun die erzeugten SysEx-Files in Cubase eingebunden und es funktioniert soweit. Um den Emu muss ich mich noch kümmern aber: andere Baustelle.
    Für diejenigen (wenigen) die nicht gleich wissen wie das geht, anbei ein kleiner Screenshot: Pattern anlegen -> Editor öffnen -> Controller auf System Exclusive -> Mit dem Stift ein Wert erzeugen und diesen per Doppelklick öffnen -> dann über importieren das vorher erzeugte SysEx-File einfügen. Beachte: der EOX Wert am Ende wird beim Importieren nicht überschrieben, existiert nach dem Import somit 2x. Ich habe den Wert dann manuell gelöscht.
    SysExCubase1.png

    Grüße,
    Hauke
     
  12. gdop

    gdop Threadersteller Registrierter Benutzer

    Im Board seit:
    27.04.14
    Zuletzt hier:
    14.10.18
    Beiträge:
    200
    Ort:
    München
    Zustimmungen:
    49
    Kekse:
    220
    Erstellt: 27.02.16   #12
    Und dann auch noch eine Frage:
    Im der Proteus Spezifikation lese ich gerade wieder von der Device-ID. Die gab es beim Roland JV-1010 auch, spielte beim Korg X5DR aber keine Rolle.
    Wird mit Zusammenhang mit Daisy-Chain Konfiguration genannt und gebraucht.

    Aber: Da der Header der SysEx Message doch Hersteller und Geräte Informationen enthält, wird doch der F0-F7 String sowieso nur von dem betreffenden Gerät interpretiert, oder?
    Die Device-ID kann doch nur dann eine Rolle spielen, wenn ich zum Beispiel mehrere Geräte des gleichen Herstellers/Typs anspreche, oder? :gruebel:

    Grüße,
    Hauke

    ... und schon wieder selbst beantwortet:
    This page defines the MIDI system exclusive (SysEx) device ID number. The
    SysEx ID lets an external programming unit to distinguish between
    multiple Proteus 2000 units connected to the same preset editor. In this
    case each unit must have a unique SysEx ID number.
     
  13. gdop

    gdop Threadersteller Registrierter Benutzer

    Im Board seit:
    27.04.14
    Zuletzt hier:
    14.10.18
    Beiträge:
    200
    Ort:
    München
    Zustimmungen:
    49
    Kekse:
    220
    Erstellt: 27.02.16   #13
    Nach 5 Stunden Proteus Handbuch und diversen Dumps...

    Für meine Aufgabenstellung fand ich auf der Seite 41 unter "Multi Mode Parameters (Channel Specific - per Channel)" den Parameter MULTIMODE_CHANNEL_ENABLE
    ganz passend und machte mich auf die Suche.

    Nach der Analyse der Setup Dump Response, habe ich gemäß Spezifikation auf Seite 28 den letzten Block an 576 Bytes vor EOX als MIDI Channel mit je 18 Parameter Bytes (2x16x18 = 576) herausgearbeitet.

    Für den ersten Kanal sah das dann so aus:
    Code:
    05 03 7F 00 40 00 7F 7F 00 00 01 00 00 00 01 00 00 00
    Aber dann wurde es auch schon wieder kniffelig.
    Die Reihenfolge der Parameter-Beschreibung auf den Seiten 41 und 42 scheint nicht zu stimmen.

    "05" entspricht zwar dem PRESET, die folgende "03" scheint jedoch die BANK zu sein (zumindest laut Display).
    "7F" ist VOLUME, also korrekt. Die dann folgende "00" scheint noch dazu zu gehören. Jedenfalls beeinflusst der Wert die Volume.
    Setze ich diese im ersten Byte mit 70 im Display auf 112, bewirkt ein "70 05" zum Beispiel, dass die Volume wieder auf MAX geht, was rechnerisch zumindest keine Addition wäre.
    Ähnlich ist es auch mit den folgenden PAN Parametern. "40" entspricht Center, "30" 16L und 50 16R. Erhöhe ich das folgende Byte und sende "40 05" geht PAN auf 63R.
    Da das in meinen Augen keine regulären Zustände sind, lässt man die wohl einfach auf "00".

    Dann kommt 2x "7F", was - wenn die Reihenfolge im Handbuch einigermaßen stimmt - der MIX_OUTPUT sein müsste. Auf Grund der Negativwerte und der dazugehörigen Erläuterung auf Seite 78, werden die wohl tatsächlich 2 Byte verwendet. Allerdings komme ich mit den Beispiel-Formeln niemals auf 7F.

    Gleiches gilt für die folgenden ARP-Parameter "00 00".

    Und dann - tä tärä tää - käme mein CHANNEL_ENABLE mit "01", was ich bei den zwei erlaubten Zuständen mal als "on" und "00" als "off" gesehen hätte.
    Aber: tut nich!

    Auch herumspielen mit den folgenden Bytes auf Grund meines Zweifels an der Sortierung (denn nach ENABLE sollte die BANK kommen, die ich gleich am Anfang nach PRESET gesehen habe) brachte nix. Insbesondere die letzten beiden brachten ein paar Lämpchen zum Leuchten und danach ging nix mehr.

    @synthos: vielleicht hast Du mal Zeit und Lust, auch diese Nuss zu knacken.

    Ich schau derweil weiter ins Handbuch. Vielleicht habe ich was überlesen...

    Grüße,
    Hauke


    Nachtrag: So, ich bin wieder ein Stück weiter!

    Der Schalter, den ich identifiziert hatte ist der Richtige. Nur wird die SysEx-Änderung wird durch eine Info aus dem "Block darüber" ausgehebelt.
    Also mache ich mich mal an den Rest des Dumps!
     
  14. synthos

    synthos Helpful & Friendly User HFU

    Im Board seit:
    20.10.08
    Beiträge:
    2.408
    Ort:
    Winterthur
    Zustimmungen:
    347
    Kekse:
    4.570
    Erstellt: 27.02.16   #14
    Da ich selber einen Orbit-3 habe, kann ich das schon z. T. nachvollziehen.

    Ich würde für diese Einstellungen jetzt allerdings keinen "Setup Dump", sondern den "Parameter Value Edit" verwenden. Der SysEx-Befehl
    Code:
    F0 18 0F 00 55 01 04 01 01 09 00 07 01 00 00 F7
    schaltet z. B. den Midi-Empfang von Channel 10A aus. Hier die Zerlegung dieses Befehls:
    Code:
    F0 18 0F 00 55 01    Parameter Value Edit
    04                   Anzahl der folgenden Byte-Paare (4)
    01 01                Parameter ID (MULTIMODE_CHANNEL_SELECT)
    09 00                Parameter Data (Kanal 10)
    07 01                Parameter ID (MULTIMODE_CHANNEL_ENABLE)
    00 00                Parameter Data ("aus" -- sende 01 00 für "ein")
    F7
    
    Hier wurden mit einem SysEx-Befehl zwei Parameter geändert, aber du kannst auch noch mehr Daten senden (gemäss Anleitung bis zu 244 Daten-Bytes, natürlich musst du dazu die Anzahl der Byte-Paare anpassen) und so die Empfangsschalter für mehrere Midi-Kanäle einstellen.

    Bei den Daten-Bytes ist zu beachten, dass zuerst die 7 niedrigwertigen Bits des Wertes gesendet werden und erst danach die 7 hochwertigen Bits. Hier Beispiele dazu:
    Code:
         4235 =  01000010001011 –> 0001011 0100001 = 0x0B 0x21
          147 =  00000010010011 –> 0010011 0000001 = 0x13 0x01
    0x70 0x05 = 1110000 0000101 –>  00001011110000 = 752
    0x1B 0x03 = 0011011 0000011 –>  00000110011011 = 411
    Grüsse,
    synthos
     
    gefällt mir nicht mehr 1 Person(en) gefällt das
  15. gdop

    gdop Threadersteller Registrierter Benutzer

    Im Board seit:
    27.04.14
    Zuletzt hier:
    14.10.18
    Beiträge:
    200
    Ort:
    München
    Zustimmungen:
    49
    Kekse:
    220
    Erstellt: 27.02.16   #15
    Hallo Synthos,

    vielen Dank für die Info! Das werde ich mal ausprobieren. :great:

    Zwischenzeitlich habe ich den SETUP DUMP so hinbekommen, dass die Mindestanforderung schon mal erfüllt sind.
    Mit Deinem "Parameter Value Edit" bin ich dann sicher noch flexibler.

    Aber, grundsätzlich stand mein Pfadfindertum wieder dem Pragmatismus im Weg! :rolleyes:
    Beim Studium des Operating Manuals und dem Austesten der Einstellungen habe ich gemerkt, dass beim EMU - im Gegensatz zum X5D und JV-1010 - die Einstellung des Setup nach Power Off - On erhalten bleiben. Das reduziert den Aufwand schon hardwareseitig enorm. Zumal das Menü des Proteus meines Erachtens ganz übersichtlich ist.

    Also, frei nach Kavka: hamma wieder was gelernt!

    Besten Dank noch mal für die Unterstützung. :cheer:

    Grüße,
    Hauke
     
  16. gdop

    gdop Threadersteller Registrierter Benutzer

    Im Board seit:
    27.04.14
    Zuletzt hier:
    14.10.18
    Beiträge:
    200
    Ort:
    München
    Zustimmungen:
    49
    Kekse:
    220
    Erstellt: 28.02.16   #16
    Heute Praxistest.

    Das Ausschalten des Timbre beim X5DR wird leider durch PRG CHG wieder aufgehoben.
    Wenn ich Spur 8 also "ausgeschalten" habe (***: Timbre off) und über DAW ein PRG CHG auf dem Proteus mache, wird bei übereinstimmender Programmnummer das Programm auch auf dem X5D eingerichtet und gespielt.
    Klar, kann man natürlich nach dem Fund eines passenden Sounds wieder ausschalten. Ist aber doch irgendwie eine Mogelpackung.
    Alternativ kann ich zwar im Global Setup "PRG: DIS" einstellen, aber dann kann ich natürlich auch die Programme der (eigentlich) als aktiv vorgesehenen Kanäle nicht mehr über die DAW ändern.

    Naja, irgendeinen Tod muss ich wohl sterben.

    Gruß,
    Hauke
     
  17. synthos

    synthos Helpful & Friendly User HFU

    Im Board seit:
    20.10.08
    Beiträge:
    2.408
    Ort:
    Winterthur
    Zustimmungen:
    347
    Kekse:
    4.570
    Erstellt: 28.02.16   #17
    Du kannst beim X5DR den Empfang von Programmwechselbefehlen für jeden Track einzeln ausschalten. Das wäre die zweitletzte Spalte "Control Filter", in der oben überall "BF" steht. Wenn du das für einige Tracks auf "BE" änderst, dann sollten diese Tracks keine Programmwechselbefehle mehr empfangen.

    Grüsse,
    synthos
     
    gefällt mir nicht mehr 1 Person(en) gefällt das
  18. gdop

    gdop Threadersteller Registrierter Benutzer

    Im Board seit:
    27.04.14
    Zuletzt hier:
    14.10.18
    Beiträge:
    200
    Ort:
    München
    Zustimmungen:
    49
    Kekse:
    220
    Erstellt: 28.02.16   #18
    Ja, cool !!! Wie immer: herzlichsten Dank!
     
Die Seite wird geladen...

mapping