16){ $header .= fread($fp,($info['Subchunk1Size']-16)); } // read SubChunk2ID $header .= fread($fp,4); // read Subchunk2Size $size = unpack('vsize',fread($fp, 4)); $size = $size['size']; // read data $data .= fread($fp,$size); } return '' .pack('a4', 'RIFF') .pack('V', strlen($data) + 36) .pack('a4', 'WAVE') .pack('a4', 'fmt ') .pack('V', $info['Subchunk1Size']) // 16 .pack('v', $info['AudioFormat']) // 1 .pack('v', $info['NumChannels']) // 1 .pack('V', $info['SampleRate']) // 8000 .pack('V', $info['ByteRate']) // 8000 .pack('v', $info['BlockAlign']) // 1 .pack('v', $info['BitsPerSample']) // 8 .pack('a4', 'data') .pack('V', strlen($data)) .$data; } ?>