Brevet FR2752323A1 — publié le 19980213

La présente invention concerne un procédé et un dispositif pour l'enregistrement en boucles cycliques de plusieurs séquences phoniques, en vue d'une reproduction simultanée de celles-ci, au moyen d'un dispositif incluant un échantillonneur, une mémoire, une unité de contrôle de la mémoire et un moyen de reproduction des sons. L'invention est particulièrement utile pour un dispositif de type play-back pseudo multi-piste destiné à reproduire de façon cyclique selon un coefficient rythmique déterminé différents signaux phoniques échantillonnés et mémorisés conformément au procédé de l'invention. L'importance que prend, dans la musique moderne, la reproduction cyclique de passages musicaux, a poussé certains constructeurs de matériels de traitement du son à fabriquer des échantillonneurs phoniques numériques permettant de mixer d'une manière improvisée différents passages musicaux échantillonnés et mis en mémoire. On connait, par exemple de WO-A-95/10138, un processeur de signaux audio pouvant à la fois échantillonner et traiter des signaux audio. Le processeur peut également traiter des signaux audio externes en temps réel de manière à obtenir des effets complexes de choeurs et d'écho. Dans ce but, le signal audio échantillonné est partagé en deux parties dont l'une est traitée séparément de l'autre. On connait également EP-A-O 551 884 qui traite d'un générateur de signal sonore adapté pour être relié à un microordinateur. On connait également EP-A-O 484 047 qui relate un dispositif fournissant un signal audio nécessitant une séquence dite MIDI pour la synchronisation cyclique. Comme on le sait, une solution simple pour obtenir un fond musical cyclique consiste à reproduire, d'une façon continuellement répétée, un ou plusieurs passages sonores tous calés dans un même rythme musical. C'est ce que peut réaliser un dispositif qui reproduit, à partir d'une lecture d'une mémoire, différents signaux phoniques. En règle générale, ces signaux phoniques ont été préalablement échantillonnés et numérisés pour être disposés en mémoire. Une telle reproduction ne pose pas de problèmes techniques spécifiques pour un homme du métier, puisqu'il s'agit simplement de lire une ou plusieurs mémoires et de superposer les informations de façon analogique ou numérique selon la technique choisie. Il est cependant généralement nécessaire d'utiliser des séquences de déclenchement de type MIDI qui devront être synchronisées. En outre, du fait que, lors de l'acquisition en mémoire de différents signaux phoniques, notamment les sources de signaux musicaux pré-enregistrés sur disque par exemple, ces signaux musicaux n' ont généralement pas le même tempo, et les boucles correspondantes n'ont pas obligatoirement la même longueur, etc..., un mixage à la reproduction pose alors un grave problème de synchronisation. L'opérateur doit manuellement et après enregistrement affiner le début et la fin de chaque séquence, supprimer les franges indésirables, ajuster la longueur des boucles, modifier le tempo de l'une d'elles, etc... Des dispositifs électroniques permettent cependant de l'aider dans cette tâche, postérieurement à l'acquisition des signaux. On obtient ainsi un matériel relativement complexe, donc coûteux, tel qu'il en existe actuellement dans le commerce, par exemple l'excellent matériel commercialisé par AKAIw sous le nom de REMIX 16ton, mais essentiellement destiné à des professionnels de la gestion du son appelés "disc jockeys". Cependant, un tel matériel ne permet généralement pas une optimisation de la reproduction lorsque les signaux phoniques enregistrés ne présentent pas un rythme facilement détectable par l'électronique, comme c'est le cas, par exemple, pour une vocalise faite au microphone. Le but de la présente invention est d'obvier à ces inconvénients avec un procédé et un dispositif de type relaxé ne nécessitant pas de séquence de déclenchement pour obtenir une synchronisation des signaux. Un autre but de l'invention est de déterminer un dispositif pouvant être utilisé de façon simple par un non-professionnel. Encore un autre but de l'invention est de traiter essentiellement la voix humaine. Ces buts sont atteints avec le procédé et le dispositif de l'invention. Selon un premier aspect de l'invention, le procédé est défini par les étapes suivantes - on lance les boucles avec des valeurs par défaut, de façon à ce qu'elles fonctionnent en permanence avec les valeurs souhaitées de celles-ci, notamment le tempo commun à toutes les boucles, le nombre de mesures souhaité de chacune des boucles et la fréquence d'échantillonnage ; et - on enregistre les signaux phoniques pour au moins une boucle déterminée. De préférence, les valeurs par défaut des boucles sont préalablement déterminées. Lorsque la mémoire est une mémoire à accès aléatoire et que l'unité de contrôle inclut un générateur cyclique d'adresses dédié à chacune des boucles, on lance les générateurs cycliques d'adresses dédiés à chacune des boucles avec des valeurs par défaut, de façon à ce qu'ils fonctionnent cycliquement en permanence. De préférence, on limite la durée de l'enregistrement à la stricte durée de la boucle déterminée, cette durée étant déterminée par le tempo, le nombre de mesures de la boucle et la fréquence d'échantillonnage. Selon un autre aspect de l'invention, le dispositif inclut un échantillonneur, une mémoire à accès aléatoire, une unité de contrôle de la mémoire incluant un générateur cyclique d'adresses dédié à chacune des boucles et un moyen de reproduction des sons les générateurs d'adresses dédiés à chacune des boucles évoluent de façon cyclique en permanence en fonction de la fréquence d'échantillonnage, avec des valeurs de boucles choisies par défaut. De préférence , le dispositif comprend un moyen permettant de modifier les valeurs par défaut des boucles et, notamment, pour fixer un tempo commun à toutes les boucles, le nombre de mesures de chacune des boucles avant enregistrement et la fréquence d'échantillonnage. L'invention sera mieux comprise, et d'autres buts, avantages et caractéristiques de celle-ci apparaîtront plus clairement à la lecture de la description qui suit d'un mode préféré de réalisation donné à titre non limitatif et à laquelle une planche de dessins est annexée sur laquelle La Figure 1 est un schéma synoptique du dispositif selon l'invention La Figure 2 représente schématiquement un tableau synoptique d'un dispositif de génération d'adresses exploitable en mode page pouvant être utilisé dans le dispositif de la présente invention ; et La Figure 3 est un tableau schématique du raccordement d'une mémoire à accès aléatoire à bus d'adresses démultiplexé à un microcontrôleur. Dans la description qui suit, on se référera à un dispositif de type numérique mettant en oeuvre une mémoire à accès aléatoire, bien qu'un autre dispositif de type numérique ou analogique puisse être mis en oeuvre avec une mémoire à accès séquentiel. On a ainsi représenté sur la Figure 1 un dispositif de type numérique comprenant une unité de commande 101 incluant une unité de commande de la mémoire 103, un échantillonneur et tous les circuits électroniques requis pour la gestion du dispositif. La mémoire 103 est ici du type à accès aléatoire accessible en écriture et en lecture à partir de l'unité de commande 101. L'unité de commande 101 lit initialement les valeurs par défaut à appliquer aux boucles, c'est à dire le tempo commun, le nombre de mesures et la fréquence d'échantillonnage des signaux phoniques. Les générateurs cycliques d'adresses fonctionnent dès lors en permanence sur la base de ces valeurs. De préférence, cette opération s'effectue lors de la mise en service du dispositif. Toutefois, on peut prévoir qu'elle ne soit effectuée que simultanément au démarrage d'un enregistrement. Si ces valeurs par défaut ne sont pas satisfaisantes, l'utilisateur peut introduire les valeurs qu'il souhaite par les entrées 105, 107 et 109 de l'unité de commande 101. Les générateurs cycliques d'adresses fonctionnent alors en permanence sur la base de ces nouvelles valeurs. Sur l'exemple représenté, et de préférence, les signaux phoniques qui vont être traités, ont pour origine un microphone 111. Bien que cela ne soit pas mis en évidence sur le dessin, la stéréophonie peut facilement être mise en oeuvre ici. Le signal issu du microphone 111 est appliqué à l'entrée 113 de l'unité de commande 101 pour échantillonnage et mise en mémoire, par l'intermédiaire d'un amplificateur 115 permettant d'ajuster le volume initial. On peut favorablement superposer à ce signal appliqué à l'entrée 113, un signal d'écho au moyen d'un sommateur 117. Dans ce cas, une partie du signal issu du microphone 111, plus ou moins amplifiée au moyen de l'amplificateur 123, est dérivé en 119 vers une boucle de réaction classique comprenant une ligne à retard 121, un amplificateur opérationnel 125 et un sommateur 129. Les caractéristiques de la ligne à retard sont directement commandées par l'unité de commande 101. En pratique, cette ligne à retard 121 est théorique, car l'unité de commande 101 et la mémoire 103 se chargent de réaliser l'écho comme toute autre boucle. Le signal appliqué à l'entrée 113 de l'unité de commande 101 est donc déjà traité en fonction des choix de l'utilisateur. L'utilisateur porte, dans l'exemple représenté, un casque 131 lui permettant d'écouter de façon simultanée ce qui est en train d'être enregistré en mémoire. Simultanément à l'enregistrement de la boucle en cause, l'unité de commande 101 lit de façon cyclique les autres boucles préalablement enregistrées. Sur la Figure 1, on n'a représenté, pour des raisons de clarté, que trois sorties 133 pourvues chacune d'un amplificateur, et reliées à un sommateur 135 permettant d'en assurer le mixage. Bien évidemment ce nombre de sorties représentées n'est nullement limitatif. Le signal issu de ce sommateur 135 est appliqué, par l'intermédiaire d'un amplificateur 139, à un autre sommateur 137 auquel est appliqué le signal issu du sommateur 117. De préférence, l'horloge interne de l'unité de commande délivre, en fonction des valeurs des boucles, un signal à un métronome 141 dont la sortie est reliée, par l'intermédiaire d'un amplificateur 143 au sommateur 137. L'utilisateur, dont le casque est relié à la sortie du sommateur 137, reçoit alors l'ensemble des signaux issus du microphone 111, de l'écho correspondant, des boucles précédemment enregistrées 133 et du métronome 141, ces signaux étant ainsi directement mixés. De préférence, l'unité de commande 101 est pourvu d'un moyen permettant de limiter la durée de l'enregistrement à la stricte longueur de la boucle. Ainsi, on a représenté schématiquement à cet effet un interrupteur 145 en sortie du microphone 111 commandé par l'unité de commande 101 par une sortie 147. Bien évidemment, cet interrupteur 145 est symbolique, puisque sa fonction est obtenue plus simplement en contrôlant le générateur d'adresses de la boucle. Ainsi, du fait des valeurs pré-imposées aux boucles (tempo, nombre de mesures de la boucle, fréquence d'échantillonnage), et du fait que les boucles 'tournent' en permanence préalablement à l'enregistrement (ou, éventuellement, simultanément au démarrage de l'enregistrement), les boucles sont synchrones de fait et il n'est plus nécessaire d'utiliser une séquence quelconque de déclenchement. Bien évidemment, avant l'enregistrement de la première boucle, il pourra être nécessaire d'effacer de la mémoire les enregistrements précédents. Toutefois, cela n'est pas impératif dès lors que l'utilisateur met en oeuvre correctement les amplificateurs en série avec chaque boucle. Ainsi, par exemple, en mettant à zéro les coefficients d'amplification des amplificateurs 123 et 125, la boucle correspondante sera effacée à la vitesse de défilement du générateur d'adresses correspondant. On a représenté ici l'origine des signaux comme étant un microphone 111. Si ceux-ci proviennent d'une source pré-enregistrée, par exemple d'un disque ou d'une bande magnétique, un recalage temporel des signaux pourra se révéler nécessaire pour en assurer une éventuelle meilleure juxtaposition. Un tel recalage est facile à réaliser à l'oreille en jouant sur les paramètres disponibles. On va maintenant décrire un exemple d'un générateur d'adresses que l'on peut mettre en oeuvre dans l'invention. Dans l'exemple illustré Figure 2 pour une fréquence d'échantillonnage constante, le dispositif comprend essentiellement, en combinaison, un premier compteur 2 modulo le coefficient rythmique, un deuxième compteur binaire 7, une mémoire de paramètres 9 et un opérateur combinatoire 13. Le premier compteur 2 à modulo programmable par l'intermédiaire d'un registre 3 en fonction du coefficient rythmique enregistré dans ce registre 3, évolue à chaque période d'un signal d'échantillonnage 4 des signaux audio appliqué au premier compteur 2, et délivre, d'une part, la partie basse 5 de l'adresse dans la mémoire à accès aléatoire 103 et, d'autre part, une retenue de dépassement 6 au deuxième compteur 7, lequel évolue avec cette retenue 6 pour délivrer une adresse de base 8 appliquée à l'opérateur combinatoire 13. La mémoire de paramètres 9 délivre, pour un signal déterminé 10 choisi parmi les signaux audio échantillonnés, un vecteur de masquage 11 et un vecteur de substitution 12 appliqués à l'opérateur combinatoire 13. Ce dernier délivre la partie haute 14 de l'adresse dans la mémoire à accès aléatoire 103 en sélectionnant à l'aide du vecteur de masquage 11 les binons à transparaître de l'adresse de base 8 et en affectant une valeur déterminée selon le vecteur de substitution 12 à chacun des autres binons de l'adresse de base 8. Les paramètres inclus dans la mémoire de paramètres 9 sont, de préférence, déterminés une fois pour toutes lors du codage du programme, la longueur et l'emplacement en mémoire des boucles étant pré-établis. Il est toutefois possible de prévoir une modification de ces paramètres en cours d'exécution du programme au moyen d'une interface appropriée. Ainsi, le compteur à modulo programmable 2 produit la partie basse 5 commune aux échantillons audio des signaux à reproduire pendant une période donnée du signal d'échantillonnage 4. De même, le compteur 2 décrit une séquence cyclique dont le nombre d'états est programmé par le coefficient rythmique, coefficient qui est, par exemple, enregistré dans un registre 3, et génère périodiquement, lorsque la séquence re-démarre à un même état initial, un signal de retenue 6 qui incrémente (ou décrémente) le deuxième compteur binaire 7 délivrant l'adresse de base 8. La mémoire de paramètres 9 délivre, en outre, à l'opérateur combinatoire 13, une valeur de recalage 15 qui est ajoutée à l'adresse de base 8 avant application des vecteurs précités 11 et 12 pour déterminer la partie haute de l'adresse dans la mémoire à accès aléatoire. Cette valeur de recalage permet de décaler dans le temps une boucle par rapport aux autres boucles. Le décalage est quantifié par blocs d'échantillons fonction du coefficient rythmique, ce qui est nettement suffisant en précision rythmique par rapport à la durée moyenne d'une mesure. Par exemple, avec un coefficient rythmique égal à 650 et une fréquence d'échantillonnage de 32 kHz, le décalage que l'on peut obtenir est de l'ordre de 20 ms. Le dispositif comprend, en outre, une mémoire de pointeurs 16 dans laquelle est écrite la partie haute 17 de l'adresse par l'opérateur combinatoire 13 lors de l'émission d'une retenue de dépassement 6 par le premier compteur 2 à modulo programmable, cette partie haute de l'adresse dans la mémoire à accès aléatoire étant reproduite à chaque période du signal d'échantillonnage 4 par lecture pour le signal audio choisi de la mémoire de pointeurs 16. La mémoire de pointeurs 16 conserve la valeur de la partie haute de l'adresse pour ne pas nécessiter un re-calcul inutile à la période d'échantillonnage suivante de la même partie haute ayant une adresse de base 8 inchangée lorsqu'il n'y a pas eu de signal de retenue 6. S'il y a eu un signal de retenue 6, l'adresse de base 8 change par l'intermédiaire du compteur binaire 7 et l'opérateur combinatoire 13 est sollicité pour re-calculer la partie haute des adresses et la stocker dans la mémoire de pointeurs 16. La Figure 3, qui est un tableau schématique du raccordement d'une mémoire à accès aléatoire à un microcontrôleur programmable avec démultiplexage du bus d'adresses, permet ainsi la mise en oeuvre de l'invention. Un microcontrôleur 21 est raccordé à la mémoire 103 à accès aléatoire, de façon conventionnelle, par l'intermédiaire d'un bus de données 26, d'un bus d'adresses 30, 31 et d'un bus de contrôle 27. Les échantillons des signaux audio transitent, bien sûr, par le bus de données 26. La partie haute 14 de l'adresse est appliquée à la mémoire 103 par l'intermédiaire d'une partie 30 du bus d'adresses. Sur le bus de contrôle 27, transitent normalement les signaux qui activent la mémoire 103 en lecture ou en écriture, et qui assurent la sélection d'espace d'adressage en mémoire. Le démultiplexage de l'adresse est assuré par un registre 22 disposé entre le bus de données 26 et la partie restante 31 du bus d'adresses où est appliquée la partie basse 5 de l'adresse. Un décodeur d'adresses 23 est connecté en entrée à la partie 30 du bus d'adresses et au bus de contrôle 27 dont il reçoit les signaux 29 de sélection d'espace d'adressage en mémoire. Ce décodeur 23 génère essentiellement un signal de verrouillage 24 appliqué au registre 22 permettant au microcontrôleur 21 d'écrire dans ce registre 22 la valeur de la partie basse 5 par l'intermédiaire du bus de données 26. Il génère également un signal de sélection d'accès 25 à la mémoire 103 en lecture ou en écriture. L'intérêt d'utiliser un microcontrôleur plutôt qu'un simple microprocesseur réside dans le fait qu'un microcontrôleur comprend, en interne, tous les circuits de base nécessaires pour exécuter un programme de traitement numérique des signaux sans devoir faire appel à des composants externes. En effet, l'intégralité des fonctions requises peut alors aisément être effectuée par un programme logiciel exécuté par le microcontrôleur. Un exemple d'un tel programme va maintenant être succinctement décrit à titre non limitatif. Le programme est constitué de deux tâches d'exécution, l'une activée sous interruption matérielle par le signal d'échantillonnage 4, et l'autre en tâche de fond. La tâche sous interruption concerne essentiellement le premier compteur 2 et la mémoire de pointeurs 16. A chaque période d'activation, le premier compteur 2 est décrémenté s'il n'a pas encore atteint la valeur zéro. Dans le cas contraire, la valeur du coefficient rythmique est affectée au compteur 2. Une variable booléenne représentant la retenue 6 est alors positionnée à vrai, tandis qu'une deuxième variable booléenne de permutation des tables des pointeurs de colonnes est inversée. La mémoire de pointeurs 16, qui est une mémoire à accès aléatoire à double port si elle est réalisée sous forme d'un composant électronique, est constituée, sous forme logicielle, de deux tables de pointeurs, dont la longueur est déterminée par le nombre des signaux audio à reproduire. Suivant la valeur binaire de la deuxième variable booléenne précitée, la tâche sous interruption va utiliser l'une ou l'autre de ces deux tables de pointeurs. Comme on va le voir, lorsque l'une des tables est utilisée en lecture par la tâche sous interruption, l'autre table est utilisée en écriture par la tâche de fond pour composer la liste des parties hautes des adresses pour la retenue suivante 6. En surveillant en permanence l'état à faux de la variable booléenne représentant la retenue, la tâche de fond n'est active que lorsqu'une retenue 6 a été activée. Dès que l'état devient vrai, la retenue est détectée et la tâche de fond va calculer les prochaines parties hautes 14. Pour cela, la tâche de fond affecte d'abord la valeur à faux à la variable booléenne de retenue, incrémente le deuxième compteur 7 et poursuit ensuite, avec la nouvelle adresse de base 8 obtenue, le calcul et l'écriture dans la table des pointeurs de colonnes, des parties hautes pour chaque signal audio choisi 10 entre le premier et le dernier des signaux audio à reproduire. Le dispositif selon l'invention comprend, en outre, de préférence, un pupitre de commande manuel programmable permettant d'ajuster le volume et la balance stéréophonique éventuelle du son de chacune des boucles prises séparément lors de la reproduction. Un tel pupitre peut ne comporter que deux potentiomètres pour régler l'ensemble des boucles, dès lors qu'il présente un clavier permettant à l'utilisateur de choisir le paramètre à régler au moyen des potentiomètres. Les paramètres à contrôler étant ici numériques, le pupitre comprend essentiellement un convertisseur analogique/numérique qui convertit la position du curseur du potentiomètre en une valeur numérique qui va être traité avec le signal phonique. Ensuite, pour un réglage sans discontinuité, une comparaison sera effectuée entre la valeur enregistrée du paramètre et la position du curseur du potentiomètre jusqu'à égalité. Le paramètre suivra ensuite l'évolution analogique du curseur. Bien que l'on ait représenté et décrit ce que l'on considère actuellement être les modes de réalisation préférés de la présente invention, il est évident que l'Homme de l'Art pourra y apporter différents changements et modifications sans sortir du cadre de la présente invention tel que défini par les revendications jointes. REVENDICATIONS 1 - Procédé pour l'enregistrement en boucles cycliques de plusieurs séquences phoniques, en vue d'une reproduction simultanée de celles-ci, au moyen d'un dispositif incluant un échantillonneur, une mémoire, une unité de contrôle de la mémoire et un moyen de reproduction des sons, caractérisé par les étapes suivantes - on lance les boucles avec des valeurs par défaut, de façon à ce qu'elles fonctionnent en permanence avec les valeurs souhaitées de celles-ci, notamment le tempo commun à toutes les boucles, le nombre de mesures souhaité de chacune des dites boucles et la fréquence d'échantillonnage ; et - on enregistre les signaux phoniques pour au moins une boucle déterminée. 2 - Procédé selon la revendication 1 caractérisé en ce que des valeurs par défaut des dites boucles sont préalablement déterminées. 3 - Procédé selon la revendication 1 ou 2 caractérisé en ce que, la dite mémoire étant une mémoire à accès aléatoire et la dite unité de contrôle incluant un générateur cyclique d'adresses dédié à chacune des boucles, on lance les générateurs cycliques d'adresses dédiés à chacune des boucles avec des valeurs par défaut, de façon à ce qu'ils fonctionnent cycliquement en permanence. 4 - Procédé selon l'une quelconque des revendication précédentes, caractérisé en ce qu'on limite la durée de l'enregistrement à la stricte durée de la boucle déterminée, cette durée étant déterminée par le tempo, le nombre de mesures de la dite boucle et la fréquence d'échantillonnage. 5 - Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce qu'on recale temporellement les boucles les unes par rapport aux autres pour assurer une meilleure juxtaposition. 6 - Dispositif pour la mise en oeuvre du procédé selon l'une quelconque des revendications 3 à 5, le dit dispositif incluant un échantillonneur, une mémoire à accès aléatoire, une unité de contrôle de la mémoire incluant un générateur cyclique d'adresses dédié à chacune des boucles et un moyen de reproduction des sons, caractérisé en ce que les dits générateurs d'adresses dédiés à chacune des dites boucles évoluent de façon cyclique en permanence en fonction de la fréquence d'échantillonnage, éventuellement avant même le commencement du dit enregistrement, avec des valeurs de boucles choisies par défaut. 7 - Dispositif selon la revendication 6, caractérisé en ce qu'il comprend un moyen permettant de modifier les dites valeurs par défaut des boucles et, notamment, pour fixer un tempo commun à toutes les boucles, le nombre de mesures de chacune des boucles avant enregistrement et la fréquence d'échantillonnage. 8 - Dispositif selon la revendication 6 ou 7, caractérisé en ce qu'il comprend, en outre, un générateur commun d'adresses à séquencement cyclique évoluant à la fréquence d'échantillonnage et commandant les dits générateurs d'adresses dédiés à chaque bouche, la mémoire étant adressée successivement de façon biunivoque par simple juxtaposition de l'adresse générée par un générateur dédié et de l'adresse générée par le dit générateur commun. 9 - Dispositif selon la revendication 8 caractérisé en ce qu'il comprend, en outre, une mémoire d'adresses, dans laquelle sont Inscrites successivement les adresses dédiées des échantillons des boucles utilisées, l'adressage de la mémoire à accès aléatoire étant alors réalisé par simple lecture de la dite mémoire d'adresses, tant que le dit générateur commun n'a pas fini une révolution complète. 10 - Dispositif selon l'une quelconque des revendications 6 à 9 caractérisé en ce qu'il comprend, en outre, un moyen pour limiter le dit enregistrement à la stricte longueur de la boucle en cours. 11 - Dispositif selon l'une quelconque des revendications 6 à 10 caractérisé en ce qu'il comprend un métronome au même tempo. 12 - Dispositif selon l'une quelconque des revendications 6 à 11 caractérisé en ce qu'il comprend un pupitre de commande manuel permettant d'ajuster le volume et la balance stéréophonique du son de chacune des boucles prises séparément lors de la reproduction, et, par ailleurs, d'ajuster le volume et la balance stéréophonique éventuelle de l'ensemble des boucles simultanément.