Einen Editor in M4L bauen: MIDI-Controller MSB und LSB

Dalai Galama

Kapellmeister
Ich bastele mir gerade mit Max for Live einen Editor für meinen neu erstandenen Nunomo Qun Mk2. Basis dafür bildet das MIDI-Implementation-Chart des Gerätes.
Nun tauchen dort für einige Parameter zwei CC-Nummern auf, einmal mit LSB bezeichnet und einmal mit MSB. Ich weiß, dass diese Abkürzungen Least Significant Byte und Most Significant Byte bedeuten, aber wie setze ich das genau um?

1708260460250.png
Wenn ich diese Controller-Nummern verwende, so kann ich den entsprechenden Parameter via MIDI steuern und verändern, so wie man sich das vorstellt. Die Verstimmung der Oszillatoren beträgt bspw. 6 Halbtöne - allerdings nur nach oben!
1708260788394.png
Setze ich diese Nummern ein, so passiert garnix.
Im Prinzip kann ich auf diese CC-Befehle wohl verzichten, ich frage mich nur, ob ich nicht irgendwas liegenlasse an Möglichkeiten. Die Dokumentation des Geräts ist schon etwas spärlich, die Bezeichnung der einzelnen Parameter ist zum Beispiel inkohärent, und Im Netz finden sich leider kaum Beispiele. Kann mir hier einer auf die Sprünge helfen? Vielen Dank schon mal.
 
hi!
ich habe mal einen editor für die Nord drum 2 in max 4 live gemacht --- keine Ahnung ob das übertragbar ist?!
in der Anleitung zur ND2 steht:
Bildschirmfoto 2024-02-18 um 17.37.06.png

habe dann einen professionelleren Patch als meinen gefunden, in dem das LSB / MSB "Problem" so gelöst ist:

Bildschirmfoto 2024-02-18 um 17.42.15.png


cc31 ist LSB / cc63 ist MSB in dem Fall

also der LSB wird in dem Fall zuerst ausgegeben, weil rechts im Patch, könnte man vielleicht auch "sauberer" lösen?!
mit t i i oder so?!
jedenfalls kann @einseinsnull da sicher noch besser weiterhelfen, denke ich?!
 
ihr kennt das spiel: bei bank select macht jedes gerät etwas anderes und der blick ins manual ist unumgänglich.

jedenfalls kann @einseinsnull da sicher noch besser weiterhelfen, denke ich?!

nicht immer, aber fast immer ist die reihenfolge der msb/lsb controller zu beachten.

das objekt was du suchst heißt [bondo]. aber du kannst hier auch einfach die positionen in der canvas ändern. :) "right to left" beinhaltet den winkel von verbindungen, die aus dem gleichen outlet kommen. deswegen ist auto align auch doof. (und richtig, ganz sauber ist es natürlich auch mit trigger.)

so am rande... du kannst froh sein, dass ctlout das status byte automatisch erledigt.
 
Zuletzt bearbeitet:
dass diese Abkürzungen Least Significant Byte und Most Significant Byte bedeuten, aber wie setze ich das genau um?

finde das gar nicht glücklich, das so in die chart zu schreiben, wäre netter wenn die nur einen eintrag pro parameter aufführen würden.

generell ist ein 14 bit controller immer ((MSB*128)+LSB) (dezimal), d.h. immer wenn das eine midi byte voll ist, springt das andere um.

noch eleganter ist natürlich einseinsnull-style: (LSB + (MSB << 7)), das spart noch eine viertel nanosekunde. beim generieren würde ich aber modulo als gegenstück zum leftshift verwenden.^^
 
Zuletzt bearbeitet:
Vielen Dank nochmal für den Input, der hat mir sehr geholfen und ich habe es jetzt hinbekommen. Hier der Patch (mit OSC1 Tune):
1708367785007.png
Der Umweg über xbendout und xbendin liefert aus dem Input des Dials (mit 16384 Werten, da ja 14 Bit) die entsprechendne MSB und LSB-Werte. Ein Trigger-Objekt wird nicht benötigt.
 
der gute alte bendout missbrauch trick. :)

aber so langt es völlig:

1708373261506.png


ach, und wenn wir schon mal dabei sind, machen wir es doch gleich noch ein bischen kleiner:

1708373811511.png
 
Zuletzt bearbeitet:

Similar threads



Neueste Beiträge

News

Zurück
Oben