thats quite easy. You know how to create a stream that supports creating a waveform. So just don t play the stream because the only thing the engine is doing is to read from the stream and play the read data. So simply just read from the stream into a buffer but don't play it...
Little example how to that.
int read = 0;
while(read < stream.Length)
{
stream.Read(somebuffer, 0, 20000);
}