Hi Mirco,
that sounds really cool, I will forward this to a friend who is into
composing music & toying with new sounds G-)
Cheers,
mg
On 05/11/2023 18:39, Mirco Colletta wrote:
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