Analyze acoustic similarity in Python

phonetics, acoustics, similarity
pip install conch-sounds==0.3.0



Build Status Coverage Status Documentation Status PyPI version DOI

This package contains functions for converting wav files into auditory representations and calculating distance between them.

Auditory representations currently supported are mel-frequency cepstrum coefficients (MFCCs) and amplitude envelopes.

Distance metrics currently implemented are dynamic time warping and cross-correlation.


The latest released version can be installed via:

pip install conch_sounds

Higher level wrappers

In conch/ there are several wrapper functions for convenience.

Each of these functions takes keyword arguments corresponding to how auditory representations should be constructed and what distance function to use.

acoustic_similarity_mapping takes a mapping of paths as its argument. This argument should be a list of pairs or triplets of fully specified file names. Pairs will compute the distance between the two files, and triplets will compute an AXB style design, where distances are computed between the first element and the second and between the third element and the second. In this case, the numerical output will be a ratio of the third element's distance to the second divided by the first element's distance to the second. The return value is a dictionary with the pairs/triplets as keys, and the numerical output as the values.

acoustic_similarity_directories takes two arguments which are fully specified paths to two directories. It then constructs a path mapping of all the files in the first directory to all the files in the second directory. The return value is a single value, which the average distance of all those calculated.

analyze_directory takes a single directory as an argument and creates a path mapping of all the files compared to all other files. The return value is a dictionary with the file pairs as keys, and the numerical output as the values.