musescore / MuseScore

MuseScore is an open source and free music notation software. For support, contribution, bug reports, visit MuseScore.org. Fork and make pull requests!
https://musescore.org
Other
12.23k stars 2.65k forks source link

Keyboard panel doesn't show notes during playback anymore #14428

Open Chabrol7 opened 1 year ago

Chabrol7 commented 1 year ago

In difference form older versions of Musescore (2 and 3) version 4 doesn't show notes during playback on keyboard panel. For amateur musicians, who can't easily read notes, showing notes, that is chords, during playback is great advantage (harmony, counterpoint check), specially with multiple instruments (orchestral scores).

Screenshots MU3:

MU3

MU4:

MU4
laravelpro commented 1 year ago

This is the most important. Without this, MS4 is unusable. Why don't they prioritize this first?

cbjeukendrup commented 1 year ago

Same question, same answer: because there are at least 1000 issues that are even more important than this. (Note that the feature requested in this issue has zero functional value; it's purely a visual nice-to-have.)

laravelpro commented 1 year ago

Same question, same answer: because there are at least 1000 issues that are even more important than this. (Note that the feature requested in this issue has zero functional value; it's purely a visual nice-to-have.)

You don't play an instrument, right? It's useful for both newbies and professionals as they can quickly look at the notes being played on the virtual piano. Check out thousands of videos on Youtube showing only highlighted piano notes and have billions of views. Many ppl are using it. It's that important.

cbjeukendrup commented 1 year ago

Oh hell yes I do play an instrument, and I am a composer too. You don't need to worry that I don't know what I'm talking about. This feature can be very nice for some users (even though I don't see the point, because if you don't know where the keys on the piano are, the visualisation will be too fast to learn it, and if you do know, you won't need the visualisation), but my point is that it does not make MuseScore a more powerful score writer app, which is what it is supposed to be. Visualisation of playback is not MuseScore's main purpose; as you say, there are other tools for that.

We will certainly re-implement this, but first we need to solve bugs and implement missing features that block people from notating the music they want to notate.

laravelpro commented 1 year ago

I'm glad that you will re-implement this. But it does make MS more powerful because there are 2 main types of composers/pianists. The ones with visualization and the ones without. You're the ones that look at notes and translate them to music, but there are many ones (including me) who can look at someone's hand or keyboard's changes and translate them to music. Of course that we can do that the other way but it's slower. And it's one of a skill that you can develop to become a better composer/pianist. The same goes for the part that you say there are other tools. We can use other tools but it's slower and more cumbersome. The most important thing is this is a basic feature that is in MS2 and MS3, not a new feature. And many ppl have been using it for years. I've been using MS4 since it is in the alpha state, and I still don't see that you implement this (about 2 years). You can see that there are at least 3 or 4+ duplicate issues on here and many more on google requesting this. I just want you to realize that this is a must-have feature and has been put down for so long. So please prioritize this. I've been using MS4 for a long time and I can make scores without any other bugs solved or missing features, but it's so annoying when not seeing highlighted notes. By the way, thank you and hope you can fix this soon.

cbjeukendrup commented 1 year ago

I hope that too, but as I said, there are many other features that people are asking for equally strongly or even more strongly. There are other (big) things that get requested way more often than this. So, I would like you to realise that while this feature is very important for you (and others, I know), there are also many other people who have their requests and needs, so we need to make choices, unfortunately.

(And technical considerations also play a role here. It might be hard to imagine, but implementing this feature in a proper, future-proof way is not trivial. In MS3, it was implemented in a sub-optimal way, where audio, engraving and UI code were completely mixed together, and that kind of sub-optimal code is what forced us in the first place to discard almost everything from MS3 and build MS4 from scratch. We don't want to do that again, so we ought to make sure that whatever we do from now on, we do it properly.)

worldwideweary commented 1 year ago

What's also kind of funny now is that the .COM side profits off of this function. Quote: "Piano Keyboard - This is a premium feature, only available with MuseScore PRO or PRO+" all the while the local MuseScore 4/4.1 doesn't have this ability. Good luck with the re-implementation!

cbjeukendrup commented 1 year ago

Trust me, this REALLY does not have anything to do with MuseScore.com. The only reason that this is not implemented, is the technical complicatedness (in combination with the fact that we have 1.7k other issues).

worldwideweary commented 1 year ago

'Twas Just an observation. But as a user, finding an old functionality gone and now monetized online does feel a bit peculiar. Surely mere coincidence. Again, good luck with re-implementation. The keyboard as it stands looks appropriately more proportional than it did in versions 2/3.

adazem009 commented 1 year ago

Maybe I'll try to implement this using MIDI events for MIDI output (the piano keyboard will act like a MIDI keyboard), but these issues must be resolved first:

TenviLi commented 11 months ago

So important old feature

reddiana commented 10 months ago

I would like to express my heartfelt gratitude for your invaluable contributions to this remarkable application. Your dedication and hard work are truly appreciated by many, including myself.

I understand that this issue is eagerly awaited by numerous users, myself included. We all look forward to the resolution of this issue, recognizing its importance to our user experience.

However, we also acknowledge that there are other issues of equal or even higher priority that need to be addressed. We are hopeful that as these pressing issues are resolved, the turn will soon come for this particular issue.

Once again, thank you for your tireless efforts and for making MuseScore a better place for all of us.

smwli4gh commented 9 months ago

I would also like to add my sincere thanks and support for the dev team. At 68 years old I went back to school to learn how to play the piano (among other things). When I started using MuseScore it was like a giant light went on in my head. I have received so much assistance from this program, It is hard to put it into words.

I am still learning of course (72 yo now), and love the Piano and MuseScore more than ever.

Thank you, Thank you, Thank you!

PS: While I would appreciate it if the keyboard displayed what was playing when I hit the space bar; it does show the notes being played when you use the left/right arrow keys to move along the score.

adazem009 commented 7 months ago

Just a quick sneak peek of what I have so far...

https://github.com/musescore/MuseScore/assets/68537469/f652ce13-a06c-40e8-a7aa-2b0efcfba77a

But I need this pull request to be merged before it can be implemented: #18820

worldwideweary commented 7 months ago

Nice! Was about to suggest following the mixer colors per track, but alas that apparently was never implemented into Mu4 from previous versions.

adazem009 commented 7 months ago

Should muted channels show the playing notes on the keyboard? MuseScore 3 shows everything, including muted channels, but in my opinion it should only display what is being played, for example if you wanted to see a particular part in an orchestral score, you would click on one of its bars so that only that part would be played and displayed on the keyboard. What do you think?

worldwideweary commented 7 months ago

@adazem009 I'm so used to my own personal build of the 3.x branch which only includes actual sounding note-events (so that ornamentations show properly like tremolos and trills on the keyboard), so I'm biased towards having only the sounding notes showing on the keyboard, with the addition of being able to control per instrument colors via mixer colors, for what it's worth.

Arnesfield commented 7 months ago

I would love to have more control and configuration options for this. My idea is having a toggle button for each instrument:

  1. Partial Enabled (icon: piano with volume symbol, button accent color) - Default. Instruments/parts with this option will show up on the keyboard only if it's not muted.
  2. Always Enabled (icon: piano, button accent color) - Instruments will always show on the keyboard regardless if muted or not.
  3. Disabled (icon: piano with a slash, button default color) - Instruments will never show up on the keyboard.
  4. (hidden option) - Regardless of the selected option above, if there are selected instruments/parts, only those selected will always show up on the keyboard.

For where to toggle these options, I'm thinking:

  1. The Instruments tab - Have the toggle button here per each instrument (not really sure where since it may look a bit overwhelming)
  2. A separate panel for piano keyboard configuration - Probably overkill, but other keyboard configuration can live here as well (zoom, visible note range, per instrument color on keyboard, etc.)

These are just my suggestions and I'm not really one to decide on these things. I'll leave it up to the maintainers/contributors to decide on whether to implement something similar (or better), especially the nuances of the feature (what toggle options, where and how to access them, etc.).

Thanks!

worldwideweary commented 7 months ago

While you're up (: also, an advanced preference for grand staff differentiation coloring would be cool like this:

https://github.com/musescore/MuseScore/assets/7139517/94ec927b-14c1-4a1a-9041-09dcc7539eb8

Anything else we can attempt to place upon your shoulders?

adazem009 commented 7 months ago

@Arnesfield I've implemented it by checking the muted attribute of audio output parameters. That means muted channels and parts that aren't selected won't show on the keyboard. However, it's possible to use information from the mixer to check which channels have the muted and solo state. In this case parts that aren't selected aren't considered muted, so they will always show on the keyboard. So, it isn't difficult to implement options 1 and 4, but I'll keep the current implementation to keep things simple and those options can be added later.

adazem009 commented 7 months ago

@worldwideweary Regarding different colors for staves, that would be difficult to implement since I'm using MIDI events (the same MIDI events that are outputted to MIDI devices). But if I remember correctly, it should be possible to assign MIDI channels to staves (I'm not sure about this) and read the MIDI channel before displaying notes.

worldwideweary commented 7 months ago

@adazem009 P.S. in Ms3.x the sequencer had a method called

void Seq::playEvent(const NPlayEvent& event, unsigned framePos)

A "Note Play Event" class referred to the event's actual score note and its corresponding staff origin when synthesizing "play events". I wonder if MU4 has something like that, but maybe it doesn't work the same way anymore since the revamping for the more advanced playback system. Either way, good luck with your implementation!

Xythantiop commented 6 months ago

Curious what the status of this feature is? As an amateur composer this was one of my favorite features of Musescore 3.x and one of the primary things preventing me from moving to 4.

adazem009 commented 6 months ago

Curious what the status of this feature is? As an amateur composer this was one of my favorite features of Musescore 3.x and one of the primary things preventing me from moving to 4.

It's already implemented in the linked pull request, but nobody has reviewed it yet. And I don't think it'll happen any time soon because the MuseScore team is busy with other things. But I'll keep the PR so that they can maybe use it in the future.

Jojo-Schmitz commented 5 months ago

Came up again in https://musescore.org/en/node/363779

yamaan93 commented 3 months ago

Is there any reason this hasn't been merged yet? This seemed like a pretty big missing feature from musescore 3 and it's been years since this issue was originally opened.

cbjeukendrup commented 3 months ago

The proposed solution introduces performance issues and is not ideal from an architectural point of view. Therefore, we don't want to merge it. Coming up with a different solution is not easy and requires investigation; at the moment we don't have the time to do that, because of other important things.

(Personal note: I'm honestly surprised that so many people find this so important. I would have seen this as a useless toy that hardly belongs in a music notation app, but apparently that's very different for other people. It's apparently the most 👍'ed issue in the whole list! Anyway, my opinion about this issue plays absolutely no role in the prioritisation here, because I'm not the one to solve it nor the one to make any decision about it. I'll bring it up again in the team though and mention that this is such a popular request.)

worldwideweary commented 3 months ago

@cbjeukendrup: For the record, it appears this keyboard playback functionality was deemed worth implementing and originally added into MuseScore version 2.0.1 almost 10 years ago. I suppose that's no indicator of true "importance", however.

yamaan93 commented 3 months ago

As with most creation tools, people will often find great utility in things that others may not find super important. I can see wanting to visualize hand movements and shapes etc while composing. But also I think musescore as a program is used for more than it's intended purpose. I know some people use it also for examining and studying a sheet, instead of the musescore.com app. I'd much rather have my laptop open on my piano than have to deal with the god awful horrendous app that is musescore mobile.

pedjas commented 3 months ago

(Personal note: I'm honestly surprised that so many people find this so important. I would have seen this as a useless toy that hardly belongs in a music notation app

For most people possibility to show played note on a keyboard was actual motivation to use application. That is great learning tool.

iggydarsaRS commented 2 months ago

"@https://github.com/musescore musescore deleted a comment from iggydarsaRS 29 minutes ago"

I just asked what the verdict is and musescore just deleted my message. First remove an awesome feature then delete my question? You really know how to please your users.

Lets see how long it will take for you to delete this message.

oktophonie commented 2 months ago

Comments like "this has been open for ages, what's happening" are useless. All it does it add noise for whoever wants to spend time looking at this issue. Perhaps read the guidelines.

There is no "verdict". When things happen, you'll see something here. If nothing is here, nothing has happened. There are currently 2599 open issues in this repository.