Am 01.11.21 um 10:41 schrieb Will Godfrey:
This is clearly one of those "nature of the beast" situations, so thanks for such a deep investigation. I think it's something we just have to accept.

...so basically this changeset is more or less complete now.
One thing I'll do now is to extend the Test-Suite with some SUBSynth and
PADSynth notes, and then re-do that comparison before/after (just to be sure).

Another topic, while looking through the changes, I noticed that ADDSynt
and PADSynth apply a +12dB boot (Factor 4.0) to the global volume, while
SUBSynth doesn't

I guess, this is a "known inconsistency" and was there since the beginning?

Actually, when looking through the SUBSynth code, there is an additional
factor 2.0 (a +3dB boost), hidden in SUBnote::computecurrentparameters()
(SUBnote.cpp, line 675). I've just looked up all usages of SUBnote::volume,
and this seems to be the only code path leading to an actual change of
the output samples in SUBnote::noteout() (line 794). The only thing
that is slightly weird is the fact that SUBnote::newamplitude is
applied/interpolated to the current buffer samples /before/ the invocation
of computecurrentparameters(), which means, a changed volume will take effect
only on the next buffer, i.e. the following SynthEngnie::MasterAudio() call.
According to the Git history, this arrangement was this way already with
the first commit from Cal

commit 45f9406c6b66b5f89cf2fb28b8c9badc59e9563b
Author: Cal <c...@graggrag.com> 2010-10-16 16:04:39
"start with 0.062-pre0"

I have no inclination to touch that; however what we could do is
to move that volume factor 2.0 up from computecurrentparameters()
into SUBnote::computeNoteParameters() in order to make it more
symmetric to ADDnote and PADnote.

Moreover, I'd also propose to get rid of the constants LOG_0_0*1,
since what happens here is *exactly* the same than the new function
powFrac<##> does now, so there should be no nurmeric change whatever.

-- Hermann





_______________________________________________
Yoshimi-devel mailing list
Yoshimi-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/yoshimi-devel

Reply via email to