Demystify Cakewalk ins files

Home Forums General General MIDI discussion Demystify Cakewalk ins files

This topic contains 3 replies, has 2 voices, and was last updated by  JT64 2 months, 3 weeks ago.

Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
    Posts
  • #115312

    JT64
    Participant
    • Topics: 11
    • Replies: 23
    • Total: 34

    Some things pretty straighforward but when it comes to drum patches….

    .Patch Names

    [N364 GM Drums]
    0 = GM Kit
    16 = Power Kit
    24 = Dance Kit
    25 = Analog Kit
    32 = Jazz Kit
    40 = Brush Kit
    48 = Orch Kit
    64 = Perc Kit

    It is pretty clear to me although it does not say anything about the banks just programs “in the bank”
    A bit later when banks should be loaded it get confusing….

    .Instrument Definitions
    [KORG N364 Programs]
    Control = N364 Controllers
    RPN = N364 RPN
    //I removed some other banks standard 0,1,2,3….
    Patch[7169] = N364 Prog GM
    Patch[7937] = N364 GM Drums
    Patch[ * ] = 0. .127
    Key[7937, 0] = N364 GM Kit
    Key[7937, 16] = N364 Power Kit
    Key[7937, 25] = N364 Dance Kit
    Key[7937, 26] = N364 Analog Kit
    Key[7937, 33] = N364 Jazz Kit
    Key[7937, 41] = N364 Brush Kit
    Key[7937, 48] = N364 Orch Kit
    Key[7937, 65] = N364 Perc Kit
    Drum[7937, * ] = 1

    Now i do know howto load the “drum ang gm” bank but i do not see how it relates to cakewalk ins files, because somehow the above must be used to load banks.

    What i find utterly confusing is that DRUMS and GM bank is the same although DRUMS use number above 127. But how does it relate to this in the insfile, it seem like separate banks?
    Patch[7169] = N364 Prog GM
    Patch[7937] = N364 GM Drums

    The reason i ask is that i read in ins files with “javascript” to use for synth control, but to get any use beyond load just load programs, and standard banks (0,1,2,3) i must somehow decrypt the cakewalk instrument messages above.

    Below is a little snippet of my code to set GM and DRUM in javascript. How does this relate to 7169 and 7937 in ins file is the mystery i would like explained/solved, as you see i use the GM bank for setting the drums and it apparently work. It would be nice if i could generalise “understand” the conversion so i can use the ins file fully to load “patches and banks”

    So please anyone? I attached a bank instruction from Korg that i use.

    //This i use to set drum bank and GM bank “which in reality seem to be the same? above / below 127”
    if (bankNr==1){selectProgramMode();GM=56;bankNr=0;}
    if (bankNr==0){selectProgramMode();GM=62;bankNr=0;}

    //CTRL 0 message
    settingChange = [176,0,GM];
    outportarr[outportindex].send(settingChange);
    settingChange = [176,32,bankNr];
    //CTRL 32 message
    outportarr[outportindex].send(settingChange);
    //This sends the program message
    settingChange = [192,programnumber];
    outportarr[outportindex].send(settingChange);

    Attachments:
    You must be logged in to view attached files.
    #115314

    JT64
    Participant
    • Topics: 11
    • Replies: 23
    • Total: 34

    Another thing, to change program in GM or DRUM mode i have to send the full bank message, so i am probably doing something wrong in GM and DRUM mode. One would think that they should react to “a single program” change message, but they do not then need the CTRL 0 and 32 message coming with change.

    Probably i do it all wrong.

    #115317
    Possemo
    Possemo
    Participant
    • Topics: 13
    • Replies: 585
    • Total: 598
    • ★★★

    Just a guess about the Cakewalk mess:

    The “change-to-bank3” message looks like this [b0 00 3e]

    3e in binary is 111110

    7937 in binary is 1111100000001. The upper 6 bits are 111110 = 3e
    you could take some zeroes from the lower bits for the 2nd byte = 00

    The same with 7169 – in binary 1110000000001. Upper 6 bits = 111000 = 38 = the needed value.

    Well, pretty messy…

    About having to send bankchange in order to get GM patches: If the synth is NOT in GM-mode I guess this is how it was intended by Korg. You can put the synth into GM-mode by sending this message: f0 7e 7f 09 01 f7. If I get it right this is a standardized universal message for all GM capable synths. I haven’t tried this mode but in theory you should get all GM-patches by just sending program-change from 0 to 127.

    #115322

    JT64
    Participant
    • Topics: 11
    • Replies: 23
    • Total: 34

    Well i checked the midi chart so it is the first byte that change, well i do not like it whole thing is utterly confusing.
    1100nnnn 0ppppppp Program Change. This message sent when the patch number changes. (ppppppp) is the new program number.

    So
    11000001=193
    and then the program message well i guess i have to try.

    • This reply was modified 2 months, 3 weeks ago by  JT64.
    • This reply was modified 2 months, 3 weeks ago by  JT64.
    • This reply was modified 2 months, 3 weeks ago by  JT64.
Viewing 4 posts - 1 through 4 (of 4 total)

You must be logged in to reply to this topic.

There is currently 1 user and 26 guests online
bayouland
Forum Statistics
Threads: 2,245, Posts: 15,811, Members: 56,124
Most users ever online was 12 on January 22, 2019 3:47 pm
Do NOT follow this link or you will be banned from the site!