JT64

Forum Replies Created

Viewing 20 posts - 1 through 20 (of 23 total)
  • Author
    Posts
  • in reply to: Fix "dirt cheap" USB midi cables #115808
    JT64
    Participant
      • Topics: 11
      • Replies: 23
      • Total: 34

      By the way what “cheap” and fully functional USB midi cables can you recommend.

      I have this one it served me good although i never tried a full sysex dump with it.
      Unfortunately it seem both out of production and out of stock.

      https://www.datagrottan.se/deltaco-midi-till-usb-kabel-for/cat-p/c/p2868324/l_en

      So what USB midi cabel do you use?

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

        https://midisequenser.000webhostapp.com

        Progress none… Well i have to start.

        in reply to: Mute midichannels for "specific device" in chain #115648
        JT64
        Participant
          • Topics: 11
          • Replies: 23
          • Total: 34

          So basicly when you see mute and solo in “sequenser software” that is purely software derived functionality, there is no such functionality to mute a midichannel on hardware level?

          It is just software filtering at mixdown playup?

          EDIT maybe i am wrong above, you can send channel an all notes off message and all sound off, but is it just to turn notes playing off “or is it so set them OFF” not to receive messages?

          Note: Controller numbers 120-127 are reserved for Channel Mode Messages, which rather than controlling sound parameters, affect the channel’s operating mode. (See also Table 1.)
          120 01111000 78 [Channel Mode Message] All Sound Off 0 —
          121 01111001 79 [Channel Mode Message] Reset All Controllers
          (See MMA RP-015) 0 —
          122 01111010 7A [Channel Mode Message] Local Control On/Off 0 off, 127 on —
          123 01111011 7B [Channel Mode Message] All Notes Off 0 —
          124 01111100 7C [Channel Mode Message] Omni Mode Off (+ all notes off) 0 —
          125 01111101 7D [Channel Mode Message] Omni Mode On (+ all notes off) 0 —

          • This reply was modified 4 years, 8 months ago by JT64.
          • This reply was modified 4 years, 8 months ago by JT64.
          • This reply was modified 4 years, 8 months ago by JT64.
          in reply to: Channels and omni mode. #115382
          JT64
          Participant
            • Topics: 11
            • Replies: 23
            • Total: 34

            It works keyboard to engine turned off, now with “GM synth on message [0xf0,0x7e,0x00,0x09,0x01,0xf7]; even the drums on midi channel 10 works, which mean my implemented metronome is available in GM mode.

            I am very thankfull for all your help, it would take me quite some time to figure out all this by my own, the N364 is quite a beast when in comes to functionality. And the menusystem do not exactly make it easier.

            It would be nice if i could mirror “some of the LCD output” to a subwindow on javascript canvas, but that depends on how much of the message system available out, when pushing buttons quite alot from what i can see “in monitor”.

            One step at a time now i will read in the drumkits “notes”, so the notes<-->“drum names” can be set thru option lists for the virtual drumpads.

            Thansk again, midi is really great fun!

            Is there functionality in CTRLR to read in the message sent when you push a button. Would be neat way to create the message for the panels?
            Just push the button and CTRLR automaticly save it as a nameable function?
            Maybe sound abit to good to be possible, no more fiddling with reading out manuals for messages just push the button to create them and save them as named functions that can be reached from the CTRLR interface.
            If all button pushes was sent to midi out one could create message chains, basicly creating functions to reach any functionality on synth, by just read in saven and the mimic the keypresses.

            Just an idea possible or not.

            • This reply was modified 4 years, 9 months ago by JT64.
            • This reply was modified 4 years, 9 months ago by JT64.
            in reply to: Channels and omni mode. #115365
            JT64
            Participant
              • Topics: 11
              • Replies: 23
              • Total: 34

              Yeah adding GM system on message setting the channels work but there is something funny going on because not only does the synth take midi in on the channel it also play something directly via keyboard “program 1 piano”, i can’t see on which channel.

              It seem to be the active channel i chose but i can’t tell for sure can the synt play two programs on same channel?
              I wonder can one mute keyboard to synth engine or set its volume to zero.

              function sendBankN364(){
              bankNr=document.getElementById(“selBank”).selectedIndex;

              if (bankNr<6) {selectProgramMode();}
              else if (bankNr>5) {selectCombiMode();}

              if (bankNr==0){bankNr=0;GM=62;prgbase=192;}
              else if (bankNr==1){bankNr=0;GM=56;prgbase=192;}
              else if (bankNr==2){bankNr=bankNr-2;synthMode=”instrument”;GM=0;prgbase=192;}
              else if (bankNr==3){bankNr=bankNr-2;synthMode=”instrument”;GM=0;prgbase=192;}
              else if (bankNr==4){bankNr=bankNr-2;synthMode=”instrument”;GM=0;prgbase=192;}
              else if (bankNr==5){bankNr=bankNr-2;synthMode=”instrument”;GM=0;prgbase=192;}
              else if (bankNr==6){bankNr=bankNr-6;synthMode=”combi”; GM=0;prgbase=192;}
              else if (bankNr==7){bankNr=bankNr-6;synthMode=”combi”; GM=0;prgbase=192;}
              else if (bankNr==8){bankNr=bankNr-6;synthMode=”combi”; GM=0;prgbase=192;}
              else if (bankNr==9){bankNr=bankNr-6;synthMode=”combi”; GM=0;prgbase=192;}
              setBank();
              GMsystemOn();
              }

              function GMsystemOn(){
              settingChange = [0xf0,0x7e,0x00,0x09,0x01,0xf7];
              outportarr[outportindex].send(settingChange);
              }

              • This reply was modified 4 years, 9 months ago by JT64.
              in reply to: Channels and omni mode. #115363
              JT64
              Participant
                • Topics: 11
                • Replies: 23
                • Total: 34

                function sendBankN364(){
                bankNr=document.getElementById(“selBank”).selectedIndex;

                if (bankNr<6) {selectProgramMode();}
                else if (bankNr>5) {selectCombiMode();}

                if (bankNr==0){bankNr=0;GM=62;prgbase=192;}
                else if (bankNr==1){bankNr=0;GM=56;prgbase=192;}
                else if (bankNr==2){bankNr=bankNr-2;synthMode=”instrument”;GM=0;prgbase=192;}
                else if (bankNr==3){bankNr=bankNr-2;synthMode=”instrument”;GM=0;prgbase=192;}
                else if (bankNr==4){bankNr=bankNr-2;synthMode=”instrument”;GM=0;prgbase=192;}
                else if (bankNr==5){bankNr=bankNr-2;synthMode=”instrument”;GM=0;prgbase=192;}
                else if (bankNr==6){bankNr=bankNr-6;synthMode=”combi”; GM=0;prgbase=192;}
                else if (bankNr==7){bankNr=bankNr-6;synthMode=”combi”; GM=0;prgbase=192;}
                else if (bankNr==8){bankNr=bankNr-6;synthMode=”combi”; GM=0;prgbase=192;}
                else if (bankNr==9){bankNr=bankNr-6;synthMode=”combi”; GM=0;prgbase=192;}
                setBank();
                }

                function setBank(){
                settingChange = [176,0,GM];
                outportarr[outportindex].send(settingChange);
                settingChange = [176,32,bankNr];
                outportarr[outportindex].send(settingChange);
                settingChange = [prgbase,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);
                }

                in reply to: Channels and omni mode. #115361
                JT64
                Participant
                  • Topics: 11
                  • Replies: 23
                  • Total: 34

                  I thought that multi mode may have been sequenser mode on the N364 but that was not it.
                  I am just not able to set program on other channel then 1.
                  Maybe you could try with the 05/RW and see if it change program on other midichannels then 1.

                  https://midisequenser.000webhostapp.com/

                  “well it must be the mode because it does not even listen to the virtual keyboard on other channels then 1”

                  • This reply was modified 4 years, 9 months ago by JT64.
                  in reply to: Channels and omni mode. #115353
                  JT64
                  Participant
                    • Topics: 11
                    • Replies: 23
                    • Total: 34

                    Well given that “GM” mode is when the synth is in GM bank using those programs. A straight program change
                    computer send [192 + channel, program] -> synth

                    This kind of program change, just will not do it “unless midichannel is 1” i could probably set it to two or whatever channel under menu Global 3A but not to multi receive mode.

                    I beleive that would make it hard to play a regular GM “midi files” on the device?
                    And it also do not seem to support the usual drum setup on midichannel 10. “From what i can see”

                    Well it is hard to say i do not think i have managed to change midichannel, just programs on midichannel 1.

                    If you further in your development of the panel for 05/RW find out, i would appreciate if you write a line or two.

                    Have you got program changes for kits in drumbank to work, do you do them different from program changes in other banks?

                    “Oh sorry it just dawned on me you say that omni mode is multi mode” i will try that if it find howto set it.
                    Looking around a bit i see that your multimode actually maybe sequenser mode “multitrack mode” on the Korg N36¤, i think that’s it.
                    Well it make sense you want to be in sequenser mode playing midi files.

                    Thanks!

                    • This reply was modified 4 years, 9 months ago by JT64.
                    • This reply was modified 4 years, 9 months ago by JT64.
                    • This reply was modified 4 years, 9 months ago by JT64.
                    • This reply was modified 4 years, 9 months ago by JT64.
                    • This reply was modified 4 years, 9 months ago by JT64.
                    in reply to: Demystify Cakewalk ins files #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 4 years, 9 months ago by JT64.
                      • This reply was modified 4 years, 9 months ago by JT64.
                      • This reply was modified 4 years, 9 months ago by JT64.
                      in reply to: Demystify Cakewalk ins 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.

                        in reply to: Midi Messages send "BANK" change messages #115243
                        JT64
                        Participant
                          • Topics: 11
                          • Replies: 23
                          • Total: 34

                          Yeah it works, program change in the drumbank of N-series and its cousins do need a full bank message to be set.

                          It get a bit messy codewise either drop the kits as banks in bank optionlist. Or make a special case for programs in “drum/GM bank”.

                          And special cases does not feel right, i think i list the kits as individual banks in option list, because they all need a bank message. And i already have the messages for Korg N364 in an own file.

                          So i keep the generality of program change.

                          in reply to: Midi Messages send "BANK" change messages #115217
                          JT64
                          Participant
                            • Topics: 11
                            • Replies: 23
                            • Total: 34

                            Well i tried to set the values sending just program change when at 129 i send program 16,24 and so on, did not work.
                            But maybe they must be part of a full bank message, probably…

                            I will contruct those and report on success and failure.
                            It is kind of weird with bank changes that just change programs in the GM bank.

                            • This reply was modified 4 years, 9 months ago by JT64.
                            in reply to: Midi Messages send "BANK" change messages #115216
                            JT64
                            Participant
                              • Topics: 11
                              • Replies: 23
                              • Total: 34

                              I do not even get what the below means, is it a three part message to send, ?
                              3e must be 62 controler 0 message
                              And 00 contoller 32 message?
                              So what is the last byte, something like?
                              settingChange = [192,25]; for prg 131 ?
                              settingChange = [192,16]; for prg 130 ?

                              Well i just have to try i guess.

                              3e,00,00 =129
                              3e,00,10 =130
                              3e,00,19 =131
                              3e,00,20 =132
                              3e,00,28 =133
                              3e,00,40 =134
                              3e,00,18 =135
                              3e,00,30 =136

                              in reply to: Midi Messages send "BANK" change messages #115215
                              JT64
                              Participant
                                • Topics: 11
                                • Replies: 23
                                • Total: 34

                                Well that is such a total mess, i do not even know where to begin to decrypt that one.
                                They really sucked writing manuals back in the days.

                                Well in javascript to reach drum bank first you set mode by first sending type of setting message.

                                settingChange=[0xf0,0x42,0x30,0x35,0x4e,0x02,0x00,0xf7];
                                outportarr[outportindex].send(settingChange);
                                Ok so now we are in program mode, where our drums is.

                                Next we need the message to drumbank.
                                GM=62;bankNr=0;
                                //The two control messages
                                settingChange = [176,0,GM];
                                outportarr[outportindex].send(settingChange);
                                settingChange = [176,32,bankNr];

                                //And then you must send a program change i guess this must be program 0 but it ends up being 128?

                                settingChange = [192,0];
                                outportarr[outportindex].send(settingChange);

                                So the above works, but what numbers to use for program 129,130,131,132,133,134,135,136 i don’t get it?

                                settingChange = [192,x]; ???

                                You have any idea for those other kits, 192,0 is defintily working for program “kit” at 128 but that may just be fluke.
                                And 192,1 192,2 and so on definitly do not.

                                You have an idea or hint, because that manual is awful.

                                in 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);}
                                  }

                                  in reply to: AKAI S2000 #114833
                                  JT64
                                  Participant
                                    • Topics: 11
                                    • Replies: 23
                                    • Total: 34

                                    Have anyone tried a SD2SCSI adapter on any hardware sampler how did it turn out?

                                    in reply to: MAP CC to Sysex using ctrlr? #114754
                                    JT64
                                    Participant
                                      • Topics: 11
                                      • Replies: 23
                                      • Total: 34

                                      https://midisequenser.000webhostapp.com/
                                      I will use my attempt at midisequenser as start, right now it is just volume slides for notes “you can use mouse “PC keyboard 0-F”, but it could be knobs and other functionality reached by UI or controller keyboard.

                                      The big part is just to list all messages and their “range” to reach functionality “for a device” and select/ them hook them to each slider “or knob”.

                                      Most functionality will have “a range” for parameter others are just syex dumps, or functionality like start stop seequenser.

                                      But of course all the messages must be listed and connected to function to send them, and if you want a controller keyboard that setup will also need at least a “message list for its configuration of midimessages and knobs” but maybe a creator “input field” to create new list inputs also combinations of buttons pushes to reach functionality on the out device. So that basicly it, what is needed is two message lists sliders there could be functions using multiple UI sliders, knobs and controller knobs like envelope.

                                      “MIDI Controller” list MESSAGES for buttons knobs
                                      “MIDIE device” list MESSAGE->FUNCTIONALITY OUT “Could be editing message, dump message, steering message sequenser”
                                      SLIDERS,KNOBS “FOR PARAMETER ADJUSTMENT”
                                      HTML Input “MESSAGE CREATOR” for list combinations of button pushes “to reach functionality on device” Type A+B+C =Oscillator 1
                                      And a select list also for the connections made.

                                      So maybe my idea to use the canvas unnecessary, it will be sufficient with just a textarea where the connections you make are listed. I think that is how i will implement it.

                                      • This reply was modified 4 years, 10 months ago by JT64.
                                      in reply to: MAP CC to Sysex using ctrlr? #114752
                                      JT64
                                      Participant
                                        • Topics: 11
                                        • Replies: 23
                                        • Total: 34

                                        It would be easy to construct the input messages, already using 4 buttons and four pushes on a controller keyboard you have 256 “input messages” that can be mapped/linked to any functionality on the output device using combinations of button A,B,C,D.

                                        My UMX controller keyboard have 8 input buttons and eight parameter knobs.
                                        I get those will be handy editing control points for a wave like envelope, VCR, VCO and VCA.

                                        I have no idea how much editing functionality actually can be reached on my Korg N364 and what parameters that can be set over midi, but it will be fun to find out.

                                        in reply to: MAP CC to Sysex using ctrlr? #114751
                                        JT64
                                        Participant
                                          • Topics: 11
                                          • Replies: 23
                                          • Total: 34

                                          Of course there is nothing preventing that people could make software UI in CSS “to make it look nice, and use mouse keyboard on PC instead of hardware controller” on top of the modular approach. But doing interfaces using CSS not for me. Possibly pictures of synths and hotspot to connect input and output, but there is so much functionality hidden behind a myriad of button pushes on old midi gear. So i doubt it is useful for the output device but maybe as a visual for the input controller to see how it is hooked up to functionality names on the output device.

                                          in reply to: MAP CC to Sysex using ctrlr? #114750
                                          JT64
                                          Participant
                                            • Topics: 11
                                            • Replies: 23
                                            • Total: 34

                                            Have no idea, but it seem like a great idea having CTRLR as a translator between a ctrlr keyboard and any type of midi device.

                                            The whole thing is probably much easier to implement in javascript though, a list of ctrlr inputs and a list of device functionality select both in list and a ctrlr surface is made on canvas with in and output connected and the necessary message translation done in javascript.

                                            That way you could create your own choice of control an editing parameter, from you input to output device and just need to save it as a preset.
                                            Basicly you create a list of functionality, listing the required button pushes on input device to reach functionality on output device

                                            A,A -> REVERB (Range 0-127)

                                            But someone would still have to “list all messages” to reach functions “and their range” for both input and output device to make connetion.
                                            It is just you build the ctrlr interface modular as a selection of inputs hooked upto to outputs and have them reach a parameter on your device with a range.

                                            I will do this for my equipment. Do not have that much to control though just a input Umx-490 controller keyboard, and output Korg N364 keyboard “but you can steer both sequenser and synth editing”. And also a Korg digital mixer 168RC both have so shitty interfaces worse then an 80’s VCR impossilbe to use but with a CTRL surface from javascript it will be after my design choice.

                                            But of course you could also do it for software.

                                            • This reply was modified 4 years, 10 months ago by JT64.
                                          Viewing 20 posts - 1 through 20 (of 23 total)
                                          Ctrlr