Kazinator, you *do* need waits if you're generating your samples faster than real time (which is the case when playing a file), otherwise you would overrun the sound card/OS mixer buffer. That's why most audio APIs I worked with do callbacks when they want more data from your app. WASAPI has a callback mode too.