FR 2657188 A1 19910719 FR 9000475 A 19900117 La présente invention concerne un moyen cybernétique de corrélation de matériels musicaux et mécaniques a des événements extérieurs, c'est a dire un dispositif permettant la communication et la régulation, musicale et mécani que d'un spectacle avec son environnement matériel ou humain conformément a la définition qu'on lui donne. Cette definition consiste en l'expression de la logique de génération des gestes et sons, ainsi qu'en le tracé des gestes nécessaires au spectacle. On connait déjà les dispositifs de synchronisation avec un air musical mais cet accompagnement sonore est préenregistré et donc n'est pas intéractif et par conséquant la succession de mouvements mécaniques est prédéterminée. Il n'y a donc pas de communication avec l'extérieur.On connait également des dispositifs ce coup-ci capables d'établir une communication entre le spectacle et son environnement, mais ces derniers n'établissent pas le lien entre le son et la mécanique en temps réel et dans toute la complexité des combinaisons Comme exposé ci-dessus, la présente invention a pour but de créer des spectacles interactifs musicaux ou mécaniques, ou les deux a la fois, où sons et mouvements sont correlés aux événements extérièurs, conformément a la de- finition que l'on a faite. Ces événements extérieures aléatoires sont reconnus, filtrés, puis interprétés . Cette interprétation consiste en la détermination des sons et mouvements éventuellement associés a l'état actuel des entrées du systéme, en leur mélange cohérent, et en leur exécution.Ceci dans un temps négligeable. Son et gestes sont ainsi synchrones entre eux et a leurs causes extérieures. L'invention a en conséquence pour objet un appareil comportant une ou plusieurs prises aux normes voulues, midi ou rs232 en particulier, en entrée et plusieurs sorties numériques, en particulier un connecteur de cartes et une prise midi. Les sorties dédiees a la mécanique sont connectables à des cartes éléctroniques d'asservissement variant suivant Ie type d'appareillage. De plus cet appareil comporte un dispositif d'affichage et d'entrée de données en particulier clavier, modem, mémoire de masse et écran. Ceci afin d'établir le dialogue necessaire a la determination de corrélation. Il peut s'agir en particulier d'un ordinateur possédant toutes ces spéfications. Une des caractéristiques du traitement réside dans le fait qu'une pluralité d'événements extérieures implique un melange combinatoire des sons et mouvements éventuellement associés et ceci sans conflit mécanique meme sur ordres contradictoires. Ces conflits proviennent du mélange de gestes sollicitant un même actionneur. Le processus est le suivant: chaque événement trouve gracie å la définition que l'on a faite de la corrélation, ses images sonores et mécaniques.Ces images sonores sont redirigées vers le matériel musical sous le format qui lui convient. Les images mécaniques sont mélangées, les conflits detectés éventuellement, et résolus. Ce mélange est ensuite redirigé vers les cartes d'asservissement en position et d'interfacage avec l'extérieur. Le système gère le mouvement en position, les vitesses étant des variations de positions dans le temps, elles sont implicitement obtenues grace a la rapidité de réactualisation des consignes. De plus l'éventuelle inertie de la mécanique ne bloque pas le dispositif: l'asservissement est asynchrone, un mouvement trop rapide est naturellement "lisse", et respecte sa durée. Le temps est donc prioritaire sur la position ceci pour être synchrone a d' éventuels sons associés. Selon une réalisation particulière, nullement limitative, le dispositif se présente sous forme d'un système transportable ( en flight-case ). Il peut être alors, à titre d'exemple, utilisé pour des spectacles d'androides ( automates a l'apparence d'etres vivants ). Ce mode va être maintenant décrit dans ses configurations, dans son fonctionnement et sera illustré d'un exemple d'utilisation. Nous allons maintenant décrire les configurations nécessaires, dans ce mode de réa lisation , au spectacle d'androides. Le système est alors connecté aux objets sui vanrs. On trouve d'abord le matériel d'amplification et de restitution sonore ( table de mixage, amplificateurs, enceintes etc... ). Pour la performance mécanique le ou les androides sont eux aussi branchés au système. Il en est de même pour les capteurs dont la nature peut être variee mais répondant a la norme midi, éventuel lement à l'aide d'interfaces.Ils peuvent être aussi bien des détecteur de passage, des testeurs de température qu'un instrument de musique ( clavier, séquenceur etc... . Ils constituent l'interface avec les spectateurs. La configuration atteinte a ce stade de la description est suffisante à l'utilisation du système sur site, c'est à dire à la performance du spectacle. Cela dit, pour la création du spectacle il faut adjoindre au système un clavier aIphanumérique , un écran et une souris qui constituent le dialogue avec le créateur du spectacle. L'environnement du système etant établit, il s'agit maintenant de détailler ce dernier. II est constituè d'un ou plusieurs générateurs sonores répondant a la norme midi. C'e petit être, dans notre exemple, un échantillonneur de sons , car ce dernier permet l'acquisition et le traitement de sons ( messages vocaux, bruitages, instruments etc...). Ce sont ces derniers, connectés å l'unité centrale, qui alimentent le matériel de restitution sonore précédement décrit dans l'analyse des configuratio ns. On trouve d'autre part, dans le systéme, un boitier d'asservissement mécanique, lui mer me connecté a un boitier de puissance. L'ensemble ainsi constitué traduit les évènementis mécaniques logiques en événements mécaniques physiques. Il sera désigné plus tard par le terme de " cartes d'asservissement " ou plus généralement " cartes ". Cet ensemble est connecté aux androides ( moteurs et recopies ) ainsi qu'à l'unité centrale qui reste a décrire. l'unité centrale est donc l'élément vers lequel converge toute la connectique des objets précédement décrits. Il dispose par conséquent d'un dispositif d'entrée/sortie répondant à la norme midi, recevant les capteurs et pilotant le matériel musical, ainsi qu'un us accessible cn externe acceptant les cartes d'asservissement. D'autres prises permettent la connection de l'écran, du clavier, de la souris et d'une mémoire de masse ( lecteur de disquette, disque dur etc... ). C'est cette unité centrale qui caractérise ici l'invention, et c'est à ce titre que nous allons maintenant décrire son fonctionnement interne, son environnement ayant été jusqu'ici décrit. Nous pouvons des maintenant nous référer au dessin annexe dans leque la figure (1) représente les modules internes å l'unité centrale concernes par lit phase de création du spectacle et la figure (2) représente les modules in- ternes utiles a l'exécution. Cette unite centrale possède deux modes de fonctionnement a savoir le mode de construction ou de creation du spectacle ainsi que le mode d'exécution temps réel de ce spectacle. Dans le prenlier mode, l'appareil permet la création d'effets sonores, sollicitant donc l'échantillonneur, la création de gestes sur l'androide, ainsi que la logique de génération de ces sons et gestes sur appuis de capteurs. Créer un spectacle c'est créer un jeu de scène. Ce terme désigne en fait deux momules contenant toutes les informations utiles à l'éxécution du spectacle, à savoir sa logique de génération de sons et gestes, les assignations son/geste et les gestes proprement dits. Les gestes sont définis de la façon suivante: Les positions de cha- que actionneur concerné par un geste sont stockées chronologiquement dans une mémoire vive ( ils sont apparents en haut des figures (1) et (2) ). De plus un geste est caractérisé par son état ( en exécution bien entendu ), a savoir actif ou inactif. A cet effet, un champ est laisse libre en mémoire vive pour chacun des gestes afin de spécifier cette information ( Cf figures (1) et (2) ). l'ensemble des gestes con- stitue la "gestuelle" de l'androide, ses attitudes @ reflexes etc... Mais ceci ne constitue un jeu de scene que quand le module logique contient la logique de génération de chacun de ces gestes ainsi que leurs images sonores, Ceci est codé, en particu- lier, par une table d'équivalence programmée, Interne au module logique ( Cf figure (1) ou (2) ). Ce module fera l'obiet d'une présentation détaillée lors de l'étude modulaire. Cette table contient toute la combinatoire d'événement d'un spectacle. C'est la base de connaissance de l'androide. Tous ces éléments, a savoir gestes, logique, proviennent de l'utilisation du logiciel d'édition décrit dans la figure (i) et désigné par le bloc fonctionnnel (2). Nous sommes douc dans la phase de création du spectacle: clavier, écran, souris sont connectés. L'éditeur est activé: c'est le mode de création de l'unité centrale. Grâce à l'interface utlilisateur , la souris permet le mouvement des actionneurs de l'androïde ses moteurs en particulier' ), et donc la création de gestes, par la mémorisation de positions.Ceci explique que l'interface utilisateur soit en dialogue avec d'une part les cartes d'asservissement mais d'autre part, et ceci pour accompagner le geste de sou image sonore @avec l'échantillonneur ( figure (2) ). Ces images sonores seront expli-citées plus @oin. Il est possible alors d'éditer graphiquement sur l'écran les gestes, les corriger, les effacer, les revoir etc... Grâce à ces opérations la gestuelle de l'androide est donc mémorisée geste par geste.On peut aussi désigner le son asso-cié à ce geste @ sou image i, c'est l'assignation son/geste, et ceci pour chacun des gestes. l'interface utilisateur pennet surtout de construire Id logique de génération des gestes et sons précédement associés par équations ou par modèles ( graphiques ou non ) Il s'agit de déterminer l'état des capteurs nécessaire a la génération d'un geste er du son associé, ceci pour chacun des mouvements.Le module de mise au format se charge ensuite d'organiser les gestes, assignations et logique en un jeu de scène grâce au module En ce qui concerne la logique et les assignations définies par équations ( les modèles étant rnis en équations ), elles deviennent simple combinatoire par la programmation de la table d'équivalence du module logique ( figure (1) ). Les. gestes sont ensuite placés dans une zone mémoire vive réservée. Il est important de remarquer que cette zone mémoire vive et le module logique seront, bien entendu, utilisés lors de l'exécution du spectacle I figure (2) ). De plus, afin de pouvoir sauvegarder sotl travail l'éditeur permet le transfert sur mémoire de masse des jeux de scène.Les spectacles ainsi créés doivent maintenant pouvoir prendre vie sur site, cette opération tait intervenir d'autres éléments plus spécifiques au système. Ces derniers sont représentés sur la figure (2) par le bloc fonctionnel (3). Parmi eux, ou retrouve la zone mémoire contenant la gestuelle et le module logique base de connaissances ) précédement explicités. Le proche environnement a savoir les capteurs, échantillonneur, et cartes d'asservissement, qui ont déjà été décrits, est présent lors de ce deuxième mode de fonctionnement. Nous allons maintenant étudier chacun des modules Internes à l'unité centrale sollicités lors de l'exécution du spectacle ainsi que leur interconnection confonriément à la figure (2). Hussite nous donnerons l'ordonnancement des tâches. Le premier module de notre étude est l'ACLA ( circuit de communication sérielle asynchrone ). Il est l'objet qui convertit l'information sérielle physique en information logique, ce processus est réversible. A cet égard, il possède une entrée et une sortie serie, des registres internes en particulier de données, accessibles en lecture et écriture par bus et est capable d'émettre et recevoir des signaux ( d'interruptions ou contrôles: octet la disponible, demande de lecture d'octet par exemple ). Bien entendu, cette description est générale et ne présente que des éléments nécessaires à la compréhension du fonctionnement. I.e deuxième objet de notre étude est le programme pilote midi. Il a trois fonctions essentielles. Stocker les octets d'un périphérique des que ce dernier le demande ). Il effec- tue cette opération sur l,j réception d'un signal ( signal "IT" sur la figure (2) ) et grâce à son bas il peut récupérer l'octet provenant du périphérique afin de le placer (' I.c troisième objet est le décodeur midi, puisque toutes les informations circulant dans les modui@s précédents répondent à cette norme. II émet une demande d'infor- mations ( signal "LECT" figure (2) ) en direction du pilote midi, récupère après une éventuelle attente les octets midi par son bus ( "midi codes" figure (2) ). Il les analyse syntaxiquement, en déduit si l'information est à négliger ou non, sinon elle est traduite en état de capteur ( exemple: le capteur S est appuyé ).Il signale ensuite son succès de traduction ( signal "IT" de la figure (2) ) et positionne cette donnée, au format vou@u ( celui du module logique ) , sur son bus. Le quatrième objet est le module logique déjà évoqué dans l'étude de l'éditeur. Il posséde donc la base de connaissance en mémoire interne, mais aussi sou moteur d'inférence. l,a base de faits est internement construite grace aux informations qu'il reçoit sur son bus ( "code c apteur' figure (2) qui sont sous le format d'état de capteurs comme précédement décrit dans le décodeur midi.Cette opération est effectuée pendant que le moteur d'inférence décide ( "décision" figure (2) ) les codes midi de génération sonore ( "midi codes" figure (2) ) et par son bus de commande il se charge de désigner les gestes a activer ou désactiver. L'information sur son tus de commande est l > îen entendu compatible avec le microcontrôleur tie mémoire vive dédié aux îiiouveinents qui est l'objet de notre prochaine étude. Le cinquième module est le microcontrôleur de mêmeoire dédié aux mouvements. Il est l'objet le plus sophistiqué dii système. Il possède deux brrs Bien entendu, les deux bus de commande ne sont pas simultanément accessibles, il sont en exclusion mutuelle ( "exclusion xor" figure (2) ). Les commandes sont: activer le geste n, désactiver le geste n, lire le geste n, obtenir l'état du geste n. Activer un geste revient à- positionner le champ état du geste concerné a une valeur logique déterminée préalablement ( dans le module des gestes ).Désacti- ver un geste revient à positionner le champ état à on état logique déterminé diffe- rent de tel ni d'activation. Lire un geste revient a lire le groupe de valeurs de chaque actionneur concerné par le geste à la date de la demande. Ces valeurs sont désignées par un pointeur interne au microcontrôleur, et incrêmenté convenablement il désigne les prochaines valeurs. Ce pointeur est incrémenté régulièrement et symbolise le temps, il est initialisé à l'activation du geste. II y a antant de pointeurs que de gestes.Si la fin du geste est atteinte le geste est dé sac@ivé, il s'agit d'un operation interne. Toutes les valeurs, données obtenues des commandes sont signaiées lorsqu'elles sont positionnées sur le bus de données ( "coutrol" figure (2) ). L'obtention de l'état d'un geste, permet la lecture du champ état d'un geste dans le module geste. Le sixième module est le séquenceur de microprogrammes. C'est le coordinateur de tâches. Automate fini synchroue à une horloge de 10 Hertz ( "clock" figure (2) ), il possédé un bus de commande et la possibillté d'émettre un signal " cycle terminé" ( "IT" figure l') ). ). Son cycle est le suivant: il deniaude la lecture de tous les gestes actits gr:ice a son bus de commande sur le microcontrôleur de mémoire, et demande la sortie physique par son signal vers le pilote de carte ( "IT" figure (2) ).Si cette macroséquence se limite à Le septième modale est le microcontrôleur de double tampon, il a deux fonctions: placer les valeurs d'actionneurs qu'il reçoit du mircocontrôleur dans le double mémoire tampon et permettre Id lecture de ce tampon . I.e double baffe est constitué de deux zones mémoire vive d'une tailie correspondant en taille au nombre d'actionneurs, de manière a pouvoir stocker dans chacun des tampons la position de chaque action- leur. satin dc pouvoir lire et écrire simultanément, l'écriture s'effectue sur iin des rampons et la lecture sur l'autre.I.es tampons sont ensuite permutés. C'est un principe d'une liste de tampon circulaire a deux éléments, analogue à un tourniquet figure (2)). L'utilità de cette méthode apparaitra lors de l'explication de l'ordonnancement des tâches. Les demandes d'écriture proviennent du microcontrôleur de mémoire, @ui même pilote par le séquenceur de microprogrammes. Le demandeur n'est pas le desti-nataire sttr la lecture Le huitième et dernier module de cette étude est le pilote de carte déjà cité precedement. Il transforme des que le séquenceur de microprogrammes le demande ( "IT" figure (2) ), les informations logiques de son bus de données, à savoir les valeurs d'actionneurs, en ordres de positionnement d'actionneurs en destination des cartes d'asservissement. Sa seule fonction est donc une opération d'écriture sur périphérique externe f androide via les cartes d'asservissement ). Voici donc décrit dans leurs fonctionnalités chacun des éléments ainsi que leur con @ectique. Nous allous maintenant donner l'ordonnancement des tâches en se référant systèmeatiquement aux modules précédement décrits. Pour cela, nous suivrons le trajet de l'information de sa source jusque dans ces tnultiples points de sortie. La figure (2) illustre parfaitement l'organisation précédement définie, dans sa totalité. le bloc fonctionnel construit à partir de tous les modules que nous venons de décrite permet l'éxécution temps réel du spectacle ( bloc fonctionnel (3) figure (2) ). Il permet la réalisation de la corrélation, entre ses entrées, connectées aux cap-- teurs, et ses sorties, connectées à l'àchantillonneur et aux cartes, conformément à la logi@ que de génération des mouvements et effets sonores précédement associés ( sous l'editeltr 1 Son exécution consiste en l'acquisition par le pilote midi des informa- tions provenant des capteurs qui sont ensuite mises dans le tampon circulaire en attente tle lecture. L'acia se charge de cette tâche ( bloc (4) figure (2) ). Parallèlement, le décodeur midi lit grâce au pilote midi les informations mises dans le tampon, identifie les capteurs concernes ainsi que leur état ( actif, inactif ). Cette opération faite il sollicite le module logique qui reçoit ces informations.Le module logique se charge de déterminer les sons et gestes induits des informations qu'il a collecté base I.t, microcontrôleur de mêmoire des qu'il est disponible sur le bus 1, positionne la de-mande d'activation ou de désactivation des gestes conformement au module logique. Parallèlement, dans le bloc fonctionnel (5), le séquenceur de programmes sollicite une scrutation des mouvements à activer ainsi que l'envoi des valeurs d'action- neurs induites, au microcontrôleur de double tampon. Ceci tons les dixièmes de secondes. LIn geste terminé est désactivé. Le microcontrôleur de double tampon, résoud les conflits dans la mesure où les va- leurs contradictoires d'un même actionneur s'écrasent en mémoire car prennant place à la même adresse. La valeur conservée est donc la dernière: la nouveauté est privilégiée. Après ce traitement, le tampon courant est laissé au pilote de carte, le tampon suivant est pris par le prochain traitement de conflit, ceci afin de parallèliser les écritures des valeurs suivantes et les lectures des courantes par le pilote de cartes. A ce stade du traitement, le pilote de carte est sollicité, il lit les valeurs de chaque actionneur et les envoie aux cartes d'asservissement. Un exemple de fonctionnement serait obtenu en traçant un mouvement de tête de la droite vers la gauche de l'androide, ainsi que l'assignation de ce mouvement à un son d'avion . En exécution, si la configuration des capteurs correspond à la défini- tion de la logique de génération de ce mouvement, par exemple le passage d'une personne de la droite vers la gauche, l'androide tourne la tête conformement à la définition, sur le fond sonore de l'avion. Ce procédé s'applique, quel que soit le nomlire de mouvements et sous déclenchés par la configuration logique des capteurs: le mélange sur conflits privilégie la nouveauté ( Cf double tampon). Revendications: 1. Un appareil comportant au moins une entrée numérique ainsi qu'au moins deux sorties numériques dont une partie permet la connection de cartes d'asservissement de matériel mécanique et l'autre partie se connectant sur un ou plusieurs générateurs sonores ou musicaux. 2. Un appareil selon la revendication 1, permettant d'une part la création d'effets sonores, sollicitant le ou les générateurs sonores ainsi que la création de mouvements du matériel mécanique, et d'autre part l'établis sement de la logique de génération de ces mouvements et effets sonores sur les événements extérieurs pénétrant l'appareil. 3. Un appareil selon l'une quelconque des revendications l à 2, éxécutant en temps réel la corrélation, entre ses entrees connectées à des capteurs ou autres systèmes, et ses sorties branchées à du matériel sonore ou mécanique, conformement à la detinition logique de génération des mou vements et effets sonores précêdement définis. 4. Un appareil selon l'une quelconque des revendications 1 à 3, caractérisé en ce que la totalité des informations pénétrant dans l'appareil, est recon nue, éventuellement filtrée, cette opération effectuée la logique de décision active la combinaison logique d'effets et mouvements résultante. S. Un appareil selon l'une quelconque des revendications 1 à 4, capable de melanger des mouvements définis séparéments et actifs à des dates aléatoires et pouvant être désactivés de manières préemptîves ou non, sans que cela génère conflits mécaniques ou ordres contradictoires.