msaf.algorithms.scluster.Segmenter

class msaf.algorithms.scluster.Segmenter(file_struct, in_bound_idxs=None, feature='pcp', annot_beats=False, framesync=False, features=None, **config)[source]

This script identifies the boundaries of a given track using the Spectral Clustering method published here:

Mcfee, B., & Ellis, D. P. W. (2014). Analyzing Song Structure with Spectral Clustering. In Proc. of the 15th International Society for Music Information Retrieval Conference (pp. 405–410). Taipei, Taiwan.

Original code by Brian McFee from:
https://github.com/bmcfee/laplacian_segmentation
__init__(file_struct, in_bound_idxs=None, feature='pcp', annot_beats=False, framesync=False, features=None, **config)

Inits the Segmenter.

Parameters:

file_struct: `msaf.io.FileStruct`

Object with the file paths.

in_bound_idxs: np.array

Array containing the frame indeces of the previously find boundaries. None for computing them.

feature: str

Identifier of the features (e.g., pcp, mfcc)

annot_beats: boolean

Whether to use annotated beats or estimated ones.

framesync: boolean

Whether to use frame-synchronous or beat-synchronous features.

features: dict

Previously computed features. None for reading them.

config: dict

Configuration for the given algorithm (see module’s __config.py__).

Methods

__init__(file_struct[, in_bound_idxs, ...]) Inits the Segmenter.
process() Main process.
processFlat() Main process.for flat segmentation.
processHierarchical() Main process.for hierarchial segmentation.