Markov music
et si un ordinateur pouvait composer de la musique?
Euh Markov Music, c'est quoi?
Un ordinateur peut il composer de la musique? L'idée de départ qui a pousser la conception de markov music était de mettre en place un système de composition automatique.
On a pour cela considéré le processus de composition comme un processus de décision stochastique où la musique qui est composé par markov music correspond à un choix d'une trajectoire dans un espace probabilisé.
Pour ceux qui ne comprennent rien aux mathématiques, aucun problème! En gros, il faut donner à manger un fichier midi au logiciel et pouf on peut sortir un nouveau fichier midi qui peut différer plus ou moins de la partition originale (en fonction de comment le soft est réglé).
C'est à la fois fun, marrant, rigolo et c'est même open source.
A quoi peut bien ressembler de la musique composée entièrement par un ordinateur?
Parceque laisser un ordinateur composer de la musique n'est pas quelque chose de très courant, voila un petit exemple que markov music a fait tout seul comme un grand :
Composons!
Le but de markov music est de composer une partition au format midi à partir d'une partition midi de départ. Markov music permet ainsi la génération de partition midi se rapprochant plus ou moins de la partition originale.
Dans les grandes lignes, il est possible de choisir 3 algorithmes de composition (qui vont agir sur la façon dont est modélisé la musique (c'est les états des chaînes de markov)) permettant de composer une partition comportant soit 1 (pour les algorithmes 1 et 2) ou 2 pistes (pour l'algorithme 3). Et pour ces 3 différents algorithmes, plusieurs réglages sont possibles. Pour comprendre comment agissent ces réglages disont que plus le ou les valeurs présent dans la partie hmm parameters (dans la partie settings) sont grandes et plus la composition sera proche de l'original (cela revient a apprendre par coeur le morceau). Et inversement, plus ces valeurs sont petites et plus la composition final s'éloigne de celle de départ.
Une fois que vous avez compris le principe d'apprentissage puis composition via l'interface de markov music il est possible d'aller un peu plus loin dans la façon que markov music apprend. En choisissant l'algorithme 1, markov music apprend chacune des notes.
Dans l'algorithme 2, markov music apprend pour chacune des notes la durée et son pitch de façon totalement séparé. L'intérêt pratique est de pouvoir par exemple apprendre par coeur un structure rythmique et changer de façon importante la hauteur qui lui est associé. On peut également voir des applications ou l'on apprend par coeur les notes et modifié de façon important la structure rythmique du morceau composé.
L'algorithme 3 permet quand à lui de composer 2 pistes. Sur le même principe, on ouvre une partition original, si l'on choisit l'algorithme 3, il est possible de choisir 2 pistes différentes pour effectuer l'apprentissage.
Parceque markov Music est fait en python il peut être utiliser sous linux, mac ou windobe euh pardon windows
le software utilise des lib qui n'ont pas été porté sous python 3. Pour verifier la version installé sur le système, il faut lancer dans le terminal :
python --versionLe soft est fonctionnel sous python 2.7. Pour l'installation :
wget http://mickael.kerjean.free.fr/software/markovMusic/markovMusic.zip unzip markovMusic.zip rm -rf markovMusic.zip
sudo apt-get install pygtk cd markovMusic/markovMusicPackage sudo setup.py install
cd ../composer/ python gui.py
curl -O http://mickael.kerjean.free.fr/software/markovMusic/markovMusic.zip unzip markovMusic.zip rm -rf markovMusic.zip cd markovMusic/markovMusicPackage sudo python setup.py installTout est maintenant installé, reste plus qu'à lancer le soft :
cd ../composer/ python gui.pyEt ca y ait le soft se lance!
Quand on achète windows, comme il ne faut quand même pas s'attendre à avoir d'installer de base autres chose qu'un gaspilleur de ram, on va tout devoir installer à la main parceque non il n'existe pas encore de fichier exe. Dans l'ordre, il va falloir :
set PATH=%PATH%;C:\Python27 set PYTHONPATH = %PYTHONPATH%;C:\Python27\LibCa y'ai, il y a maintenant un vrai environement pour programmer en python
cd C:\blablablabla\Download\markovMusic
cd markovMusicPackage python setup.py install cd ../composer python gui.py