# WAV FILE FORMAT

I'working with esp32 and for some project I need to know something about wav files. I saw into many wav files with HxD and play them with Audacity. Still I do not understand why Audacity play silence either bytes into file are all 0x0 either the bytes are 0xFF, 0xFE and what you want.

I cataloged the WAV file in two basically format (only part of files): 80 80 80 80 80 81 81 81 81 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7E 7E 7E 7E 7E 7E 7E 7E 7E 7E 7D 7E 7D 7E 7E 7E 7E 7E 7E 7E 7E 7E 7D 7D 7D 7D 7E 7E 7E 7F 7F 7F 80 80 80 80 81 81 81 82 82 82 83 82 82 83 83 83 84 84 84 84 85 85 85 85 84 84 84 84 83 83 83 82 82 83 82 82 82 82 82 and this is OK for ESP 32

and this: F4 FF FC FF F8 FF 08 00 F3 FF FE FF F1 FF FB FF E9 FF 03 00 F5 FF 08 00 F6 FF F3 FF FB FF FC FF 04 00 F8 FF 00 00 E8 FF 01 00 E5 FF ED FF FF FF ED FF 00 00 F8 FF FF FF F5 FF F2 FF E7 FF F3 FF F7 FF FC FF F8 FF ED FF FA FF FE FF F2 FF ED FF E4 FF E0 FF 00 00 F7 FF FF FF 0B 00 EB FF 0D 00 F2 FF 01 00 10 00 FE FF 0B 00 FB FF F5 FF 0B 00 this is NOT OK for ESP32

It is visible that looks like they have different codification.

Also they produce difference behavior in ESP32, they are play back very well from Audacity. I'd like to convert the second format to the first, but I don't know how are their name and how discovere from data if some wav is from one type or the other.

To do some example: in https://www.thesoundarchive.com/star-wars.asp as Princess Leia (nerfherder.wav) is compatible for esp32, instead Darth Sidious (swsidious01.wav) is not compatible and esp32 ( it plays only big noise), but both are red by Audacity veri fine. WHY?

I hope I describe my problem in right way. Thanks a lot for your time.

• Looking to metadata with mediainfo, one can see that swsidious01.wav is coded as 16 bit signed whereas nerfherder.wav is coded as 8 bit unsigned. – audionuma Nov 6 '18 at 5:49
• @OlliNiemitalo I have a doubt on the on-topicness of this question. – audionuma Nov 6 '18 at 7:20

Using a tool like MediaInfo, one can see that swsidious01.wav is coded as 16 bit signed whereas nerfherder.wav is coded as 8 bit unsigned.