Brevet FR2723463A1 — publié le 19960209

-Àj 2723463 Procédé de synthèse d'un signal acoustique et circuit pour la mise en oeuvre du procédé. La présente invention concerne la synthèse d'un signal acoustique. On rappellera que la synthèse d'un signal consiste à disposer, les unes après les autres, des portions temporelles, ou échantillons, de signal, d'amplitudes choisies, afin de composer un signal temporel présentant la forme voulue. Un signal acoustique synthétisé est par exemple utilisé dans les instruments de musique numériques ou les ordinateurs personnels. Pour synthétiser un signal acoustique, on lit, à des adresses successives, le contenu d'une mémoire de forme d'onde contenant, sous forme numérique, des valeurs d'échantillons successifs du signal acoustique que l'on convertit ensuite en un signal analogique commandant un haut-parleur. Les adresses successives appliquées à la mémoire constituent, sous forme numérique, un signal de lecture en forme de rampe temporelle rectiligne, cycliquement remise à zéro pour un nouveau cycle de lecture du signal acoustique, et constituant ainsi une suite de dents de scie de balayage de la mémoire. Afin de pouvoir simuler une grande variété d'instruments de musique, il faut pouvoir adapter, selon l'instrument choisi, la richesse harmonique du signal acoustique. Le stockage d'autant de signaux acoustiques qu'il y a de types d'instruments de musique est exclu du fait de la capacité mémoire limitée. Pour adapter la richesse harmonique, il était par ailleurs connu d'effectuer, en sortie de la mémoire, un filtrage de l'onde lue pour en atténuer les composantes à certaines fréquences et ainsi renforcer, relativement, les autres composantes. Ce procédé n'offre cependant que des possibilités limitées puisque, s'il permet de renforcer relativement certaines composantes, encore faut-il qu'elles existent dans l'onde mémorisée. La présente invention vise à s'affranchir de cette limitation, tout en offrant une grande souplesse. A cet effet, I'invention concerne tout d'abord un procédé de synthèse d'un signal acoustique à partir d'une mémoire de forme d'onde reliée à un transducteur agencé pour fournir le signal acoustique, dans lequel le transducteur est commandé par un signal de lecture de la mémoire, un signal de sortie de la mémoire et un signal de modulation, procédé caractérisé par le fait qu'on applique le signal de modulation au signal de lecture de la mémoire. Par la modulation en amont de la mémoire, on dispose ainsi de toute liberté pour choisir toute séquence voulue d'échantillons de la forme d'onde de la mémoire et, en particulier, on peut ne lire que des portions de la forme d'onde se raccordant ou non pour créer des composantes de fréquences nouvelles. En outre, on peut faire varier l'amplitude et/ou le signe du pas de lecture entre points mémoire successivement lus, ce qui détermine la fréquence du signal en sortie de mémoire. L'invention concerne aussi un circuit pour la mise en oeuvre du procédé, de l'invention, de synthèse d'un signal acoustique à partir d'une mémoire de forme d'onde reliée à un transducteur agencé pour fournir le signal acoustique, circuit dans lequel le transducteur est commandé par un signal de lecture de la mémoire, un signal de sortie de la mémoire et un signal de modulation, caractérisé par le fait que les moyens de modulation sont disposés entre les moyens d'adressage et la mémoire de forme d'onde. L'invention sera mieux comprise à l'aide de la description suivante d'une forme de réalisation préférée du circuit pour la mise en oeuvre du procédé de l'invention et d'une variante de cette forme de réalisation, en référence au dessin annexé, sur lequel: - la figure 1 est un schéma par blocs de la forme de réalisation préférée du circuit de l'invention, - les figures 2 et 3 illustrent, en fonction du temps t, la lecture classique d'une mémoire de sinus, - les deux paires de figures 4 et 5, 6 et 7 illustrent deux exemples montrant la relation, selon l'invention, entre un signal de lecture d'une mémoire de forme d'onde et le signal lu, - la figure 8 est un schéma par blocs de la variante de réalisation du circuit, - la figure 9 est un exemple de circuit de transcodage de la figure 8, - la figure 10 représente la fonction de transfert du circuit de la figure 9, et - les quatre paires de figures 11 et 12, 13 et 14, 15 et 16, 17 et 18 illustrent quatre exemples de relations entre un signal de lecture et la forme d'onde lue, dans le cas de la variante de réalisation. Le circuit de la figure 1 est utilisé dans un synthétiseur de motif musical implanté dans un ordinateur personnel. Il comporte un filtre 2 suivi d'une mémoire 1. Dans cet exemple, le filtre 2 et la mémoire 1 sont numériques. Le filtre 2 est ici un filtre récursif passe-bas connu, à réponse impulsionnelle infinie (IIR) et la mémoire 1 est une mémoire morte contenant, à des adresses successives, une suite de valeurs numériques représentant chacune l'amplitude d'un échantillon d'un signal acoustique de référence, ou motif musical, ayant une forme d'onde prédéterminée. Le filtre 2, ici du type parallèle pour seize bits, est relié, exclusivement par sa sortie, à la mémoire 1 plus précisément à des entrées d'adresse de la mémoire 1. La mémoire 1 ayant été écrite en usine, elle fonctionne ici uniquement en lecture, sous la commande du filtre 2. Le filtre 2 de cet exemple est constitué d'un additionneur-soustracteur 3, appelé additionneur par la suite, et d'un multiplieur 6 rebouclant la sortie de l'additionneur 3 sur une première entrée de celui-ci, après multiplication par un coefficient F. La seconde entrée de l'additionneur 3 est reliée à une borne d'entrée 5 du circuit. Un multiplieur 4, en série sur la seconde entrée de lI'additionneur 3, permet d'augmenter ou réduire l'amplitude de variation d'un signal de lecture 7 appliqué à la borne 5. Le fonctionnement du circuit de la figure 1 va maintenant être expliqué. La lecture de la forme d'onde en mémoire 1 est effectuée en appliquant à la borne d'entrée 5 une succession 7 de nombres, ici 216, constituant le signal de lecture, ou d'adressage, pour balayer la totalité des points mémoire de la mémoire 1. Par commodité pour l'adressage de la mémoire 1, les échantillons sont rangés à des adresses successives, c'est-a-dire que les nombres 7 croissent régulièrement avec un pas unité. Le signal d'adressage 7 appliqué à la borne 5, représenté sur la figure 2, est engendré de façon connue par un compteur à 16 bits, non représenté, et la succession de ses valeurs peut être représentée par une rampe linéaire croissante, de pente PO, se répétant cycliquement, avec une retombée brutale en fin de rampe. Une horloge faisant avancer le compteur externe sert aussi à synchroniser l'exploitation des valeurs fournies par la mémoire 1. Dans cet exemple, et dans un souci de clarté, on suppose que la forme d'onde mémorisée est sinusoïdale, de fréquence F0, et ne comporte qu'une seule période TO de durée T2-T1. Comme le montre la figure 3, qui correspond à une absence de filtrage (F = 0), le balayage de la mémoire 1 par un signal de lecture 8 en forme de rampes successives identiques aux rampes 7 engendre, de façon connue, un signal de sortie 10 constitué d'une suite de sinusoïdes se raccordant les unes aux autres aux instants T1, T2, etc. Les figures 4 et 5 illustrent un cas d'effet acoustique obtenu par le circuit représenté, par lequel on commande le transducteur par la rampe 7 de lecture de la mémoire, modulée par le signal de modulation issu du multiplieur 6, et par le signal de sortie de la mémoire. La rampe 7 appliquée à la borne 5 est filtrée dans le filtre passe-bas, ici avec F = 0,1 et G = 0,9, pour être transformée en un signal de rampe filtrée, ou signal de lecture, 81. Dans cet exemple et les suivants, le coefficient G est déterminé dans chaque cas de facç,on à éviter un débordement de l'additionneur de modulation. Le signal de lecture 81 présente une rampe descendante 82 de durée déterminée par les caractéristiques du filtre 2, qui correspond au front raide de la rampe 7, suivie, à un instant T3, d'une rampe montante 83 peu affectée par le filtrage car elle correspond à des fréquences relativement basses. Le filtrage a deux effets. Tout d'abord, il réduit, ici assez peu, l'amplitude du balayage, car la rampe 82 ne redescend pas à la valeur minimale de la rampe 7. En outre, comme la rampe descendante 82 présente une certaine durée, ici relativement courte, il y est effectué un certain nombre de lectures de la sinusoïde en mémoire. En d'autres termes, on va balayer deux fois une même zone de la mémoire 1 à chaque cycle TO de balayage, une fois en sens "inverse" par la rampe 82 puis en sens "direct" par la rampe 83. La forme d'onde 102 lue par la rampe descendante 82 correspond donc, symétriquement dans le temps par rapport à l'instant T3, à celle, 103, lue par la T2 - T3 rampe montante 83. Le rapport K = T- des durées respectives des T3 - TI rampes 83 et 82 détermine la compression temporelle de la forme d'onde 101 par rapport à la forme d'onde 102, c'est-à-dire que la forme d'onde 102, c'est-à- dire que la forme d'onde 102 a une fréquence KF0. Le spectre de la forme d'onde totale 101 comporte en outre d'autres fréquences, dues aux transitions de raccordement des courbes 81 et 82 et en particulier au fait que, comme indiqué, une portion, ici le début, de la sinusoïde mémorisée n'est plus lue. Le choix du coefficient G permet cependant de régler l'amplitude crête à crête du signal de lecture 81 et donc de régler comme on le souhaite la taille de la portion non lue de la sinusoïde en mémoire. Il pourrait même être prévu une troisième entrée de l'additionneur 3, pour décaler à volonté le signal de lecture 81. Pour la simplicité de l'exposé, on a supposé que la rampe 82 était rectiligne. Le fait qu'elle soit courbe entraîne que la vitesse accélérée de lecture par la rampe 82 décroît en réalité au cours du temps et que la valeur K. F0 de la fréquence de l'onde restituée 102 n'est qu'une valeur moyenne. Les figures 6 et 7 illustrent un second exemple du résultat obtenu par le circuit de la figure 1, dans le cas o F = 0,02. Par rapport au cas précédent, le filtre 2 a une fréquence de coupure plus faible, ce qui a pour effet d'allonger dans le temps, au détriment de la rampe montante 86, la rampe descendante 85 du signal de lecture 84 et de réduire la dynamique de ce dernier. De ce fait, le coefficient K définissant la fréquence de l'onde 105 en début de période de l'onde lue 104 est plus faible que précédemment et il n'est lu que sensiblement une demi-période de la sinusoïde en mémoire. La pente de la rampe montante 86 est ici affectée par le filtrage, si bien que la fréquence de l'onde 106 varie, comme cela a été expliqué pour la rampe 82 dans le cas précédent. La variante de réalisation, représentée sur la figure 8, présente sensiblement la même structure que le circuit de la figure 1 et les éléments 11 à 16 correspondent respectivement aux éléments 1 à 6. Le circuit comporte, en plus, dans la boucle de récurrence du filtre 13, 16, un circuit de transcodage 17 connecté en série entre la sortie de l'additionneur 13 et le multiplieur 16. La figure 9 représente un exemple du circuit de transcodage 17. Il s'agit d'une rangée de quinze portes ou exclusif, seules les deux extrêmes étant représentées, dont une entrée de chacune est reliée à la sortie de poids fort A15 de l'additionneur 13 et dont les secondes entrées sont respectivement reliées aux quinze autres sorties A0-A14 de l'additionneur 13. Comme le montre la figure 10, qui porte en abscisse la valeur A en sortie de l'additionneur 13 et, en ordonnée, la valeur T en sortie du circuit de transcodage 17, une rampe appliquée en entrée est transformée en un triangle isocèle sous l'effet de l'inversion des bits lorsque le poids fort est à l'état 1. Les figures 11 et 12 illustrent le résultat obtenu avec le circuit des figures 8 et 9, pour F = 0,3. Le signal de lecture 87 comporte une portion 88 à pente P1 positive suivie d'une portion 89 à pente P2 positive plus faible. La dynamique du signal de lecture 87 n'est pas altérée, si bien que la sinusoïfde en mémoire est lue en entier, sans discontinuité, tout d'abord (88) à vitesse élevée puis (89) à vitesse réduite. La fréquence de l'onde 108, en début de sinusoïde lue, a la valeur F1 = F2 x P1/P2, avec F2: fréquence de la deuxième partie 109 de l'onde 107 lue, déterminée comme ci-dessus par comparaison entre la pente P2 et la pente PO de la rampe 7 non filtrée. Les figures 13 et 14 illustrent un deuxième exemple de résultat obtenu avec le circuit des figures 8 et 9, avec F = 1. Le rapport des pentes P3 et P4 des rampes 91 et 92 du signal de lecture 90 est nettement plus élevé que dans le cas précédent, si bien que la portion d'onde initiale lue 111 est à relativement haute fréquence. En outre, le raccordement des portions 111 et 112 de l'onde lue 110 est anguleux, ce qui engendre des fréquences de transition. Les figures 15 et 16 illustrent un troisième exemple de résultat du circuit ci- dessus, avec F = 1,01. On voit que le signal de lecture 93 comporte une première rampe montante 94 raide suivie d'une rampe montante 95 dédoublée, c'est-à-dire oscillant, d'une lecture à la suivante, d'une courbe à une autre, avec un écrêtage en fin de la période TO. L'onde lue 113 comporte un front descendant 114 assez raide suivi d'un front montant 115 qui est donc dédoublé et écrêté. Les figures 17 et 18 illustrent un quatrième exemple de résultat obtenu avec le circuit ci-dessus. Dans cet exemple cependant, le filtre est du type passe-bas du deuxième ordre, avec F = 0,2 et un coefficient de surtension Q = 0,5. Le signal de lecture 96 comporte une rampe montante 97 très raide qui oscille pour ensuite devenir une rampe descendante 98. La mémoire 1 est sensiblement balayée en entier et fournit une onde 116 à fréquence sensiblement pure dans la seconde portion 118 mais ce balayage est modulé par les oscillations amorties de la rampe 97, ce qui engendre une modulation 117 de la sinusoïde théorique. L'oscillation 97 du signal de lecture 96 peut être modulée, par modification des coefficients F et Q, pour engendrer des fréquences de valeur indépendante de celle de la sinusoïde en mémoire, afin de créer des formants, c'est-à-dire des ondes sonores ayant une énergie importante dans une ou plusieurs bandes de fréquences déterminées, correspondant à un instrument de musique détermine. De façon générale, on comprendra que le concept de l'invention consiste à moduler le signal de balayage 7 par un autre signal, indépendant de la forme d'onde lue et qui, commodément, peut être déterminé à partir du signal 7. Cette détermination du signal de modulation peut être effectuée par un filtrage approprié du signal de balayage 7 modifiant sa composition spectrale et/ou son amplitude et sa plage de balayage, par exemple passe-bas, passe-haut, passe-bande ou coupe-bande. La détermination du signal de modulation peut aussi, en remplacement ou en complément du filtrage, être effectuée par un transcodage du signal de balayage 7 au moyen par exemple d'un réseau de portes logiques et/ou de tables. En outre la rampe linéaire de lecture peut être remplacée par toute autre courbe, les valeurs des échantillons en mémoire étant adaptées en conséquence. Une telle modulation du signal de balayage permet en particulier de réaliser une variation quasi-continue de la forme d'onde synthétisée et offre ainsi une grande souplesse d'utilisation. On peut en effet faire évoluer le coefficient F déterminant la récurrence du filtre. On peut de même faire évoluer la, ou une, fréquence de coupure du filtre en modifiant, par une commande appropriée, les paramètres déterminant les caractéristiques du filtre, numérique, ou en prévoyant, s'il s'agit d'un filtre analogique, un élément de commande d'impédance, par exemple un élément à capacité variable selon une tension de commande. On remarquera enfin que la mémoire pourrait être du type à décalage, l'adressage d'une position mémoire à une position suivante était réalisé par l'envoi d'un nombre d'impulsions d'horloge de décalage correspondant à l'écart entre les deux positions. REVENDICATIONS 1. Procédé de synthèse d'un signal acoustique à partir d'une mémoire de forme d'onde (1) reliée à un transducteur agencé pour fournir le signal acoustique, dans lequel le transducteur est commandé par un signal (7) de lecture de la mémoire, un signal (10) de sortie de la mémoire et un signal de modulation (6), procédé caractérisé par le fait qu'on applique (3) le signal de modulation au signal de lecture de la mémoire. 2. Procédé selon la revendication 1, dans lequel la modulation du signal de lecture s'effectue par filtrage récursif. 3. Procédé selon la revendication 2, dans lequel on fait évoluer la récurrence (F) du filtre. 4. Procédé selon l'une des revendications 2 et 3, dans lequel on effectue un filtrage passe-bas et on fait évoluer sa fréquence de coupure. 5. Circuit pour la mise en oeuvre du procédé, de la revendication 1, de synthèse d'un signal acoustique à partir d'une mémoire de forme d'onde (1) reliée à un transducteur agencé pour fournir le signal acoustique, circuit dans lequel le transducteur est commandé par un signal (7) de lecture de la mémoire, un signal (10) de sortie de la mémoire et un signal de modulation (6), caractérisé par le fait que les moyens de modulation (2; 12) sont disposés entre les moyens d'adressage et la mémoire de forme d'onde. 6. Circuit selon la revendication 5, dans lequel les moyens de modulation comportent un filtre (2; 13,16). 7. Circuit selon la revendication 6, dans lequel le filtre est un filtre récursif. 8. Circuit selon la revendication 7, dans lequel le filtre comporte des moyens (6; 16) pour faire évoluer la récurrence du filtre. 9. Circuit selon l'une des revendications 6 à 8, dans lequel le filtre est un filtre passe-bas comportant des moyens pour faire évoluer sa fréquence de coupure. il 2723463 10. Circuit selon l'une des revendications 7 à 9, dans lequel il est prévu des moyens de transcodage (17) dans la boucle de récurrence du filtre (12).