Lire-la-musique

Lire la musique est une application web permettant de faire défiler une partition aléatoirement et indéfiniment. L’idée est de pouvoir s’entraîner à lire les notes sur une partition sans connaître à l’avance les notes ou la mélodie.

Fonctionnalités

Il est possible de changer le tempo, la signature, la gamme, le son de l’instrument et la clé. Les langues disponibles sont le français et l’anglais.
Pour l’instant ces changements ne sont pas très utiles, car les changements sont reflétés sur la partition, mais pas forcément pris en compte dans la génération de la partition.
Une partie accord est aussi en travail et accessible dans le code source, mais pas directement accessible depuis le site en ligne.

Aujourd’hui la partition se déroule tant que besoin avec des notes générées aléatoirement. Le but final est aussi d’avoir une partition générée qui puisse être agréable à écouter. On se rapproche de problématique d’intelligence artificielle trop complexe pour moi pour l’instant, mais c’est l’idée vers laquelle j’aimerais tendre. Dans le meilleur des mondes.

Motivation

Le but de cette application est double :

  • Premièrement, c’est un outil qui correspondait à un besoin que j’ai eu lors de mon apprentissage du piano. J’ai voulu créer mon propre outil qui puisse être adapté à mes besoins.
  • Deuxièmement, c’est une occasion pour moi de m’initier au développement web avec la librairie Javascript React. Ce projet était la bonne idée pour que je puisse tester en conditions réelles le développement avec cette librairie.

Technologies

  • React
  • Redux
  • MaterialUI
  • SVG, WebAudio

Les notes ont été enregistrées au piano par moi-même, d’où le son et la qualité parfois inégales des audios. L’affichage de la partition est fait en SVG tout simplement codés à la main par moi. J’aurais pu prendre une librairie pour afficher les éléments, et c’est surement ce que je ferais dans le futur. Mais c’était un petit challenge que je me suis lancé, d’où le fait que je n’ai pas pris la peine d’ajouter plus de type de notes pour l’instant. Par contre je ne pense pas que les clés de Sol et de Fa ont été faites par moi.

Le code source est disponible sur github : https://github.com/JeanDavidDaviet/piano

Feuille de route

Pour l’instant, une partie de la feuille de route est disponible dans le readme du Github. Il y a encore beaucoup de chose qui peuvent être améliorer, et beaucoup de fonctionnalités à ajouter que j’ai en tête. Il y a aussi quelques bugs et corrections dont je suis déjà conscient. N’hésitez pas à me faire des retours. La difficulté sur des projets comme celui-ci est de ne pas partir dans tous les sens. Quand tout est intéressant, c’est facile de tout vouloir faire, et au final de ne plus rien faire.

C’est un projet que j’ai démarré en 2018, et que j’avance au gré de mes envies et des périodes. Il n’y a pas de trackers qui me permette de dire s’il y a des utilisateurs de l’application. Si oui tant mieux, si non, ce n’est pas grave, j’aime développer ce projet de temps en temps. Y revenir pour simplement mettre à jour les dépendances, ou alors directement développer une fonctionnalité, refactoriser du code, etc… c’est ce que j’aime : la liberté de pouvoir créer, adapter, modifier, sans contrainte.