Automic VaultAutomic Vault

brew

Install bpm-tools with Homebrew, apt, Nix, zypper

Detect tempo of audio files using beats-per-minute (BPM). Version 0.3 via Homebrew; verified from local package data.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install bpm-tools

local Homebrew formula metadata

Linux

Debian aptverified · 92%
sudo apt install bpm-tools

Debian stable package indexes · bpm-tools · source: deb.debian.org

Nixverified · 92%
nix profile install nixpkgs#bpm-tools

nixpkgs package indexes · pkgs/by-name/bp/bpm-tools/package.nix · source: api.github.com

openSUSE zypperverified · 92%
sudo zypper install bpm-tools

openSUSE Tumbleweed package metadata · bpm-tools · source: download.opensuse.org

overview

Package summary

Detect tempo of audio files using beats-per-minute (BPM)

Commands and aliases

  • bpm
  • bpm-tag

history

Project history and usage

bpm-tools is a small command-line audio utility by Mark Hills for estimating and tagging the tempo of music files in beats per minute. Its official page frames it as an experimental but useful autocorrelation-based tool for DJs, xwax users, and shell scripting.

Project history

The official project page says bpm-tools came from experiments in automatically calculating and tagging music tempo. The public Git history begins in December 2011, and the official page lists bpm-tools 0.3 as the most recent release dated 21 May 2013.

The project is distributed from Mark Hills's own site, with an HTTPS Git clone URL and GPLv2 licensing. The page explicitly says the code is the best explanation of the algorithm, a relatively simple application of autocorrelation by statistical sampling.

Adoption history

Adoption appears modest and utilitarian: the input package facts list packages in Homebrew, Debian, Nix, Ubuntu, and openSUSE/zypper. That distribution spread is typical for a small Unix audio tool that remains useful without frequent releases.

The official page connects bpm-tools to the xwax Linux DJ community, suggesting its early users were command-line-oriented DJs and Linux audio users rather than mainstream media-library applications.

How it is used

The package provides commands such as `bpm` and `bpm-tag` for detecting tempo and tagging files. Its best fit is batch analysis, DJ preparation, and scripts that need tempo metadata without opening a full digital audio workstation.

The author cautions that there is no scientific comparison with other algorithms, so the package is best understood as a pragmatic command-line estimator rather than a definitive music-information-retrieval benchmark.

Why package nerds care

bpm-tools is a good example of the small personal-site Unix package: one focused algorithm, a couple of commands, a tarball, and a Git repository that distributions can keep alive long after the release cadence slows.

For package history, it also ties together Linux DJ culture, xwax, and shell-friendly audio metadata workflows in a way larger GUI music tools do not.

Timeline

  • 2011: Public Git history begins with the initial commit in December.
  • 2013: bpm-tools 0.3 released on 21 May according to the official page.
  • 2021: Official page remained maintained enough to carry a December 2021 page date.
  • Current: Packaged by Homebrew, Debian, Nix, Ubuntu, and zypper according to input package facts.

Related projects

  • The official page names xwax as a related Linux DJ project by the same developer and points BPM and Linux DJ discussion toward the xwax community.
  • Related package-manager neighbors include audio taggers, command-line decoders, DJ tools, and music-information-retrieval utilities.

security posture

Risk level: blue

broad file, network, media, or database tool signal.

Risk classifier

blue risk · medium confidence · tool

Why

  • broad file, network, media, or database tool signal

Signals

  • text:audio

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 13 platform targets.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

executables

Installed executables

CommandKindExposureNote
bpmcliglobal executable
bpm-tagcliglobal executable

freshness

Version and freshness

These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.

page generated2026-07-08
manager version0.3
manager updated
local dataok
upstreamnot checked
latest detectednot detected

https://www.pogo.org.uk/~mark/bpm-tools/

install metadata

Package metadata

Package keybrew:bpm-tools
Version0.3
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/bpm-tools
Homepagehttps://www.pogo.org.uk/~mark/bpm-tools/
Repositoryhttps://www.pogo.org.uk/~mark/bpm-tools.git
Upstream docshttps://www.pogo.org.uk/~mark/bpm-tools
LicenseGPL-2.0-only
Source archivehttps://www.pogo.org.uk/~mark/bpm-tools/releases/bpm-tools-0.3.tar.gz
Bottleavailable (on arm64_big_sur, arm64_linux, arm64_monterey, arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, big_sur, catalina, monterey, sonoma, ventura, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Namebpm-tools
Version Scheme0
Revision0
Head VersionHEAD
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • head
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

Debian apt95%

bpm-tools 0.3-5

command-line tool to calculate tempo of audio

https://www.pogo.org.uk/~mark/bpm-tools/

sudo apt install bpm-tools
  • Section: sound
  • Architecture: amd64
  • 2 dependencies
  • 6 optional deps
  • normalized package name match
  • Matched by: Bpm Tools
Debian stable package indexes · deb.debian.org · Debian stable package indexes: bpm-tools from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz
Nix95%

bpm-tools

nix profile install nixpkgs#bpm-tools
  • normalized package name match
  • Matched by: Bpm Tools
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/bp/bpm-tools/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
Ubuntu apt95%

bpm-tools 0.3-4

command-line tool to calculate tempo of audio

http://www.pogo.org.uk/~mark/bpm-tools/

sudo apt install bpm-tools
  • Section: universe/sound
  • Architecture: amd64
  • 2 dependencies
  • 5 optional deps
  • normalized package name match
  • Matched by: Bpm Tools
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: bpm-tools from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz
zypper95%

bpm-tools 0.3-2.3

Automatic calculating and tagging the tempo of music files

http://www.pogo.org.uk/~mark/bpm-tools/

sudo zypper install bpm-tools
  • License: GPL-2.0-or-later
  • Category: Productivity/Multimedia/Sound/Utilities
  • Architecture: x86_64
  • Source Package: bpm-tools
  • 5 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Bpm Tools
openSUSE Tumbleweed package metadata · download.opensuse.org · openSUSE Tumbleweed package metadata: bpm-tools from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • Nucleus package database
  • av.db category and tag curation
  • cross-ecosystem install command graph
  • curated package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment