Converting ASIO/audioIOCallBack float** samples to WavFormat



I really really need some urgent help. Just about anybody who has done anything with audio and formats should be able to help me out I think! I just need a pointer to some tutorial or web page where I can see the answer to this.

I am trying to read input from a microphone and write it in the wav format. These days I’m using juce but am new to it, but anyone who has for example used libsndfile should be able to answer this too.

The microphone input via ASIO SDK has samples in float**. The wav writer takes samples that are int**. Is there a standard conversion that needs to happen between these two? I would think so. But for most such conversions I’d have to at least understand what to make of this float** format. It is called ‘raw’ but I can’t get any documentation on what that raw means and how would it ever map to something more structured.

The WavAudioFormatWriter takes an AudioSource as input too, but I haven’t been able to convert my microphone to that. I have just been able to call the write method from the audioIOCallBack routine of AudioDemo directly passing it the samples.

I believe this has to be the most basic newbie question and it’s quite vexing that I haven’t been able to find any documentation anywhere explaining this.

Do I need to take some college course on audio sampling before I start to get it?

Please, anyone with any idea, help!!


The stuff in the AudioDataConverters class is probably what you’re looking for…