TempoInduction
Performs tempo induction by finding clusters of similar inter-onset intervals (IOIs)
Static Method Summary
Static Public Methods | ||
public static |
calculateScore(clusters: Object, params: Object): {clScores: Array, clScoresIdxs: Array} Score intervals |
|
public static |
createTempoList(clusters: Object, params: Object): Array Get array of tempo hypotheses |
|
public static |
mergeClusters(clusters: Object, params: Object): {clIntervals: Array, clSizes: Array} Merge similar intervals |
|
public static |
processRhythmicEvents(events: Array, params: Object): {clIntervals: Array, clSizes: Array} Find clusters |
Static Public Methods
public static calculateScore(clusters: Object, params: Object): {clScores: Array, clScoresIdxs: Array} source
Score intervals
Params:
Name | Type | Attribute | Description |
clusters | Object | object with clusters |
|
clusters.clIntervals | Array | clusters IOIs array |
|
clusters.clSizes | Array | clusters sizes array |
|
params | Object |
|
parameters |
params.widthTreshold | Number |
|
the maximum difference in IOIs which are in the same cluster |
params.maxTempos | Number |
|
initial amount of tempo hypotheses |
public static createTempoList(clusters: Object, params: Object): Array source
Get array of tempo hypotheses
Params:
Name | Type | Attribute | Description |
clusters | Object | object with clusters |
|
clusters.clIntervals | Array | clusters IOIs array |
|
clusters.clSizes | Array | clusters sizes array |
|
clusters.clScores | Array | clusters scores array |
|
clusters.clScoresIdxs | Array | clusters scores indexes array |
|
params | Object |
|
parameters |
params.widthTreshold | Number |
|
the maximum difference in IOIs which are in the same cluster |
params.minBeatInterval | Number |
|
the minimum inter-beat interval (IBI) (0.30 seconds == 200 BPM) |
params.maxBeatInterval | Number |
|
the maximum inter-beat interval (IBI) (1.00 seconds == 60 BPM) |
public static mergeClusters(clusters: Object, params: Object): {clIntervals: Array, clSizes: Array} source
Merge similar intervals
Params:
Name | Type | Attribute | Description |
clusters | Object | object with clusters |
|
clusters.clIntervals | Array | clusters IOIs array |
|
clusters.clSizes | Array | clusters sizes array |
|
params | Object |
|
parameters |
params.widthTreshold | Number |
|
the maximum difference in IOIs which are in the same cluster |
public static processRhythmicEvents(events: Array, params: Object): {clIntervals: Array, clSizes: Array} source
Find clusters
Params:
Name | Type | Attribute | Description |
events | Array | the onsets from which the tempo is induced |
|
params | Object |
|
parameters |
params.widthTreshold | Number |
|
the maximum difference in IOIs which are in the same cluster |
params.maxIOI | Number |
|
the maximum IOI for inclusion in a cluster |
params.minIOI | Number |
|
the minimum IOI for inclusion in a cluster |