MATLAB: Wavread() floats without clipping

clipfloatwavread

I am doing processing on 32 bit floating point audio that has intermediate results outside the +1 to -1 range. I can save it with wavwrite() at the full dynamic range of a float but wavread() clips it. Is there a way to make wavread() read IEEE 32 bit float wave files with the full dynamic range of the data type?
Thanks

Best Answer

Now, this is strange. After restarting Matlab, wavread() and wavwrite() are now symmetric and handle the full range of float values instead of clipping. It looks like I had some kind of weird modal problem that a restart fixed. Go figure.
Past experience (lots and lots of it) had led me to believe that was the case so I was extremely surprised at the clipping behavior I was seeing.
Related Question