Procédé pour adjoindre à un signal sonore codé de l'information complémentaire, notamment textuelle, destinée à être visualisée. La présente invention est relative à un procédé permettant d'adjoindre à un signal sonore représentant une séquence musicale de l'information textuelle ou musicale complémentaire destinée à être affichée au cours de l'exécution de la séquence musicale. De l'information de cette nature peut être, mais n'est pas nécessairement, un texte sur lequel est écrite la séquence musicale.
D'après le document EP 0 675 666, il est connu de faire défiler sur un écran d'affichage d'un appareil se présentant sous la forme d'un microphone, les paroles et la musique d'une chanson qu'un exécutant est censé chanter en se faisant accompagner par une séquence musicale qui est reproduite au moyen d'une installation sonore fonctionnant selon la norme bien connue appelée MIDI (acronyme anglo- saxonne pour "Musical Instrument Digital Interface") .
L'appareil ou microphone est équipé d'une ou de plusieurs mémoires mortes dans lesquelles sont préalablement stockées les paroles ou les autres informations musicales nécessaires à l'exécution. Pendant cette exécution, la séquence musicale MIDI d'accompagnement est reproduite pendant que les paroles et autres informations complémentaires sont extraites de la ou des mémoires mortes au rythme du signal de synchronisation MIDI et affichées sur l'écran du microphone.
Ce système de reproduction musicale et textuelle présente peu de souplesse du fait que l'ensemble de l'information textuelle doit être préenregistré dans des mémoires mortes de grande capacité devant être incorporées ou éventuellement spécialement adjointes par enfichage au microphone.
D'après un autre document à savoir le EP 0 503 978, il est connu un procédé de création d'enregistrements mixtes, par exemple sur disque compact, de séquences sonores et de
séquences textuelles, par lequel la séquence textuelle est codée sous la forme d'un signal vidéo qui est reproduite et affichée en même temps que la séquence sonore se fait entendre. Ce procédé présente la même rigidité d'emploi que l'appareil connu du document analysé précédemment.
L'invention a pour but de proposer un procédé pour former des enregistrements comprenant des séquences musicales accompagnées d'informations complémentaires relatives à ces séquences musicales afin de les visualiser pendant l'exécution des séquences musicales, enregistrements qui nécessitent au niveau de la reproduction une capacité de mémoire très réduite par rapport à la capacité de mémorisation qui était requise dans les procédés de la technique antérieure. L'invention a donc pour objet un procédé de codage d'informations complémentaires aux informations musicales d'une séquence sonore codée sous la forme d'une suite d'échantillons numériques, notamment des informations complémentaires textuelles sur lesquelles ladite séquence sonore est écrite, en vue de permettre la visualisation desdites informations complémentaires en synchronisme avec le déroulement de ladite séquence sonore, caractérisé en ce qu'il consiste à décomposer lesdites informations complémentaires en des éléments codés numériquement et à mélanger lesdits éléments codés numériquement aux échantillons binaires au fur et à mesure de leur apparition dans ladite séquence musicale, de manière à engendrer une séquence mixtes d'échantillons comprenant à la fois lesdites informations musicales et lesdites informations complémentaires.
Grâce à ces caractéristiques, une séquence sonore formée à 1 ' aide du procédé de 1 ' invention est constituée elle-même d'un mélange d'échantillons codés représentant, selon l'ordre dans lequel ils doivent être restitués, aussi bien les informations purement musicales relatives à la
partition que les informations textuelles ou autres. Ceci a pour conséquence que toutes les informations sont intrinsèquement synchronisées les unes sur les autres, le matériel de restitution les recevant au fur et à mesure du déroulement de la séquence sonore. Ainsi, l'appareil chargé de visualiser les informations complémentaires n'a pas besoin d'une mémoire de grande capacité car les échantillons peuvent être traités immédiatement après être apparus dans la séquence sonore. Il en résulte qu'un simple registre de la longueur d'un échantillon suffit pour permettre ce traitement.
En outre, comme l'information complémentaire est insérée dans le message musical ambiant qui conserve sa forme habituelle de fichier musical, la restitution de ce message n'est aucunement perturbée par la présence des informations complémentaires.
L'invention a également pour objet un support d'enregistrement sur lequel est enregistré une séquence sonore obtenue par le procédé tel que défini ci-dessus. L'invention a en outre pour objet un dispositif de visualisation d'informations complémentaires contenues dans une séquence mixte obtenue par le procédé tel que défini ci- dessous caractérisé en ce qu'il comprend des moyens d'extraction pour extraire de ladite séquence mixte les échantillons codés comportant lesdits éléments codés numériquement; des moyens de stockage connectés auxdits moyens d'extraction pour mémoriser temporairement les échantillons extraits; - des moyens de traitement pour traiter les échantillons mémorisés afin de séparer les éléments codés numériquement des échantillons; et des moyens d'affichage connectés auxdits moyens de traitement pour visualiser les éléments codés ainsi séparés.
D'autres caractéristiques et avantages de l'invention apparaîtront au cours de la description qui va suivre, donnée uniquement à titre d'exemple et faite en se référant aux dessins annexés sur lesquels: - la figure 1 est un diagramme représentant un échantillon ou message selon le standard MIDI; la figure 2 met en évidence un exemple de décalage temporel entre de l'information musicale et de l'information textuelle complémentaire pouvant être mis en oeuvre dans le procédé et le dispositif selon l'invention; la figure 3 est un schéma simplifié d'une installation de restitution sonore équipée d'un dispositif permettant de visualiser 1 ' information complémentaire codée selon l'invention; - les figures 4 et 5 sont deux organigrammes illustrant le fonctionnement du dispositif de visualisation selon l'invention, organigrammes qui décrivent deux boucles d'interruption exécutées dans ce dispositif.
La figure 1 représente pour mémoire un message selon le standard MIDI qui, dans le cadre de la présente invention, peut être assimilé à ce qui est appelé un "échantillon".
Pour trouver une description détaillée du standard MIDI et des signaux qu'elle implique, on pourra se reporter à l'ouvrage de Jean-Jacques Quinet publié en 1990 dans "Les Dossiers de l'AMCE", édité à Bruxelles par l'auteur.
Comme représenté sur la figure 1, un message ou échantillon MIDI E est composé généralement de trois octets, à savoir un octet de statut S et deux octets de données Dl et D2. Certains messages peuvent ne comprendre que l'octet de statut S, d'autres un octet de statut S et un seul octet de données.
Chaque octet est encadré par un bit de début BD (Start) au niveau "0" et un bit de fin BF (STOP) au niveau "1", le bit de début BD étant suivi du bit de poids le plus faible de l'octet qui le suit. Une séquence MIDI est composée d'une
pluralité de ces messages ou échantillons se suivant dans le temps. On notera que l'octet de statut S comporte toujours un bit de plus grand poids (bit 7 sur la figure 1) au niveau "1" servant à l'identifier. De même pour l'identification d'un octet de données (Dl ou D2), le bit de plus grand poids présente le niveau "0". Les autres bits de chaque octet contiennent de l'information significative relative à la séquence MIDI à transmettre. Ces bits sont donc sélectivement au niveau "1" ou au niveau "0". II est à noter que sur la figure 1, on admet que l'échelle des temps est croissante de gauche à droite, le bit le plus à gauche étant donc celui qui se présente en premier dans la séquence MIDI. La flèche F indique le sens de présentation dans la séquence. L'octet de statut S est divisé en deux parties. Les quatre bits de poids le plus faible désignent un "canal" qui dans une installation musicale MIDI, correspond à la désignation d'un appareil et/ou d'un instrument donné parmi un certain nombre d'appareils et/ou d'instruments participant à l'exécution de la séquence MIDI. Il peut donc y avoir au maximum seize appareils et/ou instruments distincts dans une telle installation. Un échantillon E n'est pris en compte par un appareil de l'installation que si l'octet de statut S présente le numéro de canal qui lui correspond dans celle-ci.
Le standard MIDI prévoit que trois bits des quatre bits de poids fort de 1 ' octet de statut S peuvent coder huit types de commandes, tels que par exemple "Note On", "Note Off" etc. et également un type de commande annonçant que le premier octet de données du message ou de l'échantillon considéré définit une commande particulière appelée "contrôleur" dans le langage MIDI. Ce type de commande est identifié par le nombre binaire "1011" ou "B" en numération hexadécimale.
Dans un échantillon dont l'octet de statut présente ce type de commande "B", l'octet de données Dl peut ainsi coder 128 de ces "contrôleurs". La plupart de ceux-ci ont une affectation particulière définie de façon rigide par le standard MIDI; d'autres peuvent être librement affectés par les utilisateurs à des commandes particulières.
Selon l'invention, au moins l'un des contrôleurs parmi les contrôleurs libres code le fait que le second octet de données D2 d'un échantillon MIDI est une valeur binaire traduisant un signe appartenant à de l'information complémentaire à la séquence musicale MIDI proprement dite, cette information pouvant être soit textuelle, soit d'ordre musical, par exemple de l'information qui assiste l'exécutant ou les exécutants pendant la reproduction de la séquence musicale, soit encore un signal de commande pouvant définir des propriétés particulières de l'affichage de l'information complémentaire en question.
Ainsi, si à titre d'exemple, l'octet de données Dl définit un contrôleur utilisé pour l'information complémentaire textuelle, il peut porter le n°54 (38 en hexadécimal); l'échantillon MIDI selon l'invention présente alors la forme (en hexadécimal) suivante:
{ [x] [B].[38].[dd]}
dans laquelle x est le canal affecté au dispositif de visualisation de l'information complémentaire et dd la valeur du signe alphanumérique appartenant à cette information complémentaire textuelle. Une caractéristique essentielle du procédé selon l'invention consiste ainsi à décomposer l'information complémentaire à une séquence MIDI musicale, en des éléments d'information distincts qui sont "traduits" selon le standard MIDI et imbriqués dans la séquence MIDI musicale
proprement dite. Ainsi, si l'information complémentaire est textuelle, celle-ci est "épelée" et chaque signe alphanumérique d'un texte est traduit en un code binaire qui est incorporé dans l'octet de données D2 de certains échantillons de la séquence MIDI, un échantillon ainsi constitué étant à son tour imbriqué dans la suite de messages ou échantillons MIDI représentant l'information musicale proprement dite.
Pour illustrer ce concept de l'invention, on va examiner un exemple simple basé sur la mélodie et les paroles de la chanson enfantine "Au clair de la lune, mon ami Pierrot ", la partition mélodique du premier tronçon de phrase "Au clair de la lune" étant représentée sur la figure 2. Dans l'exemple, le codage de l'information textuelle est réalisé selon le code ASCII; cependant l'homme de métier comprendra que d'autres systèmes de codage peuvent également convenir .
Le type de codage ASCII donne pour ledit premier tronçon de phrase la suite d'échantillons MIDI suivante:
{[x] [B] .[38] .[41]} = 'A'
{[x] [B] .[38] • [75]} = 'u'
{[X] [B] • [38] • [20]}
{[x] [B] . [38] • [63]} = 'C'
{[x] [B] [38] [6B]} = '1'
{[X] [B] [38] [61]} = 'a'
{[x] [B] [38] . [69]} = 'i'
{[x] [B]. [38] [72]} = 'r'
{ [x] [B] . [38]. {20]} etc.
{[x] [B]. [38]. [2C]} /
On a déjà précisé que l'in ormation complémentaire peut également être d'ordre musical, les échantillons y relatifs
ayant toujours un octet de statut de valeur xB, mais présentant un contrôleur d'une valeur différente de 38 choisie parmi les contrôleurs libres définis par le standard MIDI. Cette information peut être, par exemple un top de métronome visualisé aux instants appropriés pendant le déroulement de 1 ' exécution musicale. D'autres échantillons comprenant d'autres contrôleurs peuvent contenir des informations d'accord, des informations sur la façon de présenter la mélodie écrite sur les paroles visualisées etc. Comme également déjà mentionné, la visualisation de l'information complémentaire peut être pilotée par des ordres contenus dans les octets de données Dl et D2 de certains échantillons de la séquence MIDI . Ces échantillons dits "de commande" peuvent entraîner l'accomplissement des fonctions suivantes, la liste n'étant pas limitative: Mémoriser un caractère de texte à afficher, Afficher le texte mémorisé avant le moment où il doit être chanté, (décalage ΔT)
Afficher un caractère de texte, - Souligner une portion de texte affiché au moment où elle doit être chantée,
Afficher une tonalité en fonction d'une table mémorisée en mémoire morte,
Afficher à l'avance un caractère identifiant un accord,
Afficher un accord entier au moment où il doit être reproduit,
Afficher un symbole de métronome à un instant approprié, - Redéfinir le dessin d'un caractère suivant une matrice de sept fois cinq points,
Affecter à un caractère un dessin d'une matrice stockée en mémoire morte,
Indiquer, par une adresse d'une table de conversion, dans quelle langue doit être affichée une tonalité,
Modifier le mode d'affichage et d'exploitation des informations qui arriveront par la suite, - etc.
On constate donc que certaines de ces commandes impliquent des opérations affectant l'affichage d'informations textuelles, tandis que d'autres permettent de commander l'affichage d'informations musicales, telles qu'un accord, le rythme ou analogues, assistant un exécutant dans la reproduction de la séquence musicale proprement dite.
On va maintenant se référer à la figure 3 qui représente très schématiquement une installation d'exécution musicale de type MIDI incorporant un dispositif de visualisation et permettant d'interpréter une séquence musicale codée selon le procédé de l'invention. Le dispositif de visualisation est désigné par la référence générale 1.
Dans le mode de réalisation représenté, on a supposé qu'il s'agit d'une installation d'exécution musicale impliquant un synthétiseur I (connu en soi) adapté pour restituer électroniquement l'information musicale d'une séquence MIDI; ce synthétiseur est raccordé à un haut- parleur HP. L'installation comprend également un lecteur source LC, formé par exemple par un ordinateur personnel capable de lire un support d'enregistrement contenant un fichier de séquence MIDI enregistrée selon le procédé de l'invention, par exemple sur une disquette souple que l'on trouve couramment sur le marché. Les signaux de la séquence MIDI lus par le lecteur LC passent sur un bus commun 2 de conception classique en technique MIDI, bus qui est également connecté au dispositif de visualisation 1 et à un microphone MIDI M.
Dans l'exemple décrit, le dispositif de visualisation 1 est destiné à assister un ou plusieurs exécutants, par exemple un chanteur ou une chorale dont le synthétiseur I assure l'accompagnement. Ainsi, ce ou ces exécutants peuvent en observant le dispositif de visualisation 1, lire le texte sur lequel l'oeuvre musicale a été écrite, et ce pendant le déroulement de 1 ' exécution de 1 ' accompagnement réalisée par le synthétiseur I. Il (s) peu(ven)t également recevoir d'autres informations complémentaires relatives par exemple à des instructions d'harmonie, de contrepoint ou de nuances, un rythme visuel, etc.
Le dispositif d'affichage 1 comprend une entrée MIDI 3 (appelée "IN" dans la terminologie MIDI) et connectée au bus commun 2. Cette entrée est connectée à une interface MIDI 4 de type classique comprenant notamment un opto-coupleur et communiquant avec un microprocesseur 5. Celui-ci peut être du type 80C31 par exemple et il est connecté à une mémoire symbolisée ici par un seul bloc 6. Cette mémoire comporte des sections ROM et RAM. L'une de ces sections 7 contient le programme de travail du microprocesseur 5. Une autre section est un registre 8 essentiel pour la présente invention, car destiné à stocker successivement les échantillons de la séquence MIDI identifiés dans leur octet de statut par le nombre hexadécimal "B" . Chaque échantillon retenu ainsi par le microprocesseur 5 est traité immédiatement et ensuite remplacé par l'échantillon suivant marqué par le nombre "B". On voit donc que les échantillons d'information complémentaire ne sont pas accumulés dans le dispositif de visualisation 1 préalablement à l'exécution d'une oeuvre musicale, mais au contraire traités au fur et à mesure qu'ils apparaissent dans la séquence MIDI. Le dispositif de visualisation 1 n'a donc pas à être équipé d'une mémoire de grande taille.
La mémoire 6 comporte également une section tampon 9 dite d'affichage de lignes, et plusieurs sections 10, 11 et 12 formant des tables dont le but apparaîtra par la suite.
Le microprocesseur 5 est également connecté à un écran d'affichage 13 par l'intermédiaire d'un bus directionnel 14. Dans l'exemple décrit ici, l'écran d'affichage est capable d'afficher deux lignes de texte superposées 13a et 13b de 40 caractères chacune. Un écran à cristaux liquides ou tout autre type d'écran connu peut convenir. Le dispositif de visualisation comporte également un convertisseur à découpage 15 permettant d'alimenter ses divers composants à une tension de 5V, par exemple à partir d'une pile de 9V connectée à une borne 16. Bien entendu, d'autres modes d'alimentation sont possibles. Le dispositif de visualisation 1 peut revêtir de nombreuses formes. Par exemple, il peut être logé dans un boîtier adaptable à un pied de microphone, être installé sur un lutrin ou sur un instrument de musique etc. Mais, il peut également être réalisé sous d'autres formes comme par exemple :
- un appareil de rétro-projection, qui peut être inclus dans un casque personnel, en transparence sur l'oeil directeur de l'utilisateur, ou bien en projection stéréoscopique de proximité (représentation "virtuelle" isolée) ; - un projecteur vidéo, un écran cathodique ou un téléviseur ;
- un écran plat de type matriciel, monochrome ou couleur, tel que ceux qui équipent la plupart des ordinateurs dits "portables". On notera que le dispositif de visualisation peut être connecté au bus 2 par une liaison filaire, hertzienne ou analogue .
Au cours de l'exécution de l'oeuvre musicale, tous les échantillons de la séquence MIDI circulant sur le bus 2 sont appliqués à l'entrée 3. Le microprocesseur 5 sélectionne
uniquement les échantillons dont l'octet de statut comporte le code du canal qui dans l'installation est affecté au dispositif de visualisation 1 et le code B identifiant qu'il s'agit d'un échantillon relatif à l'information complémentaire. Il est à noter que l'affectation du canal peut également être faite par défaut par exemple sur le canal 16.
Les échantillons sélectionnés par le microprocesseur 5 sont stockés temporairement dans le registre 8. On rappelle que, selon une caractéristique importante de l'invention, celui-ci ne retient un échantillon donné que pendant le temps nécessaire à son analyse par le microprocesseur 5. Il est ensuite remplacé immédiatement par l'échantillon suivant et ainsi de suite. On voit donc qu'il n'est pas nécessaire de stocker au préalable l'ensemble de l'information complémentaire, ni de la reproduire à l'aide d'un mécanisme de synchronisation quelconque, la synchronisation selon l'invention étant réalisée automatiquement par la seule relation temporelle qu'ont les échantillons "musicaux" et les échantillons d' "information complémentaire" dans la suite de la séquence MIDI mixte.
L'analyse faite par le microprocesseur 5 consiste d'abord à mémoriser le ou les octets de données Dl et D2 afin de permettre leur traitement ultérieur ou leur application approprié à l'une des unités qui sont raccordées au microprocesseur 5.
Ainsi, si le contrôleur de l'octet D2 correspond à une commande d'affichage d'un signe alphanumérique (38 dans l'exemple), l'octet D2 qui contient alors le code ASCII correspondant, est acheminé vers la mémoire tampon 9.
On va maintenant examiner de quelle façon les échantillons relatifs respectivement à l'information musicale et à 1 ' information complémentaire sont imbriqués les uns dans les autres, en s 'aidant de l'exemple déjà énoncé ci-dessus.
Cette description suppose que, comme représenté sur la figure 3, l'écran d'affichage comporte deux lignes 13a et 13b appelées respectivement ligne haute LH et ligne basse LB. On verra que ce mode d'affichage permet à un exécutant de plus facilement anticiper le texte qu'il a à chanter au cours de l'exécution musicale. Les deux lignes de l'écran d'affichage 13 correspondent à deux sous-sections 9a et 9b de la section de mémoire tampon 9.
La séquence MIDI envoyée par le lecteur source LC envoie d'abord la première phrase de la chanson, les échantillons étant codés comme déjà indiqués ci-dessus. Ainsi, le dispositif de visualisation reçoit les signaux suivants, Txx désignant les instants successifs de réception:
TOn : (|A|u| Idllalilrl | ... I lal lil I P| i |e| r | r | o| t| , | )
Cette information textuelle est stockée dans la sous- section basse 9b du tampon 9 sur un ordre contenu dans l'échantillon suivant immédiatement celui ( { [x] [B] . [38] . [2C] } ) codant la virgule après le mot "Pierrot". Il peut s'agir de l'échantillon { [x] [B] . [38] . [OD] } , OD étant le code ASCII pour "retour de chariot". Selon le mode d'affichage choisi, cet ordre peut également entraîner 1 ' affichage réel à la ligne 13b de l'écran 13, comme suit:.
TOp : |_|_|_ IJ_I_I_IJ_I_I_I_I_I_I_I_I = Oigne haute) |A|u| Idllalilrl I |a|m|i| | P|i|e|r| r|o|t| , I = (ligne basse)
La séquence MIDI envoyée ensuite par le lecteur source LC contient maintenant la seconde phrase de la chanson:
|P|r|ê|t|e|-|m|o|i| |é|c|r|i|r|e| |u|n| |m|o|t|.
Cet ensemble d'échantillons est suivi d'un échantillon de commande de la forme { [x] [B] . [16] . [es] } permettant la vérification de l'information qui vient d'arriver. Plus précisément, il est interprété par le microprocesseur 5 pour vérifier si le nombre de signes reçus pour la première phrase est correcte, le code 16 étant le contrôleur incitant le microprocesseur 5 à effectuer la vérification et le code es représentant le nombre en hexadécimal de ces signes (vérification dite "CHECK-SUM") . La vérification ayant eu le résultat escompté, le microprocesseur 5 commande l'affichage de la phrase en ligne haute 13a sur l'écran 13.
L'échantillon suivant est codé { [x] [B] . [38] . [OD] } qui provoque l'ordre de stockage de la seconde phrase qui vient d'être envoyée.
Dans le mode d'affichage décrit ici, on suppose que l'exécutant est assisté dans l'interprétation en voyant affichée sur la ligne basse 13b de l'écran 13 la syllabe qu'il a à chanter sur une note donnée. A cet effet, la séquence reçue comprend maintenant un échantillon de commande de la forme { [x] [B] . [3F] . [03] }, le code 3F étant le contrôleur provoquant l'affichage de la syllabe et le nombre 03 codant le nombre de signes à afficher pour cette syllabe (un espace entre les mots compris) . Ceci revient à la représentation suivante sur l'écran:
TOsl : |A| u | | c | l | a | i | r | I . . . | | a |m| i | I P l i I e | r | r | o | t | , I = (ligne haute) |A| u | l_l_l_l_l_l_l • • • MJ JJ J JJJJ J J ' (ϋβne basse) La séquence MIDI contient maintenant un échantillon d'information musicale pure représentant la première note de la chanson qui est un "DO" (voir figure 2) . Cet échantillon peut être de la forme { [x] [9] . [48] . [40] } . Dans cet échantillon x représente le canal du synthétiseur I, 9, la commande "NOTE ON", 48 le numéro de note correspondant à la hauteur tonale du "DO" envisagé et 40 le code de vélocité, selon les critères bien
connus du standard MIDI. Cet échantillon est suivi de l'échantillon de la forme { [x] [8] . [48] . [7F] } dans lequel x est de nouveau le code de canal du synthétiseur I, 8 le code de "NOTE OFF", 48 le rappel du numéro de la note à laquelle on se réfère et 7F le code de vélocité maximale, comme cela est prescrit par le standard MIDI. Il en résulte la restitution du "DO" de la première note de la mélodie pendant qu'en même temps l'exécutant voit mis en évidence sur la deuxième ligne 13b de l'affichage, la syllabe "AU" qu'il a à chanter sur cette note.
L'échantillon suivant est de nouveau une commande de mise en évidence de la forme { [x] [B] . [3F] . [06] } , le code 06 représentant le nombre de lettres du mot "CLAIR" de la première phrase de la chanson (y compris un espace entre les mots) . L'affichage devient:
T0s2 : |A|u| |c|l|a|i|r| | I lalmlil I PI i |e| r| r|o|t| , | = (ligne haute) I I I Idllalilrl I 1 1 1 1 1 1 1 1 1 1 1 1 1 1 = (ligne basse)
L'échantillon suivant est de la forme { [x] [9] . [48] . [40] } qui provoque la restitution par le synthétiseur I du second "DO" de la mélodie (figure 2), suivi de l'échantillon de la forme { [x] [8] . [48] . [7F] } qui coupe la reproduction de cette seconde note.
Le processus se poursuit ainsi pour permettre le déroulement de la première phrase de la chanson, les derniers affichages avec lesquels sont synchronisés automatiquement les notes de la partition, étant successivement les suivants:
TOsw |A|u| |c|l|a|i|r| |a|m|i| |P|i|e|r|r|o|t| «= (ligne haute) I I I I I I I I I Ia| I I I I I I I I I I = (ligne basse)
TOsx lAlul Idllalilrl lalmlil I P|i |e| r | r |o| t| , = (ligne haute) I I I I I I _|_|m|i|_|_|_|_|_|_|_|_|_ - (ligne basse)
TOsy |A|u| Idllalilrl |a|m|i| |P|i |e| r | r|o| 11 , « (ligne haute) I I I I I I I I I M i l |P|i|e|r| | | | •≈ (ligne basse)
TOsz |A|u| |c|l|a|i|r| lalmlil | P|i |e| r I r |o| t | , = (ligne haute) I I I I I I I I |r|o|t|, = (ligne basse)
Pendant l'affichage de la dernière syllabe de la première phrase, un échantillon de la forme { [x] [B] . [16] . [es] } pourra provoquer l'affichage de la phrase suivante en ligne haute et l'initialisation de l'affichage de la première syllabe mise en évidence pour l'exécution de la seconde phrase de la chanson à la ligne basse 13b, et ainsi de suite.
L'espacement temporel des échantillons dans la séquence
MIDI est prévu de la façon habituelle en utilisant le nombre requis d'unités temporelles fondées sur une base de temps de l'installation, en fonction du rythme choisi pour la chanson.
Selon une caractéristique particulière de l'invention illustrée sur la figure 2, l'affichage syllabique des paroles de la chanson peut être fait par anticipation d'un certain délai ΔT précédant l'exécution de la ou des notes sur lesquelles ces syllabes sont écrites. Ce délai est généré par un simple décalage, en amont dans le temps, des échantillons textuels par rapport aux échantillons musicaux. Ce décalage peut donc aisément être déterminé au moment de l'écriture du fichier MIDI représentant la séquence dont il est question ici. Un tel délai facilite notablement la lecture pour l'exécutant qui aura alors non seulement à sa disposition la phrase totale devant être chantée, mais également, par anticipation la syllabe correspondant à la note qui va être entendue, après expiration du délai ΔT et ce successivement pour toute syllabe associée à cette note.
On a précisé ci-dessus qu'en pratique, tous les échantillons autres que ceux identifiés par un octet de statut S codé xB sont ignorés lors de la sélection par le microprocesseur 5. Cependant, une exception a cette règle peut être faite pour les échantillons dénommés Sys-Ex dans la terminologie MIDI (pour System Exclusive Messages) et plus particulièrement pour ceux identifiant les remises à zéro et les pauses qui sont des commandes bien connues dans
la technologie MIDI; tous les autres échantillons Sys-Ex sont ignorés jusqu'à la réception de l'octet de fin [F7] .
On a également vu que la séquence MIDI mixte selon l'invention peut comprendre des échantillons de commande entraînant l'affichage d'informations complémentaires d'ordre musical, telles que par exemple le rythme, des données graphiques ou littérales sur les accords, des données sur les nuances, les crescendos et decrescendos etc. De telles informations d'ordre musical, pourront être appelés collectivement à partir des tables 10, 11 et 12 de la mémoire 6, à la suite de la réception de ces échantillons de commande, les tables pouvant contenir des sous-programmes pour assurer l'affichage de ces informations. Ainsi, la table 10 peut stocker des informations sur les accords, la table 11 peut être une table de conversion linguistique pour l'affichage de commentaires dans des langues données et la table 12 pourra contenir des commandes ou jeux de commandes pour assurer l'affichage des informations dans certains modes donnés . Le dispositif de visualisation 1 ne conservant en mémoire (registre 8) pas plus d'un seul échantillon composé au maximum de trois octets, un autre avantage important de l'invention réside dans le fait que les échantillons de commande porteurs de signaux de commande des diverses fonctions peuvent être imbriqués les uns dans les autres. Comme certaines de ses fonctions ne peuvent pas être exécutées en même temps, un système de priorités des commandes peut être défini dans le programme gérant le microprocesseur 5 de telle manière que les signaux de commande puissent être traités selon les besoins. Cette particularité due à l'invention permet d'accroître encore davantage la souplesse dont on dispose dans l'écriture d'une séquence MIDI mixte.
Lorsque le dispositif de visualisation 1 est initialisé, il est placé par défaut dans une configuration
donnée notamment en ce qui concerne la langue de l'affichage (unité 11) et le mode d'affichage (unité 12). Cette configuration peut être modifiée, soit par des échantillons particuliers de la séquence MIDI, soit éventuellement par commande manuelle à l'aide d'un bouton de commande 17 prévu sur le dispositif de visualisation 1 et raccordé au microprocesseur 5.
Le programme exécuté par le microprocesseur 5 comporte une boucle principale qui n'a à exécuter que deux tâches à savoir d'une part le rafraîchissement de l'affichage sur l'écran 13 en fonction des commandes reçues à partir des échantillons et du mode de fonctionnement choisi, et d'autre part l'exécution des ordres de changement de mode (comme le mode karaoké ou songpad, par exemple) . Les figures 4 et 5 représentent deux boucles d'interruption sur lesquelles la boucle principale dévie d'une part pour assurer l'affichage et d'autre part pour traiter les échantillons dans lesquels l'octet Dl code un contrôleur régissant les fonctions particulières de commande comme décrites ci-dessus.
Une première boucle d'interruption de la boucle principale du programme est représentée sur la figure . Cette boucle d'interruption concerne principalement l'affichage assuré par le dispositif de visualisation 1. Après l'initialisation (étape Bl) du dispositif de visualisation 1, le microprocesseur 5 attend à l'étape B2 l'échantillon MIDI { [x] [B] . [7A] . [00] } qui est propre à commander la remise à l'état initial de divers composants du dispositif de visualisation 1, notamment l'effacement du tampon d'affichage 9 et donc de l'écran 13, la suppression du signe de métronome, l'effacement du signe de tonalité etc.
Le microprocesseur 5 attend alors à l'étape B3, l'échantillon de la séquence MIDI identifiant un message prioritaire éventuel. Ce dernier peut être composé d'un
texte affiché avant que l'exécution de l'oeuvre musicale ne commence. Par exemple, le message peut indiquer l'auteur de l'oeuvre, le titre, l'indication concernant les droits d'auteur etc. Si un tel échantillon est reçu, le microprocesseur attend les échantillons suivants traduisant, par exemple en code ASCII les signes alphanumériçfues du message qui sont stockés dans la mémoire tampon 9 à l'étape B4.
A l'issue de ce stockage, le sous-programme reboucle sur l'opération B3 dont le test reçoit cette fois-ci une réponse négative. La boucle passe alors au test suivant
(étape B5) pour reconnaître l'échantillon identifiant la commande d'affichage sur la ligne 13a de l'affichage. En cas d'arrivée de l'échantillon correspondant, le programme passe de nouveau à l'étape B4 et repasse les tests B3 et B5. Ceux-ci recevant une réponse négative, un échantillon est attendu (test B6) identifiant une commande d'affichage à la ligne basse 13b de l'écran d'affichage 13. Dans l'affirmative, le sous-programme retourne à l'étape B4 à l'issue de laquelle les tests B3, B5 et B6 sont de nouveau exécutés. S'ils reçoivent tous une réponse négative, le sous-programme passe au test B7, pour identifier un échantillon correspondant à la commande de mise en évidence de syllabe sur l'écran 13. Si un tel échantillon est identifié, le sous-programme passe à une opération de calcul (étape B8) de l'abscisse de l'écran 13 à laquelle la mise en évidence doit commencer. L'information ainsi élaborée est envoyée au tampon 9 pour traitement par l'opération B4. A l'issue de cette opération, le sous-programme passe de nouveau par les opérations B3 et B5 à B7 et si toutes ces étapes reçoivent une réponse négative, un test est effectué
(étape B9) pour identifier un échantillon de commande provoquant une remise à zéro des organes du dispositif de visualisation 1. Le sous-programme reboucle sur l'opération
B3, si ce test s'avère négatif, sinon il reboucle sur l'opération B2.
La figure 5 représente une autre boucle d'interruption ou sous-programme qui permet au microprocesseur 5 de traiter les données contenues dans les octets de données D2 des échantillons pour autant naturellement que ces échantillons aient un octet de statut identifié par le nombre hexadécimal B.
Ce sous-programme démarre en Bll, lorsque le microprocesseur détecte un premier échantillon contenant le code d'un signe textuel à afficher. Un premier test est alors effectué (étape B12) pour vérifier si une suite de signes n'est pas déjà en cours de traitement. Dans l'affirmative, les données des octets D2 des échantillons suivants de la séquence entrante sont stockées dans un tampon de travail appartenant à la RAM 7 du microprocesseur 5 (étape B13) . Sinon, un nouveau test est effectué en B14 pour détecter un ordre d'affichage. Si un tel ordre est reçu, le sous-programme se rebranche sur la boucle principale par l'étape B15. Sinon le sous-programme effectue un test (étape B16) pour identifier un échantillon ayant un contrôleur de commande. S'il en est ainsi, le contrôleur est stocké par le microprocesseur 5 pour traitement ultérieur (étape B17) .
Sinon, le sous-programme passe à un test en B18 pour identifier un échantillon de remise à zéro. Si celui-ci est détecté, la boucle principale en est informée en B19. Sinon, le sous-programme retourne à la boucle principale en B20. Par ailleurs les étapes B13, B15, B17 et B19 aboutissent toutes à un rebouclage sur la boucle principale du programme du microprocesseur 5. L'invention ne se limite pas uniquement à un procédé de codage de séquences musicales mélangées à des informations complémentaires selon le standard MIDI comme on vient de le décrire.
En effet, le procédé selon l'invention peut également s'appliquer dans le cas de séquences musicales codées selon
les méthodes audionumériques dans lesquelles des échantillons numériques sont pris successivement d'une séquence sonore analogiques, comme cela est maintenant très largement répandu pour les disques compacts audio.
Dans ce cas, le procédé de l'invention consiste à remplacer l'un des bits de chaque échantillon, par exemple le bit de poids le plus faible par un bit d'un signal binaire représentant une fraction numérique de la valeur de codage des signes à afficher.
Ainsi, en prenant comme exemple le célèbre canon "Frères Jaccjues" la première lettre du mot "Frère" pourrait être codé de la façon suivante (F en code ASCII = 01000110) :
Séquence audio {F} séquence mixte remarques
[80]=11000000 0 11000000= = [80] identité
[84]=11000100 1 11000101= = [85] différence
[96]=11010110 0 11010110= = [96] identité
[Al]=10100001 0 10100000= = [A0] différence
[9F]=10011111 0 10011110= = [9E] différence
[89]=10001001 1 10001001= ;[89] identité
[6C]=01111100 1 01111101= = [6D] différence
[7F]=01111111 0 01111110= :[7E] différence
On voit que cette façon de coder n'altère çpie très peu la çpαalité d'écoute de la séquence sonore. Ainsi, on peut démontrer que pour une fréquence d'échantillonnage de 44,1 kHz qui est habituelle pour les disques compacts en stéréophonie, le taux de dégradation du signal n'est que de 0,0002% ce qui est négligeable.
Un dispositif de visualisation permettant de capter l'information ainsi codée et de l'afficher sur un écran sera conçu pour appliquer le bit de plus faible poids des échantillons binaires à un décodeur capable de commander un
affichage à l'aide des bits successifs détecté dans le signal d'échantillonnage de la séquence sonore.