On Mon, 28 Nov 2016 21:01:48 +0100
Jörn Eichler <joerneichler@xxxxxxx> wrote:
Am Montag, 28. November 2016, 18:50:57 schrieb Will Godfrey:
On Mon, 28 Nov 2016 18:05:11 +0100
LFO freq in HzAgain this looks good so far, but didn't see volume and pan. Is that a
LFO delay time in s
Envelope attack,decay and release times in ms and s
Amp-Envelope sustain val in %
Volume in dB
Panning in random, %left/right and centered
[...]
slightly later build? I assume 0dB is max, and the control ranges down from
that. Envelope sustain value would then also be in dB and would be regarded
as relative to the initial value.
It's in this commit: https://github.com/heuchi/yoshimi/commit/d7097482
I just converted the 0-127 scale for the Amp-Env sustain to 0% - 100%. But if
dB is considered standard, I'll give it a try.
Regarding the volume controls, the situation is actually quite confusing.
I used the same calculations as the code does. So the default settings for
the
volume sliders differ and the maximum is 0.0dB only for the voices in
ADDsynth.
It looks like -60dB .. 0dB was intended for the synth's controls, however
it's
not what the code actually does:
Look at ADnote.cpp beginning with line 648
NoteGlobalPar.Volume =
4.0f * powf(0.1f, 3.0f * (1.0f - adpars->GlobalPar.PVolume / 96.0f))
//-60 dB .. 0 dB
The comment says this should give -60 dB .. 0dB. Since the denominator is
96.0f instead of 127.0f it really gives: -60dB .. 19.4dB
Maybe it's just a typo, because in line 672, we find the correct version:
NoteVoicePar[nvoice].Volume =
powf(0.1f, 3.0f * (1.0f - adpars->VoicePar[nvoice].PVolume / 127.0f))
// -60 dB .. 0 dB
This time the denominator is 127.0f, and we get -60dB .. 0dB. However, this
is
the only place where the"correct" version exists. SUBsynth and PADsynth also
use the former (incorrect) one. Since the synth works this way, I kept it for
the GUI.
One that's going to difficult is amplitude LFO depth. This is waveshape
dependent and can actually go well beyond 100% for sine and triangle giving
a curious doubling effect, not so notiocable for square wave and the ramp
ones.
Should we then just use 0% - 100% for the actual (graphical) dial position?
Sliders are a bit of a cludge. FLTK runs vertical ones upside down, so
increasing value moves the slider down. Also I seem to remember we had
problems trying to attach tooltips to them. The ones that appear to have a
modified value alongside are actually a cheat. They are completely separate
boxes, but drawn look like they are one unit :)
That's what I guessed.
Phase should be +- degrees
Agreed.
Harmonic amplitude dB *except* subsynth. This is a normalised figure so
every one of them is relative to the overall output - no idea how to handle
that!
I have not yet looked into that and I might need some more help in this area,
because my actual experience with synths has only started some months ago.
Do you have any suggestions for the attack, decay and release values of the
filter envelope I mentioned in a previous post?