Play at given bpm or tap for tempo.

Usage no npm install needed!

<script type="module">
  import metronomeCli from '';



The result of playing around with a few features of vorpal, but also a useful cli utility.

Tap for bpm, or set set bpm directly and play them. Can also play arbitrary sine tones.


npm install -g metronome-cli


Run metronome to start an immersive session with the following commands:

Tapping space while holding ctrl will set the bpm.

  • start alias play: starts the metronome
  • stop alias end: stops the metronome
  • bpm <bpm>: set or print the current bpm
  • add : add to the current bpm
  • mul <factor> alias multiply <factor>: multiply the current bpm with factor
  • freq <frequency> alias frequency <frequency>: set or print the pitch to use. Accepts written representation of a note, which is parsed using note-parser
  • tone [frequency] [seconds]: play the current or given frequency
  • tapwindow [window]: set or print the integer which specifies how many of the last taps should be used when setting bpm by tapping
  • taptolerance: set or print the factor that determines when tapping stopped when setting bpm by tapping
    • example: when tapping at 60 bpm with tolerance of 0.5, tempo resets if you don't tap for (60sec/60bpm)*((1 + 0.5)bpm) = 1.5 sec, or if you tap to fast (twice in (60sec/60bpm)*((1 - 0.5)bpm) = 0.5 sec)
  • length [seconds]: set or print the length of the metronome ticks


  • use ctrl + p to toggle playing
  • use ctrl + arrow_left and ctrl + arrow_right to decrement/increment bpm
  • use alt + arrow_left and alt + arrow_right to decrement/increment bpm by 4
  • writing an integer without any command sets the bpm to that integer