Problem mit “sys ex” Codes in der MIDI Ansteuerung

  • Hallo zusammen,
    nach einem Wochenende erfolglosen Experimentierens und Recherchierens melde ich mich hier im Forum doch mit einem Hilferuf:
    Ich spiele auf meiner Johannus-Orgel einige Sample Sets mit der GrandOrgue 0.3.1.2171. Klappt soweit recht gut, nur kriege ich einfach die (glaube ich an jeder Johannus) vorhandenen Setzer (die Push-Buttons 1-8) einfach nicht richtig ans Laufen. Das Handbuch erklärt, dass diese kein normales MIDI-Signal setzen, sondern ein "sys ex" Codes. Nun hat ja GrandOrgue spezielle Controls für die Buttons, u.a. sogar ein Ereignis "Sys ex Johannus", aber zu früh gefreut: Ich kann zwar wie gewohnt den Dialog mit "warte auf Ereignis oder "detect complex MIDI setup" abschliessen, aber die physischen Buttons und die in GrandOrgue verstehen sich nicht. Ab und an schaltet mal einer, aber dann auch nicht der, der ich haben wollte, meist passiert gar nichts.
    Den Datenstrom habe ich in MidiOX abgegriffen, beim Drücken des Button wird z.B. ein "SYSX: F0 00 4A 4F 48 41 53 0A F7" oder "SYSX: F0 00 4A 4F 48 41 53 0B F7" geschickt. Aber so richtig weitergebracht hat mich das nicht.
    Ist übrigens egal. welches Sample Set ich geladen habe, reagiert bei allen gleich, muss wohl an mir liegen ;( denn irgendwer wird doch wohl auch auf einer Johannus mit GrandOrgue und vollem Funktionsumfang spielen?
    Vielen Dank fürs durchlesen bis hierher, und schöne Vorweihnachtszeit!
    Oliver

  • Aktiviere mal die Log MIDI Event Option in GO. Wenn du dann einen Setzer-Knopf drückst: Schickt die Orgel nur ein SYSEX (sysex Johannus value) oder generiert der Setzer-Knopf noch zusätzlich weiter MIDI Signale (wahrscheinlich) zur Umschaltung der Register lt. Orgel-Setzer-Inhalt?

  • Hallo,
    im Dateianhang sind die aufgefangenen Midi-Events (sowohl von GO als auch Midi-Ox). In der Tat wird sehr viel mehr geschickt, als nur eine sysex-Nachricht. Bei meiner Johannus Studio 150 ist es so, dass ich spezielle MIDI-Register gedrückt habe, wenn ich mit GO spielen will. Die drei sind ich also alle an und sind auch so im Setzerknopf in der Orgel konfiguriert (muss ich denke ich machen, sonst würde er mir ja ggf. hinterlegte Orgelregister einschalten und das MIDI-Register wegschalten). Ich hatte auch mal probiert, in der MIDI-Config der Orgel etwas zu ändern, weil ich in einem Erklärvideo oder -text was von einem Kanal 5 gehört hatte, aber bei try&error ohne genaue Vorstellung, wo ich dahin muss, hat das alles nicht so hingehauen und ich habe lieber wieder einen Reset der Orgel gemacht.
    Nun hoffe ich auf den/die Experten! - Besten Dank für das Hilfsangebot!!

  • Welchen MIDI Ausgang von der Orgel verwendest du (MIDI SEQ oder MIDI MOD)?

    Willst du die Register-Schalter auf der Orgel zur GO Steuerung nutzen?

    Per MIDI MOD würde GO wie ein Expander angebunden werden. Das scheint eingeschränkter zu sein. GO kann auf alle MIDI Nachrichten gesendeten reagieren - mir fehlt das Wissen, wann warum welche Nachricht gesendet wird.

    Nach den Handbuch von der Studio 150 im Internet würde ich MIDI SEQ mit den PC verbinden und alles neu per MIDI detection zuweisen. Auf der Orgel selbst entweder eine der 4 "Orgelen" als Stumm konfigurieren oder die Lautstärke auf 0 stellen. Die Registerschalter sollten eigentlich einen GO Element zugewiesen werden können - die speziellen MIDI Register sollten unnötig sein [eventuell als weiterer Registerschalter nutzbar].

  • Zitat

    Original geschrieben von martin
    Welchen MIDI Ausgang von der Orgel verwendest du (MIDI SEQ oder MIDI MOD)?


    => MIDI SEQ (hatte auch MOD probiert, war aber nicht anders in der Wirkung)


    Zitat


    Willst du die Register-Schalter auf der Orgel zur GO Steuerung nutzen?


    =>eigentlich nicht, da die Namen auf den Registern eh nicht so gut passen. Die Setzer benutze ich auch beim "normalen" Spiel auf der Johannus gern, da sie gut erreichbar sind und ich so schnell mehrere Register wechseln kann. So hatte ich mir das auch mit GO vorgestellt.


    Zitat


    Nach den Handbuch von der Studio 150 im Internet würde ich MIDI SEQ mit den PC verbinden und alles neu per MIDI detection zuweisen. Auf der Orgel selbst entweder eine der 4 "Orgelen" als Stumm konfigurieren oder die Lautstärke auf 0 stellen. Die Registerschalter sollten eigentlich einen GO Element zugewiesen werden können - die speziellen MIDI Register sollten unnötig sein [eventuell als weiterer Registerschalter nutzbar].


    => hier noch mal danke, dass du dich mit einer fremden Orgel herumschlägst und sogar deren Handbuch studierst. Ich probiere es morgen mal ohne die MIDI-Register, vielleicht bringen die ja tatsächlich GO durcheinander. Das mit dem Leisespielen ist eine Idee, müsste nur die Verkabelung ändern, da ich die PC-Soundkarte bisher an die Johannus angeschlossen habe, um deren Lautsprecher (gar nicht mal so übel der eingebaute Subwoofer) mit zu nutzen. Klar kann ich die meine externen Zusatzlautsprecher auch direkt an den PC anschließen, heißt aber umverkabeln und einen zusätzlichen Subwoofern ordern...

    Ein Trick ist mir außerdem noch eingefallen,da ich selten (nie?) die ganz hohen Noten brauche, könnte ich ja evtl. zwei oder drei Klaviatur- oder Pedaltasten als Generals nutzen. Wenn ich GO beibringe, nur eine kleinere Klaviatur zu nutzen, müssten die Tasten rechts doch "frei" sein? Werde ich auch mal ausprobieren und berichten. Aber heute abend ist zu spät und die Küche noch nicht aufgeräumt 8-|

  • Du kannst in GO bei den Manualen einen Low/High Key einstellen - "Detect complex MIDI event" hilft dabei, aber Anweisungen ganz genau befolgen.

    Damit du einen Schalter für GO verwenden kannst, braucht dieser eine eindeutige MIDI Nachricht [ - GO könnte auch mehr als eine MIDI Nachricht pro Element]. Wenn ein Schalter gleich mehrere MIDI Nachrichten auslöst, können das MIDI Learning von GO vielleicht eine nicht optimale Nachricht vorschlagen, da müsste man händisch nachbessern.

    Ich würde empfehlen, leg dir eine Liste an, was deine Orgel wann sendet (am besten für beide MIDI Anschlüsse).
    Starte Log MIDI Events und fang bei den Register-Schaltern an. Notiere dir Register 1 sendet X, usw. Wenn du dann zu den Setzern kommst, erkennst du so vielleicht etwas wieder.
    Ziel müsste sein, für jeden Schalter ein eindeutiges Event zu finden - die Konfiguration von diesen sollte dann leicht machbar sein.

    Anhand einer solchen Liste kann man sicher auch das MIDI Learning von GO für dieses Modell verbessern.

  • sooo, das hat ein bisschen gedauert, aber ich habe hier ein Übersicht mit den Midi-Events einer Johannus Studio150 für das Entwickler-Team, vielleicht hilft's weiter.

    Für mich habe ich derzeit einen Workaround für die in GO nicht funktionierenden Setzer gefunden. Diese schicken ja kein richtigen MIDI-Event, daher kann ich auch "detect complex MIDI event" nicht nutzen, da GO laut Log gar nicht mitkriegt, dass ich einen Setzer drücke.

    Ausgangspunkt meines Workaround war die Erkenntnis, dass diese ulkigen MIDI-Register für GO wirklich (fast) unnütz sind. Ich habe darauf die stummen Register (sind insg. 8 Registerwippen, die ich brauchen kann) als Generals in GO per üblichem Midi-Mapping eingerichtet. Das kann ich mir gerade so merken, dass z.B. die I/P-Koppel dem G1 entspricht, II/P dem G2 usw. Damit komme ich beim Spielen nach kurzer Gewöhnungsphase gut klar. Für einen kleinen Moment dachte ich, ich könnte ja die Setzer mit den einzelnen Registerwippen belegen, die dann beim Schalten statt des SysEx der Setzer ein brauchbares Program Change-Event an GO schicken. Hat aber auch nicht sein sollen, da ich nicht von jedem Setzer auf einen anderen umschalten konnte, das Verhalten war mir dann doch zu unvorhersehbar. Hatte auch mal mit der MIDI-Config der Johannus experimentiert (z.B. Kanalnummern ändern), da ist aber auch im Handbuch nicht wirklich viel erklärt, weshalb ich das alles wieder auf den Originalzustand resettet habe.

    Ich hatte früher ja schon mal ausgeführt, dass ich meinen PC an den Line-In der Johannus anschlossen habe, das spart mir das Hin- und Her mit Lautsprechern, aber dafür muss ich notgedrungen auf "freie Registerwahl" verzichten oder aber GO und Johannus-Register mischen, was je nach Sample aber etwas Tuning der Tonhöhen und Lautstärken der Register bedarf.

    Was ich ebenfalls schätzen gelernt habe ist der Crescendo-Schweller. Hatte das an der genialen Orgel von Dluga Koscielna das erste mal probiert und möchte das Feature, welches die Studio 150 nicht standardmäßig hat, nicht mehr missen: Besten Dank an die GO-Entwickler, ihr habt da echt großartige Arbeit abgeliefert!!!
    :A :A :A

  • Sind die Events vom MIDI SEQ oder MIDI MOD Ausgang?

    Das SET nichts liefert ist wahrscheinlich ein Zeichen dafür, das der Setzer der Orgel nicht direkt an MIDI angebunden ist, sondern die Auswirkungen der Registerumschaltungen per MIDI sichtbar werden.

    Interessant ist auch die SYSEX:
    F0 00 4A 4F 48 41 53 00 10 09 F7

    Lt. Handbuch der 150 wäre der SYSEX aber: F0 00 4A 4F 48 41 53 XX F7. Das sind 2 Bytes zu viel (00 10).

  • Ich will mich auch mal einbringen: Habe auch seit Kurzem eine Johannus, und würde gerne die Setzer in GO nutzen. Habe jetzt genau durchgetestet:
    Die Setzer (habe die Opus 250) liefern - sofern die "leer" sind, also keine Register schalten - nur einen einzigen 11-Byte SysEx:
    Es gibt 75 Speicherbänke mit je 8 Speichern:
    Bank 1, Setzer 1: F0 00 4A 4F 48 41 53 00 10 09 F7
    Bank 1, Setzer 2: F0 00 4A 4F 48 41 53 00 10 0A F7
    usw. Es wird also das vorletzte Byte hochgezählt.

    Bank 2, Setzer 1: F0 00 4A 4F 48 41 53 01 10 09 F7
    usw. Es wird also das viertletzte Byte hochgezählt.

    Die automatische Midierkennung in GO reagiert auf diese Codes nicht.
    Kann man das GO irgendwie beibringen?

    Viele Grüße,
    Lars

    PS: Es gibt auch 9-Bytes Codes bei Johannus für andere Funktionen.
    SEQ oder MOD spielt hier keine große Rolle. Bei MOD kann man halt für die Manuale und Pedale den Kanal ändern, bei SEQ sind sie fest belegt.

  • Habe das Ganze grad noch mal bei Hauptwerk getestet: hier werden die Setzer-Codes empfangen und können genutzt werden. Da Hauptwerk aber explizit nur auf das Byte 10 hört (dies ist als Option so vorkonfiguriert), kann man maximal die 8 Setzer auf Bank 1 verwenden.

  • Dieser SYSEX ist nicht dokumentiert und muss erst in GO implementiert werden.

    Der ersten 7 Bytes sind ein fixer Johannus Prefix - das letzte Byte ist auch Fix.
    Ich frage mich, wozu das 9 Byte ("10") dient?

    Soll man also auch nur auf Byte 10 schauen oder auch Byte 8 miteinbeziehen? Und Byte 9?

    Wenn man das Format einer Nachricht kennt, kann man eine zukunftssicher Lösung umsetzen - ansonsten kann es jederzeit eine Überraschung [bei einen anderen Modell] auftauchen, die zum Umbau der bisherigen Lösung zwingt. :/

  • Hallo,
    nachdem dieses Verhalten mit den undokumentierten 11-Byte-Formaten nun bei zwei neueren Johannus-Orgeln auftritt, habe ich heute morgen mal Johannus angemailt. Ich lasse von mir hören, wenn aus Holland eine Antwort gekommen ist.
    Wünsche im übrigen allerseits ein gesegnetes neues Jahr, mit oder ohne funktionierenden Setzer-Knöpfen :??: !
    Oliver

  • Um noch etwas mehr Klarheit (oder Unklarheit?) in die Sache zu bringen:
    Die Johannus hat zwei Midi-Ausgänge: MIDI SEQ und MIDI MOD.
    MIDI SEQ liefert bei (fast) allen Knöpfen, Registern etc. ein Midi-Signal (mit festgelegtem nicht konfigurierbarem Inhalt), MIDI MOD kann man konfigurieren, und zwar die Kanäle für die Manuale, Pedale, und es liefert bei vielen Schaltern keine oder andere MIDI-Signale, z.B. werden die Register gar nicht gesendet,
    und die Tasten / Pedale liefern nur Midisignale, wenn die extra Midi-Taste für das entsprechende Manual an ist.

    Für die Setzer gibt es auch einen gravierenden Unterschied:
    MIDI MOD liefert 9 Bytes (also z.B. F0 00 4A 4F 48 41 53 09 F7 für Setzer 1) und unterstützt keine Setzerbänke (da das Byte 9 und 10 aus dem 11-Byte-SysEx fehlen. Andere Bänke liefern daher immer den gleichen Code).
    MIDI SEQ liefert 11 Bytes (und unterstützt die 75 Setzerbänke wie oben beschrieben).
    Meine Aussage weiter oben zu MOD und SEQ-Ausgang war daher irreführend, wenn nicht gar falsch.

    Hauptwerk kann mit beiden umgehen (sie nennen das "Johannus SysEx 9/11 Bytes"), aber ignorieren bei 11 Bytes die Bytes 9 und 10 und können daher die Bänke nicht erkennen, wie oben geschrieben.

    Falls ihr noch genauere Infos braucht, kann ich die gern am Gerät durchspielen.
    Gruß Lars

  • Hallo,
    habe heute folgende Mail von Johannus erhalten. Kriegen wir Johannus-Orgler den GO-Patch für das 11-byte Format nun in naher Zukunft ausgeliefert? Bitte, bitte! Stelle mich auch gern als Beta-Tester zur Verfügung ;)

    Da war noch in einem früheren Posting die Frage "Soll man also auch nur auf Byte 10 schauen oder auch Byte 8 miteinbeziehen? Und Byte 9?" => ich bin (auch wenn ich das wohl am Anfang nicht komplett bräuchte) die Meinung, dass man Byte 8 berücksichten sollte, aus zwei Gründen:
    (i) Man könnte dann so ich das verstehe die hunderte von GO-built-in-Setzern auf die hunderte von Setzern der modernen Johannus mappen.
    (ii) Hauptwerk kann das nicht, und so ein Alleinstellungsmerkmal ist doch immer was feines...
    Byte 9 hingegen wird in der Antwort von Johannus nicht gewürdigt, kann man also wohl nur ignorieren.

    Gruß, Oliver

    ________________________

    (Please keep the subject when replying to this mail)

    Sehr geehrter Herr [...],

    Danke für Ihren deutliche und ausführliche Beschreibung.
    Es ist genau sowie sie sagen ein 11 Byte Code. Nur die All Notes Off benutzt noch 9 Bytes.
    Ab 2007 benutzen wir jetzt die 11 Byte Format aber dass ist leider nimmer im der Bedienungsanleitung geändert.
    Ich habe die Fehler durchgegeben am R&D Abteilung, so dass man die Bedienungsanleitung anpassen.

    Nochmal dank, und ich wünsche Ihr auch es allerbeste für 2017.


    Mit freundlichen Grüßen

    Jelmer Slotegraaf
    Technical Engineer
    Johannus Aftersales
    __________________________________________________________________________________

    > Sehr geehrte Damen und Herren,
    [...] ich habe einen Fehler in der Bedienungsanleitung der Studio 150 zu melden:
    Entgegen der Aussage in Kap. 6.2, dass die SysEx Nachrichten in einem 9 Byte-Format (F0 00 4A 4F 48 41 53 XX F7) wären, senden die Setzer-Knöpfe 1 bis 8, sowie die Knöpfe "PP" bis "RO" ein undokumentiertes 11 Byte-Format (F0 00 4A 4F 48 41 53 YY 10 XX F7). Hierbei gibt Byte 8 (YY) die Banknummer der Setzer an und in Byte 10 (XX) ist die eigentliche Nummer codiert.
    Dieses Verhalten habe ich nicht nur bei meiner Studio 150, sondern auch an einer neueren Opus 250 festgestellt.
    Meine Fragen hierzu:
    (i) Ist dies eine neue, stabile Form der MIDI-Implementierung seitens Johannus oder ein Fehler in der Implementierung bei der Studio 150 / Opus 250?
    (ii) Falls es kein Fehler ist, löst dies das alte 9 Byte-Format ab und wann wird das neue Format von Ihnen offiziell dokumentiert?
    Es wäre freundlich, wenn Sie meine Fragen beantworten würden. Ansonsten wünsche ich Ihnen allen ein gesegnetes neues Jahr!
    Mit freundlichen Grüßen...

  • Klasse, das Johannus das auch "offiziell" bestätigt. Dann wäre der Weg für einen Patch doch tatsächlich frei, oder? :D ich würde mich auch sofort als Tester anbieten, weiß aber nicht, ob/wie man ein System patchen könnte ... verwende die Mac OS X Version mit zurzeit neuesten Build 2217.

    Ich würde es auch SEHR begrüßen, wenn ich die Setzer verwenden könnte. Man könnte die dann nämlich intern alle leer lassen und nur in Grandorgue beliebige vordefinierte Settings ansteuern.

    Gruß Lars

  • Mal eine blöde Frage: Habe gesehen, dass das auf der Sourceforge Seite eingestellt wurde, aber wie wird daraus denn nun ein einer Build bzw. ein neues Installations-Paket?

    Ich kann sowas nicht ...
    Gruß Lars