docs: def find_frequencies(data, freq=44100, bits=16):
      """Convert audio data into a frequency-amplitude table using fast fourier
      transformation.
  
      Return a list of tuples (frequency, amplitude).
  
      Data should only contain one channel of audio.
      """
      # Fast fourier transform
      n = len(data)
      p = _fft(data)
      uniquePts = numpy.ceil((n + 1) / 2.0)
  
      # Scale by the length (n) and square the value to get the amplitude
      p = [(abs(x) / float(n)) ** 2 * 2 for x in p[0:uniquePts]]
      p[0] = p[0] / 2
      if n % 2 == 0:
          p[-1] = p[-1] / 2
  
      # Generate the frequencies and zip with the amplitudes
      s = freq / float(n)
      freqArray = numpy.arange(0, uniquePts * s, s)
      return zip(freqArray, p)