the-drunk-coder / megra

Mégra is a mini-language to make music with variable-order markov chains and some other stochastic shenanigans.
GNU General Public License v3.0
69 stars 4 forks source link

Mégra

THIS IS THE OLD COMMON LISP VERSION!! IT HAS BEEN SUPERSEDED BY A RE-CODE IN RUST: https://github.com/the-drunk-coder/megra.rs THE RUST VERSION IS WAY EASIER TO INSTALL AND USE ETC

Mégra is a mini-language to make music with variable-order markov chains and some other stochastic shenanigans.

This is Mégra 2.x! There's some changes from 1.x, so watch out (in the unlikely case you used it)

Installation

There are currently two ways to install. One uses Portacle as the underlying editor and is comparatively easy. You can find the instructions here:

https://github.com/the-drunk-coder/megra/blob/master/Tutorial/00_Installation.md

If you're familar with Common Lisp and Emacs, and want to integrate Mégra into your current Emacs installation, please find some hints here:

https://github.com/the-drunk-coder/megra/blob/master/Tutorial/old/00b_Installation_old.md

Differences between 1.x and 2.x

Megra 2.x is a different beast than 1.x, event though most of the core concepts made it over. Some features didn't make it over to 2.x because they were too complicated, or caused too much clutter.

Amongst those are:

In the very unlikely case that you were an early Mégra user and are missing one of the features, please tell me and I'll see if I can bring them back, or think about a good alternative. Otherwise, you can still use the 1.x branch.

Learning

Please find the work-in-progress tutorial it in:

https://github.com/the-drunk-coder/megra/blob/master/Tutorial/

Technicalities

Mégra is an embedded domain-specific language based on Common Lisp, Tito Latini's amazing Incudine library and Common Music 2.x, which is old but working, and currently (inofficially and as needed) maintained by Orm Finnendahl.