Skip to main content

rhythm

rhythm(
@maxtempo 208
@mintempo 40
@method 'multifeature'
) -> llll

Audio descriptor for extract the beat positions and estimate their confidence as well as tempo in bpm for a buffer. See analyze.

The resulting buffer will be updated with the following keys:

  • rhythm_bpm
  • rhythm_ticks
  • rhythm_estimates
  • rhythm_intervals
info

rhythm is a mirror implementation of the same algorithm in the Essentia library. For more details on the algorithm, please check the Essentia Algorithms reference.


Arguments

  • @maxtempo [int]: fastest tempo to detect, between 60 and 250. (default: 208).
  • @mintempo [int]: slowest tempo to detect, between 40 and 180. (default: 40).
  • @method [symbol]: method used for beat tracking. (default: 'multifeature').
    • 'degara': degara method
    • 'multifeature': multifeature method

Output

rhythm descriptor [llll]


Usage

rhythm is meant to be used with the analyze function:

$buffer = importaudio('singing.wav'); ## input buffer
$descr = rhythm(); ## generate rhythm audio descriptor
$buffer.inspect('before analysis');
$buffer = $buffer.analyze($descr); ## apply analysis
$buffer.inspect('after analysis')