I think the way to go would be to generate a look up table of full-integer-scale of one cycle of a sine wave at your lowest frequency, and then modulo-index into it with increasing step sizes, possibly doing linear interpolations between two points if using the nearest point is too rough.