The following examples use a single sustaining instrument.
Apparently, if Dorico detects that one note is starting to overlap another note with the same pitch, Dorico will shorten the duration of the earlier note so that it ends just before the next note begins. I wish that Dorico would do the same thing with two notes that have the same pitch and don’t overlap but the earlier one ends at the same time as the later one begins. This would help avoid race conditions.
Have you considered turning on IRV in Play mode? This way, the different voices will be assigned to different virtual instrument instances, which eliminates the worries about race conditions.
Cubase is ‘playing it wrong’, IMO, because something should be sounding for all of the first two bars, plus two beats.
Dorico’s rendition is more representative of what you would hear. Obviously, in real life, you’d need two players to overlap (depending on the instrument). And I’d agree that if you want to hear two voices doing different things, then you need to use IRV.
The purpose of the examples in my original post was to show that Dorico is shortening the duration of notes so that they don’t overlap, which a DAW like Cubase typically doesn’t do. I am asking that this logic be extended to cover situations where notes with the same pitch don’t overlap but are touching end to end.
Is your illustration possibly labeled incorrectly? I have experienced this phenomenon with unisons over decades of midi rendering and I am trying to imagine why anyone would prefer the short way, with silences in between. The text and the illustration in the first post don’t seem to match.
Since several people are confused about the examples in my original post, let’s try a more practical example with only one voice for which turning on IRV won’t help:
To eliminate one variable, let’s assume that Humanize the start positions of notes is set to zero percent. By default, every note under the slur except the last has a played duration equal to 105% of its written duration. Without special logic to detect overlapping notes with the same pitch, any MIDI application playing back this example would end the fourth note after only five percent of its written duration. Presumably with situations like this in mind, Dorico includes this logic and shortens the third note so it ends just before the fourth note begins.
Now let’s delete the slur and set the played duration of default notes to 100% of their written durations. Now the notes don’t overlap but the third note ends at the same time as the fourth note begins, causing a race condition.
Can you give an example of a problem caused by this situation?
I mentioned the setting for triggering the expressions for the next note early, as I suspect it was to ameliorate this sort of thing. I could be wrong, of course.
If you follow the link I gave in the third post of this topic, you will find an example of a problem caused by this situation.
The setting you mentioned determines how many ticks before a note begins a keyswitch will occur, typically to cause a change of playing technique such as going from arco to pizzicato.
mmmm i would say you can’t play the same note both at the same time with a single intrument. so in musical notation it means you use at least two instruments to get this overlap. i don’t know Dorico but is it possible to program two different intruments (or group of instruments) on the same stave ? because this what means your example
When two notes have the same pitch and the first note ends at the same time as the second one begins, there is always a chance (albeit a very slight chance) that the MIDI note on event for the second note will be processed before the MIDI note off event for the first note, causing the second note to be clipped so short as to be practically inaudible.
Could you attach a short project in which this occurs? I believe the way that the overlap detection in Dorico works is intended to prevent this from happening, so it’s possible that there is a bug in the logic somewhere.
Here is another example of race conditions causing clipped notes, using the HSO Oboe to play the melody. In working with my virtual choir, I set Humanize the start positions of notes in Playback Options>Timing to zero percent. I also set the played durations of default notes to 100% of their written durations so that they will be as long as possible without overlapping. Then I enter the notes, setting the playback end offsets of notes at the ends of phrases and at punctuation within phrases to create the pauses that would occur in a performance by a real choir.
A race condition or race hazard is the condition of an electronics, software, or other system where the system’s substantive behavior is dependent on the sequence or timing of other uncontrollable events. It becomes a bug when one or more of the possible behaviors is undesirable.