Pioneer AS1 - help in getting bidirectional communication using a sysex dump

Ok its getting spicy :slight_smile: :grinning:

In my case the NRPN parameter order do not seem to match the sysex data.
But i will investigate this further.
I think the parameters might follow after globals, patchname etc.
But also it needs to be unpacked I guess.
How would the ONE handle the unpacking? I checked but cannot find how to do this.

Here a javascript that Converts 8 bytes of “packed MS bit” sysex into the original 7 bytes.
Honestly I do not understand it fully but might come in handy.

[https://cycling74-web-uploads.s3.amazonaws.com/531ee78c4db05f8762373b5f/2019-12-19T09:45:56Z/packedMS.js]

Was hoping to find a DSI synth template that have “PATCH REQUEST” but there are none. There are several DSI synth templates but none parse the sysex patch response. I found yours here: [Electra One App]

I found some additional info, this is from the DSI evolver.

converting packed data formatted sysex data - MaxMSP Forum | Cycling '74

you have to process each slice of 8 bytes with bitshift operators to get the original 7 source parameters

the parameters are ordered according to their NRPN parameter number

Parameter: V_OSC_1_FREQ
NRPN: 0
Value: 0-60

Parameter: V_LOWPASS_FREQ
NRPN: 49
Value: 0-164

Parameter: V_LOWPASS_FREQ
NRPN: 50
Value: 0-255

Patch request “00 40 05 00 00 01 08 10 06”
Header “00 40 05 00 00 01 08 10 03”

Since the AS1 does not send SYSEX per parameter is the example below correct?
Do I extract all parameter in the rules section like this?
Only referring to “request”, “header” and and example of 2 bogus parameters extracted from the response.

  "patch": [
    {
      "request": ["00", "40", "05", "00", "00", "01", "08", "10", "06"],
      "responses": [
        {
          "header": ["00", "40", "05", "00", "00", "01", "08", "10", "03"],
          "rules": [
            {
              "type": "sysex",
              "paramterNumber": 1,
              "parameterBitPosition": 0,
              "byte": 1,
              "byteBitPosition": 0,
              "bitWidth": 7
            },
            {
              "type": "sysex",
              "paramterNumber": 49,
              "parameterBitPosition": 0,
              "byte": 1,
              "byteBitPosition": 0,
              "bitWidth": 7
            },
          ]
        }
      ]
    },
1 Like