-
Notifications
You must be signed in to change notification settings - Fork 5
Max note frequency is incorrect #36
Description
Throughout the codebase there are checks using this magic number, to prevent portamento from exceeding a maximum frequency.
if(_fine_step > 19968) // 19968 is the highest intermediary pitch calculation
return; // before converted to an index value for lookup tableThis number is audibly not correct (there is also a maximum in FT2 and others, but it's not the same as this).
To hear it for yourself:
- load/record/draw a low-frequency looping sample
- use the
1xxcommand with large parameters to rapidly send the note up until it stops going higher.
I was able to get closer using 21490 as the magic number, but it seems to be quantized somehow - there's some wiggle room where the perceived sound doesn't change at all. It's too high using this number, but if you make it lower then it becomes too low.
I suspect there's not enough fidelity in NT's freq lookup table, so the true magic number cannot be found by ear (and I haven't got my head around the maths).
An additional problem is that NT allows you to play notes above this maximum pitch. The limit is only implemented for pitch slides. In FT2 the pitch is always capped.