docs: def main(input_filename, songname, format, counter):
      """
      Calculate the fingerprint hashses of the referenced audio file and save
      to disk as a pickle file
      """
  
      # open the file & convert to wav
      song_data = AudioSegment.from_file(input_filename, format=format)
      song_data = song_data.set_channels(1)  # convert to mono
      wav_tmp = song_data.export(format="wav")  # write to a tmp file buffer
      wav_tmp.seek(0)
      rate, wav_data = wavfile.read(wav_tmp)
  
      # extract peaks and compute constellation hashes & offsets
      peaks = resound.get_peaks(np.array(wav_data))
      fingerprints = list(resound.hashes(peaks))  # hash, offset pairs
  
      if not fingerprints:
          raise RuntimeError("No fingerprints detected in source file - check your parameters passed to Resound.")
  
      # Combine duplicate keys
      for fp, abs_offset in fingerprints:
          counter[fp].append((abs_offset, songname))
  
      print "    Identified {} keypoints in '{}'.".format(len(counter), songname)
  
      return counter