# Install abcmidi with Homebrew, apt, dnf, MacPorts, Nix, pacman

Converts abc music notation files to MIDI files. Version 2026.06.09 via Homebrew; verified 2026-06-09.

## Install

```sh
sudo av install brew:abcmidi
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install abcmidi
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install abcMIDI
```

  Evidence: MacPorts ports tree: audio/abcMIDI/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- Debian apt (92%):

```sh
sudo apt install abcmidi
```

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

- dnf (92%):

```sh
sudo dnf install abcMIDI
```

  Evidence: Fedora Rawhide package metadata: abcMIDI from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#abcmidi
```

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

- pacman (92%):

```sh
sudo pacman -S abcmidi
```

  Evidence: Arch Linux sync databases: abcmidi from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

## Package facts

- **Package key:** brew:abcmidi
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/abcmidi>
- **Version:** 2026.06.09
- **Source summary:** Converts abc music notation files to MIDI files
- **Homepage:** <https://ifdo.ca/~seymour/runabc/top.html>
- **Repository:** <https://github.com/sshlien/abcmidi>
- **Upstream docs:** <https://abcmidi.sourceforge.io/>
- **License:** GPL-2.0-or-later
- **Source archive:** <https://ifdo.ca/~seymour/runabc/abcMIDI-2026.06.09.zip>
- **Last updated:** 2026-06-09T17:53:24Z
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- abc2abc (cli)
- abc2midi (cli)
- abcmatch (cli)
- mftext (cli)
- midi2abc (cli)
- midicopy (cli)
- midistats (cli)
- yaps (cli)
- abc2abc (alias)
- abc2midi (alias)
- abcmatch (alias)
- mftext (alias)
- midi2abc (alias)
- midicopy (alias)
- midistats (alias)
- yaps (alias)

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 2026.06.09
- Package-manager updated: 2026-06-09
- Local data: ok
- Upstream repository: https://ifdo.ca/~seymour/runabc/top.html
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

abcMIDI is a long-running suite of C command-line tools for working with abc music notation and MIDI. Its core programs convert abc text notation to MIDI, transpose abc files, derive abc from MIDI, inspect MIDI, and support older PostScript-oriented notation workflows.

### Project history

The official README says James Allwright created abcMIDI in the early 1990s and that Seymour Shlien later took over maintenance. Shlien's project page describes abc notation as a plain-text music language introduced by Chris Walshaw in 1993 and places abcMIDI among the early tools built around that ecosystem.

The package grew beyond its original tools as Shlien added programs such as abcmatch and midicopy. The current official page names the ifdo.ca site as the latest source for abcMIDI and notes that SourceForge is updated less frequently; the GitHub repository mirrors this current maintained source.

### Adoption history

abcMIDI became part of the abc notation toolchain used by graphical front ends and music editors. The README says components of the package are included in numerous applications for creating and editing abc files, and the input package-manager facts show it packaged across Homebrew, Debian, Fedora, MacPorts, Nix, Arch, and Ubuntu.

### How it is used

Package users mostly encounter abcMIDI as small Unix-style filters: abc2midi converts abc notation to MIDI, midi2abc works in the reverse direction, abc2abc rewrites notation, and the companion tools inspect or copy MIDI data. The official README also documents traditional configure/make installation and a newer CMake build.

### Why package nerds care

abcMIDI is package-nerd interesting because it is a specialist plain-text music toolkit with decades of continuity, many small binaries, and a release cadence still tied to individual tool versions. It sits at the intersection of old Unix filter culture, MIDI, TeX/PostScript-era notation workflows, and modern package-manager distribution.

### Timeline

- 1993: Chris Walshaw introduces abc notation, according to Shlien's official project page.
- Early 1990s: James Allwright creates the abcMIDI package in C, according to the official README.
- 2000s: Seymour Shlien takes over support and maintenance, described on the official project page as about 20 years before its 2026 update.
- 2019: The current GitHub repository is created.
- 2022: Earliest GitHub tag in the current repository is 2022.02.13.
- 2026: The official project page lists abcMIDI 2026.06.24 as the latest stable zip.

### Related projects

- Related projects include runabc, EasyABC, abcm2ps, abc2svg, abc2ps, abcnotation.com, and the ABC Plus project. These projects form the broader abc notation editing, rendering, and playback ecosystem referenced by the official README and project page.

### Sources

- Official README, official project page, GitHub repository metadata, and source_facts.package-manager.


## Security Notes

No matching local secret-handling manifest was found for abcmidi. Nucleus package metadata is still published here so future coverage has a stable package URL.


## Source Database Details

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

## Other Package-Manager Records

- Debian apt - abcmidi - 20250216+ds-1: normalized package name match | Debian stable package indexes: abcmidi from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | converter from ABC to MIDI format and back | https://ifdo.ca/~seymour/runabc/top.html
- Nix - abcmidi: normalized package name match | nixpkgs package indexes: pkgs/by-name/ab/abcmidi/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - abcmidi - 20240222+ds1-1: normalized package name match | Ubuntu 24.04 LTS package indexes: abcmidi from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | converter from ABC to MIDI format and back | https://ifdo.ca/~seymour/runabc/top.html
- dnf - abcMIDI - 2025.02.16-5.fc44: normalized package name match | Fedora Rawhide package metadata: abcMIDI from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | ABC to/from MIDI conversion utilities | https://ifdo.ca/~seymour/runabc/top.html
- pacman - abcmidi - 2026_06_06-1: normalized package name match | Arch Linux sync databases: abcmidi from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | Tools for ABC and MIDI files | https://github.com/sshlien/abcmidi
- MacPorts - abcMIDI: normalized package name match | MacPorts ports tree: audio/abcMIDI/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Related links

- [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.
- [Web development packages](https://www.automicvault.com/pkg/web-dev-tools/) - Matched web development metadata.
- [wildmidi](https://www.automicvault.com/pkg/brew/wildmidi/) - Shares av.db curated category or tags: cli, media, midi.
- [abcm2ps](https://www.automicvault.com/pkg/brew/abcm2ps/) - Shares av.db curated category or tags: cli, converter, media, music-notation.
- [ccm](https://www.automicvault.com/pkg/brew/ccm/) - Shares av.db curated category or tags: cli, media, music.
- [chordii](https://www.automicvault.com/pkg/brew/chordii/) - Shares av.db curated category or tags: cli, media, music.
- [dzr](https://www.automicvault.com/pkg/brew/dzr/) - Shares av.db curated category or tags: cli, media, music.
- [midicsv](https://www.automicvault.com/pkg/brew/midicsv/) - Shares av.db curated category or tags: cli, converter, media, midi.
- [mufetch](https://www.automicvault.com/pkg/brew/mufetch/) - Shares av.db curated category or tags: cli, media, music.
- [ncspot](https://www.automicvault.com/pkg/brew/ncspot/) - Shares av.db curated category or tags: cli, media, music.
- [ly](https://www.automicvault.com/pkg/brew/ly/) - Local package facts share a topical domain. Shared terms: cli, media, music, music-notation, notation.
- [verovio](https://www.automicvault.com/pkg/brew/verovio/) - Local package facts share a topical domain. Shared terms: cli, media, music, music-notation, notation.

## Combined YAML source

View the package source record on GitHub. [combined/abcmidi.yml](https://github.com/automic-vault/db/blob/main/combined/abcmidi.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
