Sysex Effects Automation

Discussion relating to the Korg Kronos Workstation.

Moderators: Sharp, X-Trade, Pepperpotty, karmathanever

Post Reply
Liviou2004
Platinum Member
Posts: 1150
Joined: Mon Feb 20, 2017 11:28 am
Location: France

Sysex Effects Automation

Post by Liviou2004 »

Hello,

We all know that, thanks to Automation recording, we can record all effects modifications in a song, even the parameters that cannot be moved by DMod (as Feedback in a Delay effect, for example) -> See p.673 Parameter Guide.
After recording, going to "Event edit", we can see the Sysex event at the right place, changing its place, we can move this event or delete it.

My question is : how can we get the detail of this Sysex event ? For the moment, I'm unable to identify what parameter is refered to each Sysex event.
Is there a way, inside the Kronos, to edit the Sysex event ?
User avatar
Poseidon
Senior Member
Posts: 373
Joined: Sun Jul 08, 2018 5:10 am

Post by Poseidon »

Editing SysEx events requires a thorough understanding of the data format that is unique to individual MIDI devices. There is no way you can do it. There is no synth able to do it ( Please correct me if I am wrong).

In my case, using an external sequencer,
I use snooze SysEx utilities To capture the single message.
Sometimes I have a need to automate an individual parameter,and embed it inside a track. But … you still have to work in HEX or ASCII format.

A Hint: Print a big cheatsheet of Kronos MIDI implementations and hang it on a wall.

A Hint 2: External MIDI monitors can help you to decipher SysEx messages.
Liviou2004
Platinum Member
Posts: 1150
Joined: Mon Feb 20, 2017 11:28 am
Location: France

Post by Liviou2004 »

Poseidon wrote:Editing SysEx events requires a thorough understanding of the data format that is unique to individual MIDI devices. There is no way you can do it. There is no synth able to do it ( Please correct me if I am wrong).

In my case, using an external sequencer,
I use snooze SysEx utilities To capture the single message.
Sometimes I have a need to automate an individual parameter,and embed it inside a track. But … you still have to work in HEX or ASCII format.

A Hint: Print a big cheatsheet of Kronos MIDI implementations and hang it on a wall.

A Hint 2: External MIDI monitors can help you to decipher SysEx messages.
Hello,

Your Hint 1 : Yes, its always useful in particular for all MIDI CC #. But It wouldn't help for Sysex.

Your Hint 2 : Yes, perhaps the only solution. For some things, I'm using MidiOx. It would be a very tedious but useful job to build a chart with each Sysex message respectively to each effect parameter.
HardSync
Platinum Member
Posts: 849
Joined: Fri Jan 07, 2011 6:18 pm

Post by HardSync »

Poseidon wrote:There is no synth able to do it ( Please correct me if I am wrong).
Korg's M3 can do it internally, OS version 2.0 and later. It's pretty cool, actually. You can insert/create and edit sysex data for anything by using the actual parameter name and values you want. You don't see the hex code, just the normal names.
alland
Platinum Member
Posts: 578
Joined: Wed Jun 17, 2009 6:46 pm
Location: Estonia

Re: Sysex Effects Automation

Post by alland »

Liviou2004 wrote:My question is : how can we get the detail of this Sysex event ? For the moment, I'm unable to identify what parameter is refered to each Sysex event.
There is Kronos SysEx reference linked from page http://i.korg.com/SupportPage.aspx?productid=638
but I found it easier to capture Sysex using MidiOX and decode just cases I needed.
Korg KronosX/Pa4x/M3 • Ableton • Komplete • Omnisphere • Roland Cloud soundcloud.com/allandd
User avatar
Poseidon
Senior Member
Posts: 373
Joined: Sun Jul 08, 2018 5:10 am

Post by Poseidon »

Liviou2004 wrote: Your Hint 1 : Yes, its always useful in particular for all MIDI CC #. But It wouldn't help for Sysex.
Why not ? , just take a look below, there are more details like this in TXT files ( refer to DVDs that come with Kronos)

Code: Select all

========================================================================
              Song Event Data Transfer Protocol
========================================================================

NOTE: the sys/ex dump format for this undergoing a redesign. Song event
dumps are currently disabled.

The data to be sent must be broken up into packets by the client.
Each packet must be the same size(24000bytes(*1)), except the last packet.

Song Event Packet Format:

  F0 42 3g 68 73 09 <packet> <song> 00 <event> F7

  <packet>
        0..99:  0..99
  <song>
        pp pp: (14-bit, MSB first) 0..199
  <event>
        dd dd dd... max:27432bytes

NOTES:
(*1)24000 = 8 * 3000 (size of event * number of events)
(*2)Store bank request message must be sent after sending the song data.

  F0 42 3g 68 76 02 00 F7


For instance, if you send the song000 data that has 24014 bytes of event data to OASYS, 
please send them as follows.

  F0 42 3g 68 73 02 00 00 00 02 <Song> F7
  F0 42 3g 68 73 08 00 00 00 00 <Song> F7
  F0 42 3g 68 73 09 00 00 00 01 <27432> F7
  F0 42 3g 68 73 09 01 00 00 01 <16> F7
  F0 42 3g 68 76 02 00 F7


                              EVENT DATA FORMAT IN SONG

 *  Event bit image

    |M  07  L|M  06  L|M  05  L|M  04  L|M  03  L|M  02  L|M  01  L|M  00  L|
    |kkkkkkkk|........|........|........|........|........|........|........|

    k: kind(8bit)

    master track event
    kind =
    0x01: Bar
    0x03: TrkEnd
    0x0b: TempoChg

    track event
    kind =
    0x01: Bar
    0x02: Pat
    0x03: TrkEnd
    0x09: Note
    0x0a: PolyPress
    0x0b: ControlChg
    0x0c: ProgramChg
    0x0d: ChPress
    0x0e: PitchBend

    0x0f: Excl
    0x07: ExclData
    0x08: ExclEnd

    pattern event
    kind =
    0x01: Bar
    0x03: TrkEnd
    0x09: Note
    0x0a: PolyPress
    0x0b: ControlChg
    0x0c: ProgramChg
    0x0d: ChPress
    0x0e: PitchBend

 *  Bar Event bit image

    |M  07  L|M  06  L|M  05  L|M  04  L|M  03  L|M  02  L|M  01  L|M  00  L|
    |00000001|........|........|MMMMMMMM|ssssssss|ssssssss|mmmmmmmm|mmmmmmmm|

    m: meas
    s: size
    M: meter    * only mastertrk, patterntrk

    meter format
       bit image (M16)  |01 23 4567|
       bit 0-1 undefined
       bit 2-3 0:specified 1:/4 2:/8 3:/16
       bit 4-7 0~15


 *  TrkEnd Event bit image

    |M  07  L|M  06  L|M  05  L|M  04  L|M  03  L|M  02  L|M  01  L|M  00  L|
    |00000011|........|........|........|........|........|mmmmmmmm|mmmmmmmm|

    m: meas


 *  TempoChg Event bit image

    |M  07  L|M  06  L|M  05  L|M  04  L|M  03  L|M  02  L|M  01  L|M  00  L|
    |00001011|.......u|........|NNNNNNNN|VVVVVVVV|VVVVVVVV|tttttttt|tttttttt|

    t: tick
    N: No.(=0x6b [fixed])
    u: last tempo unfixed
    V: tempo val

 *  Pat Event bit image (Instead of BAR)

    |M  07  L|M  06  L|M  05  L|M  04  L|M  03  L|M  02  L|M  01  L|M  00  L|
    |00000010|........|........|MMMMMMMM|nnnnnnnn|nnnnnnnn|mmmmmmmm|mmmmmmmm|

    m: trk meas
    n: pat No.
    M: pat meas


 *  Note Event bit image

    |M  07  L|M  06  L|M  05  L|M  04  L|M  03  L|M  02  L|M  01  L|M  00  L|
    |00001001|........|kkkkkkkk|vvvvvvvv|llllllll|llllllll|tttttttt|tttttttt|

    t: tick     (=0xfff :tie from last measure)
    k: key No.
    v: vel
    l: length   (=0xfff :tie to next measure)


 *   PolyPress Event bit image

    |M  07  L|M  06  L|M  05  L|M  04  L|M  03  L|M  02  L|M  01  L|M  00  L|
    |00001010|........|........|........|vvvvvvvv|kkkkkkkk|tttttttt|tttttttt|

    t: tick
    k: key No.
    v: val


 *   ControlChg Event bit image

    |M  07  L|M  06  L|M  05  L|M  04  L|M  03  L|M  02  L|M  01  L|M  00  L|
    |00001011|.......u|........|vvvvvvvv|VVVVVVVV|nnnnnnnn|tttttttt|tttttttt|

    t: tick
    n: control No.
    u: unfixed
    V: val
    v: last val

 *   ProgramChg Event bit image

    |M  07  L|M  06  L|M  05  L|M  04  L|M  03  L|M  02  L|M  01  L|M  00  L|
    |00001100|.......u|bbbbbbbb|nnnnnnnn|BBBBBBBB|NNNNNNNN|tttttttt|tttttttt|

    t: tick
    N: prog No.
    B: bank
    n: last prog No.
    u: last prog No. and bank unfixed
    b: last bank

 *  ChPress Event bit image

    |M  07  L|M  06  L|M  05  L|M  04  L|M  03  L|M  02  L|M  01  L|M  00  L|
    |00001101|.......u|........|........|vvvvvvvv|VVVVVVVV|tttttttt|tttttttt|

    t: tick
    V: val
    v: last val
    u: last val unfixed


 *   PitchBend Event bit image

    |M  07  L|M  06  L|M  05  L|M  04  L|M  03  L|M  02  L|M  01  L|M  00  L|
    |00001110|.......u|hhhhhhhh|llllllll|HHHHHHHH|LLLLLLLL|tttttttt|tttttttt|

    t: tick
    L: val(low)
    H: val(high)
    l: last val(low)
    h: last val(high)
    u: last val unfixed


 *   ExclEvent bit image

    |M  07  L|M  06  L|M  05  L|M  04  L|M  03  L|M  02  L|M  01  L|M  00  L|
    |00001111|......eu|........|LLLLLLLL|LLLLLLLL|LLLLLLLL|tttttttt|tttttttt|

    t: tick     (=0xfff :invalid message)
    e: enable parameter change
    u: last val unfixed
    L: last Value
    
 *   ExclDataEvent bit image

    |M  07  L|M  06  L|M  05  L|M  04  L|M  03  L|M  02  L|M  01  L|M  00  L|
    |00000111|dddddddd|dddddddd|dddddddd|dddddddd|dddddddd|dddddddd|dddddddd|

    d: data

 *  EOXEvent bit image

    |M  07  L|M  06  L|M  05  L|M  04  L|M  03  L|M  02  L|M  01  L|M  00  L|
    |00001000|........|........|........|........|........|........|........|

    d: data
Liviou2004
Platinum Member
Posts: 1150
Joined: Mon Feb 20, 2017 11:28 am
Location: France

Post by Liviou2004 »

Poseidon wrote:
Liviou2004 wrote: Your Hint 1 : Yes, its always useful in particular for all MIDI CC #. But It wouldn't help for Sysex.
Why not ? , just take a look below, there are more details like this in TXT files ( refer to DVDs that come with Kronos)
Yes, thank you. It's exactly this kind of work I would like to do for the sysex codes generated by effects automation.

(But it's about Sysex dump, and doesn't apply to MIDI CCs, as you told in your hint 1. We can find Kronos MIDI CC on another paper -> p. 1134, Parameter Guide
User avatar
Poseidon
Senior Member
Posts: 373
Joined: Sun Jul 08, 2018 5:10 am

Post by Poseidon »

I have uploaded the other files taken from DVD.
In case you don't have it, or others need it:

kokros.zip ( https://www11.zippyshare.com/v/xUbbW5Cb/file.html )

md5 = e782a05fc7c4a7ec47abedba3838c547
SHA-256 = 682bba3fa834174e9167f0d7002bd65ce5fb6c387ff257f3378e6d12e309b6ef
Liviou2004
Platinum Member
Posts: 1150
Joined: Mon Feb 20, 2017 11:28 am
Location: France

Post by Liviou2004 »

Poseidon wrote:I have uploaded the other files taken from DVD.
In case you don't have it, or others need it:

kokros.zip ( https://www11.zippyshare.com/v/xUbbW5Cb/file.html )

md5 = e782a05fc7c4a7ec47abedba3838c547
SHA-256 = 682bba3fa834174e9167f0d7002bd65ce5fb6c387ff257f3378e6d12e309b6ef
Thank you very much. I didn't know these files are in the DVD. It's great.
Post Reply

Return to “Korg Kronos”