Human Touch (#1)
Quoting Marc Sabatella on a recent thread:
"Playback has been enhanced in some way pretty much each and every release. If you have specific ideas for further improvement, please discuss them in a new thread."
I agree that playback has seen substantial improvements with each release of MuseScore. Thank you to Marc and to all the coders (and testers) who are working to make MuseScore the music tool we all want it to be.
As to the second part of Marc's comment, I spend a lot of time thinking of how MuseScore can be improved. I have no coding skills whatsoever, and I struggle with finding the best words to express my ideas, so I (usually) keep my opinions to myself.
I have been mulling two ideas which could help bring a live or "human" feel to MuseScore playback.
The first of these is what was called "humanize" in the days of Atari sequencers.
"This function adds and subtracts a random amount of time to and from notes' time positions. Notes can thereby receive a certain amount of 'quasi-human imprecision'.... For example, '8/768ths' (768 was Notator's minimum time division) would mean that all the events would be randomized up to 4/768ths forward and 4/768th backward." (Notator SL manual)
A tiny randomization of note-on events breaks the rigidity of computer quantization just enough to add a bit of a human feel to the playback. Even the finest players in the finest orchestras do not play with the precision of a computer clock, nor should they. I do recognize that a whole generation of musicians has grown up with their musical sensibilities shaped by "perfect" computerized timing, so this function may not be appealing to all.
An added bonus to this function is that it displaces note-on events so that large groups of notes are not all starting at precisely the same instant, which could reduce strain on the CPU, which often presents itself as stuttering in playback.
How difficult is this to achieve? Given that the entire Atari Notator program fit very nicely on a 720 disk, I don't think a lot of code went into this function. (But as I said, I have absolutely no knowledge in this department.) On the Atari, the effect was applied on a per-track basis; I can imagine a simple dialogue to apply the effect globally, to a specific part or a section of music.
My second idea? That will have to wait for another day.