Hi Apache Groovy community,
I have the pleasure to announce the release of the first beta version of
MirComp, the framework for algorithmic and assisted music composition:
https://mcolletta.github.io/mircomp/
MirComp is developed in Groovy (currently v4.0.15 with STC by default) and
can now run as a self-contained application with OpenJdk 21 and OpenJfx 21.
This new version contains lots of bug fixes and improvements but the main
highlights of this release are:

MirGene: a Grammatical Evolution (GE) library.
One of the most interesting things about this library is its powerful
context sensitive grammars that I've designed for musical purposes. A
MirGram (as I named it) is stochastic, weighted and adaptable (i.e. it can
add new rules during the derivation using the results from previous
NonTerminals). Moreover, it can control the length of the results through
arithmetic attributes and guards.
https://github.com/mcolletta/mircomp/tree/main/mirgene

MircOracle: a machine learning library that implements dictionary based
predictors and factor oracles (similar to variable order markov models).
https://github.com/mcolletta/mircomp/tree/main/mircoracle

Note: These two libraries are general enough to be used outside musical
contexts. For example in the source of MirGene you can find "symbolic
regression" tests.

MirSynth: a library for sound synthesis.
With few lines of code it is possible to create MIDI "virtual" instruments
like Double Frequency Modulation (DFM), Additive and Subtractive Synthesis.

Solfeggio syllables and Roman numerals for universal key composition in
MirChord.

MusicXml Reader: lead sheets music in MusicXml format can now be read and
processed by the system.

I've tested the software only on Ubuntu (20.04 and 22.04) so if you try the
software on other platforms and encounter issues please let me know.

Enjoy groovy music and machine learning... in Groovy!

Mirco

Reply via email to