# 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. Also installable with debian: sudo apt install bpm-tools.

## Install

```sh
sudo av install brew:bpm-tools
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install bpm-tools
```

  Evidence: local Homebrew formula metadata

### Linux

- Debian apt (92%):

```sh
sudo apt install bpm-tools
```

  Evidence: Debian stable package indexes: bpm-tools from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- Nix (92%):

```sh
nix profile install nixpkgs#bpm-tools
```

  Evidence: nixpkgs package indexes: pkgs/by-name/bp/bpm-tools/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- zypper (92%):

```sh
sudo zypper install bpm-tools
```

  Evidence: openSUSE Tumbleweed package metadata: bpm-tools from https://download.opensuse.org/tumbleweed/repo/oss/repodata/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-primary.xml.zst

## Package facts

- **Package key:** brew:bpm-tools
- **Package manager:** Homebrew
- **Version:** 0.3
- **Source summary:** Detect tempo of audio files using beats-per-minute (BPM)
- **Homepage:** <https://www.pogo.org.uk/~mark/bpm-tools/>
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- bpm (alias)
- bpm-tag (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 0.3
## 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.

### Sources

- <https://www.pogo.org.uk/~mark/bpm-tools>
- <https://www.pogo.org.uk/~mark/bpm-tools.git>
- source_facts.package-manager


## Security Notes

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

- **Geiger risk:** blue / medium
- broad file, network, media, or database tool signal

## Other Package-Manager Records

- Debian apt - bpm-tools - 0.3-5: normalized package name match | Debian stable package indexes: bpm-tools from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | command-line tool to calculate tempo of audio | https://www.pogo.org.uk/~mark/bpm-tools/
- Nix - bpm-tools: normalized package name match | 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 apt - bpm-tools - 0.3-4: normalized package name match | Ubuntu 24.04 LTS package indexes: bpm-tools from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | command-line tool to calculate tempo of audio | http://www.pogo.org.uk/~mark/bpm-tools/
- zypper - bpm-tools - 0.3-2.5: normalized package name match | openSUSE Tumbleweed package metadata: bpm-tools from https://download.opensuse.org/tumbleweed/repo/oss/repodata/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-primary.xml.zst | Automatic calculating and tagging the tempo of music files | http://www.pogo.org.uk/~mark/bpm-tools/


## Combined YAML source

View the package source record on GitHub. [combined/bpm-tools.yml](https://github.com/mxcl/pkgdb/blob/main/combined/bpm-tools.yml)


## Sources

- pkg.so package database
- Geiger risk classifier
- curated package history
- pkgdb category and tag curation
- external package-manager database matches
- cross-ecosystem install command graph
