Reply To: Midi Messages send "BANK" change messages

Home Forums General General MIDI discussion Midi Messages send "BANK" change messages Reply To: Midi Messages send "BANK" change messages

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

    Regarding Midi Control of my N364 “using Javascript”

    Well i came so far i can load the banks and i have no problem changing programs within banks

    ***EXCEPT FOR the drum bank***? Is it really a bank? Because the drum sets listed as program 128 to 236 in GM bank it is uttely confusing. Does this mean Korg N364 do not have dedicated midichannel 10 for drums?

    I can reach Drum bank “patch 128 in GM bank” it is easy, resting within the program banks not combi banks.

    You first tell what mode to put synt into equal “program mode” and send the 3 part message two control messages followed by a program message, to get there.

    In all banks except GM drum i can just send a program message to set “instrument” in this case drumkit. Something like outportarr[outportindex].send(192,10,4)

    But when drumBank selected it do not work “because it seem like the kits in bank are just patches in the GM bank 128-136”. I just do not get howto change kit. And it get very confusing looking into the cakewalk instrumentfile. A hint anyone?

    What does it mean
    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

    Below code work to change between banks, and the code to select patches in bank simple “except it do not work in drumbank, because it is just patches?”
    function sendBankN364(){
    selectSequenserMode();
    bankNr=document.getElementById(“selBank”).selectedIndex;
    //alert(bankNr);
    if (bankNr<6 && bankNr>1) {selectProgramMode();bankNr=bankNr-2;synthMode=”instrument”;GM=0}
    else if (bankNr>5){selectCombiMode();bankNr=bankNr-6;synthMode=”combi”;GM=0}
    else if (bankNr==1){selectProgramMode();GM=56;bankNr=0;}
    else if (bankNr==0){selectProgramMode();GM=62;bankNr=0;}
    //alert(bankNr);
    settingChange = [176,0,GM];
    outportarr[outportindex].send(settingChange);
    settingChange = [176,32,bankNr];
    outportarr[outportindex].send(settingChange);
    settingChange = [192,0];
    outportarr[outportindex].send(settingChange);
    }

    function selectSequenserMode(){
    settingChange=[0xf0,0x42,0x30,0x35,0x4e,0x04,0x00,0xf7];
    outportarr[outportindex].send(settingChange);
    }

    function selectCombiMode(){
    settingChange=[0xf0,0x42,0x30,0x35,0x4e,0x00,0x00,0xf7];
    outportarr[outportindex].send(settingChange);
    }

    function selectProgramMode(){
    settingChange=[0xf0,0x42,0x30,0x35,0x4e,0x02,0x00,0xf7];
    outportarr[outportindex].send(settingChange);
    }

    function sendProgram() {
    //Set program on the track
    programTRX = document.getElementById(“prog_sel”).value;
    //Set channel
    sysexC = 192 + channelTRX-1;
    //Build message for midi synth
    settingChange = [sysexC, programTRX];
    //Send to midiport
    if (outportarr.length>0) {outportarr[outportindex].send(settingChange);}
    }

    Ctrlr