fbpx


The MIDI Forum

  Friday, 02 February 2018
  34 Replies
  31.7K Visits
0
Votes
Undo
  Subscribe
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 ?
more than a month ago
·
#1434
Accepted Answer
0
Votes
Undo
ScratchX is an MIT Life Long Kindergarten (LLK) project to make programming tools to teach concepts to young students.
It is considered LEGO like programming and has an interest in LEGO hardware as well.

The underlying part is BLOCKLY from Google and ScratchX is an experimental version already in maintenance mode
while Scratch version 3 is developed to eliminate the Adobe Flash requirement.

It uses WebMIDI and will be easy to use.
Not all functionality will be available in Scratch 3.0 so regular MIDI tools will still work on the NPRN written
into the firmware.

Since I am not a programmer it was difficult to uncover the actual MIDI code in the ScratchX extension.
As a non-programmer I find the charts alow insight into what the device can do.
I now can use it more intuitively as documented in manuals and videos.

I like editing and changing things that I dslike when I hear the playback.
The builtin function requires a level of accuracy I don't achive in real time.

Alternatively the Go:Keys is able to be used in live situation but no where like a workstation.

I hope performers share their compositions by way of uploading the GO-61 backups to a sharing space.
No filenames are editable so all will be SONG01.MID etc
I tried putting filenames in the RESTORE GO-61 and although it worked it was prone to crashing the synth.
I also tried using Rosegarden to make a recording using the Go:Keys feature and it reassigned the sounds when played back.

I don't see the GM2 requisites as a valid argument for not having the MIDI Implementation Chart V2.0.
I also don't see the YouTube videos as a replacement for written instructions for how to create a live and layered sequence.

Eventually I see this product influencing young and old as well as home and professional musicians.
Again, it replaced a 20 year old Yamaha PSR-160 which had General Midi with batteries and speakers for portability.
I couldn't download songs to that one either to play along.
Maybe I will get that to work on the Go:Keys.
For now it will pair as speakers to stream music from the recorded songs on a phone or other Bluetooth device.

And now a word from the manufacturer.
https://www.roland.com/us/products/gokeys_go-61k/
"GO:KEYS is a fun, easy-to-use keyboard that lets you play along with your favorite music—streamed wirelessly through its powerful onboard speakers. Just connect your smartphone via Bluetooth®, pick a song, and play along!"

It is also shown in the ads using the preset patterns and sequences.
This is where the sharing of GO-61 BACKUP could begin.

(Hope this sheds some light on my reason for wasting my time getting the chart.)

I still really like this keyboard at 66 years old.
The kids can use the Yamaha for now and it's built in library of tunes.

Lee
more than a month ago
·
#7843
0
Votes
Undo
Thanks for posting all that, Lee T. It's just Greek to me, alas.

Last night I posted two wrongful replies, having forgotten I'd already unburdened myself here (though I did peruse much of the page before doing so). The first wouldn't show up as posted so I tried a second, which vanished too. Today they both showed. I deleted the 1st and the 2nd seems to have gone with it. If either shows up again, everybody please ignore.
more than a month ago
·
#7835
0
Votes
Undo
I posted here but doesn't seem to have taken. Is it possible to MIDI sequence on the Go Keys via computer over hardware interface? Habitual Cakewalk Sonar 7 guy here. If somebody's actually done it, please describe exactly how. I've combed 3 pages on the subject here but it still seems to hang in midair. Thank you!
more than a month ago
·
#4063
0
Votes
Undo
Do I understand correctly that Fran has succeeded in making MIDI tracks with the Go:Keys and others haven't -- playback changed sound choices or whatever? Did you go through the micro-USB jack, Fran? Connectig how? I need to know because I ordered the Go:Keys a month ago and it's supposed to be arriving soon. If it won't do for my normal Cakewalk stuff maybe I'll just hand the package right back to 'em at Guitar Center. That would be a disappointment since it's so compact and sounds so great in YT demonstrations.

The Go:Keys manual tells how to use bluetooth, so maybe with the dongles I've also ordered -- keeping fingers crossed. Of course Roland was only thinking of using Ipad or whatever.
more than a month ago
·
#3745
0
Votes
Undo
Hello,

I am quite a new owner of GO:KEYS and having searched for its possibilities, I discover ScratchX which fascinated me as an alternative workflow for creating music. I thought instantly how cool it would be if I could specify my own LOOP MIX loops and sequences. This anxiety brought me to this thread which I read thoroughly from the top to the bottom. I know this problem you tried to resolve is outdated nowadays BUT I would like to ask you whether You have found any way how to deal with the stubbornness of GO:KEYS and occasionally a recipe for creating own LOOP MIX sequences which can be implemented in the ScratchX workflow.

Thanks

John


No progress with or from Roland Go:Keys.
Scratch 3 is due to be released January 2, 2019 and the Go:Keys 61k Scratchx extension will become almost useless with no response from Roland as to if there will be a rewrite for Scratch 3.

For Christmas 2018 I got a AKAI MPK mini Play and have started to collaborate with a developer on GITHUB for how to write code for the mpd-utils
Read the ISSUE 1 to see my contribution.

Akai says PLAY is General MIDI but I have caused it to lock up requiring power cycle to recover while using with Rosegarden and aplaymidi on Linux.
I hope to find or write a simple external MIDI extension for Scratch 3.
The PLAY is a much smaller GM device than the Go:Keys so I can move it around and leave setup for development.
Also trying to get a Arduino class compliant with Fluxamasynth working to have a really small well documented Dream Industries SAM2695 GM2 USB Class Compliant device for use
with Raspian LITE (Pi) running Scratch 3 with Node.JS

I'll check in as much as I can as project progresses (or not).
more than a month ago
·
#1437
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

more than a month ago
·
#1436
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 ?
;)
more than a month ago
·
#1434
Accepted Answer
0
Votes
Undo
ScratchX is an MIT Life Long Kindergarten (LLK) project to make programming tools to teach concepts to young students.
It is considered LEGO like programming and has an interest in LEGO hardware as well.

The underlying part is BLOCKLY from Google and ScratchX is an experimental version already in maintenance mode
while Scratch version 3 is developed to eliminate the Adobe Flash requirement.

It uses WebMIDI and will be easy to use.
Not all functionality will be available in Scratch 3.0 so regular MIDI tools will still work on the NPRN written
into the firmware.

Since I am not a programmer it was difficult to uncover the actual MIDI code in the ScratchX extension.
As a non-programmer I find the charts alow insight into what the device can do.
I now can use it more intuitively as documented in manuals and videos.

I like editing and changing things that I dslike when I hear the playback.
The builtin function requires a level of accuracy I don't achive in real time.

Alternatively the Go:Keys is able to be used in live situation but no where like a workstation.

I hope performers share their compositions by way of uploading the GO-61 backups to a sharing space.
No filenames are editable so all will be SONG01.MID etc
I tried putting filenames in the RESTORE GO-61 and although it worked it was prone to crashing the synth.
I also tried using Rosegarden to make a recording using the Go:Keys feature and it reassigned the sounds when played back.

I don't see the GM2 requisites as a valid argument for not having the MIDI Implementation Chart V2.0.
I also don't see the YouTube videos as a replacement for written instructions for how to create a live and layered sequence.

Eventually I see this product influencing young and old as well as home and professional musicians.
Again, it replaced a 20 year old Yamaha PSR-160 which had General Midi with batteries and speakers for portability.
I couldn't download songs to that one either to play along.
Maybe I will get that to work on the Go:Keys.
For now it will pair as speakers to stream music from the recorded songs on a phone or other Bluetooth device.

And now a word from the manufacturer.
https://www.roland.com/us/products/gokeys_go-61k/
"GO:KEYS is a fun, easy-to-use keyboard that lets you play along with your favorite music—streamed wirelessly through its powerful onboard speakers. Just connect your smartphone via Bluetooth®, pick a song, and play along!"

It is also shown in the ads using the preset patterns and sequences.
This is where the sharing of GO-61 BACKUP could begin.

(Hope this sheds some light on my reason for wasting my time getting the chart.)

I still really like this keyboard at 66 years old.
The kids can use the Yamaha for now and it's built in library of tunes.

Lee
more than a month ago
·
#1232
0
Votes
Undo
Geoff,
Watched last moments of Super Bowl.
Enough said.

As far as MIDI, I agree and feel after learning it in the early days and building 25 pin serial to 5 pin DIN Z80 based box then porting "Ghost Buster" to play on Juno-106 using DEC Vax 11/780 mainframe I feel I understand MIDI more than many.

I have a Yamaha PSR-160 and couple Kurweil K1000 devices so I was interested in a USB General MIDI 1.0 to make fair sounding presentations.
I now see and downloaded GM 2.0 and WebMidi so pleased with these discoveries.

Now want to find what NEW tech Go:Keys can do.
The code on Github reveals (SCRATCH experimental) the MIDI to "LOOP MIX" commands.
I also got the Scratch 3.0 HTML5 rewrite running offline as fas as it is developed.
MUSIC extension uses MIDI Note values to play MP3 ASSETS that are modified for tones.

Attached is screen showing conflicting NOTE blocks.

Some discussions talk about Scratch 1.4 compatibility which was last time MIDI was part of code.

Got to go so find me on GITHUB or SCRATCH forums and we can delve into off topic pursuits.

Lee T. Davy
Cool Games Network
more than a month ago
·
#1201
0
Votes
Undo
Lee,

Also OT, totally, but Sunday night I'll be watching Superbowl! Been interested in the game since 197?, and interested in the Pats since Steve Grogan was QB, but I'd be watching anyway regardless of who's playing, just even more so as the Pats are there - AGAIN!!

geoff
more than a month ago
·
#1200
0
Votes
Undo
Lee,

Thanks for the comment.

There are a number of things that I'd love to persue, but we should stay 'on topic' so here is not really the place.

Regarding - briefly - the image of midi, I'd say that if there is a problem, it's because people just don't understand midi. I've always found midi quite wonderful, partly because I fully realise that I'm using only a few percent of what CAN be done with it, if only I had more time/expertise/musical abilty.

Yes, there are a LOT of really CRAP midi files, but there are the occasional GREAT ones as well, and I keep the latter in mind as to what COULD be done with midi. Anyway, I KNOW that if a midi file is no good, then I merely have to FIX it!

Geoff
more than a month ago
·
#1199
0
Votes
Undo
Aha...

Well, if RoseGarden will play midi files via the device, then I'd expect that other software should be able to do the same, so therefore the device DOES have at least some of the normal midi facilities.

Your note about 'compliant' and drivers is odd. Usually, the drivers may be needed to allow a particular machine to SEND midi information, because the hardware of the machine is nor normal, i.e. regarding ports used, IRQs, memory addresses, etc. Or it's needed to allow software to work with different midi cards, or select between, say, MPU-401 or USB or other options. This would not normally have any relevance to the connected device which is going to receive the midi data. Usually, a specific piece of software may need a driver, but with the driver, it can connect to just about anything. That's certainly the case with my various midi systems.

There are usually two aspects to the midi system information provided for many devices.

The first comprises the instructions for all the midi commands supported, and most of this is fairly normal and generally applicable. Some things can vary, i.e. the extra bank selecting commands.

The second aspect relates to a sort of 'memory map' of the device, and how you might use SYSEX commands to access that memory directly to do a range of specialised things, incl potentially construct/change sounds directly in memory. This latter will be dependant on how the device is constructed (in firmware) and this might not be possible - I've got devices where you can change nearly everything, and others where you can change nothing in this way.

Yes, any midi device OUGHT to have a 'Midi Implementation Chart', detailing what can be sent and received, channels, modes, controllers implemented, etc. This is a standard format. I think it's part of the midi specification that it OUGHT to be provided. EVERY device that I've got has one, even if it's limited because that's ALL the device will do midi-wise! Oh, I tell a lie! I have a Quadraverb unit, which DOES allow some degree of midi control, and this does NOT seem to have a MIC - however the midi facilities are VERY limited compared to most other devices that DO have a MIC!!

Geoff
more than a month ago
·
#1198
0
Votes
Undo
Geoff,
Congratulations on being the top poster of all time having only registered July 2017.


Geoff
Registered on Saturday, 29 July 2017
2 Posts 103 Replies

Your response shows me there is a real need for a quality based MIDI community.
I should have done my research but felt the association name and work to date was worthy
of asking this question and expecting an answer from Roland.

I will be persistent and help those few that are here that "Basically, it mentions 'midi', but I don't think it's 'midi' as we know and love it??
"

Not the case !
MIDI is to music what ASCII is to the NSA database !:D

Found this blog entry that may have been posted for fun last year !
DOES MIDI HAVE AN IMAGE PROBLEM?
more than a month ago
·
#1197
0
Votes
Undo
The USB is also a MIDI connection and is recognized in Jack control and can be used with Qsynth / FluidSynth.
Also Rosegarden sequencer plays Midi files and in STUDIO setup it is found as a valid output device.

Roland calls it compliant so no drivers are needed.
The extension controls the LOOP MIX function as expected.

The source code is vague as to where it derives the values it uses.

Roland GO:KEYS ScratchX Extension has this stuff at bottom of screen that points to itself and this domain documentation for WEB-MIDI.
Roland is not listed (yet) in the list of manufacturers.


"GO:KEYS ScratchX Extension (source code) uses a web technology called Web MIDI API. For details, click here."

There are extensive references to MIDI so I would expect a table what is and is not recognized.
more than a month ago
·
#1196
0
Votes
Undo
Hmm???

I've just downloaded the manual, and had a quick look through it.

Basically, it mentions 'midi', but I don't think it's 'midi' as we know and love it??

As you imply (but omit to say explicitly) there is no midi information in the manual, no midi implementation chart, no discussion of using sysex etc, etc.

It looks to me (from my QUICK look) that this unit does NOT receive midi data in the usual way, and that therefore you cannot use midi to control anything. 'Midi' seems to be referred to ONLY regarding certain links with certain other devices, i.e. for Garage Bond, or with a mobile phone.

Furthermore, this keyboard does NOT seem to have any midi connectors, only bluetooth (although that MIGHT involve some midi facility, but seems not to).

The older devices you mention were designed/constructed to do things with midi, i.e. to be fully/totally controllable via midi from other devices. The Go:Keys seems to be designed for a quite different market, maybe as an add-on for Garage Band?

So - sorry - but this keyboard may NOT do what you are hoping.

Geoff
  • Page :
  • 1
  • 2
There are no replies made for this post yet.
Be one of the first to reply to this post!