Skip to content
No description, website, or topics provided.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Paper_ICASSP
Paper_ISMIR2018_LateBreaking
SALAMI @ 4841f10
Viewer
.gitmodules
CSMSSMTools.py
CremaPrecomputer.py
DiffusionMaps.py
LICENSE
Laplacian.py
MJFusionExample.png
PaperFigures.py
README.md
SALAMISLURM.py
SalamiExperiments.py
SimilarityFusion.py
SongStructure.py
SongStructureGUI.py

README.md

GraphDitty

The purpose of this code is to compute clean weighted adjacency matrices for audio files using similarity network fusion, which can be used to do clean structure analysis. This is based on ideas from the following papers:

  1. Christopher J Tralie and Brian McFee. "Enhanced Hierarchical Music Structure Annotations via Feature Level Similarity Fusion. International Conference on Acoustics, Speech, and Signal Processing (ICASSP), 2019.
  2. Christopher J Tralie. GraphDitty: A Software Suite for Geometric Music Structure Visualization. In 19th International Society for Music Information Retrieval (ISMIR), 2018, Late Breaking Demo Session.
  3. Christopher J Tralie. ``MFCC and HPCP fusion for robust cover song identification.'' In 18th International Society for Music Information Retrieval (ISMIR), 2017.

Example Fused Adjacency Matrix on Michael Jacksons's Bad

Example Adjacency Matrix on Michael Jacksons's Bad

Dependencies

Running

To see all options, run the script as follows

python SongStructure.py --help

There are options to view each iteration of the fusion. By default, the results are saved to a .mat file called ``out.mat'' and to a file "out.json" (you can changes this via command line options). For example, the above figure was generated with the following call

python SongStructure.py --filename MJ.mp3 --jsonfilename MJ.json

You can open the .json file in the web page "Viewer/index.html" to interactively view the similarity matrix and Laplacian eigenvectors, as well as as force graph and diffusion maps based on the similarity matrix.

You can’t perform that action at this time.