Default settings for semi-realtime MIDI in 2.1
As lasconic noted in the release notes draft here , "people will expect to be able to enter 16th notes with a metronome ticking quarters and it's not the case."
To improve the first-time user experience (and everyone will be a first-time user), I would suggest defaulting to having the 16th duration selected when entering either of the two real-time modes, and correspondingly reducing the default metronome delay (in Preferences / Note Input) to its minimum of 300 milliseconds.
Comments
Why not make this the default rather than everyone having to do this when they want to use the feature.
In reply to Why not make this the default by mike320
Indeed, that's pretty much what I said. ;-)
In reply to Indeed, that's pretty much by Isaac Weiss
Sorry, I took that as a suggestion to users to go into preferences and change it. Now that I read it again I see what you said.
The problem with doing this is that there is currently no rounding of rhythms. If the user enters 3 or 5 tied 16th notes then how do we know whether that's what they wanted, or if they really wanted to enter 4 tied 16th notes to make a quarter note? In this case it seems pretty clear that they probably did want a quarter note, but there is no way of knowing for sure. What if they entered 2 tied 16th notes? Etc. Currently the algorithm makes no assumptions and just goes with whatever the user enters.
One way around this would be to ask the user to choose a quantisation level for input (i.e. 16th notes), a different quantisation level for the rounding (e.g. 8th notes), and perhaps even a third level of quantisation for the metronome (e.g. quarter notes). So that's 3 decisions the user has to make before they can even start entering notes! And don't forget that the choices are likely to be completely different in another time signature, or at another tempo.
Instead, I chose to keep things as simple as possible and have a single level of quantisation that affects the input, rounding and the metronome. The user just picks a duration and starts playing. It's not ideal, but it works. (That's why it was called "semi-realtime", you can't really play the piece like you are giving a performance, but it's more natural than step-time.)
The long term solution here is not to simply enter notes but to also store the user's actual raw input timings (i.e. note-on & note-off events). This way the user could be given the option to change the quantisation level *after* entering the notes to see what gives the best result. (The raw timing could even be used during playback to give a more human feel to the MIDI performance.) I started investigating this during GSoC but there just wasn't enough time to build a whole new UI and the underlying structures to support it. (I also tried using the MIDI import algorithm but no luck there either.)
Anyway, the point is that we can't make the default duration really small until there is some internal method of rounding notes. If you want to fake this in the meantime you can always pick a small duration yourself, enter the notes, export as MIDI, and then re-import into MuseScore.
In reply to The problem with doing this by shoogle
Thank for the elaborated answer. My point in the release notes was to make sure that we call this "semi realtime" and do not raise expectation too much.
In reply to Thank for the elaborated by [DELETED] 5
Yes, I agree with your point in the release notes. It's just the idea that 16th notes should be the default that I disagree with, or that the metronome should tick a different duration to the duration the user enters. Those things can only happen when the things I mentioned are implemented, but I certainly agree that we should make it clear that they are not possible right now.
In reply to Yes, I agree with your point by shoogle
I realize in the absence of tracking the precise note timings, we can only approximate the real-time experience, but I think we can get a lot closer to it. My concern is that very rarely will somebody want to create music with no subdivisions smaller than a quarter note—virtually always they will have eighth notes, and often sixteenths. So I anticipate "bug reports" that it isn't working, they can't enter anything shorter than a quarter note...
In reply to I realize in the absence of by Isaac Weiss
I understand your concern, but I think people will get the hang of it quite quickly.
The things that bother me more are:
1. The default duration is *always* a quarter note, rather than a beat in the current time signature. This is especially true in compound time signatures where a dotted duration or an eighth note would be much more appropriate.
2. You have to remember to change the duration *after* entering note input mode. If you select a different duration before switching to note input mode then the duration changes to a quarter note as soon as you start note entry.
I find those things more annoying than not being able to enter something smaller than the chosen duration.
In reply to I understand your concern, by shoogle
I hope they do get the hand of it quite quickly (though it took me weeks to figure it out). We'll know if they don't. ;-)
Re: 2), I could have sworn there was an issue in the tracker for that, but I can't find it. I've never been able to get the right habit, so that's been a minor annoyance to me for a long time, as well.
In reply to I hope they do get the hand by Isaac Weiss
Rather than saying "you play the piece in time with a metronome" a better way to explain semi-realtime entry might be to say "You enter a note by pressing a key. If you keep the key held you will start to hear clicks at regular intervals. With each click the note grows longer until you release the key." It's a bid too much for the release notes, but it will work in the Handbook.
In reply to Rather than saying "you play by shoogle
Sounds pretty good to me.