From: Element G. <el...@el...> - 2016-08-20 15:50:46
|
On Fri, Aug 19, 2016 at 9:53 AM, S. Christian Collins < s.c...@gm...> wrote: > On 08/19/2016 12:28 AM, Element Green wrote: > > I think FluidSynth is pretty good about starting all the voices created by > a note-on event in the same synthesis period, which would keep them in sync > if their pitch related parameters are the same. My point was, that if > there are differences in the pitch related parameters (or loop parameters) > between the left and right samples, they will get out of sync. In this > sense, the SoundFont standard is not being followed, as it is written, > since these parameters should be forced to be the same. > > > Hmm... I am currently working on a piano instrument in SoundFont format > that features stereo samples. To avoid phase cancellation when the stereo > field is altered, I have been shifting one of the channels back several > samples so that the fundamental vibrations align. However, this means that > in order to maintain the original loop, I must also shift the loop points > an amount equal to the number of samples that channel was shifted, > resulting in loop points that are not identical between the left and right > channels. I have yet to run into this being a problem with either the > Audigy or FluidSynth. If I converted the stereo samples to individual L and > R mono samples instead, I would lose the link between the two when > voice-stealing comes into play. What do you think about this scenario? > > It may be that the loop points aren't actually considered as part of the "pitch" parameters. The standard really doesn't seem to be specific enough in defining this and I noted previously in this thread that there are some issues as well in regards to potential conflicts with the envelopes and LFOs in this regard. Good point about the lack of an L/R link causing voice stealing to not work properly. Seems like some review of the FluidSynth code in this regard is also in order, as to how it matches these if there are multiple pairs. However if there are any SoundFont files out there, which have differences > in the pitch parameters between left/right pairs and assume that they will > be forced to be the same by the synthesizer, then these SoundFont > instruments will not behave as expected. > > > I wonder how many SoundFont designers would work under this assumption, > though. I certainly didn't know about these limitations until you mentioned > it. None of my SoundFont editors ever restricted me from changing pitch, > loop points, etc. between the L and R samples of a stereo pair, and the > synthesizers always seemed to oblige. I am going by memory, though... > perhaps I should test this in more detail to see how everything behaves. > > This may be a case of real life implementations not really following what is in the specification. Testing of other applications would prove to be very useful to confirm this and also get an idea of "best practice". -~Chrisd > Cheers! Element |