FR 2942344 A1 20100820 FR 0950919 A 20090213 DISPOSITIF ET PROCEDE DE CONTROLE DU DEFILEMENT D'UN FICHIER DE SIGNAUX A REPRODUIRE L'invention concerne le contrôle du défilement d'un fichier audio en temps réel. Des dispositifs électroniques de synthèse musicale permettent de jouer un ou plusieurs instruments synthétiques (réalisés à partir de modèles acoustiques ou d'échantillons de sons de piano, guitare, autres instruments à cordes, saxophone ou autres instruments à vent, etc....) en utilisant une interface d'entrée de notes. Les notes entrées sont converties en signaux par un dispositif de synthèse connecté à l'interface par un connecteur et une interface logicielle utilisant le standard MIDI (Musical Instrument Digital Interface). Une programmation automatique du ou des instruments permettant de générer des séries de notes correspondant à une partition peut être effectuée en utilisant un logiciel prévu à cet effet. Parmi ceux-ci, le logiciel de programmation MAXIMSP est un des plus répandus et permet de créer une telle application d'interprétation de partitions musicales. Une telle application comprend une interface de programmation graphique qui permet de choisir et contrôler des séquences de notes et de piloter le DSP (Digital Signal Processor) de synthèse musicale. Dans ces dispositifs, il est possible de combiner une partition pilotée par l'interface qui commande un des instruments avec la partition d'autres instruments qui est jouée de manière automatique. Plutôt que de contrôler des instruments synthétiques par une interface de type MIDI, on peut souhaiter contrôler directement un enregistrement audio, le contrôle permettant par exemple d'agir sur le vitesse et/ou le volume de lecture du fichier. Pour assurer une synchronisation musicale du fichier qui est joué avec les données de jeu de l'interprète délivrées par l'interface MIDI, il serait particulièrement utile de pouvoir contrôler le rythme de déroulement de la partition jouée de manière automatique. Les dispositifs existant ne permettent pas de réaliser ce contrôle de rythme de défilement des différents types de fichiers audio utilisés (MP3 û MPEG (Moving Picture Expert Group) 1/2 Layer 3, WAV û WAVeform audio format, WMA û Windows Media Audio...) pour reproduire sur un équipement électronique de la musique préenregistrée. Aucun dispositif de l'art antérieur ne permet d'effectuer ce contrôle en temps réel dans des conditions de musicalité qui soient acceptables. La présente invention apporte une réponse à ces limitations de l'art antérieur en utilisant une algorithmie de contrôle du défilement de la partition automatique qui permet d'assurer un rendu musical satisfaisant. A cet effet, la présente invention divulgue un dispositif de contrôle par un utilisateur du rythme de défilement d'un fichier préenregistré de signaux à reproduire comprenant un premier module d'interface d'entrée de frappes de contrôle, un deuxième module d'entrée des dits signaux à reproduire, un troisième module de contrôle temporel des dits signaux préenregistrés et un dispositif de reproduction des entrées des trois premiers modules, ledit dispositif de contrôle étant caractérisé en ce que ledit deuxième module est apte à être programmé pour déterminer les temps où sont attendues des frappes de contrôle du rythme de défilement du fichier, et en ce que ledit troisième module (30) est apte à calculer pour un certain nombre de frappes 15 de contrôle un facteur de vitesse relative des frappes préprogrammées dans le deuxième module et des frappes effectivement entrées dans le premier module et à ajuster le rythme de défilement dudit deuxième module pour ajuster ledit facteur de vitesse aux frappes suivantes à une valeur choisie. 20 Avantageusement, le premier module comprend une interface MIDI. Avantageusement, le premier module comprend un sous module de capture de mouvement et un sous module d'analyse et d'interprétation de gestes recevant en entrée les sorties du sous module de capture de mouvement. Avantageusement, le sous module de capture de mouvement comprend au 25 moins un premier capteur de type accéléromètre et un deuxième capteur choisi dans le groupe des capteurs de types magnétomètre et gyromètre. Avantageusement, le sous module d'analyse et d'interprétation de gestes comprend au moins un couple de deux filtres récursifs passe-bas successifs apte à recevoir en entrée au moins un des signaux en sortie du sous module 30 de capture de mouvement, une fonction de détection de geste significatif et une fonction de confirmation de détection de geste significatif par comparaison de la variation entre deux valeurs successives dans l'échantillon d'au moins un des signaux en provenance du sous module de capture de mouvement avec au moins une valeur de seuil choisie. Avantageusement, le premier module comprend une interface de capture de signaux neuronaux du cerveau de l'utilisateur et un sous module d'interprétation des dits signaux neuronaux. Avantageusement, le premier module comprend en outre un sous module de 5 calcul de la vélocité de la frappe dont la sortie est utilisée par le troisième module pour contrôler le volume de la sortie audio. Avantageusement, la vélocité de la frappe est calculée à partir de la déviation du signal en sortie du deuxième capteur. Avantageusement, le premier module comprend en outre un sous module 10 apte à interpréter des gestes de l'utilisateur dont la sortie est utilisée par le troisième module pour contrôler une caractéristique de la sortie audio choisie dans le groupe constitué par le vibrato et le tremolo. Avantageusement, le deuxième module comprend un sous module de placement de tags dans le fichier de signaux préenregistrés à reproduire aux 15 temps où sont attendues des frappes de contrôle du rythme de défilement du fichier, les dits tags étant générés de manière automatique en fonction du rythme des signaux préenregistrés et pouvant être déplacés par une interface MIDI. Avantageusement, la valeur choisie dans le troisième module pour ajuster la 20 vitesse de défilement du deuxième module est égale à une valeur choisie dans un ensemble de valeurs calculées dont une des bornes est calculée par application d'un facteur de vitesse SF égal au rapport de l'intervalle de temps entre le tag courant et le tag précédent à l'intervalle de temps entre la frappe courante et la frappe précédente et dont les autres valeurs sont calculées par 25 interpolation linéaire entre la valeur courante et la valeur correspondant à celle de la borne utilisée pour l'application du facteur de vitesse SF. Avantageusement, la valeur choisie dans le troisième module pour ajuster la vitesse de défilement du deuxième module est égale à une valeur choisie dans un ensemble de valeurs calculées dont une des bornes est calculée par 30 application d'un facteur de vitesse CSF égal au rapport de l'intervalle de temps entre le tag suivant et le tag précédent diminué de l'intervalle de temps entre la frappe courante et la frappe précédente à l'intervalle de temps entre la frappe courante et la frappe précédente et dont les autres valeurs sont calculées par interpolation linéaire entre la valeur courante et la valeur correspondant à celle de la borne utilisée pour l'application du facteur de vitesse CSF. Avantageusement, la valeur choisie dans le troisième module pour ajuster la vitesse de défilement du deuxième module est égale à la valeur correspondant à celle de la borne utilisée pour l'application du facteur de vitesse SF, CSF. L'invention divulgue également un procédé de contrôle par un utilisateur du rythme de défilement d'un fichier préenregistré de signaux à reproduire comprenant une première étape d'interface d'entrée de frappes de contrôle, une deuxième étape d'entrée des dits signaux à reproduire, une troisième étape de contrôle temporel des dits signaux préenregistrés et une étape de reproduction des entrées des trois premières étape, ledit procédé de contrôle étant caractérisé en ce que la dite deuxième étape est apte à être programmée pour déterminer les temps où sont attendues des frappes de contrôle du rythme de défilement du fichier, et en ce que la dite troisième étape est apte à calculer pour un certain nombre de frappes de contrôle un facteur de vitesse (SF, CSF) relative des frappes préprogrammées dans la deuxième étape et des frappes effectivement entrées dans la première étape et à ajuster le rythme de défilement dans la dite deuxième étape pour ajuster ledit facteur de vitesse (SF, CSF) aux frappes suivantes à une valeur choisie. Un autre avantage de l'invention est qu'elle permet de réaliser le contrôle du défilement des fichiers audio préenregistrés de manière intuitive. De nouveaux algorithmes de contrôle du défilement pourront également être intégrés de manière facile dans le dispositif de l'invention. Le contrôle de la puissance sonore des fichiers audio préenregistrés peut être également effectué de manière simple par le dispositif de l'invention. L'invention sera mieux comprise, ses différentes caractéristiques et avantages ressortiront de la description qui suit de plusieurs exemples de réalisation et de ses figures annexées dont Les figures 1A, 1 B et 1C représentent de manière simplifiée une architecture fonctionnelle d'un dispositif de contrôle de la vitesse de défilement d'un fichier audio préenregistré selon trois modes de réalisation de l'invention ; La figure 2 représente l'organigramme d'un filtrage passe-bas des signaux d'un capteur de mouvement dans un des modes de réalisation de l'invention tel que représenté sur la figure 1 B; Les figures 3A et 3B représentent deux cas de mise en oeuvre de l'invention où respectivement la vitesse de frappe est plus élevée/moins élevée que celle de défilement de la bande audio ; La figure 4 représente un organigramme des traitements de la fonction ~o de mesure de la vélocité de la frappe dans un mode de réalisation de l'invention ; La figure 5 représente un organigramme général des traitements dans un mode de réalisation de l'invention; La figure 6 représente un détail de la figure 5 qui montre les points de 15 contrôle rythmiques souhaités par un utilisateur d'un dispositif selon un mode de réalisation de l'invention ; La figure 7 représente un organigramme développé d'un procédé de contrôle temporel dans un mode de réalisation de l'invention. 20 Les figures 1A, 1B et 1C représentent trois modes de réalisation de l'invention qui ne diffèrent que par le module 10 d'interface d'entrée de frappes de contrôle. Les caractéristiques du module 20, d'entrée des signaux à reproduire, du module 30 de contrôle du rythme temporel et du module 40 de sortie audio sont décrites plus loin. On commence par décrire les 25 différents modes de réalisation du module 10 d'interface d'entrée de frappes de contrôle. Au moins trois modules d'interface d'entrée sont possibles. Ils sont respectivement représentés sur les figures 1A, 1B et 1C. Chaque module d'entrée comprend un sous module 110 qui capture des commandes 30 d'interaction avec le dispositif et une partie qui réalise l'entrée et la traduction de ces commandes dans le dispositif. Sur la figure 1A est représenté un module d'entrée 10A de type MIDI. Les contrôleurs MIDI 110A sont des surfaces de contrôles pouvant posséder des touches, des faders (potentiomètres linéaires permettant de régler le niveau 35 des sources sonores, des pads (surfaces tactiles) ou des boutons rotatifs. Ces contrôleurs ne sont pas des périphériques de gestion du son ou de restitution ; ils ne produisent que des données MIDI. D'autres types de surfaces de contrôles sont utilisables, par exemple une harpe, une guitare ou un saxophone virtuels. Ces contrôleurs peuvent avoir un écran de visualisation. Quels que soient les éléments qui composent la surface de contrôle, tous les boutons, curseurs, faders, touches, pads sont assignables à chaque élément de l'interface visuelle du logiciel grâce à des setups (fichiers de configuration). Les contrôles sonores peuvent également être couplés avec des contrôles de l'éclairage. Un contrôleur MIDI 110A est relié au processeur de contrôle temporel 30 par l'intermédiaire d'une interface dont la partie matérielle est un connecteur DIN à 5 broches. Plusieurs contrôleurs MIDI peuvent être reliés au même ordinateur en étant chaînés entre eux. Le lien de communication est établi à 31 250 bauds. La codification utilise 128 valeurs tonales (de 0 à 127), les messages de notes s'étalant entre les fréquences de 8,175 Hz à 12544 Hz avec une résolution d'un demi ton. Sur la figure 1B, est représenté un ensemble de capture de mouvement 10B comprenant un capteur de mouvement 110E de type MotionPodTM de MoveaTM et une interface d'analyse de mouvement 120B. Une AirMouseTM ou une GyroMouseTM sont également utilisables à la place du MotionPod, ainsi que d'autres capteurs de mouvement. Un MotionPod comporte un accéléromètre tri axe, un magnétomètre tri axe, une capacité de prétraitement permettant de préformer des signaux à partir des capteurs, un module de transmission radiofréquence des dits signaux au module de traitement lui-même et une batterie. Ce capteur de mouvement est dit � 3A3M � (trois axes d'accéléromètre et trois axes de magnétomètre). Les accéléromètres et magnétomètres sont des micro capteurs du commerce de faible encombrement, de faible consommation et à bas coût, par exemple un accéléromètre trois voies de la société KionixTM (KXPA4 3628) et des magnétomètres d'HoneyWelITM de type HMC1041Z (1 voie verticale) et HMC1042L pour les 2 voies horizontales. D'autres fournisseurs existent : MemsicTM ou Asahi KaseiTM pour les magnétomètres et STMTM, FreescaleTM, Analog DeviceTM pour les accéléromètres, pour ne citer que ceux là. Dans le MotionPod, pour les 6 voies signal, il n'y a qu'un filtrage analogique et ensuite, après conversion analogique numérique (12 bits), les signaux bruts sont transmis par un protocole radiofréquence dans la bande BluetoothTM (2,4GHz) optimisé pour la consommation dans ce type d'applications. Les données arrivent donc brutes à un contrôleur qui peut recevoir les données d'un ensemble de capteurs. Elles sont lues par le contrôleur et mises a disposition des logiciels. La cadence d'échantillonnage est réglable. Par défaut, elle est fixée à 200 Hz. Des valeurs plus élevées (jusqu'à 3000 Hz, voire plus) peuvent néanmoins être envisagées, permettant une plus grande précision dans la détection de chocs par exemple. Le protocole radiofréquence du MotionPod permet de garantir la mise a disposition de la donnée au contrôleur avec un retard contrôlé, qui ne doit pas dépasser ici 10ms (à 200 Hz), ce qui est important pour la musique. Un accéléromètre du type ci-dessus permet de mesurer les déplacements longitudinaux selon ses trois axes et, par transformation, des déplacements angulaires (sauf ceux résultant d'une rotation autour de la direction du champ de gravitation terrestre) et des orientations par rapport à un référentiel cartésien en trois dimensions. Un ensemble de magnétomètres du type ci-dessus permet de mesurer l'orientation du capteur auquel il est fixé par rapport au champ magnétique terrestre et donc des déplacements et des orientations par rapport aux trois axes du référentiel (sauf autour de la direction du champ magnétique terrestre). La combinaison 3A3M fournit des informations de mouvement complémentaires et lissées. La AirMouse comprend deux capteurs de type gyromètre, chacun à un axe de rotation. Les gyromètres utilisés sont de la marque Epson de référence XV3500. Leurs axes sont orthogonaux et délivrent les angles de tangage (yaw ou rotation autour de l'axe parallèle à l'axe horizontal d'un plan situé face à l'utilisateur de la AirMouse) et de lacet (pitch ou rotation autour d'un axe parallèle à l'axe vertical d'un plan situé face à l'utilisateur de la AirMouse). Les vitesses instantanées de pitch et de yaw mesurées par les deux axes gyromètres sont transmises par protocole radiofréquence à un contrôleur en mouvement d'un curseur dans un écran situé face à l'utilisateur. Le module d'analyse et d'interprétation de gestes 120B fournit des signaux directement exploitables par le processeur de contrôle temporel 30. Par exemple, les signaux selon un axe de l'accéléromètre et du magnétomètre du MotionPod sont combinés selon le procédé décrit dans la demande de brevet déposée par les présents demandeurs dans la demande de brevet ayant pour titre � DISPOSITIF ET PROCEDE D'INTERPRETATION DE GESTES MUSICAUX �. Les traitements mis en oeuvre dans le module 120B sont effectués de manière logicielle. Les traitements comprennent tout d'abord un filtrage passe-bas des sorties des capteurs des deux modalités (accéléromètre et magnétomètre) dont le 10 fonctionnement détaillé est explicité par la figure 2. Ce filtrage des signaux en sortie du contrôleur des capteurs de mouvement utilise une approche récursive d'ordre 1. Le gain du filtre peut par exemple être fixé à 0,3. Dans ce cas, l'équation du filtre est, donnée par la formule suivante : 15 Output(z(n))=0.3*Input(z(n-1)) + 0.7*Output(z(n-1)) Où, pour chacune des modalités : z est la lecture de la modalité sur l'axe du capteur qui est utilisé ; n est la lecture de l'échantillon courant ; n-1 est la lecture de l'échantillon précédent. 20 Le traitement comporte ensuite un filtrage passe-bas des deux modalités avec une fréquence de coupure inférieure à celle du premier filtre Cette fréquence de coupure inférieur résulte du choix d'un coefficient du deuxième filtre inférieur au gain du premier filtre. Dans le cas choisi dans l'exemple ci- 25 dessus où le coefficient du premier filtre est de 0,3, le coefficient du deuxième filtre peut être fixé à 0,1. L'équation du deuxième filtre est alors (avec les mêmes notations que ci-dessus) : Output(z(n))=0.1 *Input(z(n-1)) + 0.9*Output(z(n-1)) 30 Ensuite, le traitement comporte une détection d'un zéro de la dérivée du signal en sortie de l'accéléromètre avec la mesure du signal en sortie du magnétomètre. On pose les notations suivantes : A(n) le signal en sortie de l'accéléromètre dans l'échantillon n ; AF1(n) le signal de l'accéléromètre en sortie du premier filtre récursif dans l'échantillon n ; - AF2(n) le signal AF1 filtré à nouveau par le deuxième filtre récursif dans l'échantillon n ; B(n) le signal du magnétomètre dans l'échantillon n ;. BF1(n) le signal du magnétomètre en sortie du premier filtre récursif dans l'échantillon n ; BF2(n) le signal BF1 filtré à nouveau par le deuxième filtre récursif dans l'échantillon n. Alors, l'équation suivante permet de calculer une dérivée filtrée du signal de l'accéléromètre dans l'échantillon n: FDA(n) = AF1(n) û AF2(n-1) Un signe négatif du produit FDA(n) * FDA(n-1) indique un zéro de la dérivée du signal filtré de l'accéléromètre et détecte donc une frappe. Pour chacun de ces zéros du signal filtré de l'accéléromètre, le module de traitement vérifie l'intensité de la déviation de l'autre modalité en sortie filtrée du magnétomètre. Si cette valeur est trop faible, la frappe est considérée non comme une frappe primaire mais comme une frappe secondaire ou ternaire et écartée. Le seuil permettant d'écarter les frappes non primaires dépend de l'amplitude attendue de la déviation du magnétomètre. Typiquement, cette valeur sera de l'ordre de 5/1000 dans les applications envisagées. Cette partie du traitement permet donc d'éliminer les frappes non significatives. La figure 1C comporte une interface 10C, 110C Cerveau -> Ordinateur ou � Brain Computer Interface �. Ces interfaces sont encore au stade de la recherche avancée mais offrent des possibilités prometteuses, notamment dans le domaine de l'interprétation musicale. Les signaux neuronaux sont fournis à une interface d'interprétation 120C qui convertit ces signaux en commandes pour le processeur de contrôle temporel 30. De tels dispositifs neuronaux fonctionnent par exemple de la manière suivante. On dispose sur le cuir chevelu de la personne un réseau de capteurs de l'activité électrique et/ou magnétique résultant de l'activité neuronale du sujet. A ce jour, on ne dispose pas encore de modèles scientifiques permettant à partir de ces signaux de retrouver l'intention du sujet, par exemple dans notre cas de battre la mesure dans un contexte musical. Par contre, on a pu montrer qu'en plaçant le sujet dans une boucle l'associant au dispositif de capteurs et à un feedback sensoriel, ledit sujet est capable d'apprendre à diriger sa pensée de sorte que l'effet produit soit celui qu'il désire. Par exemple, le sujet voit sur un écran un pointeur de souris, dont les mouvements résultent d'une analyse des signaux électriques (par exemple activité électrique plus importante dans telle zone du cerveau se traduisant par des sorites électriques plus élevées de certains des capteurs d'activité). Avec un certain entraînement grâce à une procédure de type apprentissage, il obtient un certain contrôle du curseur en dirigeant sa pensée. Les mécanismes précis ne sont pas scientifiquement connus, mais une certaine répétabilité des processus est aujourd'hui admise, permettant d'envisager que la capture de certaines intentions du sujet soit possible dans un avenir proche. Un fichier de musique préenregistré 20 à un des formats standards (MP3, 15 WAV, WMA, etc....) est prélevé sur une unité de stockage par un lecteur. A ce fichier est associé un autre fichier comportant des marques temporelles ou � tags � à des instants prédéterminés ; par exemple, la table ci-dessous indique neuf tags aux instants en millisecondes qui sont indiqués à côté de l'indice du tag après la virgule: 20 1, 0; 2, 335.411194; 3, 649.042419; 4, 904.593811; 5, 1160.145142; 6, 1462.1604; 7, 1740.943726; 8, 2054.574951; 9, 2356.59; 30 Les tags peuvent avantageusement être placés aux battements de même indice dans le morceau qui est joué. II n'y a cependant pas de contrainte sur le nombre de tags. Plusieurs techniques sont possibles pour placer des tags dans un morceau de musique pré enregistrée : De manière manuelle, en cherchant sur l'onde musicale le point correspondant à un rythme où un tag doit être placé ; c'est un processus possible mais fastidieux ; De manière semi-automatique, en écoutant le morceau de musique pré enregistrée et en pressant une touche de clavier d'ordinateur ou de clavier MIDI quand un rythme où un tag doit être placé est entendu ; De manière automatique, en utilisant un algorithme de détection des rythmes qui place les tags au bon endroit ; aujourd'hui, les algorithmes ne sont pas suffisamment fiables pour que le résultat 15 n'ait pas à être retouché en utilisant un des deux premiers processus mais on peut compléter cet automatisme par une phase manuelle de retouche du fichier des tags créés. Le module 20 d'entrée de signaux préenregistrés à reproduire peut traiter 20 différents types de fichiers audio, aux formats MP3, WAV, WMA. Le fichier peut également comprendre d'autres contenus multimédias qu'un simple enregistrement sonore. II peut s'agir par exemple de contenus vidéo, avec ou sans bande sonore, qui seront marqués par des tags et dont le défilement pourra être contrôlé par le module d'entrée 10. 25 Le processeur de contrôle temporel 30 réalise la synchronisation entre les signaux reçus du module d'entrée 10 et le morceau de musique pré enregistrée 20, d'une manière explicitée en commentaires aux figures 2A et 2B. La sortie audio 40 reproduit le morceau de musique pré enregistrée en provenance du module 20 avec les variations de rythme introduites par les commandes du module d'entrée 10 interprétée par le processeur de contrôle temporel 30. N'importe quel dispositif de reproduction sonore fait l'affaire, notamment des écouteurs, des haut-parleurs. Les figures 3A et 3B représentent deux cas de mise en oeuvre de l'invention 5 où respectivement la vitesse de frappe est plus élevée/moins élevée que celle de défilement de la bande audio. Lors de la première frappe entrée au clavier MIDI 110A, repérée par le capteur de mouvement 110B ou interprétée directement comme une pensée du cerveau 110C, le lecteur audio du module 20 démarre la lecture du morceau de musique pré enregistrée à un rythme donné. Ce rythme peut par exemple être indiqué par plusieurs petites frappes préalables. Chaque fois que le processeur de contrôle temporel reçoit un signal de frappe, la vitesse courante de jeu de l'utilisateur est calculée. Celle-ci peut par exemple être exprimée comme le facteur de vitesse SF(n) calculé comme le rapport 15 de l'intervalle de temps entre deux tags T successifs n et n+1 du morceau pré enregistré à l'intervalle de temps entre deux frappes H successives n et n+1 de l'utilisateur : SF(n) = [T(n+1) û T(n)]/[H(n+1) û H(n)] 20 Dans le cas de la figure 3A, le joueur accélère et prend de l'avance sur le morceau pré enregistré : une nouvelle frappe est reçue par le processeur avant que le lecteur audio ait atteint l'échantillon du morceau de musique où est placé le tag correspondant à cette frappe. Par exemple, dans le cas de la figure, le facteur de vitesse SF est de 4/3. A la lecture de cette valeur de SF, 25 le processeur de contrôle temporel fait sauter la lecture du fichier 20 à l'échantillon contenant la marque d'indice correspondant à la frappe. Une partie de la musique pré enregistrée est donc perdue, mais la qualité du rendu musical n'est pas trop perturbée car l'attention de ceux qui écoutent un morceau de musique se concentre généralement sur les éléments du rythme 30 principal et les tags seront normalement placés sur ces éléments du rythme principal. En outre, quand le lecteur saute au tag suivant, qui est un élément du rythme principal, l'auditeur qui attend cet élément, portera moins d'attention à l'absence de la partie du morceau pré enregistrée qui aura été sautée, ce saut passant ainsi quasiment inaperçu. La qualité de l'écoute peut 35 encore être accrue en opérant un lissage de la transition. Ce lissage peut par exemple être opéré en en interpolant quelques échantillons (une dizaine) entre avant et après le tag vers lequel on fait sauter le lecteur pour rattraper la vitesse de frappe du joueur. La lecture du morceau pré enregistrée continue à la nouvelle vitesse résultant de ce saut. Dans le cas de la figure 3B, le joueur ralentit et prend du retard sur le morceau de musique pré enregistrée : le lecteur audio atteint un point où une frappe est attendue avant que celle-ci ne soit effectuée par le joueur. Dans le contexte d'une écoute musicale, il n'est bien entendu pas possible d'arrêter le lecteur pour attendre la frappe. Donc, la lecture audio continue à la vitesse courante, jusqu'à ce que la frappe attendue soit reçue. C'est à ce moment que la vitesse du lecteur est changée. Une méthode fruste consiste à fixer la vitesse du lecteur en fonction du facteur de vitesse SF calculé au moment où la frappe est reçue. Cette méthode donne déjà des résultats qualitativement satisfaisants. Une méthode plus élaborée consiste à calculer une vitesse de lecture corrigée qui permette de synchroniser à nouveau le tempo de lecture sur le tempo du joueur. Trois positions des tags à l'instant n+2 (dans l'échelle de temps du fichier audio) avant changement de la vitesse du lecteur sont indiquées sur la figure 20 3B : la première en partant de la gauche T(n+2) est celle correspondant à la vitesse de défilement antérieure au ralentissement du joueur ; la deuxième, NT1(n+2), est le résultat du calcul consistant à 25 ajuster la vitesse de défilement du lecteur à la vitesse de frappe du joueur en utilisant le facteur de vitesse SF ; on voit que dans ce cas les tags restent en avance par rapport aux frappes ; la troisième, NT2(n+2), est le résultat d'un calcul où l'on utilise un facteur de vitesse corrigé CSF ; ce facteur corrigé est calculé 30 pour que les dates de la frappe et du tag suivants soient identiques, ce que l'on voit sur la figure 3B. CSF est le rapport de l'intervalle de temps de la frappe n+1 au tag n+2 rapporté à l'intervalle de temps de la frappe n+1 à la frappe n+2. Sa formule 35 de calcule est la suivante : CSF = {[T(n+2) û T(n)] û [H(n+1) û H(n)]l [H(n+1) û H(n)] Il est possible d'améliorer le rendu musical en lissant le profil du tempo du joueur. Pour cela, au lieu d'ajuster la vitesse de défilement du lecteur comme indiqué plus haut, on peut calculer une variation linéaire entre la valeur cible et la valeur de départ sur une durée relativement courte, par exemple 50 ms et faire passer la vitesse de défilement par ces différentes valeurs intermédiaires. Plus ce temps d'ajustement est long, plus la transition sera lissée. Cela permet un meilleur rendu, notamment lorsque de nombreuses notes sont jouées par le lecteur entre deux frappes. Mais le lissage se fait évidemment au détriment de la dynamique de la réponse musicale. Une autre amélioration, applicable au mode de réalisation comportant un ou plusieurs capteurs de mouvement, consiste à mesurer l'énergie de frappe du joueur ou vélocité pour contrôler le volume de la sortie audio. La manière dont la vélocité est mesurée est également divulguée dans la demande de brevet déposée par les présents demandeurs dans la demande de brevet ayant pour titre � DISPOSITIF ET PROCEDE D'INTERPRETATION DE GESTES MUSICAUX �. Cette partie du traitement effectuée par le module 120B d'analyse et 20 d'interprétation de gestes est représentée sur la figure 4. Pour toutes les frappes primaires détectées, le module de traitement calcule un signal de vélocité (ou volume) de la frappe en utilisant la déviation du signal filtré en sortie du magnétomètre. En utilisant les mêmes notations que ci-dessus en commentaire de la figure 25 2, on introduit la valeur DELTAB(n) dans l'échantillon n qui peut être considérée comme le signal pré filtré du magnétomètre centré et qui est calculée de la manière suivante : DELTAB(n) = BF1(n) û BF2(n) Les valeurs minimum et maximum de DELTAB(n) sont stockées entre deux 30 frappes primaires détectées. Une valeur acceptable VEL(n) de la vélocité d'une frappe primaire détectée dans un échantillon n est alors donnée par l'équation suivante : VEL(n) = Max {DELTAB(n), DELTAB(p)} û Min {DELTAB(n), DELTA(p)} Où p est l'indice de l'échantillon dans lequel a été détectée la frappe primaire 35 précédente. La vélocité est donc la course (différence Max-Min) de la dérivée du signal entre deux frappes primaires détectées, caractéristiques de gestes significatifs au plan musical. On peut également envisager, dans ce mode de réalisation comprenant plusieurs capteurs de mouvements, de contrôler par d'autres gestes d'autres paramètres musicaux comme l'origine spatiale du son (ou panning), le vibrato ou le tremolo. Par exemple, un capteur dans une main permettra de détecter la frappe alors qu'un autre capteur tenu dans l'autre main permettra de détecter l'origine spatiale du son ou le tremolo. Des rotations de la main peuvent également être prises en compte : quand la paume de la main est horizontale, on obtient une valeur de l'origine spatiale du son ou du tremolo ; quand la paume est verticale, on obtient une autre valeur du même paramètre ; dans les deux cas, les mouvements de la main dans l'espace fournissent la détection des frappes. Dans le cas où un clavier MIDI est utilisé, les contrôleurs classiquement 15 utilisés peuvent l'être également dans ce mode de réalisation de l'invention pour contrôler l'origine spatiale des sons, le tremolo ou le vibrato. L'invention peut être avantageusement mise en oeuvre en traitant les frappes par l'intermédiaire d'un programme MAXIMSP. 20 La figure 5 représente l'organigramme général des traitements dans un tel programme. Le display bleu montre la forme d'onde associée au morceau audio chargé dans le système. On trouve une partie classique permettant d'écouter le 25 morceau original. Se trouve en bas à gauche une partie, représentée sur la figure 6, permettant de créer un tableau contenant la liste des points de contrôle rythmiques souhaités par la personne : à l'écoute du morceau il tape sur une touche à chaque instant qu'il souhaite taper lors de l'interprétation ultérieure. 30 Alternativement ces instants peuvent être désignés par la souris sur la forme d'onde. Enfin, ils peuvent être édités. La figure 7 détaille la partie de la figure 5 se trouvant en bas à droite qui représente le contrôle temporel qui est appliqué. Dans la colonne de droite, on calcule le coefficient 35 d'accélération/ralentissement SF par comparaison entre la durée existant entre deux repères consécutifs d'une part dans le morceau original, d'autre part dans le jeu actuel de l'utilisateur. La formule de calcul de ce facteur de vitesse est donnée plus haut dans la description. Dans la colonne centrale, on met en place un timeout permettant d'arrêter le 5 défilement de l'audio si l'utilisateur n'a plus effectué de frappe pendant un temps dépendant du contenu musical en cours. Dans la colonne de gauche, se trouve le coeur du système de contrôle. Il repose sur un algorithme de compression/expansion temporel. La difficulté est de transformer un contrôle � discret � donc intervenant à des instants consécutifs, en une modulation régulière de la vitesse. A défaut, l'audition souffre d'une part d'interruptions totales du son (quand le joueur ralentit), d'autre part de clic et de sauts brusques quand il accélère. Ces défauts, qui rendent une telle approche non réaliste à cause d'une sortie audio inexploitable musicalement sont résolus dans la mise en oeuvre développée. 15 Elle consiste : à ne jamais stopper le défilement sonore même en cas de ralentissement substantiel de l'utilisateur. L'objet � if � de la colonne de gauche détecte si on est en phase de ralentissement ou d'accélération. En cas de ralentissement, on modifie la vitesse de 20 lecture de l'algorithme, mais on n'effectue aucun saut dans le fichier audio. La nouvelle vitesse de lecture n'est pas nécessairement exactement celle calculée dans la colonne de droite (SF), mais peut être corrigée (facteur de vitesse CSF) pour tenir compte du fait qu'on a déjà dépassé dans l'audio le repère correspondant à la dernière 25 action du joueur ; A effectuer un saut dans le fichier audio lors d'une accélération (seconde branche de l'objet � if �). Dans ce cas précis, cela a peu d'incidences subjectives sur l'audition, si les repères de contrôle correspondent à des instants musicaux suffisamment importants sur le 30 plan psycho acoustique (il y a ici un parallèle à effectuer avec la base de la compression MP3, qui code pauvrement les fréquences peu signifiantes, et richement les fréquences prépondérantes). II s'agit ici du domaine temporel macroscopique, certains instants dans l'écoute d'un morceau sont plus signifiants que d'autres, et c'est sur ces 35 instants qu'on souhaite pouvoir agir. Les exemples décrits ci-dessus sont donnés à titre d'illustration de modes de réalisation de l'invention. Ils ne limitent en aucune manière le champ de l'invention qui est défini par les revendications qui suivent.5 REVENDICATIONS1. Dispositif de contrôle par un utilisateur du rythme de défilement d'un fichier préenregistré de signaux à reproduire comprenant un premier module (10, 110A, 110B, 110C 120A, 120B, 120C), d'interface d'entrée de frappes de contrôle, un deuxième module (20), d'entrée des dits signaux à reproduire, un troisième module (30), de contrôle ~o temporel des dits signaux préenregistrés et un dispositif (40) de reproduction des entrées des trois premiers modules, ledit dispositif de contrôle étant caractérisé en ce que ledit deuxième module (20) est apte à être programmé pour déterminer les temps où sont attendues des frappes de contrôle du rythme de défilement du fichier, et en ce 15 que ledit troisième module (30) est apte à calculer pour un certain nombre de frappes de contrôle un facteur de vitesse (SF, CSF) relative des frappes préprogrammées dans le deuxième module et des frappes effectivement entrées dans le premier module et à ajuster le rythme de défilement dudit deuxième module pour ajuster ledit 20 facteur de vitesse (SF, CSF) aux frappes suivantes à une valeur choisie. 2. Dispositif de contrôle selon la revendication 1, caractérisé en ce que le premier module comprend une interface MIDI (110A, 120A). 3. Dispositif de contrôle selon la revendication 1, caractérisé en ce que le 25 premier module comprend un sous module de capture de mouvement (110B) et un sous module d'analyse et d'interprétation de gestes (120B) recevant en entrée les sorties du sous module (110B) de capture de mouvement. 4. Dispositif de contrôle selon la revendication 3, caractérisé en ce que le 30 sous module de capture de mouvement (1108) comprend au moins un premier capteur de type accéléromètre et un deuxième capteur choisi dans le groupe des capteurs de types magnétomètre et gyromètre. 5. Dispositif de contrôle selon la revendication 3 caractérisé en ce que le 35 sous module d'analyse et d'interprétation de gestes (120B) comprendau moins un couple de deux filtres récursifs passe-bas successifs apte à recevoir en entrée au moins un des signaux en sortie du sous module de capture de mouvement, une fonction de détection de geste significatif et une fonction de confirmation de détection de geste significatif par comparaison de la variation entre deux valeurs successives dans l'échantillon d'au moins un des signaux en provenance du sous module de capture de mouvement avec au moins une valeur de seuil choisie. 6. Dispositif de contrôle selon la revendication 1, caractérisé en ce que le premier module comprend une interface 110C de capture de signaux neuronaux du cerveau de l'utilisateur et un sous module 120C d'interprétation des dits signaux neuronaux. 7. Dispositif de contrôle selon la revendication 1, caractérisé en ce que le premier module comprend en outre un sous module de calcul de la vélocité de la frappe dont la sortie est utilisée par le troisième module pour contrôler le volume de la sortie audio. 8. Dispositif de contrôle selon la revendication 4 et la revendication 7, caractérisé en ce que la vélocité de la frappe est calculée à partir de la déviation du signal en sortie du deuxième capteur. 9. Dispositif de contrôle selon la revendication 1, caractérisé en ce que le premier module comprend en outre un sous module apte à interpréter des gestes de l'utilisateur dont la sortie est utilisée par le troisième module pour contrôler une caractéristique de la sortie audio choisie dans le groupe constitué par le vibrato et le tremolo. 10. Dispositif de contrôle selon la revendication 1, caractérisé en ce que le deuxième module comprend un sous module de placement de tags dans le fichier de signaux préenregistrés à reproduire aux temps où sont attendues des frappes de contrôle du rythme de défilement du fichier, les dits tags étant générés de manière automatique en fonction du rythme des signaux préenregistrés et pouvant être déplacés par une interface MIDI. 11. Dispositif de contrôle selon la revendication 10, caractérisé en ce que la valeur choisie dans le troisième module pour ajuster la vitesse de défilement du deuxième module est égale à une valeur choisie dans un ensemble de valeurs calculées dont une des bornes est calculéepar application d'un facteur de vitesse SF égal au rapport de l'intervalle de temps entre le tag courant et le tag précédent à l'intervalle de temps entre la frappe courante et la frappe précédente et dont les autres valeurs sont calculées par interpolation linéaire entre la valeur courante et la valeur correspondant à celle de la borne utilisée pour l'application du facteur de vitesse SF. 12. Dispositif de contrôle selon la revendication 10, caractérisé en ce que la valeur choisie dans le troisième module pour ajuster la vitesse de défilement du deuxième module est égale à une valeur choisie dans un ensemble de valeurs calculées dont une des bornes est calculée par application d'un facteur de vitesse CSF égal au rapport de I' intervalle de temps entre le tag suivant et le tag précédent diminué de l'intervalle de temps entre la frappe courante et la frappe précédente à l'intervalle de temps entre la frappe courante et la frappe précédente et dont les autres valeurs sont calculées par interpolation linéaire entre la valeur courante et la valeur correspondant à celle de la borne utilisée pour l'application du facteur de vitesse CSF. 13. Dispositif de contrôle selon la revendication 11 ou la revendication 12, caractérisé en ce que la valeur choisie dans le troisième module pour ajuster la vitesse de défilement du deuxième module est égale à la valeur correspondant à celle de la borne utilisée pour l'application du facteur de vitesse SF, CSF. 14. Procédé de contrôle par un utilisateur du rythme de défilement d'un fichier préenregistré de signaux à reproduire comprenant une première étape d'interface d'entrée de frappes de contrôle, une deuxième étape d'entrée des dits signaux à reproduire, une troisième étape de contrôle temporel des dits signaux préenregistrés et une étape de reproduction des entrées des trois premières étape, ledit procédé de contrôle étant caractérisé en ce que la dite deuxième étape est apte à être programmée pour déterminer les temps où sont attendues des frappes de contrôle du rythme de défilement du fichier, et en ce que la dite troisième étape est apte à calculer pour un certain nombre de frappes de contrôle un facteur de vitesse (SF, CSF) relative des frappes préprogrammées dans la deuxième étape et des frappes effectivement entrées dans la première étape et à ajuster lerythme de défilement dans la dite deuxième étape pour ajuster ledit facteur de vitesse (SF, CSF) aux frappes suivantes à une valeur choisie.