这个项目能做什么

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 或专有许可。