Here's an example using polywave: (let ((g (make-polywave 100 '(1 1 3 1/3 5 1/5 7 1/7 9 1/9) :type mus-chebyshev-second-kind))) (with-sound () (do ((i 0 (+ i 1))) ((= i 44100)) (outa i (polywave g))))) You need to set the type to the second kind to get a sum of sines, rather than cosines. There are examples of the other generators in snd-test.scm.