I just noticed something that makes me smile -- the Sndlib CLM is just as fast now as the CL (sbcl) version: Sndlib: :(time (with-sound () (fm-violin 0 20 440 .1))) 0.295582 SBCL: * (time (with-sound (:play nil) (fm-violin 0 20 440 .1))) Evaluation took: 0.294 seconds of real time (Both are srate 44100 etc). I don't think I'll try any other cases...