Playback when adding an accidental

• Feb 9, 2018 - 07:13

When inputting notes, say an A♭, it can be a bit off-putting when the A sounds when inputted but nothing sounds when I put the flat in. One workaround is to move the note chromatically instead of just applying an accidental, but this doesn't work in all cases (such as a B♯ in a key signature of A minor). So this suggestion is to extend playback to the less common method of adding accidentals.

On a side note, a keyboard shortcut to delete the accidental would be perfect. Not just for correcting input mistakes, but also for sidestepping cases of mandatory accidentals (accidentals tied over bar lines and ottavas).


Don't think of using the arrow keys as a "workaround" - it is actually the preferred method for entering accidentals. For the few cases where it won't result in correct spelling (eg B# in a key that includes C), you can still use the arrow key, then press "J" to change the spelling. Still, it's a good suggestion to also playback the accidental in the cases when it is added to a single note from the toolbar. I encourage you to file this formally via the issue tracker (see the link in the Activity menu above).

As for deleting an accidental, the delete key works for accidentals just as it does for most other elements, except in a few special cases such as after a tie across a barline when the rules of music notation usually require it. In those cases, if you have a special reason to break those rules, you can always hide the accidental with "V".

In reply to by Marc Sabatella

I'm not a big fan of the arrow keys method, and only use it when trying to get rid of accidentals. A keyboard shortcut to delete accidents would free me of the preferred method forever :P

I'll file the playback sound suggestion.

For the special cases I either bracket the accidentals (ability to set a shortcut for this would be great too) or hide them. Hiding them can look messy, such as with a bunch of fast notes that are close together. But I can see why persistent accidentals were implemented, and why there might not be a huge popular demand for overriding them...

In reply to by to7m

What is your issue with the keyboard shortcut? As mentioned, it is designed for this purpose and is optimized for it. By avoiding it in favor of the less-efficient methods, you only make things more difficult. But anyhow, as I said before, there already is a shortcut for deleting accidentals - Delete, same as for deleting everything else.

You can define a shortcut for adding brackets, just go to Edit / Preferences / Shortcuts, search for "bracket", and have at it.

In reply to by Marc Sabatella

I just prefer to be more certain about what pressing a key will do. So, I use diatonic pitch up/down because that always moves the note head up/down, and keyboard shortcuts for the supported accidentals because that always puts in the intended accidental. These issues are only minor quirks; for most passages it's still quicker for me.

I aim not to make things too difficult, just to suggest a few features that could add to without subtracting from the standardised work flow.

For deleting and bracketing, these require clicking the accidental with a mouse (unless I've missed a way to select nearby objects), unlike the shortcuts for adding or changing accidentals.

But that brackets shortcut looks like it will save me a lot of time anyway. I've added it to my collection. Thanks!

Unless I am mistaken, @to7m is asking for a keyboard shortcut that will delete the accidental for a selected note (or notes) without having to select the accidental itself. I agree that this could be useful, which is why I implemented this feature, along with the playback of accidentals in this pull request.

In reply to by mattmcclinch

For the record, there will be a shortcut to move the cursor to other symbols in a future release.

I'm still not really a fan of dedicating a command to the purpose of removing an accidental from a selected note when there are already ways to do this (use arrow key to correct the pitch directly, or select the accidental and delete it). Instead of dedicating a new command to such a corner use case, I'd prefer to see something more general. Like, maybe we could make the "flat" command into a toggle, so if there is not a flat, it adds one, but if there is, it removes it. Ditto for the other accidentals obviously.

In reply to by Jojo-Schmitz

One thing to consider would be the effect of using the shortcut on a selected range of mixed notes. If you press ‘sharp’, would everything be changed to a sharp, but the existing sharps be deleted?

A ‘remove’ shortcut seems more intuitive to me in general. I can't imagine using toggle if the remove option is there.

Another option would be something to modify the pitch the same way the arrow keys do, except sticking to changing the accidental rather than letting the notehead move, so that double flats and double sharps would be possible. Not something I would use, but maybe it would fit into some other use cases?

In reply to by Marc Sabatella

I'm sure there's some real world situation in which I'd do that, but that's not going to happen frequently enough to be a concern...

Okay, how about this one. I write out simple diatonic melody, but then realise I forgot to add the key signature. I add the key signature, which turns some of the notes into naturals. I'd then want to get rid of those naturals without adding any in.

But on a more serious note, I think that toggling accidentals wouldn't affect me, and would only be a plus for some other users regardless of edge case mixed selection issues.

In reply to by to7m

There is already a perfectly good way of converting a melody to a diatonic one: Alt+Shift+Up/Down. Thinking in terms of deleting accidentals rather than changing pitch is, I think, the source of the confusion here. To MuseScore, accidentals aren't just bits of ink to be added or deleted on a whim like accent marks - they are part of the pitch of the note, and the commands for working with them are designed to encourage that sort of thinking.

In reply to by Marc Sabatella

Ah, but the removal of an accidental does not always result in a change of pitch, and the command for changing the enharmonic spelling will not remove an unnecessary accidental.

I do not see anything about the proposed "no-accidental" command that is contrary to the MuseScore philosophy. Rather, it is consistent with the way the existing commands work for changing the accidental of a note or notes. In fact, it serves to "complete the set", so to speak. It won’t show up in any toolbar or menu or palette, only in the dialog for assigning keyboard shortcuts. It has been requested, and it has been implemented.

It has been suggested that the commands for changing the accidental of a note be turned into toggles. This is a fine idea, and I believe that I can properly implement this. It is true that there would be less of a need for the "no-accidental" command, but some people might still find it useful.

In reply to by mattmcclinch

It's true the that removing an accidental doesn't always result in changing pitch, any more than adding one does. But the reasons for removing or adding these accidentals are also entirely different - the accidentals that don't change pitch are courtesy accidentals only. Again, what is the real world use case to select as bunch of notes and say, "for some of these I want to actually change the pitch, for others I want to remove (or add) a courtesy accidental"? I'm really struggling to imagine any possible scenario where this would ever occur to anyone to do.

The no-accidental command is harmless enough, as I've observed elsewhere. I still don't understand the real world problem it is trying to solve, though, and even if such a real-world problem does exist, I would guess. there is already a perfectly good solution for. So that's what is still worth discussing.

In reply to by Marc Sabatella

Okay, there aren't any obvious plausible cases where using a ‘remove accidental’ function would be necessary in groups of notes.

But in general, if I see a sharp that I want to get rid of, I'm not going to think ‘change the value of this sharp to non-existent’, but rather ‘change the accidental to non-existent’. Therefore, whenever I delete an accidental, I'll use the delete shortcut instead of the other less intuitive options. In my opinion, this is worth encouraging as a way of thinking even if for whatever reasons MuseScore doesn't internally process accidentals in that way.

In reply to by to7m

That's why clicking on the accidental you are seeing and hitting delete still seems like the obvious solution here, same as how you'd delete a dynamic marking you want to get rid of, a chord symbol you want to get rid of, a fermata you want to get rid of, etc. I guess I still don't really understand your use case here that somehow makes accidentals unique and different in this respect to deserve their own dedicated shortcut. In general, if you want to see new features implemented, it helps to describe in detail just what the use case is so developers can understand how to prioritize it and design for it.

That said, again, it does seem the "no accidental" command is harmless, as is changing the sharp to a toggle, so there is less need to understand the use case. Would still help though.

In reply to by Marc Sabatella

I try to explain my use cases properly, but all sorts of vital information gets left out every time (^:

Clicking the accidental requires using the mouse, whereas delete accidental will require one press of a button. Sometimes I spend hours a day transcribing into MuseScore, and something that can't be corrected instantly without thinking means the flow is lost. Also, using a mouse like that can get painful in a short time-span. I prefer to put the notes (including accidentals), staccatos, and accents in first, and save the mouse-dependent tasks for after.

I will try to be as detailed as possible with examples for future suggestions.

In reply to by to7m

As an example of what it might mean to describe a use case, here's my closest guess as to what you might be encountering:

"I am copying an existing manuscript. Somewhere in the manuscript it calls for an F, but my finger slips and I accidentally hit the shortcut I have defined for the sharp key, thus turning it into an F#. because the sharp command does not play back, I don't hear this happen, and because I am looking at the music I am copying rather than the screen, I don't see it, either. But a few notes later, I do notice it. I'm still in note input mode so I don't want to use the mouse. I cursor backwards to the offending F#. At that point, I don't want to have to think about whether I need an up or down arrow to change F# into F, I just want to hit a button that removes the accidental whatever it is. This happens fairly often because ... "

In reply to by Marc Sabatella

Ah, gotcha.

I am transcribing (by ear generally, but I do frequently put notes in without looking at the screen for various reasons) a melody. I hit an F, but the note is an E♭. For the simplicity of the example, I notice this immediately. The E♭ is stated previously in the bar. I move the F by diatonic down to E, which shows as E♮, but I want it to be an E nothing. This happens fairly often because I make mistakes all the time. Also, octave shifts occasionally lead to issues.

I have been experimenting with turning the accidental commands into toggles, and I have an interesting proposition. But first, let me explain my thought process.

With the commands being toggles, it seemed logical to make them "checkable", so that the toolbar buttons reflected the state of the toggle. In the case of multiple selection, an accidental button would be shown as checked if and only if every note in the selection has that accidental. Whether the command added or removed an accidental would be determined by the "checked" state of the button, rather than whether the note already had that accidental.

When I tested it, it worked great. But in note input mode, it was a little confusing. This is because the duration buttons and dot buttons modify the note you are about to enter, but the accidental buttons modify the note you just entered. Adding a sharp to a note will check the sharp button, which gives the impression that the next note will also have a sharp added to it. Which leads me to ask the following question: What if the accidental buttons were changed so that they modify the note you are about to enter, rather than the note you just entered?

There are a couple of advantages to this. It makes the accidental buttons more consistent with the other buttons in the "entrytools" toolbar. And it allows the user to input a note with the accidental already in place. It can be off-putting when I’m entering in a melody or chord to hear an incorrect note played because I haven’t attached the accidental yet.

The "preferred method" for entering an accidental (moving the note up or down) would be unaffected. And for those who like the current behavior, there is the Accidentals palette.

Please let me know what you think. The more I think about it, the more I like the idea.

In reply to by mattmcclinch

Marc suggested something very similar here:

I think the default should be to add an accidental to the next note, with the functionality applying to the same note when not in note input mode. But, although this matches the pattern, it could throw a lot of users off I think. Tricky one.

I've thought about my reply to his post there, including an ‘apply octave shift to next note’ option to complete the feature set. I think I'll write it out in more detail soon as it doesn't seem too unlikely to happen given this recent interest :)

Do you still have an unanswered question? Please log in first to post your question.