B9) Time-objects
Quand BP3 dépasse la musique
Au-delà des notes
Un joueur de tabla ne pense pas en notes isolées. Quand il prononce tirakita, il ne pense pas à quatre frappes séparées — il pense à un mot, un geste unique dans un langage rythmique. Et si notre formalisme pouvait raisonner de la même façon ?
Où se situe cet article ?
Cet article explore une dimension souvent méconnue de BP3 : sa capacité à manipuler des time-objects (objets temporels), c’est-à-dire des entités quelconques possédant des propriétés temporelles. B5 a montré comment BP3 compresse et superpose des flux ; B7 comment le code est traduit vers SuperCollider. Ici, nous voyons que les terminaux de la grammaire ne sont pas nécessairement des notes MIDI — ce peuvent être des instructions de synthèse, des fragments audio, ou même des commandes pour un robot.
Pourquoi c’est important ?
La plupart des langages musicaux informatiques sont construits autour de la note : un événement avec une hauteur, une durée et une vélocité. C’est le modèle MIDI, qui domine depuis 1983. Même les systèmes les plus sophistiqués — OpenMusic, PWGL, Bach pour Max — restent fondamentalement des manipulateurs de notes.
BP3 opère à un niveau d’abstraction supérieur. Pour le moteur de grammaire, peu importe que le terminal soit un Do4 à la vélocité 80 ou une instruction de synthèse Csound de 200 paramètres. Ce qui compte, ce sont les propriétés temporelles de l’objet : sa durée, sa capacité à être compressé ou tronqué, ses points de synchronisation. Le contenu est opaque — seule la forme temporelle est manipulée par la grammaire.
C’est la différence entre écrire avec des mots et écrire avec des lettres. Un séquenceur MIDI écrit lettre par lettre (NoteOn, NoteOff, NoteOn…). BP3 écrit avec des mots — des unités de sens ayant leurs propres propriétés — et les organise par grammaire.
L’idée en une phrase
Un time-object est toute entité possédant une durée et des propriétés temporelles, que la grammaire BP3 peut organiser sans connaître son contenu — ce qui fait de BP3 non pas un séquenceur de notes, mais un moteur de time-setting universel.
Expliquons pas à pas
1. Qu’est-ce qu’un time-object ?
Un time-object est la brique élémentaire de BP3. C’est une séquence de messages — MIDI, Csound, ou autre — ayant une durée dans le temps.
La forme la plus simple est une note : une paire NoteOn/NoteOff sur un canal MIDI. Mais un time-object peut aussi être :
- Un mot rythmique composé de plusieurs frappes (tirakita = 4 frappes de tabla)
- Une instruction de synthèse Csound avec ses paramètres (fréquence, amplitude, enveloppe…)
- Un objet de durée nulle (out-time object) qui envoie tous ses messages simultanément — utile pour déclencher un accord ou un événement ponctuel
- Un objet d’entrée (input object) qui attend un signal extérieur (note MIDI, clic souris) pour synchroniser la performance en temps réel
- Un simple intervalle temporel en mode smooth time, servant de marqueur de durée (les time patterns
t1,t2… de B12)
L’analogie proposée par les créateurs de BP2 est frappante : un séquenceur traditionnel est comme une image pixel — chaque événement est défini individuellement, point par point. BP3 est comme une image vectorielle — les objets sont des entités abstraites dont la forme temporelle est calculée dynamiquement en fonction du contexte. Le même objet tirakita sera joué différemment à 60 BPM et à 120 BPM, non pas parce que le compositeur a reprogrammé chaque frappe, mais parce que les propriétés temporelles de l’objet dictent comment il s’adapte.
2. Du time-object au sound-object : les quatre propriétés
Un time-object nu est une séquence de messages avec une durée. Mais pour participer à une performance musicale réaliste, il a besoin de propriétés qui gouvernent son comportement temporel. Quand un time-object est enrichi de ces propriétés, il devient un sound-object (objet sonore).
Bernard Bel définit quatre propriétés fondamentales :
Propriétés métriques — Comment le timing interne de l’objet s’ajuste au tempo. Les quatre frappes de tirakita maintiennent-elles un espacement égal quand le tempo change ? Ou bien certaines frappes sont-elles « élastiques » et d’autres « rigides » ? La propriété métrique encode cette information.
Propriétés topologiques — Comment l’objet interagit avec ses voisins. Peut-il être tronqué au début si l’objet précédent empiète ? Peut-il chevaucher l’objet suivant ? Ces propriétés gouvernent le phrasé : la façon dont les objets se connectent, se recouvrent ou se séparent — exactement comme les phonèmes dans la parole se modifient au contact de leurs voisins (phénomène de coarticulation).
Le pivot — Un point temporel à l’intérieur de l’objet qui s’ancre sur une pulsation ou un time streak. Le pivot n’est pas nécessairement le début de l’objet : dans tirakita, c’est peut-être la troisième frappe qui coïncide avec le beat, pas la première.
Relocatable — L’objet peut-il être déplacé librement dans le temps, ou est-il ancré à une position fixe ?

Figure 1 — Du time-object au sound-object. Un time-object (séquence de messages avec une durée) est enrichi de quatre propriétés (métrique, topologique, pivot, relocatable) pour devenir un sound-object prêt à être placé dans le temps par l’algorithme de time-setting.
3. Le time-setting : placer les objets dans le temps
Le time-setting est le mécanisme central qui distingue BP3 d’un simple séquenceur. C’est un algorithme de satisfaction de contraintes qui prend une structure de sound-objects (produite par la grammaire) et calcule leur placement dans le temps physique.
L’algorithme résout simultanément plusieurs types de contraintes :
- Tronquer le début d’un objet si l’objet précédent empiète (propriété topologique)
- Ajuster le tempo interne de chaque objet en fonction du contexte (propriété métrique)
- Déplacer des objets en arrière dans le temps pour respecter les relations de précédence
Bernard Bel compare ce processus à la coarticulation dans la parole. Quand vous prononcez « papa », le second « p » n’est pas identique au premier — sa réalisation est modifiée par les sons adjacents. De même, un tirakita joué après un silence n’est pas identique à un tirakita joué après un dha — le time-setting ajuste le phrasé en fonction du contexte.
Ce qui est remarquable, c’est que le compositeur n’a pas besoin de programmer ces ajustements. Il définit les propriétés des objets une fois, et l’algorithme de time-setting calcule le phrasé automatiquement pour chaque contexte. La représentation polymétrique (voir B5) permet ainsi de produire un phrasé naturel sans recourir à des instructions de randomisation — c’est, selon Bernard Bel, « une découverte majeure pour la musique par ordinateur ».
4. Csound : la première sortie non-MIDI
Si les terminaux de la grammaire sont des time-objects et non des notes, rien n’oblige ces objets à être des messages MIDI. C’est exactement ce que Bernard Bel a exploré avec la sortie Csound.
Csound, créé par Barry Vercoe au MIT, est un langage de synthèse sonore d’une puissance considérable : il permet de définir n’importe quel processus de synthèse (soustractive, additive, FM, granulaire, physique…) sous forme d’instruments (fichiers .orc) pilotés par des partitions (fichiers .sco).
Dans BP3, un time-object peut être une instruction Csound au lieu d’une paire NoteOn/NoteOff. La procédure _ins(x) assigne un instrument Csound aux objets générés. Le terminal de la grammaire n’est plus « joue un Do4 » mais « exécute l’instrument 3 avec les paramètres fréquence=440, amplitude=0.8, attaque=0.01 ».
Ce changement est conceptuellement profond. Avec MIDI, les terminaux vivent dans un espace discret et limité : 128 hauteurs, 128 vélocités, 16 canaux. Avec Csound, les terminaux vivent dans un espace continu et illimité : n’importe quel processus de synthèse paramétré par des valeurs réelles. La grammaire reste la même — seule la nature des objets qu’elle manipule change.
Bernard Bel envisageait d’aller plus loin : une sortie Csound temps réel et l’extraction automatique des instruments à partir de partitions Csound existantes. Le projet BP2SC (B7) poursuit cette logique avec SuperCollider — les SynthDefs remplaçant les instruments Csound.
5. Synthèse granulaire : les grains comme time-objects
L’une des applications les plus visionnaires des time-objects vient du compositeur Otto Laske, qui travaillait en synthèse granulaire dans les années 1990.
La synthèse granulaire, théorisée par Iannis Xenakis (1971) et développée par Curtis Roads (Microsound, 2001), construit le son à partir de grains — des micro-fragments sonores de 1 à 100 millisecondes. Un seul grain est imperceptible comme événement musical ; mais des milliers de grains, organisés en nuages et en textures, produisent des sons d’une richesse extraordinaire.
L’idée de Laske était immédiate : si un grain est un time-object, alors une grammaire BP3 peut organiser des grains. On pourrait écrire :
S --> {texture_dense, drone_grave}
texture_dense --> grain_aigu grain_aigu grain_moyen grain_aigu
drone_grave --> grain_long grain_long
La polymétrie de B5 s’appliquerait naturellement : {texture_dense, drone_grave} superposerait une texture rapide de grains aigus avec un drone lent de grains graves — les deux compressés dans la même durée.
En 1990, c’était au-delà des capacités techniques des machines. Le temps de calcul nécessaire pour générer et placer des milliers de grains par seconde était prohibitif. Mais en 2026, la puissance de calcul disponible rend cette vision parfaitement réalisable. Un grain de 10 ms est un time-object comme un autre — avec ses propriétés métriques (durée interne fixe ou élastique), son pivot (le pic d’amplitude), et ses propriétés topologiques (peut-il chevaucher le grain suivant ?).
La synthèse granulaire organisée par grammaire ouvrirait la porte à une composition multi-échelle formelle : la même grammaire structurerait les phrases musicales (secondes), les textures granulaires (millisecondes), et la forme globale (minutes) — trois niveaux temporels unifiés par un seul formalisme.
6. Au-delà du son : vidéo, robotique, multimédia
Si un time-object peut être une note MIDI, une instruction Csound, ou un grain de synthèse, il peut aussi être… n’importe quoi d’autre qui se déploie dans le temps.
Bernard Bel le formule explicitement : le modèle des time-objects « pourrait facilement être appliqué à d’autres types d’événements comme le scheduling, le dimensionnement et le timing précis de clips vidéo, de commandes de robots, et ainsi de suite ».
Prenons quelques exemples :
Montage vidéo par grammaire. Un clip vidéo est un time-object : il a une durée, un point de coupure possible (pivot), et des propriétés de transition avec les clips adjacents (fondu, cut, volet). Une grammaire pourrait engendrer des séquences de montage :
S --> intro {développement, commentaire_voix_off} conclusion
intro --> plan_large plan_moyen gros_plan
La polymétrie superposerait des pistes (image + son + sous-titres), le time-setting gérerait les transitions, et la grammaire garantirait la cohérence structurelle du montage.
Chorégraphie formelle. Une commande de robot (ou d’éclairage scénique) est un time-object : « bras gauche vers le haut pendant 2 secondes » a une durée, des contraintes de chevauchement avec les mouvements adjacents, et un point de synchronisation avec la musique. C’est exactement ce que Bernard et Andréine Bel ont exploré avec la composition Shapes in Rhythm (1994), créée pour 6 danseurs Kathak avec synchronisation musique-chorégraphie.
Installations interactives. Les input objects — des time-objects de durée nulle qui attendent un signal extérieur — permettent une synchronisation basique en temps réel. Un capteur de mouvement déclenche un événement, qui déclenche la suite de la grammaire. La structure reste formelle ; l’interaction est intégrée.
Le point commun : tout ce qui a une durée et des points de synchronisation peut être un time-object. La grammaire n’a pas besoin de « comprendre » ce qu’est une vidéo ou un mouvement de robot — elle manipule les propriétés temporelles, pas le contenu.

Figure 2 — Le time-setting de BP3 comme moteur universel. Qu’il s’agisse de notes MIDI, d’instructions Csound, de grains de synthèse, de clips vidéo, de commandes robotiques ou d’éclairage scénique, le mécanisme est le même : l’algorithme de time-setting place les objets dans le temps en respectant leurs propriétés métriques et topologiques.
Ce qu’il faut retenir
- Un time-object est la brique élémentaire de BP3 : une séquence de messages ayant une durée. Enrichi de quatre propriétés (métriques, topologiques, pivot, relocatable), il devient un sound-object.
- Le time-setting est un algorithme de satisfaction de contraintes qui place les sound-objects dans le temps physique, produisant un phrasé naturel par analogie avec la coarticulation de la parole.
- BP3 ne manipule pas le contenu des objets — seulement leurs propriétés temporelles. Cela lui permet de traiter des notes MIDI, des instructions Csound, ou n’importe quel événement inscrit dans le temps.
- La synthèse granulaire (Laske, Roads) est l’application la plus visionnaire : organiser des milliers de micro-fragments sonores par grammaire, unifiant trois échelles temporelles dans un seul formalisme.
- La généralisation est radicale : tout ce qui a une durée et des points de synchronisation peut être un time-object — vidéo, robotique, éclairage, multimédia. BP3 n’est pas un séquenceur de notes mais un moteur de time-setting universel.
Pour aller plus loin
- Bel, B. (1992). « Time-setting of sound-objects: a constraint-satisfaction approach ». — L’article fondateur sur le time-setting.
- Bel, B. (2001). « Rationalizing Musical Time: a constraint-satisfaction approach ». — Le cadre théorique complet.
- Bel, B. (2005). « Two algorithms for the instantiation of structures of musical objects ». HAL halshs-00004504. — Les algorithmes de time-setting.
- Roads, C. (2001). Microsound. MIT Press. — La référence sur la synthèse granulaire et les échelles temporelles.
- Xenakis, I. (1971). Formalized Music. Indiana University Press. — Les fondements de la synthèse granulaire et de la musique stochastique.
- Dannenberg, R. (1993). « Music representation issues, techniques, and systems ». Computer Music Journal, 17(3). — Vue d’ensemble des représentations musicales.
- Documentation BP3 : Time patterns & smooth time — Le smooth time en détail.
- Documentation BP3 : Shapes in Rhythm — Composition chorégraphique avec time-objects.
Glossaire
- 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.
- 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.
- 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.
- 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.
- Microsound : Terme de Curtis Roads pour l’échelle temporelle des grains (en dessous de la note, au-dessus de l’échantillon).
- Out-time object : Time-object de durée nulle dont tous les messages sont envoyés simultanément — utile pour les accords ou les événements ponctuels.
- 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.
- Propriétés topologiques : Caractéristiques d’un sound-object liées à ses relations de voisinage (troncature, chevauchement, adjacence).
- Sound-object : Time-object enrichi de propriétés métriques et topologiques, prêt à être placé dans le temps par l’algorithme de time-setting.
- 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.
- Time-setting : Algorithme de satisfaction de contraintes qui calcule le placement physique des sound-objects dans le temps, en tenant compte de leurs propriétés et du contexte.
Liens
- B5 — Polymétrie et structures temporelles — la polymétrie s’applique aux time-objects
- B7 — Le transpileur BP2SC — de la grammaire au code SuperCollider
- B12 — Les trois temps de BP3 — le smooth time, mode temporel natif des time-objects
- B13 — PolyMake — l’algorithme qui place les time-objects dans le temps physique
- M12 — Couches d’abstraction en musique computationnelle — les time-objects traversent plusieurs couches
- I2 — Bol Processor — présentation de BP3 et de Bernard Bel
Prérequis : B5 — Polymétrie, B7 — Transpileur
Temps de lecture : 12 min
Tags : #time-objects #BP3 #sound-object #Csound #synthèse-granulaire #multimédia #composition-algorithmique
Prochain article : B10 — La grammaire BP3 formalisée