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

Travail de Bachelor à l'université de Fribourg

L'auteur de ce sujet a trouvé une solution à son problème.
Auteur du sujet

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 !

Édité par N03

+10 -0
Staff

Cette réponse a aidé l'auteur du sujet

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 :)

"I think that it’s extraordinarily important that we in computer science keep fun in computing." – Alan J. Perlis

+3 -0
Staff

Cette réponse a aidé l'auteur du sujet

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 !

+1 -0
Auteur du sujet

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.

+0 -0

Cette réponse a aidé l'auteur du sujet

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 :(

"Il est vraiment regrettable que tous les gens qui savent parfaitement comment diriger un pays soient trop occupés à conduire des taxis et à couper des cheveux"

+0 -0
Auteur du sujet

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).

+1 -0

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 ?

écolo-utopiste altermondialiste radicalisé sur Internet | La tero estas nur unu lando. PA SHS La géo c’est cool, la carto aussi !

+0 -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.

Evitez qu'on vous dise de les lire : FAQ PHP et Symfony 2Tutoriel WAMP • Cliquez 👍 pour dire merci • Marquez vos sujets résolus

+1 -0
Auteur du sujet

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.

Édité par N03

+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…

+1 -0
Auteur du sujet

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.

+1 -0
Auteur du sujet

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 -0

Cette réponse a aidé l'auteur du sujet

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

Evitez qu'on vous dise de les lire : FAQ PHP et Symfony 2Tutoriel WAMP • Cliquez 👍 pour dire merci • Marquez vos sujets résolus

+0 -0
Auteur du sujet

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.

+0 -0

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.

Édité par rezemika

"Il n’y a pas que la violence physique qui pose problème. La violence verbale marque probablement encore davantage." Joseph Schovanec

+1 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

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