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 |