VT2022 ASMR fiche

Authors

Florian CHAPPAZ: [mailto:florian.chappaz@etu.univ-grenoble-alpes.fr florian.chappaz@etu.univ-grenoble-alpes.fr]

Valentin DE OLIVEIRA: [mailto:valentin.de-oliveira@etu.univ-grenoble-alpes.fr valentin.de-oliveira@etu.univ-grenoble-alpes.fr]

Présentation du sujet
L'ASMR (Autonomous Sensory Meridian Response) est un phénomène qui se produit lorsqu'une personne écoute ou regarde quelque chose de spécifique et qui ressent une sensation de picotement ou de frisson le long de la colonne vertébrale et du cuir chevelu. Cette sensation est souvent décrite comme étant agréable et relaxante, et peut être déclenchée par différents types de stimuli, tels que des sons doux ou des mouvements lents.

L'objectif du projet est d'utiliser l'intelligence artificielle dans l'optique de générer des effets sonores similaires à ceux que l'on peut trouver sur Internet.

Technologies utilisées
Le projet GitHub ambient-music-generation est un projet open-source qui utilise l'apprentissage automatique pour générer de la musique.

Il utilise deux technologies principales:
 * 1)  Pachyderm : système de gestion de données en pipeline qui permet de traiter et de gérer des données massives de manière distribuée et sécurisée.
 * 2) Magenta : Le projet Magenta utilise des réseaux de neurones et d'autres techniques d'apprentissage automatique pour générer de la musique, des dessins et d'autres formes de création artistique. Il fournit également un kit de développement logiciel (SDK) qui permet aux développeurs de créer leurs propres applications d'IA pour la création artistique.
 * 3) MusicTransformer : un transformer fournit par magenta permettant de produire de la musique en analysant de la musique existante et en utilisant ce qu'il a appris pour en créer de nouvelle.

Fonctionnement du projet Github
Afin de générer des sons ASMR, il y a sur le projet github une marche à suivre pour y parvenir:


 * 1) On commence par créer un dossier dans lequel on met des fichiers au format MP3 sur lequel on veut entraîner notre IA.
 * 2) Un script est fourni nous permettant de normaliser nos fichiers. Ce script supprime tous les espaces et caractères spéciaux du nom du fichier
 * 3) On utilise Pachyderm pour convertir nos fichier au format mp3 vers le format wav
 * 4) Une fois les fichiers wav convertis, on les convertit vers un fichier midi. La conversion vers le format midi se fait en 2 temps car on utilise une librairie Magenta pour réaliser la conversion vers le format midi. Cette fonction prend en entrée un fichier .wav et nous donne le fichier .midi correspondant.
 * 5) Il faut convertir nos fichier midi vers un format que Tensorflow peut comprendre. Dans notre cas, on va convertir les fichier midi vers un format intitulé TFRecord. C’est un format pour stocker une séquence d’enregistrements binaire
 * 6) On peut maintenant entraîner notre modèle avec les fichier TFRecord que l’on a récupérés. Une fois le modèle entraîner on peut le sauvegarder pour éviter à entraîner le modèle à chaque fois que l’on veut l’utiliser
 * 7) On peut commencer la génération qui prendra plus ou moins de temps en fonction de la puissance de calcul de la machine utilisé.
 * 8) Les fichiers générés sont au format .midi, on les ouvre dans un éditeur musicale (FLStudio, GarageBand, ect.) afin d'appliquer un effet sur les notes pour rendre le résultat plus intéressant.

Explication technique
Explication MusicTransformer: Dans une chanson, il y a souvent des éléments qui reviennent à différents niveaux, comme des petits motifs, des phrases et des parties comme le couplet et le refrain. Pour créer une chanson qui a du sens, un modèle doit se souvenir de choses qui se sont déjà passées et les utiliser de nouveau, en changeant un peu ou en les développant davantage pour ajouter du contraste et de la surprise. Un Transformer est un type de réseau neuronal artificiel utilisé pour des tâches de traitement du langage naturel. Pour générer de la musique, on utilise un modèle de Transformer dit d'auto-attention relative. L'auto-attention relative est capable de capturer, pour une note, les différences relatives de timing et de hauteur qui sont des dimensions importantes en musique. Une différence relative entre plusieurs notes permet de contribuer à la structure et l’ambiance générale d’une composition