Celius wrote:

And it looks like I'm going to have to really study how all the sound really works, because I just realized I don't quite get it. As far as I've been concerned since I've learned how to work with the sound regs, you just plop a value in and it makes a sound. And plus, I always just set the registers to play a constant sound so I can manually adjust the volume for envelopes, and manually silence them.

Ahaha... I can help you with that. Well, the most basic thing you have to know is that musical notes works in a exponetial manner (in regard to frequency), and hopefully for us, rising to an octave higher only require to double the frequency, or, in our case because we mess with timers (period = 1/F) you just have to divide by two (read: LSR) your value to be put in a period register

To calculate exact things, nothing beat a mathematic formula. Because frequency grows exponentially when notes goes up, the formula has to be of exponential type, more precisely in base two. Because there is already a reference in music (A4 = 440 Hz) that would be not much of a trouble calculating the frequency, if you can 'digitalise' note. So, given a system where:

**Code:**

Note = octave + semi-tones/12 + cents/100

So A 4 = 4 + 9/12 = 4.75, the formula is as easy as:

**Code:**

Frequency = 440 Hz * 2^(note - 4.75)

And there's its reciprocal:

**Code:**

Note = log2(frequency/440 Hz) + 4.75

That things beat every table you'll find on the net. Of course, we don't like wasting time on the NES calculating that thing, so a small look-up table of 11 elements is sufficient, since getting the other octaves simply uses LSR,. And because I think you're lazy, I even made a Excel sheet that does the job for you, plus calculate the value to write to the register and even calculate the error.

http://jarhmander.home.googlepages.com/f2n.xls