Jean-Michaël CELERIER Une Approche Logico-Temporelle Pour La
Total Page:16
File Type:pdf, Size:1020Kb
THÈSE DE DOCTORAT DE l’UNIVERSITÉ DE BORDEAUX École doctorale Mathématiques et Informatique Présentée par Jean-Michaël CELERIER Pour obtenir le grade de DOCTEUR de l’UNIVERSITÉ DE BORDEAUX Spécialité Informatique Sujet de la thèse : Une approche logico-temporelle pour la création de médias interactifs soutenue le 29 mars 2018 devant le jury composé de : Mme. Nadine Couture Présidente M. Jean Bresson Rapporteur M. Stéphane Natkin Rapporteur Mme. Myriam Desainte-Catherine Directrice de thèse M. Jean-Michel Couturier Examinateur M. Miller Puckette Examinateur Résumé La question de la conception de médias interactifs s’est posée dès l’apparition d’ordinateurs ayant des capacités audio-visuelles. Un thème récurrent est la question de la spécification tem- porelle d’objets multimédia interactifs : comment peut-on créer des présentations multimédia dont le déroulé prend en compte des événements extérieurs au système. Ce problème rejoint un autre champ d’application, qui est celui de la musique et plus spéci- fiquement des partitions interactives : des pièces musicales dont l’interprétation pourra varier dans le temps en fonction d’indications données par la partition. Dans les deux cas, il est néces- saire de spécifier les médias et données musicales qui seront orchestrées par le système. C’est le sujet de la première partie de cette thèse, qui présente un modèle adapté pour la conception d’applications multimédia permettant de répondre à des problématiques d’accès réparti et de contrôle à distance, ainsi que de documentation. Une fois ce modèle défini, on construit en s’inspirant des systèmes à flots de donnée courants dans les environnements adaptés à la musique en temps réel un environnement de calcul permet- tant de contrôler les paramètres des applications définies précédemment, ainsi que de générer des entrées et sorties sous forme audio-visuelle. En particulier, une notion d’environnement per- manent dans ce modèle de données est introduite. Elle simplifie certains cas d’usages courants en informatique musicale, et améliore les performances par rapport à une solution uniquement basée sur de la communication entre nœuds explicites du système. Enfin, une structure de graphe temporel est introduite : elle permet de définir les parties du graphe de données qui vont être actives à un instant donné d’une partition interactive. En particulier, les connections entre objets du graphe de données sont étudiées dans le cadre de déroulements synchrones et différés. Un langage d’édition visuel est introduit pour l’écriture de scénarios dans un modèle graphique réunissant les éléments introduits précédemment. La structure temporelle est par la suite étudiée sous l’axe de la répartition. On montre notamment qu’il est possible d’acquérir un pouvoir expressif supplémentaire en supposant une exécution concurrente de certains objets de la structure temporelle. Enfin, on présente comment le système permet de recréer nombre de systèmes musicaux existants : séquenceurs, live-loopers, et patchers, ainsi que les nouveaux types de comportements multimédias rendus possibles. i Abstract Interactive media design is a field which has been researched as soon as computers started showing audio-visual capabilities. A common research theme is the temporal specification of interactive media objects : how is it possible to create multimedia presentations whose schedule takes into account events external to the system. This problem is shared with another research field, which is interactive music and more precisely interactive scores. That is, musical works whose performance will evolve in time according to a given score. In both cases, it is necessary to specify the medias and musical data orchestrated by the system : this is the subject of the first part of this thesis, which presents a model tailored for the design of multimedia applications. This model allows to simplify distributed access and remote control questions, and solves documentation-related problems. Once this model has been defined, we construct by inspiration with well-known data-flow systems used in music programming, a computation structure able to control and orchestrate the applications defined previously, as well as handling audio-visual data input and output. Specifically, a notion of permanent environment is introduced in the data-flow model :it simplifies multiple use cases common when authoring interactive media and music, and improves performance when comparing to a purely node-based approach. Finally, a temporal tree structure is presented : it allows to score parts of the data graph in time. Especially, nodes of the data graph are studied in the context of both synchronous and delayed cases. A visual edition language is introduced to allow for authoring of interactive scores in a graphical model which unites the previously introduced elements. The temporal structure is then studied from the distribution point of view : we show in particular that it is possible to earn an additional expressive power by supposing a concurrent execution of specific objects of the temporal structure. Finally, we expose how the system is able to recreate multiple existing media systems : sequencers, live-loopers, patchers, as well as new multimedia behaviours. ii Remerciements Cette thèse n’aurait été possible sans le concours et la dédication des personnes m’ayant entouré durant son déroulement. Je tiens à remercier avant tout mes directeurs Myriam et Jean-Michel, qui m’ont soutenu de tous leurs moyens pour l’avancée de cette recherche, et dans les développements que j’ai voulu entreprendre ; la création de ce logiciel m’a permis de réaliser des idées qui me tenaient à cœur depuis fort longtemps, et de m’intégrer à la fois aux mondes de la recherche en informatique, de la création artistique, et du développement. Merci bien sûr à Blue Yeti et aux amis du SCRIME qui m’ont accueilli, épaulé, nourri et même parfois logé ! Magnolya, Annick, Pierre, Thibaud, Gyorgy, Pierrick, Laurent, Julia, Raphaël, vous êtes super. Merci à vous tous, stagiaires et groupes de projets s’étant plongés dans le monde ténébreux du développement en C++ à mes côtés : Lucile, Maxime, Éric, Nicolas, Kinda et tant d’autres, vous avez été particulièrement courageux. Ma chère famille n’a eu de cesse de se démener pour m’offrir un environnement amène à la concentration et au travail, sans jamais remettre en cause mes choix : papa, maman, Raphaëlle, je vous aime fort. Mes amis, mes proches, Julien, Himito, Bazire, Nicolas, Pierre, Émilien, Pierre-Marie, Éric, Simon, Quentin, et tous ceux que j’oublie : merci pour votre soutien, votre aide, votre patience, mais aussi vos relectures et vos hébergements de dernière minute en cas de conférence ! Et vous ! La fine équipe d’OSSIA et des projets alentours, Pascal, Théo, Julien, Renaud, Antoine, Mathieu, François, Clément, Jaime. Travailler avec vous a été un plaisir du début à la 10 fin, et certainement une des expériences les plus enrichissantes que j’ai pu avoir – 10 would do again. Enfin, Akané, tu as été là chaque jour de cette thèse, m’as supporté quand je me couchais tard le soir et levais tôt le matin, m’as encouragé dans les moments les plus durs : peu auraient eu ce courage. Merci pour chaque instant avec toi, qui m’a permis d’avancer et de repartir quand ça n’allait pas. Je t’aime. iii Résumé français Cette thèse CIFRE a pour ambition de répondre à des questions courantes lors de la création de médias interactifs, principalement dans un contexte artistique et musical, mais sans restriction à un domaine particulier. La présentation de cette thèse est déroulée en trois parties : • La première partie introduit les problématiques, présente l’état de l’art et les objectifs de recherche en se comparant d’une part à des modèles existants et d’autre part en prenant en compte les notions issues de la recherche en créativité. On s’intéresse notamment aux méthodes de conception de logiciels auteur telles que la créativité de ses utilisateurs soit maximisée, en se basant sur les travaux de Eaglestone [1], Turner [2] et Resnick [3]. • La seconde partie présente le modèle proposé pour l’exécution des partitions interactives, et détaille l’implémentation du logiciel auteur. • La troisième partie présente les applications de ce modèle à des cas d’usage réels. Une des problématiques principales de ce travail est celle du lien entre l’écoulement du temps et l’exécution de programmes : comment peut-on modéliser efficacement un programme dont le comportement évolue au cours du temps, en fonction d’interactions extérieures prévues par l’auteur de ce même programme. Pour y répondre, on choisit de se baser sur la théorie des partitions interactives (Interactive Scores), développée par Myriam Desainte-Catherine [4], Antoine Allombert [5], Mauricio Toro [6], Jaime Arias [7], que l’on rapproche du domaine des applications multimédia interactives (interactive media). Le Chapitre 2 présente les modèles existants en détail, non seulement pour les partitions interactives, mais pour les thèmes plus généraux du multimédia interactif et de la création musicale assistée par ordinateur. Un des points centraux de cette thèse est l’introduction de calculs dans les partitions interac- tives : on donne une sémantique synchrone pour l’exécution de processus temporels produisant des résultats réutilisés par d’autres processus. Ce cadre ajoute une difficulté par rapport à des modèles d’exécution classiques : on cherche à réaliser une exécution cohérente même quand tous les nœuds de calcul ne sont pas actifs. Pour ce faire, plusieurs outils sont proposés aux auteurs ; ces outils sont décrits tout au long de cette thèse. On propose d’abord de modéliser les applications interactives existantes sous forme d’arbre de paramètres associés à des méta-données spécifiques au domaine visé, présentées en détail dans le Chapitre 4. Ce modèle permet d’avoir une vision simple de systèmes répartis, avec différents logiciels spécialisés sur différentes machines (pour le son, la vidéo, la lumière, …). On définit notamment la notion de périphérique arborescent (Définition 4) qui associe à un protocole de communication un arbre de données répliquant l’état d’un périphérique ou logiciel réel.