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 10 years, 2 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 10 years, 2 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 54 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