Making WAVs: Understanding, Parsing, and Creating WAV Files in JavaScript