Neu

Ziel! Max4Live - Midi-Effekt erstellen (zur Kontrolle eines Hardware-Synths)

Bitte nur auf das erste Posting antworten, keine Umschweifung, keine Beiträge die NICHT zum Ziel führen - nur direkt und klar, stark zielorientiert, kompakt. Kein Blabla, keine Vermutungen
  • #61
Lass uns wissen, um welches device es geht.
Es geht um den Opfour. Ursprünglich gabs den mal im Ableton Pack Classic Synths. Für mich gerade wegen dem TX81Z Sysex Import eines der besten M4L Devices auf das ich ungern verzichten möchte.

Ableton bietet hierzu leider keinen Support mehr an. Mit dem Entwickler komme ich nicht in Kontakt. Beides bereits versucht... Wieder mal ein trauriges Beispiel wie kurzlebig die digitalen Tools sein können...
 
  • #64
nö. geht nicht - auch nicht direkt in Ableton leider
steht nur da, dass es discontinued ist :/

Bildschirmfoto 2026-02-21 um 23.46.41.webp

vielleicht kannst du es als zip-anhang schicken?
 
  • Daumen hoch
M.i.a.u.: jjot
  • #65
Leider konnten wir das Problem nicht lösen, da es doch etwas weiter in die Tiefe geht.

Die Ursache sind wohl mehrere Intel-only Max-Externals die im Patch referenziert sind:

kat.fifo.mxo
kat.sustain.mxo
kat.vfmz~.mxo
kat.sysexpack.mxo
kat.substr.mxo

Kann hier noch jemand weiterhelfen?
 
  • #66
hast du die testroutinen druchgeführt, die ich vorgeschlagen hatte? (z.b. mal anderes gerät probieren)

für alle:
was wir hier haben ist ein parameter am geräte GUI von 0-999, von dem wir nicht wissen, ob und wie er von uns zu MIDI skaliert wird. laut banalytic bzw behringer ist es definitiv kein NRPN sondern nur ein CC.

Der aber bewegt sich nur mit 64 von 1000 schritten, was einem 1/16 der gesamten range enspricht. kann zufall sein, aber ich find es markant.

jemand ne idee?

@Walk-Man
Ich habe den Synth leider nicht, aber aus den Manuals ergeben sich für mich schon einige Erkenntnisse.
Über MIDI werden für die höher aufgelösten Parameter (wie zB Cutoff) 2x 7bit kombiniert, um eine höhere Auflösung zu bekommen.
Für den Filter Cutoff wären das zum Beispiel CC#15 und CC#87.
Die komplette CC Tabelle findet sich im Quickstart Guide auf den Seiten 107-109.

im Preset Structure Document gibt es aber eine Sache, die mich irritiert.
Da geht es zwar nicht um die CCs sondern um die SysEx Adressen der Parameter, aber als Referenz was da intern so passiert ist das schonmal interessant..
Bleiben wir beim Cutoff als Beispiel.
In der Tabelle steht in der Zeile für Cutoff im Grunde daß 2 Bytes a 7bit kombiniert werden.
Das wäre ein Wertebereich von 0/16383.
In der Spalte Value Range ist allerding ein Wert von 0/65535 angegeben.
Der Wert von 65535 sagt mir aber, daß das keine 14bit sondern schon ne 16 Bit Auflösung ist. 65535 = 1111111111111111 (16 Einsen)
Die Wandler an den Potis haben also vermutlich sogar 16bit Auflösung.

Und um die Verwirrung komplett zu machen wird im Display des Synth ein Wertebereich von 0-999 angezeigt.
Ja was denn nun 0/999, 0/16383 oder 0/65535?

Wie könnte das also alles zusammenpassen?

Ich würde erstmal schauen, was am Synthdisplay angezeigt wird, wenn man mit den zwei CCs herumspielt und anders herum was die beiden Controllerpärchen in Max für Werte ausspucken, wenn man am Synth am Cutoff Poti dreht.
Also nach dem BlackBox Prinzip - Schieb was rein, schau was rauskommt und mach dir nen Reim drauf.

Hier mal ein ganz einfaches Device um die Skalierung der beiden genutzen Controller für den Filter Cutoff herauszufinden.
M4L Pro-800 test 01.webp
Hier noch der Paste Code. (Einfach den Code markieren und mit CTRL+c kopieren und in Max dann in ein neues MIDI Device mit CTRL+v oder Rechtsklick -> Paste einfügen)
Code:
<pre><code>
----------begin_max5_patcher----------
564.3oc6VssabBCD8YVo8evhmoQ38BP5qQZ+DxKQQHurSRbJqMw1P2nn9uWe
AXWRfsVoakZkpDBrGOim4L93i3s4yBB2xO.xPzWQ2gBBdSaIvZyXInyPP3dx
ghRhz5XXIsAtZGkTFF0tbCQvH6A6p2dyl7MB3k7MTFz6QEQU7Dk8Xt.JTtzs
bc1UwQnz012KMuWosftuOFAHAlhnnb1IwgwIFeWrbp3n6rEBe6yeAG2WAr58
TVInrX.ertD5BWAhbfQ1VBCVTGBuV0EyhwpqA96bV8ZE3pzvvHT3Ckbhtx6q
NIoA1kSTJAcasBNNR11y6Z5l1ZYMvenyd+BmV1kT12L89AvZnGb1im+zYf66
46zOVuWM15xm3B0o6GxrenI2ut1wn0VMipjpWc883VG9w7YtQcCZ+p+D4MIk
AeWS.5O8UvAK8IrPo6XnrTOXlXKybUrksEOECC+KXXSPh9.WgxTF5h4C59+D
vVmQOwcF1B7jyC7EiC7kiC73OMj7Tt4FNQHOqfyh0W+4DbR8VuI6+xMiK2L7
z4RH3blc7uRIG7ZO3ldI4j9ujhiev1KEmjeKAG2VpUSXe3+crElYg2gSIuVT
z0s59cBzIE2NPpnr9al2cTYz30zsT+SH1qDFewRXlO4K4hktTeRW1noq87jT
U0.BYaDtLoInOyEl4WG4lSYt4wt4Bng1EBt0FQnImJMyrV3TZNjrJrMbs7jf
USstqsX.qI21KAV0vJhCV1KKymoc3mPnvQZ1
-----------end_max5_patcher-----------
</code></pre>

Der Pro-800 sollte dabei auf Local Off gestellt sein.
Außerdem sollte der Synth so eingestellt sein, daß er die Änderungen an seinen Potis über MIDI sendet.
Als Eingang und als Ausgang der MIDI Spur in Ableton den Pro-800 wählen und Spur scharf schalten.

Zuerst versuchen wir die Auflösung des Coarse Parameter herauszufinden:
  1. Coarse (CC15) und Fine (CC87) beide auf 0 setzen. Im Display des Pro-800 sollte nun auch 0 angezeigt werden.
  2. Fine auf 0 lassen und Coarse auf 1 erhöhen. im Display schauen, was angezeigt wird. (Wert notieren)
  3. Coarse schrittweise um jeweils 1 erhöhen und schauen, was sich bei jedem Schritt im Display ändert (Werte notieren).
    Um welchen Betrag erhöht sich der Wert bei jedem 1er Schritt im Display?
  4. Coarse bis auf Maximum erhöhen, dabei schauen, um welchen Wert sich die Displayanzeige ändert.
  5. Hier sollte hoffentlich schon ein Muster bei den Parametersprüngen im Synth Display erkennbar sein.
Jetzt die Auflösung des Fine Parameter:
  1. Coarse auf 0 und Fine schrittweise um jeweils 1 erhöhen . Im Display schauen was angezeigt wird.
  2. Fine schrittweise bis auf Maximum erhöhen, dabei bei jedem Step schauen, um welchen Wert sich die Displayanzeige ändert.
  3. Coarse auf 1 und Fine schrittweise um jeweils 1 erhöhen, etc, etc.
TLTR: Die jeweiligen Schrittweiten der beiden Dials für CC#15 und CC#87 experimentell herausfinden.

Ich denke du verstehst das Prinzip.

Man kann es auch mal anders herum probieren, und am Cutoff Poti des Synths drehen und schauen was im Display und an den beiden Dials für Coarse und Fine im Max Device angezeigt wird.
Ich weiß allerdings nicht, wie fein man den Wert mit dem Poti am Synth einstellen kann.
Ist das feinfühlig genug um mit dem Poti den Wert im Display in 1er Schritten zu verändern?
Ich vermute mal, daß das nicht fein genug geht aber Versuch macht "kluch".

Ich schieb direkt noch nen zweiten Testaufbau nach.
So könnte das möglicherweise funktionieren. Ich betone möglicherweise, ich kanns ja nicht testen ohne den Synth...
M4L Pro-800 test 02.webp

Code:
<pre><code>
----------begin_max5_patcher----------
1133.3oc6Y08iahCD+4rR6+CHjtWtltG1lOu2NsUqTenuduTUE4j3cWZIlbF
Stca08+94O.BbELNagqoUQJBHXOLyuY94gYve45qV3tN+IRgqyu67dmEK9h3
NKT2SdmE02Xg6N7SaxvEpI5lkdfby1Tbl6xpgOfYT7NhZz+716VcGi7WqdSZ
w9L7yMSZOlu4wT5CqXjMbsFC7A23szAhhkmhUG8EGc9PiPLRAgxw7zbZKAgw
92DHDLYH4R2pLl70e70vvFSfVtKklQ3Jb.NZXLgwyIrUDJdcFoyfBQxK40x.
6yt5Le8j4OumnsTW2kNt2mkiEVdi0UfOP1tBy4rz0kbxwqJp760NdoqMqjje
e88aFnqYWtqRadR0ANppNyKKk9IYbpC76Nib5CiFI6HwNA0PN6jDYrnuIjuU
7S8D86a7hGyY715zQpSGS5r165UM1+b8U5qpun5r3zRqY0TxeKXKMTEN4IEW
ysXCNi33IAn3HHDEirgRqbGN5iPugnl98SMC6m8Yfj47gWLvEjSI+wBL4EoV
tgT+AZ0xTkDQICIWaewQ2584rcXdGGw84TdQ5m0qMgMLsSXEs2HqnkZngF9G
r1o2NsE6qwzG9VhGiQDUTPMgzhfFHREB.ddlYhveHXh9d9RXfBfmJSTKH.XE
Uz6BUzx.BLA7xBH5Li1EO.n3KADi4F9MAviMFmh0Kb.H8IiIC.I8mL.dpICR
o74.s+xXnEEE1FsQlQa74MZWaDo5PI.Enq5PUU7fHMZjJgGf9+UHUQimQ57q
rAxU0VMBjCOuCt+5nKbiznMT89aDzLUN37.sV1g3ckYYVDoO81CAAJuUXnEs
GB7+Yu8vWZaesCO81ympRzQ65CcBc8MnJaZ4quAKoo7B9yYSeSglIxu6su4s
qt8QLkRLxiqniU8DFEXOOVQfGTpNkHcgE2gE2WrY.R7.LXgWTM9T7YMjViiI
qo1WBNm32GyDjRIFSTGnxwFpRWGgrmemDcjfiLSv8tPvGHMcqfyT7k2F748c
hiNToSa3BOlSbjEDSfN44H8A.lnpikEOsb1pXT.agFGC251878U.Ov2LvG3a
+f5G3dyc1laywrBi4afAnWV9FHz17MwWR2ze5ltQmoHgigm3YYJmVcYML2Tm
xIv7WcM5GoLNiA6j1YbBMh6vuoDN5GoHaB8q14RkgIG3+fyh7R1lZuU8tM3z
x31RJ3ozlUlu+3VGJm0vtT6UXnUJze5TnuMJDLcJDXkBkazP6Yky1RXi7ZE6
wLzJS.McXN1Jm7PXFLElPhMlP3bZAV4DjapxrE3syIn1Gg4yFraAW7bFIryD
RFvDfSgI.rxD7ltkfAVovoKStcK4Clyvrm0PFLWjc6Lgn4zKDcVF3ilyTLg+
e+Ncj0ueCNWXFY662fyDQyJdVbu97pRUw62efvJpjPqIQs2eLWYiIK0+Okp+
u96M5xHGRqEATcOLST2MWTzcIS2D0SgUaegqryKFsLsF0RvJ0sp9dUid6wZX
o5C35qDS3esQuWnK
-----------end_max5_patcher-----------
</code></pre>
 
Zuletzt bearbeitet:
  • #68
Wir können hier viel spekulieren aber am hilfreichsten wäre es jetzt erstmal, wenn jemand mit nem Pro-800 mit den von mir geposteten Max Devices erstmal auscheckt was da nun genau abgeht und die Ergebnisse hier postet.

Für das Experiment kann auch direkt das zweite von mir gepostete Device genutzt werden.
Das hat noch den Mehrwert, daß der 14bit Wert berechnet und angezeigt wird.

Außerdem hab ich beim zweiten Device noch ein viertes Dial hinzugefügt, bei dem testweise von 0/16383 auf die Range der Display Anzeige von 0/999 und zurück skaliert wird.
Für den Anfang wärs schon toll, wenn an diesem Dial so ungefähr der gleiche Wert wie im Display angezeigt wird (zumindest ungefähr im gleichen Ballpark), dann hätten wir das Rätsel nämlich schon fast geknackt.

Was wir auf jeden Fall wissen ist, daß wir 2 CCs haben, von denen der eine ne große Schrittweite (Coarse) hat und der andere ne kleinere Auflösung (Fine) bietet.
Meine These wäre hier aktuell, daß es sich um ne LSB/MSB Kombination handelt und intern mit den 14bit gerechnet wird.
Die A/D Wandler an den Potis sind 16bit Wandler, die aber nur mit 14bit ausgelesen werden.
Und die Displayanzeige von 0-999 ist halt durch das Original vorgegeben und wird nachträglich durch Herunterskalierung berechnet.

Naja, wie ich eingangs schon sagte, wir können hier viel spekulieren aber solange das niemand ausgecheckt und die Ergebnisse hier gepostet hat werden wir nicht weiterkommen.
Macht das Experiment so wie ich es oben in dem Post beschrieben habe, notiert euch die einzelnen Werte in ner kleinen Tabelle und postet das hier.
Und dann schauen wir mal was wir daraus machen können.
 
  • #69
selbst bei Behringer halte ich es für ausgeschlossen, dass die infos aus der anleitung nicht stimmen. aber so gut vertrauen ist, kontrolle ist besser. :)
 

Zurück
Oben