Midi input and accidentals
I finally bought a midi-keyboard for input (a Korg nanoKey2), and am trying to decide if it's worth the trouble or not.
My main problem at the moment seems to be that when entering accidentals from the midi keyboard, Muse Score interprets them all as flats. In other words, I play an F-sharp on the keyboard, and a G-flat shows up on the score; if I play a B natural, I get a C-flat on the score.
Obviously, if I have to go back and correct all those accidentals by hand using the computer keyboard after inputting them on the Midi keyboard, it will take me MORE time than if I just did the input directly on the computer keyboard where I can specify the notes by name as well as by pitch.
Is there any way to 'tell' MuseScore which way to interpret a certain pitch input from a midi-keyboard? I work almost exclusively with Baroque music, and accidentals are a MAJOR element in every score I do.
Thanks for any insight/information/light you can shed on this problem.
(PS--I don't know if it makes any difference, but the score I am having this problem with is in g minor (1 flat).)
Comments
Did you enter the key signature into MuseScore? It should take that into account in guessing accidentals. But you're right - this is going to be the drawback of MIDI entry.
In reply to Did you enter the key by Marc Sabatella
...in G-major, and that time MuseScore interpreted all the accidentals as sharps. So, it looks like the program takes its cue from the key signature--if it's in flats, it renders all accidentals as flats...and vice versa for sharp key sigs.
This is a pain in the neck for input, obviously, but even though I am a complete techno-twit I can see that it would be problematic to come up with a software solution . Maybe what is needed is a piece of hardware that is--electronically--a computer keyboard, but is laid out PHYSICALLY like a piano keyboard with the note-name letters in a single row next to each other instead of in QWERTY layout.
OR WAIT!!--and here a brilliant software solution that suddenly DOES occur to me (yeah, ME--the guy who couldn't code squat to save his life):
Could MuseScore be set up so that the actual compter keyboard could be READ by the program AS IF IT WERE a piano keyboard? IOW, the electronic signals from the row of letters A,S,D,F,G,H,J,K would be read by MuseScore as C,D,E,F,G,A,B,C? One could even conceive of making upper/lower case two adjoining octaves (which covers most of the range of most individual parts)...?
I believe there is ample precedent for this sort of thing because I routinely use several different keyboard layouts to accomodate the two languages in which I routinely write (French and English). Could code for a keyboard layout that transformed 'S' into 'D' and 'D' into 'E' (etc.) be written and made available for download as a 'plug-in' or something? One wouldn't need to code for the black keys on the piano keyboard because with computer keyboard entry, input is automatically accepted according to the key signature, and an accidental is easily added with one stroke of the UP or DOWN key.
And yes, I know, some of the keyboard shortcuts would have to be re-organised, but shortcuts for System Text, Tempo Text, Insert Measures, etc., aren't used at note-input speed, so learning or assigning new ones shouldn't be a big problem.
Anyway, I'm just brainstorming a bit here. If MuseScore offered an alternate keyboard layout as a plug-in for input, most people wouldn't see the need for a MIDI keyboard. You're the code genius, Marc. How difficult would it be to do that sort of thing?
In reply to I tried with a different key signature... by Recorder485
You might want to experiment with this:
If you open menu item: Edit / Preferences, then on the 'Shortcuts' tab you can define your note entry to whatever letter you want to type on your computer keyboard. Simply use the buttons at the bottom to define new shortcuts.
However, you might be limited to only one octave, so that you couldn't have two C's as in: C,D,E,F,G,A,B,C.
Regards.
In reply to Custom QWERTY keyboard layout by Jm6stringer
...and I ought to be ashamed for not having figured it out myself! I'll try to solve the octave problem by using ALT+[letter] but I'm not sure that will work. I don't know if it's possible to designate specific octaves on MuseScore.
That's one of the nice things about user forums like this one. It's easy to look right past a possible solution when one's focus is too narrow, but someone else with a broader perspective on the problem can jump in and point out the obvious.
I started this thread in the hope the answers would help me decide whether or not to keep the MIDI keyboard or send it back to Amazon, but that's become a moot point because I managed to spatter it with soup while eating supper last night. It still works, but I can't in good conscience return it as 'new and unused' after that. So...I'll keep it, but it may turn out that your idea will consign it to the shelf in my office where useless electronics gather dust. We shall see....
Thanks again.
...if it makes any difference, but the key of G minor is relative to Bb major - with two flats in the key signature.
A key signature with 1 flat would be F major / D minor.
Perhaps the correct key signature will result in better notation of the accidentals.
Regards.
In reply to I don't know... by Jm6stringer
I was working with two pieces at the same time--one in two flats, and one in one flat--and swapped keys in my head when I wrote my original post. I do know the relative minors of F major and Bb major....
But to answer your actual suggestion: No, it makes no difference. If the key SIGNATURE contains flats, MuseScore interprets all accidentals played on the MIDI keyboard as flats. (See my reply to Marc Sabatella.)
We use letters to represent notes and then key signatures to show recurring flats and sharps and then accidentals to show flats and sharps outwith the key signature. MIDI just uses note pitches. The former can be converted readily into note pitches but you can't get it right all the time converting the other way.
If you were playing golf, you might hit 160 yards with a 3-iron and your partner might hit the same distance with a 5-iron. If you only saw the ball and knew the distance it had travelled, however, you'd have to guess which club had been used. You could write an algorithm accepting as inputs the gender and height of the player, various course characteristics etc. but it would be complicated and still not get it right all the time. I suppose you could shout "Five" when you hit the ball but this would, at best, confuse people and could ultimately lead to your exclusion from the club.
One trick that works a lot of the time (but not always) is to select everything and then press [UpArrow][UpArrow][DownArrow][DownArrow] to convert accidentals to flats and the reverse to convert them to sharps.
In reply to We use letters to represent by underquark
...quite apt, and it seems to confirm my idea that the signals coming from a MIDI keyboard and a computer keyboard are two different animals. I tried to make that clear in my reply to Marc Sabatella, above.
As for selecting everything and then kicking it down and then up again, I haven't tried that yet but I will. What I'm doing at the moment is correcting each accidental on the computer keyboard as I enter it. It slows me down and frustrates me, but it's somewhat better than going back and adjusting each accidental individually.
It's a good thing we don't have to create specialised input for the old temperaments wherein a G-flat was NOT the harmonic equivalent of an F-sharp. ;o)
In reply to Your golf analogy is... by Recorder485
Doesn't the "respell accidentals" function do this for you?
In reply to Doesn't the "respell by Jojo-Schmitz
...about the 'respell accidentals' function. Can you tell me about it, please?
In reply to I don't know... by Recorder485
Notes → Pitch spell
In reply to Notes → Pitch spell by Jojo-Schmitz
That does absolutely nothing, and requires mouse manipulation, too (which is far from ideal as I'm already working on two different keyboards simultaneously).
What is pitch spell supposed to do?
In reply to ?? by Recorder485
It is supposed to respell accidentals in the current selection to match the current key sig. At least I think it is..
Ctrl-A to select the entire score before using it
In reply to It is supposed to respell by Jojo-Schmitz
In fact, that IS my problem. Muse Score automatically spells all accidentals in flat key signatures as flats...even when they should be sharps according to the harmony that is going on at the moment.
I am looking for a way to specify (for example) F# instead of Gb on a midi keyboard, and I don't see that as possible because of the different type of signal it sends to the computer. It's either got to be specialised, dedicated hardware, or additional software that allows us to use a 'note-name' generating device in a more convenient way than we can presently use a computer keyboard.
Please read my reply to Marc Sabatella, above, which I think explains it fairly well.
In reply to That is not a solution to my problem. by Recorder485
There are a couple of possibilities here for a solution. One, MuseScore could be taught about minro keys, and you could specify your piece is minor, and then it would know to use F# in the key of two flats if the key is G minor rather than Bb major. Or, it could just always spell the pitch between scale degree 5 and 6 as #5 - it's the right answer in major keys about half the time anyhow.
There's still no getting around the fact that MIDI doesn't distinguish F# from Gb, so no matter *what* algorithm MuseScore uses, it's going to be wrong a lot. So now what happens, you will *still* have to fix a lot of pitches manually. So you need the computer keyboard to do that (up then down to change to flat, down then up to change to sharp). In MuseScore 2 there will be the "J" command to change spelling in one press.
BTW, a sufficiently smart plugin might be able to do a pretty good of fixing accidentals for you after you have completed note entry. Select the region, the plugin could do some sort of analysis based on context to help decide - like spelling with sharps in an ascending line, flats descending, looking at the chord as a whole, maybe even taking into chord symbols if present, etc. I suspect someone somewhere has developed such an algorithm