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
$\lnot$ (négation)
connecteur logique « non ». $\lnot P$ est vrai si et seulement si $P$ est faux.
→ Voir L8
$\Longrightarrow$ (implication)
connecteur logique « implique ». $P \Longrightarrow Q$ signifie « si $P$ est vrai, alors $Q$ est vrai ».
→ Voir L8
$\omega$
exposant de la multiplication matricielle, $\le 2{,}371552$ (Williams et al. 2024). Borne le parsing CFG via Valiant.
→ Voir L17
$\wedge$ (conjonction)
connecteur logique « et ». $P \wedge Q$ est vrai si et seulement si $P$ et $Q$ sont tous les deux vrais.
→ Voir L8
$T_{\text{gen}}$, $T_{\text{parse}}$
Fonctions de complexité en temps pour la génération et la reconnaissance respectivement, paramétrées par le niveau de Chomsky $k$ et la longueur $n$.
→ Voir L15
/N et \N
Opérateurs de vitesse primitifs de BP3. /N multiplie la vitesse par N (accélère), \N la divise par N (ralentit). N doit être un entier positif. Hérités de BP1/BP2. Dans le code C : T0 avec sous-type 11 (/) ou 25 (\).
→ Voir B12
3-Dimensional Matching
problème d’appariement à trois ensembles, NP-complet de référence, point de départ de la réduction de Brew.
→ Voir L18
\N et \\*N
Opérateurs de scaling de BP3. *N multiplie le scaling par N, **N le divise par N. N doit être un entier positif. Dans le code C : T0 avec sous-type 21 (*) ou 24 (**).
→ Voir B12
\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
_tempo()
Fonction spéciale de BP3 (T43 dans le code C) qui modifie le tempo local par un facteur rationnel x/y. Unifie /N (speed) et *N (scaling) en une seule commande : speed *= x, scaling *= y.
→ Voir B12
Acteur
Unité de rattachement qui lie alphabet + scale + sounds + transport — porte un resolver dédié
→ Voir S9
Action (CCS)
événement observable qu’un processus peut effectuer. Trois types : action $a$, co-action $\bar{a}$, action interne $\tau$.
→ Voir L12
Actor
Unité de binding qui lie un alphabet, une gamme (scale), des sons (sounds), un transport et un évaluateur — le contexte complet de résolution d’un symbole
→ Voir S3
ActorDirective
Nœud déclarant un acteur avec ses propriétés (alphabet, scale, sounds, transport…)
→ Voir S13
Adaptateur
programme qui traduit les événements horodatés de BPscript en commandes pour un runtime
→ Voir S4
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
Séquence ordonnée de noms de notes + altérations disponibles — purement nominal
→ Voir S9
Alphabet (V ou Σ)
Ensemble fini de symboles utilisables dans une grammaire. Σ désigne souvent les terminaux seuls, V l’ensemble complet.
→ Voir B2
Alphabet plat
Convention où les terminaux sont des noms opaques préfixés bol — BP3 ne sait pas ce qu’ils signifient
→ Voir S10
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é intrinsèque
Propriété d’un langage (pas d’une grammaire) tel que toute grammaire qui l’engendre est ambiguë. Découverte par Parikh (1966).
→ Voir L15
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 de BP3 — la grammaire teste si une séquence appartient au langage. Utilise le template matching et les wildcards. Correspond au modus tollens.
→ Voir B8, L13
Analysis-by-synthesis (analyse par synthèse)
Paradigme où la reconnaissance utilise la génération comme sous-processus interne. Le récepteur génère des hypothèses et les compare au signal reçu (cf. L13).
→ Voir B8, L13
Apprentissage extrait ($G$)
gain de connaissance $d\kappa$ tiré des erreurs résolues. Fonction de $\varepsilon$ en U inversé (ni trop peu, ni trop) et de la puissance de l’oracle.
→ Voir L21
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
Aroha/Avaroha
Gamme ascendante/descendante d’un raga indien — peuvent être différentes
→ Voir S9
Arpège
notes d’un accord jouées successivement plutôt que simultanément
→ Voir M3
ARROW
Type de flèche d’une règle BP3 (-->, <->, <--). Détermine dans quelles directions (PROD, ANAL) la règle est active.
→ Voir B10
Articulation
Indication de la manière de jouer une note (staccato, accent, tenuto…).
→ Voir I5
Ascendant (bottom-up)
Stratégie de parsing qui part des symboles terminaux (les feuilles de l’arbre) et remonte vers l’axiome (la racine). Exemples : LR, CYK.
→ Voir L14
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 d’un programme après parsing
→ Voir B11, S13
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
Attente mélodique
anticipation, par l’auditeur, de la note suivante ; modélisée par un surprisal musical (p. ex. IDyOM).
→ Voir L19
Attribut hérité ($\downarrow$) : Information qui descend du parent vers l’enfant dans une grammaire d’attributs. Flux descendant.
- Attribut synthétisé ($\uparrow$) : Information qui monte de l’enfant vers le parent dans une grammaire d’attributs. Flux ascendant.
- Chart (table de parsing)
Structure de données tabulaire utilisée par les algorithmes de parsing (Earley, CYK, chart parsing) pour stocker les résultats intermédiaires. En parsing, indexée par les positions dans la chaîne d’entrée. En génération, cette indexation est impossible (la chaîne n’existe pas encore), d’où la nécessité de piloter par les têtes sémantiques.
→ Voir L14
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_decldans 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 presque minimal
Représentation compacte d’un langage régulier construite par QAVAID (programme Prolog II séparé) à partir d’exemples. « Presque » minimal car la minimisation exacte peut sur-généraliser.
→ Voir B8
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 : $\langle n \rangle \Downarrow 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
Introduction lente d’un raga en musique indienne, sans pulsation fixe, où le musicien explore progressivement les notes du mode.
→ Voir B12, B4, B6, S5, S6
Āvart
Un cycle complet de tāla. Un kayda peut s’étendre sur plusieurs āvart avant de conclure par un tihāī.
→ Voir B4
B
Backtick
caractère ` « utilisé dans BPscript pour délimiter du code natif destiné à un runtime
→ Voir S1, S4
Backtick inline
backtick dans un appel de symbole — le runtime est déduit du symbole, pas de tag
→ Voir S4
Backtick orphelin
backtick en tête de scène, non attaché à un symbole, exécuté à l’init — nécessite un tag de runtime
→ Voir S4
Backtick standalone
backtick dans le flux d’une règle, exécuté au moment de la dérivation — nécessite un tag de runtime
→ Voir S4
Backtracking
Technique algorithmique de retour sur trace quand une solution partielle échoue
→ Voir B13
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
Bidirectionnalité
Propriété d’un formalisme grammatical qui peut être utilisé à la fois pour la génération (produire des chaînes) et la reconnaissance (analyser des chaînes) avec la même grammaire.
→ Voir L16
Bidirectionnel
capable de générer et de reconnaître ; voir L13
→ Voir S1
Big-step
sémantique où une transition (notée $\Downarrow$) évalue complètement une expression jusqu’à sa valeur finale.
→ Voir L6
Binding
Liaison entre un symbole et son actor — implicite (déduite) ou explicite (notation pointée)
→ Voir S3
Birman-Ullman (paradoxe de)
L’observation que transformer un parser en générateur est facile, tandis que transformer une grammaire en parser est difficile — apparemment l’inverse de l’asymétrie, mais en réalité sa confirmation.
→ Voir L15
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 Processor (BP3)
système de grammaires formelles pour la musique, développé par Bernard Bel depuis 1989, initialement pour le tabla nord-indien
→ Voir S1
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
Borne du meilleur algorithme connu
plafond atteint par le meilleur algorithme publié à ce jour ; peut être amélioré.
→ Voir L17
Borne intrinsèque
caractérisation de la difficulté du problème lui-même ($\Theta(f)$ ou classe de complexité), qu’aucun algorithme ne peut battre sauf à renverser une conjecture.
→ Voir L17
Bottom ($\bot$)
é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 $\bot$.
→ 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
Buffer
Tampon — les événements en cours continuent à jouer pendant que la nouvelle séquence se calcule
→ Voir S11
C
Cadence
Enchaînement d’accords qui ponctue la fin d’une phrase musicale (ex : $V \to 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
CAO
Composition Assistée par Ordinateur — approche où un logiciel aide le compositeur par des algorithmes, sans remplacer ses décisions. Lignée : Common Music → OpenMusic → PWGL → Opusmodus
→ Voir M7
Cascade
Système de priorité entre couches — la couche la plus spécifique surcharge les autres
→ Voir S14
Catalan (nombres de)
La suite $C_n = \frac{1}{n+1}\binom{2n}{n}$ qui compte le nombre d’arbres binaires à $n$ nœuds. Croissance exponentielle $\sim 4^n / n^{3/2}\sqrt{\pi}$.
→ Voir L15
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
Causal (système)
En traitement du signal, un système dont la sortie au temps $t$ ne dépend que des entrées aux temps $\leq t$. Le générateur est causal ; le parser sans lookahead aussi.
→ Voir L15
CCG (Combinatory Categorial Grammar)
formalisme grammatical où chaque mot porte une catégorie typée (comme $(S\backslash 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
Cents
Unité logarithmique — 1200 cents = 1 octave, 100 cents = 1 demi-ton en 12-TET
→ Voir S15, S9
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
Changement de tonique (tonic shift) : transposition par changement de la note de référence — préserve tous les ratios
- Décalage de grille (grid shift) : transposition par décalage de N pas dans la grille du tempérament — ne fonctionne qu’en tempérament égal
- Décalage de degré (degree shift) : changement du degré de départ dans la gamme — produit un mode différent
- Enharmonie
Équivalence entre deux notations de la même fréquence (C# = Db) — n’existe qu’en tempérament égal
→ Voir S15
Chaîne croissante
suite d’éléments $x_0 \sqsubseteq x_1 \sqsubseteq x_2 \sqsubseteq \ldots$ 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
Classe superfinie
classe de langages contenant tous les langages finis et au moins un infini ; non identifiable à partir de positifs seuls.
→ Voir L20
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
Coarticulation
En phonétique, modification d’un son par ses sons adjacents. Par analogie, le time-setting de BP3 modifie le phrasé d’un sound-object en fonction de son contexte temporel.
→ Voir B9
Codage prédictif / énergie libre
principe (Friston) selon lequel le cerveau minimise la surprise (l’erreur de prédiction).
→ Voir L21
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
Composition distribuée
Architecture où plusieurs instances BPscript sur des machines différentes se synchronisent par triggers
→ Voir S7
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 $\langle e, \sigma \rangle$ où $e$ est l’expression et $\sigma$ 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 : $(\sigma, \varphi, 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
Constraint-satisfaction
Problème de trouver des valeurs qui satisfont un ensemble de contraintes
→ Voir B13
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
grammaire dont les règles dépendent de l’environnement local du symbole réécrit (Type 1 de Chomsky)
→ Voir S8
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
Contexte
condition d’application d’une règle, fondée sur les symboles voisins — positif (A B) ou négatif #(A B) — testée pendant la dérivation, jamais modifiée
→ Voir S8
Control
Contrôle BP3 écrit directement dans le flux (vel(120), goto(2,1))
→ Voir S13
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
controlTable
Table {CTn → paramètres} — les () runtime compilés en _script(CTn)
→ Voir S10
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
Couplage différentiel
génération et reconnaissance sont sensibles aux deux axes (classe × sous-problème), mais avec une sensibilité principale inversée.
→ Voir L17
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_1\ A_2\ A_3\ B_1\ B_2\ B_3$ où $A_i$ dépend de $B_i$).
→ Voir L9
Csound
Langage de synthèse sonore créé par Barry Vercoe (MIT, 1986). BP3 peut générer du code Csound comme alternative au MIDI, permettant des terminaux de grammaire arbitrairement complexes.
→ Voir B9
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
CT (Control Table)
Surcharge ponctuelle via () — persiste jusqu’au prochain ()
→ Voir S14
CV (Control Voltage)
Modulation continue sur une durée (ADSR, LFO, ramp) — déclarée nom(cible, transport) = lib.type(args)
→ Voir S14, S3
CV engine
Composant aval qui résout les objets CV (ADSR, LFO, ramp) en bus audio ou messages CC
→ Voir S10
CVInstance
Déclaration d’un objet CV en tête de scène (enveloppe, LFO, ramp)
→ Voir S13
CYK (Cocke-Younger-Kasami) : Algorithme de parsing ascendant par programmation dynamique. Fonctionne en $\mathcal{O}(n^3)$ pour toute CFG.
- Descendant (top-down)
Stratégie qui part de l’axiome (la racine) et descend vers les terminaux (les feuilles). C’est la direction naturelle de la génération. En parsing, c’est la stratégie LL.
→ Voir L14
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, M7
DAW
Digital Audio Workstation (station de travail audio numérique). Logiciel de production musicale (Ableton, Logic, FL Studio…).
→ Voir I4, M3
DCG (Definite Clause Grammar) : Extension grammaticale de Prolog, intrinsèquement bidirectionnelle grâce à l’unification, mais avec des pathologies asymétriques (récursions infinies différentes dans chaque direction).
- Déclarativité
Propriété d’une grammaire qui sépare ce qu’elle dit (le contenu linguistique) de comment elle est traitée (la direction, la stratégie de parcours). Prérequis de la bidirectionnalité selon Appelt.
→ Voir L16
DERIVATION_MODE
Sens de parcours pour une règle individuelle (LEFT, RIGHT, RND). Distinct du MODE du bloc.
→ Voir B10
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
Diagramme de Morris
Diagramme commutatif (Morris, 1973) qui formalise la correction d’un compilateur : le résultat doit être le même qu’on passe par le chemin « compiler puis exécuter » ou « interpréter directement ». Appliqué au cycle PROD→ANAL→poids ajustés→re-PROD.
→ Voir B8
Diagramme de phase
Structure de données interne de BP3 (grille Maxconc × Maxevent) qui représente le placement temporel de tous les événements après expansion polymétrique.
→ Voir B12
Dilatation temporelle
Fait d’étirer des notes pour qu’elles occupent plus de temps que leur durée normale (M > N).
→ Voir B5
Directive
instruction @… qui configure la scène entière, hors du flux temporel
→ Voir S2
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 ($\sqsubseteq$) 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
Données positives
exemples appartenant au langage (sans contre-exemples explicites de ce qui en est exclu).
→ Voir L20
Downbeat
Temps fort, généralement le premier temps d’une mesure.
→ Voir M5
Dragon Book
Surnom de Compilers: Principles, Techniques, and Tools (Aho, Sethi & Ullman, 1986), le livre de référence en conception de compilateurs.
→ Voir L14
DSL
Domain-Specific Language — langage de programmation dédié à un domaine particulier
→ Voir M3, M7
Dunun
Famille de tambours cylindriques à deux peaux (dununba, sangban, kenkeni) jouant des patterns en Afrique de l’Ouest.
→ Voir M5
Dynamic Tonality
Tempérament paramétrique dont le generator peut varier continûment
→ Voir S9
Dynamique
Indication d’intensité sonore sur la partition (pp, p, mp, mf, f, ff — du plus doux au plus fort).
→ Voir I5
Débit-distorsion
théorie (Shannon) du nombre minimal de bits pour transmettre un message à une fidélité donnée. Tolérer un peu de perte permet de comprimer davantage.
→ Voir L21
Décision d’appartenance
déterminer si une chaîne appartient au langage (oui/non) — la borne de référence côté reconnaissance.
→ Voir L17
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 $\llbracket e \rrbracket$ 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, S1, S2
Déterministe
système qui produit toujours le même résultat avec les mêmes entrées
→ Voir M3
E
Earley
Algorithme de parsing hybride (descendant-ascendant) capable de traiter toute CFG en $\mathcal{O}(n^3)$.
→ Voir L14
EBNF
Extended Backus-Naur Form — notation standard pour la syntaxe (ISO 14977)
→ Voir S12
EBNFdoc
Format de documentation systématique des productions EBNF, inspiré des références d’API (Javadoc, MDN). Chaque production est documentée avec ses composants typés, contraintes, source C et exemples.
→ Voir B10
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
Encoder
Étape 3 — traduit l’AST en grammaire BP3 + émet le terminalActorMap et les prototypes
→ Voir S10
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
ENGINE_KEY
Clé réservée pour les qualificateurs moteur []
→ Voir S12
Enharmonie
en musique, deux notes de même hauteur mais d’orthographe différente (do# = ré♭). MIDI ne distingue pas les enharmoniques.
→ Voir I4
Entrainement (entrainment) : synchronisation des comportements rythmiques entre individus en interaction (ici, en musique conjointe).
- Efficacité communicative
pression façonnant les langues vers un compromis effort-du-locuteur / informativité.
→ Voir L21
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 ($\varphi$)
Fonction qui associe à chaque nom de flag sa valeur entière courante. Notation : $\varphi(\text{avart}) = 4$.
→ Voir B4
Erreur de prédiction
écart entre ce que le système prédisait et l’entrée réelle ; signal qui pilote l’apprentissage.
→ Voir L19
Erreur de prédiction de récompense
écart entre récompense attendue et reçue, signalé par la dopamine (Schultz) ; substrat neuronal du surprisal et de la mise à jour.
→ Voir L21
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
Expansion polymétrique
Transformation de {v1, v2} en séquence d’événements horodatés
→ Voir B13
Expression régulière (regex)
Notation compacte pour décrire des motifs textuels. Équivalente en puissance à un automate fini.
→ Voir L1
F
Faiblement context-sensitive
classe de langages plus expressive que les grammaires context-free, mais encore analysable en temps polynomial (TAG, CCG) ; les flags de BP3 l’effleurent, ses variables la dépassent ; voir L9
→ Voir S1
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 conditionnelle attachée à une règle (/nom=valeur/). Contrôle l’activation et modifie l’état de la dérivation.
→ Voir B10, B4, S1, S2, S6
Fonction (gen) vs relation (parse)
La génération est une fonction (univoque) : son entrée — (grammaire + dérivation) — fixe la sortie. Ce n’est pas de l’injectivité (deux dérivations peuvent donner la même chaîne). Le parsing est une relation (une phrase → plusieurs arbres) car son entrée — (grammaire + chaîne) — est moins informative et sous-détermine l’arbre.
→ Voir L15
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
Forêt de dérivation partagée
Structure de données qui représente compactement (en $\mathcal{O}(n^3)$) un nombre exponentiellement grand d’arbres de dérivation. Le non-déterminisme est comprimé, pas éliminé.
→ Voir L15
Frege, Gottlob
Logicien allemand (1848-1925), fondateur de la logique moderne, à qui on attribue le principe de compositionnalité.
→ Voir M4
FST (Finite-State Transducer) : Automate à états finis avec entrée et sortie. L’inverse d’un FST est aussi un FST — propriété qui ne se généralise pas aux grammaires context-free.
- GF (Grammatical Framework) : Formalisme grammatical multilingue de Ranta (2004, 2019) avec séparation syntaxe abstraite/concrète, permettant parsing et génération dans 40+ langues.
- Inversion de grammaires
Technique de Strzalkowski pour transformer automatiquement une grammaire de parsing en grammaire de génération en inversant la structure de contrôle. Prouve que la direction est intégrée dans les grammaires procédurales.
→ Voir L16
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, S2, S6
Gate
Signal qui reste actif pendant une durée — en BPscript, un symbole qui occupe du temps
→ Voir S3
General MIDI (GM)
standard définissant 128 sons numérotés identiquement sur tous les appareils compatibles.
→ Voir I4
Goulot d’information (information bottleneck) : cadre formel (Tishby) du compromis entre compression d’une variable et information conservée sur une autre — candidat pour formaliser $\varepsilon^{*}$.
- Difficulté désirable (desirable difficulties, R. & E. Bjork) : observation que des obstacles d’apprentissage bien dosés améliorent la rétention — l’idée empirique d’un optimum d’erreur non trivial.
- Striatum / ganglions de la base
structures cérébrales (modulées par la dopamine) qui calculent le coût d’effort et forment les habitudes.
→ Voir L21
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
Gradient de connaissance ($\kappa$)
quantité de connaissance grammaticale disponible, de 1 (grammaire connue, reconnaissance) à 0 (rien connu, inférence pure).
→ Voir L21
Gradient de connaissance ($\kappa$) : quantité de connaissance grammaticale disponible, de 1 (grammaire connue, reconnaissance) à 0 (tabula rasa, inférence).
- PAC (Probably Approximately Correct) : cadre d’apprentissage exigeant une hypothèse approximativement correcte avec haute probabilité.
- Oracle d’appartenance
procédure répondant « cette chaîne est-elle dans le langage ? » ; requise par L*, donc présuppose la reconnaissance.
→ Voir L20
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
Grain
En synthèse granulaire, micro-fragment sonore (typiquement 1-100 ms) qui, combiné à des milliers d’autres, forme des textures et des sons complexes.
→ Voir B9
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 \to \gamma$ (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
grammar_section
Bloc de grammaire contenant un mode, un préambule optionnel et des règles.
→ Voir B10
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
Gravure musicale
processus de mise en page d’une partition selon les conventions typographiques professionnelles. LilyPond automatise ce processus
→ Voir M7
Groupe simultané
ensemble d’événements attachés au même instant, souvent factorisé dansS9# Liens dans la série
→ Voir S7
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
Génération libre
appliquer les règles d’une grammaire sans viser de sortie particulière. Toujours $\mathcal{O}(n)$.
→ Voir L18
Génération sous contrainte
produire une chaîne qui satisfait une condition externe $C$ (sens cible, format, occurrences lexicales). Peut être NP-complète dès les CFG enrichies de traits.
→ Voir L18
Génération sous contrainte sémantique
produire une chaîne qui satisfait en plus une contrainte externe. NP-complète dès $k=2$ avec traits (Brew 1992).
→ Voir L17
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 d’homomorphisme — MASTER (=X) définit, SLAVE (:X) réplique
→ Voir B11, 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, S8
Hot-swap
Remplacement à chaud — modifier le code pendant que le système tourne, sans l’arrêter
→ Voir S11
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
Identification à la limite
critère de Gold ; l’apprenant converge vers la bonne grammaire après un nombre fini d’exemples et n’en change plus.
→ Voir L20
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
Index positionnel
information de position dans la chaîne d’entrée (« de la position $i$ à $j$ »), qui rend le parsing polynomial et fait défaut à la génération.
→ Voir L18
Inférence grammaticale (induction)
découvrir une grammaire à partir d’un corpus d’exemples, sans qu’elle soit donnée.
→ Voir L20
Input object
Time-object de durée nulle qui attend un signal externe (note MIDI, clic souris) pour synchroniser la performance en temps réel.
→ Voir B9
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
IR
Intermediate Representation — représentation intermédiaire entre le source et la cible
→ Voir B11
J
Jhālā
Phase conclusive d’un raga, rapide et virtuose
→ Voir S6
JIT
Just-In-Time compilation — compilation du code au moment de l’exécution. Extempore utilise LLVM JIT pour compiler du DSP en live
→ Voir M7
Jor
Phase intermédiaire d’un raga, progressivement rythmée
→ Voir S6
Jugalbandi
Duo musical indien où deux solistes dialoguent et se superposent, chacun avec sa propre subdivision du temps.
→ Voir B5
K
K-paramètre
Poids interactif (<K1>, <K1=5>) permettant à l’utilisateur de contrôler dynamiquement la sélection des règles.
→ Voir B10
KAMP
Système d’Appelt unifiant planification et réalisation en NLG. Bidirectionnel mais « computationnellement impraticable ».
→ Voir L16
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. Utilise des structures grammaticales complexes (sous-grammaires, templates), pas simplement le mode SUB1.
→ Voir B3, B4, B7, B8
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
Kpress
Facteur de compression du diagramme de phase dans PolyMake(). Réduit la résolution temporelle quand la grille dépasse les limites mémoire.
→ Voir B12
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 (ε) — le non-terminal disparaît
→ Voir B11
Lambda (production vide)
Règle qui réécrit un non-terminal en la chaîne vide ($\varepsilon$). 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
Left-corner
Stratégie de parsing hybride qui commence ascendante (le premier symbole) puis poursuit descendante (prédiction).
→ Voir L14
Leftmost (dérivation gauche)
Stratégie qui remplace toujours le non-terminal le plus à gauche.
→ Voir B3
Leftmost derivation
Stratégie de dérivation qui réécrit toujours le non-terminal le plus à gauche dans le work string. En mode LIN de BP3, le choix parmi les règles applicables à cette position est aléatoire.
→ 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)
Côté gauche d’une règle — ce qui est réécrit. Doit contenir au moins un élément.
→ Voir B10, 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 ¬e (fin) en BP3.
→ Voir B5
LIN (mode BP3)
Mode Linear — la règle candidate est choisie aléatoirement parmi celles qui produisent une dérivation leftmost (le non-terminal le plus à gauche est réécrit en premier).
→ 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, M7, S11, S2
LL (Left-to-right, Leftmost derivation) : Parsing descendant prédictif. Imite la direction de la génération. Moins puissant que LR.
- Lookahead
Nombre de symboles d’avance qu’un parser consulte pour décider quelle règle appliquer. Noté $k$ dans LL($k$) et LR($k$).
→ Voir L14
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
Macro
substitution textuelle — le compilateur remplace l’appel par le corps de la macro avant toute analyse
→ Voir S2
Marqueur de contexte
Construction BP3 qui conditionne l’application d’une règle à la présence d’un symbole dans le contexte.
→ Voir B6
MCSL
Mildly Context-Sensitive Language — classe de langages entre context-free (Type 2) et context-sensitive (Type 1)
→ Voir M7
MCSL (Mildly Context-Sensitive Languages)
Classe de langages entre le Type 2 (context-free) et le Type 1 (context-sensitive). Position des grammaires écrites dans BP3.
→ Voir B10
MDL (Minimum Description Length) : critère de choix d’un modèle ; le meilleur minimise (taille du modèle) + (données encodées par lui). Occam quantifié.
- CRC (cyclic redundancy check) : bits redondants ajoutés pour détecter une corruption. Les retirer comprime mais réduit la robustesse.
- Sous-spécification
omettre, dans un message, ce que le récepteur peut reconstruire — comprimer à la source.
→ Voir L21
Membership test (test d’appartenance)
Le problème de décision : « cette séquence appartient-elle au langage engendré par cette grammaire ? ». En BP3, résolu par template matching en mode ANAL.
→ Voir B8
Microsound
Terme de Curtis Roads pour l’échelle temporelle des grains (en dessous de la note, au-dessus de l’échantillon).
→ Voir B9
MIDI
Musical Instrument Digital Communication — protocole universel (1983) pour transmettre des événements musicaux entre instruments et logiciels. MIDI 2.0 (2020) étend la résolution à 32 bits
→ Voir M7
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
Mini-notation
syntaxe compacte de TidalCycles pour décrire des patterns rythmiques entre guillemets
→ Voir M7
Mise à jour fonctionnelle
Opération qui crée un nouvel environnement identique à l’ancien sauf pour une variable. Notation : $\varphi[\text{avart} \mapsto 3]$ signifie « $\varphi$ avec avart changé en $3$ ».
→ Voir B4
MODE
Mode de dérivation d’un bloc de grammaire (ORD, RND, LIN, SUB, SUB1, TEM, POSLONG). Détermine la stratégie de sélection des règles.
→ Voir B10
Mode de dérivation
Dans BP3, stratégie de sous-grammaire pour choisir et appliquer les règles (ORD, RND, LIN, SUB, SUB1, TEM, POSLONG).
→ Voir B3, S5
Modus ponens
Raisonnement logique direct : « si A implique B, et A est vrai, alors B est vrai ». En BP3 : si la grammaire a la règle S → A B, on peut produire A B. Direction : PROD.
→ Voir B8
Modus tollens
Raisonnement logique inverse : « si A implique B, et B est faux, alors A est faux ». En BP3 : si une séquence ne correspond à aucune dérivation de la grammaire, elle n’est pas grammaticale. Direction : ANAL.
→ Voir B8
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
MOS (Moment of Symmetry)
Gamme générée par un seul intervalle (generator) réduit dans une période
→ Voir S9
Mot réservé
mot que le langage se réserve — l’utilisateur ne peut ni le redéfinir ni l’employer comme nom
→ Voir S2
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
MusicXML
format d’échange XML standardisé (W3C) pour les partitions numériques. Interopérabilité entre Finale, Sibelius, MuseScore, LilyPond
→ Voir M7
Mutation
modification d’un flag via [flag=valeur], [flag+1] ou [flag-1] en fin de règle — appliquée au déclenchement de la règle (hors-temps), pas à un point du flux joué
→ Voir S6
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
N400
onde cérébrale (potentiel évoqué) dont l’amplitude croît avec l’inattendu sémantique — corrélat neuronal du surprisal.
→ Voir L19
Niveau d’analyse
plan auquel on décrit un phénomène (formel/computationnel vs cognitif/mécaniste) ; deux niveaux peuvent diverger sans se contredire.
→ Voir L19
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
NLG (Natural Language Generation) : Sous-domaine du TAL qui concerne la génération de texte. Le pipeline de Reiter & Dale décompose le processus en planification du document → microplanification → réalisation de surface.
- Pipeline NLG
Architecture en trois étapes (Reiter & Dale, 2000) : 1) planification du document (quoi dire), 2) microplanification (comment le dire), 3) réalisation de surface (la phrase). Structurellement descendant.
→ Voir L16
Nombres de Catalan
$C_n \sim 4^n/n^{3/2}\sqrt\pi$ — comptent les arbres de dérivation d’une chaîne CFG ambiguë.
→ Voir L17
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, S2
NonTerminal
Symbole pouvant être réécrit (commence par une majuscule en BP3)
→ Voir B11
Normalisation
Ajustement des durées pour que toutes les voix aient la même durée totale
→ Voir B13, 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 $\llbracket \cdot \rrbracket$
doubles crochets signifiant « la dénotation de » ou « la signification mathématique de ». $\llbracket e \rrbracket$ se lit « la dénotation de $e$« .
→ Voir L5
Notation périodique
notation utilisant . pour découper une séquence en fragments de durée symbolique égale
→ Voir S5
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
Octaves
Convention de nommage des registres (position, séparateur, liste grave→aigu)
→ Voir S9
on_fail
Directive de gestion d’échec — que faire quand aucune règle ne s’applique (skip, retry, fallback)
→ Voir S6
Oracle
Dans le contexte de l’inférence grammaticale, l’expert (le musicien) qui valide ou rejette les généralisations proposées par le système.
→ Voir B8, L21
Oracle écologique
ici, l’oracle non formel formé par le feedback de l’interaction (réparation, alignement, désynchronisation), surtout implicite.
→ Voir L21
ORD (mode BP3)
Mode Ordered, où les règles sont appliquées dans l’ordre séquentiel du fichier.
→ Voir B3
Ordre partiel ($\sqsubseteq$)
relation « est moins défini que » ou « a moins d’information que ». $\bot \sqsubseteq 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
Out-time object
Élément <<...>> joué immédiatement, hors du flux temporel normal. Peut être une note MIDI ou un sound-object.
→ Voir B10, B9
OutTimeObject
Objet hors-temps <<symbole>> — déclenché sans occuper de durée
→ Voir B11
P
P-chain
cadre de Dell & Chang (2014) reliant production, compréhension et acquisition en une chaîne causale via la prédiction.
→ Voir L19, L21
Parcours compositionnel
Séquence d’états de flags qui définit une trajectoire à travers la grammaire — chaque état active un ensemble de règles différent
→ Voir S6
Parser
Étape 2 — construit l’AST (et expanse les macros)
→ Voir S10
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^6)$. Pour les CFG (algorithme CYK, Cocke-Younger-Kasami) : $O(n^3)$.
→ 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
Pas
Un intervalle élémentaire dans la grille du tempérament
→ Voir S15
Patch / Programme / Preset
son d’instrument prédéfini. Programme 1 = piano en General MIDI.
→ Voir I4
Patching
Câblage des modules audio (filtre → reverb → sortie) — géré par le runtime, pas par BPscript
→ Voir S14
Pattern
en SuperCollider ou TidalCycles, objet qui génère des séquences de valeurs selon des règles
→ Voir M3, M7
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, M7
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
Performance control
Fonction spéciale (_nom(args)) contrôlant le rendu sonore (hauteur, vélocité, timing, etc.). 68 fonctions définies dans BP3.
→ Voir B10
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 : $\text{wp}(C, Q)$. Introduit par Dijkstra (1975).
→ Voir L8
Poids
Valeur numérique <N> ou <N-M> contrôlant la probabilité de sélection d’une règle en mode RND.
→ Voir B10
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^2$, 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
PolyMake()
Fonction C dans Polymetric.c qui implémente l’expansion polymétrique. Non formellement documentée.
→ Voir B13
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, M7, S1, S2, S5
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
Portée
zone de visibilité d’une variable — chaque runtime a la sienne, isolée des autres
→ Voir S4
POSLONG (mode BP3)
Mode Position + Longest, variante de SUB1 qui sélectionne la dérivation la plus longue parmi les règles candidates à la position la plus à gauche. Stratégie leftmost-longest match.
→ Voir B3
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, S5
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
Prediction-by-production
hypothèse selon laquelle la compréhension prédit la suite en mobilisant le système de production.
→ Voir L19
Primaire
L’élément avant ! — doit occuper du temps (gate, cv ou silence)
→ Voir S7
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 à mémoire
Processus stochastique où la probabilité d’un événement dépend de l’historique. BP3 avec poids dynamiques est techniquement markovien à état étendu (les compteurs font partie de l’état), mais le comportement observable est à mémoire.
→ Voir B1
Prod
PPCM (plus petit commun multiple) de tous les rapports de durées dans une pièce. Détermine la résolution de la grille entière du diagramme de phase.
→ Voir B12
PROD (mode)
Mode production de BP3 — la grammaire génère des séquences musicales par dérivation. Correspond au modus ponens.
→ Voir B8, L13
Produit cartésien
$A \times 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, S5
Propriétés métriques
Caractéristiques d’un sound-object liées à sa durée interne et à la façon dont son timing s’ajuste au tempo.
→ Voir B9
Propriétés topologiques
Caractéristiques d’un sound-object liées à ses relations de voisinage (troncature, chevauchement, adjacence).
→ Voir B9
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
PSPACE-complet
Classe de problèmes résolubles en espace polynomial mais pour lesquels aucun algorithme en temps polynomial n’est connu. Le parsing des grammaires context-sensitive est PSPACE-complet.
→ Voir L15, L17
Puissance modulable
BP3 n’est pas figé à une classe de Chomsky — selon les mécanismes activés, il va du context-free (Type 2) au context-sensitive (Type 1), voire au-delà ; voir B6
→ Voir S1
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
Q
QAVAID (Question Answer Validated Analytical Inference Device) : Programme Prolog II séparé (1988-1990) pour l’inférence grammaticale interactive, développé par Bel & Kippen. Jamais intégré à BP3, abandonné. Le nom signifie aussi « grammaire » (قواعد) en arabe/ourdou.
- Round-trip test
Test de validation où les séquences produites par une grammaire inférée sont soumises au musicien qui a fourni les exemples originaux. Si elles sont acceptées, la grammaire a capturé les règles tacites. Équivalent musical du test de commutativité de Morris.
→ Voir B8
Qualifier
Qualificateur [] pour le moteur BP3 (speed, weight, tempo…)
→ Voir S13
Quantisation
alignement des changements sur une grille temporelle — le changement prend effet au prochain battement ou cycle
→ Voir S11
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
Ratio polymétrique
Le N dans {N, ...}. Définit combien de beats la séquence occupe. Ce n’est pas un opérateur de tempo (pas de modification de vitesse), c’est un ratio structurel de portée locale. Accepte les rationnels ({3/2, ...}).
→ Voir B12, S5
raw_value
Valeur brute (tout texte jusqu’au , ou ]) pour les clés moteur
→ Voir S12
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
Renversement de signe
pour la génération contrainte, l’asymétrie s’inverse — générer devient plus dur qu’analyser.
→ Voir L17, L18
REPL
Read-Eval-Print Loop — console interactive qui conserve un état entre les commandes
→ Voir S4
Repos indéterminé
Symbole ... dont la durée est calculée par le moteur BP3 (algorithme PolyMake)
→ Voir S5
Resolver
Composant aval (1 par acteur) qui traduit token → fréquence via les 5 couches pitch
→ Voir S10, S3, S9
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)
Côté droit d’une règle — le résultat de la réécriture. Peut être vide (production ε). 23 types d’éléments possibles.
→ Voir B10, B3
RHSElement
Union type des 19 types de nœuds pouvant apparaître dans le côté droit d’une règle
→ Voir B11
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
rule_prefix
Identifiant unique d’une règle (gram#N[M]). N = index du bloc, M = index de la règle dans le bloc.
→ Voir B10
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
Runtime
environnement d’exécution qui consomme la séquence horodatée produite par le moteur (couche aval)
→ Voir S1, S2, S4
RuntimeQualifier
Qualificateur () pour le runtime (vel, pan, wave…) — compilé en _script(CTn)
→ Voir S13
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 \to 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éduction (polynomiale)
transformation, en temps polynomial, des instances d’un problème en instances d’un autre ; sert à transférer la difficulté.
→ Voir L18
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égime informant (vs texte) : chez Gold, apprentissage avec accès à des réponses/contre-exemples, plus puissant que les seules données positives.
- Classe superfinie
classe contenant tous les langages finis et au moins un infini ; non identifiable depuis des positifs seuls (mur de Gold).
→ Voir L21
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
Résolution implicite
Le compilateur déduit l’actor d’un symbole quand il n’y a pas d’ambiguïté
→ Voir S3
S
Sam
Premier temps du cycle de tāla — le point de résolution des cadences indiennes.
→ 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
Scaling
Variable interne de PolyMake() qui, combinée à speed, détermine le tempo effectif (speed/scaling). Modifiée par *N, **N et le dénominateur de _tempo(x/y).
→ Voir B12
Secondaire
Le symbole après ! — se déclenche au même instant que le primaire
→ Voir S7
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
Session View
Vue en grille d’Ableton Live où les clips sont lancés librement, sans ligne de temps
→ Voir S11
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
SimultaneousGroup
Nœud AST pour Sa!dha!spotlight (primaire + secondaires, temporel)
→ Voir S12
Small-step
sémantique où chaque transition (notée $\to$) 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
Smooth time
Mode temporel de BP3 (_smooth) où les durées sont des propriétés intrinsèques des objets, sans référence à une pulsation. Implémente le « temps lisse » de Boulez.
→ Voir B12
SOS
Structural Operational Semantics — cadre formel introduit par Plotkin en 1981 pour définir les langages de programmation.
→ Voir L6
Sound-object
Entité musicale avec propriétés métriques et topologiques, plus générale qu’une note
→ Voir B13, B9
Spec
Propriétés permanentes d’un terminal (timbre, sample, déclin) — résolues une fois au chargement
→ Voir S14
SpecialFn
Fonction spéciale BP3 (_tempo, _smooth, _legato, etc.) — 30+ fonctions
→ Voir B11, B7
Speed
Variable interne de PolyMake() représentant la vitesse courante du flux. Modifiée par /N, \N et le numérateur de _tempo(x/y).
→ Voir B12
SpeedRatio
Opérateur de vitesse/échelle (/2, *3, **3, \2)
→ Voir B11
Spines
dans Humdrum, colonnes verticales d’un fichier \\kern représentant chacune une voix ou une dimension musicale
→ Voir M7
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
Strongly-timed
paradigme de ChucK où le temps est un type natif du langage, manipulable comme toute autre donnée
→ Voir M7
Structure de groupement
Organisation hiérarchique des événements musicaux en unités (motifs, phrases, sections).
→ Voir M4
Structure de traits (feature structure) : annotation attribut-valeur attachée à un constituant grammatical (accord, genre, nombre, sous-catégorisation).
- NP-complet
appartient à la classe des problèmes les plus difficiles parmi ceux dont une solution se vérifie en temps polynomial ; aucun algorithme polynomial connu, et il n’en existe vraisemblablement pas (sauf si $P = NP$).
→ Voir L18
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 — dérivation parallèle où toutes les règles candidates s’appliquent simultanément sur le work string, comme dans les L-systems.
→ Voir B3
SUB1 (mode BP3)
Mode Substitution 1 — un seul pass de réécriture, leftmost, déterministe. Les règles sont testées dans l’ordre du fichier.
→ Voir B3
Substitution
opération des TAG qui remplace un noeud feuille marqué ($\downarrow$) 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
Surprisal
$S(w_i) = -\log_2 P(w_i | w_1 \ldots w_{i-1})$. Mesure l’information apportée par un token en contexte. Zéro pour le générateur, positive pour le parser.
→ Voir L15, L19
Surprisal (surprise prédictive)
$-\log_2$ de la probabilité qu’un événement avait sous le modèle courant. En bits. Mesurable sans connaître la grammaire vraie.
→ Voir L21
Surprise du modèle (bayésienne)
ampleur du changement du modèle après un événement = information gagnée sur la grammaire. En bits.
→ Voir L21
Symbole de départ
Le non-terminal initial d’où commence toute dérivation (souvent S pour « Sentence » ou « Start »).
→ Voir B2
Symbole structurel
caractère (ou groupe de caractères) à la signification syntaxique fixe
→ Voir S2
SymbolWithTriggerIn
Nœud AST pour Sa<!sync (symbole + trigger entrant attaché)
→ Voir S12, S13
Sync tag
Point de synchronisation <<WN>> entre voix polymétriques. Mécanisme de rendez-vous.
→ Voir B10
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. $\Sigma w_i = w_1 + w_2 + \ldots + w_n$.
→ 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
Taux d’erreur / distorsion ($\varepsilon$)
proportion de ce que le récepteur ne reconstruit pas correctement. Croît avec la compression $R$, décroît avec la connaissance partagée $\kappa$.
→ Voir L21
Taux d’erreur optimal ($\varepsilon^{*}$)
taux d’erreur qui maximise l’apprentissage par unité d’énergie. Distinct de l’optimum communicatif (qui, lui, minimise l’erreur).
→ Voir L21
Taux de compression ($R$)
nombre de signifiants (bits) par signifié transmis. Comprimer = abaisser $R$ = dépenser moins d’énergie $E(R)$.
→ Voir L21
TEM (mode BP3)
Mode Templates, qui dérive exhaustivement une sous-grammaire pour générer un catalogue de squelettes structurels (section TEMPLATES:).
→ Voir B3
TEMP (mode)
Mode d’exploration structurelle de BP3 — énumère exhaustivement tous les squelettes structurels que la grammaire peut produire (en ignorant les poids). Le catalogue résultant peut optionnellement être utilisé par ANAL comme stratégie de reconnaissance alternative. TEMP n’est pas un prérequis d’ANAL. En termes shannoniens : construit le dictionnaire du décodeur.
→ Voir B8
Template
Squelette structurel pré-calculé par la direction TEMP. Stocké dans le bloc TEMPLATES:.
→ Voir B10
Template matching (correspondance de gabarits)
Mécanisme central du mode ANAL : superposer une séquence à analyser sur les patrons définis par les règles de la grammaire.
→ Voir B8
Temps lisse
Concept de Boulez (1963) désignant un flux temporel sans repères métriques réguliers. Métaphore textile (sans striures), pas propriété mathématique (continuité).
→ Voir B12, S5
Temps strié
Concept de Boulez (1963) désignant un flux temporel divisé par des repères réguliers (pulsation, mesure). Mode par défaut de BP3 (_striated).
→ Voir B12, S5
Temps symbolique
Représentation du temps dans BP3 sous forme de fractions rationnelles (Q), indépendante des millisecondes physiques.
→ Voir B12
Tempérament
Grille mathématique d’intervalles — division de l’espace fréquentiel en pas
→ Voir S9
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 $\lceil N/M \rceil + 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
terminalActorMap
Dictionnaire {terminal BP3 → acteur} — permet au dispatcher d’identifier l’acteur
→ Voir S10, S13
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
Time pattern
En BP3, symbole (t1, t2…) définissant une durée relative en smooth time. En mode strié, les time patterns ont une durée nulle.
→ Voir B12
Time-object
Brique élémentaire de BP3 — toute séquence de messages possédant une durée. Le terme générique inclut les notes, les instructions Csound, et tout événement temporel.
→ Voir B9
Time-setting
Placement temporel des sound-objects sous contraintes (Bel 1992)
→ Voir B13, B9
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
Tokenizer
Étape 1 — découpe le source en tokens, lit alphabets et octaves
→ Voir S10
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
programme qui convertit du code source d’un langage vers un autre de même niveau d’abstraction
→ Voir M7, S1
Transpileur (Transpiler)
Traducteur source-à-source entre deux langages de même niveau d’abstraction (ici, BP3 vers SuperCollider).
→ Voir B7
Transport
Protocole de sortie pour les données horodatées (Web Audio, MIDI, OSC)
→ Voir S10, S3
Trigger
Impulsion instantanée de durée zéro
→ Voir S3
Trigger entrant (<!)
Point de synchronisation — la dérivation attend un signal externe
→ Voir S7
Trigger sortant (!)
Signal envoyé vers un runtime au moment de l’exécution
→ Voir S7
Triplet de Hoare
notation $\{P\}\ C\ \{Q\}$ signifiant « si $P$ est vrai avant $C$, alors $Q$ est vrai après ».
→ Voir L5, L8
Triptyque Chomsky-Shannon-Morris
Trois cadres théoriques complémentaires pour comprendre les modes de BP3. Chomsky = complexité structurelle (hiérarchie), Shannon = encodage/décodage (direction), Morris = correction du cycle (commutativité).
→ Voir B8
TSRPR (Time-Span Reduction Preference Rules)
Règles pour identifier les têtes de groupes dans la réduction temporelle.
→ Voir M6
Tuning
Gamme concrète = quels pas du tempérament utiliser + fréquence de référence
→ Voir S9
Tuplet
En notation occidentale, groupe de notes compressées (triolet = 3 notes dans le temps de 2).
→ Voir M5
Tétracorde/Jins
Fragment de 4 notes couvrant une quarte — brique de base des gammes arabes et turques
→ Voir S9
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
Undetermined rest
Silence ... dont la durée est calculée par PolyMake()
→ Voir B13
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, S8
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
WebAssembly (WASM)
format d’exécution binaire qui permet de faire tourner du code compilé (ici BP3, écrit en C) dans un navigateur
→ Voir S1
Wildcard
joker ? / ?n qui capture un symbole déjà présent (à gauche) et le réinjecte (à droite) — comme un groupe de capture d’expression régulière
→ Voir S8
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
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