diff --git a/source/AYUGens/sc/AY.sc b/source/AYUGens/sc/AY.sc index 93eb0f50a..31401ef00 100644 --- a/source/AYUGens/sc/AY.sc +++ b/source/AYUGens/sc/AY.sc @@ -16,9 +16,11 @@ AY : UGen { *categories { ^ #["UGens>Oscillators"] } - *freqtotone { |freq| - // Approximate empirical... - //^(109300 / (freq - 3.70727)) - ^(110300 / (freq - 0.5)) + *freqtotone { |freq, s=nil| + var chipTactsPerOutCount; + s = s ?? { Server.default }; + // this mirrors ayemu's internal calculation of ChipTacts_per_outcount + chipTactsPerOutCount = 1773400.div(Server.default.sampleRate).div(8); + ^(s.sampleRate * chipTactsPerOutCount / (2 * freq)).round } }