#include #include #include #include #include main() { std::vector data; FILE* f = fopen("outputfileulaw.wav", "rb"); rewind(f); while(!feof(f)) { unsigned char s; fread(&s, sizeof s, 1, f); data.push_back(s); } FILE* o = fopen("outputfileulaw.raw", "wb"); int headersize = 4; int old_header_size = 58; unsigned int samples = data.size() - old_header_size; unsigned char* new_data = (unsigned char*)malloc(sizeof(char) * (samples + headersize)); //little endian: new_data[0] = (unsigned char) samples; samples >>= 8; new_data[1] = (unsigned char) samples; samples >>= 8; new_data[2] = (unsigned char) samples; samples >>= 8; new_data[3] = (unsigned char) samples; memcpy(&new_data[4], &data[58], samples); fwrite(&new_data[0], sizeof(unsigned char), samples+headersize, o); }