FR 2916566 A1 20081128 FR 0755244 A 20070524 L'invention concerne un système d'interprétation de musique préenregistrée assistée par ordinateur, du type comprenant essentiellement au moins un actionneur musical actionnable par un utilisateur interprète, des moyens de mémoire de stockage d'informations musicales relatives à la partition d'un morceau de musique à interpréter par l'utilisateur et des moyens de transmission des informations musicales à un dispositif électronique/informatique adapté pour produire des signaux audio à partir des informations musicales reçues. On sait que l'interprétation des morceaux de musique, par exemple du répertoire classique, exige une maîtrise que ne possède pas la majorité des personnes que aimeraient jouer ces morceaux. On connaît déjà des systèmes d'interprétation de musique, assistés par l'ordinateur du type énoncé plus haut, qui permettent à ces personnes interprètes insuffisamment qualifiées, d'aborder l'interprétation de morceaux de musique qui exige un haut niveau technique. Mais, les systèmes connus présentent l'inconvénient majeur de limiter les possibilités de personnaliser la musique lors de l'exécution d'un morceau de musique. On constate notamment que l'information musicale contrôlée par l'exécutant grâce à un actionneur est une information limitée de deux façons. Seul le déclenchement de notes musicales est prise en compte par le système d'assistance à l'interprétation, et de façon univoque pour chaque actionneur concerné. En fait, seule une note ou un groupe de notes peut être jouée à un instant donné. Cela n'autorise pas au sein du jeu sur l'actionneur donné, par exemple la zone de clavier associée à la mélodie élémentaire, la tenue de notes pendant que d'autres notes sont jouées, ce qui est pourtant une situation élémentaire. L'arrêt des notes par ailleurs ne bénéficie pas du contrôle nécessaire pour être effectué de façon parfaitement fidèle à la partition musicale. Par exemple, l'arrêt des notes est provoqué par un geste stop de l'exécutant. D'une part, cela n'autorise pas le jeu de notes imbriquées multiples telles que mentionnées ci-dessus, d'autre part, cela ne permet pas de confier le contrôle de l'arrêt de notes au système plutôt qu'à l'utilisateur. Par delà le déclenchement et l'arrêt des notes en elles-mêmes, l'interprétation d'un morceau requiert d'autres types d'information afin de magnifier l'interprétation. On pourrait citer à ce titre l'utilisation de la pédale de tenue sur les claviers, mais également des contrôles continus, par exemple la variation de volume d'un instrument à vent, l'apparition d'un vibrato au cours de la vie de la note jouée, l'évolution de timbre d'un instrument de la famille des cuivre depuis un son feutré vers un son brillant et riche. La prise en compte de ces évolutions sonores requiert un contrôle temporel continu à tout instant de tous ces paramètres, réactualisables à tout instant par l'exécutant en fonction de l'interprétation qu'il souhaite. Or, les systèmes connus ne sont pas capables de satisfaire à ces exigences. La présente invention a pour but de proposer un système d'interprétation de musique préenregistré assisté par ordinateur, qui pallie les inconvénients susmentionnés des systèmes de l'état de la technique. Pour atteindre ce but, le système selon l'invention est caractérisé en ce qu'il comprend une mémoire MM des données musicales, qui définissent la totalité des événements musicaux EM constituant le morceau de musique à interpréter. Selon une caractéristique de l'invention, le système est caractérisé en ce qu'il comprend une mémoire MA de la séquence des actions nécessaires pour la reproduction des événements musicaux EM stockés. Selon une autre caractéristique de l'invention, le système est caractérisé en ce que la mémoire MM est structurée de façon qu'à chaque événement musical EM à reproduire est associé un index temporel désignant le nombre de pas de résolution existant entre le début du morceau à reproduire et cet événement, à un index temporel pouvant être associés plusieurs événements musicaux EM. Selon encore une autre caractéristiques de l'invention, le système est caractérisé en ce que chaque événement musical est constitué par une série d'un nombre de valeurs numériques prédéterminées, relatives notamment l'affectation de l'événement EM à l'actionneur correspondant, à l'exécution de l'événement. Selon une caractéristique de l'invention, le système est caractérisé en ce que la mémoire MA contient, associée à des index temporels pour lesquels existe un événement musical EM, la liste des actions attendues de l'actionneur correspondant ainsi que la façon dont doit être traitée chacune de ces actions. Selon une autre caractéristique de l'invention, le système est caractérisé en ce que la mémoire MA contient le numéro de l'actionneur ayant produit l'action et le statut de l'action qui pourrait être une action de synchronisation AS ou non. Selon encore une autre caractéristique de l'invention, le système est caractérisé en ce que la mémoire MA comporte, associés à chaque index temporels pour lesquels existe un événement musical, pour chaque actionneur présent dans le système, l'instant de la prochaine action de synchronisation ainsi que l'information sur le statut de l'action attendue qui peut prendre trois valeurs respectivement représentatives de l'absence d'une action attendue, d'une action de synchronisation AS et d'une action non synchronisante. Selon une caractéristique de l'invention, le système est caractérisé en ce qu'il comprend, dans chaque piste dont fait partie un actionneur un générateur de séquence temporelle GST, qui est adapté pour vérifier si dans la mémoire MA une action est prévue et, dans l'affirmative, si cette action est une action simple ou une action synchronisante AS. Selon une autre caractéristique de l'invention, le système est caractérisé en ce que le générateur de séquence temporelle GST est adapté pour ignorer une action en provenance de l'actionneur si aucune action n'était attendue à cet instant selon la mémoire MA, ou, si une action non synchronisante est attendue, pour provoquer la lecture de l'événement musical dans la mémoire MM, et pour faire jouer l'événement par l'unité de synthèse audio AU ou, dans le cas où à cet instant une action de type de synchronisation AS est présente dans la mémoire MM pour déterminer par calcul la vitesse instantanée d'exécution du morceau par la personne interprète et le nombre de pas de résolution temporelle jusqu'à la prochaine action de synchronisation attendue selon la mémoire MA et la génération de la séquence rythmique d'index temporels à une cadence correspondant à la vitesse calculée. Selon encore une autre caractéristique de l'invention, le système est caractérisé en ce qu'il comprend un mécanisme de purge PU permettant à l'utilisateur de jouer certains événements musicaux EM de façon prioritaire dans le cas d'accélération importante de son jeu. Selon une caractéristique de l'invention, le système est caractérisé en ce que le mécanisme de purge est constitué d'une mémoire par piste contenant, à tout instant, les événements musicaux EM tels que des débuts de note ou l'enfoncement de pédale et, pour chaque note initiée ou pédale enfoncée l'index indiquant la fin prévue de cette note ou le relâchement de pédale. Selon une autre caractéristique de l'invention, le système est caractérisé en ce que lorsque la séquence d'index temporels parvient normalement à l'événement EM contenant l'arrêt d'une note stockée dans la mémoire de purge, cet événement EM est joué et la note arrêtée et supprimée dans la mémoire. Selon encore une autre caractéristique de l'invention, le système est caractérisé en ce que le mécanisme de purge est adapté pour être entièrement parcouru à la réception de toute nouvelle action et lorsqu'il y a des événements EM tels qu'une note ou une pédale dont l'index temporel est inférieur à celui de l'action en cours de traitement, la note est arrêtée ou la pédale relâchée et retirée de la mémoire de purge. Selon une caractéristique de l'invention, le système est caractérisé en ce qu'il comporte un mécanisme de filtrage d'un événement musical EM lorsqu'un tel événement doit être joué par le système soit parce qu'un actionneur a déclenché cet événement soit parce qu'une séquence temporelle en cours d'exécution l'a provoqué. Selon une autre caractéristique de l'invention, le système est caractérisé en ce que le mécanisme de filtrage comporte une interface dédiée permettant à l'utilisateur d'instaurer un filtrage lui-même. L'invention sera mieux comprise, et d'autres buts, caractéristiques, détails et avantages de celle-ci apparaîtront plus clairement au cours de la description explicative qui va suivre faite en référence aux dessins schématiques annexés donnés uniquement à titre d'exemple illustrant un mode de réalisation de l'invention et dans lesquels : - la figure 1 représente, schématiquement, le système selon l'invention ; la figure 2 illustre, sous forme d'un organigramme, le fonctionnement du système selon l'invention ; - la figure 3 illustre une possibilité selon l'invention de traiter des polymélodies sur le choral 35 BWV347 de JS BACH ; - la figure 4 illustre un exemple de traitement de polymélodie selon l'invention ; - la figure 5 illustre une partie d'une partition pour expliquer le fonctionnement de la mémoire d'action MA selon l'invention ; et - la figure 6 illustre le fonctionnement du mécanisme d'arrêt automatique de notes selon l'invention. Comme le montre la figure 1, un système d'interprétation de musique préenregistré assisté par ordinateur, selon l'invention, comprend au moins une piste, mais en général, une pluralité de pistes P dont deux P1, P2 sont représentées, qui comportent chacune un actionneur musical Al, A2, une mémoire MA de la séquence des actions qu'un interprète utilisateur peut effectuer, un pointeur temporel PT (non représenté) qui détermine, en nombre de pas de résolution temporelle, où on est dans le morceau joué, un générateur de séquences temporelles par piste GST1, GST2, une unité de purge des événements périmés, notés PU1, PU2, une mémoire des données musicales MM, un sélecteur d'événements S1, S2, un gestionnaire d'arrêt de notes par piste NOF1, NOF2, une unité de synthèse et production sonore AU et une unité de calcul et d'affichage de partitions communes UCA. Les mémoires MA et MM, l'unité de synthèse et production sonore AU et l'unité de calcul et d'affichage UCA sont communes aux différentes pistes. Le système comporte en outre un haut-parleur HP et un écran de visualisation EV. Les lignes fléchées symbolisent les actions des différents composants du système. Les actionneurs musicaux sont des instruments du type connus sous la dénomination MIDI (Musical Interface Digital Instruments), c'est-à-dire des instruments pourvus d'une interface numérique musicale. L'invention concerne les actionneurs musicaux MIDI tels que des claviers ou exploitent une autre norme équivalente, systèmes de capture des mouvements à base de vidéo ou de capteurs produisant des informations soit discrètes telles que des notes présentes, absentes, la hauteur et la vélocité des notes, des pédales actionnées ou non, des basculements entre états logiques, soit continues tels que des contrôles MIDI comme le volume, la pression, le souffle ou la position/orientation d'un mouvement, soit les deux types d'information. Les systèmes selon l'invention sont fondés sur l'utilisation du protocole de communication et de commande MIDI et de la norme MIDI permettant l'échange de données entre instruments de musique électroniques dont un ou plusieurs peuvent être des ordinateurs. La norme MIDI est une norme international permettant à des instruments électroniques de fabricants différents de communiquer entre eux. Cette norme repose en résumé sur des séquences de 3 valeurs, à savoir : - un code de statut, compris entre 128 et 255. La division de ce code par 16 indique le type d'événement musical, par exemple le chiffre 9 indique un déclenchement de note, 8 indique un arrêt de note, 11 un contrôle continu. Le reste de cette même division indique un canal MIDI entre 1 et 16, permettant à un appareil configuré pour recevoir un canal donné, de ne retenir que les événements qui le concernent ; - une valeur comprise entre 0 et 127, précisant les données liées au statut ci-dessus, par exemple pour un déclenchement de note la hauteur de la note, le code 60 étant attribué au Do central des claviers à 88 touches, ou encore pour un contrôle continu le type de contrôleur, par exemple 7 pour le volume, et 2 pour le contrôle dit de souffle ; - une valeur comprise entre 0 et 127, par exemple la vélocité d'enfoncement de la touche dans le cas d'un déclenchement de note, qui va déterminer à quelle force va être jouée la note. La norme MIDI est complétée par une norme appelée MIDIFILE ou fichier MIDI, définissant un format d'enregistrement d'événements MIDI. En particulier, cette norme prévoit la notion de piste. La notion de pistes MIDIFILE vise à faciliter l'organisation des données par l'utilisateur. Des pistes différentes sont stockées successivement dans un fichier MIDI, ne permettant pas le fonctionnement décrit ci-dessous. On décrira ci- après les composants énoncés plus 5 haut du système selon l'invention. Mémoire de données musicales MM Un composant fondamental de ce système est la 10 mémoire des données musicales MM partagées par toutes les pistes. Ce mémoire contient la totalité des événements musicaux EM constituant le morceau à interpréter. Un événement EM peut être n'importe quel événement de la partition de ce morceau, issue de la norme MIDI, 15 notamment des notes de la partition ou un événement spécifique du système relatif à la structure du morceau, tels que par exemple un début de mesure ou une fin de répétition, ou un événement d'interprétation tel qu'une note accentuée, appoggiature, arpège ou trille. 20 Les événements EM sont affectés à un actionneur Al, A2 ou des actionneurs dont disposent l'utilisateur. Le numéro d'actionneur correspondant est encodé, ce qui constitue une caractéristique nouvelle importante de l'invention, et fait partie des données désignant le type 25 de l'événement et est modifiable. Cela signifie que ces événements seront traités et joués par la piste correspondant à cet actionneur. Il existe trois types d'association d'un événement à un actionneur : - un événement EM ne sera déclenché qu'à réception 30 en temps voulu d'un actionnement de l'actionneur concerné, effectué par l'interprète utilisateur de l'instrument ; - un événement EM sera déclenché comme ci-dessus, mais cet EM est, de plus, marqué comme étant associé à 35 une action dite de synchronisation AS. Un événement de ce type est par exemple une note de la partition qui est observée par ce qu'elle sert de référence temporelle. La séquence des événements AS permet d'estimer la vitesse de jeux de l'utilisateur. L'intervalle de temps entre deux actions AS consécutives reçues d'un actionneur donné est utilisée pour le calcul de la vitesse d'exécution des morceaux par l'utilisateur ; - un événement EM sera joué de façon automatique et en temps voulu par la piste concernée sans qu'une action de l'utilisateur ne soit requise. Il est à noter qu'il est possible d'affecter un événement EM blanc à une action. Cet EM est en tous points identiques aux autres, la seule différence étant qu'il ne se déclenche aucune action audible. Il peut être utilisé par contre en temps qu'associé à une AS. Cette possibilité est surtout utile pour les non musiciens n'ayant pas encore acquis la maîtrise du rythme exact d'un morceau. Lors de la réception par une des pistes d'une action de synchronisation AS, le générateur de séquence temporel de cette piste GST1, GST2 calcule la vitesse instantanée actuelle d'exécution, puis génère une séquence d'index à la vitesse appropriée. Cette séquence est utilisable en entrée de la mémoire MM des événements EM qui sont alors joués comme cela sera décrit plus loin plus en détail. La séquence s'arrête de deux façons possibles : - soit dans le cas d'un ralentissement du jeu de l'utilisateur interprète, parce que la séquence est parvenue à un nouvel événement de type AS pour lesquelles aucune action n'a été reçue. Le système est alors en attente ; - soit, dans le cas d'une accélération du jeu de l'utilisateur, parce qu'une action AS est reçue avant qu'elle ne parvienne à terme. La séquence est alors interrompue et les événements correspondants à l'intervalle de temps supprimé sont traités. Un exemple de contenu de la mémoire MM est donné au tableau 1 qui suit et montre le format des données dans cette mémoire. 768 2145 43 127 1152 121 252 121 252 2145 59 127 1152 121 230 121 230 11144 62 127 1152 121 195 121 195 11144 67 127 1152 121 188 121 188 ; 1152 1128 67 127 1152 121 121 188 1128 62 127 1152 188 121 195 121 195 2129 127 1152 121 230 121 230 59 2129 43 127 1152 121 121 252 2145 55 127 1536 252 151 234 151 234 2145 157 1536 151 229 151 229 59 11144 62 127 1536 151 194 151 194 11144 67 127 1920 151 187 151 187 ; 1536 1128 62 127 1536 151 194 151 194 2129 59 127 1536 151 229 151 229 2129 55 127 1536 151 234 151 234 2145 52 127 1920 170 239 170 239 2145 60 127 1728 170 227 170 227 11144 64 127 1920 170 192 170 192 ; 1728 2129 90 127 1728 170 227 170 227 2145 59 127 1920 183 229 183 229 ; Tableau 1 On constate que la structure des données est organisée en un tableau de lignes, chaque ligne étant 10 accessible à partir de son index temporel indiqué dans la colonne de gauche. L'index temporel d'un événement désigne le nombre de pas de résolution existant entre le début du morceau et cet événement. En effet, le temps est mesuré par le système par le nombre de pas de résolution 15 temporelle écoulés depuis le début du morceau. Par exemple, les données musicales sont souvent codées temporellement avec une résolution temporelle de 384 pas par noire. Dans ce cas, le pas vaudra 1/384ème de seconde si le tempo est de 60 noires par seconde. Si le pointeur 20 temporel PT vaut 1536, 4 secondes sont écoulées.5 Il y a donc une ligne dans le tableau pour chaque index temporel où existe un événement musical pour le morceau considéré. Chaque ligne contient un ou plusieurs événements musicaux EM. Chaque événement musical est lui- même constitué d'une série de 8 valeurs numériques, à savoir : - type de l'événement : il s'agit d'une extension de la norme MIDI. Cette norme définit le type de l'événement tel que note-on (début de note), note-off (fin de note), changement de commande, changement de programme. La valeur numérique du type code simultanément un canal parmi les seize canaux MIDI, permettant ainsi de définir seize voies de production sonore. Le type MIDI se traduit par un nombre entier compris entre 128 et 255. Selon l'invention on y ajoute un préfixe codant. * la piste d'actionneur auquel est attribué l'événement. Par exemple, on ajoute au type MIDI le numéro d'actionneur multiplié par 1 000. * le caractère AS ou non de l'action associé à cet événement. Par exemple, on ajoute 10 000 au type MIDI. - seconde donnée habituelle, par exemple, la hauteur (pitch) pour une note ; - troisième donnée MIDI, par exemple, la vélocité ; - index temporel de fin de l'événement, par exemple note-off pour une note, ou pédale-off pour une information de pédale. Cette information est utilisée pour le mécanisme de purge PU - Xmin du rectangle d'encadrement de l'événement sur la partition - Ymin du rectangle d'encadrement de l'événement sur la partition - Xmax du rectangle d'encadrement de l'événement sur la partition - Ymax du rectangle d'encadrement de l'événement sur 35 la partition. Pour faciliter la lecture du tableau, on explique ci-après la première ligne concernant l'index temporel 768. Pour une résolution temporelle de 384 pas par noire, on est donc au second temps du morceau. La ligne contient 32 valeurs et définit donc quatre événements musicaux EM puisque chaque événement est codé par 8 valeurs. Les 8 premières valeurs allant de 2145 à 252 concernent un premier EM. La première valeur 2145 permet de connaître le type d'événement, c'est-àdire de synchronisation AS ou non. Comme il a été indiqué plus haut, la division de la première valeur 2145 par 10000 donne le type d'événement. Le résultat de la division étant 0, il ne s'agit pas d'un événement de synchronisation AS. La division par 1000 donne 2, ce qui signifie qu'il s'agit d'un EM concernant la piste 2. Le reste de la division par 1000 donne 145, d'où il ressort que l'événement EM est attribué selon les codes MIDI au canal MIDI n 2. Les deuxième et troisième valeurs de la ligne, à savoir les valeurs 43 et 127, désignent respectivement la hauteur, 43 étant la bémol, et la force de jeu, 127 étant le maximum possible. La quatrième valeur 1152 indique la durée, qui est de 1152 pas de résolution, c'est-à-dire quatre noires. Cette note est donc une ronde. Les quatre valeurs qui suivent permettent de positionner l'événement sur la partition, c'est-à-dire elle donne les indications xmin r Ymin r xmax r Ymax La seconde EM allant de 2145 à 230, analysée de la manière qui précède n'est également pas un événement de synchronisation. Par contre, le troisième EM défini par le troisième groupe de 8 valeurs allant de 11144 à 195 est un événement de synchronisation puisque la division de la valeur 11144 par 1000 donne 1. La division de 1144, à savoir le reste de la division par 10000, par 1000 donne 1, ce qui signifie que cet événement de synchronisation AS concerne la piste 1. Le reste 144 indique qu'il s'agit, selon les codes MIDI, d'un début de note à attribuer au canal MIDI 1. Le quatrième EM commençant par la valeur 11144 est un événement de synchronisation AS concernant la piste 1. Il s'agit d'un début de note attribué au canal MIDI 1. Après l'interprétation des quatre événements musicaux EM de la ligne d'index temporaire 768, il faut décider de les jouer ou non. Cette fonction est accomplie par un mécanisme de filtrage qui confère à l'utilisateur des possibilités variées. Ces possibilités seront décrites, à titre d'exemple, plus loin. En bref, si l'utilisateur utilise deux actionneurs, par exemple la main droite et la main gauche, et si la lecture de la ligne d'index temporaire 768 a été effectuée suite à une action sur l'actionneur Al, alors seuls les EM dont les pistes sont 1 seront jouées, à savoir les troisième et quatrième EM. Si la lecture concerne la liste affectée à l'actionneur A2, alors seuls les premier et second EM sont joués. Si l'utilisateur utilise seulement l'actionneur Al, le filtre laisse passer les événements de la piste 2 qui sont alors joués de façon automatique et synchrone avec le jeu sur Al. Mémoire de la séquence des actions MA La mémoire MA de la séquence des actions constitue une autre caractéristique essentielle et innovante de l'invention. Cette mémoire est le coeur de l'invention car elle contient, associée à chaque pas de temps concerné, la liste des actions attendues en provenance de chaque contrôleur ainsi que la façon dont doit être traitée chacune de ces actions. Le traitement en question dépend essentiellement de deux facteurs, à savoir le numéro de l'actionneur ayant produit l'action et le statut de l'action qui pourrait être une action de synchronisation AS ou non. A chaque index temporels pour lequel existe un événement musical EM on trouve dans la mémoire MA pour chaque actionneur présent dans le système l'instant de la prochaine action du type AS ainsi que le statut de l'action attendue qui peut prendre trois valeurs : - pas d'action attendue de cet actionneur à l'instant considéré ; - action de type AS attendue ; -action attendue non AS. Lorsqu'une action est reçue en provenance d'un actionneur Al, A2, le générateur de séquence temporelle GST1, GST2 associé à la piste dont fait partie l'actionneur vérifie si dans la mémoire MA une action est prévue et, dans l'affirmative, si cette action est une action simple ou une action synchronisante AS. Le générateur GST1, GST2 effectue les opérations suivantes : - si aucune action n'était attendue à cet instant selon la mémoire MA, l'action est ignorée ; - si une action simple, c'est-à-dire non AS, est attendue, l'événement musical est lu dans la mémoire MM des événements musicaux EM, joué par l'unité de synthèse audio AU et affiché à l'écran si nécessaire ; - si l'action est reçue alors qu'une action de type AS est présent pour cet instant dans la mémoire MM, la séquence des opérations suivantes est déclenchée : * calcul de la vitesse instantanée VI d'exécution par la personne interprète à partir du rapport de la différence temporelle réelle entre l'action présente et l'action précédente reçue sur le même actionneur divisé par la différence temporelle en pas de résolution de données musicales des événements musicaux déclenchés par les deux actions. A titre d'exemple, si la note mémorisée à l'index temporels 1152 a été jouée sur une action relevée à l'instant t1 et si l'action actuelle qui a lieu à t2 déclenche une note mémorisée à l'index 2304, la vitesse instantanée correspond à un pas de résolution temporelle dont la durée est [(t2-t1)/(2304- 1152)]. Autrement dit, on calcule la durée dans le temps d'un pas de résolution temporelle. * calcul du nombre de pas NP prévu jusqu'à la prochaine action de type AS attendu selon la mémoire MA, obtenu par la différence entre l'index temporels actuel et l'index temporel du prochain événement AS, mémorisé dans MA. * Le pointeur de lecteur PLMA1, PLMA2 de la mémoire d'action MA est incrémenté de façon à pointer sur la prochaine action attendue de l'actionneur Al, A2. Il est à noter que chaque générateur GST1, GST2 tient à jour un pointeur PLMA. * déclenchement du mécanisme de purge PU1, PU2 des événements obsolètes, comme il sera explicité plus loin. * génération de la séquence rythmique d'index 15 temporels PT, PT+1, PT+2 jusqu'à PT+NP, à une cadence correspondant à la vitesse calculée. En fonction de la séquence ainsi générée, la mémoire MM des événements EM est interrogée. Si à ce pas rien n'est mémorisé dans la mémoire MM, rien n'est 20 effectué. Si des événements musicaux sont mémorisés, ils sont fournis par la mémoire MM sous forme d'une liste d'événements musicaux EM. Cette liste est filtrée afin de n'exploiter pour le rendu sonore et visuel que certains des événements qu'elle contient, ce qui offre une 25 flexibilité totale d'exécution à travers de multiples choix d'adaptation du système, en particulier : - comme il a été expliqué plus haut, chaque événement musical EM contient une valeur appelée marqueur qui indique par quel actionneur il doit être déclenché. 30 Il n'est joué que si son marqueur correspond à l'actionneur qui a déclenché le traitement en cours, sinon il n'est pas joué. - on peut choisir de demander au système par exemple de filtrer les informations d'arrêt de notes qui 35 doivent donc alors être joué par l'utilisateur à partir de l'actionneur, ou au contraire de ne pas les filtrer afin que le système se charge d'arrêter les notes aux instants exacts mémorisés dans la mémoire MM. - on peut choisir de filtrer les informations de volume, par exemple le contrôle 7 de la norme MIDI, ou des informations de changements de sons tel que le programme connu sous le terme program change de la norme MIDI. Les événements retenus sont envoyés, d'une part, au générateur sonore, et, d'autre part, à l'unité d'affichage de la partition à l'écran. Dans le cas où la mémoire MMcontient à un index temporels donné une séquence audio (fichier WAV, AIFF...), deux cas sont possibles. Soit le fichier est lu tel quel, soit il est lu avec un procédé d'étirement/compression temporelle classique ajustée à la vitesse VI. Le choix d'une des deux options à appliquer peut être codé et intégré dans à l'événement dans la mémoire MM. En résumé, lorsqu'une action de synchronisation AS est reçue d'un actionneur Al, A2, la séquence d'index temporels allant de l'index correspondant à l'action AS reçue jusqu'à l'index de la prochaine action AS est générée à une vitesse déterminée à partir des deux dernières AS reçues. Deux cas se présentent alors : - soit la séquence se déroule jusqu'à son terme avant que le système ne reçoive l'action de l'utilisateur qui correspond à l'action de synchronisation suivante. Cela signifie que l'utilisateur exécutant a ralenti. Lorsque la séquence, dans ce cas, est arrivée à son terme, plus rien ne se passe sur la piste considérée tant que l'action de l'utilisateur n'est arrivée ; - soit une nouvelle action de l'utilisateur survient alors que la séquence n'est pas terminée. Cela signifie que l'utilisateur accélère. Dans ce cas intervient l'unité de purge PU de la piste concernée. En effet, à l'arrivée de la nouvelle action de l'utilisateur, qui correspond à une action de synchronisation AS dans la mémoire MM, l'index du générateur de séquence qui, à cet instant de temps, n'a pas encore atteint l'index de l'action AS dans la mémoire saute cet index. En particulier, si des événements d'arrêt de notes sont stockés à certains des index temporels intermédiaires sautés, il faut s'assurer que le système arrête correctement ces notes. A cette fin toutes les notes générées sur une piste, qui ne sont pas terminées, sont stockées dans une mémoire temporaire, qui est la mémoire de purge PU, accompagnées par l'index de fin de la note considérée. La mémoire de purge est entièrement lue et sélectionne les notes en cours dont la fin est attendue à un des index sautés, puis envoie les commandes d'arrêt de note correspondants à l'unité de synthèse sonore AU. L'explication ci-dessus décrit le fonctionnement de la mémoire de purge PU sur un arrêt de note, mais s'applique aussi bien à un événement de relâchement de pédale par exemple. Il est expliqué ci-après comment est prise en compte le numéro de l'actionneur dans le traitement des données d'action mémorisées dans la mémoire MA. Comme il a été écrit, chaque générateur de séquence temporelle par piste GST maintient à jour un pointeur PLMA vers la mémoire MA. Ceci est nécessaire afin que l'utilisateur puisse dérouler progressivement les données déclenchées successivement par l'actionneur considéré. Il existe ainsi dans le cas où plus d'un actionneur est utilisé un risque de décalage significatif entre les différents pointeurs PLMA, pouvant se traduire par la perte de la cohérence d'ensemble du morceau. Un niveau hiérarchique est donc attribué à chaque actionneur, depuis le plus élevé, par exemple l'actionneur 1, jusqu'au plus faible. Chaque fois qu'une action de synchronisation AS est traitée, les pointeurs PLMA d'une priorité plus basse sont forcés à la nouvelle valeur résultant du traitement de l'action de synchronisation. En particulier, toute action de type AS sur l'actionneur le plus élevé s'impose au pointeur de tous les autres actionneurs. Cette caractéristique est symbolisée sur la figure 1 par une flèche en pointillé allant de GST1 à GST2. Après cette description générale de la mémoire 5 d'action MA, le tableau 2 qui suit donne, à titre d'exemple, la structure des données dans cette mémoire. 1152 1 1536 1 1344 0 21120 1 1 0; 1344 1 1536 1 1536 0 21120 1 1 0; 1536 1 1920 1 1920 0 21120 1 1 1; 1920 1 2304 2 2112 0 21120 1 1 1; Tableau 2 10 On constate qu'à chaque index temporel dans la colonne de gauche pour lequel existe un événement musical EM dans le morceau considéré, on trouve dans la mémoire MA : 15 - autant de couple de valeurs qu'il est utilisé d'actionneurs. La première valeur indique par une valeur 0,1 ou 2 la façon dont doit être traitée l'action pour cet index et cet actionneur, 0 signifiant aucune action, 1 une action de déclenchement mais sans synchronisation, 20 2 une action de déclenchement de synchronisation AS avec mise à jour de la vitesse VI ; - la seconde valeur du couple est l'index temporel de la prochaine action attendue sur cet actionneur ; Suivent finalement ci-dessus trois valeurs 25 numériques indiquant respectivement l'emplacement de l'événement EM sur la partition affichée à l'écran en terme de numéro de page, numéro de système, numéro de mesure. Pour une compréhension plus détaillée du format des 30 données dans la mémoire MA, on commentera ci-après la dernière ligne du tableau, à savoir de l'index temporel 1920. Les trois dernières valeurs définissent l'emplacement sur la partition. Le premier couple de valeurs 1 2304 concerne toujours la piste 1. La valeur 1 indique qu'au pas de temps considéré 1920 existe en piste 1 des données musicales à jouer, qui ne sont pas des événements de synchronisation. La seconde valeur 2304 du couple indique l'index temporel du prochain événement EM existant sur la piste considérée, donc du prochain EM attribué à l'actionneur Al. Le second couple de valeurs 2 2112 concerne toujours la piste 2 à laquelle appartient l'actionneur 2. La valeur 2 du couple indique qu'à l'actionnement par l'utilisateur d'une action sur A2 correspond un événement ME de synchronisation et qu'il faut resynchroniser le déroulement de cette piste à la réception de l'action de l'utilisateur. Le système va donc calculer, de la manière décrite plus haut, la vitesse VI et généré une séquence d'index temporels à cette vitesse jusqu'au prochain événement de synchronisation EM existant sur cette piste, qui est précisément la seconde valeur du couple, c'est-à- dire la valeur 2112. Le troisième couple de valeurs, ici 0 21120, concerne toujours la piste 3. La valeur 0 indique qu'il n'y a rien à faire sur la piste. La valeur 21120 qui suit indique le prochain index temporel où on trouve un événement musical EM à jouer sur la piste 3. Si l'utilisateur ne dispose que de deux actionneurs alors cette valeur est fixe et égale à l'index temporel de fin du morceau, c'est-à-dire l'index temporel du dernier événement, en général arrêt de la dernière note. Mécanismes de filtrage et de purge Le système selon l'invention comporte en outre un mécanisme de filtrage et un mécanisme de purge qui permet au système d'offrir à l'utilisateur la souplesse qui apparaîtra lors de la description du fonctionnement général du système et de la description de certains exemples spécifiques. Le mécanisme de filtrage a pour but de permettre à l'utilisateur de configurer le système en fonction de ses propres souhaits, d'une part, et de tirer partie de la flexibilité offerte, d'autre part. Le filtrage d'un événement musical EM a lieu chaque fois qu'un tel EM doit être joué par le système, soit parce qu'un actionneur a déclenché cet EM, soit parce qu'une séquence temporelle en cours d'exécution l'a provoqué. L'utilisateur peut lui-même instaurer un filtrage grâce à une interface dédié. L'utilisateur peut choisir des filtrages éventuellement différents pour chaque piste. Ainsi, l'utilisateur peut souhaiter un seul actionneur Al et sélectionne alors un mode de fonctionnement tel que utiliser seulement actionneur Al ou joue seulement de la main droite . Un autre choix peut concerner la gestion des arrêts de notes que l'utilisateur décide d'effectuer lui-même ou de confier au système. Enfin, ces choix pourraient également être mémorisés dans la mémoire MM des événements EM et seraient alors détectés lors de la lecture de l'événement EM par un code particulier, par exemple un en-tête numérique négatif pour la première des 8 valeurs de chaque événement EM, et indiqués à la volée un mode de filtrage donné. Ainsi l'utilisateur peut faire varier de jeu qu'il souhaite au cours même du jeu. Lors du jeu d'un événement, le type de l'événement est extrait de la mémoire, en général de la première des 8 valeurs d'une ligne de la mémoire MM et confronté au paramètre de filtrage en cours pour la piste de l'actionneur concerné. Par exemple, si l'utilisateur a choisi d'utiliser deux actionneurs Al et A2, un événement attribué à A2 ne sera pas joué lorsqu'il est associé à la piste 1. Si l'utilisateur a choisi de faire jouer les EM de la piste 2 par le système, le filtrage pourrait être fait de sorte qu'il soit au contraire joué par la piste 1. Le filtrage peut également s'appliquer aux événements d'arrêt de notes des codes MIDI 128 à 143. Lorsque ce code est rencontré, l'événement EM correspondant ne sera joué que si l'utilisateur a confié les arrêts de note au système. Sinon il est ignoré. Selon un autre exemple, certains événements EM peuvent avoir pour objet de faire changer le timbre de restitution sonore utilisé, conformément aux codes MIDI 192 à 207, dit de program change pour, par exemple, passer d'un piano à un clavecin. L'utilisateur peut demander au système de ne pas jouer les événements EM de ce type programm change lorsqu'ils sont rencontrés et de les ignorer. Le timbre ne changera donc pas. Le mécanisme de purge est prévu pour des situations suivantes. Comme il a été expliqué plus haut, après une action de l'utilisateur sur un actionneur donné, une séquence d'index temporels est généré dans le but de faire jouer par le système les événements EM de façon autonome. La vitesse à laquelle sont joués ces événements est déduite de la vitesse VI de l'utilisateur par extrapolation de sa vitesse de jeu entre ses deux plus récentes actions sur un actionneur donné. Le système ne peut évidemment pas prévoir un changement de vitesse important de la part de l'utilisateur. Cela ne pose aucun problème si l'utilisateur ralentit. Si, par contre, il accélère de façon significative, il est possible que l'action suivante de sa part intervienne avant que la séquence en cours ne soit parvenue à son terme. Cela peut poser problème pour certains types d'événements EM dont par exemple les arrêts de note : si une note a été initiée par la séquence d'index, mais que celle-ci est interrompue par l'action suivante en provenance d'un actionneur, l'événement EM correspondant à l'arrêt de cette note ne sera pas joué puisque l'index temporel va sauter à la valeur correspondante à l'action nouvelle. D'autre part, problématiques sont également certains types de contrôle, en particulier le message pedal on correspond à l'enfoncement d'une pédale de piano et le message de relâchement non joué du fait de l'accélération. Toutes les notes en cours seront alors maintenues da façon permanente. Le mécanisme de purge est prévu pour éviter ces situations. Il permet de pouvoir jouer certains événements de façon prioritaire en cas d'accélération importante. Le mécanisme de purge est en fait essentiellement constitué d'une mémoire par piste contenant, à tout instant, les événements susceptibles de causer un problème, en particulier les arrêts de note et la pédale, et qui ont été initiés, c'est-à-dire les débuts de notes ou l'enfoncement de pédale joué. Chaque fois qu'une note est initiée ou la pédale enfoncée, l'événement EM correspondant est stocké dans la mémoire de purge, avec un index indiquant la fin prévue de cette note ou le relâchement de pédale. Si la séquence d'index parvient normalement à l'événement EM contenant l'arrêt d'une note mémorisée dans la mémoire de purge, alors cet EM est joué, la note arrêtée et cette note est supprimée dans la mémoire de purge. Enfin, à la réception de toute nouvelle action, la mémoire de purge correspondante est entièrement parcourue. Si le système y trouve des EM, par exemple une note ou une pédale dont l'index est inférieur à celui de l'action en cours de traitement, alors la note est arrêtée ou la pédale relâchée, et retirée de la mémoire de purge. Sinon rien n'est effectué. Fonctionnement du système selon l'invention On décrira ci-après tout d'abord le fonctionnement général du système selon l'invention en se référant à la figure 2 qui illustre la séquence des traitements effectuée dans une piste n du système suite à la réception d'une action déclenchée par l'utilisateur, cette action pouvant être une action simple ou une action de synchronisation. Ensuite le fonctionnement sera exposé plus en détail à l'aide de quelques exemples. Supplémentairement à qui est représenté sur la figure 1, chaque piste peut être pourvue d'une fonction de fenêtre temporelle qui est gérée par l'unité. Comme il a été expliqué plus haut, à la réception d'une action de la part de l'utilisateur, qui correspond à un événement de synchronisation AS sur cette piste, l'instant d'apparition de cette prochaine action de synchronisation par l'utilisateur est déterminé en établissant par calcul la vitesse instantanée VI actuelle jusqu'à l'index temporel de cette prochaine action de synchronisation. Une fenêtre d'ouverture dont la durée peut être fixée, mais sera par exemple un pourcentage de l'intervalle de temps entre l'action AS actuelle et la prochaine AS est placée autour de l'instant d'apparition calculé. Si la fenêtre est activée, la prochaine action reçue ne sera prise en compte que si elle a lieu à l'intérieur de la fenêtre calculée. Cette fenêtre permet d'éliminer des actions intempestives de l'utilisateur. En particulier, il devient possible pour l'utilisateur non expérimenté d'interpréter un morceau en déclenchant rythmiquement des actions par exemple à la vitesse et la force désirées, ce qui confère un niveau d'expressivité déjà notable. L'exécution serait alors correcte. En se reportant à la figure 2, on constate que le système selon l'invention, suite à une action de l'utilisateur sur un actionneur A appartenant à une piste P constituant sur la figure 2 une première étape El du procédé, vérifie à une étape de procédé E2 si cette action intervient à un instant de temps qui se trouve à l'intérieur de la fenêtre temporelle placée autour de l'instant d'apparition calculé de cette action dans la mémoire d'action MA. Si au moment de l'action de l'utilisateur la fenêtre n'est pas ouverte, le système ne fait rien, comme cela est symbolisé par la case Cl. Dans l'affirmative, on détermine, à l'étape E3, en interrogeant la mémoire d'action MA, si à cet index temporel une action est prévue dans la mémoire et le statut de celui-ci. L'absence d'une action provoque une valeur 0 qui n'entraîne aucune réponse. Si une action de type action synchronisante est prévue, il s'agit d'une action de la valeur 2 et si l'action n'est pas synchronisante, on lui attribue la valeur 1. Suite à la constation de la présence d'une action non synchronisante, c'est-à-dire de la valeur 1 dans la mémoire MA, le générateur de séquence temporelle de la piste de l'actionneur GST provoque la lecture à l'index de temps correspondant de l'événement musical EM dans la mémoire musicale MM, fait jouer cet événement par l'unité de synthèse audio et fait afficher l'événement à l'écran si nécessaire. L'exécution de ces opérations est illustrée par les cases C2 et C3. Si l'action identifiée dans la mémoire MA est une action de synchronisation AS, c'est-à-dire de la valeur 2, le générateur de séquence temporelle GST effectue les opérations suivantes dans la case C4 dans l'ordre indiqué, à savoir du calcul de la vitesse instantanée VI d'exécution par l'utilisateur, du calcul des paramètres de la séquence temporelle, de la mise à jour du pointeur PLMA de la piste de l'actionneur actionné par l'utilisateur, le forçage des pointeurs PLMA de priorité inférieure, l'activation de la mémoire de purge PU dans le cas de la constation d'une augmentation de la vitesse VI et ainsi d'une accélération, de la mise à jour de la fenêtre temporelle et de la génération de la séquence GST des index temporels jusqu'à la prochaine action de type AS. Puis l'événement musical se trouvant dans la mémoire d'événement musical MM à l'index temporel correspondante est lu et envoyé vers l'unité de production sonore AU et, le cas échéant, vers l'unité d'affichage sur écran. Un premier exemple d'utilisation du système selon l'invention sera décrit en se reportant à la figure 3. Cette figure est un extrait de l'écran de visualisation du dispositif, montrant la possibilité de traiter des polymélodies, ici sur le choral BWV 347 de JS BACH. Les notes entourées d'un carré en trait continu doivent être entendues simultanément et ont des index temporels de début et de fin tous différents les uns des autres. Le système permet d'interpréter ce passage musical de multiples façons. On décrira ci après trois possibilités. La première est une méthode de difficulté intermédiaire. C'est une première approche assez facile mais expressivement déjà riche. Elle consiste à jouer à partir d'un actionneur Al consécutivement les deux notes entourées du cadre en trait plein et à partir de l'actionneur A2 les deux notes entourées de traits interrompus et à laisser le système appliquer aux instants exacts en fonction de la vitesse VI les arrêts de notes souhaitables. Pour ce faire, les événements EM de déclenchement des notes entourées d'un cadre à trait plein, appelées ci-après notes N1 sont codées en tant que AS1, mais les arrêts correspondant à ces notes ne sont associés à aucune action dans la mémoire MA. Le système les prend alors en charge par l'intermédiaire des séquences générées par GST1. Le déclenchement des notes entourées de traits interrompus, appelées ci- après notes N2, est quant à lui codé en AS2. Ainsi le système prend en charge l'arrêt de ces notes, en accordant toutefois la priorité à la vitesse d'exécution déterminée à partir de l'actionneur Al. Si la personne, pour s'entraîner par exemple, souhaite ne jouer que les notes N2, le système exploitera les séquences générées par GST2 pour jouer les événements non associés à une action, par exemple l'arrêt des notes. Une deuxième possibilité d'interprétation plus facile consiste à ne jouer que les notes N1, le système prenant en charge non seulement les notes N2 mais également tous les arrêts de notes requis. Dans ce cas, le déclenchement des notes N2 n'est plus associé à un actionneur, mais ce déclenchement est codé pour ne pas être filtré lors du jeu des séquences GST1. Les seules actions de déclenchement des notes N1 suffiront alors à générer correctement le déclenchement des notes N2 ainsi que la fin de toutes les notes. Une troisième possibilité est la plus riche en terme d'expressivité mais requiert une habilité plus grande de l'utilisateur. Néanmoins, cette approche est beaucoup plus abordable que le jeu traditionnel pour un tel passage, tout en offrant rigoureusement les mêmes possibilités en terme de richesse expressive. Dans cette approche, l'actionneur Al, par exemple une zone d'un clavier électronique, sera utilisé pour déclencher les notes N2. Mais Al sera également utilisé pour contrôler l'arrêt de ces notes. Un second actionneur A2, par exemple une autre zone d'un clavier, sera utilisé pour le contrôle de déclenchement et d'arrêt des notes N2. Une telle possibilité nécessite une unité spécialisée au sein du système. Le fonctionnement de cette unité est décrit dans le paragraphe suivant se référant à la figure 5. Sur cette figure 5 présentant un extrait du morceau déjà vu plus haut, on a encadré différentes notes en fonction de la façon dont système. Les deux notes elles sont traitées par le encadrées par une ellipse continue, sont par synchronisation liés à exemple des événements de l'actionneur Al. Elles seront codées par exemple par la valeur 11144 en tête de la liste de 8 valeurs de l'EM correspondant, le premier 1 indiquant la synchronisation, le second 1 l'actionneur 1, et la valeur 144 un début de note sur le canal MIDI 1. Les deux notes entourées par l'ellipse en pointillé sont par exemple affectées à l'actionneur A2, mais ne doivent pas être utilisées pour la synchronisation. Elles seront par exemple codées par la valeur 2145, signifiant une absence de synchronisation, actionneur 2, canal MIDI 2. Il en est de même pour la note encadrée par un rectangle en pointillé. Si l'utilisateur n'utilise qu'un actionneur, par exemple s'il ne joue que la main droite, les événements 11144 sont joués lorsqu'il y a action sur Al. De plus le tempo est calculé à partir du temps écoulé entre les deux dernières actions de synchronisation AS reçues. Les EM 1144 sont joués et GST1 envoie une séquence d'index temporels débutant à l'index temporel actuel et se terminant juste avant la prochaine action de synchronisation attendue. Ainsi, les EM 2145 seront joués, à savoir immédiatement les notes entourées par une ellipse pointillée et, à l'instant voulu, la note encerclée par un rectangle pointillé. Puis le système attend une nouvelle action sur Al. Si cette nouvelle action attendue a lieu avant que ne soit jouée la note au rectangle pointillé, alors le mécanisme de purge supprime cette note qui ne sera pas jouée car l'utilisateur a beaucoup accéléré. Si l'utilisateur utilise deux actionneurs Al, A2, par exemple main droite et main gauche, le fait de recevoir l'action Al correspondant aux notes encerclées par l'ellipse continue déclenche le jeu de ces notes, mais non pas le jeu des notes entourées par l'ellipse pointillée. Ces notes seront jouées par la prochaine action reçue sur A2, sauf si l'action suivante Al destinée à la note encadrée par le rectangle continu intervient avant. Dans ce cas, elles seront omises. Un deuxième exemple d'utilisation du système selon l'invention concerne la gestion des note off et polymélodies. Pour l'explication, on a représenté de façon schématique sur une portée musicale à la figure 4 une situation courante dans laquelle des notes longues, en gras continu, doivent être maintenues et auxquelles sont superposées des notes plus courtes en gras pointillé. Lorsqu'une note est jouée, le système retient dans une mémoire dédiée, dite mémoire de note off, dont une est prévue par piste d'actionneur, un identifiant de l'action utilisée, de façon typique le numéro de 1 à 127 de la note MIDI enfoncée sur le clavier, et en regard de cet identifiant, l'ensemble des événements musicaux EM ayant été déclenchés lors de cette action, tels que type, hauteur, force, index de fin et position à l'écran des événements jouées. Lors du relâchement de l'actionneur, la mémoire de note off est relue à l'adresse correspondant à l'identifiant reçue et les événements contenus à cette adresse sont joués afin de provoquer l'arrêt des notes ou d'une information de pédale, déclenchées initialement par l'identifiant. Cette technique permet d'associer autant de voies de polyphonies à des identifiants différents, et de les déclencher et stopper de façon indépendante, même à partir d'un seul actionneur. On accède ainsi au jeu de plusieurs mélodies simultanées. A titre d'illustration du mécanisme d'arrêt de notes, une séquence de cinq notes do ré mi fa sol est donnée à la figure 6. Le tableau 3 reproduit ci-après donne le contenu de la mémoire d'événements pour cette séquence de notes : 0 11144 72 127 384 xO yO xl y1 ; 384 1128 72 0 0 xO yO xl y1 11144 74 127 384 xO yO xl yl ; 768 1128 74 0 0 xO yO xl y1 11144 76127 384 xO yO xl yl ; 1152 1128 76 0 0 xO yO xl y1 11144 77 127 192 xO yO xl yl ; 1344 1128 77 0 0 xO yO xl yl ; 1536 11144 79 127 768 xO yO xl yl ; 2304 1128 79 0 0 xO yO xl yl ; Tableau 3 La colonne de gauche contient les instants indiqués en nombre de pas de résolution temporelle, auxquels ont lieu les événements. La résolution temporelle est de 384 pas par noire. Les événements musicaux EM sont les groupes de 8 valeurs consécutives, dans lesquels x0, y0, x1, y1 désignent les emplacements sur la partition. Comme il a été indiqué plus haut, lors de l'explication du tableau 1 du mémoire MM, la première valeur de chaque ligne indique la façon dont est traité l'événement. Ainsi la valeur de 11144 dans la première ligne indique un événement de synchronisation temporel, attendu de l'actionneur Al, le reste 144 un début de note sur le canal MIDI 1. La première valeur de 1128 de la seconde ligne ne sera pas prise en compte pour la synchronisation temporel puisque la division de 1128 par 10000 donne 0, mais elle concerne la piste 1 liée à Al, puisque 1128/1000 donne 1. Enfin, le reste de la division 1128 par 1000 vaut 128. Le code conforme à la norme MIDI indique un arrêt de note sur le canal MIDI 1. Il est à noter que 129 indiquerait un arrêt sur le canal MIDI 2 et ainsi de suite jusqu'à 143 qui serait un arrêt sur le canal 16. Ainsi à l'instant 384 de la seconde ligne, le premier EM désigne l'arrêt de la note de hauteur 72 qui est le second item de la liste de 8 valeurs. Il est à souligner que dans une liste d'événements EM, les EM concernant un arrêt de note doivent impérativement figurer avant les EM de déclenchement de note. A défaut, une note répétée c'est-à-dire arrêtée puis re-déclenchée ne sera pas jouée correctement. Plus précisément, on décrit ci-après la séquence des opérations effectuées à la réception de l'action Al déclenchant la quatrième note Fa à l'instant 1152 : le premier événement musical EM est joué, il s'agit de l'arrêt de la note 76 (Mi). Le second EM est joué, il s'agit du déclenchement de la note 77 (Fa). L'événement EM correspondant à ce dernier déclenchement de note est stocké dans le mécanisme de purge PU1 de la piste 1. On calcule le pas de résolution temporelle PRT=[t(1152)-t (768) ] / (1152-768) , où t(768) représente l'instant réel auquel a été joué l'événement de l'index temporels 768, avec une précision de l'ordre de la milliseconde (ms). Le générateur de séquence temporelle GST1 génère une séquence de (1536-1152-1)=383 valeurs allant de 1153 à 1535, à des intervalles de temps successifs de PRT ms. Cette séquence adresse la mémoire musical MM des événements musicaux EM à des intervalles PRT. Si rien n'existe dans la mémoire MM à l'index temporels d'interrogation, rien ne se passe. Si un des des événements EM figurent à un index temporels d'interrogation, il est joué. Ainsi, lorsque l'index 1344 est atteint, il déclenche la lecture de l'événement EM inscrite dans la mémoire à cet index. Si le système d'arrêt automatique de note est activé sur la piste 1, l'EM d'arrêt de la note Fa est envoyé. S'il n'est pas activé, l'EM est filtré, c'est-à-dire ignoré. En lieu et place de cet EM, le relâchement de la touche enfoncée sur Al qui a déclenché ce Fa sera utilisé pour arrêter la note. Dans les deux cas, l'EM d'arrêt de note correspondant est retiré dans le mécanisme de purge PU1 de la piste. La séquence continue son déroulement : soit jusqu'à atteindre l'instant 1535 où l'action Al suivante est attendue, soit si une action Al est reçue avant que 1535 ne soit atteint. Dans le cas où l'utilisateur accélère, GST1 est stoppée et le cycle décrit ci-dessus redémarre à partir de l'instant 1536. Enfin, si l'utilisateur a beaucoup accéléré, il pourrait envoyer l'action Al de déclenchement de la note de l'instant 1536 avant que la séquence n'ait atteint la valeur 1344. On saute donc directement à l'événement EM de l'instant 1536, mais auparavant les arrêts de note stockés dans le mécanisme de purge dont les dates sont inférieures à 1536 sont joués. Ci-dessus on a décrit, à titre d'exemple, le fonctionnement du système selon l'invention pour des événements EM stockés dans la mémoire MM à des intervalles d'index temporels relativement importantes. Bien entendu, le système permet également de jouer des données continues qui ont pour particularité qu'elles ont lieu à des intervalles temporelles rapprochées, par exemple à chaque pas successif de temps. Il peut s'agir par exemple du contrôle de volume défini dans la norme MIDI par un statut compris entre 176 et 191 pour des canaux respectifs 1 à 16. Dans ce cas, la mémoire MM des événements EM contiendra des événements sous la forme identique de 8 valeurs. La première valeur pourrait par exemple être de 11176, c'est-à-dire définissant un événement de synchronisation sur la piste 1 déclenchant un contrôle MIDI. Si les deux valeurs qui suivent sont par exemple 7 et 100, en se conformant à la norme MIDI, il s'agirait d'un contrôle de volume et le volume est mis à 100. Une première valeur 1176 ou de 3176 concernerait un événement non synchronisant concernant respectivement la piste 1 et la piste 3. De façon identique à ce qui est décrit plus haut pour les arrêts de note, la séquence d'index temporels déclenchée par le GST d'une piste va successivement adresser les index consécutifs auxquels sont stockés les données dites continues, et ces données seront donc jouées au rythme courant déduit du jeu de l'utilisateur. Certains modes spécifiques du jeu musical Le système selon l'invention pourrait comporter d'autres caractéristiques afin de mieux prendre en compte certaines spécificités du jeu musical. Il s'agit de la gestion appropriée des arrêts de note ou note off et des événements d'interprétation qui induisent localement , c'est-à-dire uniquement pour l'événement considéré et éventuellement ses voisins immédiat, des variations par rapport au mode normal des traitements des événements tels que décrits jusqu'ici. Parmi ces spécificités, on nommera, à titre d'exemple, la fenêtre temporelle qui a déjà été décrite plus haut, et ceux désignés par des termes arpeggio, appoggiature, mordant ou grupetto, accent ou trille. Concernant le terme arpeggio, l'arpège conduit à ne pas jouer les notes concernées telles que représentées sur la partition, c'est-à-dire simultanément, mais en séquence. Il est important de pouvoir maîtriser le déroulement temporel de la séquence. Lors de l'indication arpeggio codée dans le type de l'EM, le système effectue les opérations suivantes : il lit le nombre de notes concernées, joue la première note rencontrée et ne lit les suivantes qu'à l'apparition d'une nouvelle action. Pus il calcule le nouveau paramètre temporel à partir de l'action ayant jouée la première note de l'arpège. Une action se traduisant par le jeu d'une appoggiature n'est pas soumise à la fenêtre temporelle. On autorise localement deux actions primaires très rapprochées dans le temps et sans prise en compte de la vitesse VI actuelle. Les événements EM dont le type encode un mordant ou un grupetto sont suivis d'une série de valeurs numériques indiquant le décalage en hauteur offset de note par rapport à la note principale. Les notes calculées à partir de ces décalages sont ensuite jouées dans un mode identique au mode arpeggio. Le mode accent indique de modifier la force de jeu de l'actionneur concerné par la valeur jointe, en général un offset additif. En pratique, les informations d'accent sont codées au sein de la vélocité mémorisée dans l'événement EM correspondant. Un événement EM dont le type encode un trille indique la hauteur de note modulant la note trille, le plus souvent la note principale plus un demi-on ou un temps entier. Plusieurs valeurs numériques indiquent un trille sur plusieurs notes. Le calcul de la vitesse actuelle VI et la fenêtre temporelle sont désactivés pendant la durée du trille qui est apte à des libitum. Tant que l'utilisateur exécutant joue alternativement les deux mêmes commandes sur l'actionneur qui provoque le trille, celui-ci est prolongé. Dès que l'exécutant active une nouvelle commande, par exemple enfonce une troisième touche sur le clavier, la note de sortie de trille est jouée et le système reprend le fonctionnement normal. D'autres modes pourront être ajoutés, tels que crescendo ou décrescendo ayant un effet graduel sur la force de jeu produite. Le système selon l'invention prévoit également une édition de la hiérarchie des événements. Dans la plupart des cas, on associe dès le début les événements EM à un actionneur à partir de canaux MIDI affectés en général au jeu par exemple des mains droite (canal 1) et gauche (canal 2) dans la plupart des fichiers de données musicales MIDI. Le système initialise donc automatiquement l'affectation des événements à partir de ces canaux. Afin de pouvoir ensuite faire évoluer le jeu des mains droite et gauche, il est prévu que des fonctions d'édition de ces affectations soit globales, par exemple de confier au système le contrôle de tous les événements d'arrêt de note de la main gauche, soit locales au moyen d'une édition à l'écran. Chaque événement est affiché à l'écran avec un code couleur correspondant à l'actionneur auquel il est affecté, comme cela est montré à la figure 2 où les encadrements de notes ne sont pas faits par couleur mais par des traits continus ou interrompus. L'utilisateur sélectionne un ou plusieurs événements et modifie si nécessaire le numéro d'actionneur qui lui est attribué. Cela se traduira par une modification du type de l'événement EM qui lui est affecté dans la mémoire MM. L'invention prévoit également la possibilité d'un clavier à point de séparation flottant. Dans un mode d'utilisation préférentiel du système, on utilise un clavier séparé en deux zones de jeu autour d'un point fixe. Toute note enfoncée à droite du point de séparation sera par exemple une action Al et toute note enfoncée à gauche du même point sera une action A2. La fixité du point de séparation peut être la cause d'erreur de jeu et également être un frein à la libre expression. Afin de remédier à ces inconvénients, l'invention prévoit plusieurs solutions dont l'affectation dynamique des actions en fonction du déroulement temporel. Dans ce cas, le système sait, en considérant le contenu de la mémoire MA pour l'index temporel de la prochaine action, quels événements sont préférentiellement attendus à un instant donné. Lorsque survient l'action en question, le système décide s'il s'agit d'une action Al ou A2 en fonction de ce qui est probable à l'instant considéré. Si les deux types d'action étaient attendus à cet instant, le système choisirait d'affecter les actions Al et A2 en fonction de la position respective des identifiants reçus, c'est-à- dire du numéro de notes du clavier. Une autre solution réside dans le recours à un capteur supplémentaire tel qu'un accéléromètre placé sur les parties mobiles du ou des exécutants, par exemple sur les poignées gauche et droit. Le système analyse la simultanéité des signaux reçus des actionneurs de jeu et des capteurs qui afficheront un pic de signal lorsqu'une touche est enfoncée. La concordance temporelle permet de déterminer la façon précise quelle est la source d'action à tout instant. Evidemment un tel système trouve essentiellement son utilité en complément des actionneurs MIDI traditionnels tels que les claviers. REVENDICATIONS 1. Système d'interprétation de musique préenregistré assisté par ordinateur, du type comprenant essentiellement au moins un actionneur musical actionnable par un utilisateur interprète, des moyens de mémoire de stockage d'informations musicales relatives à la partition d'un morceau de musique à interpréter par l'utilisateur et des moyens de transmission des informations musicales à un dispositif électronique/informatique adapté pour produire des signaux audio à partir des informations musicales reçues, caractérisé en ce qu'il comprend une mémoire (MM) des données musicales, qui définissent la totalité des événements musicaux (EM) constituant le morceau de musique a interpréter. 2. Système selon ma revendication 1, caractérisé en ce qu'il comprend une mémoire (MA) de la séquence des actions nécessaires pour la reproduction des événements musicaux (EM) stockés. 3. Système selon l'une des revendications 1 ou 2, caractérisé en ce que la mémoire (MM) est structurée de façon qu'à chaque événement musical (EM) à reproduire est associé un index temporels désignant le nombre de pas de résolution existant entre le début du morceau à reproduire et cet événement, à un index temporels pouvant être associés plusieurs événements musicaux (EM). 4. Système selon la revendication 3, caractérisé en ce que chaque événement musical est constitué par une série d'un nombre de valeurs numériques prédéterminées, relatives notamment l'affectation de l'événement EM à l'actionneur correspondant et à l'exécution de l'événement. 5. Système selon l'une des revendications 1 à 4, caractérisé en ce que la mémoire (MA) contient, associée à des index temporels pour lesquels existe un événement musical (EM), la liste des actions attendues del'actionneur correspondant ainsi que la façon dont doit être traitée chacune de ces actions. 6. Système selon la revendication 5, caractérisé en ce que la mémoire (MA) contient le numéro de l'actionneur ayant produit l'action et le statut de l'action qui pourrait être une action de synchronisation (AS) ou non. 7. Système selon la revendication 6, caractérisé en ce que la mémoire (MA) comporte, associés à chaque index temporels pour lesquels existe un événement musical, pour chaque actionneur présent dans le système, l'instant de la prochaine action de synchronisation ainsi que l'information sur le statut de l'action attendue qui peut prendre trois valeurs respectivement représentatives de l'absence d'une action attendue, d'une action de synchronisation (AS) et d'une action non synchronisante. 8. Système selon la revendication 7, caractérisé en ce qu'il comprend, dans chaque piste dont fait partie un actionneur un générateur de séquence temporelle (GST), qui est adapté pour vérifier si dans la mémoire (MA) une action est prévue et, dans l'affirmative, si cette action est une action simple ou une action synchronisante (AS). 9. Système selon la revendication 8, caractérisé en ce que le générateur de séquence temporelle (GST) est adapté pour ignorer une action en provenance de l'actionneur si aucune action n'était attendue à cet instant selon la mémoire (MA), ou, si une action non synchronisante est attendue, pour provoquer la lecture de l'événement musical dans la mémoire (MM), et pour faire jouer l'événement par l'unité de synthèse audio (AU) ou, dans le cas où à cet instant une action de type de synchronisation (AS) est présente dans la mémoire (MM), pour déterminer par calcul la vitesse instantanée d'exécution du morceau par la personne interprète et le nombre de pas de résolution temporelle jusqu'à la prochaine action de synchronisation attendue selon la mémoire (MA) et la génération de la séquence rythmiqued'index temporels à une cadence correspondant à la vitesse calculée. 10. Système selon l'une des revendications 1 à 9, caractérisé en ce qu'il comprend un mécanisme de purge (PU) permettant à l'utilisateur de jouer certains événements musicaux (EM) de façon prioritaire dans le cas d'accélération importante de son jeu. 11. Système selon la revendication 10, caractérisé en ce que le mécanisme de purge est constitué d'une mémoire par piste contenant, à tout instant, les événements musicaux (EM) tels que des débuts de note ou l'enfoncement de pédale et, pour chaque note initiée ou pédale enfoncée l'index indiquant la fin prévue de cette note ou le relâchement de pédale. 12. Système selon la revendication 11, caractérisé en ce que lorsque la séquence d'index temporels parvient normalement à l'événement (EM) contenant l'arrêt d'une note stockée dans la mémoire de purge, cet événement (EM) est joué et la note arrêtée et supprimée dans la mémoire. 13. Système selon l'une des revendications 10 à 12, caractérisé en ce que le mécanisme de purge est adapté pour être entièrement parcouru à la réception de toute nouvelle action et lorsqu'il y a des événements (EM) tels qu'une note ou une pédale dont l'index temporel est inférieur à celui de l'action en cours de traitement, la note est arrêtée ou la pédale relâchée et retirée de la mémoire de purge. 14. Système selon l'une des revendications 1 à 13, caractérisé en ce qu'il comporte un mécanisme de filtrage d'un événement musical (EM) lorsqu'un tel événement doit être joué par le système soit parce qu'un actionneur a déclenché cet événement soit parce qu'une séquence temporelle en cours d'exécution l'a provoqué. 15. Système selon la revendication 15, caractérisé en ce que le mécanisme de filtrage comporte une interface dédiée permettant à l'utilisateur d'instaurer un filtrage lui-même. 16. Système selon l'une des revendications 1 à 15, caractérisé en ce qu'il comporte des moyens d'une gestion avancée des arrêts de notes permettant le jeu de polymélodie. 17. Système selon l'une des revendications 1 à 16, caractérisé en ce qu'il comporte un mécanisme de séparation de clavier à point flottant.