Index

Grammaires, musique et langages formels

Cette série d’articles explore un territoire inhabituel : celui où la théorie des langages formels rencontre la musique algorithmique. Le fil conducteur est BP2SC, un transpileur qui convertit les grammaires musicales du Bol Processor en patterns SuperCollider.

Chaque article est conçu pour être accessible sans prérequis académique, mais suffisamment rigoureux pour servir de référence. Les séries se lisent dans l’ordre ou indépendamment selon vos intérêts.


Série I — Introduction

Avant de plonger dans la théorie, posons le décor. Pourquoi ce projet existe, quels sont ses outils, et quel problème il cherche à résoudre.

  • I1) Pourquoi j’ai créé un pont entre deux mondes : Découvrez pourquoi j’ai créé BP2SC, le pont entre Bol Processor 3 et SuperCollider. Connectez grammaires musicales formelles et synthèse temps réel pour une créativité sans limites.
  • I2) Bol Processor : Découvrez le Bol Processor, le système de grammaires musicales de Bernard Bel. Explorez son impact sur la polymétrie, la musique indienne et la composition algorithmique.
  • I3) SuperCollider : Introduction à SuperCollider, le langage de programmation dédié au son. Patterns, live coding, synthèse temps réel : découvrez pourquoi nous l’avons choisi pour BP2SC.
  • I4) Introduction au MIDI : Plongez dans le protocole MIDI : comprenez ses principes, ses forces et ses limites. Découvrez pourquoi ce standard de 40 ans est la clé de voûte de la musique numérique.
  • I5) MusicXML : Découvrez MusicXML, le format standard d’échange de partitions numériques. Apprenez comment il encode notes, mesures et armures pour une interopérabilité logicielle.

Série L — Langages Formels

Le socle théorique du projet. De la hiérarchie de Chomsky aux sémantiques formelles, ces articles construisent pas à pas les fondations nécessaires pour comprendre comment fonctionne un langage.

  • L0) La carte des formalismes : Explorez la carte des formalismes des langages formels. Comprenez comment syntaxe, sémantique et concurrence s’appliquent à BP3. Votre guide essentiel pour la série L.
  • L1) La hiérarchie de Chomsky expliquée simplement : Plongez dans la hiérarchie de Chomsky ! Découvrez les 4 types de langages, du régulier au récursivement énumérable. Essentiel pour comprendre la conception des langages et outils.
  • L2) Grammaires Context-Free : Plongez dans les Grammaires Context-Free (CFG) et comprenez comment les compilateurs et parseurs interprètent la syntaxe des langages. Essentiel pour tout développeur !
  • L3) EBNF : Qu’est-ce que l’EBNF ? Découvrez ce méta-langage standard pour décrire la syntaxe des langages (Python, JSON…). Apprenez ses opérateurs et son rôle clé. Maîtrisez l’EBNF !
  • L4) Qu’est-ce qu’un AST ? : Plongez au cœur des compilateurs ! Découvrez ce qu’est un AST (Abstract Syntax Tree), comment il simplifie votre code et son rôle clé dans la compilation. Indispensable pour tout développeur.
  • L5) Les trois sémantiques : Explorez les 3 sémantiques formelles : opérationnelle, dénotationnelle et axiomatique. Comprenez comment elles décrivent le sens des programmes et choisissez la bonne approche pour vos projets.
  • L6) SOS pour les nuls : La sémantique opérationnelle structurelle (SOS) est cruciale pour comprendre l’exécution des langages. Ce guide détaillé vous révèle ses principes et applications pratiques.
  • L7) Sémantique dénotationnelle : La sémantique dénotationnelle interprète les programmes comme des fonctions mathématiques. Découvrez cette approche puissante pour analyser, prouver et optimiser le comportement de vos codes.
  • L8) Sémantique axiomatique : La sémantique axiomatique utilise des pré/postconditions pour prouver la correction des programmes. Découvrez les triplets de Hoare, les invariants de boucle et les applications pratiques.
  • L9) Au-delà de Chomsky : Au-delà de Chomsky, explorez les langages mildly context-sensitive. Découvrez TAG, CCG et leur importance capitale pour le langage naturel et la musique. Un article essentiel !
  • L10) Grammaires d’attributs : Les grammaires d’attributs de Knuth enrichissent les arbres syntaxiques avec des propriétés calculables. Découvrez attributs synthétisés, hérités et leur lien avec les flags de BP3.
  • L11) Au-delà des trois sémantiques : Les sémantiques classiques ont leurs limites. Découvrez les sémantiques avancées : traductionnelle, de processus et algébrique. Donnez du sens aux compilateurs, systèmes concurrents et types de données.
  • L12) Réseaux de Petri et algèbres de processus : Découvrez comment les réseaux de Petri et algèbres de processus (CCS, CSP) modélisent la concurrence et la polymétrie musicale. Un guide essentiel pour formaliser la musique.
  • L13) Générer ou reconnaître : Explorez la dualité des grammaires : génération vs reconnaissance. Pourquoi produire est plus facile qu’analyser ? Découvrez cette asymétrie clé en linguistique et musique.

Série M — Musique

Le pont entre théorie des langages et musique. Formats, paradigmes, structures hiérarchiques : comment les concepts formels s’appliquent au son.

  • M1) MIDI sous le microscope formel : MIDI, un langage formel ? Explorez sa place dans la hiérarchie de Chomsky, l’absence de spécification complète et ce que cela révèle sur la représentation musicale. Indispensable !
  • M2) MusicXML sous le microscope formel : Découvrez pourquoi MusicXML, malgré sa grammaire formelle XSD et sa position en Type 2 de Chomsky, n’a aucun pouvoir génératif musical. Un paradoxe à explorer !
  • M3) Les paradigmes de représentation musicale : Explorez les six paradigmes de représentation musicale, de l’onde au sens. Découvrez comment ces niveaux d’abstraction s’empilent et pourquoi certains outils sont plus puissants.
  • M4) Grammaires génératives et musique : Découvrez comment les grammaires génératives, de Chomsky à GTTM et BP3, ont révélé les règles cachées de la musique. Comprenez comment notre cerveau structure les sons.
  • M5) La polymétrie : La polymétrie est la superposition de plusieurs métriques. Découvrez pourquoi MIDI et MusicXML peinent à la représenter et explorez ses racines dans les musiques africaines, indiennes et occidentales.
  • M6) Structure hiérarchique en musique : GTTM démystifié : explorez la structure hiérarchique en musique selon Lerdahl et Jackendoff. Comprenez les 4 piliers de notre perception musicale.
  • M12) De la structure au son : Découvrez comment BP3, un langage génératif unique, gère les couches d’abstraction musicales, de la structure au son. Explorez un exemple concret avec la rumba flamenca.

Série B — BP3

Plongée dans les mécanismes du langage BP3 : probabilités, alphabets, règles de dérivation.

  • B1) PCFG : Découvrez les grammaires probabilistes PCFG : associez des probabilités aux règles pour générer musique ou texte varié et contrôlé. Essentiel pour BP3 !
  • B2) Alphabets, terminaux et non-terminaux : Définition des alphabets, symboles terminaux et non-terminaux dans BP3 : les briques de base indispensables pour comprendre les grammaires du Bol Processor.
  • B3) Règles de dérivation : Maîtrisez les règles de dérivation et les 5 modes BP3 (ORD, RND, LIN, SUB, SUB1). Découvrez comment ces stratégies transforment une grammaire en générateur musical unique. Cliquez pour explorer !
  • B4) Flags et poids decrémentaux : Découvrez comment les flags et poids décrémentaux de BP3 modélisent l’épuisement progressif d’un motif musical et l’exécution conditionnelle. Un contrôle dynamique essentiel !
  • B5) Polymétrie et structures temporelles : La polymétrie de BP3 : compression temporelle, voix parallèles et signatures additives indiennes. Découvrez comment une grammaire musicale encode le temps cyclique.
  • B6) Homomorphismes, variables et contexte : Variables, homomorphismes, wildcards et marqueurs de contexte : explorez les mécanismes qui font de BP3 un langage context-sensitive, avec des exemples musicaux concrets.
  • B7) De BP3 à SuperCollider : Plongez dans l’anatomie du transpileur BP3 SuperCollider ! Découvrez comment bp2sc transforme votre grammaire musicale en code jouable, phase par phase.

Parcours de lecture

« Je veux comprendre le projet » — Commencez par la série Introduction.

« La théorie des langages m’intéresse » — Plongez dans la série Langages formels, de L1 à L6.

« Je veux comprendre BP3 » — Lisez d’abord les bases (L1, L2) puis la série BP3.


Ressources complémentaires

Glossaire — Tous les termes techniques expliqués.


17 articles publiés — Dernière mise à jour : 2026-02-08