Ma to sens. Można tak jak piszesz, matematycznie, aby player w locie przeliczał częstotliwość, albo prościej, podmienić tabelę wartości.
I tutaj zaczynają się schody. Pierwsze to zakres wysokości dźwięku, to można rozwiązać tak jak piszesz. To dotyczy tylko podstawowej prostokątnej fali, czyli takiej jak w utworze Take on Me.
Druga sprawa jest bardziej skomplikowana - generator fali trójkątnej i piły. Wiele utworów używa mixowania jednej z nich i prostokąta, dając efekt vibrato czy przenikania.
Napotkałem podobny problem synchronizując muzykę na ZX beeper z trójkątnym basem AY. Niektóre nuty grają idealnie, inne są "trochę" out-of-sync, a jednej czy dwóch w ogóle nie da się, ponieważ wypadają pomiędzy wartościami całkowitymi AY.
Połowiczne rozwiązania to użyć dla tych nut oktawę wyżej lub zmieniać na prostokąt, w ostateczności wyłączać AY.