msaf.algorithms.vmo.Segmenter

class msaf.algorithms.vmo.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 the Variable Markov Oracle technique described here:

Wang, C., Mysore, J. G., Structural Segmentation With The Variable Markov Oracle And Boundary Adjustment. Proc. of the 41st IEEE International Conference on Acoustics, Speech, and Signal Processing (ICASSP). Shanghai, China, 2016 (PDF).

__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.