这个项目能做什么
Anklang 是一款数字音频合成应用,专为现场创作和编排音乐及其他音频素材而设计。它是对其两位主要作者此前多个音频项目的重构,旨在实现一个连贯、稳固的融合体,用于合成音乐的编排与交互式创作。
该项目可在 Linux 上通过克隆仓库并运行 `make` 来构建。不过,更简便的方式是下载一个自包含的 AppImage 发布版本,将其标记为可执行文件,然后运行。
## 开发
### 路线图
随着项目规模扩大,路线图已移至 [ROADMAP.md](ROADMAP.md)。
### 项目结构
- `ase/` - C++23 后端源码(`*.c`、`*.h`、`*.cc`、`*.hh`)
- `ase/api.hh` - 后端 <-> 前端 IPC 的公共 API
- `trkn/` - 第三方源码(tracktion_engine、JUCE)
- `ui/` - Web UI(Vite、Tailwind、SolidJS)
- `jsonipc/` - 后端与浏览器之间 JSON 消息的 IPC
### 构建与测试
- 构建:`make`
- 运行所有测试:`make check`
- 运行特定测试:`make check-<test_name>`(例如 `make check-string_funcs`)
- 直接执行测试:`out/lib/AnklangSynthEngine --test <test_name>`
- 列出可用测试:`out/lib/AnklangSynthEngine --list-tests`
### 测试准则
- 新代码需要配备适当的测试
- 避免为类型系统已保证的内容编写测试
- 仅使用接口上可用的方法(如有需要,可扩展 `*.hh` 文件)
## 许可证
本应用(包括音频引擎)依据 [MPL-2.0](https://github.com/tim-janik/anklang/blob/trunk/LICENSE) 许可。
然而,可与此应用配合使用或可能通过扩展包下载的插件,可能适用不同的许可条款,例如 GPLv3 或专有许可。
评论
0 评分人数达到10人后显示
登录后参与讨论。