Korg Z1 – Negative Values

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

Viewing 8 posts - 1 through 8 (of 8 total)
  • Author
    Posts
  • #18674
    hannasdeli
    Participant
    • Topics: 1
    • Replies: 3
    • Total: 4

    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
    Participant
    • Topics: 6
    • Replies: 36
    • Total: 42

    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 8 years, 3 months ago by layzer.
    #18767
    hannasdeli
    Participant
    • Topics: 1
    • Replies: 3
    • Total: 4

    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
    Participant
    • Topics: 6
    • Replies: 36
    • Total: 42

    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 8 years, 3 months ago by layzer.
    #18864
    hannasdeli
    Participant
    • Topics: 1
    • Replies: 3
    • Total: 4

    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
    • Topics: 1
    • Replies: 3
    • Total: 4

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

    #22896
    wikter
    Participant
    • Topics: 5
    • Replies: 49
    • Total: 54

    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
    • Topics: 0
    • Replies: 1
    • Total: 1

    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)
  • The forum ‘Panels, Components, Macros’ is closed to new topics and replies.
There is currently 0 users and 98 guests online
No users are currently active
Forum Statistics
Threads: 2,495, Posts: 17,374, Members: 77,605
Most users ever online was 12 on January 22, 2019 3:47 pm
Ctrlr