what's with the overly complicated list generating code? all you need is this for a 440 hz tone:
and it sounds fine.
i'm guessing your issue is in some way related to the extra math you're doing
if by "noisy" you mean distorted it's almost definetly because of the x4000 after the sin, audio range should be -1 to 1 and sin already does that, if anything you should divide it to make it quieter
Thanks for all answers. I was making a sawtooth wave as I was simply using mod. Yes, scaling the whole range to 0 to 1 first, and then multiply that by a frequency of my choice, and then apply sin to it makes sense, and using hyperblock is more convenient.