msaf.algorithms.cnmf.Segmenter

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

This script identifies the structure of a given track using a modified version of the C-NMF method described here:

Nieto, O., Jehan, T., Convex Non-negative Matrix Factorization For Automatic Music Structure Identification. Proc. of the 38th IEEE International Conference on Acoustics, Speech, and Signal Processing (ICASSP). Vancouver, Canada, 2013 (PDF).

The modified version can be found in Oriol Nieto’s PhD Thesis.

__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.
processFlat() Main process.
processHierarchical() Main process to obtian the hierarchical segmentation of a given track.