4 releases

0.4.1 Dec 19, 2022
0.4.0 Oct 19, 2022
0.3.2 Sep 24, 2022
0.3.1 Sep 19, 2022

#1426 in Command line utilities

21 downloads per month


245 lines


Crates.io Crates.io

tempo is a terminal tempo tapper.


1/10 samples in buffer
106.3 bpm
 * <enter>

2/10 samples in buffer
110.4 bpm
 * c

0/10 samples in buffer
0.0 bpm


tempo works by collecting bpms into a buffer as you tap.

[120.5, 124.3, 122.6, _, _, _, _, _, _, _]
 ^                                      ^
new bpms inserted here        old bpms removed here

the final bpm is the average of all samples in the buffer.


to use tempo, tap to the desired tempo, and it will display the average bpm.

for more fine tuning, you can also adjust the size of the buffer. the bpm may be more accurate the more samples are averaged.

command description
h show help
<enter> tap tempo
c clear buffer
s adjust buffer size
b bound or unbound buffer
l print license info
q quit


since tempo is on crates.io under the name tempo_tapper, you can install it with cargo!

$ cargo install tempo_tapper


the msrv (minimum supported Rust version) is 1.61.0.


tempo (includes the library and binary) is licensed under the MIT or Apache 2.0 licenses, at your choice.

No runtime deps