CLI BPM finder for audio files. Analyze song tempo locally and explore BPM Finder.
1.1K
BPM Finder homepage: https://bpm-finder.net/
yxchen1994/bpm-finder-cli is a lightweight Docker-friendly BPM finder for local audio analysis. It extracts a mono low-pass waveform with ffmpeg, detects tempo with the peak-grouping approach behind web-audio-beat-detector, and prints a clean BPM result for DJs, producers, and music tool builders.
docker run --rm -v "$PWD:/data" yxchen1994/bpm-finder-cli:latest analyze /data/song.mp3
JSON output:
docker run --rm -v "$PWD:/data" yxchen1994/bpm-finder-cli:latest analyze /data/song.mp3 --json
Write the JSON result to a mounted file:
docker run --rm -v "$PWD:/data" yxchen1994/bpm-finder-cli:latest \
analyze /data/song.mp3 --output /data/song.bpm.json
bpm-finder analyze <file> [--json] [--min-tempo <number>] [--max-tempo <number>] [--output <path>]
Supported options:
--json prints machine-readable output.--min-tempo sets the lower tempo bound.--max-tempo sets the upper tempo bound.--output writes the JSON payload to a file.{
"file": "/data/song.mp3",
"fileSizeBytes": 96698,
"bpm": 101,
"tempo": 100.613,
"offset": 0.031,
"peakCount": 1,
"duration": 4.781,
"sampleRate": 44100,
"channels": 1,
"detector": "web-audio-beat-detector-inspired",
"homepage": "https://bpm-finder.net/"
}
ffmpeg by default.
Content type
Image
Digest
sha256:12b19a1a7…
Size
95.3 MB
Last updated
7 months ago
docker pull yxchen1994/bpm-finder-cli