title: How to convert 16-bit PCM audio byte-array to double or float array?
body: <p>I'm trying to perform Fast Fourier Transform on a .3gpp audio file. The file contains a small 5 second recording in 44100kHz from the phones microphone.</p>
  
  <p>Every Java FFT algorithm I can find only takes double[], float[] or Complex[] inputs, for obvious reasons, but I'm reading in the audio file in a byte-array, so I'm kind of confused as to where I go from here. The only thing I could find is the answer to a previous question:</p>
  
  <p><a href="https://stackoverflow.com/questions/5774104/android-audio-fft-to-retrieve-specific-frequency-magnitude-using-audiorecord">Android audio FFT to retrieve specific frequency magnitude using audiorecord</a></p>
  
  <p>But I'm unsure as to wether or not this is the correct procedure. Anyone with any insight?</p>