Midi Messages send "BANK" change messages

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

This topic contains 6 replies, has 3 voices, and was last updated by  JT64 3 weeks, 1 day ago.

Viewing 7 posts - 1 through 7 (of 7 total)
  • Author
    Posts
  • #114660

    JT64
    Participant
    • Topics: 3
    • Replies: 8
    • Total: 11

    Somehow my original message dissapeared, i would like to know howto “build a bankmessage” for Korg N364.

    I know howto send note and midichannel “the basics”. But i can’t quite figure out howto change bank given the little info i found.

    Could someone help me construct it? In decimal would be nice, but hex or bin ok.
    Here is the info i found i can’t see it say anything about bankchange, i would guess these type of ino not available in a usermanual, so where can one find it service manuals or? How did he find out these things?

    [ KORG N264/N364 SysEx – A Quick Reference Guide ]

    Compiler: Kenneth Jonsson (http://user.tninet.se/~ufn204a)
    Updated: April 29, 1998.

    All pages & tables refer to the N264/N364 Reference Guide.

    x = global MIDI channel: 0 through F (equals 1 through 16)

    ———————————————————————–
    GENERAL N264/N364 SYSEX CODE:
    ———————————————————————–
    SysEx start F0
    KORG ID number 42
    MIDI channel 3x
    N-series ID 35
    Function code
    Data
    SysEx end F7
    ———————————————————————–
    DUMP REQUESTS:
    ———————————————————————–
    Current program F0 42 3x 35 10 F7 *
    Current combination F0 42 3x 35 19 F7 *

    Global data F0 42 3x 35 0E 00 F7
    Pattern set F0 42 3x 35 09 00 F7
    Drumkits F0 42 3x 35 0D 00 F7
    All programs F0 42 3x 35 1C 00 F7
    All combinations F0 42 3x 35 1D 00 F7
    All sequencer songs F0 42 3x 35 18 00 F7
    All data F0 42 3x 35 0F 00 F7

    Current mode F0 42 3x 35 12 F7

    * = N264/N364 must be in prog or combi mode respectively
    ———————————————————————–
    MODE SELECT:
    ———————————————————————–
    Combination mode F0 42 3x 35 4E 00 00 F7
    Program mode F0 42 3x 35 4E 02 00 F7
    Sequencer mode F0 42 3x 35 4E 04 00 F7

    Global mode F0 42 3x 35 4E 06 00 F7
    Disk mode F0 42 3x 35 4E 07 00 F7

    Combi edit mode F0 42 3x 35 4E 01 00 F7
    Prog edit mode F0 42 3x 35 4E 03 00 F7
    Seq edit mode F0 42 3x 35 4E 05 00 F7
    ———————————————————————–
    ERROR / ACKNOWLEDGEMENT MESSAGES:
    ———————————————————————–
    In-data format error F0 42 3x 35 26 F7
    Data load completed F0 42 3x 35 23 F7
    Data load error F0 42 3x 35 24 F7
    Write completed F0 42 3x 35 21 F7
    Write error F0 42 3x 35 22 F7
    ———————————————————————–
    PROG / COMBI / DRUM PARAMETER EDIT (CUMBERSOME!):
    ———————————————————————–
    Prog write request F0 42 3x 35 11 0b nn F7
    Combi write request F0 42 3x 35 1A 0b nn F7
    Prog/combi param change F0 42 3x 35 41 yy zz vv ww F7 *
    Drum kit param change F0 42 3x 35 53 0k ss 0p vv ww F7

    b = bank number: A=0, B=1
    nn = prog/combi number: 00 through 99 (decimal)
    yy = parameter number LSB (see tables 8 through 12 on page 225)
    zz = parameter number MSB ( – ” – )
    vv = value LSB (see note 13 on page 220)
    ww = value MSB ( – ” – )
    * = N264/N364 must be in prog edit mode to change current prog
    parameters, and in combi edit mode to change current combi
    parameters.
    k = drum kit number: A1=0, A2=1, B1=2, B2=3
    ss = index number: 00 through 59 (decimal)
    p = parameter number (see table 13 on page 225)
    ———————————————————————–
    MISCELLANEOUS (NON-SYSEX):
    ———————————————————————–
    Select seq song F3 0s (s = 0 through 9)
    Start seq play FA
    Continue seq play FB
    Stop seq play FC
    Seq position F2 yy zz

    Master volume F0 7F gg 04 01 yy zz F7
    Master balance F0 7F gg 04 02 yy zz F7
    Master balance center F0 7F gg 04 02 00 40 F7

    General MIDI mode on F0 7E gg 09 01 7F
    Instrument ID request F0 7E gg 06 01 7F (see table 1-4 on page 214)

    Timing clock F8
    Active sensing FE

    gg = global MIDI channel: 00 through 0F, or 7F for any channel
    yy = LSB: 00 through 7F
    zz = MSB: 00 through 7F

    #114661

    JT64
    Participant
    • Topics: 3
    • Replies: 8
    • Total: 11

    Are all messages starting with F0 sysexmessages?

    Here is by the way how javascript handling it, i think it take it in hex also.
    Bankchange message for Korg N364 anyone?

    message = [240, 126, 127, 6, 1, 247]; // device ID request
    outputPort = midi.outputs.get(portID);
    outputPort.send(message);

    #114662

    JT64
    Participant
    • Topics: 3
    • Replies: 8
    • Total: 11

    Ok think i solved it, found something. I guess it means that bankchange is not a sysex message.
    Is that true for all synths?
    Anyhow Nice!

    file:///C:/Users/jonas/Downloads/_home_httpd_data_media-data_8_BankChangeKorg-.pdf

    #114664
    goodweather
    goodweather
    Participant
    • Topics: 39
    • Replies: 374
    • Total: 413
    • ★★

    Exactly!
    it is about the same on all synths.

    Program change is usually a channel message like 0xCm 0x00/7F where m is 0 to F and is your midi channel 0-15 and where the second byte is O to 127 (00 to 7F)

    Bank change is a controller message like 0xBm 0x20 0x00 to 0x07 where m is 0 to F and is your midi channel 0-15 and where the second byte is the copntroller number (0x20 or 32 in this case) and the third byte is in my example O to 7 allowing to select a bank 1 to 8.

    It is in this third byte of the bank change message that you will have differences between the synths (but also in the 2nd byte of the program change message)

    #114668
    Possemo
    Possemo
    Participant
    • Topics: 13
    • Replies: 541
    • Total: 554
    • ★★★

    afaik bank select is standardized by midi specs. It is a bit more complicated than simple control change messages as it consists of two 7-bit msb/lsb parts. There may exist some synths that are using only one of them. It is quite well explained here: https://www.mutools.com/info/docs/mulab/using-bank-select-and-prog-changes.html

    Ctrlr uses the Lua script language, not Java script. Syntax is somewhat similar. No need to do most of the hard work, you will just access components of Ctrlr and/or use the Juce libraries (not all classes are implemented in Ctrlr – e.g. audio classes wouldn’t make much sense): https://docs.juce.com/master/index.html
    Best way to learn Ctrlr is to check how others have done it e.g. start with the demo panels from Roman: http://ctrlr.org/demo-panels/

    #114673
    goodweather
    goodweather
    Participant
    • Topics: 39
    • Replies: 374
    • Total: 413
    • ★★

    Well, when I wrote my answer I simplified the bank message which contains indeed 2 controller messages (and at the same time I told myself that I was sure someone would react 😉 )…

    So, for bank message you need to send 0xBm 0x00 0x00 then 0xBm 0x20 0xsomething

    The something can be different from one synth to another one depending on the organisation of the programs.

    Example on Sub37: 16 real banks of 16 programs but the “something” is only 0 or 1 because each virtual bank contains 128 programs (0-127) each
    Example on Pro2: 8 real banks of 99 programs. The something is in that case 0-7 while for programs only 0-98 is recognized even if each virtual bank can handle 128 programs

    #114674

    JT64
    Participant
    • Topics: 3
    • Replies: 8
    • Total: 11

    Just as someone said it seem just to be two control messages.

    Korg X Series/N364/264/Trinity Series/ Z1/Z1EX

    BANK A
    Message Value
    Controller 0 0
    Controller 32 0
    Program Change 0-99 (0-127)
    BANK B
    Message Value
    Controller 0 0
    Controller 32 1
    Program Change 0-99 (0-127)
    BANK C
    Message Value
    Controller 0 0
    Controller 32 2
    Program Change 0-99 (0-127)
    BANK D
    Message Value
    Controller 0 0
    Controller 32 3
    Program Change 0-99 (0-127)
    BANK S/M (Trinity)
    Message Value
    Controller 0 0
    Controller 32 4
    Program Change 0-99 (0-127)
    GM BANK (X and N Series)
    Message Value
    Controller 0 56
    Controller 32 0
    Program Change 1-128
    GM DRUM BANK (X and N Series)
    Message Value
    Controller 0 62
    Controller 32 0
    Program Change *

Viewing 7 posts - 1 through 7 (of 7 total)

You must be logged in to reply to this topic.

There is currently 0 users and 31 guests online
No users are currently active
Forum Statistics
Threads: 2,213, Posts: 15,610, Members: 55,378
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!