static int similarityToClippedRecordings_h = 50; // audioFile must already be clipped static Map similarityToClippedRecordings(File audioFile) { BWImage img = audioFileToFrequencyImage(audioFile); new TreeMap map; img = smoothResizeBWImage_heightOnly(img, similarityToClippedRecordings_h); for (File f2 : listFilesWithExtension(recordingsDir("clipped"), "wav")) { BWImage img2 = audioFileToFrequencyImage(f2); img2 = smoothResizeBWImage_heightOnly(img2, similarityToClippedRecordings_h); float sim = bwImageSimilarityResized_ignoreRatioMismatch(img, img2, 0f); print(formatDoubleX(sim*100, 2) + "%: " + f2.getName()); map.put(f2.getName(), sim); } ret map; }