M3) Les paradigmes de représentation musicale

Six niveaux d’abstraction, de l’onde au sens

Six façons de penser la musique numériquement — et pourquoi elles s’empilent en couches, comme un modèle OSI.

Où se situe cet article ?

Dans M1 et M2, nous avons analysé deux formats musicaux — MIDI et MusicXML — comme des langages formels situés à des niveaux précis de la hiérarchie de Chomsky (L1). Mais pourquoi ces deux formats sont-ils si différents ? Pourquoi convertir de l’un à l’autre implique-t-il une perte ?

La réponse tient en un mot : abstraction. MIDI et MusicXML n’opèrent pas au même niveau de description de la musique. Et il en existe bien d’autres. Cet article prend du recul pour cartographier six paradigmes de représentation musicale et montrer qu’ils s’organisent en un empilement de couches d’abstraction croissante — du signal brut au sens musical.


Pourquoi c’est important ?

Un compositeur dans un DAW (Digital Audio Workstation — logiciel de production musicale comme Ableton Live ou Logic Pro) utilise MIDI sans y penser. Un graveur de partition utilise MusicXML. Un live-codeur (musicien qui programme en temps réel devant un public) utilise TidalCycles. Chacun a l’impression que son outil représente « la musique ». En réalité, chaque outil opère à un niveau d’abstraction différent — et encode donc des aspects différents de la même réalité musicale.

En 2003, Hugues Vinet (IRCAM) a proposé un cadre fondateur : quatre Representation Levels (physique, signal, symbolique, connaissance) reliés par des problèmes de conversion inter-niveaux. Vinet montrait que la plupart des problèmes de recherche en technologie musicale — transcription automatique, synthèse, analyse musicale — sont des problèmes de passage d’un niveau à l’autre. Mais son cadre était trop grossier : le niveau « symbolique » agrège des réalités très différentes. MIDI (flux d’événements), MusicXML (partition structurée), BP3 (grammaire générative) et GTTM (Generative Theory of Tonal Music — théorie de Lerdahl et Jackendoff qui modélise la perception des structures musicales) sont tous « symboliques » pour Vinet, alors qu’ils opèrent à des niveaux d’abstraction très différents.

Vinet lui-même le reconnaissait dans sa conclusion : il existe un gap au niveau syntactique — les patterns musicaux (motifs, accords, séquences caractéristiques) n’ont pas de couche dédiée dans son modèle.

Cet article propose un empilement plus fin de six niveaux, qui résout ce gap.

L’idée en une phrase

Les paradigmes de représentation musicale ne sont pas de simples perspectives équivalentes : ils s’organisent en niveaux d’abstraction croissante, du signal brut au sens musical — et les systèmes les plus puissants sont ceux qui traversent plusieurs niveaux.


L’empilement des six paradigmes

 

graph TD
    subgraph _sg0[""Niveaux d'abstraction""]
        direction TB
        F["6. Fonctionnel / Pattern
TidalCycles, Euterpea, SC Patterns
Comment composer les transformations ?"] G["5. Génératif
BP3, grammaires musicales
Comment produire la musique ?"] N["4. Notationnel
MusicXML, MEI, Lilypond
Comment l'écrire ?"] E["3. Événementiel
MIDI, OSC
Quand jouer quoi ?"] D["2. Dataflow
Max/MSP, Pure Data
Comment router les flux ?"] S["1. Signal
Csound, Faust, SynthDefs
Comment ça sonne ?"] end F --> G G --> N N --> E E --> D D --> S style F fill:#8b5cf6,color:#fff style G fill:#a855f7,color:#fff style N fill:#3b82f6,color:#fff style E fill:#06b6d4,color:#fff style D fill:#14b8a6,color:#fff style S fill:#f97316,color:#fff

 

Chaque flèche descendante représente une concrétisation : on passe d’une description abstraite à une description plus proche du son physique. Chaque flèche montante est une abstraction : on extrait du sens à partir de données brutes.

# Paradigme Question centrale Exemples Type de données
1 Signal Comment ça sonne ? Csound, Faust, SC SynthDefs $f(t) \to \mathbb{R}$
2 Dataflow Comment router les flux ? Max/MSP, Pure Data, Reaktor Graphe de connexions
3 Événementiel Quand jouer quoi ? MIDI, OSC Messages horodatés
4 Notationnel Comment l’écrire ? MusicXML, MEI, Lilypond Document structuré
5 Génératif Comment la produire ? BP3, grammaires musicales Règles de réécriture
6 Fonctionnel Comment composer ? TidalCycles, Euterpea Fonctions et patterns

Le point crucial : monter d’un niveau, c’est gagner en abstraction mais perdre en détail. Un fichier MIDI (niveau 3) ne contient pas d’information de timbre (niveau 1). Une grammaire BP3 (niveau 5) ne contient pas la partition exacte (niveau 4). Chaque conversion entre niveaux implique soit une perte (vers le haut : on résume), soit un ajout d’information (vers le bas : on doit spécifier les détails manquants).


Les six niveaux en détail

Niveau 1 : Signal — « Comment ça sonne ? »

La musique est un signal audio — une fonction $f(t)$ du temps vers l’amplitude. Ce paradigme opère au niveau le plus bas : celui de l’onde sonore elle-même.

 

; Csound : synthèse d'une sinusoïde
instr 1
  aOut  poscil  0.5, 440  ; oscillateur à 440 Hz
  outs  aOut, aOut
endin

 

poscil : oscillateur sinusoïdal. 0.5, 440 : amplitude 0.5, fréquence 440 Hz (La4). outs : sortie stéréo.

Caractéristiques : pas de concept de « note » — seulement $\approx$ 44 100 échantillons par seconde. Modélise le timbre (la « couleur » du son), pas seulement la hauteur et le rythme. Permet la synthèse de sons impossibles sur des instruments acoustiques. Faust formalise ce paradigme : chaque programme Faust est une fonction $f : \mathbb{R}^n \to \mathbb{R}^m$ — l’un des rares DSL (Domain-Specific Language — langage dédié à un domaine) musicaux avec une sémantique formelle publiée.

Exemples : Csound (1986), Faust (2002), SuperCollider SynthDefs, Max/MSP gen~

Niveau 2 : Dataflow — « Comment router les flux ? »

La musique est un graphe de transformations : des boîtes (objets) connectées par des câbles (flux de données).

 

[osc~ 440] → [*~ 0.5] → [dac~]

 

Un oscillateur à 440 Hz, multiplié par 0.5 (volume à 50%), envoyé vers la sortie audio (dac~ = digital-to-analog converter).

Ce qui distingue ce paradigme : la programmation se fait par patching (connexion de blocs graphiques). Visuel et modulaire. Deux flux coexistent : audio (tilde ~ — traité échantillon par échantillon) et contrôle (messages — traité événement par événement). Le dataflow est à la charnière entre signal et événement : il route les deux flux simultanément. L’analyse de flux (dataflow analysis) est un domaine bien formalisé en informatique depuis l’algorithme de Kildall (1973).

Exemples : Max/MSP (1988), Pure Data (1996), Reaktor, VCV Rack

Niveau 3 : Événementiel — « Quand jouer quoi ? »

La musique est une séquence d’événements horodatés : « à l’instant $t$, déclenche l’action $a$ ».

 

t=0ms     Note On  C4 vélocité=80
t=500ms   Note Off C4
t=500ms   Note On  D4 vélocité=75
t=1000ms  Note Off D4

 

Caractéristiques : l’axe principal est le temps. Proche de ce que fait physiquement un instrument (appuyer/relâcher). Pas de structure musicale (pas de phrase, de motif, d’harmonie). Optimisé pour le jeu en temps réel.

Forces Limites
Transmission temps réel Pas de structure musicale
Universel (tout synthétiseur) Pas de distinction do$\sharp$/ré$\flat$
Compact ($\sim$ octets/note) 128 niveaux de vélocité, 16 canaux

Formellement, MIDI est un langage de Type 3 (régulier) dans la hiérarchie de Chomsky (L1) — reconnaissable par un automate fini. Voir M1.

Niveau 4 : Notationnel — « Comment l’écrire ? »

La musique est un document structuré selon des conventions de notation : portées, mesures, clefs, armures (les dièses ou bémols en début de portée indiquant la tonalité).

 

<measure number="1">
  <attributes>
    <key><fifths>0</fifths></key>
    <time><beats>4</beats><beat-type>4</beat-type></time>
  </attributes>
  <note>
    <pitch><step>C</step><octave>4</octave></pitch>
    <type>quarter</type>
  </note>
</measure>

 

Caractéristiques : l’axe principal est la page. Encode l’intention du compositeur. Inclut les indications d’expression (nuances, phrasés). Préserve la tradition de la partition.

Forces Limites
Complétude notationnelle $\sim$10x plus volumineux que MIDI
Interopérabilité (Finale, MuseScore) Biais occidental (notation standard)
Lisible par un humain Statique (1 fichier = 1 partition fixe)

Formellement, MusicXML est un langage de Type 2 (hors-contexte) dans la hiérarchie de Chomsky (L1). Voir M2.

Observation de Vinet : les formats de notation chevauchent en réalité deux niveaux. Le tempo (noire = 120) est de l’information événementielle-symbolique, mais l’indication « con fuoco » est de l’information sémantique de haut niveau. Ce chevauchement révèle que la notation est un format composite, pas une couche « pure ».

Niveau 5 : Génératif — « Comment la produire ? »

La musique est un processus défini par des règles : grammaires, probabilités, algorithmes. Le fichier ne contient pas « la musique » mais « comment produire de la musique ».

 

// BP3 : grammaire générative
gram#1[1] S → _vel(80) C4 _vel(60) {D4,E4} F4 G4
gram#1[2] S → A B
gram#1[3] A → C4 C4 | D4 D4
gram#1[4] B → E4 F4 G4

 

S → ... : $S$ se réécrit en la séquence. _vel(80) : vélocité 80. {D4,E4} : accord. | : choix aléatoire.

Chaque exécution peut produire une séquence différente selon les choix stochastiques (aléatoires pondérés).

Caractéristiques : l’axe principal est la transformation. Décrit des familles de pièces, pas une pièce unique. Non déterministe. Encode explicitement la hiérarchie (thèmes, motifs, phrases).

Forces Limites
Une grammaire = infinies réalisations Nécessite de programmer
Structure explicite (hiérarchies) Pas d’échange standard
Compacité sémantique Impossible d’archiver « la » version

Formellement, BP3 (I2) est une PCFG (Probabilistic Context-Free Grammar — grammaire probabiliste hors-contexte, B1) avec des flags (variables conditionnelles, B4) qui le poussent vers le mildly context-sensitive (L9).

C’est exactement le gap identifié par Vinet : les patterns et structures musicales occupent une « position manquante » entre le symbolique et la connaissance, que son modèle à 4 niveaux ne capturait pas.

Niveau 6 : Fonctionnel / Pattern — « Comment composer les transformations ? »

La musique est une composition de fonctions : des patterns (motifs répétitifs) transformés par des opérations algébriques (transposition, inversion, superposition).

 

-- TidalCycles : polyrythmie en une ligne
d1 $ stack [s "bd sd" # speed 1.2, s "hh*4" # gain 0.8]

 

stack : superposer deux couches (composition parallèle). s "bd sd" : pattern grosse caisse + caisse claire. s "hh*4" : quatre hi-hats par cycle.

Ce qui distingue ce paradigme : les patterns sont des valeurs de première classe — on peut les combiner, les transformer, les passer en argument. Héritage de la programmation fonctionnelle (Haskell) : composition, évaluation paresseuse (lazy evaluation — les valeurs ne sont calculées qu’au moment où elles sont nécessaires), immuabilité. Proximité avec l’algèbre musicale : transposition = translation, inversion = symétrie. Idéal pour le live coding (programmation performative en temps réel devant un public).

Exemples : TidalCycles (McLean, 2014), Euterpea (Hudak, 2014), SuperCollider Patterns, Extempore


La conversion entre niveaux : le mécanisme central

Chaque passage d’un niveau à un autre est un problème de conversion avec des propriétés formalisables :

 

graph LR
    S["Signal"] -->|"transcription
(perte)"| E["Événement"] E -->|"analyse
(structuration)"| N["Notation"] N -->|"induction
(peu exploré)"| G["Génératif"] G -->|"dérivation
(choix)"| N2["Notation"] N2 -->|"playback
(quantification)"| E2["Événement"] E2 -->|"synthèse
(ajout timbre)"| S2["Signal"] style S fill:#f97316,color:#fff style E fill:#06b6d4,color:#fff style N fill:#3b82f6,color:#fff style G fill:#a855f7,color:#fff style S2 fill:#f97316,color:#fff style E2 fill:#06b6d4,color:#fff style N2 fill:#3b82f6,color:#fff

 

Interface Descente $\downarrow$ Montée $\uparrow$ Perte ?
Signal $\leftrightarrow$ Événement Synthèse (ajout timbre) Transcription automatique Oui ($\uparrow$) : timbre perdu
Événement $\leftrightarrow$ Notation Playback (quantification) Score following Partielle : expression perdue
Notation $\leftrightarrow$ Génératif Dérivation (choix aléatoires) Induction de grammaire Oui ($\uparrow$) : règles perdues
Génératif $\leftrightarrow$ Fonctionnel Instanciation de patterns Abstraction Oui ($\uparrow$) : transformations perdues

L’insight de Vinet : la plupart des problèmes de recherche en technologie musicale sont des problèmes de conversion inter-niveaux. La transcription automatique ? Signal → Événement. La synthèse ? Événement → Signal. La composition algorithmique ? Génératif → Notation → Événement → Signal. Et chaque conversion a un coût.


Les outils multi-niveaux

La puissance d’un outil musical se mesure souvent par le nombre de niveaux qu’il traverse. Voici une carte des principaux outils positionnés sur notre empilement :

Outil Signal Dataflow Événement Notation Génératif Fonctionnel
Csound $\bullet$ . $\bullet$ . . .
Faust $\bullet$ . . . . .
Max/MSP $\bullet$ $\bullet$ $\bullet$ . . .
Pure Data $\bullet$ $\bullet$ $\bullet$ . . .
SuperCollider $\bullet$ . $\bullet$ . $\bullet$ $\bullet$
Sonic Pi $\bullet$ . $\bullet$ . $\bullet$ .
Extempore $\bullet$ . $\bullet$ . $\bullet$ .
MIDI (format) . . $\bullet$ . . .
MusicXML . . . $\bullet$ . .
Lilypond . . . $\bullet$ . .
music21 . . $\bullet$ $\bullet$ . .
OpenMusic . . $\bullet$ $\bullet$ $\bullet$ .
BP3 . . $\bullet$ $\bullet$ $\bullet$ .
TidalCycles . . (via SC) . $\bullet$ $\bullet$
Euterpea . . $\bullet$ . . $\bullet$
GTTM (théorie) . . . . $\bullet$ .

Observations :

  • Les outils qui ne touchent qu’un seul niveau (MIDI, MusicXML, Faust) sont spécialisés et très bons dans leur domaine, mais limités.
  • Les outils qui traversent 3-4 niveaux (SuperCollider, Sonic Pi, Extempore, Max/MSP, OpenMusic) sont les plus polyvalents. Ils paient cette polyvalence par une complexité d’apprentissage plus élevée.
  • Aucun outil ne couvre les six niveaux. Il n’existe pas de système universel de représentation musicale.
  • SuperCollider et OpenMusic se distinguent par leur couverture des niveaux hauts (génératif/fonctionnel) en plus du signal — mais ils ne sont pas les seuls.

Comparaison directe : le même motif en quatre niveaux

Prenons un motif simple : do-mi-sol (arpège — notes d’un accord jouées successivement — de do majeur).

Niveau 3 — MIDI (événementiel)

 

Delta=0    Note On  60 (C4)  vel=80
Delta=480  Note Off 60
Delta=0    Note On  64 (E4)  vel=80
Delta=480  Note Off 64
Delta=0    Note On  67 (G4)  vel=80
Delta=480  Note Off 67

 

Delta = temps écoulé depuis l’événement précédent, en ticks (typiquement 480 ticks par noire).

Capture : les hauteurs exactes, les timings, les vélocités. Ignore : c’est un arpège, c’est un accord de do majeur, c’est un degré I.

Niveau 4 — MusicXML (notationnel)

 

<measure number="1">
  <note>
    <pitch><step>C</step><octave>4</octave></pitch>
    <duration>1</duration><type>quarter</type>
  </note>
  <note>
    <pitch><step>E</step><octave>4</octave></pitch>
    <duration>1</duration><type>quarter</type>
  </note>
  <note>
    <pitch><step>G</step><octave>4</octave></pitch>
    <duration>1</duration><type>quarter</type>
  </note>
</measure>

 

Capture : la tonalité (do majeur), le chiffrage, les noms des notes. Ignore : c’est un arpège (figure typique), c’est une fonction tonique.

Niveau 5 — BP3 (génératif)

 

gram#1[1] ARPEGE → _vel(80) C4 E4 G4
gram#1[2] ARPEGE → _vel(80) C4 G4 E4      // renversement
gram#1[3] ARPEGE → _vel(80) G4 E4 C4      // descendant
gram#1[4] S → ARPEGE CADENCE

 

Capture : la notion d’arpège comme unité structurelle, les variations possibles. Ignore : l’exacte réalisation choisie à chaque exécution.

Multi-niveaux — SuperCollider (3 $\to$ 5)

 

Pbind(
  \instrument, \default,
  \note, Pseq([0, 4, 7]),    // do-mi-sol en degrés chromatiques
  \dur, 0.5,
  \amp, 0.8
).play;

 

Pbind : liaison de paramètres musicaux (paradigme fonctionnel). Pseq([0, 4, 7]) : séquence ordonnée ($0 = \text{C4}$, $4 = \text{E4}$, $7 = \text{G4}$). \instrument, \default : SynthDef par défaut (paradigme signal).

Capture : la structure (Pbind), le timbre (SynthDef), le timing (dur). Ignore : la notation traditionnelle.


Le compromis fondamental

Aucun format ne peut être optimal sur tous les axes. C’est un compromis irréductible :

 

graph TD
    EX["Exhaustivité
(tout encoder)"] CO["Compacité
(peu de données)"] GE["Générativité
(produire des variations)"] EX --- CO CO --- GE GE --- EX MIDI((MIDI)) -.-> CO XML((MusicXML)) -.-> EX BP3((BP3)) -.-> GE style MIDI fill:#06b6d4,color:#fff style XML fill:#3b82f6,color:#fff style BP3 fill:#a855f7,color:#fff

 

Imaginez qu’on veuille décrire une forêt :

  • Exhaustivité : décrire chaque arbre, chaque feuille $\to$ énorme quantité de données
  • Compacité : dire « une forêt de chênes » $\to$ très court, mais on perd les détails
  • Générativité : donner les règles de croissance $\to$ peut produire infiniment de forêts, mais aucune n’est « la » forêt originale
Format Exhaustivité Compacité Générativité
MIDI Moyenne Élevée Nulle
MusicXML Élevée Faible Nulle
BP3 Faible Très élevée Élevée
SuperCollider Variable Moyenne Élevée
TidalCycles Faible Élevée Élevée
Csound Élevée (signal) Faible Faible

Pourquoi BP2SC traverse les couches

Le projet BP2SC transpile (convertit du code source d’un langage vers un autre) des grammaires BP3 vers des patterns SuperCollider. Ce n’est pas une conversion horizontale entre formats du même niveau — c’est une traversée verticale :

 

graph TD
    L5["Niveau 5 : Génératif
grammaire BP3"] -->|"dérivation"| L4["Niveau 4–5 : Structure
arbre de dérivation"] L4 -->|"linéarisation"| L3["Niveau 3 : Événementiel
séquence de notes (Pbind)"] L3 -->|"exécution SC"| L1["Niveau 1 : Signal
audio (SynthDefs)"] style L5 fill:#a855f7,color:#fff style L4 fill:#7c3aed,color:#fff style L3 fill:#06b6d4,color:#fff style L1 fill:#f97316,color:#fff

 

BP2SC saute le niveau notationnel (pas de partition intermédiaire) — ce qui n’est possible que parce que SuperCollider opère à la fois au niveau génératif (Patterns), événementiel (OSC) et signal (SynthDefs).

Pourquoi ne pas simplement exporter en MIDI ?

  1. MIDI est déterministe : un fichier MIDI = une séquence fixe. BP3 décrit des familles de séquences.
  2. MIDI n’a pas de règles : on ne peut pas encoder « choisir entre A et B avec probabilité 70/30 » en MIDI.
  3. SC préserve la générativité : les patterns SC — Pbind, Pwrand (choix pondéré), Pseq (séquence) — expriment les mêmes concepts que BP3.

 

// Équivalent SuperCollider d'un choix pondéré BP3
Pwrand(
  [Pseq([60, 64, 67]), Pseq([60, 67, 64])],
  [0.7, 0.3],  // 70% ascendant, 30% renversement
  inf
)

 

Cette conversion préserve l’intention générative — ce qu’un export MIDI ne pourrait jamais faire.


Vers un « modèle OSI » de la musique ?

L’analogie avec le modèle OSI (Open Systems Interconnection — le modèle en 7 couches qui structure les protocoles réseau) n’est pas anodine. Le modèle OSI réussit parce qu’il formalise :

  • Des couches avec des responsabilités clairement séparées
  • Des interfaces : chaque couche ne communique qu’avec ses voisines
  • L’encapsulation : les données d’une couche supérieure sont « enveloppées » par la couche inférieure

Pour la musique, un tel modèle permettrait de :

  • Prédire quelles conversions sont faciles et lesquelles sont lossy (avec perte)
  • Caractériser les outils par les couches qu’ils traversent
  • Identifier les gaps : quels standards manquent à quels niveaux ? (Vinet identifiait déjà un « missing control format » entre signal et événement en 2003)

Ce chantier de formalisation dépasse le cadre de cet article — mais il sous-tend toute la série M. La carte que nous avons dressée ici est un premier pas vers ce modèle.


Ce qu’il faut retenir

  1. Six paradigmes, six niveaux d’abstraction : Signal (1) $\to$ Dataflow (2) $\to$ Événementiel (3) $\to$ Notationnel (4) $\to$ Génératif (5) $\to$ Fonctionnel (6).
  2. Monter = abstraire, descendre = concrétiser. Chaque conversion entre niveaux a un coût (perte ou ajout d’information).
  3. Les outils multi-niveaux (SuperCollider, Sonic Pi, Extempore, Max/MSP, OpenMusic) sont les plus puissants — mais aucun ne couvre les six niveaux.
  4. Le triangle d’impossibilité : exhaustivité, compacité et générativité ne peuvent pas être maximisées simultanément.
  5. BP2SC est une traversée verticale : du génératif (BP3) au signal (SC), en sautant la notation.
  6. Le cadre de Vinet (2003) donne les fondations ; le gap qu’il identifie au niveau syntactique/patterns est exactement l’espace où opèrent BP3 et TidalCycles.

Pour aller plus loin

  • Vinet (2003) : « The Representation Levels of Music Information » — le cadre fondateur à 4 niveaux, CMMR 2003, LNCS 2771. DOI:10.1007/978-3-540-39900-1_17
  • IEEE 1599 : Baratè, Haus & Ludovico (2019) — standard multilayer à 6 couches. DOI:10.1109/MMRP.2019.8665381
  • Formats symboliques : Selfridge-Field (1997) Beyond MIDI: The Handbook of Musical Codes
  • DSL musicaux : McLean & Dean (2018) The Oxford Handbook of Algorithmic Music
  • Faust : Orlarey, Fober & Letz (2004) « Syntactical and Semantical Aspects of Faust »
  • TidalCycles : McLean (2014) Making Programming Languages to Dance to
  • MIDI : midi.org | MusicXML : w3.org/2021/06/musicxml40
  • BP3 : bolprocessor.org | SuperCollider : supercollider.github.io

Glossaire

  • Arpège : notes d’un accord jouées successivement plutôt que simultanément
  • BP3 : Bol Processor 3 — logiciel de grammaires musicales développé par Bernard Bel (voir I2)
  • DAW : Digital Audio Workstation — logiciel de production musicale (Ableton Live, Logic Pro, FL Studio)
  • Dataflow : paradigme où la computation est modélisée comme un graphe de flux de données entre nœuds de traitement
  • Déterministe : système qui produit toujours le même résultat avec les mêmes entrées
  • DSL : Domain-Specific Language — langage de programmation dédié à un domaine particulier
  • GTTM : Generative Theory of Tonal Music — théorie de Lerdahl et Jackendoff modélisant la perception musicale
  • IEEE 1599 : standard multilayer pour la représentation musicale à 6 couches XML synchronisées
  • Live coding : pratique de programmation performative où le code est écrit et modifié en temps réel devant un public
  • Modèle OSI : Open Systems Interconnection — modèle en 7 couches structurant les protocoles réseau
  • Pattern : en SuperCollider ou TidalCycles, objet qui génère des séquences de valeurs selon des règles
  • PCFG : Probabilistic Context-Free Grammar — grammaire hors-contexte enrichie de probabilités (voir B1)
  • Stochastique : aléatoire pondéré — chaque choix a une probabilité associée
  • SynthDef : en SuperCollider, définition d’un synthétiseur comme graphe de générateurs audio
  • Transpiler : convertir du code d’un langage vers un autre de même niveau d’abstraction
  • Vélocité : en MIDI, intensité d’une note (0-127), souvent interprétée comme le volume

Liens dans la série

  • M1 — MIDI sous le microscope formel — le paradigme événementiel (niveau 3)
  • M2 — MusicXML sous le microscope formel — le paradigme notationnel (niveau 4)
  • M4 — Grammaires et musique — approfondissement du paradigme génératif (niveau 5)
  • I2 — Bol Processor — BP3, système génératif central
  • I3 — SuperCollider — outil multi-niveaux (1-3-5-6)
  • I4 — Introduction au MIDI — le protocole événementiel
  • I5 — Introduction à MusicXML — le format notationnel
  • L1 — Hiérarchie de Chomsky — cadre formel des grammaires
  • L5 — Les trois sémantiques — perspectives complémentaires sur les programmes
  • L11 — Au-delà des trois sémantiques — le réseau des sémantiques
  • B1 — Grammaires probabilistes — fondements formels de BP3
  • B7 — Le transpileur BP2SC — traversée verticale des niveaux

Prérequis : M1, M2, L5
Temps de lecture : 18 min
Tags : #paradigmes #representation-musicale #niveaux-abstraction #midi #musicxml #generatif #supercollider #signal #dataflow #fonctionnel #vinet


Prochain article : M4 — Grammaires et musique