Home Forums General Panels, Components, Macros Korg Z1 – Negative Values

This topic contains 7 replies, has 4 voices, and was last updated by  valsolo 3 years, 3 months ago.

Viewing 8 posts - 1 through 8 (of 8 total)
  • Author
    Posts
  • #18674

    hannasdeli
    Participant

    Hi!

    I am new to the forum, but I have been working with some CTRLR panels for the Waldorf Pulse (easy) and now I wanted to make one for my Korg Z1.

    I decided to use the Korg Prophecy panel as a template due to the architecture being very similar or nearly identical. And I managed to make it work for things like the filter, oscillator type etc. A lot of work to do still.

    But of course I arrived to some parameter with negative and positive values. I read some expression examples and have been trying and trying but I always manage to get my negative values a bit off from what I really need. I spent a lot of hours and I did not manage to make it work properly, so I guess it is down to some serious misunderstanding of how large numbers are expressed in HEX with MSB and LSB.

    Here are the values that I need to obtain:

    OSC 1 SEMItone 
    
    Sysex Formula: [f0 42 30 46 41 01 30 01 MS LS f7]
    
    MS LS
    0c 00	 12
    0b 00	 11
    0a 00	 10
    09 00	 9
    08 00	 8
    07 00	 7
    06 00	 6
    05 00	 5
    04 00	 4
    03 00    3
    02 00    2
    01 01    1
    00 00	 0
    7f 7f	 -1
    7e 7f    -2
    7d 7f    -3	
    7c 7f	 -4	
    7b 7f	 -5
    7a 7f	 -6
    79 7f	 -7
    78 7f	 -8
    77 7f	 -9
    76 7f	 -10
    75 7f	 -11
    74 7f	 -12

    I would really appreciate if you could help me out as solving this would mean I can work again in building the much needed Korg Z1 panel. I think that beast with a proper panel would be fantastic.

    Thank you in advance

    #18725
    layzer
    layzer
    Participant

    enter these values in your modulator’s value contents box

    -12=16372
    -11=16373
    -10=16374
    -09=16375
    -08=16376
    -07=16377
    -06=16378
    -05=16379
    -04=16380
    -03=16381
    -02=16382
    -01=16383
    +0=0
    +01=1
    +02=2
    +03=3
    +04=4
    +05=5
    +06=6
    +07=7
    +08=8
    +09=9
    +10=10
    +11=11
    +12=12

    • This reply was modified 3 years, 10 months ago by layzer layzer.
    #18767

    hannasdeli
    Participant

    Thank you Layzer! I did not use your list, but you pointed me in the right direction. The actual SYSEX formula that works for negatives values in the Korg Z1 is

    lt (modulatorValue, 0, 16383 - (abs(modulatorValue)), modulatorValue)

    Somehow I did not understand properly how the large numbers are translated to MSB and LSB… I would be grateful if you could explain a bit how you obtained the 16383 value.

    Regards and thanx again! Now i am flying with the panel.

    #18786
    layzer
    layzer
    Participant

    simple, the 7f 7f msb,lsb pair is 16129 in decimal. but 80h*80h is what = 16384
    you would think 16129 would be the value that worked, huh?

    all the korg Z1 is doing is starting with the 7f 7f value and decreasing the msb by one for every negative increment. go figure!

    also, the list i gave would work if you swapped the lsb msb in your sysex string like so…..

    Sysex Formula: [f0 42 30 46 41 01 30 00 LS MS f7

    either way, glad u figured it out!

    • This reply was modified 3 years, 10 months ago by layzer layzer.
    #18864

    hannasdeli
    Participant

    Excellent! I made one mistake, I took 7f7f as a whole in its decimal value (32639) which obviously is wrong. I need to understand a bit better the conversion of hex pairs to decimal.

    But now the posted formula above works for all parameters, -12/12, -50/50 or even -99/99.

    Thank you again!

    #18865

    hannasdeli
    Participant

    Ok I get it now, you multiply the MSB and LSB values!

    #22896
    wikter
    wikter
    Participant

    Hi, I was trying to create a function based on the midivalue, but just for the hardware control, then I needed the inverse function of modulatorValue.
    Here it is!

    lt (midiValue, 128, midiValue, midiValue – 16384)

    Thanks!!!

    MVXSynths
    R3 / MOX6 / Electribe2 / Electribe R MkII / Electribe MX / K4R / BCR2000 / XStation61 / XStation25 / Virus Rack / Chameleon / Proteus 2500 / RM1X / KN2600

    #28697

    valsolo
    Participant

    Hi!
    How’s it going with the Z1, love to see it as I’ve got a Z1 just lying in a corner unused 🙂

Viewing 8 posts - 1 through 8 (of 8 total)

You must be logged in to reply to this topic.

Comments are closed.