Glossaire des Langages Formels et de la Compilation

Un index de tous les termes techniques utilisés dans cette série d’articles, classés par ordre alphabétique.


A

\stretch
Clé SuperCollider qui multiplie la durée de chaque événement par un facteur. \stretch, 0.75 compresse le temps de 25%. Utilisé pour la traduction des expressions polymétriques (\stretch = M/N).
→ Voir B7

Action (CCS)
événement observable qu’un processus peut effectuer. Trois types : action $a$, co-action $\bar{a}$, action interne $\tau$.
→ Voir L12

Adjunction
opération centrale des TAG. Consiste à insérer un arbre auxiliaire à un noeud interne d’un arbre existant, en « découpant » le sous-arbre et en le rattachant au noeud pied. C’est ce qui distingue les TAG des CFG.
→ Voir L9

Affaiblissement
remplacement d’une postcondition par une condition plus faible (moins précise mais toujours correcte). Si x = 6 est vrai, alors x > 0 l’est aussi : on a affaibli la postcondition.
→ Voir L8

Aftertouch
pression exercée sur une touche après l’attaque initiale. Permet d’ajouter de l’expression aux notes tenues (vibrato, crescendo…).
→ Voir I4

Aksak
Terme turc signifiant « boiteux ». Désigne les rythmes asymétriques courants en Turquie et dans les Balkans (ex : 2+2+2+3).
→ Voir B5

Algèbre initiale
algèbre dont il existe un unique homomorphisme vers toute autre algèbre de même signature. L’AST d’un langage est une algèbre initiale : il existe une seule façon de l’interpréter dans un domaine sémantique donné.
→ Voir L11

Alphabet (V ou Σ)
Ensemble fini de symboles utilisables dans une grammaire. Σ désigne souvent les terminaux seuls, V l’ensemble complet.
→ Voir B2

Alter
Modification de la hauteur d’une note en MusicXML (dièse ♯ = +1, bémol ♭ = -1, naturel ♮ = 0).
→ Voir I5

Ambiguïté (grammaire)
Propriété d’une grammaire où une même chaîne peut être dérivée de plusieurs façons différentes (plusieurs arbres de syntaxe possibles).
→ Voir B1

Ambiguïté structurelle
Propriété d’une phrase qui admet plusieurs arbres de dérivation pour la même grammaire. Fréquente en reconnaissance, absente en génération.
→ Voir L13

ANAL (mode)
Mode analytique du Bol Processor — la grammaire teste si une séquence appartient au langage (modus tollens).
→ Voir L13

Analysis-by-synthesis (analyse par synthèse)
Paradigme de reconnaissance où le récepteur génère des candidats internes et les compare au signal reçu. L’analyse contient la synthèse comme sous-processus.
→ Voir L13

Arbre (informatique)
Structure de données hiérarchique avec une racine, des nœuds intermédiaires et des feuilles. Chaque nœud (sauf la racine) a un unique parent.
→ Voir M6

Arbre de dérivation (arbre de syntaxe)
Représentation visuelle d’une dérivation, avec le symbole de départ à la racine et les terminaux aux feuilles.
→ Voir B1

Arbre de réduction
Structure hiérarchique où chaque niveau simplifie le niveau inférieur en ne gardant que les éléments structurellement importants.
→ Voir M6

Arbre de syntaxe
Représentation arborescente d’une dérivation, avec le symbole de départ à la racine et les terminaux aux feuilles.
→ Voir B3

Arpège
notes d’un accord jouées successivement plutôt que simultanément
→ Voir M3

Articulation
Indication de la manière de jouer une note (staccato, accent, tenuto…).
→ Voir I5

Assertion
propriété logique sur l’état du programme à un point donné. Les préconditions et postconditions sont des assertions.
→ Voir L8

AST (Abstract Syntax Tree)
Représentation arborescente et structurée du code source, indépendante de la syntaxe textuelle. L’AST de BP3 a pour racine un nœud BPFile.
→ Voir B7

Attribut synthétisé (synthesized attribute) : attribut dont la valeur est calculée à partir des attributs des noeuds enfants. L’information circule de bas en haut dans l’arbre. Exemple : la valeur val d’un noeud d’expression arithmétique.

  • Attribut hérité (inherited attribute) : attribut dont la valeur est transmise par le noeud parent ou les frères situés à gauche. L’information circule de haut en bas ou de gauche à droite. Exemple : le type déclaré type_decl dans une liste de variables.
  • Graphe de dépendances (dependency graph) : graphe orienté dont les noeuds sont les instances d’attributs et les arêtes représentent les dépendances entre eux. S’il est acyclique, un ordre d’évaluation existe.
  • S-attributed

classe de grammaires d’attributs ne contenant que des attributs synthétisés. Évaluation en un passage bottom-up, compatible avec l’analyse LR.
→ Voir L10

Automate fini
Machine abstraite avec un nombre fini d’états, sans mémoire externe. Lit une entrée caractère par caractère et change d’état selon des règles de transition.
→ Voir L1

Automate fini (finite automaton) : machine avec un nombre fini d’états qui lit une entrée symbole par symbole. Reconnaît exactement les langages réguliers (Type 3). Voir L1.

  • BNF / EBNF (Backus-Naur Form / Extended BNF) : notation pour écrire des grammaires formelles. Utilisée pour spécifier la syntaxe des langages de programmation. Voir L3.
  • Context-free (hors-contexte) : type de grammaire (Type 2) où chaque règle remplace un seul symbole, indépendamment du contexte. Permet la récursion et l’imbrication. Voir L2.
  • Data byte

octet MIDI dont le bit de poids fort est 0 (valeurs 0-127). Porte les paramètres des messages (note, vélocité, valeur CC…).
→ Voir M1

Automate à pile
Automate fini augmenté d’une pile (mémoire LIFO). Peut empiler et dépiler des symboles, ce qui permet de gérer l’imbrication.
→ Voir L1

Automate à pile (pushdown automaton) : machine qui étend l’automate fini avec une pile (mémoire LIFO — Last In, First Out). Reconnaît exactement les langages context-free (Type 2). Un parseur XML est un automate à pile. Voir L1.

  • Automate d’arbre (tree automaton) : machine qui reconnaît des arbres (plutôt que des chaînes). Utilisée pour la validation de documents XML contre un schéma.
  • Context-free (hors-contexte) : type de grammaire (Type 2) où chaque règle remplace un seul symbole, indépendamment du contexte. Permet la récursion et l’imbrication — exactement ce que fait XML. Voir L2.
  • DTD (Document Type Definition) : ancien format de validation XML, correspondant à un langage d’arbre local. Supplanté par XSD depuis MusicXML 4.0.
  • Grammaire d’arbre (tree grammar) : grammaire qui opère sur des arbres plutôt que sur des chaînes de caractères. Les schémas XML sont des grammaires d’arbres.
  • Imbrication

propriété structurelle des langages context-free — un élément peut contenir d’autres éléments du même type, à profondeur arbitraire. C’est la clé du Type 2.
→ Voir M2

Axiome
règle d’inférence sans prémisse (conclusion toujours vraie). Exemple : ⟨n⟩ ⇓ n est un axiome car un nombre s’évalue toujours en lui-même.
→ Voir L6, L8

Élaboration
Note ou passage qui « décore » une note structurelle sans en changer le sens.
→ Voir M6

Émetteur (Emitter)
Module qui traverse l’AST et génère le code cible (ici, SuperCollider). Aussi appelé code generator ou backend.
→ Voir B7

Étoile de Kleene (*)
Opération sur un ensemble qui produit toutes les chaînes possibles formées avec ses éléments, y compris la chaîne vide. Si T = {a}, alors T* = {ε, a, aa, aaa, …}.
→ Voir B2

Ālāp
Ouverture d’un raga où les notes sont introduites progressivement (Sa, puis Sa-Re, puis Sa-Re-Ga…). Sa structure accumulative dépasse les capacités des flags (compteurs) et nécessite les extensions context-sensitive de BP3 (B6).
→ Voir B4, B6

Āvart
Un cycle complet de tāla. Un kayda peut s’étendre sur plusieurs āvart avant de conclure par un tihāī.
→ Voir B4


B

Balise
Élément de syntaxe XML encadré par < et >, comme <note> ou </note>.
→ Voir I5

Behaviorisme
Courant de psychologie (début XXe siècle) qui explique l’apprentissage uniquement par stimulus-réponse, sans référence à des structures mentales innées.
→ Voir M4

Big-step
sémantique où une transition (notée ) évalue complètement une expression jusqu’à sa valeur finale.
→ Voir L6

Bisimulation
relation entre deux processus telle qu’à chaque étape, toute action de l’un peut être imitée par l’autre, et réciproquement. Plus fine que l’équivalence de traces : elle prend en compte la structure de branchement.
→ Voir L11, L12

Bit
unité élémentaire d’information (0 ou 1). 7 bits = 128 valeurs possibles (0-127).
→ Voir I4

BNF (Backus-Naur Form)
notation pour décrire la syntaxe d’un langage. e ::= n | e + e signifie « e est soit n, soit e + e ».
→ Voir L6

Bol
Syllabe mnémonique du tabla indien (ex : dha, dhin, tin, ta). Le « Bol » dans « Bol Processor ».
→ Voir B1, B5, B6, B7, M5

Bol (बोल) : Syllabe mnémonique du tabla (ex : dha, dhin, tin, ta). Le « Bol » dans « Bol Processor ». Chaque bol correspond à une frappe spécifique produisant un timbre distinct.

  • Chaîne (ou mot)

Séquence finie de symboles. Exemple : « abc » est une chaîne de 3 symboles.
→ Voir B2

Bottom ()
élément minimal d’un domaine, représentant l’absence d’information ou la non-terminaison. Se prononce « bottom » ou « fond ». Exemple : une boucle infinie a pour dénotation .
→ Voir L7

BP3
Bol Processor 3 — logiciel de grammaires musicales développé par Bernard Bel (voir I2)
→ Voir M3

BP3 (Bol Processor 3)
Logiciel de grammaires musicales développé par Bernard Bel (années 1990), conçu pour les musiques indiennes et africaines.
→ Voir M4, M5

BPFile
Nœud racine de l’AST BP3, contenant les headers (références fichiers, commentaires) et les blocs de grammaire.
→ Voir B7

BPM
Beats Per Minute (battements par minute). Mesure du tempo. 120 BPM = 120 noires par minute.
→ Voir I4

Broderie
Note ornementale voisine d’une note principale, qui s’en éloigne d’un degré puis y revient (ex : do-ré-do).
→ Voir M4

Broderie (voisin)
Note ornementale qui quitte une note structurelle par mouvement conjoint et y revient. Exemple : do-ré-do.
→ Voir M6


C

(conjonction)
connecteur logique « et ». P ∧ Q est vrai si et seulement si P et Q sont tous les deux vrais.
→ Voir L8

Cadence
Enchaînement d’accords qui ponctue la fin d’une phrase musicale (ex : V → I = dominante → tonique).
→ Voir M4, M6

Canal MIDI
subdivision logique (1-16) permettant d’adresser différents instruments sur un même câble. Comme 16 lignes téléphoniques indépendantes.
→ Voir I4

Catégorielle (distribution)
Distribution de probabilité discrète sur un ensemble fini de catégories, chacune avec son propre poids. Généralise le lancer de dé pipé à un nombre arbitraire de faces.
→ Voir B4

CCG (Combinatory Categorial Grammar)
formalisme grammatical où chaque mot porte une catégorie typée (comme (S\NP)/NP pour un verbe transitif) et les mots se combinent par des opérateurs (application, composition, type-raising).
→ Voir L9

CCS (Calculus of Communicating Systems) : algèbre de processus introduite par Robin Milner (1980). Opérateurs : préfixe $a.P$, choix $P + Q$, parallèle $P \mid Q$, restriction $P \setminus \{a\}$.

  • Composition parallèle

opérateur $P \mid Q$ (CCS) ou $P \parallel_A Q$ (CSP) qui exécute deux processus simultanément.
→ Voir L12

CCS (Calculus of Communicating Systems) : algèbre de processus introduite par Robin Milner (1980). Opérateurs : préfixe (a.P), choix (P + Q), parallèle (P | Q), restriction ((new a) P).

  • Composition parallèle

opérateur P | Q qui exécute P et Q simultanément. Les processus peuvent se synchroniser sur des actions communes.
→ Voir L11

CFG (Context-Free Grammar)
Grammaire Hors-Contexte. Grammaire où chaque règle remplace un seul symbole non-terminal, indépendamment du contexte environnant.
→ Voir B1

Chaîne croissante
suite d’éléments x₀ ⊑ x₁ ⊑ x₂ ⊑ ... où chaque élément a « plus d’information » que le précédent. Utilisée pour construire les points fixes.
→ Voir L7

Chaîne vide (ε)
La chaîne de longueur zéro, ne contenant aucun symbole. Notée ε (epsilon) ou λ (lambda).
→ Voir B2

Chomsky, Noam
Linguiste américain (né en 1928), fondateur de la théorie des grammaires génératives.
→ Voir M4

Classifieur de lignes
Première passe du parseur qui identifie le type de chaque ligne (commentaire, header, mode, préambule, règle) via des expressions régulières.
→ Voir B7

Combinateur
opération de combinaison dans les CCG. Les principaux sont l’application (avant/arrière), la composition (B), et le type-raising (T). Ils proviennent de la logique combinatoire de Curry.
→ Voir L9

Compas
Cycle rythmique du flamenco, structuré par des accents qui définissent l’identité de chaque palo (style). En rumba, le compas est un cycle de 4 temps (ou 8 croches) avec un pattern d’accents 3-3-2.
→ Voir M12

Compositionnalité
propriété selon laquelle la signification d’une expression composée dépend uniquement de la signification de ses composants. Exemple : la signification de « 2 + 3 » ne dépend que de la signification de « 2 », de « 3 » et de « + ».
→ Voir L5, L7

Compositionnalité sémantique
Principe (attribué à Frege) selon lequel le sens d’une expression se construit à partir du sens de ses parties (« gros chat » = sens(gros) + sens(chat)).
→ Voir M4

Compression temporelle
Fait de jouer plus de notes que le temps ne le permettrait normalement, en raccourcissant chaque note (M < N). Inverse de la dilatation.
→ Voir B5

Concaténation
mise bout à bout de chaînes. Notée · (point médian). "abc" · "def" = "abcdef".
→ Voir L6

Configuration
état complet d’un programme à un instant donné (expression à évaluer + environnement + mémoire). Notée ⟨e, σ⟩e est l’expression et σ l’état.
→ Voir L5, L6

Configuration (SOS)
Tuple représentant l’état complet du système pendant la dérivation. Pour BP3 avec flags et poids : (σ, φ, t, w) — chaîne de travail, environnement de flags, temps, fonction de poids.
→ Voir B4

Consonance/Dissonance
La consonance est la qualité d’un son stable et « agréable » (octave, quinte, tierce majeure). La dissonance est instable et appelle une résolution.
→ Voir M6

Context-free
Se dit d’une grammaire dont les règles peuvent s’appliquer indépendamment du contexte (ce qui entoure le symbole à réécrire).
→ Voir L1

Context-free (hors-contexte)
Propriété d’une règle qui s’applique quel que soit l’environnement du symbole. Le remplacement de A par xyz ne dépend pas de ce qui précède ou suit A.
→ Voir B1

Context-sensitive (sensible au contexte)
Propriété d’une grammaire où le remplacement d’un symbole dépend de son environnement. Correspond au Type 1 de la hiérarchie de Chomsky.
→ Voir B6

Control Change (CC)
message pour modifier des paramètres continus (volume, panoramique, sustain…). Identifié par un numéro (0-127) et une valeur (0-127).
→ Voir I4

Convergence
Propriété d’un processus qui tend vers un état final. Les poids décrémentaux convergent vers 0, forçant la terminaison.
→ Voir B4

Correction du compilateur
propriété qui affirme que la compilation préserve le sens. Formellement : le diagramme de Morris commute.
→ Voir L11

Correction partielle
propriété {P} C {Q} — si C termine, Q est vrai. Ne dit rien sur la terminaison.
→ Voir L8

Correction totale
propriété [P] C [Q] — C termine ET Q est vrai. Combine correction partielle et terminaison.
→ Voir L8

Cross-rhythm
Pattern rythmique où les accents d’une voix tombent systématiquement entre ceux d’une autre (rythme croisé).
→ Voir M5

Cross-serial dependencies (dépendances croisées)
structure syntaxique où deux séquences d’éléments se correspondent élément par élément, comme les sujets et verbes en néerlandais (A₁ A₂ A₃ B₁ B₂ B₃ où Aᵢ dépend de Bᵢ).
→ Voir L9

CSP (Communicating Sequential Processes) : algèbre de processus de Tony Hoare (1985). Synchronisation par événements partagés, avec trois modèles sémantiques (traces, échecs, échecs-divergences).

  • Downbeat

premier temps d’une mesure — le point de synchronisation naturel entre voix musicales.
→ Voir L12

CSP (Communicating Sequential Processes) : algèbre de processus introduite par Tony Hoare (1985). Synchronisation sur événements partagés, avec trois niveaux sémantiques (traces, échecs, échecs-divergences).

  • Diagramme commutatif

diagramme où tous les chemins entre deux points donnent le même résultat. Pour un compilateur : interpréter le source = compiler puis interpréter le cible.
→ Voir L11


D

· (doubles crochets)
notation standard pour « la fonction de dénotation ». e se lit « la dénotation de e » ou « ce que e signifie mathématiquement ».
→ Voir L7

Dataflow
paradigme où la computation est modélisée comme un graphe de flux de données entre nœuds de traitement
→ Voir M3

DAW
Digital Audio Workstation (station de travail audio numérique). Logiciel de production musicale (Ableton, Logic, FL Studio…).
→ Voir I4, M3

Descente récursive
Technique de parsage où chaque règle de grammaire correspond à une fonction qui s’appelle récursivement pour les sous-règles.
→ Voir B7

Design by Contract
méthodologie de programmation où les fonctions sont annotées avec des préconditions, postconditions et invariants. Inventé par Bertrand Meyer (Eiffel, 1986).
→ Voir L8

Dilatation temporelle
Fait d’étirer des notes pour qu’elles occupent plus de temps que leur durée normale (M > N).
→ Voir B5

Disjoint
Deux ensembles sont disjoints s’ils n’ont aucun élément en commun.
→ Voir B2

Distribution de probabilité
fonction associant à chaque résultat possible sa probabilité. La somme des probabilités vaut 1.
→ Voir L7

Divisions
Nombre de subdivisions par noire, définit la résolution temporelle du fichier.
→ Voir I5

Djembé
Tambour en forme de gobelet originaire d’Afrique de l’Ouest, joué avec les mains.
→ Voir M5

DOCTYPE
Déclaration en début de fichier XML qui indique le schéma (règles de structure) utilisé.
→ Voir I5

Domaine
structure mathématique avec un ordre partiel () et des propriétés de complétude ; sert d' »espace de valeurs » pour les programmes.
→ Voir L7

Domaine sémantique
ensemble mathématique dans lequel on interprète les programmes (entiers, fonctions, distributions…).
→ Voir L5, L7

Dominante
Le 5e degré de la gamme (ex : Sol en do majeur), qui crée une tension appelant la résolution vers la tonique.
→ Voir M4

Dominante (V)
Cinquième degré de la gamme, accord de tension qui appelle la tonique.
→ Voir M6

Downbeat
Temps fort, généralement le premier temps d’une mesure.
→ Voir M5

DSL
Domain-Specific Language — langage de programmation dédié à un domaine particulier
→ Voir M3

Dunun
Famille de tambours cylindriques à deux peaux (dununba, sangban, kenkeni) jouant des patterns en Afrique de l’Ouest.
→ Voir M5

Dynamique
Indication d’intensité sonore sur la partition (pp, p, mp, mf, f, ff — du plus doux au plus fort).
→ Voir I5

Décrément
Diminution d’une valeur. Dans <50-12>, le décrément est 12 : le poids perd 12 à chaque utilisation.
→ Voir B4

Dénotation
la valeur mathématique (fonction, ensemble, etc.) associée à une expression. Notée e pour l’expression e.
→ Voir L7

Dérivation
Séquence d’applications de règles partant du symbole initial (S) jusqu’à une chaîne ne contenant que des terminaux.
→ Voir B1, B2, B3, L6

Déterministe
système qui produit toujours le même résultat avec les mêmes entrées
→ Voir M3


E

embedInStream
Méthode SuperCollider qui insère les événements d’un pattern dans le flux d’une routine (Prout), permettant le contrôle dynamique du flux.
→ Voir B7

Encodeur / Décodeur
Dans le modèle de Shannon, l’encodeur transforme un message en signal (génération), le décodeur reconstruit le message depuis le signal (reconnaissance). Ils ne sont pas symétriques.
→ Voir L13

Enharmonie
en musique, deux notes de même hauteur mais d’orthographe différente (do# = ré♭). MIDI ne distingue pas les enharmoniques.
→ Voir I4

Entrelacement (interleaving) : modèle de concurrence où « A et B en parallèle » signifie « toutes les séquences possibles en alternant des actions de A et B ». Utilisé par CCS/CSP.

  • HTSPN (Hierarchical Time Stream Petri Nets) : extension hiérarchique des réseaux de Petri temporisés, utilisée pour les partitions interactives (Senac 1995, Allombert 2007).
  • Jeton (token) : marqueur dans une place d’un réseau de Petri. Représente une ressource, un état, ou une position dans l’exécution.
  • LTS (Labeled Transition System) : triplet $(S, \text{Act}, \to)$ — états, actions, transitions. Le modèle sous-jacent de CCS.
  • Marquage (marking) : distribution des jetons dans les places d’un réseau de Petri. Représente l’état global du système à un instant donné.
  • Music Petri Net

extension des réseaux de Petri adaptée à la description musicale (Barate, Haus, Ludovico, 2005).
→ Voir L12

Environnement
dictionnaire associant chaque variable à sa valeur. Noté ρ (rho). Exemple : {x ↦ 5, y ↦ 10}.
→ Voir L7

Environnement de flags (φ)
Fonction qui associe à chaque nom de flag sa valeur entière courante. Notation : φ(avart) = 4.
→ Voir B4

Event.silent(dur)
Événement SuperCollider qui n’émet aucun son pendant la durée dur. Utilisé pour les continuations de liaisons et les nœuds Lambda.
→ Voir B7

Expression régulière (regex)
Notation compacte pour décrire des motifs textuels. Équivalente en puissance à un automate fini.
→ Voir L1


F

Fan-out
paramètre des MCFG qui mesure le nombre de composantes qu’une règle peut manipuler simultanément. Fan-out 1 = CFG, fan-out 2 = TAG.
→ Voir L9

Fifths
Nombre d’altérations à l’armure, compté sur le cycle des quintes (positif = dièses ♯, négatif = bémols ♭).
→ Voir I5

Flag
Variable nommée attachée aux règles de BP3, servant de compteur conditionnel. Peut être testée, assignée, incrémentée ou décrémentée.
→ Voir B4

Fonction continue
fonction qui préserve les limites de chaînes croissantes. Nécessaire pour l’existence des points fixes.
→ Voir L7

Fonction mathématique
relation qui associe à chaque élément d’un ensemble de départ (domaine) exactement un élément d’un ensemble d’arrivée (codomaine). Exemple : f(x) = x + 1 associe à chaque entier son successeur.
→ Voir L5

Frege, Gottlob
Logicien allemand (1848-1925), fondateur de la logique moderne, à qui on attribue le principe de compositionnalité.
→ Voir M4


G

Garde
Condition qui doit être satisfaite pour qu’une règle puisse s’appliquer. Les flags en mode test (/avart/, /avart>2/) fonctionnent comme des gardes.
→ Voir B4

General MIDI (GM)
standard définissant 128 sons numérotés identiquement sur tous les appareils compatibles.
→ Voir I4

GPR (Grouping Preference Rule)
Dans GTTM, règle de préférence pour le groupement des notes en phrases.
→ Voir M4

GPR (Grouping Preference Rules)
Règles de préférence pour le groupement. Décrivent comment nous percevons les frontières entre groupes musicaux.
→ Voir M6

Graha bheda
Technique de transposition de raga par déplacement de la note fondamentale (Sa), faisant émerger un nouveau raga. Formalisable comme un homomorphisme BP3.
→ Voir B6

Grammaire
Ensemble de règles pour générer ou reconnaître un langage. Définie par des symboles terminaux, non-terminaux et des règles de production.
→ Voir L1, M1

Grammaire context-free (CFG)
Grammaire dont toutes les règles ont la forme A → γ (un seul non-terminal à gauche).
→ Voir L1

Grammaire générative
Ensemble de règles formelles capables de produire toutes les structures valides d’un langage.
→ Voir M4

Grammaire réversible
Grammaire conçue pour être utilisée dans les deux directions (génération et parsing) sans transformation. Exemples : GF, grammaires d’unification.
→ Voir L13

Grammaire universelle
Hypothèse de Chomsky selon laquelle tous les humains naissent avec des principes linguistiques innés.
→ Voir M4

GrammarBlock
Nœud AST représentant un bloc de grammaire avec un mode (ORD, RND, LIN, SUB, SUB1), un préambule et des règles.
→ Voir B7

GTTM
Generative Theory of Tonal Music — théorie de Lerdahl et Jackendoff modélisant la perception musicale
→ Voir M3

GTTM (A Generative Theory of Tonal Music)
Théorie de Lerdahl et Jackendoff (1983) formalisant la perception de la musique tonale.
→ Voir M4

GTTM (Generative Theory of Tonal Music)
Théorie générative de la musique tonale, développée par Lerdahl et Jackendoff (1983).
→ Voir M6


H

Hiérarchie
Organisation en niveaux emboîtés (arbre), où chaque élément appartient à un élément de niveau supérieur.
→ Voir M4

Hiérarchie de Chomsky
classification des langages formels en 4 types (Type 3 → Type 0) selon le pouvoir expressif croissant des grammaires nécessaires. Voir L1.
→ Voir M1

HomoApply
Nœud AST représentant l’application d’un homomorphisme. Trois variantes : MASTER (séquence source transformée), SLAVE (table de substitution, intégrée dans MASTER), REF (étiquette, non émise).
→ Voir B7

Homomorphisme
Fonction qui transforme chaque symbole d’une chaîne selon un mappage fixe, en préservant la structure (morphisme de monoïdes libres).
→ Voir B6, L11

HTML
HyperText Markup Language — langage de balises pour les pages web, cousin du XML.
→ Voir I5

Hémiolie
Polymétrie 3 contre 2 (ou 2 contre 3). Cas le plus courant de superposition métrique.
→ Voir B5, M5


I

(implication)
connecteur logique « implique ». P ⟹ Q signifie « si P est vrai, alors Q est vrai ».
→ Voir L8

IDyOM (Information Dynamics of Music) : Modèle statistique de prédiction musicale basé sur l’entropie d’un corpus. Modélise l’auditeur comme machine d’inférence.

  • Inférence grammaticale (grammar induction) : La « troisième direction » — retrouver la grammaire à partir d’exemples de phrases. Problème inverse de la théorie des langages formels.
  • Modus ponens / modus tollens

En logique, le modus ponens va de la règle vers la conséquence (si A alors B, A, donc B — direction générative). Le modus tollens va de l’observation vers la prémisse (si A alors B, B observé, donc A plausible — direction analytique).
→ Voir L13

IEEE 1599
standard multilayer pour la représentation musicale à 6 couches XML synchronisées
→ Voir M3

Invariant
Propriété du code généré qui doit toujours être vraie (par exemple : pas de commentaire dans un tableau SC).
→ Voir B7, L5

Invariant de boucle
propriété logique vraie avant la boucle et préservée par chaque itération. Clé des preuves de correction des boucles.
→ Voir L8

Invariant de classe
propriété qui doit etre vraie pour tout objet d’une classe, à tout moment observable (entre les appels de méthode).
→ Voir L8


J

Jugalbandi
Duo musical indien où deux solistes dialoguent et se superposent, chacun avec sa propre subdivision du temps.
→ Voir B5


K

Kathak
Danse classique du nord de l’Inde, liée au tabla. Les interactions tabliste-danseur sont un cas d’étude fondateur de BP3.
→ Voir B6

Kayda
Composition de tabla avec un thème fixe (mukhra) et des variations systématiques. Correspond au mode SUB1 de BP3.
→ Voir B3, B4, B7

Khali
Section « vide » (sans résonance) d’un cycle de tāla indien, où les bols secs (tin, ta) remplacent les bols résonants (dha, dhin).
→ Voir B1, B3, M5


L

L-attributed
classe de grammaires d’attributs où les attributs hérités ne dépendent que du parent et des frères à gauche. Évaluation en un passage gauche-droite, compatible avec l’analyse LL.
→ Voir L10

Lambda (production vide)
Règle qui réécrit un non-terminal en la chaîne vide (ε). Le symbole disparaît sans laisser de trace.
→ Voir B6

Langage
Ensemble de toutes les chaînes de terminaux dérivables depuis le symbole de départ.
→ Voir B2

Langage formel
Ensemble de chaînes de symboles définies par des règles précises.
→ Voir L1

Langage régulier
langage reconnaissable par un automate fini (Type 3). Les messages MIDI individuels forment un langage régulier.
→ Voir M1

Leftmost (dérivation gauche)
Stratégie qui remplace toujours le non-terminal le plus à gauche.
→ Voir B3

Legato
Mode de jeu lié, où les notes s’enchaînent sans interruption. Indiqué par une liaison de phrasé (slur).
→ Voir I5

Lexer
Module qui transforme le texte brut en unités lexicales (tokens). Ici, combiné avec le classifieur de lignes.
→ Voir B7

LHS (Left-Hand Side)
Partie gauche d’une règle de production, c’est-à-dire le symbole qu’on remplace. En français : « côté gauche ».
→ Voir B3

Liaison (Tie)
En notation musicale, connexion entre deux notes de même hauteur pour former une seule note plus longue. Notée note& (début) et &note (fin) en BP3.
→ Voir B5

LIN (mode BP3)
Mode Linear, où les règles sont appliquées cycliquement : après la dernière, on revient à la première.
→ Voir B3

Live coding
Pratique de modification du code en temps réel pendant l’exécution, facilitée par Pdef en SuperCollider.
→ Voir B7, M3

Logique de Hoare
système formel de triplets {P} C {Q} et de règles d’inférence pour prouver la correction des programmes. Introduit par C.A.R. Hoare en 1969.
→ Voir L8


M

Machine de Turing
Modèle théorique de calcul avec un ruban infini, une tête de lecture/écriture et des règles de transition. Peut calculer tout ce qui est calculable.
→ Voir L1

Marqueur de contexte
Construction BP3 qui conditionne l’application d’une règle à la présence d’un symbole dans le contexte.
→ Voir B6

Mildly context-sensitive (faiblement context-sensitive)
classe de langages satisfaisant les critères de Joshi : contient les CFL, capture les dépendances croisées, est semilinéaire, et permet un parsing polynomial.
→ Voir L9

Mise à jour fonctionnelle
Opération qui crée un nouvel environnement identique à l’ancien sauf pour une variable. Notation : φ[avart ↦ 3] signifie « φ avec avart changé en 3 ».
→ Voir B4

Mode de dérivation
Dans BP3, stratégie globale pour choisir et appliquer les règles (ORD, RND, LIN, SUB, SUB1).
→ Voir B3

Modèle OSI
Open Systems Interconnection — modèle en 7 couches structurant les protocoles réseau
→ Voir M3

Monade
structure mathématique permettant d’encapsuler des effets (état, aléatoire, erreurs) dans un cadre fonctionnel. Utilisée pour modéliser les programmes avec effets de bord en sémantique dénotationnelle.
→ Voir L5, L7

Monade probabiliste
monade permettant de composer des distributions de probabilité.
→ Voir L7

Morphing
Transition progressive entre deux versions d’un pattern, rendue possible par la ré-évaluation de Pdef individuels.
→ Voir B7

Mouvement conjoint
Déplacement mélodique par tons ou demi-tons successifs (do-ré-mi), par opposition au mouvement disjoint (sauts, comme do-sol).
→ Voir M6

MPE
MIDI Polyphonic Expression. Extension permettant un canal par note pour l’expression individuelle.
→ Voir I4

MPR (Metrical Preference Rule)
Dans GTTM, règle de préférence pour la structure métrique (temps forts/faibles).
→ Voir M4

MPR (Metrical Preference Rules)
Règles de préférence pour la structure métrique. Décrivent comment nous inférons la grille des temps.
→ Voir M6

MWSCCS (Musical Weighted Synchronous CCS) : extension de SCCS avec poids stochastiques pour la composition musicale (Ross, 1995).

  • Place

nœud circulaire d’un réseau de Petri, contenant des jetons. Représente un état ou une condition.
→ Voir L12

Mètre
Organisation régulière des temps en groupes avec une hiérarchie d’accents (temps forts/faibles).
→ Voir M5

Métrique
Organisation hiérarchique des temps forts et faibles, distincte du rythme (durées des notes).
→ Voir M6


N

¬ (négation)
connecteur logique « non ». ¬P est vrai si et seulement si P est faux.
→ Voir L8

NLG / NLU (Natural Language Generation / Understanding) : Les deux sous-domaines du NLP (Natural Language Processing, traitement automatique des langues) qui incarnent la dualité génération/reconnaissance.

  • Parsing incrémental

Analyse syntaxique qui traite l’entrée symbole par symbole, au fur et à mesure de sa réception, sans attendre la fin de la phrase. Nécessaire pour l’analyse en temps réel. Plus difficile que le parsing offline car l’analyseur n’a pas accès à la suite du signal.
→ Voir L13

Non-terminal
Symbole intermédiaire (variable) qui sera remplacé durant la dérivation. Par convention, écrit en majuscules (S, NP, VP).
→ Voir B1, B2, L1, L6

Normalisation
Contrainte mathématique que les probabilités d’un ensemble d’alternatives mutuellement exclusives somment à 1 (100%).
→ Voir B1

normalizeSum
Méthode SC qui divise chaque élément d’un tableau par la somme totale, convertissant des poids en probabilités.
→ Voir B7

Notation ·
doubles crochets signifiant « la dénotation de » ou « la signification mathématique de ». e se lit « la dénotation de e ».
→ Voir L5

Note de passage
Note qui relie deux notes structurelles par mouvement conjoint (ex : le Ré entre Do et Mi).
→ Voir M4

Note On/Off
messages indiquant le début (Note On) et la fin (Note Off) d’une note.
→ Voir I4


O

ORD (mode BP3)
Mode Ordered, où les règles sont appliquées dans l’ordre séquentiel du fichier.
→ Voir B3

Ordre partiel ()
relation « est moins défini que » ou « a moins d’information que ». ⊥ ⊑ x pour tout x.
→ Voir L7

Ostinato
Motif musical court répété obstinément tout au long d’un passage ou d’une pièce.
→ Voir B3


P

Parseur
Programme qui analyse un texte selon une grammaire et construit une structure (arbre de syntaxe).
→ Voir L1

Parseur (analyseur syntaxique)
Programme qui analyse une chaîne pour en déterminer la structure grammaticale.
→ Voir B2

Parseur (Parser)
Module qui analyse la structure syntaxique du code source et construit l’AST. Ici, un parseur à deux passes (classifieur + descente récursive).
→ Voir B7

Parseur ascendant
Parseur qui part du texte et remonte vers le symbole de départ en réduisant des groupes de symboles.
→ Voir L1

Parseur descendant
Parseur qui part du symbole de départ et essaie de dériver le texte en appliquant les règles.
→ Voir L1

Parsing (analyse syntaxique)
Processus qui, étant donné une phrase et une grammaire, détermine si la phrase appartient au langage et reconstruit sa structure (arbre de dérivation).
→ Voir L13

Parsing polynomial
algorithme d’analyse syntaxique dont le temps d’exécution est borné par un polynôme en la longueur de l’entrée. Pour les TAG : O(n⁶). Pour les CFG (algorithme CYK, Cocke-Younger-Kasami) : O(n³).
→ Voir L9

Part
Une voix ou un instrument dans la partition.
→ Voir I5

Partwise
Organisation du fichier par instrument puis par mesure (la plus courante).
→ Voir I5

Patch / Programme / Preset
son d’instrument prédéfini. Programme 1 = piano en General MIDI.
→ Voir I4

Pattern
en SuperCollider ou TidalCycles, objet qui génère des séquences de valeurs selon des règles
→ Voir M3

Pattern 3-3-2
Groupement rythmique en 3+3+2 = 8 temps, typique de la rumba, du son cubain et de nombreuses musiques populaires. L’asymétrie crée une tension rythmique caractéristique entre les groupes de 3 et le groupe final de 2.
→ Voir M12

Pattern matching
Mécanisme de correspondance de motifs. Les wildcards de BP3 capturent des portions de chaînes dérivées pour les réutiliser.
→ Voir B6

Pbind
Pattern SC qui crée un flux d’événements musicaux à partir de paires clé-valeur (instrument, note, durée, etc.).
→ Voir B7

Pbindf
Variante de Pbind qui ajoute ou remplace des clés dans un pattern existant, sans le modifier structurellement.
→ Voir B7

PCFG
Probabilistic Context-Free Grammar — grammaire hors-contexte enrichie de probabilités (voir B1)
→ Voir M3

PCFG (Probabilistic CFG)
Grammaire context-free où chaque règle de production est associée à une probabilité.
→ Voir B1

Pdef
Conteneur nommé et réactif pour un pattern SC. Permet le live coding et le morphing en temps réel.
→ Voir B7

Pipeline
Chaîne de transformations où la sortie d’une étape est l’entrée de la suivante. Ici : texte BP3 → tokens → AST → code SC.
→ Voir B7

Pitch Bend
message faisant varier la hauteur d’une note de manière continue (glissando, vibrato).
→ Voir I4

Plus faible précondition (wp)
la condition P la moins restrictive telle que {P} C {Q} soit valide. Notation : wp(C, Q). Introduit par Dijkstra (1975).
→ Voir L8

Poids dynamique
Dans BP3, poids numérique associé à une règle qui change (généralement décroît) après chaque utilisation de cette règle.
→ Voir B1

Poids décrémental
Poids associé à une règle qui diminue après chaque utilisation de cette règle. Notation BP3 : <N-M> (poids initial N, décrément M).
→ Voir B4

Point fixe
valeur x telle que f(x) = x. Exemple : 0 est un point fixe de f(x) = x², car f(0) = 0. En sémantique, utilisé pour définir les boucles et la récursion.
→ Voir L5, L7

Poly_ratio
Expression polymétrique mono-voix {n, seq} compressant ou étirant une séquence dans n unités de temps. Ici, {1, 6 notes} fait jouer 6 notes en 1 temps — un micro-timing.
→ Voir M12

Polymétrie
superposition de mètres différents — par exemple, 3 notes contre 2 dans la même durée. En BP3, notée $\{v_1, v_2\}$.
→ Voir L12, M5

Polyphonie
Superposition de plusieurs lignes mélodiques indépendantes. En MusicXML, gérée par l’élément <voice>.
→ Voir I5

Polyrythmie
Terme parfois synonyme de polymétrie, parfois distingué (polyrythmie = accents différents sur même mètre).
→ Voir M5

Postcondition
propriété garantie après l’exécution d’une instruction.
→ Voir L5, L8

PPCM
Plus Petit Commun Multiple — en polymétrie, point où deux cycles se resynchronisent (ex: PPCM de 2 et 3 = 6).
→ Voir M5

PPQ
Pulses Per Quarter note (impulsions par noire). Résolution temporelle d’un fichier MIDI. 480 PPQ = 480 ticks par noire.
→ Voir I4

Prand
Pattern SC qui choisit un élément au hasard (distribution uniforme) dans un tableau, N fois.
→ Voir B7

Prime
apostrophe (') indiquant « la nouvelle valeur ». σ' = « sigma prime » = nouvel état.
→ Voir L6

Processus
en algèbre de processus, entité qui effectue des actions et peut interagir avec d’autres processus. Un processus est défini par son comportement observable.
→ Voir L11

Processus markovien (sans mémoire)
Processus stochastique où la probabilité d’un événement futur ne dépend que de l’état présent, pas de l’historique.
→ Voir B1

Processus non-markovien (avec mémoire)
Processus stochastique où la probabilité d’un événement dépend de l’historique des événements passés.
→ Voir B1

PROD (mode)
Mode production du Bol Processor — la grammaire génère des séquences musicales (modus ponens).
→ Voir L13

Produit cartésien
A × B = ensemble de tous les couples (a, b) avec a dans A et b dans B.
→ Voir L6

Progression (harmonique)
Mouvement d’un accord vers un autre qui crée une tension et un sens de direction.
→ Voir M6

Prolongation
Relation où un événement musical étend ou élabore un autre sans créer de nouvelle direction harmonique.
→ Voir M6

Protocole
ensemble de règles définissant comment deux systèmes communiquent.
→ Voir I4

Prout
Pattern SC basé sur une routine, permettant un contrôle programmatique du flux (conditions, boucles, variables mutables).
→ Voir B7

PRPR (Prolongational Reduction Preference Rules)
Règles de préférence pour la réduction prolongationnelle. Décrivent comment nous percevons les relations de tension/résolution.
→ Voir M6

Précondition
propriété requise avant l’exécution d’une instruction.
→ Voir L5, L8

Prémisse
condition requise pour appliquer une règle (au-dessus de la barre horizontale).
→ Voir L6

Pseq
Pattern SC qui joue les éléments d’un tableau en séquence, N fois.
→ Voir B7

Pumping lemma (lemme de pompage)
Outil de preuve en théorie des langages qui permet de montrer qu’un langage n’est pas context-free.
→ Voir B6

Pwrand
Pattern SC qui choisit un élément selon des poids (distribution pondérée), N fois.
→ Voir B7


R

Rasgueado
Technique de guitare flamenca consistant en balayages rapides des cordes, alternant typiquement des mouvements vers le bas (down-strum) et vers le haut (up-strum).
→ Voir M12

RELAX NG
format de validation XML plus expressif que XSD, correspondant à un langage d’arbre régulier complet. Utilisé par MEI.
→ Voir M2

Renforcement
remplacement d’une précondition par une condition plus forte (plus restrictive). Si on sait que {x > 0} C {Q}, alors {x = 5} C {Q} est aussi valide car x = 5 implique x > 0.
→ Voir L8

Renormalisation
Recalcul des probabilités après modification des poids. Si les poids changent de [50, 1] à [38, 1], les probabilités sont recalculées de [98%, 2%] à [97.4%, 2.6%].
→ Voir B4

Rest déterminé
Silence de durée fixe, noté - en BP3. Correspond à une pause explicite d’une unité de temps.
→ Voir B2

Rest indéterminé
Silence de durée calculée par le contexte, noté _ en BP3. Utilisé dans les expressions polymétriques.
→ Voir B2

RHS (Right-Hand Side)
Partie droite d’une règle de production, c’est-à-dire ce par quoi on remplace. En français : « côté droit ».
→ Voir B3

Rightmost (dérivation droite)
Stratégie qui remplace toujours le non-terminal le plus à droite.
→ Voir B3

RND (mode BP3)
Mode Random, où les règles sont choisies aléatoirement selon leurs poids.
→ Voir B3

Rule
Nœud AST représentant une règle de production BP3 avec numéro de grammaire, numéro de règle, poids, flags, LHS et RHS.
→ Voir B7

Running status
optimisation MIDI où le status byte peut être omis s’il est identique au précédent. Nécessite que le parseur mémorise le dernier status.
→ Voir M1

Règle d’inférence
schéma de la forme « si ces prémisses sont vraies, alors cette conclusion est vraie ».
→ Voir L5, L6

Règle de production
Instruction de la forme A → x qui indique qu’on peut remplacer A par x.
→ Voir B1, B3, L1, M4

Règle de préférence
Dans GTTM, règle qui indique une tendance plutôt qu’une obligation stricte.
→ Voir M4, M6

Récursion
Propriété d’une règle qui peut s’appliquer à son propre résultat, permettant des structures imbriquées.
→ Voir M4

Références croisées
Liens entre éléments d’un texte où un élément fait référence à un autre défini ailleurs (ex: liens hypertextes, notes de bas de page).
→ Voir L1

Réseau de Petri
formalisme graphique (places, transitions, arcs, jetons) pour modéliser les systèmes concurrents. Inventé par Carl Adam Petri (1962).
→ Voir L12


S

Sam
Premier temps du cycle de tāla — le point de résolution vers lequel convergent les tihāī et les cadences.
→ Voir B3, B5, B6, M5

Sargam
Système de solmisation indien (Sa Re Ga Ma Pa Dha Ni), équivalent du solfège occidental (do ré mi fa sol la si).
→ Voir B5

Saussure, Ferdinand de
Linguiste suisse (1857-1913), fondateur de la linguistique structurale, connu pour la notion d’arbitraire du signe.
→ Voir M4

Semilinéarité
propriété d’un langage dont les vecteurs de Parikh (comptant les occurrences de chaque symbole) forment un ensemble semilinéaire. Intuitivement, les longueurs des mots croissent de manière régulière.
→ Voir L9

Shuffle
Rythme ternaire du blues et du rock, basé sur une subdivision en triolets.
→ Voir M5

Signature additive
Signature rythmique qui explicite les groupements internes (ex : 3+3+2/8 au lieu de 8/8). Essentielle pour les tāla indiens et les rythmes aksak.
→ Voir B5

Silence prolongé (UndeterminedRest)
Silence de durée indéfinie, noté ... en BP3. Équivalent d’un point d’orgue (fermata).
→ Voir B2

Small-step
sémantique où chaque transition (notée ) représente un seul pas d’exécution.
→ Voir L6

SMF
Standard MIDI File. Format de fichier MIDI (.mid).
→ Voir I4

SMF (Standard MIDI File) : format de fichier MIDI (.mid). Structure en chunks (en-tête + pistes).

  • Status byte

octet MIDI dont le bit de poids fort est 1 (valeurs 128-255). Identifie le type de message et le canal.
→ Voir M1

SOS
Structural Operational Semantics — cadre formel introduit par Plotkin en 1981 pour définir les langages de programmation.
→ Voir L6

SpecialFn
Nœud AST représentant une fonction spéciale BP3 (_transpose, _vel, _mm, etc.) avec nom et arguments.
→ Voir B7

Staccato
Mode de jeu détaché, où chaque note est jouée brièvement. Indiqué par un point au-dessus ou en dessous de la note.
→ Voir I5

Stochasticité
caractère aléatoire ou probabiliste d’un processus. Un système stochastique peut produire des résultats différents à chaque exécution.
→ Voir L5

Stochastique
Qui comporte un élément aléatoire. Un processus stochastique est un processus dont l’évolution dépend du hasard.
→ Voir B1, L6, M3

Structure de groupement
Organisation hiérarchique des événements musicaux en unités (motifs, phrases, sections).
→ Voir M4

Strum
Balayage rapide des cordes de guitare. Un down-strum (D) va des graves vers les aigus ; un up-strum (U) va des aigus vers les graves.
→ Voir M12

SUB (mode BP3)
Mode Substitution, où toutes les occurrences d’un même non-terminal sont remplacées identiquement.
→ Voir B3

SUB1 (mode BP3)
Mode Substitution 1, où seule la première occurrence d’un non-terminal est remplacée à chaque étape.
→ Voir B3

Substitution
opération des TAG qui remplace un noeud feuille marqué (↓) par un arbre initial du type correspondant. Analogue à la dérivation dans une CFG.
→ Voir L9

Substitution Q[x / e]
opération qui remplace chaque occurrence de la variable x par l’expression e dans la formule Q. Exemple : (x > 3)[x / (x + 1)] = (x + 1 > 3) = (x > 2).
→ Voir L8

Symbole de départ
Le non-terminal initial d’où commence toute dérivation (souvent S pour « Sentence » ou « Start »).
→ Voir B2

SynthDef
en SuperCollider, définition d’un synthétiseur comme graphe de générateurs audio
→ Voir M3

Sémantique
étude formelle du sens des programmes.
→ Voir L5

Sémantique référentielle
Capacité du langage à parler de choses dans le monde (le mot « chat » réfère à un animal).
→ Voir M4

Sémantique traductionnelle (translational semantics) : sémantique qui définit le sens d’un programme par sa traduction vers un langage cible. Le sens de P est le sens de T(P) dans le langage cible.

  • Trace

séquence d’événements observables produite par un processus. L’ensemble des traces d’un processus est le modèle sémantique le plus simple en CSP.
→ Voir L11

Σ (sigma majuscule)
symbole de sommation. Σwᵢ = w₁ + w₂ + … + wₙ.
→ Voir L6


T

TAG (Tree Adjoining Grammar)
formalisme grammatical qui manipule des arbres élémentaires (initiaux et auxiliaires) via deux opérations : substitution et adjunction. Introduit par Joshi (1975).
→ Voir L9

Tala
Cycle rythmique indien, structure en groupes avec des frappes spécifiques (ex: Tintal = 16 temps).
→ Voir M5

Tempérament égal
système d’accordage divisant l’octave en 12 demi-tons égaux. Standard de la musique occidentale moderne.
→ Voir I4

Terminaison garantie
Propriété d’un système qui atteint nécessairement un état final en un nombre fini d’étapes. Les poids décrémentaux garantissent ceil(N/M) + 1 étapes au maximum.
→ Voir B4

Terminal
Symbole final qui apparaît dans la sortie et ne peut plus être réécrit. Par convention, écrit en minuscules.
→ Voir B1, B2, L1, L6

Theka
Pattern de base d’un tāla indien, joué en ostinato par le tabla. Séquence fixe de bols qui définit le caractère du cycle rythmique.
→ Voir B1, B2, B3, B7

Théorie des domaines
branche des mathématiques fournissant les structures (domaines ordonnés) nécessaires pour définir la sémantique des boucles et de la récursion.
→ Voir L5

Théorème de Kleene
garantit que toute fonction continue sur un domaine a un plus petit point fixe, obtenu comme limite d’approximations successives.
→ Voir L7

Tick
plus petite unité de temps dans un fichier MIDI. Le nombre de ticks par noire est défini par le PPQ.
→ Voir I4

Tie (liaison)
Construction BP3 qui fusionne deux notes consécutives de même hauteur en une seule note prolongée. Traduite par \legato, 2.0 (début) et Event.silent (continuation).
→ Voir B7

Tihai
En musique indienne, cadence finale où un motif est répété trois fois, menant au sam (le premier temps du cycle rythmique, point de convergence).
→ Voir M4, M5

Tihāī
Cadence indienne où un motif est répété exactement trois fois pour atterrir sur sam. Correspond au mode SUB de BP3.
→ Voir B3, B4, B5, B6

Timewise
Organisation du fichier par mesure puis par instrument.
→ Voir I5

Tintāl
Le tāla (cycle rythmique) le plus courant de la musique classique du nord de l’Inde : 16 temps en 4 groupes de 4.
→ Voir B1, B3, B7

Token
Unité lexicale de base (mot, nombre, opérateur) reconnue par un parseur. Correspond aux terminaux de la grammaire.
→ Voir B2

Tonique
Note ou accord de repos d’une tonalité (ex: Do dans Do majeur), point de résolution des tensions.
→ Voir M4

Tonique (I)
Premier degré de la gamme, point de repos et de stabilité harmonique.
→ Voir M6

Transducteur
machine qui transforme une entrée en une sortie. Un FST transforme des chaînes ; un transducteur d’arbre transforme des arbres (AST). Les compilateurs sont des transducteurs d’arbres.
→ Voir L11

Transformateur d’état
fonction de type État → État. Une instruction impérative est vue comme un transformateur d’état.
→ Voir L7

Transition
nœud rectangulaire d’un réseau de Petri. Représente une action. Tire quand toutes ses places d’entrée ont suffisamment de jetons.
→ Voir L12, L5

Transpiler
convertir du code d’un langage vers un autre de même niveau d’abstraction
→ Voir M3

Transpileur (Transpiler)
Traducteur source-à-source entre deux langages de même niveau d’abstraction (ici, BP3 vers SuperCollider).
→ Voir B7

Triplet de Hoare
notation {P} C {Q} signifiant « si P est vrai avant C, alors Q est vrai après ».
→ Voir L5, L8

TSRPR (Time-Span Reduction Preference Rules)
Règles pour identifier les têtes de groupes dans la réduction temporelle.
→ Voir M6

Tuplet
En notation occidentale, groupe de notes compressées (triolet = 3 notes dans le temps de 2).
→ Voir M5

Tête (head)
Note structurellement la plus importante d’un groupe. Les autres notes du groupe sont des élaborations de la tête.
→ Voir M6

Tāla
Cycle rythmique structurant la musique classique indienne (ex : tintāl = 16 temps, jhaptāl = 10 temps).
→ Voir B2, B5


U

Union (∪)
Opération ensembliste qui combine deux ensembles. A ∪ B contient tous les éléments de A et tous les éléments de B.
→ Voir B2

Ursatz
Terme de Schenker (allemand, « structure originelle ») désignant le squelette harmonique et mélodique fondamental d’une pièce tonale.
→ Voir M4


V

Variable
Construction |x| dont la première occurrence fixe une valeur et les suivantes la répliquent. Permet d’exprimer des contraintes de répétition exacte impossibles en CFG.
→ Voir B6, B7

Variant (fonction de terminaison)
expression entière positive qui décroît strictement à chaque itération d’une boucle. Son existence prouve la terminaison.
→ Voir L8

Vibhāg
Section d’un tāla. Le tintāl a 4 vibhāg de 4 temps chacun.
→ Voir B2, B3, B5

Voice
Ligne mélodique au sein d’une partie (pour la polyphonie sur une portée).
→ Voir I5

Voix
Dans un contexte polymétrique, un flux de notes indépendant jouant en parallèle avec d’autres flux.
→ Voir B5

Vraie concurrence (true concurrency) : modèle de concurrence qui distingue « A et B simultanés » de « A puis B » ou « B puis A ». Capturé par les réseaux de Petri.

  • $\tau$ (tau)

action interne en CCS, invisible de l’extérieur. Résulte de la synchronisation entre une action et sa co-action.
→ Voir L12

VST
Virtual Studio Technology. Format de plugin audio permettant d’ajouter des instruments virtuels et effets à une DAW.
→ Voir I4

Vélocité
intensité d’une note (0-127), correspondant à la « force de frappe ». Affecte généralement le volume et/ou le timbre.
→ Voir I4, M3

Vérification formelle
utilisation de méthodes mathématiques pour prouver qu’un système (logiciel ou matériel) satisfait sa spécification.
→ Voir L8

Vādi
Note dominante d’un raga, la plus fréquente et importante. Sa présence régulière peut être modélisée par un flag BP3.
→ Voir B4


W

Wildcard (joker)
Construction ?N qui capture une portion arbitraire de la chaîne. En mode PROD : capture sur le côté gauche, réinjection sur le côté droit (réécriture context-sensitive entre grammaires). En mode ANAL : pattern matching pour tester l’appartenance. Fonctionne dans les deux directions — voir B8.
→ Voir B6

Wrap-around
Comportement cyclique où, après avoir atteint la fin d’une séquence, on revient au début.
→ Voir B3


X

XML
eXtensible Markup Language — format texte structuré avec des balises imbriquées.
→ Voir I5

XSLT
eXtensible Stylesheet Language Transformations — langage pour transformer du XML en un autre format.
→ Voir I5


Ρ

ρ (rho)
lettre grecque conventionnellement utilisée pour représenter un environnement (dictionnaire variable → valeur).
→ Voir L7


Σ

σ (sigma)
lettre grecque conventionnellement utilisée pour représenter un état (mémoire du programme).
→ Voir L7


Index

Article Termes
B1 Ambiguïté (grammaire), Arbre de dérivation (arbre de syntaxe), Bol, CFG (Context-Free Grammar), Context-free (hors-contexte), Dérivation, Non-terminal, Normalisation, PCFG (Probabilistic CFG), Poids dynamique, Processus markovien (sans mémoire), Processus non-markovien (avec mémoire), Règle de production, Khali, Stochastique, Terminal, Theka, Tintāl
B2

Alphabet (V ou Σ), Bol** (बोल) : Syllabe mnémonique du tabla (ex : dha, dhin, tin, ta). Le « Bol » dans « Bol Processor ». Chaque bol correspond à une frappe spécifique produisant un timbre distinct.

  • *Chaîne (ou mot), Chaîne vide (ε), Dérivation, Disjoint, Étoile de Kleene (), Langage, Non-terminal, Parseur (analyseur syntaxique), Rest déterminé, Rest indéterminé, Silence prolongé (UndeterminedRest), Symbole de départ, Theka, Tāla, Terminal, Token, Union (∪), Vibhāg |

| B3 | Arbre de syntaxe, Kayda, Khali, Dérivation, Leftmost (dérivation gauche), LHS (Left-Hand Side), LIN (mode BP3), Mode de dérivation, ORD (mode BP3), Ostinato, Sam, Theka, Tihāī, Tintāl, Vibhāg, RHS (Right-Hand Side), Rightmost (dérivation droite), RND (mode BP3), Règle de production, SUB (mode BP3), SUB1 (mode BP3), Wrap-around |
| B4 | Ālāp, Catégorielle (distribution), Configuration (SOS), Āvart, Convergence, Décrément, Environnement de flags (φ), Flag, Garde, Mise à jour fonctionnelle, Poids décrémental, Renormalisation, Kayda, Terminaison garantie, Tihāī, Vādi |
| B5 | Aksak, Bol, Compression temporelle, Dilatation temporelle, Hémiolie, Jugalbandi, Liaison (Tie), Sam, Sargam, Signature additive, Tāla, Tihāī, Vibhāg, Voix |
| B6 | Ālāp, Bol, Context-sensitive (sensible au contexte), Graha bheda, Homomorphisme, Kathak, Lambda (production vide), Marqueur de contexte, Pattern matching, Pumping lemma (lemme de pompage), Sam, Tihāī, Variable, Wildcard (joker) |
| B7 | AST (Abstract Syntax Tree), BPFile, Classifieur de lignes, Descente récursive, Émetteur (Emitter), embedInStream, GrammarBlock, Invariant, Lexer, Live coding, Morphing, normalizeSum, Parseur (Parser), Pbind, Pbindf, Pdef, Pipeline, Prand, Prout, Pseq, Pwrand, Rule, SpecialFn, Transpileur (Transpiler), Bol, Kayda, Theka, Tintāl, Event.silent(dur), HomoApply, \stretch, Tie (liaison), Variable |
| I4 | Aftertouch, Bit, BPM, Canal MIDI, Control Change (CC), DAW, Enharmonie, General MIDI (GM), MPE, Note On/Off, Patch / Programme / Preset, Pitch Bend, PPQ, Protocole, SMF, Tempérament égal, Tick, Vélocité, VST |
| I5 | Alter, Articulation, Balise, Divisions, DOCTYPE, Dynamique, Fifths, HTML, Legato, Part, Partwise, Polyphonie, Staccato, Timewise, Voice, XML, XSLT |
| L1 | Automate fini, Automate à pile, Context-free, Expression régulière (regex), Grammaire, Grammaire context-free (CFG), Langage formel, Machine de Turing, Non-terminal, Parseur, Parseur ascendant, Parseur descendant, Références croisées, Règle de production, Terminal |
| L10 | Attribut synthétisé* (synthesized attribute*) : attribut dont la valeur est calculée à partir des attributs des noeuds enfants. L’information circule de bas en haut dans l’arbre. Exemple : la valeur val d’un noeud d’expression arithmétique.

  • Attribut hérité (inherited attribute) : attribut dont la valeur est transmise par le noeud parent ou les frères situés à gauche. L’information circule de haut en bas ou de gauche à droite. Exemple : le type déclaré type_decl dans une liste de variables.
  • Graphe de dépendances (dependency graph) : graphe orienté dont les noeuds sont les instances d’attributs et les arêtes représentent les dépendances entre eux. S’il est acyclique, un ordre d’évaluation existe.
  • **S-attributed, L-attributed |

| L11 | Algèbre initiale, Bisimulation, CCS* (Calculus of Communicating Systems*) : algèbre de processus introduite par Robin Milner (1980). Opérateurs : préfixe (a.P), choix (P + Q), parallèle (P | Q), restriction ((new a) P).

  • Composition parallèle, Correction du compilateur, CSP (Communicating Sequential Processes) : algèbre de processus introduite par Tony Hoare (1985). Synchronisation sur événements partagés, avec trois niveaux sémantiques (traces, échecs, échecs-divergences).
  • Diagramme commutatif, Homomorphisme, Processus, Sémantique traductionnelle (translational semantics) : sémantique qui définit le sens d’un programme par sa traduction vers un langage cible. Le sens de P est le sens de T(P) dans le langage cible.
  • **Trace, Transducteur |

| L12 | Action (CCS), Bisimulation, CCS* (Calculus of Communicating Systems*) : algèbre de processus introduite par Robin Milner (1980). Opérateurs : préfixe $a.P$, choix $P + Q$, parallèle $P \mid Q$, restriction $P \setminus \{a\}$.

  • Composition parallèle, CSP (Communicating Sequential Processes) : algèbre de processus de Tony Hoare (1985). Synchronisation par événements partagés, avec trois modèles sémantiques (traces, échecs, échecs-divergences).
  • Downbeat, Entrelacement (interleaving) : modèle de concurrence où « A et B en parallèle » signifie « toutes les séquences possibles en alternant des actions de A et B ». Utilisé par CCS/CSP.
  • HTSPN (Hierarchical Time Stream Petri Nets) : extension hiérarchique des réseaux de Petri temporisés, utilisée pour les partitions interactives (Senac 1995, Allombert 2007).
  • Jeton (token) : marqueur dans une place d’un réseau de Petri. Représente une ressource, un état, ou une position dans l’exécution.
  • LTS (Labeled Transition System) : triplet $(S, \text{Act}, \to)$ — états, actions, transitions. Le modèle sous-jacent de CCS.
  • Marquage (marking) : distribution des jetons dans les places d’un réseau de Petri. Représente l’état global du système à un instant donné.
  • Music Petri Net, MWSCCS (Musical Weighted Synchronous CCS) : extension de SCCS avec poids stochastiques pour la composition musicale (Ross, 1995).
  • Place, Polymétrie, Réseau de Petri, Transition, Vraie concurrence (true concurrency) : modèle de concurrence qui distingue « A et B simultanés » de « A puis B » ou « B puis A ». Capturé par les réseaux de Petri.
  • $\tau$ **(tau) |

| L13 | Analysis-by-synthesis (analyse par synthèse), ANAL (mode), Ambiguïté structurelle, Encodeur / Décodeur, Grammaire réversible, IDyOM* (Information Dynamics of Music*) : Modèle statistique de prédiction musicale basé sur l’entropie d’un corpus. Modélise l’auditeur comme machine d’inférence.

  • Inférence grammaticale (grammar induction) : La « troisième direction » — retrouver la grammaire à partir d’exemples de phrases. Problème inverse de la théorie des langages formels.
  • Modus ponens / modus tollens, NLG / NLU (Natural Language Generation / Understanding) : Les deux sous-domaines du NLP (Natural Language Processing, traitement automatique des langues) qui incarnent la dualité génération/reconnaissance.
  • **Parsing incrémental, Parsing (analyse syntaxique), PROD (mode) |

| L5 | Compositionnalité, Configuration, Domaine sémantique, Fonction mathématique, Invariant, Monade, Notation ·, Point fixe, Postcondition, Précondition, Règle d’inférence, Sémantique, Stochasticité, Théorie des domaines, Transition, Triplet de Hoare |
| L6 | Axiome, Big-step, BNF (Backus-Naur Form), Concaténation, Configuration, Dérivation, Non-terminal, Prémisse, Prime, Produit cartésien, Règle d’inférence, Small-step, SOS, Stochastique, Terminal, Σ (sigma majuscule) |
| L7 | Bottom (), Chaîne croissante, Compositionnalité, Dénotation, Distribution de probabilité, Domaine, Domaine sémantique, Environnement, Fonction continue, Monade, Monade probabiliste, Ordre partiel (), Point fixe, Théorème de Kleene, Transformateur d’état, · (doubles crochets), ρ (rho), σ (sigma) |
| L8 | Affaiblissement, Assertion, Axiome, Correction partielle, Correction totale, Design by Contract, Invariant de boucle, Invariant de classe, Logique de Hoare, Plus faible précondition (wp), Postcondition, Précondition, Renforcement, Substitution Q[x / e], Triplet de Hoare, Variant (fonction de terminaison), Vérification formelle, (conjonction), ¬ (négation), (implication) |
| L9 | Adjunction, CCG (Combinatory Categorial Grammar), Combinateur, Cross-serial dependencies (dépendances croisées), Fan-out, Mildly context-sensitive (faiblement context-sensitive), Parsing polynomial, Semilinéarité, Substitution, TAG (Tree Adjoining Grammar) |
| M1 | Automate fini** (finite automaton) : machine avec un nombre fini d’états qui lit une entrée symbole par symbole. Reconnaît exactement les langages réguliers (Type 3). Voir L1.

  • BNF / EBNF (Backus-Naur Form / Extended BNF) : notation pour écrire des grammaires formelles. Utilisée pour spécifier la syntaxe des langages de programmation. Voir L3.
  • Context-free (hors-contexte) : type de grammaire (Type 2) où chaque règle remplace un seul symbole, indépendamment du contexte. Permet la récursion et l’imbrication. Voir L2.
  • Data byte, Grammaire, Hiérarchie de Chomsky, Langage régulier, Running status, SMF (Standard MIDI File) : format de fichier MIDI (.mid). Structure en chunks (en-tête + pistes).
  • **Status byte |

| M12 | Compas, Pattern 3-3-2, Poly_ratio, Rasgueado, Strum |
| M2 | Automate à pile* (pushdown automaton*) : machine qui étend l’automate fini avec une pile (mémoire LIFO — Last In, First Out). Reconnaît exactement les langages context-free (Type 2). Un parseur XML est un automate à pile. Voir L1.

  • Automate d’arbre (tree automaton) : machine qui reconnaît des arbres (plutôt que des chaînes). Utilisée pour la validation de documents XML contre un schéma.
  • Context-free (hors-contexte) : type de grammaire (Type 2) où chaque règle remplace un seul symbole, indépendamment du contexte. Permet la récursion et l’imbrication — exactement ce que fait XML. Voir L2.
  • DTD (Document Type Definition) : ancien format de validation XML, correspondant à un langage d’arbre local. Supplanté par XSD depuis MusicXML 4.0.
  • Grammaire d’arbre (tree grammar) : grammaire qui opère sur des arbres plutôt que sur des chaînes de caractères. Les schémas XML sont des grammaires d’arbres.
  • **Imbrication, RELAX NG |

| M3 | Arpège, BP3, DAW, Dataflow, Déterministe, DSL, GTTM, IEEE 1599, Live coding, Modèle OSI, Pattern, PCFG, Stochastique, SynthDef, Transpiler, Vélocité |
| M4 | Behaviorisme, BP3 (Bol Processor 3), Chomsky, Noam, Broderie, Cadence, Compositionnalité sémantique, Dominante, Frege, Gottlob, GPR (Grouping Preference Rule), Grammaire générative, Grammaire universelle, GTTM (A Generative Theory of Tonal Music), Hiérarchie, MPR (Metrical Preference Rule), Note de passage, Récursion, Règle de production, Règle de préférence, Saussure, Ferdinand de, Sémantique référentielle, Structure de groupement, Tihai, Tonique, Ursatz |
| M5 | Bol, BP3 (Bol Processor 3), Cross-rhythm, Djembé, Downbeat, Dunun, Hémiolie, Khali, Mètre, PPCM, Polymétrie, Polyrythmie, Sam, Shuffle, Tala, Tihai, Tuplet |
| M6 | Arbre (informatique), Arbre de réduction, Broderie (voisin), Cadence, Consonance/Dissonance, Dominante (V), Élaboration, GPR (Grouping Preference Rules), GTTM (Generative Theory of Tonal Music), Métrique, Mouvement conjoint, MPR (Metrical Preference Rules), PRPR (Prolongational Reduction Preference Rules), Progression (harmonique), Prolongation, Règle de préférence, Tête (head), Tonique (I), TSRPR (Time-Span Reduction Preference Rules) |