What all techniques are used to play WAV files on a GB ?
Four bit wave playback – Sound channel 3 has a 4-bit 32 sample long wave RAM that you can set for playing a 32 sample waveform repeatedly. It wasn’t specifically designed to handle continuously new samples but you can refill the wave RAM each time 32 samples have been sent to the speaker. This reload of RAM process causes the first sample to always be 0 which shows up in sample playback as a low frequency buzz sound. Depending on what sounds you are playing back this buzz is more or less noticeable. Your samples will sound a lot clearer (and even louder, apparently) if you heavily optimize your sample playback routine. (Info from Jeremy Evers.) One bit wave playback – Some games use volume modulation of register NR51 ($ff25) to do one bit wave playback. This involves setting, say for instance, sound channel 3 wave RAM to all $FF’s and then just modulating bits 2 & 6 of NR51 to do the sound playback.