• Aucun résultat trouvé

Le séquenceur interactif multimédia i-score

N/A
N/A
Protected

Academic year: 2021

Partager "Le séquenceur interactif multimédia i-score"

Copied!
2
0
0

Texte intégral

(1)

HAL Id: hal-01245350

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

Submitted on 17 Dec 2015

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.

Le séquenceur interactif multimédia i-score

Jaime Arias, Jean-Michaël Celerier

To cite this version:

Jaime Arias, Jean-Michaël Celerier. Le séquenceur interactif multimédia i-score. Journées Développe-ment Logiciel de l’EnseigneDéveloppe-ment Supérieur et de la Recherche, Jun 2015, Bordeaux, France. 2015. �hal-01245350�

(2)

Le séquenceur interactif multimédia i-score.

Jaime Arias Jean-Michaël Celerier

Laboratoire Bordelais de Recherche en Informatique (LaBRI)

Introduction

Scénario i-score IS2UPP Modèle UPPAAL Vérification de propriétés UPP2C UPP2HDL Code C/C++ Code VHDL/System Verilog Composition Vérification Interprétation

I i-score permet de décrire le temps de

manière fine avec des outils issus de la programmation, pour des personnes n’ayant pas de pratique de

développement logiciel.

I Laboratoires : LaBRI, GMEA.

I Entreprises : Blue Yeti, RSF.

I Artistes impliqués dans conception

(conception dirigée par experts). Le projet est issu de la fusion des

séquenceurs Virage et Acousmoscribe.

Scénario interactif

Event Scenario Automation TimeNode State Process Constraint ... Éléments du modèle :

I Processus : exécution via scheduler.

Possède une durée propre.

I Contrainte : représente une durée

(connue ou non). Contient des processus.

I Évènement : porte des conditions et

relie des contraintes.

I TimeNode : synchronise des

évènements.

I État : porte des données.

I Scénario : un processus qui agence

contrainte, évènement, timenode.

Permet d’obtenir une hiérarchie infinie.

Difficulté : gestion à l’édition des cas qui ne

rentrent pas dans le modèle pour faciliter l’écriture.

Exemple de notation

A B C D E F G H I

Une représentation qui contient les éléments d’un scénario.

I Contraintes : traits horizontaux.

I TimeNode : trait vertical.

I Évènement : point.

Notion de temps souple : un évènement peut arriver dans un intervalle donné par le compositeur.

I Par rapport aux séquenceurs

traditionnels, on ne peut plus avoir de ligne de temps simple, de graduation. . .

I Problématique analogue au déboguage :

comment n’écouter qu’une partie du spectacle (au milieu par exemple) ? Nécessaire lors de la création.

Interopérabilité

I Notion de paramètre adaptée aux créations artistiques. Organisation en arbres.

I Basé sur la spécification OSC.

I Implémentations pour OSC, Midi, Minuit (découverte), Qt...

Le protocole OSC est simple et a pu être implémenté en une semaine dans une application spécialisée pour contrôler des Metabot.

UI d’édition

Présenteur Vue (Qt) Machine à états Commande Sélection Modèle

I Édition répartie. Problématique :

undo-redo réparti.

I Pattern pour édition à la volée fluide :

machines à états interagissant avec le pattern Command (cf. figure).

Utilisation de GammaRay (KDAB) pour

déboguage.

I Recherches en cours pour résolution des

problèmes de contraintes qui se posent.

I En retour, fonctionnement

cross-platform (mais UI adaptée requise sur mobile pour que ce soit utile).

Modèles et technologies

Présenteur Vue Modèle Modèle enfant Présenteur enfant Vue enfant Parent au sens QGraphicsItem Parent au sens QObject

I Relation entre modèles : Passive View,

Hierarchical MVP (hiérarchie infinie).

I Le modèle s’expose lui-même dans

l’arbre de paramètres pour être contrôlé de l’extérieur.

I Complexité du projet : doit servir de

base pour une famille de logiciels ayant

des buts différents par la suite, mais

pouvant communiquer facilement et

être affichés dans une seule fenêtre.

Nécessité d’une logique commune pour menus, panneaux, sélection, undo-redo, etc...

I Utilisation des capacités de plug-ins de

la bibliothèque Qt.

I Analogue à un petit système

d’exploitation avec système de fenêtrage.

Capture d’écran

Formalisme et exécution sur FPGAs

I I-score est construit sur un modèle formel appelé Automates Temporisés.

I Pour la première fois, il est possible de vérifier automatiquement des propriétés des

scénarios. Par example, il est possible d’assurer que les relations temporelles sont toujours respectées ou que le scénario se termine toujours.

Figure 1: Vérification automatique avec UPPAAL.

I Les partitions interactives réalisent des tâches en temps réel et des calculs intensifs

avec une grande ensemble de données qui, parfois, ne peuvent être traités par des ordinateurs ordinaires.

I L’utilisation de Field Programmable Gate Arrays (FPGAs) est une alternative

raisonnable pour atteindre le niveau de performance nécessaire pour les applications multimédias.

I Les FPGAs offrent certains avantages, par exemple, de parallélisme physique, de

reconfiguration, une vitesse élevée, ainsi que la fiabilité et la réutilisation de modules.

I Intuitivement, les automates temporisés peuvent être considérés comme plusieurs

machines à états finies étendues avec des horloges logiques et s’exécutant en

parallèle. Ainsi, il est possible de les mettre en œuvre facilement sur un FPGA en

utilisant un langage de description matériel (HDL) comme SystemVerilog.

D Q Q Look-up Table (LUT) Flip Flop Mux Clock I0 I1 I2 I3 Out

Configurable Logic Blocks (CLBs)

Programmable Interconnection

Network Configurable Input/Output Blocks (IOBs)

Figure 2: Une vue détaillée d’un FPGA.

Conclusion et perspectives

I Sources d’inspiration : réseaux de Petri, diagrammes de Gantt.

I Utilisé par artistes en résidence.

I Pas assez de tests (en développement depuis octobre).

I Application aux robots : compiler en code pour firmware metabot.

I Vérification automatique de scénarios afin d’éviter des erreurs lors de l’exécution.

I Exécution de scénarios avec une faible latence et en temps réel en utilisant des

FPGAs.

Références

Documents relatifs

L’évolution du mot s’est accélérée et diver- sifiée au XX e siècle, tant dans l’usage bri- tannique que nord-américain, dans le langage familier, voire argotique (un score

Cette procédure permet de rendre les variables initiales comparables entre les groupes au sein de chaque strate pour les variables recueillies, et le traitement peut être évalué

(Affectation parallèle, - ) Déterminer les contenus des variables après interprétation de la suite d'instructions.. (Échange des contenus de deux variables, ♥) On suppose que

La marche vers la démocratie n’est pas seulement longue, elle est également couteuse.la croissance économique est indispensable tant pour gagner et conserver la confiance de

Outre cette phase, nous avons la phase d’activité qui dans le cadre d’une éruption volcanique se manifeste par la projection des matériaux à la fois solides, liquides et gazeux

Tu dois donc te servir des documents ci-après et de tes propres connaissances pour identifier les causes de ce mauvais rendement agricole afin que les populations de ton

On en arrive ainsi à la conception selon laquelle c'est l'ordre dans lequel les bases sont disposées les unes par rapport aux autres qui impose l'ordre dans

Chez le xénope, il a été montré dans une expérience de gène rapporteur que la région centrale de XMyT1 est la partie activatrice de la transcription et qu'un seul des deux