Loading ...
Sorry, an error occurred while loading the content.

RE: [oasys-pci] OASYS SYSEX

Expand Messages
  • James
    It sounds more like a case of what people at Logic should do not at Korg! /james ... From: Douglas Kraul [mailto:drk@delora.com] Sent: 31 October 2000 19:56
    Message 1 of 32 , Nov 1, 2000
      It sounds more like a case of what people at Logic should do not at Korg!


      -----Original Message-----
      From: Douglas Kraul [mailto:drk@...]
      Sent: 31 October 2000 19:56
      To: oasys-pci@egroups.com
      Subject: [oasys-pci] OASYS SYSEX

      I have been fiddling with the OASYS trying to create environment
      components for it in Logic. I have discovered some interesting
      tidbits which others may find helpful. Also I am finding it
      difficult to use Logic and/or an external fader controller to control
      OASYS synths and effects.

      From what I can gather by examining SYSEX dumps from panel control
      movements the basic sysex command is pretty straight forward [I will
      post documentation on this as I complete it]. Each control on a
      panel is addressed by its mixer channel and its patch slot (the two
      places you can assign patches to each program). These values span 0-
      11 and 0-1 respectively.

      Each parameter appears to be assigned a two digit (each 7 bits) code
      or address. Can't say if all are used, or even if there is a
      pattern. At this point all I know is that two sysex bytes are

      Now the interesting part. The value of the parameter is sent as four
      sysex bytes (a sysex byte is actually only 7 bits of data). It
      therefore appears that 28 bits are used to represent a parameter's
      value. These 28 bits represent a signed, twos complement value
      (sorry for the geek talk). So parameters can represent values
      positive or negative.

      The maximum positive value I have seen so far is 3 in the upper most
      sysex byte. So it seems that only 23 of the possible 28 bits are
      used. Therefore it seems reasonable to assume that OASYS uses 24 bit
      values (23 active bits plus a sign bit).

      This is very cool as it gives you lots of resolution for tweaking in
      values. Many times quantizing a parameter value to only 7 bits (0-
      127) places restrictions on the types of sounds you can achieve as
      sometimes the desired value lies between. And of course there is
      also "zippering" problems as values change in too coarse a fashion.
      So Korg has once again done right with this approach to parameter

      Unfortunately, it plays havoc with trying to create custom control
      panels using Logic's environment and other tools, including fader

      Here's my current challenge. I want to have standard control panels
      in Logic for each of the synths and effects I commonly use. This is
      for convienence of working within Logic, but also to allow me to use
      an external fader box to do parameter adjustment. Yes, I know you
      can use the Oasys's very ample modulation assignments to do some of
      this but that's not what I am after. For one reason is that it is
      hard to save patches tweaked in such a way for ready recall later.

      I have labored with Logic faders in the environment and there seems
      to be no straight forward solution. Maybe a Logic wizzard listening
      has some suggestions.

      Not sure what, if anything, Korg can do about this. On one hand it
      would be nice to be able to use tools like Logic's environment and
      external programmable fader boxes to control these parameters. On
      the other, I don't think squishing down parameters into 128 values is
      good either.

    • jamesgone008
      Hi Dan, Reversal of max and min values is not a problem. What I was trying to avoid is having to traverse the whole range of values in order to define it. Was
      Message 32 of 32 , Apr 3, 2002
        Hi Dan,
        Reversal of max and min values is not a problem. What I was trying
        to avoid is having to traverse the whole range of values in order to
        define it. Was hoping I could just use the max an min values, but if
        the direction is changing or some parameters use unsigned integers
        (that is larger than 8388607) there might be a problem distinguish
        them. If you could look into it at some point and let me know would
        be great.

        I did e-mail Norsez in back in January but never got a reply, I
        guess he was too busy or not interested, and I have to get on with
        the programming.

        One of the things I want to do on the randomiser is to make it learn
        from previous settings. That is it could look at at multi and
        program files and extract the settings into a database where it can
        use them later.
        Is there a chance of having a look at the file format specification?

        Thanks a 10^6,

        --- In oasys-pci@y..., Dan Phillips <dan@k...> wrote:
        > RE:Re: OASYS SYSEX 7:55
        PM 4/3/02
        > "jamesgone008" <fromOASYS@0...> writes:
        > > I was trying to get away with it by just "listening" for the
        > > smallest and the largest SysEx values and then extrapolating
        > > the in between values.
        > Sounds like a good idea. Note that the polarity of the knob
        > might be reversed, so that the "max" setting of the knob
        > would actually be the *lowest* internal value.
        > > Can I assume that the SysEx value changes monotonically
        > > (continuously up OR down) as the knobs turn?
        > Yes, I think so.
        > > Is there any way of knowing if the SysEx I'm getting from a
        > > particular knob is just an integer larger than 8388607 or a
        > > negative one?
        > >
        > > I want to use the utility as a "smart randomiser" so is
        > > important to know if the SysEx value I get is between -8388608
        > > and 8388607 OR between 0 and 16777215
        > I haven't looked at this specifically, so I can't say for
        > certain. However, in general the internal values are bipolar
        > (although many knobs will be limited to *sending* unipolar
        > values, and the underlying algorithm might react unpleasantly
        > to values outside the range sent by the knob - come to think
        > of it, I don't know if OASYS PCI would respond to out-of-range
        > values or not).
        > > Unfortunately Norsez's OASYS utility never worked on my system
        > > that's why I'm making one from scratch.
        > I wonder if it would make sense to collaborate with Norsez on
        > this? He seems like a pretty smart fellow to me...
        > Best regards,
        > Dan Phillips
        > Product Manager
        > Korg Research and Development
        > Personal website: http://www.danphillips.com
        > OASYS PCI: http://www.korg.com/oasyspci.htm
        > OASYS PCI email list: http://groups.yahoo.com/group/oasys-pci
      Your message has been successfully submitted and would be delivered to recipients shortly.