I have experience with OpenAL, and i totally agree with you. You could easily generate WAVE data on-the-fly and feed it to OpenAL. It might be even easier than saving it to disk/mem with a header and play it using WinAPI routines.