apollon.onsets module¶
apollon/onsets.py – Onset detection routines.
 Classes:
 OnsetDetector Base class for onset detection. EntropyOnsetDetector Onset detection based on phase pace entropy estimation. FluxOnsetDetector Onset detection based on spectral flux.
 Functions:
 peak_picking Identify local peaks in time series. evaluate_onsets Evaluation of onset detection results given ground truth.

class
apollon.onsets.
EntropyOnsetDetector
(inp: numpy.ndarray, delay: int = 10, m_dims: int = 3, bins: int = 10, n_perseg: int = 1024, hop_size: int = 512, pp_params=None)¶ Bases:
apollon.onsets.OnsetDetector
Detect onsets based on entropy maxima.
Parameters:  inp – Audio signal.
 delay – Embedding delay.
 m_dim – Embedding dimension.
 bins – Boxes per axis.
 n_perseg – Length of segments in samples.
 hop_size – Displacement in samples.
 smooth – Smoothing filter length.

class
apollon.onsets.
FluxOnsetDetector
(inp: numpy.ndarray, fps: int, window: str = 'hamming', n_perseg: int = 2048, hop_size: int = 441, cutoff=(80, 10000), n_fft: int = None, pp_params=None)¶ Bases:
apollon.onsets.OnsetDetector
Onset detection based on spectral flux.
Parameters:  inp –
 stft_params – Parameters for the STFT
 pp_params – Peak picking paraneters

params
() → dict¶

class
apollon.onsets.
OnsetDetector
¶ Bases:
object
Onset detection base class.
Subclasses have to implement an __init__ method to take in custom arguments. It necessarily has to call the base classes __init__ method. Additionally, subclasses have to implement a custom onset detection function named _odf. This method should return an onedimensional ndarray.

index
() → numpy.ndarray¶ Compute onset index.
Onset values are centered within the detection window.
Returns: Onset position in samples

times
(fps: int) → numpy.ndarray¶ Compute time code im ms for each onset give the sample rate.
Parameters: fps – Sample rate. Returns: Time code of onsets.


apollon.onsets.
evaluate_onsets
(targets: Dict[str, numpy.ndarray], estimates: Dict[str, numpy.ndarray]) → Tuple[float, float, float]¶ Evaluate onset detection performance.
This function uses the mir_eval package for evaluation.
Parameters:  targets – Ground truth onset times, with dict keys being file names, and values being target onset time codes in ms.
 estimates – Estimated onsets times, with dictkeys being file names, and values being the estimated onset time codes in ms.
Returns: Precison, recall, fmeasure.

apollon.onsets.
peak_picking
(odf: numpy.ndarray, post_window: int = 10, pre_window: int = 10, alpha: float = 0.1, delta: float = 0.1) → numpy.ndarray¶ Pick local maxima from a numerical time series.
Pick local maxima from the onset detection function odf, which is assumed to be an onedimensional array. Typically, odf is the Spectral Flux per time step.
 Params:
 odf: Onset detection function, e.g., Spectral Flux. post_window: Window lenght to consider after now. pre_window: Window lenght to consider before now. alpha: Smoothing factor. Must be in ]0, 1[. delta: Difference to the mean.
Returns: Peak indices.