Re: [yoshimi-user] Different sound in Yoshimi and ZynAddSubFX - update

  • From: Will Godfrey <willgodfrey@xxxxxxxxxxxxxxx>
  • To: yoshimi-user@xxxxxxxxxxxxxxxxxxxxx
  • Date: Sun, 23 Feb 2014 11:16:43 +0000

On Sat, 15 Feb 2014 17:17:23 +0000
Will Godfrey <willgodfrey@xxxxxxxxxxxxxxx> wrote:

On Fri, 14 Feb 2014 20:04:03 +0000
Will Godfrey <willgodfrey@xxxxxxxxxxxxxxx> wrote:

On Thu, 17 Oct 2013 13:36:54 +0200
Andreas Pierrou <pierrou.andreas@xxxxxxxxx> wrote:

On 10/16/2013 01:27 AM, Jonathan E. Brickman wrote:
The problem I face with Yoshimi is that it seems impossible to tweak
the
parameters in xiz-file to get the same sound of the kickdrum that I had
in ZynSubAddFX.
I would think that a solution to the above is probably at hand. What
are tonal aspects you have been having trouble achieving in Yoshimi?

I recorded the output from ZASFX and Yoshimi for the same xiz-file, here:

kickdrum0001.xiz http://ubuntuone.com/7aV2e6n04iW5OgsPxaciPR
kickdrum0001_zasfx.wav http://ubuntuone.com/6UlJeuKHkIHju6MsP3YUhA
kickdrum0001_yoshimi.wav http://ubuntuone.com/35VjCMziCuLrQBfncy4jt1

I'm now in a position to start looking at these sorts of things. I can
confirm
the difference, and that the problem doesn't occur in version 0.036, but
does
in version 0.060.8.rc1. I can't check the intermediate versions at the
moment so
can't yet discover where the change occurred.

I spent part of the day re-installing debian squeeze on a spare computer :(

However, I can now run a lot of older images, and zero in to some degree on
where this sound changes. Unfortunately there are two places. The first is
between V0.038 (which sounds exactly the same) and 0.047. There is then
another
change between 0.047 and 0.055.3

There are no further changes that I can detect after this.

What is really puzzling is that I can't find *any* other sound that changes
over this range of versions, although once again, I've a feeling it's
connected with filters.

Does anyone else have the sources for intermediate versions tucked away? If so
I'd greatly appreciate copies so I can close in further on the changes.

OK, this is *definitely* a filter issue, and ironically this is the perfect
sound to test with. It is a simple AddSynth sound with no effects and only some
rather extreme filter settings. If you wind the filter Q down to zero
(effectively disabling it) both Zyn and Yoshi sound the same.

However...

As far as I can see there are at least 3 places where AddSynth filtering is
handled and Cal has made a lot of changes with regard to variable names - all
of which make perfect sense of course!

Also there are a number of places where he's replaced something like:
GlobalPar.PFilterVelocityScale / 127.0 * 6.0 // velocity sensing
with:
GlobalPar.PFilterVelocityScale / 127.0f * 6.0f // velocity sensing
Is the latter just a more correct way of presenting a float value, or is it
possible that the compiler would treat these differently?

Finally there are a lot of places where such a line:
if (pars->VoicePar[nvoice].PFMDetuneType != 0)
has been replaced with:
if (pars->VoicePar[nvoice].PFMDetuneType)

This is one I'm quite happy with. It makes things more readable and in both
cases (as far as I know) the compiled code simply checks the zero flag of a
register.

Thoughts welcome!

--
Will J Godfrey
http://www.musically.me.uk
Say you have a poem and I have a tune.
Exchange them and we can both have a poem, a tune, and a song.


Other related posts: