Hi!
I was wondering: would it be possible to turn off the lights right after hitting the keys (while the keys are still pressed)? Basically to behave the same as the "Waiting" mode on the Yamaha EZ-200 keyboard. To clarify: * The computer lights the keys that you have to press; * The computer should turn off the lights *immediately after* you have pressed the corresponding keys. This way you visually know you have pressed the right notes. For this to work, I imagine the keyboard must be instructed not to turn on the lights when pressing the keys. Anyone has any insight on how to do this? Maybe some CC/SysEx to change the channel that the keyboard generates the notes on? So in effect, put the keyboard into a mode where only the computer can light the keys. Thanks in advance, -Mihai PS: Are there any EZ-200 users in the house? :) |
Hi
unfortunately I can answer only to ps: yes. :) r |
Robert, good to know I'm not alone.
|
Administrator
|
Hi Mihai,
This should not be too hard for me to implement, Robert do you see this problem on your setup? The lights i believe are on channel one and turn on when you send a MIDI NOTE ON and turn off when you send a MDID NOTE OFF, so this should be just a case of sending a MIDI NOTE OFF early. However re-reading your post, does it work correctly if you play just a single note or not? Because I think that for a chord you need to press both notes together before the lights should go out. Are you using Linux or Windows? and can you compile form source? Are you in the UK by any chance. Louis |
Hi Louis,
Thanks for jumping in! The problem is really with the keyboard, because the keys stay lit until you release them, regardless of any NOTE OFF sent from the PC. Hopefully someone can prove me wrong... Any ideas? I'm still digging through the Yamaha manuals for various keyboards, to see if there are MIDI commands to change the "MIDI output channel" (also called "MIDI Out Select", "Transmit Channel", "Keyboard Transmit Channel" etc.). Some keyboards have a menu option, abbreviated "TransmitCh", but not the EZ-200. Otherwise, I'm using Windows. I haven't tried to compile it yet. I'm not from the UK, but I'm in a close TZ. Thanks, -Mihai |
In reply to this post by Louis B.
Hi Louis.
> Robert do you see this problem on your setup? Honor to have been asked! Thanks. :) I don't see any harm to turn off lights immediately after right key pressed. Midisheet music is great, getting love cose many of my favorites musics, are built in :) Would be great to have this 2 programs together. Regards, Robert |
In reply to this post by mihai
Hi,
Little bit late to the party but I can report that Yamaha EZ-220 has the exact same issue. Would love to see it fixed. I will try my best to look in to it in my spare time. Cheers, Petr |
Administrator
|
This post was updated on .
Hi Robert and hanek23,
Ok I think I found the problem. I will have a go at fixing this tomorrow. |
Administrator
|
Ok Robert and hanek23,
Please test the code on this branch https://github.com/louis-barman/PianoBooster/tree/feature/keylight-fix I was turning on the lights far too early, way before you needed to press the note and way before PB would accept that note. Having looked at this video the https://youtu.be/e4i9btCaBsg?t=505 the lights come on only when you should press the note and not before that and so I have copied that idea. please let me know how you get on and whether after it is now fixed (after 7 years) |
Hi Louis,
Thanks for new version! Ill build and check it soon. Thx Róbert |
Hi Louis,
build was without any issue except rtmidi - but the workaround "cmake -DUSE_BUNDLED_RTMIDI=ON .. " solves the issue. Not yet connected to Yamaha EZ-200 ... sorry for not relevant question, but i dont figured out what "View" menu "Show Piano Keyboard" is show? What notes does it follows? i dont get it... Best regards, Robert |
Administrator
|
Hi Robert,
The "Show Piano Keyboard" was added by someone else in my absence and I have not really tested this and i am not sure if this keyboard display is helpful as the purpose of PB is the help users learn to read sheet music. If you get stuck trying to find the right note to play then the horizontal lines that appear on on the musical stave when you press a note on the piano keyboard should be more useful as they show if you are playing a note that is higher or lower than the wanted note. Also I am not sure how useful the built in lights of the Yamaha EZ-200 actually are because in order to read piano sheet music you need to keep your eyes on the sheet music rather than looking down at your hands all the time. Louis |
Dear Louis, Thanks again for the clear explanation. It makes sense. I was enthusiast for keyboard lights (approximately 8-10 years ago) because I didn't learn music fundamentals but wanted to play the piano. It seems I gave up :) but one of my child learnt notes by heart so he is fine to read music sheets. So the interest for the keyboard lights, is much lower than it was before ... And as a plus constraint we have to reduce computer screen time because they all learn in Waldorf school. So that's why I'm not very active in this topic, however I initiated from You to develop it. I will always be grateful to you, to make and enhance it! :) You gave us something that I will never forget and we always smile and feel love with my wife when raise the moment you responded to our request. :) So thank you Louis! Robert On Fri, Mar 13, 2020, 17:06 Louis B. [via Piano Booster] <[hidden email]> wrote: Hi Robert, |
In reply to this post by mihai
Hi everyone,
Sorry for my late response. Build was without any issues, I was even able to use debugger inside Eclipse which I was previously not able to do for some reason. From what I understand from the code and debugging it a little bit it should work pretty well, on next wanted chord the key lights up (noteOnEvent) and after you hit it, it SHOULD switch off (noteOffEvent) but it doesnt. I think the issue is that the button on the keyboard that controls the lights acts as master switch. If it is off it does not matter if you launch it with --light option, the keys will just not light up. On the other hand if you switch it on, even if you launch it WITHOUT --light and you hit some random key it will light up, even more because yamaha ez-220 listens for lights on channel 1 which is from my understanding the same channel for actual music it will light the keys in mode "Play along" event if you did NOT specify --light. So what I think is happening is that noteOffEvent might actually turn off the light for a brief moment but since you still holding the key it will light right back up (I could not even see it switching off so this is just a theory). I look through the yamaha midi manual and was not able to find anything useful regarding overriding that button. I hope this information will be of assistance, Petr |
Administrator
|
Hi Petr,
You wrote "it SHOULD switch off (noteOffEvent) but it doesnt." That is not strictly true, It should work if the wanted chord is just a single note but not if there are two or more notes in the wanted chord. To get the lights to go out you need to press all the notes in the wanted cord at the same time which will cause piano booster to advanced the score and move on to the next wanted cord. This is how I intended PB to work you have to press all the correct notes together before PB will advance the score. It is not clear from the manual but the yamaha ez-220 listens for midi note on and note off events on channel 1 to turn the keyboard lights on and off. When you set the --lights option PB will them moved any midi instrument that may be using that channel to different channel. What you are seeing if you don't set the --lights option is may be another midi instrument (eg a bass guitar) using channel 1 and so lighting up the lights. Please confirm the following you: 1. are using the correct code (the updated key lights code has now be merged into the develop branch see https://github.com/captnfb/PianoBooster/commits/develop) 2. When you press all the wanted notes in chord a note off is sent to on channel 1 for all those notes that are in the wanted chord. (You can prove this by capturing the notes sent to the yamaha ez-220 using a program like gmidimonitor. I will leave it to you to fix this problem. but please post back here if you get stuck and want some further help. (A video recording showing the problem might be useful). |
A sale representative once told me, that the "light keys" couldn't be controlled from an external source. If PB could in fact send midi data to control the lights, it would change the inclusion work in the school system!
This is a bit off-topic, but it would be handy for some learners to not have to press ALL the notes of a chord to go on. If there was a preference that learners could adjust how meticulous PB was, it would make PB a bit more human. Music Games like Singstar and Guitar Hero does this in their point awarding system for "beginners" to "advanced" players. Cheers Michael |
In reply to this post by mihai
Hey,
I am on the develop branch. Before I even got started I double checked the commit diff to make sure I have it ready to go. What I was referring to has nothing to do with multiple notes in a chord since I am trying to do it on a simple song with just one note lighting up at the same time. I am afraid that what Michael (Gamby) said is true to some extend. It is not true for keys lighting up, that is working perfectly. What I am afraid of is that you cannot tell the keyboard to not light the key when player hits it. I am keeping some hope since the build in program is doing it. It actually makes the keyboard not respond to any other keys than those which are lit up. What I mean by that is, if I use a build in program in a waiting mode, and for example middle C lights up, I can hit all the other keys except that one and keyboard will not make any sound neither will any key light up after I hit it. I am not saying this is exactly what PB should be doing but I will try look in to it since I believe that to be a good starting point and maybe I will learn something about those lights switches along the way. Regards, Petr |
Free forum by Nabble | Edit this page |