Log in
Register

  • The MIDI Messages Forum  Ask and you shall receive

    The MIDI Messages Forum
    Ask and you shall receive

  1. Lee T.
  2. Getting Started with MIDI
  3. Friday, 02 February 2018
  4.  Subscribe via email
Greetings Humans,
Ok, so I had this desire to get back into MIDI after 35+ years starting with Roland Juno-60 to Juno-106 migration.
These were pre General Midi and I helped write an editor librarian for a mainframe computer connected by serial to midi
box I had designed and built.

Later in the 1980's I met a Kurzweil employee who help me get a piano module upgraded to the top of the line
KX-1000 Pro just before the Waltham warehouse was closed after sale of the company.

I found another editor librarian for DOS (Kurle) and a Librarian for Windows (Kurlwin) which was able to get it cryptically
working with Rosegarden on Ubuntu 10 years ago and more in 2017.

This year 2018 I got email from Roland and bought first General MIDI device , the Go:Keys 61.
It also has GM2 so I joined Midi Association here.

I flashed the January 2018 FIRMWARE Ver1.21 to use it with Scratch programming language but the Tech support could not provide the
MIDI Implementation documents for the Go:Keys like that I had used on the Roland JUNO-106 years earlier.
open Source to the Scratch Extensions could help determine some parts of the Midi implementation.

After asking the Kurle developer what it took to develop on system exclusive message dumps I decided to ask here for help.

Anyone here know where to turn next ?
  Groton, MA 01450, USA
Visit 
Comment
There are no comments made yet.
Lee T. Accepted Answer Pending Moderation
0
Votes
Undo
As far as NPRN...

Could you share the NRPN numbers for phrase selection and LOOP mix key, please?

No, I am not to disclose the chart because it is preliminary but I will give an example and point to the public code that is experimental.


https://github.com/gbevin/SendMIDI


My command line history and should work on any Go:Keys as USB MIDI device.

Here I was selecting the LOOP MIX set shown in the ScratchX examples on previous link to manufacturer's page.

The LIST of choices can be seen in the SOURCE CODE linked to below.
The code generated I never could find due to my lack of programming skills.
I used the implementation charts to determine the combination.

RAW worked when NPRN failed due to variations in the implementation.
Some errors may have been passed on as well 15 versus 15M for override hex earlier in line for 16 Bossa Lounge (15 offset from 0 as 1).

I used the RECEIVEMIDI counter part instead of kmidimon as it was friendlier.
I set tempo to slower (5 is lowest) to not be over run with clock on screen.
I can put some up to compare recorded and MIX LOOP live channels.
You may be right as I did not investigate that yet.


sendmidi dev "GO:KEYS MIDI 1" hex raw BF 63 00 BF 62 00 BF 06 00 BF 26 11
sendmidi dev "GO:KEYS MIDI 1" hex raw BF 63 00 BF 62 00 BF 06 00 BF 26 12
sendmidi dev "GO:KEYS MIDI 1" hex raw BF 63 00 BF 62 00 BF 06 00 BF 26 21
sendmidi dev "GO:KEYS MIDI 1" hex raw BF 63 00 BF 62 00 BF 06 00 BF 26 20
sendmidi dev "GO:KEYS MIDI 1" hex raw BF 63 00 BF 62 00 BF 06 00 BF 26 1
sendmidi dev "GO:KEYS MIDI 1" hex raw BF 63 00 BF 62 00 BF 06 00 BF 26 15
sendmidi dev "GO:KEYS MIDI 1" hex raw BF 63 00 BF 62 00 BF 06 00 BF 26 15M
sendmidi dev "GO:KEYS MIDI 1" hex raw BF 63 00 BF 62 00 BF 06 00 BF 26 21M
sendmidi dev "GO:KEYS MIDI 1" hex raw BF 63 00 BF 62 02 BF 06 00 BF 26 11M
sendmidi dev "GO:KEYS MIDI 1" hex raw BF 63 00 BF 62 02 BF 06 00 BF 26 09M
sendmidi dev "GO:KEYS MIDI 1" hex raw BF 63 00 BF 62 02 BF 06 00 BF 26 02M
sendmidi dev "GO:KEYS MIDI 1" hex raw BF 63 00 BF 62 00 BF 06 00 BF 26 11
sendmidi dev "GO:KEYS MIDI 1" hex raw BF 63 00 BF 62 01 BF 06 01 BF 26 05
sendmidi dev "GO:KEYS MIDI 1" hex raw BF 63 00 BF 62 01 BF 06 01 BF 26 06
sendmidi dev "GO:KEYS MIDI 1" hex raw BF 63 00 BF 62 01 BF 06 02 BF 26 06
sendmidi dev "GO:KEYS MIDI 1" hex raw BF 63 00 BF 62 01 BF 06 01 BF 26 06
sendmidi dev "GO:KEYS MIDI 1" hex raw BF 63 00 BF 62 01 BF 06 00 BF 26 06
sendmidi dev "GO:KEYS MIDI 1" hex raw BF 63 00 BF 62 01 BF 06 03 BF 26 06
sendmidi dev "GO:KEYS MIDI 1" hex raw BF 63 00 BF 62 01 BF 06 03 BF 26 04




https://rolandcom.github.io/gokeys-scratch-extension/


Bottom of page is link to SOURCE CODE

The chart said BF but code was B0 so this again reflects preliminary nature of my copy.
Note: 63 , 62, 06, 26 as separators


function sendNRPN(ch, nrpn_msb, nrpn_lsb, data_msb, data_lsb)
{
sendMIDI(0xB0 | ch, 0x63, nrpn_msb);
sendMIDI(0xB0 | ch, 0x62, nrpn_lsb);
sendMIDI(0xB0 | ch, 0x06, data_msb);
sendMIDI(0xB0 | ch, 0x26, data_lsb);
}




I believe the loop record uses the channels 12-15.. When I get a chance I will look into this..


Not quite the recorded channels but part of the actual MIX LOOP code.

This selects Melody B phrase as last val changes.


sendmidi dev "GO:KEYS MIDI 1" hex raw BF 63 00 BF 62 01 BF 06 03 BF 26 04

ext.func_play = function(part, val) {
val--;
if (val < 0) val = 0;
if (val > 10) val = 10;
switch (part) {
case 'Drums':
sendNRPN(0x0F, 0, 1, 0, val);
break;
case 'Bass':
sendNRPN(0x0F, 0, 1, 1, val);
break;
case 'Melody A':
sendNRPN(0x0F, 0, 1, 2, val);
break;
case 'Melody B':
sendNRPN(0x0F, 0, 1, 3, val);
break;
}
};



Here is an example I tested doing PART select then change Melody B ( 0 to 10 is 11 possible val) and all off.


sendmidi dev "GO:KEYS MIDI 1" hex raw BF 63 00 BF 62 01 BF 06 00 BF 26 05
sendmidi dev "GO:KEYS MIDI 1" hex raw BF 63 00 BF 62 01 BF 06 01 BF 26 05
sendmidi dev "GO:KEYS MIDI 1" hex raw BF 63 00 BF 62 01 BF 06 02 BF 26 05
sendmidi dev "GO:KEYS MIDI 1" hex raw BF 63 00 BF 62 01 BF 06 03 BF 26 05
sendmidi dev "GO:KEYS MIDI 1" hex raw BF 63 00 BF 62 01 BF 06 03 BF 26 02

sendmidi dev "GO:KEYS MIDI 1" hex raw BF 63 00 BF 62 03 BF 06 00 BF 26 00





Is this helping Go:Key owners here ?
;)
Comment
There are no comments made yet.
Lee T. Accepted Answer Pending Moderation
0
Votes
Undo
No MIDI from recording sent except

I set tempo to 30 and pressed a key in each PART for one measure.
The GO-61 backup is attached in ZIP.
The text file is RECEIVEMIDI capture during record with time stamp for comparison.
I left it to run for 20 measures in ZIP file although OFF pressed for each PART much earlier.


09:13:57.896 channel 8 control-change 0 87
09:13:57.896 channel 8 control-change 32 66
09:13:57.896 channel 8 program-change 51
09:13:57.897 channel 9 control-change 0 87
09:13:57.897 channel 9 control-change 32 70
09:13:57.897 channel 9 program-change 8
09:13:57.898 channel 11 control-change 0 87
09:13:57.898 channel 11 control-change 32 65
09:13:57.898 channel 11 program-change 65
09:13:57.900 channel 12 control-change 0 87
09:13:57.900 channel 12 control-change 32 65
09:13:57.900 channel 12 program-change 14
09:13:57.901 channel 13 control-change 0 87
09:13:57.901 channel 13 control-change 32 67
09:13:57.901 channel 13 program-change 80
09:13:57.902 channel 14 control-change 0 87
09:13:57.902 channel 14 control-change 32 70
09:13:57.903 channel 14 program-change 66
09:13:57.904 channel 15 control-change 0 87
09:13:57.904 channel 15 control-change 32 66
09:13:57.904 channel 15 program-change 6
09:13:57.905 channel 16 control-change 0 86
09:13:57.905 channel 16 control-change 32 64
09:13:57.906 channel 16 program-change 1

Attachments (3)
Comment
There are no comments made yet.
  • Page :
  • 1
  • 2


There are no replies made for this post yet.
However, you are not allowed to reply to this post.