Here's a few things that I feel could be cleaner:
the [line] function for reducing noise when an osc turns on. It's not extremely effective, I know there must be a better way.
the [packel] being used to designate the multiplier for the octave changes. I just couldn't quite imagine the math I needed for that. for ten different octaves it wasn't a big deal to just write in the multipliers, but it'd be nice to know the math.
the seeming redundancy on the poly.pd patch. It's fine by me, I reckon, but is there a simpler way to facilitate polyphony than copying the osc for every voice? which maybe doesn't result in having limited voices?
Also, does somebody who knows the ratio set for natural temperament want to check my math? it seems odd to me that the fourth is the most distant ratio. I also fear that my 7th might be flat. I'll post my ratio math in a second...