Page 1 of 1

"Frequency offset (hertz)" pitch bend?

Posted: Sat Jan 21, 2017 5:57 am
by jimbo1qaz
0CC-Famitracker's default pitch bend option linearly alters the wavelength of the produced note (at least for N163). The resulting change in pitch is larger on high notes (in fact, Δf is proportional to f²).

The new linear pitch option linearly alters the pitch of the produced note, in something like cents.
− How many cents does each increment add to the pitch? Does it depend on which chip is being used?

Is it possible to add an option to linearly alter the frequency of an instrument? This way I can detune a channel 1 hertz up, another 2 hertz down, and have them beat at 3hz regardless of note (to simulate SNES Chrono Trigger's synth)?

Re: "Frequency offset (hertz)" pitch bend?

Posted: Sat Jan 21, 2017 1:00 pm
by HertzDevil
If a channel stores its pitch as a period register, then it is incapable of detuning by a fixed frequency difference, and forcing it to do so will give very poor results in the general case (e.g. the smallest delta near 2A03 pulse A-4 is about 6.88 Hz). A similar argument goes for fixed period differences on channels using frequency registers. The FDS / N163 / VRC7 chips use frequency registers, as does the SPC700, so the f² behaviour does not happen on the N163 channels at all, but does on 2A03 / MMC5 / VRC6 / 5B.

The linear pitch mode in 0CC-FamiTracker customarily defines the unit of pitch as 3.125 cents, regardless of the chip used. It approximates this by interpolating adjacent entries on the pitch lookup table and subdividing them into 32 parts.