Le programme Irlandais dans cette page, est un programme de composition algorithmique qui s’inspire de règles découvertes dans un corpus d’airs de danse irlandais (‘1001 Gems, The Dance Music of Irland’ (O’NEILL)).
La version initiale du programme date de 1995 et est décrite dans ma thèse, Atelier Incrémentiel pour la Musique Expérimentale chapitre 7.8.1.). Nous l’avons transcodé du langage C en JavaScript et apporté quelques modifications. Le mode d’emploi est simple : régler les paramètres, appuyer sur le bouton « » pour télécharger un nouveau fichier MIDI.
Ce fichier peut ensuite être envoyé dans une application externe, comme « Harmony Assistant » développée par Didier et Olivier Guillion (Myriad http://www.myriad-online.com/). Ce programme permet à partir du fichier MIDI d’éditer la partition, de la jouer et même de générer une page internet pour visualiser et jouer la musique (voir les exemples ci-dessous).
Nous avons choisi les reels et les hornpipes qui ont une structure rythmique binaire. Ces morceaux sont en général constitués de deux lignes de 8 mesures chacune, chaque ligne étant répétée deux fois, avant de reprendre au début ou d’enchaîner sur un autre morceau.
Un des éléments donnant la forme mélodique particulière de ses morceaux est que : un seul instrumentiste, avec un instrument essentiellement mélodique comme un violon, doit à la fois produire la mélodie, l’harmonie et le rythme pour faire danser. Les notes jouées les unes après les autres doivent si elles étaient superposée former un accord.
Un autre trait caractéristique est le fait qu’avec un violon, on peut enchaîner des séries de notes de la forme a x b x c x d x... en accompagnant ainsi la mélodie a b c d avec une sorte de basse continue x simplement en jouant sur deux cordes alternativement. Les mouvements des doigts de la main gauche ne contrôlant qu’une note sur deux, celle de la mélodie, la corde x étant à vide. Les airs sont joués rapidement, justement pour que les notes d’un temps soient perçues comme quasi simultanées.
La forme :
Souvent, une ligne (de 8 mesures), peut avoir la forme ABAC ou ABCB, où chaque lettre représente 2 mesures : le motif répété est soit le premier, introductif, soit le dernier, conclusif. Comme dans une fractale, une partie du motif peut être redécoupé en sous-parties respectant le même type de forme, jusqu’à l’échelle de la note, où pour jouer en un temps les trois notes a,b,c d’un accord, on fait entendre a b a c. Mais, et c’est là l’intérêt et la spécificité de chaque morceau : il n’y a rien de systématique.
Globalement, l’algorithme se déroule en deux phases :
1/ construction du thème initial,
2/ modifications par des plans de copies à différentes échelle sur le thème.
Tous les paramètres sont donnés sur une échelle de 0 à 1000. Quand un choix est à effectuer, on tire une valeur aléatoire entre 1 et 1000 et on la compare éventuellement à un paramètre, si la valeur tirée est inférieure à la valeur du paramètre, l’action correspondant au paramètre est effectuée.
Modulation
Le système est « modal », les notes sont choisies dans un des quatre modes Majeur, Mineur harmonique, Mineur mélodique ascendant et descendant. Plus le paramètre Modulation est élevé, plus il y aura de changements de tonalité et de mode dans la génération de la mélodie initiale.
Croches
Chaque temps est divisé en 4 parties (numérotés de 0 à 3) d’une durée d’une double croche.
Un temps peut se décomposer en 1+1+1+1, 1+1+2, 1+2+1, 2+1+1, 2+2, 1+3, 3+1, 4.
Quand on augmente le paramètre Croches, on augmente les chances de placer la durée 2 en position 0 et 2.
Doubles croches
Après le choix précédent, le paramètre Double croche vient augmenter les chances de remplacer la durée choisie par 1, c’est à dire une double croche.
Hornpipe
Dans les hornpipes, le rythme croche pointée - double est fréquent. Si on augmente le paramètre Hornpipe, on augmente les chances d’avoir des durées de 3 sur la partie de temps 0, et donc forcément une durée de 1 sur la partie de temps 3. Ce paramètre est appliqué après les deux précédents, et peut en anuler les effets.
Silences
Chaque durée déterminée dans les trois points précédent peut être jouée, ou devenir un silence. Plus le paramètre est élevé, plus il y a de silences.
Rupture
Le choix d’une note se fait en fonction de la précédente, avec une certaine continuïté de la mélodie, toujours dans l’ambitus, avec plus de chance de monter quand la note précédente est grave et inversement. Le paramètre Rupture s’il est élevé donne plus de chances de rompre la mélodie en ne tenant pas compte de la note précédente pour en choisir une nouvelle.
Répétition
Il s’agit de la répétition d’une note. Plus le paramètre est élevé, plus il y a de chance de répéter la note précédente (avec un intervalle mélodique nul).
Contiguïté
L’intervalle mélodique calculé au départ est de 1 degré (une seconde dans le mode courant). Le paramètre Répétition peut ramener cet intervalle à 0, mais sinon, l’intervalle peut être augmenté à la tierce ou même à la quarte. Le paramètre Contiguïté limite l’augmentation de l’intervalle mélodique.
Plan Accords
Au début du calcul, une table d’accord est remplie avec, pour chaque partie de temps correspondant à une double croche, le degré de la fondamentale d’un acord. Le schéma harmonique choisi est simple : I, IV, V, I pour quatre mesures de deux temps. C’est-à-dire Tonique, Sous-dominante, Dominante et retour à la Tonique.
Plus le paramètre Plan Accords est élevé, plus la mélodie sera influencée par les accords, mais seulement sur les parties 0 et 2 de chaque temps, les parties fortes, de la façon suivante : La note choisie plus haut par l’algorithme mélodique est comparée en degré au notes de l’accord et sera attirée vers la fondamentale, la tierce ou la quinte de l’accord.
Les notes des parties de temps 1 et 2 ne sont pas modifiées directement par ce paramètre, mais elle seront calculées d’après les notes influencées par l’accord.
Au maximum les plans de copies sont appliqués 6 fois chacun, les deux paramètres suivants donnent les chances d’appliquer ces plans.
Plan Local
Le plan local consiste à choisir une durée d’action et une position dans le thème, trouver la première note de cette période, et, dans cette période de temps, recopier la note choisie une fois sur deux en modifiant son intensité, et en remplaçant les notes initiales du thème.
Cela correspond aux séries de notes de la forme a x b x c x d x... décrite plus haut.
Plan Recopie
Enfin, le thème est modifié par les plans de recopie pour atteindre sa forme globale.
À chaque plan est choisie une échelle de temps : 4, 8, 16 ou 32 unités en doubles croches.
D’un bout à l’autre du thème en allant de 4 en 4 fois la taille du tronçon, les notes du tronçon sont recopiés deux tronçons plus avant. Par exemple, si la taille est de 4 doubles croches, le premier temps est recopié dans le troisième, puis le cinquième dans le septième, etc...
Finalement le thème, avec des variations issues des plans de recopies est produit dans une partition à deux voix.
Le thème final est d’abord exposé à l’unison.
Ensuite, la première voix joue les varaitions à rebours de l’historique tandis que la seconde joue les variations chronologiquement, dans l’ordre des variations successives.