Grammaires génératives

On peut définir grossièrement les grammaires génératives comme un outil permettant de générer une séquence musicale finie à partir d’un ensemble de règles structurées de façon hiérarchique. C’est en raison de cette logique arborescente que l’on considère parfois les L-systèmes comme des grammaires génératives. Ce qui distingue principalement les grammaires génératives des autres outils de composition algorithmique, c’est leur attention à la structure. Là où d’autres outils génèrent une séquence de façon linéaire, une suite d’états successifs sous forme de flux (chaînes de Markov, automates cellulaires…), c’est ici sur la forme générale, possédant un début et une fin, que se fonde l’analyse et la génération de nouvelles séquence. C’est ainsi que cet outil est plutôt utilisé pour des objets musicaux où la structure globale importe : grille d’accords (blues…), comptines, berceuses, chorals, etc. En contrepartie, le processus de construction des règles peut parfois sembler fastidieux et d’une sophistication disproportionnée en regard du résultat obtenu. A la tangence de l’analytique et du poïétique, les grammaires génératives sont parfois utilisées en musicologie comme moyen de valider la pertinence des critères d’analyse.

Il s’agit donc de partir d’un corpus musical préexistant, suffisamment réduit et homogène, et d’en déduire un certain nombre de règles. Ces dernières peuvent éventuellement faire appel à d’autres concepts de musique algorithmique tels que des outils stochastiques (par exemple des chaînes de Markov). L’application de ces règles permet de générer de nouvelles pièces basées sur le modèle du corpus analysé. L’une des principales difficultés de cette approche est le temps nécessaire pour formaliser les règles de la grammaire en amont du processus de création : c’est pourquoi plusieurs chercheurs ont proposé des techniques visant à automatiser cette étape (“grammatical inference”).

Sundberg et Lindblom

En 1976, Johann Sundberg et Björn Lindblom créent une grammaire générative à partir d’un corpus de comptines suédoises de 8 mesures datant de la fin du XIXe siècle, composées par Alice Tegnér.

Comme dans la phonologie générative de Chomsky, la structure générale est un arbre de hiérarchies. Le concept de “contour de dominance”, utilisé initialement pour définir l’accentuation dans l’intonation d’une phrase, sera ici employé pour créer des accords et des durées. Rappelons l’application de ce principe en phonologie :

La phrase est décrite en composants hiérarchiques : nom, verbe, adjectif possessif, nom. Ces deux derniers sont ensuite rassemblés en groupe nominal, qui forment à leur tour avec le verbe un groupe verbal, et l’ensemble forme enfin la phrase.

Tout se passe comme si, à chaque fois que l’on retire la paire de parenthèses la plus intérieure (c’est-à-dire à chaque fois que l’on passe au niveau hiérarchique supérieur), on élargit le spectre des scores de dominance : on passe d’un score uniforme de 1, à 2 niveaux, puis 3. A chaque étape, une règle spécifique accorde la priorité à gauche ou à droite, déterminant ainsi l’endroit où le meilleur score de dominance (numériquement, le plus bas) sera situé.

En musique, la hiérarchie s’établira entre période, phrase, sous-phrase, mesure, temps. Dans l’exemple des comptines de 8 mesures composées pris par Sundberg et Lindblom, l’analyse en composants est la suivante :

La priorité à gauche sera accordée au niveau du temps fort, la priorité à droite au niveau des subdivisions suivantes (sous-phrase, phrase, période).

Cette suite de scores de dominance, appelée aussi “contour de dominance”, est la matrice à partir de laquelle seront générés successivement : les valeurs rythmiques, l’harmonie et la mélodie.

Examinons de plus près les “règles” définies à chaque étape du processus.

Rythme

Les règles pour créer le rythme sont soit obligatoires soit facultatives. Elles sont successivement :

  1. règle de séquençage : la séquence rythmique des 4 premières mesures sera identique à celle des 4 suivantes. Cette séquence sera de forme ABAA.
  2. règle de catalecte : supprimer les dominance de rang 5 lorsqu’il est précédé de dominance 1, ou 1-2, ou 1-2-3.
  3. règle d’insertion (facultative) : on peut insérer des valeurs de dominance 6 après 4 et 5 dans les premières mesures A et B.
  4. règle de pointage (facultative) : on peut pointer la durée d’une note immédiatement suivie par la valeur de dominance minimale.
  5. reporter les valeurs ainsi obtenues conformément au schéma de séquençage à la suite de la période.

Harmonie

La dérivation harmonique repose également sur une succession de règles obligatoires ou facultatives :

  1. seules les valeurs de rang 4 ou plus (donc 4, 3, 2, 1) peuvent introduire de nouveaux accords. On supprime donc toutes les valeurs de 5.
  2. (facultative) : on supprime certaines valeurs 4
  3. (obligatoire ?) Positionnement des accords introductifs (tonique) et accords-cibles (tonique précédée de la dominante)
  4. les accords dits “anticipés” (dominante) alternent avec les autres accords (notés V)

Mélodie

  1. règle de séquençage
  2. assigner obligatoirement une note de l’accord aux notes situées sur des points de rang de dominance supérieur à (donc 3, 2, 1)
  3. (facultatif) suspensions
  4. Pour les notes de valeur 4 : implication harmonique (note appartenant à l’accord), adjacence tonale (note intermédiaire entre deux hauteurs déjà définies), séquençage.
  5. Idem pour les valeurs au-dessus de 4. Pour les notes n’appartenant pas à l’accord, le principe d’adjacence tonale est utilisé, de façon conjointe.

Max Lin et Roman Kuhn

Ces derniers proposent une grammaire générative visant à générer des beats de hip-hop. Elle se base sur les règles suivantes, appliquées à la création successive, et dans cet ordre, des parties de :

  • Kick
  • Snare
  • Clap
  • Hi-Hat

1 – Kick

  • les doubles croches doivent au minimum être séparées par un silence d’une durée d’un quart de soupir
  • le 1er kick doit être placé sur le premier temps
  • jamais plus de 2 kicks espacés d’un silence entre eux d’affilée
  • le motif de kick doit avoir au moins un kick dans les 4 premiers temps et un kick dans les 4 derniers
  • la deuxième moitié du motif de kick ne doit pas être le même que la première moitié
  • il ne peut y avoir plus de 5 kicks pour 4 doubles croches ou moins de 2

2 – Snare

A utiliser avec parcimonie. Le motif de snare est souvent identique d’une chanson hip-hop à une autre. Les motifs hip-hop qui utilisent davantage la snare se dispensent souvent du clap. Placement très dépendant du kick

  • L’algorithme place par défaut la snare sur le 1er temps de la 3e mesure

3 – Clap

Dépend également très fortement du kick.

  • clap pas forcément utile si placé sur le même temps que le kick
  • clap sonne toujours correctement placé s’il est avant ou après un kick à distance d’un quart de soupir
  • le clap placé à distance d’un nombre impair de temps du kick sonne toujours correctement, mais ne sonne pas bien s’il est séparé d’un nombre pair de temps.

4 – Hi-hat

Son placement est très délicat car on remarque immédiatement s’il est mal positionné. Demi-pauses et pauses sont courantes dans les motifs de hi-hat.

  • le motif ne peut pas commencer par un silence
  • les roulements doivent être en triolets de croches ou en doubles croches
  • les roulements ne peuvent être que sur le 1er ou le dernier temps d’une mesure
  • deux roulements ne peuvent se succéder
  • 2 notes peuvent être rendues silencieuses à la fois pour un meilleur résultat, et ces silences ne peuvent se prolonger au-delà d’une mesure

Méthode pour le hi-hat :

  • créer un pattern consistant en une pédale de 16 doubles croches sans silence entre elles
  • certaines notes peuvent être subdivisées en roulement de triolets ou de doubles
  • certaines notes peuvent être silencieuses

Cette grammaire a ensuite été encodée dans un programme Java, plaisamment appelé “BeatOven”. Voici un exemple de beat généré par la grammaire (la ligne rouge correspond au kick, la bleu à la snare, la jaune au clap et la verte au hi-hat) :

Pistes de lecture

 

 

(Illustration : Manuel de grammaire, Domaine public)