Générateur de Mélodies de Musique Irlandaise

Travail de Bachelor à l'université de Fribourg

a marqué ce sujet comme résolu.

Salut à tous,

Je suis actuellement en train de terminer un projet qui fera office de travail de Bachelor à l’université de Fribourg.

Le projet est un programme (codé en python) qui génère des mélodies dans le style des danses traditionnelles irlandaises et celtiques (reel, jig, waltz, slip jig, …).

J’ai travaillé sur une forme de machine learning basée sur les chaines de markov. Le programme "apprend" en construisant ses chaines de markov en analysant des morceaux traditionnels codé en abc notation. Tous les morceaux utilisés à cette fin viennent du site web The Session, site qui recense près de 20’000 morceaux. Et ça marche plutôt pas mal.

C’est là que j’ai besoin de votre aide, pour mon travail, j’ai besoin de statistiques afin de confirmer (ou infirmer) que mon programme est efficace. Dans ce but, j’ai mis au point un test de turing-like qui dure une quinzaine de minutes. Il s’agit d’un test durant lequel les testeurs vont devoir écouter une douzaine de paires d’extraits de mélodies (d’une vingtaine de secondes) et essayer de deviner laquelle a été composée par un être humain.

Voilà, j’espère que certains d’entre vous auront le courage de le faire jusqu’au bout. Je posterai bien sûr ici le résultat du test dans quelques semaines !

Voici le lien vers le test

N’hésitez pas non plus si vous avez des questions sur le développement du programme (c’est pas super compliqué).

Merci d’avance !

+10 -0

Très intéressant ! J'ai fait ton test est c'est vraiment difficile de faire la différence. Si jamais le code est open-source je serai ravis de pouvoir le voir :)

+3 -0

Salut,

J'ai répondu au test, et j'ai malheureusement pas fait mieux que de l'aléatoire, je suis déçu. :D

Ce sera possible à la fin de l'enquête de réécouter les morceaux en sachant lequel a été généré par ordinateur et lequel par un humain ? J'ai noté mes réponses, et j'aimerais bien savoir où j'ai eu faux !

Déjà merci pour ton aide.

Oui, je pense qu'à la fin du sondage, je vais modifier la page de validation des résultats et au lieu de juste mettre le nombre de bonne réponse, je vais remettre les 12 paires de morceau en annonçant lequel était fait par un humain.

Salut !

J'ai une question sur la méthodologie de test : pourquoi faire écouter deux extraits et demander lequel est fait par un humain ? Je trouve que ç'est difficile car on doit écouter au final 24 morceaux et on finit par se mélanger en devant les comparer deux à deux. Comment tu sélectionne les morceaux en face à face ?

Pourquoi ne pas mettre 12 morceaux et demander pour chacun si on pense qu'il est fait par un humain ou un ordinateur ?

Merci pour ta réponse :)

PS : je fais 6/12 seulement :(

+0 -0

Salut, bonne question, en fait ta proposition était mon idée de base mais mon directeur de travail trouvait mieux de les mettre 2 par 2 parce qu'il y a plusieurs styles, tonalités etc.. et qu'il voulait qu'il y ait vraiment un morceau humain qui correspondait à chaque morceau du programme comme sorte de "référence" même si on sait pas laquelle.

En fait, on a tiré l'idée du turing-like test suivant http://turing.deepart.io/ qui test le générateur de peinture de deepart (start up sous la coupe de google).

8/12. Bon, pour contexte, je joue (souvent) de la musique irlandaise, et je l'écoute, donc ça aide. Je sais pas si ça peut t'aider, mais voici ce qui me permet de discriminer l'un ou l'autre :

  • des fois, on retrouve des "fausses notes", c'est à dire harmoniquement, ça va pas.
  • certaines mélodies me semble artificiel, càd que c'est la même chose, sans variations ou autres, ou semble s'éloigner du standard irlandais (c'est une part de feeling, désolé ne pas en dire plus, j'aurais bien voulu que tu améliore ton programme pour que je me trompe ^^)

Sinon, très très bluffant, hâte de voir les partitions écrites par ta machine pour que je les jouent. D'ailleurs, une question, si une musique est crée par une machine, à qui revient le droit d'auteur de la partition ?

+1 -0

6/12.

Je ne peux pas dire que je m'y connaisse en musique irlandaise, mais étant musicien, j'ai probablement répondu juste parce que certaines mélodies ne sont à mon avis effectivement pas "logiques", certains intervalles trop peu courants à mon audition, ou parfois des suites trop monotones.

+2 -0

D'ailleurs, une question, si une musique est crée par une machine, à qui revient le droit d'auteur de la partition ?

qwerty

C'est effectivement une question qui mérite d'être soulevée et la réponse, je pense, n'existe pas vraiment pour l'instant d'un point de vue juridique.

@ Qwerty et Ymox, effectivement, certaines mélodies sonnent pas très logiques au niveau des intervalles ou de certaines notes qui peuvent sonner "faux". Mais le plus gros problème de mon programme (qu'on ne remarque pas trop dans le test car il s'agit de mélodies courtes) est lorsqu'on essaye de créé des morceaux plus long (avec différentes partie par exemple). En fait, il ne va pas écrire en fonction d'un thème principal ou d'une mélodie qu'il fait varier, il se contente simplement de mettre des notes les unes après les autres.

+1 -0

Salut !

Ce serait pas mal d'intégrer les règles de base de la musique et des constructions de chansons à ton système.

Avec des règles qui fassent respecter la tonalité d'un morceau, qui découpent la chanson en plusieurs parties etc…

Salut,

Oui c'est une idée effectivement. Pour découper les morceaux en partie, mon programme le fait déjà. Dans le test il n'y a juste qu'une seule partie car sinon ce serait vraiment trop long.

Pour le reste, tonalité, construction mélodique, … L'idée était vraiment de faire un travail de recherche sur l'utilisation de statistiques basées sur une grosse quantité de "vrai" morceaux. Donc plus on introduit de règles, plus on perd l'influence des statistiques.

Ce qui serait vraiment intéressant serait de pouvoir comparer deux types d'algorithmes, un utilisant des règles et l'autre des stats. Ou même trois, avec un algorithme mélangeant les deux.

Salut à tous !

Je me permets de remonter ce sujet, je suis en effet en train de finaliser mon rapport pour mon travail de bachelor. Cependant, mon prof m'a suggéré de refaire un Turing test un peu différent, avec plus de données et des morceaux entier cette fois.

Je remets donc le lien vers le test ici : http://rtfmcorp.ch/projects/eval/.

De plus, je suis en train de mettre le code sur un dépot git, je mettrai le lien ici dès que mon travail sera rendu si certains sont curieux d'aller le voir (rien de bien compliqué) ou même d'y contribuer si vous avez des idées.

3/10 aussi, j'avoue en avoir eu un peu honte quand-même…

C'est un peu dommage qu'on ne sache pas lesquels on a répondus faux, je trouve. C'est surtout pour savoir si certaines mélodies que je trouvais répétitives et/ou harmoniquement "illogiques" sont les trois que j'ai trouvées justes ou pas  :D

+0 -0

Oui, je sais que ça peut être frustrant. Mais c'est pour éviter le plus possible que les gens recommencent et retombent sur des mélodies qu'il ont déjà entendu en connaissant la réponse. C'est le genre de test ou le "cobaye" doit être un maximum ignorant de se genre de données, sinon on peut vite se retrouver avec des données incorrect.

Je récolte un 4/10, alors que j'ai déjà écouté quelques musiques irlandaises. C'est vraiment impressionnant !

Sinon, j'ai juste une humble suggestion : ça pourrait être pas mal d'utiliser un instrument typé plus irlandais pour générer les musiques. Par exemple un tin-whistle ou un violon. Tu pourrait utiliser les soundfont de Musescore. ;) (À moins qu'il génère des fichiers abc, convertis en musiques ?)

PS : J'ai bien aimé l'air du deuxième choix de la question 9/10. Il sonne vraiment bien je trouve. (Je dis pas qu'il est plus "vrai", juste qu'il me plaît vraiment.)

Edit : Je ne sais pas si c'est de ma faute, ayant mis du temps avant de valider l'envoi à la fin du questionnaire, mais j'ai eu une erreur : Fatal error: Access to undeclared static property: CTR::$dirct in /var/www/html/projects/eval/app/action/main.php on line 19.

+1 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte