1Contexte de la thèse¶

Concerto pour Quatre jongleurs et Un piano, décembre 2024, sortie de résidence à la Scène de Recherche (ENS Paris-Saclay).
La jonglerie musicale consiste à jouer de la musique par l’acte-même de jongler. Vincent de Lavenère, jongleur-auteur, est un pionnier dans ce domaine. Il a ainsi conçu des balles qui produisent une note musicale lorsqu’elles sont attrapées (Figure 2). Il s’agit là d’un instrument bien singulier, difficile à jouer simplement à l’oreille, car il y a un délai entre le moment où le jongleur agit en lançant les balles et le moment où les notes sont produites lorsque les balles sont rattrapées (pas nécessairement dans le même ordre qu’elles ont été lancées). Cela induit une complexité tant dans la composition (recherche des manières de jongler une mélodie donnée) que dans l’interprétation (apprentissage et mémorisation de la manière choisie).
Par conséquent, l’objectif de cette thèse interdisciplinaire (mêlant combinatoire, interactions humain-machine et informatique musicale) est de créer (de l’invention, à la conception participative, au développement, à l’évaluation et à la diffusion) des outils d’assistance aux artistes pour la création et la réalisation de spectacles de jonglerie musicale.

Figure 2:Deux balles musicales : lorsque l’on rattrape la balle bleue, la cloche qu’elle contient émet un Sol; de même avec un Ré pour la balle orange.
2Résumé rapide des avancées précédentes¶
La première année de thèse a été rythmée par des rencontres, d’abord mensuelles puis hebdomadaires, avec Vincent et d’autres jongleurs musicaux, aussi bien simplement pour échanger sur leurs et nos avancées et problèmes que pour assister à des entraînements. S’immerger dans le monde de la jonglerie musicale et centrer la démarche sur l’utilisateur ont permis d’établir deux grands axes de recherche :
Aide à la composition : Lors d’un stage de M1, nous avions abordé le problème de recherche des figures de jonglage produisant une mélodie donnée. Du fait d’une explosion combinatoire, les automates obtenus en généralisant le modèle classique de la jonglerie (siteswap) à la jonglerie musicale se sont avérés trop grand pour pouvoir être explorés en pratique (Figure 3). Nous avions alors obtenus des premiers résultats pratiques par force brute, en explorant des réductions à d’autres problèmes combinatoires (SAT, pavages, ...). L’investigation, lors de la première année de thèse, des interactions et représentations permettant à l’artiste d’explorer les manières de jongler une musique nous a amené à aborder le problème sous un angle différent; nous avons alors découvert que l’on pouvait construire algorithmiquement un automate décrivant le langage des figures de jonglage produisant une mélodie donnée (Figure 4); outre l’intérêt théorique, les automates obtenus se sont avérés surprenamment petits et donc exploitables.

Figure 3:Automate reconnaissant toutes les figures musicales jonglables à trois balles distinctes avec une hauteur maximale de 5.

Figure 4:Automate reconnaissant les figures de jonglerie musicale produisant le début de Au Clair de la Lune. En partant de n’importe quel sommet jaune et en lisant les arêtes jusqu’à arriver à l’état rouge, on obtient une succession de lancers à effectuer pour produire la mélodie.
Aide à l’interprétation : nous avons développé un premier prototype de visualiseur de jonglerie musicale (Figure 5), avec une première version de ses couches physiques et événementielles (voir Figure 7). C’est une brique essentielle à beaucoup d’autres tâches (expérimentations, entraînement de Vincent, vulgarisation, assistance à à la composition et à l’interprétation). Nous avons choisi de nous baser sur des technologies web libres pour maximiser l’interopérabilité et la facilité d’accès et de diffusion.
Figure 5:L’évolution du visualiseur entre la première (à gauche) et deuxième année de thèse (à droite). On y notera les nouvelles fonctionnalités suivantes : modélisation de jongleurs multiples, de tables pour changer de balles, interactions graphiques.
3Réalisations lors de la deuxième année de thèse (2024-2025)¶
De manière concomitante, le travail de Vincent influence nos directions de recherche, et notre travail nourrit la réflexion artistique de Vincent. Ses envies initiales de pouvoir jongler n’importe quelle mélodie se sont orientées vers des projets scéniques avec des musiques sélectionnées, voire composées pour être jonglées; ces musiques privilégient typiquement l’harmonie à la mélodie, avec plusieurs jongleurs jouant des phrases plus simples, si ce n’est répétitives (exemple : arpèges). Voir par exemple le canon de Pachelbel Figure 8.
Continuant le travail en immersion avec les jongleurs, j’ai approfondi les pistes dégagées l’année précédente en privilégiant les plus immédiatement utiles pour les artistes et notamment le visualiseur et l’aide à l’interprétation. Outre l’approche centrée utilisateur, la motivation de ce choix est de pouvoir obtenir au plus vite des premiers outils d’assistance et de pouvoir conduire des expériences utilisateurs pour évaluer leur intérêt. Les travaux de l’année, notamment sur le visualiseur, n’en n’ont pas moins posé des fondamentaux pour de futurs outils d’assistance à la composition (Figure 6). Selon l’avis de Vincent, ceux-ci auront sans doute des répercussions sur les futurs spectacles qu’il imaginera; et dans tous les cas la science derrière tous ces développements musicaux n’est pas à cacher sur scène, mais à pleinement exploiter.

Figure 6:Maquette d’un logiciel de composition de jonglerie musicale. Plusieurs vues se complètent : la partition de la musique que l’on souhaite jongler, l’automate de cette musique qui permet de naviguer parmi les manières de jongler, le diagramme en échelle de la figure actuellement choisie, et le visualiseur qui l’anime.
3.1Évolution du visualiseur¶
Le visualiseur de jonglerie musicale a été le point central de cette année, et a connu de nombreux changements.
3.1.1Fonctionnement en couches de différents niveaux¶
Figure 7:Les différents niveaux de spécification d’une figure dans le visualiseur.
Le visualiseur a été créé en anticipant les besoins actuels de Vincent (avoir un vocabulaire aussi riche de le siteswap, pouvoir jongler à plusieurs, disposer d’une table pour y déposer et reprendre d’autres balles, ...), mais également en étant flexible pour facilement ajouter des fonctionnalités qui n’ont ou ne seront identifiées que plus tard (changements de rythme, balles qui sonnent en se cognant dans les airs, ...). C’est ce qui a donné lieu à l’architecture actuelle du visualiseur, en plusieurs couches (Figure 7), progressivement de plus en plus haut niveau.
La couche physique ne contient que les trajectoire des balles et des mains des jongleurs.
La couche événementielle consiste en une liste triée exhaustive et détaillée des lancers, réceptions, et échanges des balles sur la table, dans l’ordre chronologique. De là, on peut créer la couche physique en calculant les trajectoires.
La couche syntaxique permet de manipuler une notation siteswap étendue à la jonglerie musicale (Program 1). Un pattern musical peut être aussi simple qu’une simple séquence de jonglerie comme
"315", mais également inclure :- des lancers synchrones (effectués par les deux mains en même temps)
- des multiplex (lancer plusieurs balles de la même main en même temps).
- des lancers à d’autres jongleurs.
- des changements de balle avec la table.
- des changements de tempo (propres à chaque jongleur).
Cette notation ne contient que le minimum d’éléments nécessaires à la description d’une figure. Le reste des informations implicites nécessaires à la couché événementielle sont déduites au cours d’un processus que nous appelons l’inférence et qui fonctionne ainsi :
- un lexer-parser décompose les patterns siteswap musicaux en lancers individuels.
- à l’aide des informations rythmiques et temporelles, on calcule les temps de lancer et de réception des balles.
- on simule les lancers un à un pour déduire quelles sont les balles lancées, et dans quelles mains elles sont lancées et rattrapées.
La couche de composition est une extension de la couche syntaxique, que l’on manipule en javascript pour par exemple créer des sous-figures, permuter les balles ou les jongleurs, s’appuyer sur une partition, etc, pour créer du siteswap musical.
[
...,
{
time: "11, 2",
tempo: "1/4",
hands: [["Re", "Fa"], ["La"]],
pattern: "L4 0 4 4 1x 0 0 1"
},
{
time: "15, 2",
hands: [["Do", "Mi"], ["Sol", "Do'"]],
pattern: "L4 0 4 [Sol4 Do'5]"
},
{
time: "32, 1",
tempo: "1/8",
pattern: "1 3^(12)"
}
...,
]Program 1:Exemple de notation pour la jonglerie musicale. Il s’agit de plusieurs patterns pour lesquels on indique le temps auxquels il commence (en donnant la mesure et la note par rapport à une partition), le tempo du jongleur (par rapport à la signature et au tempo de la partition), quelles balles les mains tiennent, le pattern siteswap à jongler.
3.1.2Enrichissement du modèle de la jonglerie musicale¶
Afin d’informer le travail de conception du simulateur, j’ai transcrit plusieurs spectacles de Vincent qui m’ont amené à incorporer ces fonctionnalités au visualiseur :
- Plusieurs jongleurs (Figure 8): Vincent crée des morceaux à de très nombreux jongleurs novices dans des ateliers qu’il donne (à l’ENS Paris-Saclay et à la Sorbonne).
- Ajout d’une table (Figure 9) : Dans les morceaux qu’il jongle, Vincent change régulièrement de balles (et donc de notes) en les déposant sur une table pour en prendre d’autres. Une telle table a été ajoutée au visualiseur, et il est possible de modifier la disposition des balles sur la table. En effet, l’an dernier, nous avions opté pour une disposition “en piano” des balles sur la table. Mais récemment, nous avons envisagé d’autres comme “en accordéon”. Un tel placement conserve une certaine logique en plus d’être plus compact et de permettre de concevoir spatialement les accords.
- Rythme (Figure 10) : Dans cet extrait vidéo de Petite Fleur, Vincent accélère momentanément le rythme auquel il lance les balles. Mais là où les jongleurs auxquels il a expliqué cette figure l’ont réussi en quelques essais à peine, il m’a fallu plusieurs jours pour trouver le diagramme en échelle de cette figure.
Figure 10:Petite fleur, au visualiseur, comparé à la performance de Vincent en vidéo. Cette visualisation a été présentée sur scène, lors de spectacles-conférences art et science.
Comment expliquer ces écarts ? Un lancer de hauteur 3, qu’il soit réalisé alors que l’on jongle à une fréquence 120 ou 240 balles par minute, reste dans le modèle mental du jongleur un lancer de hauteur 3, car cette balle ne sera relancée que 3 actions plus tard. Cette observation nous a conduit à séparer le pattern de jonglerie (sans notion de variation de rythme) du tempo qui peut lui varier au cours du temps. En combinant pattern et tempo, on peut calculer le temps de vol exact de chaque balle (Figure 11).

Figure 11:Ladder diagram du siteswap 4515123441 jonglé par Vincent dans cet extrait vidéo de Petite Fleur avec changements de rythme.
- Temporalité musicale : Dans Le beau danube bleu et Concerto pour Quatre jongleurs et Un piano, des musiciens accompagnent les jongleurs. Afin de pouvoir se synchroniser à des musiques préexistantes, les rythmes et temps d’une figure de jonglerie peuvent se faire en référence à la signature musicale et au tempo d’une partition.
3.1.3UI et UX¶
- Interactivité : Il n’y avait pas l’an dernier d’interaction avec le visualiseur. Pour pouvoir concevoir un socle de développent réutilisable pour développer des applications interactives autour de la jonglerie musicale, j’ai appris comment créer des applications réactives avec la librairie React. Elle est actuellement utilisée pour la piste de lecture, mais aussi en VR pour les éléments d’UI existants dans la scène 3D (avec React-Three-Fiber).

Figure 12:Prototype d’un écran de sélection de musiques développé en stage par Kylian Richard, utilisant des librairies d’UI en 3D dépendant de React-Three-Fiber.
- Inférence non bloquante : Quand un siteswap fourni n’est pas valide, les logiciels de simulation de jonglerie classiques refusent de jongler la figure sans plus d’explication, ce qui rend pénible le débogage. Notre système d’inférence affiche des messages d’erreurs lorsqu’un problème est rencontré (ex : balle lancée depuis une main vide) (Figure 13), et permet de constater visuellement les problèmes par le visualiseur (ex : balles qui se téléportent).

Figure 13:Exemple de messages d’erreur et d’avertissement affichés dans la console du navigateur quand le siteswap musical est erroné.
- Affichage et défilement d’une partition (en cours) : En modifiant la librairie abcjs qui permet d’afficher des partitions définies au format abc, et en couplant les informations musicales ou informations du jonglage, il sera possible d’afficher simultanément une partition et la figure correspondante côte à côte.
3.2Aide à l’interprétation en réalité virtuelle¶
3.2.1Contexte¶
Les jongleurs rencontrent de nombreux défis inhabituels dans l’apprentissage de performances musicales. En utilisant un instrument plus classique, on apprend de nouveaux morceaux en jouant plus lentement puis en accélérant. Mais les jongleurs ne peuvent pas ralentir facilement leurs balles dans les airs. Il leur est également difficile d’observer une partition ou des notes pendant qu’ils jonglent, ou lorsqu’ils doivent échanger rapidement les balles qu’ils ont en main avec d’autres qui produisent des notes différentes (Figure 14). Sans support d’aide, jongler de mémoire en gardant le rythme et en assurant l’esthétique du spectacle amène à une surcharge cognitive.

Figure 14:Session d’entraînement de Concerto pour quatre jongleurs et un piano. De nombreuses balles (et donc notes) sont disposées devant les jongleurs sur la table.
C’est de là qu’est venue l’idée d’expérimenter avec la réalité virtuelle comme outil d’aide à l’entraînement puisqu’il y est possible de jongler en ralentissant la chute des balles. D’autres déjà ont essayé d’utiliser la VR comme outil d’apprentissage de la jonglerie. Ici, nous supposons la technique déjà acquise par les jongleurs et les aidons plutôt à mémoriser la succession de lancers à faire.
Et la VR pourrait bien répondre à une autre problématique de Vincent. En effet, pour des numéros à plusieurs, le temps de répétition avec tous est rare et précieux. Avant de se retrouver, chacun répète de son côté les figures qui le concernent pour pouvoir se concentrer sur le travail de groupe (synchronisation, cohérence esthétiques, etc) lors des sessions collaboratives.
Néanmoins, demander du matériel difficilement accessible pour s’entraîner paraît entrer en contradiction avec l’aspect frugal, léger et portatif du travail de Vincent et de celui réalisé depuis le début de la thèse (Figure 15). Mais nous concevons plus la VR comme un terreau d’expérimentation et de prototypage, qui avancera sûrement nos réflexions à propos de la jonglerie musicale plus largement.

Figure 15:Première expérience informelle lors de l’HCERES du labo en novembre pour constater si des indicateurs visuels (deux mains en carton) montrant quelles balles prendre peuvent assister le jongleur.
Et ce terreau d’expérimentation a également du potentiel aux yeux d’équipes d’IHM. Je co-encadre ainsi avec Nicolas Thiéry et Nicolas Férey (de l’équipe VENISE (Virtual and augmented ENvironments for Simulation and Experiments)) deux stagiaires : Kylian Richard, en deuxième année d’IUT, d’avril à juillet; et Jean Vrignaud, à Polytech, de mi-juin à juillet, ayant commencé il y a deux semaines au moment de la rédaction de ce rapport. La question : Peut-on rendre ludique la mémorisation de la jonglerie musicale par la VR ? Plus particulièrement l’apprentissage de la suite de lancers à effectuer (Kylian) et des balles à échanger sur la table (Jean).

Figure 16:Kylian Richard en pleine jonglerie virtuelle.
3.2.2Travail réalisé¶
A ses débuts, le stage de Kylian a surtout consisté à réaliser une veille technologique sur différents casques VR et bibliothèques ou solutions logiciels pour la VR, ce à quoi nous avons travaillé ensemble. Unity a été expérimenté dans un premier temps, mais nous avons porté notre dévolu sur le web. En effet, il y est possible (Figure 17) grâce à des API comme WebXR de créer des expériences VR. Et il se trouve que c’est ce qu’utilise ThreeJS, la librairie 3D utilisée pour la visualiseur. Il est donc possible de réutiliser tout le code derrière, ce qui confirme en un sens le choix fait l’an dernier de le créer pour le web. Mais WebXR est encore naissant, et il n’y a pas vraiment de standards pour gérer les interactions. C’est pourquoi après expérimentation, nous nous sommes tournés vers React-Three-Fiber, une bibliothèque en surcouche de threeJS autour de laquelle existe tout un écosystème de greffons pour l’UI et l’XR.

Figure 17:Etat des API et librairies Web pour faire de la VR / AR en 2025.
Nous nous retrouvons au moins hebdomadairement avec Kylian pour discuter de ses avancées et co-designer le jeu d’aide à l’apprentissage. Tout au long de ses réflexions, Kylian a développé plusieurs prototypes pour tester et implémenter les différentes fonctionnalités nécessaires à la suite du stage (se déplacer en VR, attraper des balles, détecter les collisions et la force d’un lancer, s’interfacer avec le visualiseur, afficher les trajectoires des balles en amont, émettre du feedback pour un lancer réussir, etc...) (Figure 18).

Figure 18:Premier prototype de lancer de balles sous Unity.
3.3Maths¶
Le côté mathématique n’a pas été beaucoup développé cette année, les besoins des jongleurs se tournant plus vers l’aide à l’interprétation. Il y a toutefois eu quelques avancées pour répondre aux questions suivantes :
3.3.1Quelles sont les musiques jonglables ?¶
Nous avons prouvé un critère pour identifier les musiques jonglables (du moment qu’elles n’ont pas de lancers silencieux).
Pour toute cette section, on considère le siteswap classique (un seul jongleur, au plus une seule balle lancée à chaque instant, figure périodique), mais les définitions et résultats sont généralisables au siteswap multiplex (lancer plusieurs balles en même temps), multimain et non périodique.
On se donne également :
- notes de musiques différentes, qui correspondent aux nombres entier dans .
- Pour chaque , on dispose de balles produisant cette note.
- Une hauteur de lancer maximale .
On peut alors définir ce qu’on entend par musique :
Cette manière de voir une musique comme un mot est motivée par les automates, mais également par les opérations qu’on lui applique.
Ainsi, déterminer si une musique est jongable est de complexité linéaire.
3.3.2Combien y a-t-il de musiques jonglables ?¶
En se servant du critère Theorem 1, on peut lister les musiques jonglables en variant plusieurs critères : hauteur maximale de lancers, balles et notes à disposition, pattern cyclique ou non, et le cas échéant, compter les patterns à décalage circulaire près.
Nous avons prouvé un cas particulier :
De plus, en rentrant ces séquences dans l’OEIS, on observe que :
- Dans le même contexte que Theorem 2 mais périodique, les musiques sont également comptées par -nacci mais avec des conditions initiales différentes.
- Les séquences avec une seule note jonglée par balles n’ont en général pour interprétation que le critère Theorem 2 utilisant le vocabulaire de “mot” ou de “necklace” selon qu’on considère les décalages circulaires ou non.
- Dès qu’il y a deux balles différentes ou des réceptions silencieuses, on ne trouve sauf exception rien.
4Perspectives futures¶
4.1IHM¶
Le travail en IHM est plus avancé pour envisager des publications (à NIME (New Interfaces for Musical Expression) dont la deadline est début 2026, ou peut-être à CHI 2026 ou 2027). Il faut encore définir précisément ce que l’on souhaite présenter, et les questions de recherche auxquelles répondre. Parmi les pistes envisagées pour l’instant, il y a l’utilisation de la VR pour l’apprentissage des figures / des échanges de balle et leur mémorisation, et l’utilisation de l’outil de composition.
Pour la suite des stages VR, nous envisageons de :
- Faire l’état de l’art des méthodes de ludification d’apprentissage en VR.
- Développer et tester les prototypes avec Vincent et d’autres jongleurs.
- Créer une première ébauche d’expérience, pour me confronter à ce que nécessite la préparation et la réalisation d’une expérience en IHM, pour à terme la tester en convention de jonglerie.
4.2Mathématiques¶
Il y a de jolies questions mathématiques, mais il n’est pas clair que les besoins des jongleurs poussent à plus explorer cette direction dans l’immédiat. Vincent est tout de même intéressé par ce qu’on peut y trouver, mais plus par curiosité, ou dans la perspective de spectacles art et science.
Afin d’étudier le nombre de musiques jonglables, il serait possible de reprendre les automates définis l’année qui reconnaissent toutes les musiques jonglables pour obtenir des formules de récurrence sur le nombre de mots reconnus. La déterminisation de l’automate lors de cette construction est toutefois exponentielle, si bien que l’on pourrait se demander si dans le cas de lancers silencieux, il n’existerait pas de critère polynomial pour savoir si une musique est jonglable.
De plus, nous n’avons pas encore modélisé les changements de tempo dans l’outil de composition. Ce serait là une raison de reboucler vers les mathématiques.
Enfin, il n’est pas clair si les résultats obtenus jusqu’à maintenant sont suffisamment avancés pour être publiables ou partageables, ou de ce qu’il faudrait avancer pour qu’ils le soient.
5Activités réalisées au cours de l’année¶
5.1Enseignement¶
| Intitulé du cours | Description | Lieu | Niveau | Heures TD | Heures TP |
|---|---|---|---|---|---|
| Introduction à l’informatique | Initiation à la programmation en C++ | Polytech | 1è année | 12h | 23.5h |
| Interaction Homme-Machine | Création d’interface graphiques en Java (système d’évènements, pattern Modèle-Vue-Contrôleur) | Polytech | 3è année | / | 12h |
| Introduction à l’interaction Humain-Machine | Cours théorique d’analyse (styles d’interaction, décomposition d’une action en tâches élémentaires, modèle mental et conceptuel)et de conception (sur papier) d’interfaces avec des pratiques d’IHM (développement centré utilisateur, analyse de questionnaires et d’interviews) | Université Pais-Saclay | L2 | 12h | / |
Total : 59.5h
5.2Conférences et écoles d’été suivies¶
| Nom | Lieu | Dates |
|---|---|---|
| FPSAC (Formal Power Series and Algebraic Combinatorics) | Bochum, Allemagne | 22-26 juillet 2024 |
| NIME (New Interfaces for Musical Expression) | Online | 2-6 septembre 2024 |
| Ecole d’été RJC IHM (Rencontres Jeunes Chercheurs/euses en Interaction Humain-Machine) | Île d’Oléron | 30 septembre - 4 octobre 2024 |
| JCB (Journée Combinatoire de Bordeaux) | Bordeaux (LaBRI) | 3-5 février 2025 |
| Journées Aléa | Marseille (CIRM) | 17 - 21 mars 2025 |
5.3Autres¶
- Junior Comitee de JITA 2024, une conférence locale à Paris-Saclay pour les étudiants en Master d’informatique.