[yoshimi] Regarding the LFO-Fix - Re: Yoshimi V 1.5.10 released!

  • From: Ichthyostega <prg@xxxxxxxxxxxxxxx>
  • To: yoshimi@xxxxxxxxxxxxx
  • Date: Fri, 4 Jan 2019 00:40:27 +0100


Hello all,

amongst others, this new release 1.5.10 contains a bugfix relevant
for the phase of frequency-LFOs. From the perspective developer vs.
user, some further information might be helpful.

Is this serious? For most users, the answer is likely: not serious.
It is rather a fine detail.


A frequency LFO is also known musically as vibrato. Beyond that,
there is also the amplitude LFO, musically known as tremolo.

Vibrato means that the tone, the musical key slightly shifts
up and down in fast temporal succession. The actual musical key
is integrated by the ear of the listener, to be somewhat in the
middle of this movement. Vibrato is partially perceived as
movement, partially it is perceived as texture, it lends
a silky and shiny quality to the tone.


From a logical POV, modelling the tone as base frequency plus
a frequency-LFO as adornment, you'd consider the base case to
start with the tone and then start moving up and down. This
is what Yoshimi did by default -- and this is what it does
now again, after the bugfix.

However, starting from 1.5.1 (March 2017) up to now (1.5.9),
Yoshimi started the movement at the upper extremal point,
moving downwards. That was the default case; each frequency LFO
has a control knob for the LFO phase, and also this control
operated erroneously with respect to that shifted start phase.
All of which has now been corrected.

This change might influence the way a tone feels at the first
moment, in the initial transient. The (erroneously) up-shifted
frequency might have created a tiny bit of beating, which now,
after the bugfix, is gone.

Thus, if you want to get precisely the same behaviour as from
the buggy versions (1.5.1 ... 1.5.9), you need to add +90°
to the start phase control of the relevant frequency LFOs.
Or, in terms of the parameter stored in the *.xiz file:
start_phase += 32  (unless start_phase == 0, which means random)


As said, just a tiny detail; if you have difficulties understanding
this explanation, chances are that you can safely ignore this whole
topic altogether, and just be happy making music with Yoshimi as ever.

Greetings,
Hermann


Yoshimi source code is available from either: 
https://sourceforge.net/projects/yoshimi
Or: https://github.com/Yoshimi/yoshimi
Our list archive is at: https://www.freelists.org/archive/yoshimi
To post, email to yoshimi@xxxxxxxxxxxxx

Other related posts: