MATLAB: Do I receive an error about “incorrect chunk size” when using WAVREAD in MATLAB

fileinformationMATLABwav

Using the following code:
wavread('myfile.wav')
I receive the following error:
??? Error using ==> wavread
Error using ==> wavread
Incorrect chunk size information in WAV file.

Best Answer

The WAV-file that you are trying to read is most likely constructed improperly. There are two numbers written into WAV-files that are related to the size of the file itself. If these numbers are incorrect, you will receive this error.
The following function can fix your WAV-file. However, you should create a backup copy of your file before running the following function since it modifies the file.
function wavchunksizefix( filename )
d = dir(filename);
fileSize = d.bytes;
fid=fopen(filename,'r+','l');
fseek(fid,4,-1);
fwrite(fid,fileSize-8,'uint32');
fseek(fid,40,-1);
fwrite(fid,fileSize-44,'uint32');
fclose(fid);
The function is run this way:
wavchunksizefix('filename.wav')