Les nouvelles technologies pour l’enseignement des mathématiques
Intégration des TICE dans l’enseignement des mathématiques

MathémaTICE, première revue en ligne destinée à promouvoir les TICE à travers l’enseignement des mathématiques.

Musique sérielle sous LibreOffice
Modéliser et écouter de la musique dodécaphonique sous LibreOffice – La partition des nombres premiers
Article mis en ligne le 10 avril 2015
dernière modification le 14 mai 2015

par Antoine Houlou-Garcia

Les liens entre mathématiques et musique sont très forts puisqu’il est possible de recréer la gamme à partir de calculs de ratios. À l’orée du XXème siècle, des compositeurs se sont tournés vers les mathématiques comme objet de composition, donnant ainsi naissance à la musique dodécaphonique.

Cet article peut être librement diffusé et son contenu réutilisé pour une utilisation non commerciale (contacter l’auteur pour une utilisation commerciale du contenu (notamment des partitions) ou des méthodes et procédés mis en œuvre dans l’article et dans les documents qui y sont joints) suivant la licence CC-by-nc-sa http://creativecommons.org/licenses/by-nc-sa/3.0/fr/legalcode.

Du même auteur

Nous proposons ici de modéliser mathématiquement ce type de composition musicale ainsi que d’écrire de façon automatique des partitions respectant les règles que s’est fixés ce type de musique. Loin de prétendre « faire de la musique » à travers ces modélisation simplistes, nous espérons néanmoins donner la possibilité d’en comprendre le fonctionnement.

Ce sera le lieu de donner aux élèves des connaissances musicales, mathématiques (arithmétique et algèbre), ainsi bien sûr que des compétences en écriture de « macros », ces programmes permettant de donner une profondeur à des outils comme Excel ou en l’occurrence LibreOffice Calc.

Dans cet article, nous montrerons comment produire des sons avec LibreOffice, comment générer de la musique dodécaphonique aléatoirement et, enfin, nous présenterons une création : la partition des nombres premiers. Mais avant cela, revenons sur ce qu’est la musique dodécaphonique.

« De la musique avant toute chose » [1]

Alors que pour de nombreuses personnes, la poésie est une inspiration émanant des Muses ou encore l’art d’être voyant [2] , le grand poète français François de Malherbe (1555-1628) considérait que le métier de poète consistait avant tout à être un « arrangeur de syllabes » [3] . De la même manière, si l’on souhaite prendre une définition très élémentaire, on peut considérer la musique comme une succession de sons.

Néanmoins, la musique, comme la poésie et n’importe quel art, suit des règles qu’elle se fixe. Ainsi, dans l’essentiel de la musique « occidentale » depuis le XVIIème siècle, et encore aujourd’hui dans les chansons du Top 50, c’est la tonalité qui est la règle utilisée. En quelques mots, une tonalité se définit comme une gamme de sept notes définissant ce que l’on appelle une octave. La tonalité la plus connue est bien sûr do-ré-mi-fa-sol-la-si et l’octave s’obtient en ajoutant le do qui suit le si ; il s’agit de la tonalité dite de do majeur.

Mais bien d’autres tonalités existent et permettent une coloration particulière. Ainsi, pour n’en citer qu’une, la tonalité de fa dièse mineur a souvent été utilisée dans la musique romantique. En dehors de la définition occidentale de la tonalité, d’autres échelles musicales existent comme la gamme pentatonique [4] , parfois appelée gamme chinoise (fa dièse, sol dièse, la dièse, do dièse, ré dièse).

Toutes ces gammes et tonalités ont une vocation harmonique : on ne souhaite pas créer de dissonances ou de choses assez étranges à l’oreille. Mais au début du XXème siècle, deux compositeurs vont proposer un nouveau système pour explorer d’autres possibilités musicales.

En effet, au début des années 1920, Arnold Schoenberg et Josef Matthias Hauer, indépendamment l’un de l’autre, vont théoriser et développer une nouvelle pratique musicale abolissant la notion de tonalité et ayant pour objet d’utiliser toutes les notes disponibles : le dodécaphonisme naît comme une musique atonale et basée sur les douze notes de l’octave. Ces douze notes peuvent être représentées par les touches blanches et les touches noires sur une octave de piano.

Mais pour ne pas s’en remettre entièrement au hasard des notes sur un clavier de plusieurs octaves, la musique dodécaphonique se dote d’une règle : une morceau est décomposé en séquences et chaque séquence doit faire entendre exactement une fois chaque son parmi les douze possibles. Ainsi, tous les sons doivent se retrouver dans une même séquence mais aucun ne doit se répéter. Cet exercice revient donc à faire des permutations des douze notes et à les enchaîner.
Une séquence dodécaphonique sera par exemple : mi-do-sib-fa#-la-lab-si-sol-ré-do#-mib-fa.

Générer une séquence dodécaphonique sur LibreOffice

Pour faciliter la modélisation, nous allons associer chaque note à un nombre entre 0 et 11, en respectant l’ordre de hauteur des notes : la note 0 sera plus grave que la note 1 et ainsi de suite.

Pour construire une séquence dodécaphonique de façon automatique, nous allons générer douze nombres au hasard et ensuite les classer. Cela nous permettra d’obtenir un vecteur dont les douze composantes seront des nombres de 0 à 11 classés dans un ordre qui définira la séquence. Par exemple, si on associe la valeur 0 au do, la séquence dodécaphonique mentionnée plus haut sera modélisée par : 4-0-10-6-9-8-11-7-2-1-3-5. On constate bien qu’aucun des chiffres n’est répété et qu’ils sont tous présents dans la séquence.

Pour générer notre séquence aléatoire, nous allons faire appel à la fonction ALEA sur douze cases alignées.

Puis nous allons classer ces douze résultats aléatoires grâce à la fonction RANG ; afin de ne pas obtenir des rangs de 1 à 12 mais bien de 0 à 11, nous allons soustraire 1 dans la formule. Nous obtenons ainsi, et de façon très aisée, une séquence dodécaphonique :

Générer plusieurs séquences

Maintenant que nous sommes parvenus à générer une première séquence, comment dérouler la suite de la partition ? Il serait bien sûr tout à fait possible de répéter cette séquence à l’envi, mais si nous souhaitons diversifier un peu, et de façon automatique, notre partition, comment pouvons-nous procéder ?

Une première solution consisterait à simplement ajouter 1 à tous les éléments de la ligne. On obtiendrai la même séquence augmentée. Comme nous sommes entre 0 et 11, la valeur 12 deviendrait automatiquement 0. Pour ce faire, on utiliserait la fonction MOD qui permet de calculer le reste modulo la valeur que l’on souhaite (12 en l’occurrence). Mais les écarts entre deux notes consécutives ne seraient pas différents d’une ligne à l’autre.

Pour obtenir des séquences suffisamment différentes, nous pouvons tenter de multiplier les éléments de la première ligne par une valeur. Mais nous nous apercevons rapidement que nous n’obtiendrons pas une séquence dodécaphonique car des nombres seraient répétés. En effet, si l’on multiplie par 2 toute la ligne, on obtiendra deux fois tous les nombres :

En termes algébriques, ce problème vient du fait que l’on est dans une structure de groupe quotient du type $\mathbb{Z} / n\mathbb{Z}$ avec n = 12. Or, nous pouvons utiliser une propriété de ce type de structure : p x $\mathbb{Z} / n\mathbb{Z}$ est isomorphe à $\mathbb{Z} / n\mathbb{Z}$ quand p et n sont premiers entre eux. Cela signifie que si l’on multiplie notre séquence dodécaphonique par un nombre premier avec 12 alors on obtiendra une succession de nombres deux à deux distincts, c’est-à-dire une séquence dodécaphonique.

En particulier, tous les nombres premiers hormis 2 et 3 sont premiers avec 12, ce qui nous permet de générer facilement d’autres séquences :

On obtient bien des séquences dodécaphoniques différentes. Pour s’assurer que ce phénomène est normal, on peut effectuer une démonstration rapide reposant sur des propriétés arithmétiques simples.

Démonstration : Supposons k et k’ deux entiers distincts compris entre 0 et 11. Soit p un nombre premier strictement supérieur à 3. Nous allons raisonner par l’absurde en supposant que le reste de la division de kp et de k’p par 12 est identique, ou, pour le dire autrement : kp mod 12 = k’p mod 12 . Cela signifie qu’il existe deux entiers n et n’ distincts (s’ils n’étaient pas distincts on aurait l’égalité de k et k’) et un entier q tels que : kp = 12n + q et k’p = 12n’ + q . Dans les deux équations, q est identique car c’est le reste de la division euclidienne, reste supposé égal dans le cadre de notre raisonnement par l’absurde.
On peut donc écrire : (k - k’)p = 12(n - n’) . De cette écriture, on peut déduire que 12 divise (k - k’)p . Or p étant premier avec 12, on en déduit immédiatement que 12 divise (k - k’), c’est-à-dire que (k - k’) est un multiple de 12.

Mais, vu que k et k’ sont compris entre 0 et 11, on a l’inégalité suivante : -11 $\leqslant $ k - k’ $\leqslant $ 11 . Or le seul nombre multiple de 12 dans cette fourchette est 0. On en déduit donc que la seule possibilité pour que notre hypothèse de départ (kp mod 12 = k’p mod 12) soit valide est que k - k’ = 0 c’est-à-dire k = k’ . Nous obtenons donc la contradiction recherchée.
On peut ainsi en conclure que deux entiers distincts multipliés par un nombre premier strictement supérieur à 3 donneront deux entiers distincts dans $ \mathbb{Z}/12\mathbb{Z}$ .

Nous remarquons que ces 4 séquences dodécaphoniques vont se répéter dans un ordre précis quand nous poursuivons la liste des nombres premiers. Nous pouvons repérer la succession des séquences en utilisant les fonctions CONCATENER puis RECHERCHEV :

Nous n’étudierons pas ici cette propriété car ce n’est pas l’objet essentiel du présent article. En effet, ce que nous souhaitons désormais faire, c’est de la musique ! Pour ce faire, nous allons devoir télécharger les sons des notes un par un afin de pouvoir les appeler au gré des besoins.

Les fichiers audio sont disponibles en fin d’article avec les classeurs LibreOffice.

Chaque note est associée à un nombre de 0 à 11 et est triplée : on aura par exemple les notes 1, 1m et 1r correspondant à trois rapidités d’exécution d’une même note. Ainsi, on pourra associer à toute note d’une séquence dodécaphonique une longueur : pour ce faire, il suffira d’associer à chaque note (représentée par un entier compris entre 0 et 11) un nombre aléatoire. Puis on décidera que la note sera jouée longue si le nombre aléatoire est supérieur à une certaine valeur (0.9 par exemple), moyenne si elle est comprise entre deux valeurs (0.8 et 0.9 par exemple) et rapide sinon. Cela nous permet, en l’occurrence, d’avoir en moyenne 80 % de notes rapides, 10 % de notes moyennes et 10 % de notes longues.

Pour produire la musique correspondant à notre partition, notre méthode va consister à associer à lire successivement les chiffres de la séquence dodécaphonique et les longueurs correspondantes. Cette opération va nécessiter l’écriture d’une macro que nous exposons ci-dessous :

Enfin, nous allons ajouter un bouton sur notre feuille de calcul permettant de lancer la macro et, par la même occasion, la musique. Pour ce faire, nous devons aller dans le menu Affichage puis Barre d’outils et enfin Contrôles de formulaire. Ensuite, on clique sur le bouton encadré en rouge dans la figure ci-dessous.

On peut alors dessiner le bouton, puis effectuer un clic droit sur ce même bouton pour afficher l’option « Contrôle » sur laquelle il faudra cliquer.

Ensuite, on peut aller dans « Exécuter l’action ».

Cela affichera une nouvelle fenêtre où on pourra sélectionner « Macro… » après quoi il suffira d’assigner la macro que l’on aura codée à ce bouton.

La « partition des nombres premiers »

C’est par ce nom que nous souhaitons présenter une partition dodécaphonique uniquement basée sur les nombres premiers où plus aucun aléa n’intervient ailleurs, éventuellement, que dans la longueur des notes. Cette suite parfaite s’obtient en imposant la première séquence et en changeant notre règle de calcul.
La première séquence sera une montée chromatique du 0 jusqu’au 11. On nomme chromatique cette séquence car elle permet de passer en revue toute l’octave demi-ton par demi-ton. Quant à notre méthode de calcul, elle va subir une légère modification : au lieu de multiplier la première ligne par les nombres premiers successifs, nous allons multiplier la ligne pour obtenir la ligne n par le ème nombre premier de la liste (c’est-à-dire le ème nombre premier, puisque 2 et 3 sont exclus de notre liste).
Voici comment procéder sur LibreOffice :

Cette partition a la particularité de faire intervenir de nombreuses montées et descentes chromatiques (éventuellement partielles) qui nous entraînent, sinon dans un mode infini, du moins dans une musique mathématique aux propriétés harmoniques nombreuses. À notre connaissance, cette partition n’a jamais été mise en évidence dans l’histoire de la musique dodécaphonique ; il s’agirait donc d’une véritable création musicale que nous vous proposons ici et que nous appelons la partition des nombres premiers.
Chose étonnante, il faut attendre la 57ème séquence pour retrouver la séquence initiale ; le nombre premier multiplicateur est 271. Voici une reproduction des premières lignes de la partition sous sa forme numérique à gauche et avec la transcription en notes de musiques à droite.

Il vous suffit désormais de lancer la macro pour écouter de la musique dodécaphonique construite à partir du hasard et des nombres premiers. Pour diversifier les enchaînements de séquences, on pourra appliquer de nouvelles règles de calcul : par exemple, multiplier par p et ajouter p, ou encore multiplier par p et ajouter le carré de p.

Quant à la longueur des notes, il est possible de l’imposer en écrivant « en dur » des nombres à la place de l’aléa ; il est également possible de « forcer » la partition à ne contenir que des notes rapides (il suffit, dans le programme, de poser r = 1 et m = 1), ou 80 % de notes rapides et 20 % de notes lentes (r = 0.8 et m = 0.8 ; on n’aura alors aucune note moyenne) et ainsi de suite.
À vous désormais de vous amuser à créer une infinité de nouvelles séquences dodécaphoniques grâce aux mathématiques !

Annexe : Comment faire marcher les macros

Pour que les fichiers LibreOffice puissent fonctionner, il faut tout d’abord enregistrer l’ensemble des fichiers audio (zip en bas de page) sur votre ordinateur dans un même dossier. (par exemple C :\musique)

Il faut également que les macros soient autorisées, pour cela allez dans le menu de LibreOffice : Outils/Options/Sécurité/Sécurité des macros et régler le niveau sur moyen.

Puis, pour que la macro puisse aller chercher ces sons lors de la lecture de la partition, il faut qu’elle en connaisse le chemin ; ainsi, vous devrez modifier le programme à l’endroit où est spécifié ce chemin.
Vous pourrez également modifier le nombre de phrases que vous souhaitez lire ou pour modifier la répartition des notes rapides, moyennes et longues.
Pour cela, il vous faut aller dans Outils/Macros/Gérer les macros/LibreOffice Basic comme indiqué ci-dessous :

Puis vous pourrez atteindre « Module 1 » dans le volet de gauche en déroulant les menus. Vous pourrez alors cliquer sur « Éditer » pour modifier le programme.

Vous devrez transformer les instructions If en remplaçant les chemins, C :\musique} dans notre exemple, qui sont écrits en rouge ici :

Par le chemin vers le dossier dans lequel se trouvent les fichiers sons.

Enfin, il ne vous restera plus qu’à enregistrer puis appuyer sur le bouton « Musique ! » pour écouter la partition.