in particular the calls to `sin` and `cos` every sample appear to be a major CPU bottleneck and should be replaced with something leaner.