https://github.com/ales-tsurko/athenaCL
An unofficial fork of athenaCL algorithmic composition system
https://github.com/ales-tsurko/athenaCL
algorithmic-composition composition generative music
Last synced: about 6 hours ago
JSON representation
An unofficial fork of athenaCL algorithmic composition system
- Host: GitHub
- URL: https://github.com/ales-tsurko/athenaCL
- Owner: ales-tsurko
- License: gpl-2.0
- Created: 2017-10-18T12:04:31.000Z (about 8 years ago)
- Default Branch: main
- Last Pushed: 2025-04-08T02:08:51.000Z (8 months ago)
- Last Synced: 2025-04-12T20:34:10.222Z (7 months ago)
- Topics: algorithmic-composition, composition, generative, music
- Language: Python
- Homepage: https://athenacl.alestsurko.by
- Size: 19.2 MB
- Stars: 17
- Watchers: 2
- Forks: 3
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-python-audio - AthenaCL
README
# athenaCL

athenaCL is an algorithmic composition tool created by Christopher Ariza.
Or, as described by the author more specifically, it is a tool for:
> modular poly-paradigm algorithmic music composition in a cross-platform
> interactive command-line environment.
## Documentation
The manual is built using [mdBook](https://rust-lang.github.io/mdBook) you will
find the source code inside `doc/` directory. You can read it
[here](https://alestsurko.by/athenaCL/).
## Usage
The repo includes large files tracked by `git-lfs`. You need it to be installed
on your system. Then, after you cloned the repo:
```
git lfs pull
```
Then you can run the program using:
```
cargo run --release
```
`cargo test` will run not only rust tests, but python tests as well.
### Bundle an app on macOS
Currently, bundling app packages configured on macOS only. To bundle a package:
```
./bundle-mac.sh
```
After that the .app package should be located at
`target/release/bundle/osx/athenaCL.app`.
## About This Fork
Initially this repo was forked to update the code to python3. But then I
considered to build a GUI version of **athenaCL**. Today the code is adapted for
GUI needs:
- it's modified to be easily embeddable into binary (using **RustPython** and
freezing);
- some features related to CLI are removed, to make it work better with
**RustPython**;
- while the CLI version might still work, it's not supported, so expect bugs.
If you're interested in the original (CLI) version, check out the
[`pregui`](https://github.com/ales-tsurko/athenaCL/releases/tag/pregui) tag.