Brevet FR2806497A1 — publié le 20010921

Les performances techniques des ordinateurs personnels sont en progrès constant, amenant une interactivité de plus en plus forte entre les applications ou logiciels et l'utilisateur. Par exemple, une application musicale qui nécessitait auparavant vingt secondes de calcul pour générer un son de une seconde à partir d'une forme d'onde et de paramètres quelconques (attaque, filtre, gain, panoramique, etc.), ne nécessite aujourd'hui qu'un centième de seconde pour exécuter la même tâche. Cette diminution des temps de calcul permet aux applications d'offrir plus d'interactivité avec l'utilisateur et de proposer le contrôle en temps réel de leurs paramètres internes. Le problème est le manque de contrôleurs manuels efficaces permettant à io l'utilisateur de contrôler en temps réel ces paramètres. Dans la plupart des cas, l'utilisateur doit programmer les valeurs des paramètres dans le temps (d'o une perte d'interactivité) ou modifie ceux-ci à la souris ou au clavier qui sont deux interfaces homme machine inadaptées à cette utilisation comme le montre la figure 1. La figure I compare l'invention à la souris et au clavier en tant qu'interfaces homme machine. La figure 2 donne une vue générale de l'utilisation de l'invention. La figure 3 décompose la figure 2 au niveau de l'ordinateur personnel. La figure I se base sur l'exemple d'une application cliente représentée par le cadre (1) permettant de contrôler par un procédé quelconque n paramètres ayant chacun un rôle différent et une plage de valeurs spécifique: paramètre (2) d'intensité (0 à 127) de l'éclairage de la cuisine, paramètre (3) d'état (on / off) d'une alarme, paramètre (4) de volume (0 à 30) de la télévision, paramètre (5) de panoramique (-32 à +32) du son PC, etc. L'utilisateur dispose dans le premier cas de la souris (6) pour contrôler les n paramètres. Il peut cliquer sur le curseur d'un paramètre et en déplaçant la souris modifier la valeur de celui-ci. Le défaut de cette interface vient du fait que l'utilisateur n'a pas accès à plus d'un paramètre en même temps. Par analogie on pourrait dire qu'il ne peut se servir que d'un seul de ses dix doigts. Dans le deuxième cas, le clavier (7) est géré par l'application et permet de modifier les paramètres via certaines touches de celui-ci, configurables ou non. Si la gestion du clavier est poussée, elle permet le contrôle de plusieurs paramètres en même temps: j'augmente la lumière de la cuisine en appuyant sur la touche Q et je diminue le son de -2- la télévision (touche - enfoncée). Cependant, il faut noter qu'il y a un compromis entre rapidité et précision des modifications par le clavier: il est difficile de mettre très rapidement des paramètres à des valeurs assez précises (sauf si elles sont mémorisées). Au contraire, la souris du cas précédent le permet (déplacements rapides après clic de sélection). Ce problème de manque de contrôleurs efficaces pour piloter des paramètres de logiciels est vécu également par les utilisateurs de machines MIDI matérielles (synthétiseurs, effets, et autres instruments de musique électronique) qui disposent déjà io pour certaines de contrôleurs en temps réel de type potentiomètre ou interrupteur. Cependant, ces derniers peuvent manquer en nombre rapidement. Une solution pour les utilisateurs de machines MIDI matérielles désirant augmenter l'interactivité temps réel de celles-ci existe sur le marché: des tables de contrôleurs MIDI matériel' exploitant la norme MIDI et s'intégrant directement (sans ordinateur) dans une chaîne d'autres appareils MIDI matériels puisqu'elles disposent de ports MIDI- IN et MIDI-OUT physiques. Cependant, leur coût de revient est assez élevé (réalisation électronique complexe) et elles n'offrent en général que peu de contrôleurs. La présente invention, en exploitant la norme MIDI (Musical Instrument Digital Interface) établit par l'association internationale MIDI, se propose de mettre à la disposition de l'utilisateur d'un ordinateur personnel un périphérique externe sous la forme d'une table de contrôleurs (potentiomètres et interrupteurs) et son logiciel de gestion, le tout permettant un contrôle en temps réel de paramètres utilisés par des logiciels clients ou des systèmes matériels externes commandables capables d'exploiter la norme MIDI. La présente invention doit être considérée comme une extension complémentaire des interfaces homme machine classiques que sont le clavier et la souris dans la mesure o elle permet de contrôler des paramètres à partir de potentiomètres rotatifs, de potentiomètres linéaires et d'interrupteurs. Contrairement au clavier (6) qui envoie des événements de type booléen (touche enfoncée ou non) et à la souris (7) qui est analogue à un seul " doigt " de contrôle, le pupitre (8) de l'invention offre le contrôle simultané des paramètres et met à disposition des valeurs codées sur m bits (0 à 2m). Ainsi, un ou plusieurs utilisateurs peuvent contrôler avec leurs dix doigts les paramètres de leur choix, et régler des valeurs -3déterminées rapidement et de façon plus précise grâce à des potentiomètres linéaires, rotatifs, et à des interrupteurs. La figure 2 donne une vue générale de l'utilisation de l'invention. La présente invention comprend deux parties, une matérielle et une logicielle. La partie matérielle (8) est un pupitre de contrôleurs dont la réalisation électronique est très simple et de faible coût pour des raisons détaillées par la suite. Le logiciel (9), résident en mémoire après lancement, scrute les valeurs des contrôleurs du pupitre via un port de connexion de l'ordinateur. Ces valeurs, après ou non transformation, sont mises à la disposition de logiciels clients en temps réel par l'envoi de messages respectant la norme MIDI à un périphérique MIDI logiciel (10) ou matériel (11). La partie logicielle (9) de l'invention se trouve installée sur un ordinateur personnel (12) o sont lancées les applications clientes (1) de l'invention capables d'exploiter la S5 norme MIDI. Le partie logicielle de l'invention lit les valeurs des différents contrôleurs dont dispose la partie matérielle, le pupitre (8), via un port de connexion (13). Ces contrôleurs sont de type potentiomètre linéaire, potentiomètre rotatif et interrupteur. Les applications clientes (1) de l'invention peuvent être des logiciels de différents domaines d'application (musique assistée par ordinateur, infographie, etc.) ou des logiciels de contrôle de systèmes matériels externes (14) si elles le permettent. L'invention met les valeurs venant du pupitre sous la forme de messages MIDI. Ainsi, les logiciels compatibles avec cette norme pourront être pilotés par la table. De plus, les informations MIDI peuvent être directement dirigées vers un périphérique MIDI (11) matériel (de la carte son par exemple) pour contrôler également des machines MIDI matérielles (15) de type synthétiseur, boîte à rythmes, échantillonneur, effets, etc. La figure 3 détaille la figure 2 au niveau de l'ordinateur (12). Le ou les utilisateurs (16) de cet ordinateur manipulent le périphérique externe ou pupitre de contrôleurs (8) qui, avec le logiciel de l'invention (9) constituent l'innovation. Ces deux parties matérielle (8) et logicielle (9) communiquent par l'entrée d'un port de connexion (13) de l'ordinateur personnel (port parallèle, interface USB, etc.). Les valeurs des potentiomètres rotatifs, linéaires et interrupteurs lues à un instant t donné sont dirigées vers un périphérique MIDI logiciel (10) et par cet intermédiaire mises à disposition des -4- logiciels clients (1) capables d'exploiter la norme MIDI dans lesquels des paramètres quelconques sont assignés à un ou plusieurs contrôleurs du pupitre. Ainsi, les logiciels clients utilisés disposent des valeurs venant du pupitre grâce à la partie logicielle de l'invention qui sert par conséquent d'interface. Il faut noter que seules les variations des valeurs des contrôleurs induisent la génération de messages MIDI pour ne par surcharger la communication. Ainsi, l'invention crée des liens ou assignations entre les contrôleurs du pupitre et les paramètres des logiciels clients ou des systèmes matériels et ceci en temps réel. Par exemple, pour une utilisation musicale, une grande interactivité s'installe alors entre le ou les utilisateurs et leurs créations musicales lors de travaux de composition. Ces derniers se font à l'aide des logiciels clients musicaux (séquenceurs, échantillonneurs, effets numériques, etc..). Cette interactivité existe de même lors de l'interprétation en temps réel de morceaux de musique. Il est ainsi possible d'assigner des contrôleurs à des paramètres d'effets sur les instruments tels que le volume, la fréquence, le panoramique, I'écho, la forme d'onde, etc. L'invention devient donc une extension de contrôle de ces instruments virtuels. Les valeurs des potentiomètres rotatifs, linéaires et interrupteurs lues à un instant t donné peuvent être également dirigées directement vers un périphérique MIDI matériel (11) (celui d'une carte son par exemple) et par cet intermédiaire mises à disposition de machines MIDI matérielles (15) dans lesquelles des paramètres quelconques sont assignés à un ou plusieurs contrôleurs du pupitre. Les machines MIDI matérielles d'un studio peuvent être ainsi en même temps contrôlées par les applications clientes et par le pupitre de commande (8). L'ordinateur personnel équipé de l'invention s'intègre alors dans la chaîne MIDI constituée des différents éléments du studio. L'invention offre un complément conséquent de contrôleurs en sus de ceux déjà présents mais très souvent en petit nombre sur ces machines MIDI matérielles. En utilisant l'invention, les assignations sont facilitées par la possibilité de visualiser les paramètres d'assignation d'un grand nombre de contrôleurs du pupitre et de les modifier rapidement et simultanément. De plus, I'invention apporte la possibilité de sauvegarder dans des fichiers les assignations définies par l'utilisateur. Cela évite à ce dernier de redéfinir avant chaque composition ou interprétation ses assignations et permet aussi de proposer des fichiers d'assignations types correspondant à des machines MIDI matérielles du marché. -5- Au delà de l'utilisation musicale du dispositif, si des systèmes externes (14) reliés à l'ordinateur personnel par un port (17) sont commandables par le logiciel client (1) et que celui-ci permet l'assignation de leurs paramètres par la norme MIDI, alors ces paramètres peuvent être contrôlés par le pupitre de commande (8). Comme détaillé par la suite, I'invention améliore la qualité des messages par une utilisation possible de messages MIDI SYSEX (SYStem EXclusif). Ceux-ci permettent l'exploitation de plages de valeurs plus grande que celle d'un contrôleur MIDI classique (0 à 127). La génération de messages SYSEX propres à des constructeurs de machines MIDI I0 matérielles fait partie de l'invention et permet à l'utilisateur d'envoyer des commandes spécifiques à un matériel. Description de la partie matérielle de l'innovation: Ce périphérique externe a de part sa conception l'avantage d'offrir une souplesse dans la définition de sa forme et de son design. Il est ainsi possible de fabriquer des modèles sous forme de table inclinée ou de rack. La différence vient du fait qu'au format rack les potentiomètres et interrupteurs sont manipulables sur une façade verticale. Mais, I'invention ne s'arrête pas à pouvoir choisir un contrôleur entre un potentiomètre rotatif ou un potentiomètre linéaire, elle permet de remplacer un potentiomètre par plusieurs interrupteurs sans remise en cause de la conception du circuit électronique de traitement. La logique de commande du circuit électronique de traitement est simple et autorise la fabrication de pupitres modulaires (qu'il est possible de chaîner entre eux). Cela permet de fabriquer des pupitres à des coûts différents suivant le nombre de contrôleurs dont ils disposent. Il est aussi possible d'imaginer que l'utilisateur puisse définir lui-même le design de son pupitre et ainsi passer commande. Le circuit électronique de traitement est simple à réaliser et peu coûteux. Il repose essentiellement sur l'utilisation de convertisseurs analogique / numérique série dont le contrôle est dans sa version port parallèle complètement assuré par la partie logicielle qui génère même les différents signaux d'horloge. Les convertisseurs choisis font partie d'une famille complète de convertisseurs analogique / numérique série dont le nombre -6- d'entrées varie, existant en 8 bits et 12 bits, leur logique de contrôle restant la même. La technique utilisée est celle de mettre sur chaque entrée des différents convertisseurs (jusqu'à 8 convertisseurs possibles dans le cas o le port de connexion utilisé est le port parallèle) la sortie d'un diviseur de tension pour un contrôleur de type potentiomètre ou la sortie d'un montage R/2R avec additionneur pour x contrôleurs de type interrupteur. Cette technique permet d'utiliser des potentiomètres sans se soucier de leur résistance ohmique propre, elle permet aussi très simplement de remplacer un potentiomètre sur le pupitre par x interrupteurs jusqu'à un nombre maximum égal au nombre de bits du convertisseur utilisé. L'utilisation de ces convertisseurs série permet de bénéficier d'un grand nombre d'entrées analogiques mais entraîne des contraintes vis à vis de la lecture d'une de ces entrées. Le procédé choisi est de lire, en continu et en parallèle sur les x convertisseurs présents sur le modèle de pupitre, les entrées de la première à la dernière les unes après les autres suivant le temps de conversion / acquisition de données. Cela permet de récupérer 8 valeurs d'un coup sur le modèle de pupitre connecté par le port parallèle (utilisation de tout le bus de données) et équipé de 8 convertisseurs mais ces entrées lues ne pourront l'être à nouveau qu'après un certain nombre de lectures des autres entrées dépendant de leur nombre. Par exemple, si le pupitre est équipé de 8 convertisseurs analogique / numérique série de 12 bits ayant chacun 11 entrées analogiques, la lecture des entrées 0 de chaque convertisseur se fera toutes les 11 périodes de conversion / acquisition de données. La liaison entre l'ordinateur et le pupitre dépend du type de port de connexion utilisé par la version du pupitre et se fait avec des câbles standard du marché (câble parallèle, câble USB, etc.). Le périphérique matériel n'a besoin que de très peu de courant et est alimenté sous une tension continue comprise entre 12 Volts et 15 Volts régulée à 5 Volts. L'utilisation d'une alimentation du marché de 300 mA ou 500 mA suffit à son fonctionnement. Le choix d'une alimentation externe au boîtier principal ou interne (version rack par exemple) est à envisager. Il est important de souligner la simplicité de l'électronique mise en jeu: le coût de revient de la table repose essentiellement sur le prix investi dans les contrôleurs que -7 - sont les potentiomètres rotatifs et linéaires (toucher, robustesse, précision). C'est là que l'innovation est intéressante puisque qu'il n'y a aucune électronique chargée de générer directement des messages respectant la norme MIDI. C'est le logiciel de l'invention qui s'occupe de lire et traduire les valeurs numériques du périphérique. Ceci diminue beaucoup le prix aussi bien en terme de conception, en terme de maintenance qu'en terme d'évolution par rapport aux tables de contrôleurs MIDI exclusivement matérielles. La norme MIDI est reconnue à travers le monde et obtient la faveur de beaucoup d'applications musicales. De plus, des applications clientes non musicales (PAO, infographie, de contrôle d'automates, etc.) exploitent déjà ou pourront facilement exploiter la norme MIDI. Fonctionnement du logiciel: Après son lancement par l'utilisateur, le logiciel reconnaît lui même le type du ou des pupitre(s) connecté(s) à l'ordinateur et propose alors une liste de modèles différents à lI'utilisateur. La reconnaissance du type de(s) pupitre(s) se fait par lecture sur le port de connexion afin de déterminer le nombre de convertisseurs analogiques numériques présents et du nombre d'entrées dont ils disposent (de contrôleurs physiques). Cette étape de reconnaissance du matériel passée, le logiciel offre à l'utilisateur un écran principal pourvu d'un menu, d'une barre d'icônes reprenant les fonctionnalités les plus usuelles accessibles par le menu, de cases à cocher et de boutons. La fonctionnalité suivante et qui est sans nul doute la principale dans l'utilisation de l'invention concerne la configuration des contrôleurs. On retrouve parmi ces derniers les contrôleurs physiques du pupitre mais la partie logicielle de l'invention autorise la création de nouveaux contrôleurs dits contrôleurs virtuels et contrôleurs relais. La configuration des contrôleurs est l'ensemble des informations associées à chacun des contrôleurs. L'utilisateur peut disposer de configurations prédéfinies, modifier, charger et sauvegarder celles-ci. Dans une configuration, I'utilisateur sélectionne les contrôleurs physiques dont il souhaite se servir. L'utilisateur assigne pour chaque contrôleur un numéro de contrôleur MIDI (0 à 127), un numéro de canal MIDI (0 à 15), un périphérique de sortie MIDI (matériel ou logiciel). L'utilisateur précise aussi s'il veut restreindre la plage de valeur de 0 à 127 pour être conforme à la norme MIDI ou s'il souhaite une plage de valeurs plus étendue. Dans ce cas, le message envoyé sera un message MIDI SYSEX (SYStem EXclusif) -8- avec une identification constructeur propre et une trame de données spécifiques qui devra pouvoir être interprétée par le client destinataire du message. La plage de valeur sera fonction du type de convertisseur choisi et de la fonction de transformation appliquée pour chaque contrôleur. Enfin, I'utilisateur peut générer des messages MIDI SYSEX propres à d'autres constructeurs de périphériques MIDI ce qui leur permet d'associer par exemple un interrupteur du pupitre à une commande bien spécifique d'un appareil. Il définit alors toute la trame des valeurs envoyées dans le message dont peut faire partie la valeur du contrôleur. L'utilisateur a aussi la possibilité de calibrer un contrôleur physique, de choisir une plage de valeurs (valeurs minimale et maximale) et d'appliquer une fonction de transformation (existante ou propre à l'utilisateur). Les fonctions de transformation peuvent être par exemple des fonctions de type logarithmique ou logarithmique inverse permettant de transformer un contrôleur physique linéaire en un contrôleur virtuel logarithmique ou le contraire. Les contrôleurs virtuels ont la particularité de pouvoir dépendre d'une source de valeurs. La source peut être un contrôleur physique ou un autre contrôleur virtuel. Ainsi, un contrôleur virtuel peut prendre la valeur à un instant t d'un contrôleur physique à laquelle une fonction de transformation est appliquée. De plus, la source d'un contrôleur virtuel peut être un programme de valeur permettant de lui affecter une certaine valeur en fonction du temps. Il est ainsi possible, à un moment précis (par exemple réglé sur une alarme), de lancer des programmations sur des contrôleurs virtuels qui auront pour actions, par exemple, d'ouvrir les stores (logiciel domotique pilotant une carte d'extension sur laquelle est branché un moteur pas à pas) et de diminuer progressivement le volume d'un morceau de musique en lecture (logiciel de MAO). La partie logicielle de l'invention permet d'utiliser un réseau de type intranet ou internet pour échanger des informations sur les contrôleurs d'un pupitre. Dans ce cas, la partie logicielle de l'invention doit être lancée soit en mode serveur, soit en mode client d'un serveur. En mode serveur, la partie logicielle de l'invention est configurée pour envoyer les messages MIDI à un ou plusieurs clients via le réseau en utilisant soit le protocole TCP/IP soit UDP (qui offre un meilleur débit mais avec des pertes possibles de messages). Les parties logicielles de l'invention placées en mode client sont, elles, configurées pour recevoir les informations venant du réseau en les associant à des -9- contrôleurs relais. Ces contrôleurs relais sont créés et configurés de manière équivalente à celle des contrôleurs physiques ou virtuels avec néanmoins la nécessité d'indiquer pour chacun d'eux la source des valeurs à prendre en compte. Cette source est un contrôleur virtuel ou physique distant configuré au niveau de la partie logicielle du serveur. Indiquer la source revient à donner l'identité de ce contrôleur physique ou virtuel du serveur (n contrôleur MIDI, n canal MIDI). Les différents domaines d'exploitation de l'ensemble logiciel et matériel de l'invention sont variés. Tout d'abord, pour ses possibilités de contrôle de machines MIDI matérielles d'un studio, elle s'adresse aux musiciens disposant d'un ordinateur et c'est souvent le cas, car la musique est de plus en plus assistée par ordinateur. Ensuite, pour ses possibilités de contrôle d'applications clientes logicielles, i5 l'invention s'adresse aux utilisateurs de l'informatique audiovisuelle en général. Pour des logiciels musicaux (synthèse sonore temps réel, composition de séquences, échantillonneurs, etc.), le contrôle simultané et regroupé sur un seul et même pupitre de nombreux paramètres peut augmenter l'interactivité donc la productivité. Pour des logiciels de lecture d'échantillons compressés (format MP3 par exemple), l'utilisateur de l'invention peut assigner différentes voies aux contrôleurs et un égaliseur en fréquences pour chacune d'elles par exemple et peut ainsi mixer ces morceaux de musique comme il le ferait avec une table de mixage audio classique (de Disc Jockey). Dans le domaine du visuel, I'invention peut contrôler des paramètres d'infographie, de synthèse 3D, de montage vidéo ou cinématographique, de publication assistée par ordinateur, etc. De même, les modifications en temps réel de paramètres lumineux liés à la musique sont de plus en plus utilisées par les Visual Jockey, qui peuvent avec l'invention gagner en facilité de contrôle en temps réel des paramètres qu'ils veulent faire varier. Enfin, si les applications clientes de l'invention permettent un contrôle de systèmes matériels externes à l'ordinateur (domotique, automates, robots, etc.) et exploitent la norme MIDI, l'invention permet le contrôle simultané et regroupé sur un seul et même pupitre de nombreux paramètres de différentes natures. En effet, le contrôle de tout appareil électronique ménager ou autre tend à s'intégrer à l'ordinateur, et la norme MIDI peut être choisie pour les contrôler. - 10- REVENDICATIONS 1) Dispositif pour contrôler manuellement en temps réel des paramètres d'applications logicielles (1) caractérisé en ce qu'il comprend une partie matérielle (8) composée de potentiomètres (linéaires ou rotatifs) et / ou d'interrupteurs et une partie logicielle (9) configurable générant des messages conformes à la norme MIDI (Musical Instrument Digital Interface); ces deux parties étant reliées par un port de connexion (13) d'un ordinateur personnel (12). o 2) Dispositif selon la revendication 1 caractérisé en ce qu'il utilise un périphérique (11) MIDI matériel (de sortie) de type carte son de l'ordinateur personnel pour contrôler des machines MIDI matérielles (15). 3) Dispositif selon la revendication I caractérisé en ce que le port de connexion (13) est le port parallèle de l'ordinateur personnel (12). 4) Procédé de contrôle basé sur le dispositif selon les revendications I ou 3 de paramètres d'applications logicielles capables d'exploiter la norme MIDI caractérisé en ce qu'il comprend des étapes de configuration / assignations, d'acquisition de données, de transformation de données, et de génération de messages exploitant la norme MIDI. ) Procédé de contrôle basé sur le dispositif selon les revendications 2 ou 3 de paramètres de machines matérielles capables d'exploiter la norme MIDI caractérisé en ce qu'il comprend des étapes de configuration / assignations, d'acquisition de données, de transformation de données, et de génération de messages exploitant la norme MIDI. 6) Procédé selon la revendication 4 ou 5 caractérisé en ce que l'on crée des contrôleurs dits virtuels dont les valeurs dépendent soit de valeurs programmées, soit des valeurs d'un autre contrôleur (physique ou virtuel) auxquelles sont appliquées des fonctions de transformations (prédéfinies ou personnalisées). 7) Procédé selon la revendication 4,5 ou 6 caractérisé en ce que l'on crée des contrôleurs dits relais permettant d'appliquer des fonctions de transformations (prédéfinies ou personnalisées) à des valeurs de contrôleurs distants transmises par le biais d'un réseau intranet ou internet. -l - 8) Procédé selon la revendication 4 ou 7 caractérisé en ce que l'on contrôle des systèmes externes matériels quelconques (14) par l'intermédiaire d'applications clientes (1) capables de commander ceux-ci et d'exploiter la norme MIDI.