System Exclusive vraag

sander

_
Lid sinds
17 juli 2001
Berichten
8.417
Locatie
Alphen a/d Rijn
Na een paar uur te hebben gestoeid met de Doefer drehbank als controller voor een synthesizer heb ik eindelijk een knop werkend. Achteraf heb ik heel lang over het hoofd gezien dat de stepwith op 00h=0 stond waardoor de waarde bij een knop draai dus nooit veranderd. Lekker als je daar zolang over heen kijkt :(. Staat nu op 01h=1.

Ik heb het voorelkaar gekregen door met een midi monitor te bekijken wat voor strings er worden geproduceert bij het veranderen van parameters op de synthesizer. Van de handleiding snapte ik namelijk weinig. De string heb ik vervolgens in de drehbank editor ingevoerd. (zie message op afbeelding hieronder). Alleen op de plek waar VAL staat, das dus in het rechtervakje wijzigd de waarde van de parameter. (de opmaak hiervan staat onder control value)

Nu snap ik alleen niet het volgende.

De cutoff loopt van 0 t/m 255

Ik kan in de drehbank editor allerlei data formaten selecteren.
Zie deze 2 afbeeldingen voor alle mogelijkheden:

siel1.jpg


siel4.jpg



Als ik kies Nibble LH <----3210><----7654>
dan werkt het allemaal prima en kan ik met de knop een bereik van 0 t/m 255 halen, maar in stapjes van 2

Als ik kies voor 14 Bit HL <7654321<0----> dan krijg ik stapjes van 1 maar is de maximale waarde 127.

Als ik weer een andere waarde selecteer, krijg je stapjes van bijv 16 of 32 of heel onnauwkeurige stappen.

Ik heb geen data formaat gevonden waarbij de stappen 1 zijn en maximale data tot 255
loopt.

Iemand een idee waarom?

Je kan ook nog andere instellingen veranderen zoals checksum en part settings.
Zie hieronder. Moet ik daar nog iets mee doen?

siel2.jpg


siel3.jpg
 
Laatst gewijzigd:
Welke synth bedoel je en wat staat er in zijn midi system exclusive implementatie als transmissie formaat aangegeven (als je die hebt)?
(heb ik iets meer info om je te helpen misschien)
 
Het is een Siel DK-700

F0H-21H-7FH-00H-05H-0FH-0DH-00H-0CH-LN1-HN1-LN2-HN2... ... ... ... ... ...F7H

FOH: system exclusive
21H: Siel ID
7FH: Data transmission protocol
00H: midi channel
05H: DK 700 code number
0FH-0DH-00H-0CH: start data adress
(values are in nibble format and the less significant byte is the first to be sent)

Data format example:

LN1: low nibble byte 1
HN1: high nibble byte 1
LN2: low nibble byte 2
HN2 high nibble byte 2

F7H: end of system exclusive

Elk programma bestaat uit 35 bytes. Elke byte is dus een parameter.
Zo is 28 de cutoff met waarde 0 t/m 255
Ik heb als string gebruikt:

F0H-21H-7FH-00H-78-28-00-00---------------F7

----------= waarde, bijv 0 = 0F 0F 00 00 en 255 = 0F 0F 0F 0F

Die string zag ik dus staan in m'n midi monitor.
 
Laatst gewijzigd:
Als je meer dan 127 wilt heb je 2 bytes nodig omdat midi toch altijd 8e bit van een byte voor parity gebruikt voor data bytes. (niet voor controller bytes)
 
Origineel geplaatst door fuse
Als je meer dan 127 wilt heb je 2 bytes nodig omdat midi toch altijd 8e bit van een byte voor parity gebruikt voor data bytes. (niet voor controller bytes)

Idd. Je zal met 1 midi controler nooit meer dan 128 stappen hebben.

Pitchbend gebruikt 2 midicontrolers daarvoor, zodat je 128x128 stappen hebt.

Checksum is een extra controle om te controleren of alle data wel goed is overgekomen. Het is alleen noodzaak bij de synths die daarom vragen, zie lijst in editor drehbank. Het duurt ook langer omdat de data ook weer terug word gestuurd. Ik gebruik het nooit.
 
Ja maar ik haal het het hele bereik wel, alleen gaat het in stappen van 2, dus elke keer als ik de knop ietsje verdraai wordt de waarde met 2 opgehoogd. Eigenlijk is dat vloeiend genoeg aangezien je voor de meeste synth parameters niet echt een verschil hoort als je de waarde 1 stap verhoogt of verlaagd.

In de doefer handleiding staat: midi string bevat maximaal 113 bytes welke max 16 definieerbare variabelen bevat die ieder 7 Bytes innemen. Control resolutie tot 255 stappen. Control treshold van 1 tot 255 in te stellen.
 
Laatst gewijzigd:
De plaatjes hebben wel iets weg van Sounddiver, inclusief de gebruikte afkortingen zoals VAL en SUM. In Sounddiver als een waarde "verdeelt" moet worden over meerdere bytes (ivm de maximale waarde 7F in een sysexstring en de parameter zelf heeft een grotere range dan 128 ) is het nodig meerdere VAL pseudo bytes achter elkaar te zetten voor het gewenste resultaat. Misschien dat het hier ook zo werkt.
 
Sounddiver krijg je ook bij de Drehbank al je 'm in de winkel koopt, Maar geen idee of ik die heb aangezien ik 'm 2dehands heb aangeschaft. Dus misschien dat ze wel wat afgekeken hebben voor de editor. Die Meerdere variabele kan je wel opgeven als je een knop configureerd als user defined string ipv van system exclusive. Maar dat heb ik nog niet geprobeerd.

Je krijgt dat het volgende scherm. Al die X0 t/m XF zijn variabelen. Die kan je aanklikken en dan afzonderlijk editen. Dus weer de parameters die bij VAL in vorige afbeeldingen stonden.

In de in te voeren midistring kan je dan bijv X0 X1 opgeven (denk ik).

siel5.jpg
 
Als je voor X0, X1 etc alleen een vaste waarde kan invoeren, lijkt me dat niet de juiste plek voor een waarde die continu kan veranderen zoals je met een fader of draaiknop kan doen. Voor vaste knoppen kan bovenstaande wel werken, denk ik. Een soort van "statische" string zogezegd. Ik heb nog steed het idee als je met een LH (of HL) nibble transmissie formaat moet werken en je een range groter dan 128 stappen hebt, je 4 keer een VAL byte moet plaatsen. Maar ik kan het natuurlijk gigantisch mis hebben.
 
Ik heb net met 2 en 4 VAL's getest.

X0 range 00 t/m 0Fh
X1 range 00 t/m 0Fh

Als je namelijk met de midi monitor kijkt zie je

VAl X0

00 00 =0
01 00 =1
etc
etc
0F 00=15

Als je de cutoff hoger doet dan 15, wordt de 2de VAL(X1) erbij gebruikt

X0 X1
00 01=16
01 01=17
02 01=18
03 01=19
04 01=20
etc
0A 01=26
0E 01=30
08 02=40
02 03=50
04 06=100
08 0C=200
0F 0F=255


Ik weet alleen niet zo goed wat ik als type op moet geven. Zie voor alle mogelijkheden afbeelding 1 en 2 in m'n eerste post. Heb diversen geprobeerd, maar het lukt nog niet.

Ik krijg met X0 bereik 0 t/m 0F en type Nipple Lo <----3210> en X1 bereik 0 t/m 0F type Nibble Hi <----7654> als maximale knop waarde 15. Deze loopt dat wel keurig met stapjes van 1.
 
Ik ben bang dat het niet gaat lukken, je hebt nl 2x LH nibbles paren nodig. Staat niet in het lijstje als ik dat zo bekijk.
 
Origineel geplaatst door bronswerk
Ik ben bang dat het niet gaat lukken, je hebt nl 2x LH nibbles paren nodig. Staat niet in het lijstje als ik dat zo bekijk.


Ik snap niet helemaal. wat doen die LH nibbles precies.

De specificaties zeggen dat je het volgende nodig hebt om de waarde 0 t/m 255 te genereren:

LN2: low nibble byte 2
HN2 high nibble byte 2

LN2 is toch VAL 1 en HN2 VAL 2 of niet?

F0-21-7F-00-78-28-00-00-0F-0F-VAL1-VAL2-F7
 
Back
Top