211service.com
Une machine d'apprentissage en profondeur écoute Bach, puis écrit sa propre musique dans le même style
Johann Sebastian Bach est largement considéré comme l'un des grands compositeurs de musique baroque. Bach a vécu et travaillé en Allemagne au XVIIIe siècle et est vénéré pour la beauté de ses compositions et sa maîtrise technique de l'harmonie et du contrepoint.
Une forme de musique dans laquelle Bach excellait était un type d'hymne polyphonique connu sous le nom de cantate chorale. Celles-ci sont basées sur des textes luthériens et chantées à quatre voix. Le compositeur commence par un air bien connu qui est chanté par la soprano, puis compose trois harmonies chantées par les voix d'alto, de ténor et de basse. Bach a écrit plus de 300 courtes compositions chorales.
Ces compositions ont attiré les informaticiens car leur processus de production est progressif et algorithmique. Mais le faire bien est aussi difficile en raison de l'interaction délicate entre l'harmonie et la mélodie. Cela soulève une question intéressante : une machine pourrait-elle créer des chorals dans le même style de Bach ?
Aujourd'hui, nous obtenons une réponse grâce aux travaux de Gaëtan Hadjeres et François Pachet aux Laboratoires d'Informatique Sony à Paris. Ces gars-là ont développé un réseau de neurones qui a appris à produire des cantates chorales dans le style de Bach. Ils appellent leur machine DeepBach (voir aussi AI Songsmith Cranks Out Surprisingly Catchy Tunes ).
Après avoir été formé sur les harmonisations de choral par Johann Sebastian Bach, notre modèle est capable de générer des chorals très convaincants dans le style de Bach, disons Hadjeres et Pachet. En effet, environ la moitié du temps, ces compositions trompent les experts humains en leur faisant croire qu'elles ont en fait été écrites par Bach.
La technique d'apprentissage automatique est simple. Hadjeres et Pachet commencent par créer un ensemble de données pour former leur réseau de neurones. Ils commencent par 352 chorals composés par Bach, puis les transposent dans d'autres tonalités qui se situent dans une gamme vocale prédéfinie, pour donner un ensemble de données de 2 503 chorals. Ils en utilisent 80 % pour entraîner leur réseau de neurones à reconnaître les harmonies de Bach et le reste pour le valider.
La machine produit alors ses propres harmonies dans le style de Bach. L'équipe teste l'appareil en lui donnant une mélodie, qu'elle utilise ensuite pour produire des harmonies pour trois autres voix, l'alto, le ténor et la basse.
Alors que d'autres approches algorithmiques peuvent également le faire, une question importante est de savoir dans quelle mesure elles se comparent toutes au travail de Bach. Pour le savoir, l'équipe a demandé à plus de 1 600 personnes d'écouter deux harmonies différentes d'une même mélodie. Plus de 400 d'entre eux étaient des musiciens professionnels ou des étudiants en musique. Chacun devait déterminer laquelle des deux harmonies ressemblait le plus à Bach. L'équipe a également inclus des harmonies produites par d'autres algorithmes dans ce test.
Les résultats rendent la lecture intéressante. Lorsqu'on leur a donné une harmonie générée par DeepBach, environ la moitié des votants ont jugé qu'elle avait été composée par Bach. C'est nettement plus élevé qu'avec la musique générée par tout autre algorithme. Nous considérons que c'est une bonne partition compte tenu de la complexité des compositions de Bach, disons Hadjeres et Pachet.
Même confrontés à de la musique composée par Bach lui-même, les participants n'ont jugé cela correctement que 75% du temps.
C'est un travail intéressant qui a des implications fascinantes. S'il est possible pour une machine d'apprentissage en profondeur de produire des chorals dans le style de Bach, alors pourquoi pas aussi dans le style d'autres compositeurs et peut-être même d'autres styles de musique ?
Cela pourrait fournir un moyen intéressant d'analyser les compositions et d'étudier la nature de la créativité. Cette méthode n'est pas seulement applicable aux chorals de Bach, mais englobe un large éventail de musique chorale polyphonique, de Palestrina à Take 6, disons Hadjeres et Pachet.
Dans de nombreux cas, ce sera plus facile à dire qu'à faire. Les chorals de Bach sont très structurés et suivent des règles spécifiques dans leur construction, bien qu'un grand nombre d'entre eux. Les autres formes de musique ne sont pas toujours aussi organisées.
Néanmoins, les machines d'apprentissage en profondeur des laboratoires de Sony et d'ailleurs ont commencé à produire des morceaux de musique appréciés. Il ne sera pas surprenant que ces machines commencent bientôt à accepter des œuvres plus ambitieuses telles que des symphonies, des opéras, etc. Bach aurait sûrement été étonné !
Réf : arxiv.org/abs/1612.01010 : DeepBach : un modèle orientable pour la génération des chorales de Bach