# 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

```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/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

## Package facts

- **Package key:** brew:bpm-tools
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/bpm-tools>
- **Version:** 0.3
- **Source summary:** Detect tempo of audio files using beats-per-minute (BPM)
- **Homepage:** <https://www.pogo.org.uk/~mark/bpm-tools/>
- **Repository:** <https://www.pogo.org.uk/~mark/bpm-tools.git>
- **Upstream docs:** <https://www.pogo.org.uk/~mark/bpm-tools>
- **License:** GPL-2.0-only
- **Source archive:** <https://www.pogo.org.uk/~mark/bpm-tools/releases/bpm-tools-0.3.tar.gz>
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

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

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_big_sur, arm64_linux, arm64_monterey, arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, big_sur, catalina, monterey, sonoma, ventura

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 0.3
- Local data: ok
- Upstream repository: https://www.pogo.org.uk/~mark/bpm-tools/
- info: No package-manager update timestamp was available.
- info: Release/tag comparison is only available for GitHub repositories.
## 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

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** bpm-tools
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## 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.3: normalized package name match | openSUSE Tumbleweed package metadata: bpm-tools from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Automatic calculating and tagging the tempo of music files | http://www.pogo.org.uk/~mark/bpm-tools/


## Related links

- [Secret-risk packages](https://www.automicvault.com/pkg/secret-risk-packages/) - Has protected-tool coverage, approval-gate, or non-low Geiger security signals.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Media and graphics packages](https://www.automicvault.com/pkg/media-graphics-tools/) - Matched media, image, audio, video, or graphics metadata.
- [aubio](https://www.automicvault.com/pkg/brew/aubio/) - Shares av.db curated category or tags: audio, cli, media, music.
- [bandcamp-dl](https://www.automicvault.com/pkg/brew/bandcamp-dl/) - Shares av.db curated category or tags: audio, cli, media, music.
- [cmusfm](https://www.automicvault.com/pkg/brew/cmusfm/) - Shares av.db curated category or tags: audio, cli, media, music.
- [csound](https://www.automicvault.com/pkg/brew/csound/) - Shares av.db curated category or tags: audio, cli, media, music.
- [timidity](https://www.automicvault.com/pkg/brew/timidity/) - Shares av.db curated category or tags: audio, cli, media, music.
- [waon](https://www.automicvault.com/pkg/brew/waon/) - Shares av.db curated category or tags: audio, cli, media, music.
- [a52dec](https://www.automicvault.com/pkg/brew/a52dec/) - Shares av.db curated category or tags: audio, cli, media.
- [abcde](https://www.automicvault.com/pkg/brew/abcde/) - Shares av.db curated category or tags: audio, cli, media.
- [clamz](https://www.automicvault.com/pkg/brew/clamz/) - Both packages work with overlapping file formats or content types. Shared terms: audio, cli, files, media, music.

## Combined YAML source

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


## Sources

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