To avoid sound problems (like this floating point exception), I am tempted to just pipe sound through GMPLAY out STDOUT to aplay for the next version of my video player. But I really like "more portable" direct sound control if simple and reliable. At least all the kindles have aplay...
Instead of full FFT, you can get an FFT-like demo by just using the time between zero-crossings as an index into an array of bucket counters, then periodically plot the values in the bucket (zero-cross period vs. counts). The visible effect is much like you would get with an FFT spectrograph, but with very little code. I did that on an Apple-2 ages ago. I will do that on my kindle if you don't do it. I may do it even if you DO do it. 
And yes, you really SHOULD keep the 8-bit framebuffer code working too. I would break their loops and call them to do each single frame. Then your custom code can be OUTSIDE gmplay4 and gmplay8 where it belongs.