Apprentissage du piano par réalité augmentée (Post-WIMP 16/17)

De Ensiwiki
Aller à : navigation, rechercher

Expert.png  Troisième Année 

Apprentissage du piano par réalité augmentée
Projet Projet d'interactions post-wimp
Année 2016-2017
Étudiants Ivan Dagès (MMIS - IRVM)

Vincent Heurtin (MMIS - IRVM)
Déborah Leder (MMIS - IRVM)
Élie Richaud-Andreucci (Alternant - IRVM)

Encadrant François Bérard


Introduction

Contexte

Commencer à apprendre à jouer du piano est une tâche complexe. Il y a une grande charge de travail initial, car il faut apprendre à lire des partitions (rythmes et notes), à associer chaque note écrite dans la partition à la touche correpondant sur le clavier (et ce, pour deux façons différentes de lire les notes - clé de fa 4ème pour la main gauche et clé de sol pour la main droite), avant de pouvoir enfin tenter d'exécuter les notes et rythmes lus sur le clavier de piano. Pour tenter de faciliter cet apprentissage (ou, du moins, de limiter la partie théorique pure nécessaire avant de passer à la pratique), nous proposons dans ce projet d'afficher directement l'information nécessaire à jouer des morceaux de musiques directement sur le piano. L'objectif est de rendre le piano plus facile d'accès pour un débutant.

Pour cela, l'idée initiale était d'utiliser des lunettes de réalité augmentée afin d'afficher directement sur le piano sur quelles touches il faut appuyer ainsi que les erreurs commises. Cependant nous n'avons pas à disposition de lunettes de réalité augmentée de qualité suffisante pour ce projet, et l'implémentation sur des lunettes serait difficile dans le cadre d'un projet de WIMP car il faut suivre en temps réel la position du piano. Pour tester le concept d'afficher des informations directement sur le piano afin de simplifier l'apprentissage, nous avons donc utilisé un projecteur qui affiche l'information directement sur un piano physique.

Objectifs

Notre projet d'apprentissage de piano par réalité augmentée aurait principalement deux buts :

  • à court terme : permettre un apprentissage rapide de morceaux précis (temps d'apprentissage par morceau: quelques minutes, une fois l'application prise en main)
  • à long terme : apprendre à l'utilisateur à lire les notes et rythmes d'une partition par habitude, et ainsi lui permettre de déchiffrer de nouveaux morceaux en lisant une partition normale


Description de la solution envisagée

La solution peut se découper en deux affichages:

  • un affichage de la partition au dessus du piano (seulement les prochaines notes à jouer, afin de faciliter le suivi de la partition par l'utilisateur)
  • un affichage sur le piano des touches sur lesquelles il faut appuyer, avec la durée pendant laquelle il faut appuyer

Afin de faciliter l'apprentissage d'un morceau par l'utilisateur, pour chaque morceau de l'application, des doigtés seront pre-enregistrés et restitués dans l'affichage. En effet, on peut imaginer un système où on associerait chaque doigt à une couleur :

  • chaque note à jouer serait affichée sur la partition de la couleur du doigt qui doit la jouer, et
  • chaque touche sur laquelle l'utilisateur devra appuyer sera affichée de la couleur du doigt qui devra appuyer sur la touche

On pourrait éventuellement afficher un symbole d'erreur sur une touche lorsque l'utilisateur appuie sur une touche sur laquelle il n'est pas censé appuyé. Cependant, on ne souhaite absolument pas générer un son d'erreur dans ce cas : l'utilisateur doit entendre le piano de la même façon que s'il jouait sans notre application. Notre application ne gèrera donc en aucun cas des sons.


État des lieux de ce qui a été réalisé

Généralités

Nous ne disposons pas de vrai piano. Nous avons donc réalisé notre application en utilisant une Keystation Mini 32, qui ressemble à un vrai clavier de piano et qui se branche sur ordinateur par prise USB. Nous avons créé notre dispositif avec le langage Python, en utilisant le module Pygame et la bibliothèque Midi qui permettent de récupérer facilement les informations transmises par la Keystation Mini 32 que nous utilisons.

Difficulté rencontrée: Dans nos critères principaux, il y avait le fait de ne pas altérer le son produit par le piano. Nous n'étions donc pas censé gérer des sons dans notre application. Or lorsqu'on branchait la Keystation à l'ordinateur, aucun son n'était naturellement produit lorsqu'on appuyait sur des touches du piano. Nous avons donc mettre en place nous-même ce système de son en réponse aux appuis sur des touches. Nous avons quand même fait en sorte de ne produire que le son de chaque touche lorsqu'on appuie dessus, et rien d'autre.


Nous avons sélectionné quelques morceaux de difficulté facile, ne se jouant qu'avec une partie de main droite, et nous les avons rentrés nous-même "à la main" dans notre application. Nous avons également rentré à la main les doigtés qui allaient avec.

Difficulté rencontrée: Ce système de rentrer les partitions "à la main" convient pour un projet d'étude tel que celui-ci, mais s'il y avait des suites, il faudrait réfléchir à un meilleur moyen de rentrer les partitions (avec un système de parseur sur un format de partition déjà existant ?), et de rentrer les doigtés (ou de réfléchir à un algorithme qui pourrait trouver des doigtés appropriés)


Signalements d'erreurs : Lorsqu'une touche du piano est appuyée alors qu'elle devrait être relâchée, non seulement l'utilisateur va entendre une fausse note dans le morceau, mais en plus, on va lui signaler son erreur en affichant une croix rouge centrée sur ladite touche.

Affichage des notes sur la partition

Nous avons implémenté un affichage de partition au dessus du clavier. Seules les 2 dernières notes qui devaient être jouées, la note courante, et les 5 notes suivantes (environ) à jouer sont affichées. Toutes les notes sont affichées en noir sur la partition, exceptées la note courante et la prochaine note qui sont affichées de la couleur des doigts respectifs qui devront les jouer. Ceci a pour but d'attirer l'oeil de l'utilisateur sur la note qu'il doit jouer et la note suivante.

Affichages sur le piano

Sur le piano, on éclairera la note courante (jusqu'à ce qu'elle doive être relâchée) et la prochaine note à jouer.


Photo d'un utilisateur sur notre dispositif

Difficultés rencontrées: Rendre la répétition de notes possible et comprendre précisément à quel moment appuyer et relâcher les touches: il a fallu trouver une interaction qui satisfaisait ces deux critères. Nous avions tout d'abord pensé à un rectangle qui se remplissait jusqu'à ce qu'il faille appuyer, puis qui se vidait jusqu'à ce qu'il faille relâcher, mais c'était impossible car lorsqu'il fallait jouer plusieurs fois de suite la même note, le rectangle n'avait pas fini de se vider au moment où il començait à se re-remplir, et cela rendait indétectables les moments où il fallait relâcher la touche pour rappuyer dessus. On a donc implémenté les affichages décrits ci-dessous:


Affichage de la prochaine touche à jouer : On a un délai tel que : si la prochaine note doit être jouée dans un temps inférieur à ce délai, alors la touche de la prochaine note s'entoure par un rectangle de la couleur du doigt qui va devoir appuyer sur la touche, et la couleur s'intensifie jusqu'au moment où on va devoir appuyer sur la touche. Ce délai a finalement été réglé à une demi-seconde.

Affichage de la touche courante : Juste avant qu'on doive appuyer sur une touche, cette touche est entourée d'un rectangle de la couleur du doigt qui va devoir appuyer dessus. Au moment où on doit appuyer sur cette touche, le rectangle devient entièrement rempli de cette même couleur, et il se vide peu à peu, des extrémités vers le centre, jusqu'à ce que la touche reprenne sa couleur normale, et ce moment correspond au moment où on doit relâcher la touche.


Difficulté rencontrée: Affichage des touches noires : La projection sur du noir n'est pas très visible. Pour palier à ce problème, lorsqu'on doit faire des affichages sur des touches noires, on va dépasser des deux côtés de la touche noire, afin que l'éclairage soit plus mis en évidence. En réponse à cette correction, lorsqu'on éclairera des touches blanches, on va seulement éclairer le bas des touches blanches, afin d'éviter des intersections non-souhaitées entre es éclairages de touches noire et blanche adjacentes.



Évaluation de l'interaction créée

Le but de notre projet n’est pas de développer un prototype correspondant à notre objectif final d’implémentation sur des lunettes de réalité augmentée, mais de réaliser un prototype qui servira uniquement pour tester ce type d’interaction, pour savoir si elle est suffisamment qualitative pour éventuellement s’engager sur le chemin des lunettes de réalité virtuelle. Par conséquent, nous nous contentons d’utiliser un mini-piano sur lequel nous projetterons une image via un vidéo-projecteur. Nous constatons que les éléments projetés sont d’une visibilité tout à fait acceptable, même dans une pièce lumineuse.


Nous développons un dispositif d’apprentissage, il est donc peu pertinent d’essayer de mettre en place une procédure visant à atténuer l’impact de l’apprentissage dans nos évaluations de la qualité de l’interaction. Nous allons examiner ici les conséquences de cette particularité.

Procédure idéale

Photo d'un utilisateur sur l'équivalent WIMP

Pour rappel, notre projet d'apprentissage de piano par réalité augmentée a principalement deux buts :

  • à court terme : un apprentissage rapide de morceaux précis
  • à long terme : un apprentissage plus général du piano allant jusqu'à permettre à l'utilisateur de jouer sur un piano normal avec une simple partition et en se passant de notre dispositif

Pour tester l'objectif long-terme de notre dispositif, il faudrait prendre deux panels d’utilisateurs débutants. On leur ferait apprendre le piano, l’un utiliserait notre dispositif alors que l’autre apprendrait le piano de manière conventionnelle, avec un professeur puis en travail personnel. Il faudrait que les utilisateurs des deux panels passent en moyenne la même durée sur leur piano chaque jour. Régulièrement, on mesurerait les performances (avec une métrique à définir) de chaque panel sur un piano réel, sans notre dispositif. Le groupe obtenant les meilleurs résultats est celui qui a le mieux appris le piano.

Il s’agirait alors d’une expérimentation between subjects. Malheureusement, l’apprentissage du piano, prend beaucoup de temps, plusieurs semaines, même avec un objectif de compétence très basique. Ainsi, une telle évaluation est impossible dans le cadre de notre projet.


Ainsi, au lieu de tester si les objectifs globaux de notre projet sont atteints, nous allons plutôt comparer notre application avec projecteur à son équivalent WIMP.


Équivalent WIMP : Au lieu d'utiliser un projecteur, les affichages se font sur un écran. Sur cet écran se trouve une photo du clavier qui est utilisé avec le projecteur, et tous les éléments qui étaient projetés sur le clavier sont affichés par dessus le clavier.

Notre procédure

Notre procédure est within-subject ; il donc deux panels, l’un testant notre interaction avec notre système puis son équivalent wimp, et l'autre testant d'abord l'équivalent wimp puis notre application.

Chaque participant va choisir deux ou trois morceaux parmi les 7 morceaux proposés. Le participant va ensuite jouer les morceaux choisis sur le premier dispositif qu'il doit tester, puis il va jouer les mêmes morceaux sur le deuxième dispositif. À chaque morceau que le participant doit jouer, il y aura d'abord une écoute du morceau avec le même affichage / éclairages des touches et de la participation qu'il y aura pendant la phase où le participant devra jouer lui-même le morceau (pendant cette phase, le clavier de piano ne produit aucun son). Puis pendant la phase où le participant joue, les différents affichages progressent à un tempo précédemment réglé par nous-même et sont indépendants de la manière dont le participant joue sur la clavier.

Résultats des évaluations

Groupe ayant testé avec projecteur en 1er

  • Débutant en musique :
    • Notes sur notre projet : un peu de mal avec les doigtés, mais les notes et rythmes sont globalement respectés ; du mal quand il faut jouer plusieurs fois de suite la même note rapidement
    • Notes sur l'équivalent WIMP : pas d'effort sur les doigtés, du mal à repérer les touches sur le clavier pour savoir où appuyer mais quand les touches sont repérées, les notes et rythmes sont respectés
    • Avis général :
      • "Sans projecteur on a plus de mal à caler les doigts, mais c'est parce qu'on regarde moins les doigts" (=> donc plus proche de ce qui se passe quand on joue du piano en lisant une partition)
      • "Avec projecteur on regarde plus le clavier, mais du coup on fait des meilleurs doigtés" (=> donc mieux pour prendre des bonnes habitudes de positions de mains et de doigtés)
      • Suggestion : "Au lieu de mettre des couleurs, mettre des icônes représentant les différents doigts de la main (pour moins regarder ses doigts tout le temps)"
      • Critique: "L'affichage de rectangle vide pour la prochaine note à jouer n'est pas très clair pour savoir quand on va devoir appuyer exactement"


  • Expérience en musique : 2 ans de piano il y a longtemps
    • Notes sur notre projet : doigtés, notes et rythmes respectés
    • Notes sur l'équivalent WIMP : difficultés à repérer les touches sur lesquelles appuyer ; tentative de respecter les doigtés mais pas souvent réussie
    • Avis général :
      • "Ne lit jamais la portée du dessus"


  • Expérience en musique : 12 ans de musique (autre que piano) ; a déjà touché à un piano mais jamais pris de cours
    • Notes sur notre projet : notes et rythmes respectés (bien que parfois tenté d'aller plus vite que le morceau) ; effort pour respecter les doigtés, souvent réussi
    • Notes sur l'équivalent WIMP : pareil qu'avec le projecteur, mais du mal à repérer les touches au début
    • Avis général :
      • "C'est difficile de jouer sans le projecteur après avoir joué avec le projecteur car on était habitué à regarder les touches"


Groupe ayant testé l'équivalent WIMP en 1er

  • Débutant en musique :
    • Notes sur notre projet : ne joue qu'avec son index ; notes et rythmes respectés
    • Notes sur l'équivalent WIMP : beaucoup de mal à repérer les touches ; ne joue qu'avec son index


  • Débutant en musique :
    • Notes sur notre projet : placement de doigts non respecté mais notes et rythmes respectés ; ne laisse pas toujours les doigts appuyés pendant toute la durée de la note ; répétitions de note repérées et respectées ; meilleur résultat qu'avec l'équivalent WIMP
    • Notes sur l'équivalent WIMP : beaucoup de mal à repérer les touches (un peu mieux sur la fin, après que le morceaux a été répété plusieurs fois) ; doigtés non respectés
    • Avis général :
      • Critique: "Le rectangle vide qui apparaît pour annoncer la note suivante est perturbant car on pense devoir appuyer dès que le rectangle apparaît"
      • Critique: "Le système des couleurs est un peu difficile car on ne se rappelle pas forcément de la couleur des doigts" ( => à vérifier sur le long terme )
      • Critique: "Avec le projecteur, les notes éclairées sont parfois cachées par les doigts"


  • Débutant en musique :
    • Notes sur notre projet : notes et rythmes respectés ; du mal à respecter les doigtés au début mais mieux sur la fin ; répétitions de notes réussies
    • Notes sur l'équivalent WIMP : du mal à repérer les touches (mieux sur la fin)
    • Avis général :
      • "C'est très dur de se positionner sans projecteur quand on ne connait pas le piano"
      • "Le morceau est plus dur à jouer quand on n'a pas la mélodie en tête"
      • "L'affichage quand on doit jouer plusieurs fois de suite la même note n'est pas très clair"


  • Expérience en musique : 2 ans de piano puis 15 ans de saxophone
    • Notes sur notre projet : mieux calé sur le tempo qu'avec l'équivalent wimp
    • Notes sur l'équivalent WIMP : doigtés pas respectés ; joue en lisant sur la portée, à un tempo plus rapide que ce qui est réglé ; ne suit pas les affichages sur le piano
    • Avis général :
      • Critique: "N'avait pas compris le système de deux notes colorées sur la portée : manque d'un cadre ou d'une flèche pour signaler quelle est LA note à jouer"

Analyse des résultats

Pour des utilisateurs ayant une légère et ancienne expérience en piano ou aucune expérience en piano, notre dispositif présente des meilleurs résultats à court terme (pour jouer le morceau en même temps que l'affichage). En effet, avec les éléments projetés sur le piano, tous les utilisateurs arrivent globalement à jouer les bonnes notes avec des rythmes plus ou moins respectés. Et sur l'équivalent WIMP, lorsque c'est la première interaction testée, les utilisateurs ont tous du mal à repérer les touches, et le résultat sonore (sans compter les doigtés) est peu satisfaisant tandis que lorsque l'équivalent WIMP est testé après la projection, les résultats sont meilleurs car les utilisateurs ont déjà joué eux-mêmes les morceaux et ont mémorisé quelques placements de doigts sur le clavier.
Ce résultat est assez encouragent quand aux capacités de notre dispositif pour satisfaire l'objectif de permettre aux utilisateurs de mémoriser et restituer un morceau avec notes et rythmes. En effet, il serait aussi possible que l'équivalent WIMP donne de meilleurs résultats pour cet objectif en habituant dès le début les utilisateurs à moins regarder les touches, même si l'apprentissage de morceaux serait plus long. Pour tirer une réelle conclusion sur cet objectif, il faudrait disposer de plus de temps et de participants pour faire une évaluation pertinente sur cet objectif.
De plus, on constate également qu'avec notre dispositif, il y a globalement plus d'effort pour respecter les doigtés (et que ces efforts sont plus réussis) qu'avec l'équivalent WIMP. Ainsi, notre dispositif permettrait peut-être à l'utilisateur de prendre des meilleurs habitudes de positionnements de doigt sur le long terme. Là encore, il faudrait faire une évaluation plus poussée.


Pour les utilisateurs expérimentés sur piano, notre dispositif est inutile (ce qui était le résultat attendu) puisqu'ils savent déjà lire les partitions et repérer les touches sur le clavier, et ils ne se soucient pas ou peu de l'affichage sur les touches.


Conclusion

Pour tester notre idée initiale, qui était d'utiliser des lunettes de réalité augmentée pour faciliter l'apprentissage du piano, nous avons été contraint d'utiliser un système de projection car les lunettes de réalité augmentée ne sont pas encore d'assez bonne qualité pour l'utilisation que souhaitions en faire. Ce système nous a permis de nous rapprocher de l'interaction avec des lunettes de réalité augmentée.
Cependant il y a quelques problèmes qui sont introduit avec ce système, et qui auraient pu être résolus avec des lunettes de réalité augmentée :

  • Utilisation de gommettes : pour que l'utilisateur comprenne le système de couleurs / doigtés et surtout qu'il puisse visualiser la couleur de chaque doigt plutôt que de faire un effort supplémentaire et difficile de mémorisation de la couleur associée à chaque doigt, nous avons dû utiliser un système de gommettes : coller sur chaque doigt une gommette de la couleur associée au doigt ; avec des lunettes de réalité augmentée, nous aurions pu non seulement éviter l'utilisation de gommettes, mais aussi permettre une meilleure visualisation des couleurs des doigts en repérant et coloriant virtuellement une plus grande partie des doigts
  • Affichage sur touches noires : avec le projecteur, pour afficher des élément sur des touches noires nous avons dû faire en sorte que l'image affichée sur les touches noires dépasse sur des touches blanches adjacentes, le résultat était satisfaisant par rapport au matériel fourni, mais non idéal
  • Touches cachées par les mains : les mains peuvent masquer l'éclairage sur les touches qui se trouvent en dessous ou juste à côté, ce problème a été remarqué lors des évaluations-pilotes et nous a également été remonté lors de "pré-évaluations non-officielles" ; cela pourrait être corrigé par une interaction avec lunettes de réalité augmentée


Bien que nous n'utilisions qu'une "approximation" de notre idée initiale, nous pouvons tout de même en tirer des conclusions. Nos évaluations que notre système se destine aux utilisateurs débutants. En effet avec il est beaucoup plus rapide d'apprendre à jouer des morceaux avec notre dispositif qu'avec son équivalent WIMP ; même en indiquant sur un écran sur quelles touches appuyer, la vitesse d'apprentissage est moindre qu'en éclairant directement les touches. Cependant pour des utilisateurs expérimentés, notre dispositif n'apporte pas grand chose, car ils savent déjà lire une partition et jouer en même temps.

Notre système, dans son état actuel, ne semble pas être utile au long terme. En effet les utilisateurs débutants se concentrent sur l'éclairage des touches, et ignorent complètement la partition. Il semble donc peu probable qu'ils apprennent à lire les partitions via ce système, même après une longue période d'utilisation. De plus il paraît difficile d'apprendre via notre outil des morceaux complexes, avec beaucoup d'accords s'enchaînant rapidement, car l'éclairage des touches deviendrait confus et il y aurait une surcharge d'information visuelle à digérer pour l'utilisateur. Dans notre projet, nous n'avons implémenté -et donc évalué - que des morceaux se jouant avec une seule main et sans double note (jamais plusieurs doigts de la main en même temps). Il faudrait réfléchir à un affichage permettant de jouer des morceaux avec deux mains et des doubles notes, afin de permettre à l'utilisateur de ne pas se limiter à des morceaux de niveau débutant.


Pour rendre le système plus intéressant aux utilisateurs expérimentés, une voie possible d'amélioration serait un meilleur suivi des erreurs, en donnant des statistiques détaillées sur les erreurs commises par l'utilisateur tout au long d'une partition. On aurait alors un deuxième mode d'apprentissage où, au lieu d'afficher les informations nécessaires à jouer le morceau, on afficherait les informations utiles pour se perfectionner plus rapidement.


En bref, notre système est un bon outil d'introduction au piano ou de ré-appropriation du piano. Il permet d'abaisser la difficulté initiale d'apprentissage du piano car on peut alors facilement se passer de partition. Cependant au long terme, un utilisateur expérimenté voudra apprendre à se passer de celui-ci, et commencer à apprendre à lire des partitions, ce que nous ne savons pas si notre dispositif actuel permet de faire après une utilisation prolongée.