• Aucun résultat trouvé

Techniques vidéo-ludiques pour logiciel auteur multimédia

N/A
N/A
Protected

Academic year: 2021

Partager "Techniques vidéo-ludiques pour logiciel auteur multimédia"

Copied!
2
0
0

Texte intégral

(1)

HAL Id: hal-01300355

https://hal.archives-ouvertes.fr/hal-01300355

Submitted on 10 Apr 2016

HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci- entific research documents, whether they are pub- lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

Techniques vidéo-ludiques pour logiciel auteur multimédia

Jean-Michaël Celerier

To cite this version:

Jean-Michaël Celerier. Techniques vidéo-ludiques pour logiciel auteur multimédia. Journée de l’École doctorale de mathématiques et informatique, Mar 2016, Talence, France. �hal-01300355�

(2)

Techniques vidéo-ludiques pour logiciel auteur multimédia

Jean-Michaël Celerier

Laboratoire Bordelais de Recherche en Informatique, Blue Yeti

Problématique

Conception d’un logiciel d’écriture temporelle amené à être utilisé en production par des artistes tout en servant de plate-forme de recherche exten- sible pour des technologies multimédia.

Méthode

Conception en entité-composant-système avec hiérarchies symétriques d’entités et de compo- sants. Plusieurs moteurs opèrent en parallèle, avec une conception modulaire pour étendre le modèle.

Création d’entités sémantiques fortes par héritage, puis d’extensions faibles par composition. Hiérar- chie : création automatique de composants en- fants à la création de nouvelles entités.

Résultats

Plusieurs moteurs sont implémentés de cette ma- nière : il est en pratique souvent nécessaire d’avoir des graphes miroirs du graphe principal avec des données supplémentaires.

Partitions interactives

Déclenchement interactif

Conditions booléennes

Durée fixe Durée souple

Figure 1 : Syntaxe d’une partition interactive

Possibilités d’écritures forment un langage de pro- grammation structuré axé sur l’organisation tem- porelle. Boucles et hiérarchie, calcul instantané ou temporel possible via Javascript. Applications : mu- sique interactive, scénographie et spectacle vivant, contrôle de robots. Autres approches graphiques : OpenMusic [3], Antescofo [5], INscore [6] ; ainsi qu’approches programmatiques : Abjad, Tuiles ré- actives, …

Modèles pour logiciels auteurs

Standard : modèle-vue-contrôleur, modèle-vue- présenteur, document-présentation-instrument, modèle-vue-modèle de vue, présentation- abstraction-contrôle, programmation fonction- nelle réactive. Servent à la séparation des responsabilités lors du développement et prin- cipalement à la manière dont une interaction utilisateur affecte le modèle de données et du retour sur affichage.

Problématique de l’édition temps-réel avec contraintes [7].

Dans jeux-vidéo, modèle courant : entité- composant-système.

Entité : objet ou identifiant trivial, auquel on associe des composants.

Composant : contient des données.

• Une famille commune de composants (rendu,

physique, son) est gérée par un même Système.

Implémentation

Système d’entités adapté pour hiérarchie fixée dans le modèle : tout ne se compose pas avec tout.

Identification unique fortement typée avec cache :

• Dans un document par chemins : nécessaire pour gestion undo - redo et identification sur réseau. Pattern Commande réparti pour édition multi-utilisateurs.

• À un niveau de hiérarchie donnée : performance pour itération.

Création de composants fortement ou faiblement typés selon le besoin, et associés à un élément de modèle.

Contrairement à moteurs de jeu, pas de synchro des tick rate car tous les systèmes sont sépa- rés ; certains systèmes peuvent fonctionner sur le même thread ou sur des threads différents. Les sys- tèmes peuvent communiquer entre eux.

Applications

Modèle de composants est utilisé pour gérer :

L’exécution d’un scénario : des objets de l’API d’exécution développée indépendamment sont créés et fonctionnent de manière indépendante.

• Des contraintes de déplacement à l’édition : utilisation de Cassowary en tant que système.

L’affichage : rendu graphique via la bibliothèque Qt, chaque objet possède un composant de

présentation - vue.

L’arbre interne : les objets sont introspectibles par le réseau et en local.

Un moteur audio : un système surveille les processus audio ; on les ajoute et enlève du mixage quand nécessaire.

Des optimisations : on peut partager le moteur d’exécution JS entre les processus JS.

Figure 2 : Un scénario d’exemple i-score

Prochaines étapes

• Scripting intégré : intégration d’un langage de haut-niveau interprété (QML) pour prototyper plus simplement sur le logiciel.

• Implémentation audio plus poussée en utilisant libaudiostream[8] qui crée un graphe semblable à celui d’i-score.

• Travail en cours sur modèles et processus spatiaux : écriture avec des données

multi-dimensionnelles.

Informations complémentaires

Articles sur ce sujet :

• Modèles formels sur lesquels se base i-score : [1, 2].

• Paradigme graphique OSSIA : [4].

i-score peut être téléchargé librement sur

• www.i-score.org

Références

[1] Antoine Allombert, Gérard Assayag et Myriam Desainte-Catherine.

“A system of interactive scores based on Petri nets”. In : 4th Sound and Music Computing Conference (SMC07). 2007, p. 158–165. (Visité le 02/11/2015).

[2] Jaime Arias, Myriam Desainte-Catherine et Camilo Rueda. “Modelling Data Processing for Interactive Scores Using Coloured Petri Nets”.

In : IEEE, juin 2014, p. 186–195. isbn : 9781479942817. doi : 10.1109/

ACSD.2014.23. url : http://ieeexplore.ieee.org/lpdocs/

epic03/wrapper.htm?arnumber=7016342 (visité le 02/11/2015).

[3] Jean Bresson, Carlos Agon et Gérard Assayag. “OpenMusic : Visual Programming Environment for Music Composition, Analysis and Re- search”. In : Proceedings of the 19th ACM International Conference on Multimedia. MM ’11. Scottsdale, Arizona, USA : ACM, 2011, p. 743–746.

[4] Jean-Michaël Celerier et al. “OSSIA : Towards a unified interface for scoring time and interaction”. In : TENOR : First International Confe- rence on Technologies for Music Notation and Representation, Paris, France. 2015. (Visité le 02/11/2015).

[5] Arshia Cont. “ANTESCOFO : Anticipatory Synchronization and Control of Interactive Parameters in Computer Music.” In : International Com- puter Music Conference (ICMC). 2008, p. 33–40.

[6] Dominique Fober, Yann Orlarey et Stéphane Letz. “An environment for the design of live music scores”. In : Proceedings of the Linux Audio Conference, CCRMA, Stanford University, California, US. 2012, p. 47–54.

[7] Chris Laffra et al. Object-oriented programming for graphics. Sprin- ger Science & Business Media, 2012.

[8] Stéphane Letz. “Spécification de l’extension LibAudioStream”. In :

(2014). url : https : / / hal . archives - ouvertes . fr / hal -

00965269/ (visité le 22/07/2015).

Références

Documents relatifs

- Le rectangle de sélection : Cet outil vous permet de sélectionner une partie de l’image dans un rectangle.. Si vous maintenez

Q9 : Dans les trames échangées, identifier et noter sur votre feuille les échanges entre le poste client et le serveur Web lié au protocole http. Q10 : A l'aide d'internet (ou du

Disposant de revenus élevés, ayant pour certains des enfants à charge, vivant soit en centre-ville, soit dans le périurbain et parcourant un nombre important de kilomètres en

Remarque 1 : Si la chaîne contient elle-même une apostrophe, il faut la « doubler » pour qu’elle apparaisse correctement dans l’affichage.. Une variable est un « emplacement

Elle s’utilise toujours sous la forme grand(n,m,’loi’,paramètre) si la loi n’a qu’un paramètre ou grand(n,m,’loi’,paramètre1,paramètre2) si elle en a deux. Elle renvoie

Département d’Informatique, Faculté des Sciences Dhar El Mahraz BP.1796, Atlas,

pour organiser les activités de développement pour organiser les activités de développement Des techniques d’analyse et de conception Des techniques d’analyse et de conception pour

pour organiser les activités de développement pour organiser les activités de développement Des techniques d’analyse et de conception Des techniques d’analyse et de conception pour