Here's a thought:
Currently, samples start playing from the very beginning of their attack
phase at the moment a NoteOn is due, right? This means instruments with
meaningfully long attack phases will drag (be late musically); and to
make things worse, drag varying amounts by note (pitch) as the sample is
resampled for various pitches. This unavoidaby makes musical timekeeping
poor, and needs manual, sample- and note-specific correction to arrive
at good timekeeping.
But it does not have to be this way when playing from a score. Real
musicians, when playing from a score, know ahead of time what notes they
will have to play and when, so they play their notes slightly ahead of
time, just enough to give time to the instrument to complete the attack
phase, to arrive at the meaningful musical onset of the note exactly on
time.
Why don't samplers/synthesizers do that when playing back a score? Why
don't we designate in our samples a musical onset point (much like we do
with loop points), and then play the sample early, just enough so that
this designated musical onset arrives on the "tick"?
Sample makers wouldn't have to artificially shorten their attack phases
just so that their soundfonts play "on time", and/or composers would no
longer have to be forced to compensate for - sample/soundfont-specific,
and note specific - attack phase lengths by tediously manually moving
their notes earlier in their scores. This would automatically be "on time".
_______________________________________________
fluid-dev mailing list
fluid-dev@nongnu.org
https://lists.nongnu.org/mailman/listinfo/fluid-dev