BPM Tap Tempo
Overview
Section titled “Overview”BPM Tap Tempo is a lightweight native desktop application for measuring beats per minute by tapping along to a beat. Built in Rust with the immediate-mode GUI framework egui, it launches instantly and runs with minimal resource usage — no Electron, no browser, just a small native window. It’s the kind of focused utility tool that belongs in every musician’s and audio engineer’s toolkit.
How It Works
Section titled “How It Works”The app presents a single “Tap” button in a compact 220×120 pixel window. Each time you click, it measures the time elapsed since the previous tap using std::time::Instant and converts the interval to BPM:
if delta.as_secs_f32() < 2.0 { self.bpm = 60.0 / delta.as_secs_f32();}A 2-second timeout resets the calculation, so stale taps don’t produce misleading readings.
Features
Section titled “Features”- Tap Tempo Detection — Click the button in rhythm and get an instant BPM readout
- Native GUI — Built with
eframe/eguifor a responsive, immediate-mode UI with no web overhead - Minimal Footprint — The entire application is ~50 lines of Rust in a single
main.rs - Fixed Window — Non-resizable compact window keeps the tool unobtrusive on your desktop
- Timeout Guard — Ignores intervals longer than 2 seconds to avoid erroneous readings
- Cross-Platform — Compiles natively on macOS, Linux, and Windows via Cargo
Tech Stack
Section titled “Tech Stack”| Language | Rust (2021 edition) |
| GUI Framework | egui 0.31 / eframe 0.31 |
| Build System | Cargo |
| Platform | Desktop (macOS, Linux, Windows) |
Source Code
Section titled “Source Code”The source code is available on the project’s GitHub repository.