My wav reverser

This WAV reverser began as a student project at Grand Valley State University, originally assigned by Ira Woodring and implemented in C. For fun (and a challenge), I decided to incorporate it into this website using WebAssembly (WASM), despite starting with zero knowledge of WASM. The core logic reads a WAV file as a byte array in C, treating the char*/uint8_t* input as an int* to efficiently reverse 4-byte groupings. This approach preserves the interleaved left and right audio channel streams when generating the reversed output. While this could have been more straightforward to implement in JavaScript, using WASM turned it into a rewarding and educational journey—even if the sunk-cost fallacy played a role.



Click to upload .wav file

Note that unlike many file converters that require uploading and downloading files, this WAV reverser runs entirely on your device, thanks to WebAssembly. The processing happens locally in your browser, which, combined with the efficiency of WebAssembly, makes it incredibly fast. If you get your reversed WAV file almost instantly after uploading, don’t worry—it worked correctly! That’s just how quick client-side processing can be.