[0001] 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.
[0002] 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.
[0003] 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.
[0004] 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.
[0005] 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.
[0006] US-A-4 569 268 enseigne bien de moduler le signal de lecture par un signal provenant
d'un ensemble de circuits comportant un oscillateur à fréquence variable sélectionnant,
dans une mémoire, des formes d'onde de modulation de la lecture.
[0007] On peut ainsi, certes, créer des fréquences nouvelles de modulation, mais leur variété
est encore limitée et leur obtention nécessite la mise en oeuvre de circuits complexes.
[0008] La présente invention vise à s'affranchir de cette limitation, tout en offrant une
grande souplesse.
[0009] A cet effet, l'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 du signal de lecture de la mémoire, procédé caractérisé par le fait que
la modulation du signal de lecture s'effectue par filtrage récursif.
[0010] Ainsi, et de façon inattendue, le signal de lecture a deux fonctions a priori antagonistes
: il assure, en l'absence de modulation, un balayage régulier de la totalité de la
mémoire et il engendre, par filtrage, un signal de modulation venant perturber le
signal régulier. On peut ainsi, très simplement, faire apparaître des fréquences de
modulation, et donc des composantes acoustiques à de nouvelles fréquences, par le
choix des caractéristiques du filtre.
[0011] 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 commandant des moyens de modulation disposés entre les
moyens d'adressage et la mémoire de forme d'onde, caractérisé par le fait que les
moyens de modulation comportent un filtre.
[0012] 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.
[0013] 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.
[0014] 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.
[0015] 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.
[0016] 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 l'additionneur 3, permet d'augmenter
ou réduire l'amplitude de variation d'un signal de lecture 7 appliqué à la borne 5.
[0017] Le fonctionnement du circuit de la figure 1 va maintenant être expliqué.
[0018] 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 2¹⁶, constituant le signal de lecture,
ou d'adressage, pour balayer la totalité des points mémoire de la mémoire 1.
[0019] Par commodité pour l'adressage de la mémoire 1, les échantillons sont rangés à des
adresses successives, c'est-à-dire que les nombres 7 croissent régulièrement avec
un pas unité.
[0020] 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 P0, 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.
[0021] 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 T0 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.
[0022] 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.
[0023] 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.
[0024] Dans cet exemple et les suivants, le coefficient G est déterminé dans chaque cas
de façon à éviter un débordement de l'additionneur de modulation.
[0025] 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.
[0026] 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.
[0027] 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 T0 de balayage, une fois en sens "inverse" par la rampe 82 puis en sens "direct"
par la rampe 83.
[0028] 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 rampe montante
83. Le rapport

des durées respectives des 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 a une fréquence K.F0. 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.
[0029] 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.
[0030] 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.
[0031] 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.
[0032] 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.
[0033] 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.
[0034] 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.
[0035] 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.
[0036] 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.
[0037] 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ïde en mémoire est lue en entier,
sans discontinuité, tout d'abord (88) à vitesse élevée puis (89) à vitesse réduite.
[0038] 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 P0 de la rampe 7 non filtrée.
[0039] 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.
[0040] 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.
[0041] Les figures 15 et 16 illustrent un troisième exemple de résultat du circuit ci-dessus,
avec F = 1,01.
[0042] 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 T0. 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é.
[0043] 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.
[0044] 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éterminé.
[0045] 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.
[0046] 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.
[0047] 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.
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) du signal de lecture de
la mémoire, procédé caractérisé par le fait que la modulation du signal de lecture
(7) s'effectue par filtrage récursif (3, 6).
2. Procédé selon la revendication 1, dans lequel on fait évoluer la récurrence (F) du
filtre.
3. Procédé selon l'une des revendications 1 et 2, dans lequel on effectue un filtrage
passe-bas et on fait évoluer sa fréquence de coupure.
4. 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) commandant des moyens de modulation (2; 12)
disposés entre les moyens d'adressage et la mémoire de forme d'onde, caractérisé par
le fait que les moyens de modulation comportent un filtre (2; 13, 16).
5. Circuit selon la revendication 4, dans lequel le filtre est un filtre récursif.
6. Circuit selon la revendication 5, dans lequel le filtre comporte des moyens (6; 16)
pour faire évoluer la récurrence du filtre.
7. Circuit selon l'une des revendications 4 à 6, dans lequel le filtre est un filtre
passe-bas comportant des moyens pour faire évoluer sa fréquence de coupure.
8. Circuit selon l'une des revendications 5 à 7, dans lequel il est prévu des moyens
de transcodage (17) dans la boucle de récurrence du filtre (12).