Blofeld Sysex & Maxforlive

Einmal muss ich auf jeden Fall noch nerven :)

Ich habe jetzt bidirektionale Kommunikation, funktioniert alles bestens, jetzt fehlt nur noch das aktualisieren der Parameter am Controller mittels Dump vom Blofeld.
Die Anforderung des Dump klappt auch, ich bekomme alle Hexwerte präsentiert, fein!

Allerdings folgendens: Ich glaube, das ist irgendwie codiert. Wenn ich einen Init Sound dumpe, dann den ersten parameter (Osc 1 octave) ändere wird aussschließlich ein Wert verändert und zwar der vorletzte.
Würde mir bitte jemand sagen, wie ich da zugreifen kann, wenn das denn codiert ist?

Anbei die zwei Dumps, als Hex, wie verlangt ;-)

Init mit einer Paameterveränderung:
40h 00h 00h 00h 40h 00h 00h 00h 40h 00h 00h 00h 40h 01h 01h 40h 00h 00h 40h 00h 00h 40h 00h 00h 40h 00h 00h 40h 00h 00h 40h 00h 00h 40h 00h 00h 40h 00h 00h 40h 00h 00h 40h 00h 00h 40h 00h 00h 40h 00h 00h 40h 00h 00h 40h 00h 00h 40h 00h 00h 40h 10h 64h 00h 00h 0Fh 08h 05h 00h 00h 00h 01h 0Ch 00h 00h 0Fh 00h 00h 37h 04h 04h 04h 04h 04h 04h 04h 04h 04h 04h 04h 04h 04h 04h 04h 04h 44h 44h 44h 44h 44h 44h 44h 44h 44h 44h 44h 44h 44h 44h 44h 44h 44h 00h 00h 00h 49h 6Eh 69h 74h 20h 20h 20h 20h 20h 20h 20h 20h 20h 20h 20h 20h 00h 00h 00h 00h 3Bh F7h

Init:
40h 00h 00h 00h 40h 00h 00h 00h 40h 00h 00h 00h 40h 01h 01h 40h 00h 00h 40h 00h 00h 40h 00h 00h 40h 00h 00h 40h 00h 00h 40h 00h 00h 40h 00h 00h 40h 00h 00h 40h 00h 00h 40h 00h 00h 40h 00h 00h 40h 00h 00h 40h 00h 00h 40h 00h 00h 40h 00h 00h 40h 10h 64h 00h 00h 0Fh 08h 05h 00h 00h 00h 01h 0Ch 00h 00h 0Fh 00h 00h 37h 04h 04h 04h 04h 04h 04h 04h 04h 04h 04h 04h 04h 04h 04h 04h 04h 44h 44h 44h 44h 44h 44h 44h 44h 44h 44h 44h 44h 44h 44h 44h 44h 44h 00h 00h 00h 49h 6Eh 69h 74h 20h 20h 20h 20h 20h 20h 20h 20h 20h 20h 20h 20h 00h 00h 00h 00h 47h F7h

Daaankeeee!!!
 
Ein Soundump sieht so aus:

Code:
So the full format of a SNDD Dump is:

F0h, 3Eh, 13h, DEV, 10h, BB, NN, --SDATA--, CHK, F7h

where:

Index   Label   Value           Description
-----------------------------------------------------------
0       EXC     F0h             Marks Start of SysEx
1       IDW     3Eh             Waldorf Music ID
2       IDE     13h             Blofeld ID
3       DEV                     Device ID               
4       IDM     10h             here SNDD (Sound Dump)
5       BB      see above       Location
6       NN      see above       Location
7-389   SDATA   see 3.1         Sound data
390     CHK     SDATA & 7Fh     Checksum
391     EOX     F7h             End of SysEx
-----------------------------------------------------------

Bei Dir fehlt der Header und auch massig Daten. Evtl. musst Du im Max4Live einen Puffer vergrössern oder so.
 
Ein Soundump sieht so aus:

Code:
So the full format of a SNDD Dump is:

F0h, 3Eh, 13h, DEV, 10h, BB, NN, --SDATA--, CHK, F7h

where:

Index   Label   Value           Description
-----------------------------------------------------------
0       EXC     F0h             Marks Start of SysEx
1       IDW     3Eh             Waldorf Music ID
2       IDE     13h             Blofeld ID
3       DEV                     Device ID         
4       IDM     10h             here SNDD (Sound Dump)
5       BB      see above       Location
6       NN      see above       Location
7-389   SDATA   see 3.1         Sound data
390     CHK     SDATA & 7Fh     Checksum
391     EOX     F7h             End of SysEx
-----------------------------------------------------------

Bei Dir fehlt der Header und auch massig Daten. Evtl. musst Du im Max4Live einen Puffer vergrössern oder so.

Ach verdammt ... ich verwende folgenden Befehl um den Sound Edit Buffer auszulesen:

F0h 3Eh 13h 00h 00h 7Fh 00h 7Fh F7h

eigentlich hab ich kein Limit für den Dump festgelegt, ich werde nochmal nachsehn, was ich da machen kann.

Kann man eigentlich einen Dump für ein Set an bestimmten Parametern anfordern? Alos ich meine einzeln, z.b Cutoff vom Blofeld senden lassen? Ich kann das im Sysex Manual leider nicht zweifelsfrei nachlesen.

Dann müsste ich nicht alles holen sondern nur die parameter, welche ich übers Push bediene. Es geht mir nicht darum einen kompletten Editor zu bauen, sondern nur die für mich interessanten und nicht leicht über den Blofeld erreichbaren Parameter zu holen, bzw. bediene ich gerne beide Filter gleichzeitig, oder experimentiere mit den FM verschaltungen und Modulationstiefen, das geht über Push viel besser, weil ich mir alles in für mich sinnvollen Blöcken auf Pages gelegt habe.

Edit:
Ich habe mir den Dump jetzt nochmal in Max geholt und neben Hex auch Decimal anzeigen lassen, der Dump beginnt mit 240 und endet mit 247, das sind doch der korrekte Start und Endpunkt, oder?

Danke dir für deine Hilfe!
 
Zuletzt bearbeitet:
Der Dump muss 392 Bytes haben. Einzelne Parameter kann man nicht requesten. Die werden vom Blofeld gesendet, wenn im Global aktiviert und wenn am GUI gedreht wird.
 
Danke Dir, alles klar. Ich werd dann mal im Cycling74 Forum nachfragen, ich kann da keinen Fehler im Patch finden und komme einfach nicht auf diese Dumpgröße.
 
der Dump beginnt mit 240 und endet mit 247, das sind doch der korrekte Start und Endpunkt, oder?

ja. sysex messages beginnen immer mit 240 (F0h) und enden mit 247 (F7h).

und zu deiner anderen frage:
Eines erschließt sich mir nicht, wie wird aus den 13 eine 19 und den 20 eine 32?
Wie rechnest du das um?

in hexa(griechisch 6)dezimal(griechisch 10) geht jede stelle von 0, 1, 2,....9, A, B, C, D, E, F = 0-15 = 16 ziffern.
dh die 2. stelle geht von 1*16 bis 15(F)*16.
oder anders: jede stelle is 16mal soviel wie die rechts davon (im dezimalsystem isses 10mal)

13hex zerlegt in 1 und 3. 1(0)hex = (1*)16dezimal und (0)3hex = 3dezimal -> 16+3=19dezimal.
20hex -> 2(0)hex = 2 * 16 + 0 = 32
F0hex -> 15 * 16 + 0 = 240
F7hex -> 15 *16 + 7 = 247
 
Ja, ich verwende auch seine externals, also eh so wie im PDF beschrieben, umso mehr wundert mich dass der Sysexdump des Blo nicht korrekt anzukommen scheint.
Swissdoc hat natürlich Recht, der Dump ist zu klein, habe es mit einem Dump in den Sysex manager verglichen. das Capture Object in max habe ich aber auf 4000 gestellt, also mehr als genug Platz um eigentlich alles auffangen zu können.
 
Zuletzt bearbeitet:
Ja, ich verwende auch seine externals, also eh so wie im PDF beschrieben, umso mehr wundert mich dass der Sysexdump des Blo nicht korrekt anzukommen scheint.
Swissdoc hat natürlich Recht, der Dump ist zu klein, habe es mit einem Dump in den Sysex manager verglichen. das Capture Object in max habe ich aber auf 4000 gestellt, also mehr als genug Platz um eigentlich alles auffangen zu können.
beim dump scheint der vordere teil zu fehlen. wenn dus mit dem sysex manager vergleichst - wieviele elemente fehlen denn? schickstu dem capture ein "clear" bevor dus beschiesst? probier mal print, textedit, message,... überall gleich falsch?
 
beim dump scheint der vordere teil zu fehlen. wenn dus mit dem sysex manager vergleichst - wieviele elemente fehlen denn? schickstu dem capture ein "clear" bevor dus beschiesst? probier mal print, textedit, message,... überall gleich falsch?
Nein, ich schicke kein clear oder dergleichen, aber das ist eine gute Idee!
Ich werde mal die zwei Dumps vergleichen und schauen bis wohin alles fehlt, besten Dank.
 
Zuletzt bearbeitet:
Ich bin wieder einen Schritt weiter und bekomme jetzt auch den Header, allerdings moch immer nicht alle Daten. Kann es sein, dass zl group ein maximales filesize limit hat, welches die 392bytes des sysex dump unterschreitet?
Ich habe den Dump in Max mit dem des Dump in sysex Librarian verglichen, alles bis inklusive des blauen Balkens kommt bei mir in Max an.
Bildschirmfoto 2018-09-24 um 11.53.18.jpg

hier der Maxpatch, falls es sich jemand ansehen möchte:

<pre><code>
----------begin_max5_patcher----------
1290.3oc6X87qahCD9bxeEHNmFgswFydq8RO0K6tZkV8T0SjDmr9IBDQf1zW
U+eeGOPHP9EPhes8I8xAhw3wy274wyL1ee7H2Yo6Tacc9CmGbFM56iGMB6xz
wnp2G4tNZ273ns3vbSTeMc1StSJ+TtZWN1ctyywyiUQY6+RRwZcRrJGkhT04
ln74+mNY0iYp44kZMP3MkOwgFPl5MwgSMOodS8b9bkLay+VrB0QioNsH+34t
rq7usQUNwt6AT8LsISsUkjGkqSSFBBzKP0Cl867CbM88iwiMOlXINyY1PYMI
iNkHDBYPMvECm5ncQcSbbmEkrpSJrevoAOxXVjGi1rQkrvgBKNCjFC8XSkLF
KvehCShtAA91yCrSdqe5uo+mzh7F.pJhy6tHNNAAt7WEwcQ82j3BsHw8briu
G7yYUVZwlyxczdxcj.Cpgkdqs20rocX72EwPyMrBKxeaUwFmtKtik0c5BB2f
VBDkgUYFCh8XWh8vvcSN7euydzAfZPkbOKRkq0Kz5jaLoKQf6Y7sXRWcRdeo
rKq8ljUStBGfarN43RVPSzzeaBbaZQ178HqJsCn2Z8rPsMWmfvq4fDvfN.Ff
g2jBlUkJkR+ohpTcLBh8PBqdQG6x4ymcAdPnz69PoO4EGkhdfRHrKNn6RSln
D2IeDDfQ2X.GbBUvtap.1QCdv8Df2ml5ASfnwJlTmqtA1RSctmjYC+nv9XSx
SzTYXGnJyunx1VMZTIPD5mRyLuJmfupSJe0CeMS8E89wW1STFDINGBDVjUFc
cmv2sTzzEprjBMFbcrw7FWEE9nPcIQqKE884o+SYvYvRVFUDm217mmFWBlGb
7lFJ7Bjf2t2TIMvmSLsHbgTv.tuQjWrr+FRhkx25wgTDpXvP.y6lTjIAFJ3i
5DCsp1OAdFILyACkkAIVEgsksd8t2ZF9ZszyVsTGGWK5nZFC.UUdL2UYQKzP
lqpjeGQlzPORn.QmWnzyurEzEoENqjhrWLnNKgefYvBtenGEgkoqyJFslPHf
bbTGnIZZEvog9GKFTwRYNaJFrqp2MYoaRy16jalj5wWjmVanlug8idd3mmOG
9PKCuGqMyV0RBguP.ZDWTHAAn0K497PbQ4fXfuz5SzV+L7CtR8AliOXhfeTF
nyiK0wcMrURumPZFmo0Vu2Qr9luN1ST83Jr80bLegX6yEfvdbL05b7OSFyd7
.6Md.4A+23AjG3uwCuuXgN8ufyVVr8wOoRJtFizmT9ke8B468IDzLfCKDPKo
EnAm2nv0iy16Wmi2WXXdrkjx3sy7cb19dWagsx1akEixKm3CwEpqmV7L0TzY
UQ1FfzeiA3GyTpjASgXkAbyAZQeKBr6lFXev8up33zudczsLETf94pJWL2x.
OzySVGu3LnWR4DjdCjDYY3EdH2rg4Ex.nu1M.1qQCnX8LU1GSiWLX2aydMOL
jHODJkGQJoYHQq.vMylEmNKeW9USsdzwigP50YUOWqCIJMKKKi1ecDs6+vxE
iLkKXBdqpsepXatdoddiapfzR981vCPVwLcTryelVjrPsv4S+syG.F28xGUx
mxkkQMNskM4V7lfy6YUKjxHZ9UOZVlx47dqiJenE6ziUexISM+JCqeRKRGU3
7yh0LKWK0JXEbP9j80zZ6SRtfOY3QR7JvaqXcGEDdwSZessyscltoJJObWPU
NnPKy0TbFW8atvvawUv5WdzkcgrUDsg6p.x7iw++xl97c
-----------end_max5_patcher-----------
</code></pre>
 
Ich bin wieder einen Schritt weiter und bekomme jetzt auch den Header, allerdings moch immer nicht alle Daten. Kann es sein, dass zl group ein maximales filesize limit hat, welches die 392bytes des sysex dump unterschreitet?
Ich habe den Dump in Max mit dem des Dump in sysex Librarian verglichen, alles bis inklusive des blauen Balkens kommt bei mir in Max an.
Anhang anzeigen 40210

hier der Maxpatch, falls es sich jemand ansehen möchte:

<pre><code>
----------begin_max5_patcher----------
1290.3oc6X87qahCD9bxeEHNmFgswFydq8RO0K6tZkV8T0SjDmr9IBDQf1zW
U+eeGOPHP9EPhes8I8xAhw3wy274wyL1ee7H2Yo6Tacc9CmGbFM56iGMB6xz
wnp2G4tNZ273ns3vbSTeMc1StSJ+TtZWN1ctyywyiUQY6+RRwZcRrJGkhT04
ln74+mNY0iYp44kZMP3MkOwgFPl5MwgSMOodS8b9bkLay+VrB0QioNsH+34t
rq7usQUNwt6AT8LsISsUkjGkqSSFBBzKP0Cl867CbM88iwiMOlXINyY1PYMI
iNkHDBYPMvECm5ncQcSbbmEkrpSJrevoAOxXVjGi1rQkrvgBKNCjFC8XSkLF
KvehCShtAA91yCrSdqe5uo+mzh7F.pJhy6tHNNAAt7WEwcQ82j3BsHw8briu
G7yYUVZwlyxczdxcj.Cpgkdqs20rocX72EwPyMrBKxeaUwFmtKtik0c5BB2f
VBDkgUYFCh8XWh8vvcSN7euydzAfZPkbOKRkq0Kz5jaLoKQf6Y7sXRWcRdeo
rKq8ljUStBGfarN43RVPSzzeaBbaZQ178HqJsCn2Z8rPsMWmfvq4fDvfN.Ff
g2jBlUkJkR+ohpTcLBh8PBqdQG6x4ymcAdPnz69PoO4EGkhdfRHrKNn6RSln
D2IeDDfQ2X.GbBUvtap.1QCdv8Df2ml5ASfnwJlTmqtA1RSctmjYC+nv9XSx
SzTYXGnJyunx1VMZTIPD5mRyLuJmfupSJe0CeMS8E89wW1STFDINGBDVjUFc
cmv2sTzzEprjBMFbcrw7FWEE9nPcIQqKE884o+SYvYvRVFUDm217mmFWBlGb
7lFJ7Bjf2t2TIMvmSLsHbgTv.tuQjWrr+FRhkx25wgTDpXvP.y6lTjIAFJ3i
5DCsp1OAdFILyACkkAIVEgsksd8t2ZF9ZszyVsTGGWK5nZFC.UUdL2UYQKzP
lqpjeGQlzPORn.QmWnzyurEzEoENqjhrWLnNKgefYvBtenGEgkoqyJFslPHf
bbTGnIZZEvog9GKFTwRYNaJFrqp2MYoaRy16jalj5wWjmVanlug8idd3mmOG
9PKCuGqMyV0RBguP.ZDWTHAAn0K497PbQ4fXfuz5SzV+L7CtR8AliOXhfeTF
nyiK0wcMrURumPZFmo0Vu2Qr9luN1ST83Jr80bLegX6yEfvdbL05b7OSFyd7
.6Md.4A+23AjG3uwCuuXgN8ufyVVr8wOoRJtFizmT9ke8B468IDzLfCKDPKo
EnAm2nv0iy16Wmi2WXXdrkjx3sy7cb19dWagsx1akEixKm3CwEpqmV7L0TzY
UQ1FfzeiA3GyTpjASgXkAbyAZQeKBr6lFXev8up33zudczsLETf94pJWL2x.
OzySVGu3LnWR4DjdCjDYY3EdH2rg4Ex.nu1M.1qQCnX8LU1GSiWLX2aydMOL
jHODJkGQJoYHQq.vMylEmNKeW9USsdzwigP50YUOWqCIJMKKKi1ecDs6+vxE
iLkKXBdqpsepXatdoddiapfzR981vCPVwLcTryelVjrPsv4S+syG.F28xGUx
mxkkQMNskM4V7lfy6YUKjxHZ9UOZVlx47dqiJenE6ziUexISM+JCqeRKRGU3
7yh0LKWK0JXEbP9j80zZ6SRtfOY3QR7JvaqXcGEDdwSZessyscltoJJObWPU
NnPKy0TbFW8atvvawUv5WdzkcgrUDsg6p.x7iw++xl97c
-----------end_max5_patcher-----------
</code></pre>

meinst du mit header die 240? die prependest du doch selbst.

ein screenshot oder so vom aktuellen dump wäre hilfreich.

aber... beginning to understand....
deine 137 sind ca. 392 - 256

probier mal das:

<pre><code>
----------begin_max5_patcher----------
1627.3oc6ZsriaaCEcsmuBAs1cf3SQ0MsIaxprosn.EAECjs4LkoxRF5wjIS
P926kjR1V1VRzVxoy.LdgLMEoN26g2Wjxe6lY9KxdRV368ydexa1rucyrYlt
zcLq92y7WG+zxj3Byv7WlsdsLszet8dkxmJM8uIOagRl6sNNwaUbQy82jKKf
gGWpxRuKWtrzhEUvuEw4bQ3bOZTvsAy8PLyWX3p2eWOa0JyyNawm+IDt4QlV
sVklHKMxCptyhxulHMCdKxwkK+GU5CmOp..YUkMHDn6762bi9x7QRReQIeTI
S79W39k.M4kGWU7KCvUHgPKhLhvEZBMdZZX.GOCAOgEx7Fgv9vJ+5FoUB.oy
yeQb5C9agrKxAi2SVqEU7o4lnc5bd7ZYoL+NYZ7BKgDLdZaHQoMqguDVS9EP
QNxr54DuDYp2u9bBL5B0yROT.7oW10UlkFYsBnj9n1vSZ0gu.5qG7tZ7Wo2y
IKSjwcaO1b+AIMXYmM2iHXFa.beb1T3oNDbsoLzUfx7VLHo4puLFD8lvy0pD
uWFbBRI3FlWMKu3Majoq7vzvtcVGj1hH2JHDRHU68P0FDgz9nMpXB3Mm.8pY
9ATQMwELQDGmYzAQuDWzDSbcB5Ui3fTETctAuGxyp1LtLDsTEBRqDhd4Ox3y
R3FlWM+0Bn3MvlqWGVSrt46914jF3HSlOH9CoVC6zP7jDI4RRcL.nsYRxzwj
qUqTpzNIQET8ri7FVXKbn2TE7IKYa2vc8S1N55SnLgYUOhOb8IzvIXGWCg2q
pBTXjfcEKXUo9KPgPFOE5FnWy8VXRU.Xi2eGFvOGW1Cd.ZWjbq2DRzOaxGe9
CGQ80UBjFuLZfqIPXAiOChin9RNCRsJnKpXvLHrIKZX2v0czPyP7SToGdZcF
Xz82l.KxpxW1PE06P2aGPqjEkpTCcr2Xhri4jKQthCwAbZKKY4qj4cG82Ufg
vQdnA.tsvAFPax.yjZFECafg2b5fXSfVR.YqQsoqQRNXGHm9kQnj2qrL5xBH
M5zqfAiBYzXYGDOv5XEdLwDNZhAJ51C6l3MJb3tr.LA3Pc.GzDgyPNl3o.mH
WHNwTDii3RrFdelpLnnisNxDi8JGg1YuRFu8JwEO4AjRRz0VJogiVJobyI.P
sG7daATLZATWpzv987IvrxfzflUjoBoAcUBmBjb.nFo4nxch2r4QYdQ8nMX.
UF94LStFwbyOUo1eZd+M94xGUMi21SbNTEVITBVUts9rm31SOwecFj0JsRUW
5Anc2TWG2AkXkFu1N02Ul8m1x6.M493pjx1Ze7xkPQlKyRrhzm7LoifKgBJA
oaQvHFOBVk2qnOcAsm6bjIx0GAEBExYlYDwgoqaExvQTT641ZRlQR0CU.0+v
L.BvI3jCljdix6MSyIu05x1gBawAnaXQ3h.ZKabmJUu3KOCVYwCsfjS4bRjE
RTXXnoEixhHlG0tMGzXK6r.C2cOPuWkjrcpy1ZN.5R8tQ7eHOdkZ2KD9f0.b
T.JhaTpfHQ.01B5p8BW8rPMSi.K2TiRwYzn.rQrzccxogOSyDvZN8A6VZvgZ
1ut2M4Yaxxa7f0OjsiupLaqh1TLn0g15bYeyqvcObyR9qAWIUyb1OLSKWul2
X1oc9NvMpGCze3NOCXSWeoGK49rPB1kgaJ3Xbeb7Obl6+Odf7FOX3A5a7fgG
XuwCuqZkJ62KiKqJt6ixzp9XDWxJZuaGoDoHjgxHHRH1pZPCFauJjOLgHcaZ
PJWydlVBLg0Ne+gIDcN86KpDh1CE88IUx9SKdhZRGrvgoV.wufEvOjKkomME
ZxYyzayzXag.OTb3zKb+kLII6KmszIvLjg9BEHgMD.KhocH1OFx8YfjodV17
2uROnf.w0PAvu1U.xqQEv7Wr7CYIqNaCHsuVfIjHKB1mkQSP6GRbRDvMKVjj
sn7oxynrdHhNlIrdcG2paxkftkwIbVmanU+PZx3dpVsevM5vmfrh4p3DueKq
Jckbk2G+Cu2CLteqZ++bUQo5d0x8N3CTqG28wMGZxzwslW4U44Z2tMd6tVji
2S4IK3w0ElC2jFLp5K8sWd8GaJgiZMkVj5kq6URXE75aSF0y4q3fFeQliss1
PSFuUsdfBB6V06b2w84Pd4LvEVY5tico1c.ZoOKpSX6dwEXdIq+SWYoCFv57
MUf478a9O89GVI.
-----------end_max5_patcher-----------
</code></pre>
 
Hey, danke dir.
Jetzt wirds für mich noch schräger. Ich bekomme mit zl 400 group und zl 400 length hintereinander 392bytes.
Wenn ich jetzt aber die eben bekommen 392 bytes in Decimal mittels Lhex zu Hex umwandle sind es plötzlich nurmehr 255 bytes, ich kenn mich nimmer aus...

Der Screenshot mit Erklärung.

Das Messagefeld in der Mitte ist der Dump, darunter in Hex umgewandelt, diese Hexdaten dann in die obere große Message eingegeben und dann siehst du das es plötzlich nur mehr 256 länge hat.

Bildschirmfoto 2018-09-24 um 14.23.59.jpg
 
Zuletzt bearbeitet:
Hey, danke dir.
Jetzt wirds für mich noch schräger. Ich bekomme mit zl 400 group und zl 400 length hintereinander 392bytes.
Wenn ich jetzt aber die eben bekommen 392 bytes in Decimal mittels Lhex zu Hex umwandle sind es plötzlich nurmehr 255 bytes, ich kenn mich nimmer aus...

Der Screenshot mit Erklärung.

Das Messagefeld in der Mitte ist der Dump, darunter in Hex umgewandelt, diese Hexdaten dann in die obere große Message eingegeben und dann siehst du das es plötzlich nur mehr 256 länge hat.

Anhang anzeigen 40211

du machts diverse kleine programmierfehler, die dich verwirren:

[zl group] braucht eine zahl um den internen speicher nach X elementen als liste auszugeben. wenn du keinen angibst nimmt [zl group] den defaultwert 256 - daher zeigt [zl len] 256.

[zl len] braucht keinen wert für die länge der eingehenden liste, weil es nur misst. [zl 400 len] is daher sinnfrei, auch wenn max nicht meckert. es brauchst aber scheinbar sehr wohl eine angabe um listen länger als 256 korrekt zu messen! mach mal [zl len @zlmaxsize 1000] und du wirst 392 bekommen.

Lhex - sieht so aus als wenn lhex maximal listen mit 256 elemente verarbeiten kann! wenn ich damit recht hab, heisst das du kannst das objekt vergessen. frag einfach mal bei peter elsea selber nach. ich weiss aber auf anhieb auch nicht warum du eigentlich in max mit hexzahlen rummachen musst. kannst doch alles in dezimal machen und max kümmert sich ums konvertieren - dafür gibts sxformat/sysexin/midiin. oder hab ich was übersehen?

jetzt weiss ich wieder warum ich sysex immer am schlimmsten von allem fand, was ich jemals mit max gemacht hab...

<pre><code>
----------begin_max5_patcher----------
1754.3oc2XssaaaDD8Y4uBB8ravde41WR00m5ePQQfrMqsBjoLjnRcbP9264
rCkqcRj0UGWT.shbmctdlgbmke4rNcuX98UK6V7qE+QQmNe4rNcxjHgNsy6z
81I2e4rIKyr0st5umewG6dtrTS08MYxMEWTLaM06VTsrptYRyz40eXQ0kMhA
rZy6TmWXzVdQ09Wwe1JU8pamVOqpIaG8ZUMo4xalVe8FUSvkm3dthlupYslL
sTmdU1Qgy+Klx0dpvWymuqRzc2KlTec2yK518Qssr4yyxq1sKI70yNi+c9qO
bEr9b.pBGEbE7IJpOdvnU7sFsVLo9p42B29w71yBdyKUqjAOsMCek9sD85eP
zG1XzOst4jE3qt8hpEaofvaz4fQIWO3JBsJlUfIHUFpCnlv8nuNYwjaqZpV7
gp5IWHPfZSHFqUx0Lut0KOLqXVUcwu8vLv8xoOTgPVo12ZmGgIS98MZe4AfS
9tuDVbpvgaqVtbx0UeGP3FbSwPLzAYLX3ME8M2T3hxUCVyltonTg6cBsdfu9
ZYsjE22W3wfwHLeD3UC48iftAMEt21C7BYCf2HoCco.uCKgtgtTX9PLO.95C
ZFHih1Fq4.+ifd5CeqGoC8GMhOPZp9hNFg6C7JmighwDueLFP25RQFcRr2Xn
qA7JFAOrCiSXeuU7UGjm3CiijWr4Pb+.buk9zXwFz+5CYG.cWBc0yKxDHcqD
ykPOiI1.ePC8L.1oGjeH4k2SbwKX6HLBPedHiyHwfBWijOD6pjnKSeglE5LX
EaXv8QfCVlGINAdSflkwWofuQmfuiIMhosw2Zeiy458YdB9nm7.Yrvuhftar
TeP+OiyVAmBP1RnmgzmcRtyRZQAm56j3k0DAPqbjDC79A35vgR8CkeHwUvuG
7mFKXcugR7MfxR8gQJI9cN2S+zJXThXeu1ZCLLVodh4Px6nVLcDrw.nCsRxW
CI9nkXl0wCBRMQjXmRv5QPNUOAeItQ+m4jAJwNi0sOuz567YCJupMlosbdQG
ldh9FXawqx15VsTCPLsOeNKH40dztik7HwFpWOyYzuhRd1i6G1uMGnD9YNf0
lTG74TJKw72+92u9cBylVWc47U04WLX7ao0CU9ccQu4c9ssQyK7FznIuAiQk
nZr57LmRsW6+Z27aPec2E42uo59t6ayVA65MIPjpOf1ML6W3tlxjOUc0GfBf
m7gIMMKldwpFow9NOF04vd1zkMbKQtDRE4Ex30oZOGsVuk9Xbk4dQ05cnw1W
p2txLJak+M6OVqcu5kVabi48ucDqU+jv0c.g6OgmjdVar67A5jFqRQ9VhCoa
Ts4++ci1BRA0A2KpV8SoWzMiBWuX9p6vdOwiFKZOUWLHauX2evH8l1WNvf8M
lMkgi6w+x2p8QW8vz0z9q40Ot4ilwvdhAw7A3a29Pk1BHX+dPHr0Okw5qmvC
2uopfX.msTgQ9mxiB5RzdZ9hyUfmSzlRzWdlfNvqQtf1gUJijAmFxFwvgdSK
R3ecr.q.9cAdBVnBXEsovh+AESpfLAinvrRGZeEDwgiPulPEVPCDBwBE1e1k
sXlhNKpwFKRvbV3qPPnYrrCBYgeHba7z.zCSXY5sJcQjrThiokcqnp.gdhAR
JaEbBavdDsCCUS0x3sD1HQ4vZAelcMbpXRBKG.NXYCWFdtBWhd9QAKRjK3u.
IHnYrXN.2joHjcXvIsWPUjxpf9OH3gKkx5E+zHLBLSPHCW8XcK5mUfM.jVJq
ufvSTBjVOgSIllXhENCTd.4R58.iSR9UfOaFFfHVlb.+JlG7v5.eY1QkiGlR
0JBclruhaMbXZy8TR.hAfuPu9TFC0.xYbvPxBiWBmyKvESh3gG3W1LJnY0RY
HmioW4YAQNsXkTMqOIDi0C4jfgwoNGbrxSmiALP.fjtmk0r3SfOlig6RHwPk
abZotNlc1bUNJHxgGzefriCFK5H4yPRfvQTRizYwvKIIcjAoTNyvGphgZfEy
Zly.uFf7DaKENyEulrzvUfPDMQI+O9jRp8duIoSTu8Im4wxuX2t+p5Cuuz7x
4H3a9n9YOkze96oVNe0hKWq70eZ7h+0UupZYyz5bC7OgImvyO7Ug6kgz6fgz
GogR6P.sNpOtHJtKVxdJrjYWrT7TES5cIlN1zD+RoaOlNIUd1cwR9Sfkb6fg
XW4Ogo4KtBGfhuV3nr72n0MXZyo.MC6fkRm.CsK1Ysy7pm09lm.eLqoNJKWt
iPo9TaXs8Myxt+Sa4vqxCm12JKWdZLrzkwj6t6SUKV1Jc1l3bOebdl8344oS
qko4ih0cQ0mltl+7Wft6jEn+oFz7zpERyL2WJGQq6syggqWMs01vxe8r+Arm
iMsO
-----------end_max5_patcher-----------
</code></pre>
 
ja, ich fürchte ich mache Fehler, bin kein Max Profi und schon gar nicht im Umgang mit Sysex, das hab ich quasi eben erst in Angriff genommen.


Lhex - sieht so aus als wenn lhex maximal listen mit 256 elemente verarbeiten kann! wenn ich damit recht hab, heisst das du kannst das objekt vergessen. frag einfach mal bei peter elsea selber nach. ich weiss aber auf anhieb auch nicht warum du eigentlich in max mit hexzahlen rummachen musst. kannst doch alles in dezimal machen und max kümmert sich ums konvertieren - dafür gibts sxformat/sysexin/midiin. oder hab ich was übersehen?
Nein, da hast du schon recht, aber es ist leichter für mich in Abstimmung mit der Sysex Dokumentation des Blofeld, weil da ja auch alle Werte in Hex angegeben sind.
In Verbindung mit Peters Lsx Object ist es dann echt einfach Werte an den Synth zu schicken und empfangen, weil man da einfacher mit Variablen arbeiten kann, also ich zumindest beim jetzigen Wissensstand :)

Von der Dump-Problematik abgesehen funktioniert alles schon ganz gut, ich kann übers Push Dumps anfordern und hab schon einige Parameter die dann demenstprechend am Push aktualisiert werden, macht Spaß damit an Sounds zu basteln.

Heute hab ich leider keine Zeit mehr, werde aber morgen meinen Patch dementsprechen umstricken, bin gespannt, danke für die Tipps.
 
Zuletzt bearbeitet:
Dezimal ist für sowas völliger Unsinn und verwirrt nur. In den Dokus sind alle Werte in Hex angegeben außerdem kann man von Hex direkt auf die gesetzten Bits Rückschlüsse nehmen, da Hex die Binärwerte direkt abbildet, was man zB bei Bitfeldern braucht.

Daher: immer bei Hex bleiben.
 
Dezimal ist für sowas völliger Unsinn und verwirrt nur. In den Dokus sind alle Werte in Hex angegeben außerdem kann man von Hex direkt auf die gesetzten Bits Rückschlüsse nehmen, da Hex die Binärwerte direkt abbildet, was man zB bei Bitfeldern braucht.

Daher: immer bei Hex bleiben.
gesetzte bits... bitfelder... lol. ich arbeite mit Max seit 20 jahren. und du so?
 
ja, ich fürchte ich mache Fehler, bin kein Max Profi und schon gar nicht im Umgang mit Sysex, das hab ich quasi eben erst in Angriff genommen.



Nein, da hast du schon recht, aber es ist leichter für mich in Abstimmung mit der Sysex Dokumentation des Blofeld, weil da ja auch alle Werte in Hex angegeben sind.
In Verbindung mit Peters Lsx Object ist es dann echt einfach Werte an den Synth zu schicken und empfangen, weil man da einfacher mit Variablen arbeiten kann, also ich zumindest beim jetzigen Wissensstand :)

Von der Dump-Problematik abgesehen funktioniert alles schon ganz gut, ich kann übers Push Dumps anfordern und hab schon einige Parameter die dann demenstprechend am Push aktualisiert werden, macht Spaß damit an Sounds zu basteln.

Heute hab ich leider keine Zeit mehr, werde aber morgen meinen Patch dementsprechen umstricken, bin gespannt, danke für die Tipps.

das problem an den sysex werten is ja nur, dass du sie nicht intuitiv verstehst, das lässt sich aber schneller und leichter lernen als es vielleicht scheint:
XY hex = 16*X + Y in dezimal. 10 hexzahlen im kopf konvertieren und du kannst es auswendig.

oder die relevanten sysex strings erstmal abtippen und in dezimal konvertieren, damit du damit in aller ruhe in max rummachen kannst. das wirklich komplizierte is ja das max patch.
 
Leute, streitet euch nicht, ihr gehört beide zu den guten und ich brauche sicher noch eure Hilfe :)

ich will mich auf keinen fall streiten. ich finde nur den rat im kontext von Max so offensichtlich falsch und das leben schwerer machend, dass ich das schon unmißverständlich zum ausdruck bringen will.

gesetzte bits, bitfelder, etc mögen in allen programmiersprachen, mit denen dietmar schon zu tun hatte, total wichtig sein. das werd ich nicht in frage stellen. in Max sind sie das nicht. wer mich vom gegenteil überzeugen möchte, immer her damit. ich lern gern dazu.
 
ich will mich auf keinen fall streiten. ich finde nur den rat im kontext von Max so offensichtlich falsch und das leben schwerer machend, dass ich das schon unmißverständlich zum ausdruck bringen will.

gesetzte bits, bitfelder, etc mögen in allen programmiersprachen, mit denen dietmar schon zu tun hatte, total wichtig sein. das werd ich nicht in frage stellen. in Max sind sie das nicht. wer mich vom gegenteil überzeugen möchte, immer her damit. ich lern gern dazu.
Ich lerne auch gerne und hab hier im Thread auch viel gelernt. Das arbeiten mit den Hex werten ging recht schnell flüssig von der Hand, im Moment mach ich eine Mischung aus Hex und DEC, einerseits weil die Lobjects das einfacher machen und andererseits weil ich da Know-how technisch ein bisschen am fischen bin, aber egal, es funktioniert. Wenn ich die Dumpgröße in den Griff bekomme steht das Ding. Werde es dann teilen, vielleicht kam ja wer was damit anfangen.
 
Im Kontext von Waldorf SysEx ist HEX oder DEC in der Tat recht egal. Das ist ja auch recht vernünftig gebaut. Sollte @sushiluv später mal etwas mit einem Prophet VS machen wollen, dann müssen aber Bitfelder her. Ob Max das dann kann? Vermutlich nicht. Ist auch nicht unbedingt dafür gebaut.

Also, klingt doch schonmal recht gut. Weiterhin viel Erfolg bei der Unternehmung.
 
So, ich glaube es passt jetzt und ich komme beim setzen der Parameter gut voran. Ich mache einen Dump wo ein Parameter verändert ist, vergleiche den Wert mittels zl sub, bekomme dann den Index im Dump und setzte den Wert dann in ein zl nth und schicke das an den jeweiligen Regler. Kann man vermutlich schlauer lösen, aber ich weiß nicht wie :)
Ich könnte auch ewig lange unpack verwenden, aber dann hab ich den Index des Parameters ja immer noch nicht.

Nicht dramatisch, ich habe nicht vor alle Parameter zu mappen.

Ahja, @maxsize war die Lösung des Problems.

Besten Dank an euch!
 
So, ich glaube es passt jetzt und ich komme beim setzen der Parameter gut voran. Ich mache einen Dump wo ein Parameter verändert ist, vergleiche den Wert mittels zl sub, bekomme dann den Index im Dump und setzte den Wert dann in ein zl nth und schicke das an den jeweiligen Regler. Kann man vermutlich schlauer lösen, aber ich weiß nicht wie :)
Ich könnte auch ewig lange unpack verwenden, aber dann hab ich den Index des Parameters ja immer noch nicht.

Ahja, @maxsize war die Lösung des Problems.

Besten Dank an euch!

klingt gut und überhaupt nicht unschlau. mit zl is sicher alles eleganter als mit langen unpacks. würde mich interessieren, falls es das ding irgendwo mal runterzuladen gibt.
 
gesetzte bits... bitfelder... lol. ich arbeite mit Max seit 20 jahren. und du so?

Maschinensprache aller möglichen Prozessoren und Polyframe/Sounddiver seitdem sie erschienen.

Bei vielen Synths werden Schalter als Bitfelder angelegt, um Speicherplatz und Sendebytes zu sparen. Mit sowas muß sich jeder Editor abgeben können, und auch gezielt einzelne Bits setzen können. Mit Hex kann man solche Werte direkt den Bitwerten gleichsetzen. Wie wird sowas in Max umgesetzt?
 
@microbug
Laut sysexmanual sind die Parameter des Blo in einer Matrix gesetzt. Volume der Oscillatoren ist im Dump nebeneinander, aber z.b. Octave ist dann 40 Plätze später.
Wie kann man diese Matrix herstellen um den Parameterindex zu haben und nicht alles einzeln suchen zu müssen?
 
Maschinensprache aller möglichen Prozessoren und Polyframe/Sounddiver seitdem sie erschienen.

Bei vielen Synths werden Schalter als Bitfelder angelegt, um Speicherplatz und Sendebytes zu sparen. Mit sowas muß sich jeder Editor abgeben können, und auch gezielt einzelne Bits setzen können. Mit Hex kann man solche Werte direkt den Bitwerten gleichsetzen. Wie wird sowas in Max umgesetzt?

ein paar bytes zu sparen ist bei max aus naheliegenden gründen kein wirkliches thema.
deine technische sprache ist nicht meine, dh ich müsste mich da etwas einlesen. wenn du mit deiner frage meinst, wie man von max aus midibefehle, egal welcher art, an ein externes gerät schickt:
messages wie zb:
"240 bla bla bla bla 247"
"60 127 1" "60 0 1"
"248"
"250"
an die entsprechenden objekte schicken: zb [noteout] [ctlout] [midiout] [midiformat] oder [sxformat]
alles jenseits davon erledigt Max.

und weil über das thema auch informiert spekuliert wurde... zur allg. geeignetheit von Max zur kommunikation mit externer midi hardware sei gesagt, dass genau dafür Max mitte 80er entwickelt wurde. darum wurde Max damals auch als midi-sequenzer-baukasten beworben.

falls überdurchschnittliches interesse an der historie besteht - etwas trocken aber informativ:
Ansehen: https://www.youtube.com/watch?v=4OQVBX2vx_g
 
@microbug
Laut sysexmanual sind die Parameter des Blo in einer Matrix gesetzt. Volume der Oscillatoren ist im Dump nebeneinander, aber z.b. Octave ist dann 40 Plätze später.
Wie kann man diese Matrix herstellen um den Parameterindex zu haben und nicht alles einzeln suchen zu müssen?
was auch immer das manual damit meint - aus Max musst du eine liste mit offensichtlich 293 elementen rausschicken. die position jedes elements definiert sein bedeutung. für die positionen gabs sicher gute gründe, die dir ein ingenieur von waldorf sicher erklären kann. ich sehe aber nicht, wie dir dieses wissen beim editor bauen irgendwie helfen könnte. dh entweder ca 280 positionen auswendig lernen oder einzeln raussuchen und einen musikerfreundlichen editor bauen. zb in Max.
 
ein paar bytes zu sparen ist bei max aus naheliegenden gründen kein wirkliches thema.
Bei Hardcore SysEx liegt es nicht in Deinem Ermessungspieltraum, das wird Dir von Aussen aufgezwungen.
alles jenseits davon erledigt Max.
Wenn einzelne Bytes in diese Form geschickt werden müssen, ist es sicher kein Problem, wenn man aber z.B. low level Binäroperationen braucht, siehe Prophet VS Format, dann müsste Max das unterstützen (geht wahrscheinlich auch, diese HEX zu DEC Geschichte ist ja auch als externe Funktion entwickelt).
zur allg. geeignetheit von Max zur kommunikation mit externer midi hardware sei gesagt, dass genau dafür Max mitte 80er entwickelt wurde. darum wurde Max damals auch als midi-sequenzer-baukasten beworben.
Midi an sich ist ja sauber strukturiert und standardisiert, wenn es um die normalen Events und CCs etc. geht. SysEx ist davon ausgenommen, nur die Hülle ist standardisiert. Bei fiesen Konstrukten könnte Max scheitern.
 


News

Zurück
Oben