About FuX2
Are you a composer looking for ideas? Or do you just enjoy listening to music? FuX2 lets you listen to an endless stream of continuously generated counterpoint music.
FuX2 uses a Variable Neighbourhood Search algorithm (VNS) to generate a continuous stream of fifth species counterpoint.
Strict counterpoint is a formally defined musical style that originates in the 16th century. The rules of this style were written down by Fux in his book "Gradus Ad Parnassum" in 1725. This app generates a continuous stream of music that adheres to these rules as well as possible.
The VNS algorithm used in FuX takes into account 19 melodic and 19 harmonic rules when evaluating the quality of the generated fragment. A detailed description of both these rules and the algorithm can be found in the publications available at http://antor.ua.ac.be/dorienherremans
Version 2.0 of FuX is able to generate counterpoint with composer-specific characteristics. These characteristics are based on models created by extracting features from an existing music database.
More information about FuX2 can be found on the developer's website http://antor.ua.ac.be/FuX
And in:
D. Herremans and Sörensen, K., “FuX, an Android app that generates counterpoint”, in IEEE Symposium on Computational Intelligence for Creativity and Affective Computing (CICAC), 2013, pp. 48-55.
D. Herremans, Martens, D., and Sörensen, K., “Looking into the minds of Bach, Haydn and Beethoven: Classification and generation of composer-specific music”. University of Antwerp, Faculty of Applied Economics, 2014.
D. Herremans and Sörensen, K., “Composing Fifth Species Counterpoint Music With A Variable Neighborhood Search Algorithm”, Expert Systems with Applications, vol. 40, no. 16, 2013.
D. Herremans and Sörensen, K., “Composing first species counterpoint musical scores with a variable neighbourhood search algorithm”, Journal of Mathematics and the Arts, vol. 6, no. 04, pp. 169 - 189, 2012.
Thanks to Jegor van Opdorp for the bugfixes to this version.
The source code of this project can be found online at bitbucket (fuxapp). Contact me if you are interested in co-developing/using the code for you own project.
by P####:
عالـــــــــــــــــــــی