Ce projet est le premier de 6 projets que je souhaite réaliser jusqu’en Juin 2020, soit 1 projet par mois à finaliser et présenter ici. Je suis entrain de rédiger un fil conducteur de l’ensemble des projets, j’en parlerai plus tard.
J’ai décidé de renforcer mes compétences en Javascript pour réaliser des expériences émotionnelles en ligne (Site internet créatif, installation interactive, audio, jeux vidéos…)
Pour se faire j’ai bien sûr chercher des inspirateurs et les cours de Dan Shiffman sont incontournable lorsque l’on parle de ‘Creative Coding’ :
‘The nature of code’ et sa chaine Youtube ‘The Coding Train‘.
Il a fait une série à propos du Machine Learning et de la reconnaissance vocale. Je suis aussi musicien et j’ai tout de suite accroché sur le fait de pouvoir interagir avec la machine via l’audio. L’idée de faire mon 1er projet avec du Machine Learning et la musique est assez motivante pour me challenger.
Techniquement :
Ce projet utilise le model ‘CREPE’ : Convolutional REpresentation for Pitch Estimation que j’utilise avec la librairie ML5.js et P5.js.
- Lire le papier ici : https://arxiv.org/abs/1802.06182
- Voir la fonction de la lib ml5.js : https://ml5js.org/reference/api-PitchDetection/
Ce model à été entrainé pour détecter les tonalités monophonic d’un signal audio ( 10ms de time steps) Ici je l’utilise avec le micro connecté à un navigateur web, que se soit avec la voix ou n’importe quel instrument.
Qu’est-ce que fait ce petit jeu :
Une mélodie défile de droite à gauche, et grâce au micro connecté au navigateur on peut soit chanter, jouer de la guitare, du synthé ou ce que vous voulez pour reproduire les mêmes notes que la mélodie. Lorsque l’on produit un son, un repère visuel vient se dessiner au milieu de l’écran et l’on peut le diriger de haut en bas en jouant des notes. Plus une note est haute plus le visuel est haut sur l’écran. Cela se transforme donc en petit jeu, car dés que l’on est synchro avec les notes de la mélodie on gagne des points.
Le principe de base est là, ensuite je peux rajouter des fonctionnements. Car il y a le concept de musique générative qui peut être ajouté. Et carrément apprendre à la machine de rejouer des sons provenant de notre voix ou de l’instrument utilisé, ou des deux mixé… bref et il y a énormément de possibles et je me laisse opportunité d’expérimenté car je suis là pour ça.
Pour suivre le process :