# 使用 Homebrew, apk, Nix 安装 alda

查看 alda 的安装路径、可执行文件、元数据以及面向 AI 代理工作流的安全说明。

## 安装

```sh
sudo av install brew:alda
```

其他安装命令:

### macOS

- Homebrew (100%):

```sh
brew install alda
```

  证据: local Homebrew formula metadata

### Linux

- apk (92%):

```sh
sudo apk add alda
```

  证据: Alpine Linux edge package indexes: alda from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz

- Nix (92%):

```sh
nix profile install nixpkgs#alda
```

  证据: nixpkgs package indexes: pkgs/by-name/al/alda/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

## 软件包事实

- **软件包键:** brew:alda
- **软件包管理器:** Homebrew
- **软件包管理器页面:** <https://formulae.brew.sh/formula/alda>
- **版本:** 2.4.3
- **来源摘要:** Music programming language for musicians
- **主页:** <https://alda.io>
- **仓库:** <https://github.com/alda-lang/alda>
- **上游文档:** <https://alda.io/>
- **许可证:** EPL-2.0
- **源码归档:** <https://github.com/alda-lang/alda/archive/refs/tags/release-2.4.3.tar.gz>
- **最后更新:** 2026-05-13T08:18:19Z
- **已生成:** 2026-07-08T07:18:31+00:00

## 可执行文件

- alda (cli)
- alda-player (cli)
- alda (别名)
- alda-player (别名)

## 依赖

- openjdk

## 构建依赖

- go
- gradle@8

## 安装行为

- post-install 钩子: 未定义
- Bottle: 可用 于 arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## 版本和新鲜度

- 页面生成时间: 2026-07-08
- 管理器版本: 2.4.3
- 管理器更新时间: 2026-05-13
- 本地数据: OK
- 上游仓库: https://github.com/alda-lang/alda
- 信息: No cached GitHub release or tag data was available.
## 项目历史与用法

Alda is a text-based music programming language and command-line toolchain for writing, playing, and experimenting with musical scores from plain text. Its niche is the overlap between music notation, live coding, algorithmic composition, and Unix-style text workflows.

### 项目历史

The project is presented by its maintainers as a language for composing and playing music using only a text editor and the command line. The official site and README emphasize a markup-like syntax, General MIDI playback, examples, and an interactive REPL, positioning Alda as a music language that is approachable to musicians and still scriptable enough for programmers.

Alda's repository and site carry a 2012-2026 copyright notice for Dave Yarwood and contributors. The modern codebase is split into an `alda` client and `alda-player` playback process. Alda 2.0.0, released in June 2021, was a from-scratch rewrite in Go and Kotlin after the first generation had been mostly Clojure with a small Java client. The migration guide says Alda 2 kept the language mostly compatible while removing inline Clojure evaluation and introducing the separate player process.

Subsequent Alda 2 releases show ongoing package-maintainer concerns: player-process recovery, log4j security updates, `alda doctor`, MusicXML import, deterministic MIDI channel assignment, ARM Linux support, and memory reductions for lower-RAM devices such as Raspberry Pi.

### 采用历史

Alda is distributed through several package managers in the supplied package facts, including Homebrew, apk, and Nix. Its official README points users to the website for installation, while also documenting source builds for the Go client and Kotlin/Java player.

The project also maintains community surfaces for package users rather than only library consumers: official docs, examples, a cheat sheet, a Slack group, a subreddit, and a REPL workflow. That makes it recognizable in CLI package indexes as a real end-user tool, not merely a language experiment.

### 使用方式

Typical use is `alda play --file score.alda`, `alda play --code "piano: c6 d12 e6 g12~4"`, or `alda repl` for interactive composition. Scores are text files, so users naturally keep them in version control, edit them with ordinary editors, and run them from scripts.

Alda's more advanced usage includes programmatic composition, MIDI export/import workflows, and multi-process playback. In Alda 2, the CLI starts `alda-player` as needed and provides diagnostic commands such as `alda doctor` to help with audio and player-process setup.

### 为什么软件包爱好者会关心

Alda is package-nerd interesting because it packages a whole creative runtime as a pair of CLI executables rather than as a GUI application. It depends on the host audio stack, JVM/player behavior, architecture-specific binaries, and language-level compatibility, all of which show up in changelog entries that matter to distro maintainers.

It also demonstrates the classic text-tool value proposition: a domain that is normally graphical, music notation and playback, becomes inspectable, diffable, scriptable, and automatable.

### 时间线

- 2012: Project copyright period begins in official site and README notices.
- 2015: Official docs link Dave Yarwood's text-based music composition manifesto.
- 2021-06-30: Alda 2.0.0 released as a Go and Kotlin rewrite.
- 2023-05-07: Alda 2.2.5 added MusicXML import.
- 2024-06-22: Alda 2.3.0 reworked MIDI channel assignment.
- 2025-09-19: Alda 2.3.3 added broader Linux ARM support.
- 2026-05-12: Alda 2.4.3 reduced player memory usage.

### Related projects

- Alda's own migration guide identifies Alda 1 as the mostly Clojure predecessor and `alda-clj` as a Clojure DSL for algorithmic music that preserves part of the earlier Clojure-oriented workflow.
- The docs connect Alda to General MIDI, MusicXML import, editor plugins, and the nREPL-inspired REPL client/server model.

### 来源

- <https://alda.io/>
- <https://github.com/alda-lang/alda/blob/master/CHANGELOG.md>
- <https://github.com/alda-lang/alda/blob/master/README.md>
- <https://github.com/alda-lang/alda/blob/master/doc/alda-2-migration-guide.md>
- <https://github.com/alda-lang/alda/blob/master/doc/index.md>
- source_facts.package-manager


## 安全说明

generalized runtime or code generation signal.

- **Geiger 风险:** yellow / 中
- generalized runtime or code generation signal

## 源数据库详情

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** alda
- **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

## 其他软件包管理器记录

- Nix - alda: normalized package name match | nixpkgs package indexes: pkgs/by-name/al/alda/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- apk - alda - 2.3.2-r10: normalized package name match | Alpine Linux edge package indexes: alda from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | Music programming language for musicians | https://github.com/alda-lang/alda


## 相关链接

- [Secret-risk packages](https://www.automicvault.com/zh-hans/pkg/secret-risk-packages/) - Has protected-tool coverage, approval-gate, or non-low Geiger security signals.
- [Terminal utility packages](https://www.automicvault.com/zh-hans/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Language runtime packages](https://www.automicvault.com/zh-hans/pkg/language-runtime-packages/) - Matched language runtime, compiler, or interpreter metadata.
- [Networking and protocol packages](https://www.automicvault.com/zh-hans/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [openjdk](https://www.automicvault.com/zh-hans/pkg/brew/openjdk/) - Runtime dependency declared by Homebrew.
- [go](https://www.automicvault.com/zh-hans/pkg/brew/go/) - Build dependency declared by Homebrew.
- [chuck](https://www.automicvault.com/zh-hans/pkg/brew/chuck/) - Shares av.db curated category or tags: cli, language-runtime, music, programming-language.
- [agda](https://www.automicvault.com/zh-hans/pkg/brew/agda/) - Shares av.db curated category or tags: cli, language-runtime, programming-language.
- [algol68g](https://www.automicvault.com/zh-hans/pkg/brew/algol68g/) - Shares av.db curated category or tags: cli, language-runtime, programming-language.
- [ats2-postiats](https://www.automicvault.com/zh-hans/pkg/brew/ats2-postiats/) - Shares av.db curated category or tags: cli, language-runtime, programming-language.
- [ballerina](https://www.automicvault.com/zh-hans/pkg/brew/ballerina/) - Shares av.db curated category or tags: cli, language-runtime, programming-language.
- [befunge93](https://www.automicvault.com/zh-hans/pkg/brew/befunge93/) - Shares av.db curated category or tags: cli, language-runtime, programming-language.
- [brainfuck](https://www.automicvault.com/zh-hans/pkg/brew/brainfuck/) - Shares av.db curated category or tags: cli, language-runtime, programming-language.
- [c3c](https://www.automicvault.com/zh-hans/pkg/brew/c3c/) - Shares av.db curated category or tags: cli, language-runtime, programming-language.
- [clojure](https://www.automicvault.com/zh-hans/pkg/brew/clojure/) - Local package facts share a topical domain. Shared terms: cli, language, language-runtime, openjdk, programming.
- [clojurescript](https://www.automicvault.com/zh-hans/pkg/brew/clojurescript/) - Local package facts share a topical domain. Shared terms: cli, language, language-runtime, openjdk, programming.

## Combined YAML source

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


## 来源

- 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
