More Sysex Documentation Errors

Discussion relating to the Korg Kronos Workstation.

Moderators: Sharp, X-Trade, Pepperpotty, karmathanever

Post Reply
Cpilot
Senior Member
Posts: 427
Joined: Wed Oct 05, 2011 8:02 pm

More Sysex Documentation Errors

Post by Cpilot »

The sysex doc for wave sequences proudly proclaims that each sequence occupies 1192 bytes. However, looking at a wave sequence sysex dump, each sequence takes 1374 bytes. So the documentation is useless. This is not the first error I've found in sysex (though the last one is an error in the Kronos instead). I've tried reporting these errors but nobody's listening. So we have doc errors, software bugs and hardware faults. And Korg is in denial. What is wrong with Korg? Don't they realise that a little honesty goes a long way and earns a great deal of respect. Are they trying to save face or don't they care about customers. Makes you wonder.

Bryan
User avatar
jeebustrain
Platinum Member
Posts: 1284
Joined: Mon Jan 24, 2011 10:08 pm
Location: In a Roger Dean painting

Post by jeebustrain »

how did you try to report the errors? Did you call Korg?
::: Korg Kronos 88 ::: Alesis Fusion 8HD ::: Kurzweil PC361 ::: Roland V-Synth ::: DSI Prophet 12 ::: DSI OB-6 ::: Korg Prophecy ::: Moog Micromoog ::: Yamaha CP-30 ::: Alesis Andromeda ::: Moog Sub37 ::: Sequential Prophet 600 ::: Korg MS2000BR ::: GSI Burn :::

My Music
qfingers
Posts: 24
Joined: Thu Aug 05, 2004 2:31 am

Re: More Sysex Documentation Errors

Post by qfingers »

Cpilot wrote:The sysex doc for wave sequences proudly proclaims that each sequence occupies 1192 bytes. However, looking at a wave sequence sysex dump, each sequence takes 1374 bytes. So the documentation is useless. This is not the first error I've found in sysex (though the last one is an error in the Kronos instead). I've tried reporting these errors but nobody's listening. So we have doc errors, software bugs and hardware faults. And Korg is in denial. What is wrong with Korg? Don't they realise that a little honesty goes a long way and earns a great deal of respect. Are they trying to save face or don't they care about customers. Makes you wonder.

Bryan
That is because the sysex documentation is based on 8 byte to 7 byte convertion that is necessary before interpreting the table showing the wave sequence information. Quoting "KRONOS_MIDI_SysEx.txt"

Code: Select all

*3
 The detailed information about "data," see the text files specific to HD-1, EXi
 Internal data is converted to MIDI data using following method.
+-------------------------------------------------------------------------------
|  Internal 7byte data <convert> MIDI 8 byte data                           
|  example) Internal data(bit image) MIDI data(bit image)                       
|                Aaaaaaaa            0GFEDCBA                                   
|                Bbbbbbbb            0aaaaaaa                                   
|                Cccccccc            0bbbbbbb                                   
|                Dddddddd            0ccccccc                                   
|                Eeeeeeee            0ddddddd                                   
|                Ffffffff            0eeeeeee                                   
|                Gggggggg            0fffffff                                   
|                Hhhhhhhh            0ggggggg                                   
|                Iiiiiiii            0NMLKJIH                                   
|                   :                0hhhhhhh                                   
|                   :                   :                                       
|                Vvvvvvvv            000000WV                                   
|                Wwwwwwww            0vvvvvvv                                   
|                                    0wwwwwww                                   
|                                    11110111 (EOX=F7H)                         
+-------------------------------------------------------------------------------

 binarySize: number of 8-bit binary data bytes in memory
 sysExSize: number of 7-bit sys/ex data bytes

 sysExSize = binarySize + (binarySize+6)/7

 binarySize = (sysExSize/8)*7 + (sysExSize%8 ? sysExSize%8-1 : 0)
The inverse process is needed to interpret the data based on the documentation.

q
User avatar
Davidb
Platinum Member
Posts: 1592
Joined: Mon Oct 21, 2002 2:43 pm
Contact:

Re: More Sysex Documentation Errors

Post by Davidb »

Cpilot wrote:... So we have doc errors, software bugs and hardware faults. And Korg is in denial. What is wrong with Korg? Don't they realise that a little honesty goes a long way and earns a great deal of respect. Are they trying to save face or don't they care about customers. Makes you wonder.
Regards.
D.
User avatar
danatkorg
Product Manager, Korg R&D
Posts: 4205
Joined: Fri Jan 21, 2005 7:28 am
Location: California, USA
Contact:

Post by danatkorg »

The sysex docs are well-maintained, and are available to anyone who requests them. Feel free to contact me at dan@korgrd.com.

- Dan
Dan Phillips
Manager of Product Development, Korg R&D
Personal website: www.danphillips.com
For technical support, please contact your Korg Distributor: http://www.korg.co.jp/English/Distributors/
Regretfully, I cannot offer technical support directly.
If you need to contact me for purposes other than technical support, please do not send PMs; instead, send email to dan@korgrd.com
Cpilot
Senior Member
Posts: 427
Joined: Wed Oct 05, 2011 8:02 pm

Post by Cpilot »

I'm still investigating and there are further problems. Looks like there are monster bugs in the wave sequence dump. I agree with what qfingers says but how do you account for the fact that in the dump each sequence starts with its own sysex header whereas the doc manifestly states this is not so. Also, the format of each step appears to vary instead of being fixed, though the length of each sequence is fixed.

When transmitting the sysex data via the midi port, the received data appears to be correct, i.e. 150 sequences are received and the file size is 206kB. However, when transmitting via the USB port, the file size can be anything and the last dump I took the file size was 802kB. On inspection, the first part of the dump was identical with the midi dump, but there appeared to be a further 450 or so initialised sequences plus a bunch of extraneous sysex headers.

Another problem is the dump window. When you switch the bank to USER A, the window still displays the names of the INT bank.

Thanks for the offer Dan. I'll send you an email and hope it doesn't get caught up in your spam filter.

Bryan
User avatar
ashboe
Senior Member
Posts: 317
Joined: Thu Dec 29, 2005 9:17 am
Location: Lancs

Post by ashboe »

I have never read a thread about music before in which I understood absolutely NOTHING - but this one is it.

I'm not even sure I want to know this level of knowledge. Its a bit like the offside rule at football - its enough that someone else understands it....

Wowzer......

Sean
User avatar
danatkorg
Product Manager, Korg R&D
Posts: 4205
Joined: Fri Jan 21, 2005 7:28 am
Location: California, USA
Contact:

Post by danatkorg »

Cpilot wrote:I'm still investigating and there are further problems. Looks like there are monster bugs in the wave sequence dump. I agree with what qfingers says but how do you account for the fact that in the dump each sequence starts with its own sysex header whereas the doc manifestly states this is not so. Also, the format of each step appears to vary instead of being fixed, though the length of each sequence is fixed.

When transmitting the sysex data via the midi port, the received data appears to be correct, i.e. 150 sequences are received and the file size is 206kB. However, when transmitting via the USB port, the file size can be anything and the last dump I took the file size was 802kB. On inspection, the first part of the dump was identical with the midi dump, but there appeared to be a further 450 or so initialised sequences plus a bunch of extraneous sysex headers.

Another problem is the dump window. When you switch the bank to USER A, the window still displays the names of the INT bank.

Thanks for the offer Dan. I'll send you an email and hope it doesn't get caught up in your spam filter.

Bryan
Sysex specs have certainly changed over time. Please note that the editor is based on our docs, as are other internal tools. Almost every time someone says that there's a "bug," it turns out that they just haven't understood something correctly.
Dan Phillips
Manager of Product Development, Korg R&D
Personal website: www.danphillips.com
For technical support, please contact your Korg Distributor: http://www.korg.co.jp/English/Distributors/
Regretfully, I cannot offer technical support directly.
If you need to contact me for purposes other than technical support, please do not send PMs; instead, send email to dan@korgrd.com
User avatar
curvebender
Platinum Member
Posts: 784
Joined: Tue Jun 26, 2007 5:51 pm
Location: Sweden

Post by curvebender »

Cpilot,

I don't understand: exactly why is this a problem?..
Paul: Don't be nervous.
John: I'M NOT NERVOUS!!!
User avatar
jimknopf
Platinum Member
Posts: 3374
Joined: Mon Jan 17, 2011 1:52 pm

Post by jimknopf »

I see no problem in trying to make some use of sysex data, perhaps for programming a tool or whatever.

But it is not necessary to get there in bad mood, and Dan's friendly and generous offer should show a solution oriented way, met by some definitely more positive feelings and comment IMHO.
Kronos 73 - Moog Voyager RME - Moog LP TE - Behringer Model D - Prophet 6 - Roland Jupiter Xm - Rhodes Stage 73 Mk I - Elektron Analog Rytm MkII - Roland TR-6s - Cubase 12 Pro + Groove Agent 5
Cpilot
Senior Member
Posts: 427
Joined: Wed Oct 05, 2011 8:02 pm

Post by Cpilot »

Well, if I have offended anyone please accept my sincere apologies. That was never my intention. And it appears that I don't have the current documentation but have no idea where to obtain it apart from Dan's kind offer to accomodate me.

Bryan
User avatar
jimknopf
Platinum Member
Posts: 3374
Joined: Mon Jan 17, 2011 1:52 pm

Post by jimknopf »

No problem, Bryan, I was no target anyway. :wink:

You made us curious what you want to use the sysex for.
Kronos 73 - Moog Voyager RME - Moog LP TE - Behringer Model D - Prophet 6 - Roland Jupiter Xm - Rhodes Stage 73 Mk I - Elektron Analog Rytm MkII - Roland TR-6s - Cubase 12 Pro + Groove Agent 5
User avatar
timg11
Senior Member
Posts: 468
Joined: Wed Jun 04, 2008 8:55 pm

Post by timg11 »

cpilot,

I have worked extensively with the Combi documentation, and the overall message listing in "KRONOS_MIDI_SysEx.txt". The version I have is 1.07, dated May 3, 2011. I'm not sure if there are any newer versions.

I have found a few inconsistencies in the way banks are represented in different format (sysex message vs inside a Combi or Timbre).

I can't say I've found any outright bugs or errors, but the biggest problem I have is incompleteness of the information.

Today, I'm dealing with how to handle a bunch of sysex messages the Kronos sends out when I press buttons and use the screen. These are of the form F0, 42, 3g, 68, 7F ...
Functions up to 7E are documented, but 7F is nowhere to be found. I guess I'll just code my program to ignore them.

Similarly, there are a lot of enumerated types that have incomplete descriptions For example, the Status bits of a Timbre (7~5) are documented as "Off~External2". There is no clue as to what values correspond to what states, or even what all the intermediate states are. You might think that it is 0:off, 1:int, 2:Ext, 3:Ex2. But that only needs 2 bits, and the field is three bits.
Only by reverse engineering do you discover that the mapping is actually 0:Off, 1:Int, 3:Ext, 4:Ex2.
To make it more interesting. the Triton family reverses the mapping for 0 and 1. There are many more enums described like that, where you have to figure it out yourself.

I would be happy to collaborate with you if you're ever interested in these areas. I have not looked at wave sequences, though. It would be nice to have an open community of Korg developers where we could share our learning on Sysex and other matters related to supporting these great instruments. Maybe Dan could recommend a way to do that?
Post Reply

Return to “Korg Kronos”