More Sysex Documentation Errors
Moderators: Sharp, X-Trade, Pepperpotty, karmathanever
More Sysex Documentation Errors
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
Bryan
- jeebustrain
- Platinum Member
- Posts: 1284
- Joined: Mon Jan 24, 2011 10:08 pm
- Location: In a Roger Dean painting
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
My Music
Re: More Sysex Documentation Errors
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"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
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)
q
Re: More Sysex Documentation Errors
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.
D.
- danatkorg
- Product Manager, Korg R&D
- Posts: 4205
- Joined: Fri Jan 21, 2005 7:28 am
- Location: California, USA
- Contact:
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
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
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
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
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
- danatkorg
- Product Manager, Korg R&D
- Posts: 4205
- Joined: Fri Jan 21, 2005 7:28 am
- Location: California, USA
- Contact:
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.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
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
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
- curvebender
- Platinum Member
- Posts: 784
- Joined: Tue Jun 26, 2007 5:51 pm
- Location: Sweden
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.
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,
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?
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?