<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ep-patent-document PUBLIC "-//EPO//EP PATENT DOCUMENT 1.1//EN" "ep-patent-document-v1-1.dtd">
<ep-patent-document id="EP80400861A1" file="EP80400861NWA1.xml" lang="fr" country="EP" doc-number="0021964" kind="A1" date-publ="19810107" status="n" dtd-version="ep-patent-document-v1-1">
<SDOBI lang="fr"><B000><eptags><B001EP>AT....DE......GB..IT....NL........................</B001EP><B005EP>C</B005EP></eptags></B000><B100><B110>0021964</B110><B120><B121>DEMANDE DE BREVET EUROPEEN</B121></B120><B130>A1</B130><B140><date>19810107</date></B140><B190>EP</B190></B100><B200><B210>80400861.3</B210><B220><date>19800613</date></B220><B240></B240><B250>fr</B250><B251EP>fr</B251EP><B260>fr</B260></B200><B300><B310>7915337</B310><B320><date>19790615</date></B320><B330><ctry>FR</ctry></B330></B300><B400><B405><date>19810107</date><bnum>198101</bnum></B405><B430><date>19810107</date><bnum>198101</bnum></B430></B400><B500><B510><B516>3</B516><B511> 3G 10H   7/00   A</B511></B510><B540><B541>de</B541><B542>Mehrstimmiger digitaler Synthesizer von periodischen Signalen</B542><B541>en</B541><B542>Digital polyphonic synthesizer of periodic signals</B542><B541>fr</B541><B542>Synthétiseur numérique polyphonique de signaux périodiques</B542></B540><B560></B560></B500><B700><B710><B711><snm>Deforeit, Christian Jacques</snm><iid>00249370</iid><irf>1000 D94 12EUR</irf><adr><str>6, rue de l'Hôpital</str><city>F-21140 Semur-en-Auxois</city><ctry>FR</ctry></adr></B711></B710><B720><B721><snm>Deforeit, Christian Jacques</snm><adr><str>6, rue de l'Hôpital</str><city>F-21140 Semur-en-Auxois</city><ctry>FR</ctry></adr></B721></B720><B740><B741><snm>Sparing Röhl Henseler
Patentanwälte</snm><iid>00100362</iid><adr><str>Postfach 14 04 43</str><city>40074 Düsseldorf</city><ctry>DE</ctry></adr></B741></B740></B700><B800><B840><ctry>AT</ctry><ctry>DE</ctry><ctry>GB</ctry><ctry>IT</ctry><ctry>NL</ctry></B840></B800></SDOBI><!-- EPO <DP n="1"> -->
<abstract id="abst" lang="fr">
<p id="pa01" num="0001">L'invention a pour objet un synthétiseur polyphonique musical, entièrement numérique, dans lequel l'amplitude de chaque composante spectrale peut évoluer, en fonction du temps, selon une loi linéaire ou logarithmique.</p>
<p id="pa02" num="0002">Des moyens de calcul d'amplitude produisent, à chaque période d'un signal d'horloge d'amplitude, une nouvelle valeur courante, selon une interpolation linéaire ou logarithmique entre l'amplitude courante initiale et une valeur d'amplitudefinale prédéterminée. La nouvelle valeur d'amplitude courante est mémorisée à la place de la valeur initiale. A l'égalité de l'amplitude courante et de l'amplitude finale, un signal est émis vers les moyens de commande du synthétiseur.</p>
<p id="pa03" num="0003">L'invention permet d'obtenir des évolutions douces de l'amplitude et de réduire la complexité des moyens de commande de l'instrument.<!-- EPO <DP n="2"> --><img id="iaf01" file="imgaf001.tif" wi="195" he="141" img-content="drawing" img-format="tif" inline="no"/></p>
</abstract><!-- EPO <DP n="3"> -->
<description id="desc" lang="fr">
<p id="p0001" num="0001">La présente invention concerne un synthétiseur numérique polyphonique de signaux périodiques pour la production de sons musicaux.</p>
<p id="p0002" num="0002">Elle concerne plus particulièrement des synthétiseurs entièrement numériques dans lesquels chaque signal périodique résulte d'une succession d'échantillons numériques produits notamment à partir d'une mémoire d'échantillons de forme d'onde, lue à fréquence variable, et convertis ensuite sous forme analogique. De tels synthétiseurs ont déjà été décrits dans les demandes de brevet français n° 7607419 du 16 mars 1976, n° 7720245 du 1er juillet 1977, n° 7832727 du 21 novembre 1978, le 1er certificat d'addition n° 79 07339 du 23 mars 1979, et la demande de brevet Européen 0 011 576.</p>
<p id="p0003" num="0003">Chaque échantillon est produit à partir d'un ensemble de données numériques telles que phase instantannée, amplitude courante (enveloppe du signal), rang d'octave ou d'harmonique, voie de sortie analogique, etc., qui occupent un bloc de mémoires. Chaque échantillon résulte donc de la lecture d'un bloc de mémoires. Ce même bloc est à l'origine d'un signal périodique complet, grâce à la lecture périodique de ce bloc et la mise à jour simultanée de l'information de phase instantanée qu'il contient.</p>
<p id="p0004" num="0004">Tous les échantillons de tous les signaux périodiques sont produits séquentiellement et cycliquement selon un enchainement qui résulte de l'enchaînament de lecture des blocs de mémoires.</p><!-- EPO <DP n="4"> -->
<p id="p0005" num="0005">Etant donné qu'un son complexe en sortie peut être considéré comme la somme d'un certain nombre de signaux périodiques élémentaires, sinu- soidaux par exemple, et étant donné le caractère polyphonique du synthétiseur, il existe de nombreux blocs de mémoires regroupés dans un ensemble dénommé "clavier virtuel". Le synthétiseur génère donc un grand nombre de signaux automatiquement, d'après les informations inscrites dans le "clavier virtuel".</p>
<p id="p0006" num="0006">Pour constituer un instrument de musique canplet, tel qu'un orgue électronique, le synthétiseur est associé à des claviers, pédaliers, boutons, tirettes et des moyens de commande qui inscrivent les données nécessaires à la génération des signaux dans le "clavier virtuel", en fonction des actions sur les touches, boutons, pédales, tirettes, et en fonction du temps. Dans un instrument de musique de qualité, en particulier, l'évolution dans le temps de l'amplitude de chaque composante sonore doit se faire avec une grande précision selon des lois déterminées. Mais cette nécessité entraîne un travail considérable des moyens de commande de l'instrument, une grande complexité de ces moyens et un coût élevé des circuits qui le composent.</p>
<p id="p0007" num="0007">Un but de la présente invention est d'éviter cet inconvénient en simplifiant de manière considérable le travail des moyens de commande en ce qui concerne la commande de l'évolution de l'amplitude de chaque composante sonore (ou signal périodique) .</p>
<p id="p0008" num="0008">Un objet de la présente invention est un nouveau synthétiseur dans lequel l'amplitude de chaque composante sonore est capable d'évoluer automatiquement en fonction du temps entre une valeur courante initiale et une valeur finale déterminée, selon une loi déterminée, et ceci sans l'inteivention des moyens de commandes de l'instrument au moins jusqu'à ce que la valeur d'amplitude finale soit atteinte.</p>
<p id="p0009" num="0009">Selon une caractéristique de l'invention, le synthétiseur comporte :
<ul id="ul0001" list-style="none">
<li>- plusieurs générateurs de signaux rectangulaires de fréquences déterminées</li>
<li>- un ensemble de blocs de mémoires contenant au moins des données de phase instantanée de rang d'harmonique ou d'octave, et d'amplitude;</li><!-- EPO <DP n="5"> -->
<li>- des moyens de commande de lecture des blocs de mémoires, séquentiellement et selon un enchaînement déterminé fonction des signaux des générateurs ;</li>
<li>- des moyens de production d'échantillon analogiques de signaux périodiques à partir des données lues dans les blocs ; et</li>
<li>- des moyens d'évolution automatique, en fonction du temps, de l'amplitude de chaque signal périodique, comportant des moyens de calcul pour remplacer périodiquement la donnée d'amplitude de chaque bloc qui en contient, par une nouvelle donnée d'amplitude calculée selon une interpolation entre l'amplitude initiale et une amplitude finale prédéterminée.</li>
</ul></p>
<p id="p0010" num="0010">Par exemple, un ou plusieurs générateurs d'horloge d'amplitude déterminent le rythme de calcul des nouvelles valeurs d'amplitude.</p>
<p id="p0011" num="0011">Selon une autre caractéristique de l'invention, chaque bloc contenant une donnée d'amplitude courante, contient en outre une donnée d'amplitude finale qui sert périodiquement au calcul de la nouvelle amplitude courante : les évolutions des amplitudes des différents signaux périodiques sont ainsi indépendants les unes des autres.</p>
<p id="p0012" num="0012">Ainsi selon l'invention, la donnée d'amplitude dans le bloc du clavier virtuel est automatiquement modifiée au rythme de l'horloge d'amplitude (à très basse fréquence) selon une interpolation sensiblement linéaire ou logarithmique. L'interpolation logarithmique (ou exponentiel le), en particulier, permet d'obtenir une évolution très douce et naturelle de l'amplitude entre deux valeurs initiale et finale sans que l'oreille puisse percevoir l'impression d'une évolution d'amplitude par palliers, L'horloge d'amplitude est complètement indépendante des générateurs de signaux rectangulaires qui déterminent les fréquences des sonorités élémentaires. Plusieurs horloges d'amplitude sont même souhaitable pour disposer d'une grande variété de vitesse d'évolution d'amplitude.</p><!-- EPO <DP n="6"> -->
<p id="p0013" num="0013"><sub>E</sub>tant donné que cette évolution d'amplitude est réalisée automatiquement par le synthétiseur, les moyens de commande de l'instrument n'ont plus qu'a fournir quelques points de la courbe d'enveloppe d'amplitude des signaux périodiques de sortie, ce qui simplifie considérablement leurs taches et permet d'améliorer grandement les qualités générales de l'instrument.</p>
<p id="p0014" num="0014">Selon une réalisation préférée de l'invention, les moyens mis en oeuvre pour l'évolution automatique de l'amplitude peuvent être communs avec d'autres moyens de calcul du synthétiseur, ce qui limite la complexité des circuits. Ces moyens peuvent aussi être bloqués à tout moment par les moyens de commande extérieurs de l'instrument, afin de supprimer l'automatisme, laissant aux moyens de commande de l'instrument, la possibilité de réalisations d'effets spéciaux.</p>
<p id="p0015" num="0015">D'autre caractéristiques et avantages de l'invention apparaitront dans la description qui suit illustrée par les figures qui représentent :
<ul id="ul0002" list-style="none">
<li>La figure 1, un schéma général d'un synthétiseur selon l'invention ;</li>
<li>La figure 2, le schéma détaillé des circuits d'évolution automatique d'amplitude et des circuits de commande ;</li>
<li>La figure 3, une courbe d'évolution d'amplitude entre une valeur initiale et une valeur finale ;</li>
<li>La figure 4, une courbe d'évolution complète de l'amplitude d'une composante sonore et</li>
<li>La figure 5, un organigramme expliquant le déroulement des opérations dans le synthétiseur.</li>
</ul></p>
<p id="p0016" num="0016">La figure 1 représente la structure générale du synthétiseur selon l'invention.</p>
<p id="p0017" num="0017">Celui-ci comporte, comme élément essentiel, le "clavier virtuel" 2 qui est un ensemble de blocs de mémoires contenant chacun, des paramàtres numériques servant à la génération d'un échantillon d'un signal périodique. Le clavier virtuel est constitué par exemple, par une mémoire <!-- EPO <DP n="7"> -->formée de 256 blocs de 7 mémoires chacuns. Le contenu de chacune des mémoires des blocs sera explicité dans ce qui suit. Les blocs sont lus un par un, séquentiellement, selon un enchaînement déterminé. Les contenus des 7 mémoires de chaque bloc sont lus simultanément, et sont appliqués aux autres circuits du synthétiseur. Ils donnent lieu à la production d'un échantillon, et/ou à la mise à jour d'une information contenue dans le clavier virtuel (amplitude courante, phase instantanée.</p>
<p id="p0018" num="0018">Le clavier virtuel est donc l'élément fondamental du synthétiseur car il contient à la fois les données nécessaires à la production des échantillons successifs des signaux élémentaires et aussi des pointeurs d'adresse qui permettent la lecture séquentielle des blocs selon un enchaînement déterminé.</p>
<p id="p0019" num="0019">La position de chaque bloc dans le clavier virtuel est définie par une adresse. Cette position peut varier. Elle est décidée par les moyens de commande extérieure du synthétiseur. La position de chaque donnée dans un bloc est, par contre, constante, chaque mémoire étant couplée à un ou plusieurs circuits spécifiques du synthétiseur.</p>
<p id="p0020" num="0020">Il y a de ce fait, deux types de blocs, dans le clavier virtuel 2 : des blocs principaux et des blocs secondaires.</p>
<p id="p0021" num="0021">Chaque bloc principal contient une valeur de phase instantanée qui- est incrémentée automatiquement en synchronisme sensiblement avec le signal d'un générateur désigné dans le bloc par un numéro I. Le bloc contient également un pointeur primaire PP, c'est-à-dire l'adresse d'un autre bloc principal, un pointeur secondaire PS, c'est-à-dire l'adresse d'un bloc secondaire, et un bit d'identification de type T de bloc (par exemple T = 1 pour un bloc principal). Chaque bloc secondaire contient des informations numériques d'octave 0, de type de forme d'onde F, de sélection de voie de sortie analogique V, d'amplitude courante AC, d'amplitude finale AF, et de sélection de générateur d'horloga d'amplitude VA. Il contient encore un bit de validation ou d'interdiction M d'évolution automatique d'amplitude, un pointeur secondaire PS <!-- EPO <DP n="8"> -->c'est-à-dire l'adresse d'un autre bloc (soit secondaire, soit principal) et un bit d'identification de type de bloc T (T = 0 pour un bloc secondaire).</p>
<p id="p0022" num="0022">La mémoire 10 contient le bit d'identification de chaque type de bloc (T = <sub>1 </sub>ou 0) .</p>
<p id="p0023" num="0023">La mémoire 11 contient le pointeur secondaire PS des deux types de blocs. La mémoire 12 contient soit le pointeur primaire PP, s'il s'agit d'un bloc principal, soit les données M, VA et AF, s'il s'agit d'un bloc secondaire.</p>
<p id="p0024" num="0024">La mémoire 13 contient soit la phase instantanée f (bloc principal) soit l'amplitude courante AC (bloc secondaire). Cette disposition particulière permet de combiner les circuits d'incrémentation de la phase ϕ et de variation de l'amplitude AC&lt; ces circuits ayant la même liaison au clavier virtuel.</p>
<p id="p0025" num="0025">La mémoire 14 contient soit le numéro I de générateur de fréquence, (bloc principal), soit le numéro V de voie de sortie (bloc secondaire). Les mémoires 15 et 16 contiennent respectivement soit les numéros de forme d'onde F et d'octave 0 s'il s'agit d'un bloc secondaire, soit aucune donnée significative, dans le cas d'un bloc principal. Ces emplaconents sont, bien entendu disponibles pour contenir des données utilisables pour des opérations supplémentaires éventuelles.</p>
<p id="p0026" num="0026">La signification des données délivrées par le clavier V virtuel dépend donc du type de bloc lu, c'est-à-dire de l'indicateur T lu dans la mémoire 10. Le déroulement des opérations dans le synthétiseur est donc lié directement au déroulement de la lecture des blocs, selon un enchaînement déterminé tel que décrit plus loin à l'aide de la figure 5.</p>
<p id="p0027" num="0027">Ce déroulement est automatique, mais il est toutefois conditionné par les contenus des mémoires 11 et 12 (pointeurs), déterminé par les moyens de commande (non représentés) de l'instrument, et par les signaux rectangulaires d'un certain nombre de générateurs.</p><!-- EPO <DP n="9"> -->
<p id="p0028" num="0028">Les moyens de commande de l'instrument de musique, non représentés, communiquent avec le synthétiseur par l'intermédiaire d'un ensemble de connexions dénommées "bus" 1. Les commandes du synthétiseur se résument donc à des opérations d'écriture et de lecture dans le clavier virtuel, à partir du bus 1.</p>
<p id="p0029" num="0029">La sélection des blocs du clavier virtuel est faite par un registre d'adresse 3, également relié au bus 1. Ce registre est, en fait, un registre tampon alimenté par une adresse fournie soit par le bus, soit par un circuit sélecteur 4 qui reçoit les deux pointeurs d'adresse du clavier virtuel, le pointeur primaire PP de la mémoire 12, et le pointeur secondaire PS de la mémoire 11. La sélection dépend d'un signal de commande de sélection délivré par la logique de commande 6 du synthétiseur. Le renouvellement des adresses dans le registre tampon 3 s'opère au rythme d'une horloge 5 ou d'un signal d'horloge ou de commande qui détermine la fréquence de récurrence des opérations de lecture des blocs et par suite, de production des échantillons des signaux élémentaires. Toutefois, le choix et l'ordre de la production des échantillons dépend à la fois du contenu des blocs de mémoire, et en pràculier des pointeurs, et aussi de générateurs de signaux rectangulaires 7 et 8.</p>
<p id="p0030" num="0030">Un ensemble de générateurs 7 de signaux rectangulaires, déterminent les fréquences des signaux élémentaires du synthétiseur. L'ensemble 7 contient au mins 12 générateurs dont les fréquences sont fixes et réparties selon une gamme chromatique. D'une manière générale, il contient d'autres générateurs, par exemple à fréquence ccmmandable, permettant la production par le synthétiseur, de signaux de fréquences variables et d'effets spéciaux. Ces générateurs sont connectés à la logique de commande 6 qui, en rapport avec l'enchaînement de lecture des blocs du clavier virtuel 2, détecte les changements d'états des générateurs et commande la mise à jour des informations de phase ϕ et la production des échantillons analogiques.</p><!-- EPO <DP n="10"> -->
<p id="p0031" num="0031">Un ensemble de générateurs 8, détermine la vitesse de l'évolution d'amplitude des signaux élémentaires. Les fréquences des générateurs 8 sont des fréquences très basses (quelques hertz à quelques centaines de hertz). Ces générateurs sont également connectés à la logique de commande 6 qui, toujours en rapport avec l'enchaînement de lecture des blocs du clavier virtuel, détecte les changements d'états des générateurs et commande la mise à jour des infonnations d'amplitude AC.</p>
<p id="p0032" num="0032">Pour ce faire, la logique de commande reçoit, en plus des signaux des générateurs 7 et 8, le bit T identificateur de type de bloc, l'adresse en cours dée par le registre 3, le bit de validation M, la vitesse VA pour la sélection d'un des générateurs 8, le numéro I pour la sélection d'un des générateurs 7, le bit de poids le plus faible ( ϕ 0 ou A<sub>0</sub>) de la donnée courante de phase f ou d'amplitude AC, et un signal = indiquant l'égalité AC = AF.</p>
<p id="p0033" num="0033">En fonction de l'état de tous ces signaux, la logique 6 délivre un ordre de mise à jour ≠ de la donnée courante ϕ ou AC, un ordre de sélection de pointeur primaire ou secondaire au sélecteur 4 et des signaux d'appel IT et ADR pour les moyens de commandes externes du synthétiseur, par l'intermédiaire du BUS 1.</p>
<p id="p0034" num="0034">La génération des sons élémentaires, par échantillons successifs est faite donc à partir des signaux de commandes précités (T, ≠) et des données lues dans le clavier virtuel.</p>
<p id="p0035" num="0035">Un dispositif de calcul 20 réalise, soit l'incrémentation de la phase ϕ et sa mémorisation, soit la mise à jour de l'amplitude courante AC en fonction de l'amplitude finale AF.</p>
<p id="p0036" num="0036">Un circuit de calcul d'adresse 21 reçoit la phase ϕ,le numéro de forme d'onde F et d'octave 0 et délivre une adresse qui est appliquée à une mémoire de forme d'onde 22. Celle-ci délivre un échantillon numérique d'amplitude instantanée (ou de variation d'amplitude) à un dispositif convertisseur-numérique analogique 23. L'échantillon analogique obtenu est multiplié, dans un circuit 24, par la donnée <!-- EPO <DP n="11"> -->numérique d'amplitude courante AC et le résultat est appliqué à un circuit démultiplexeur 25 cmmandé par la donnée V de sélection de voie. Le circuit 25 comporte plusieurs voies de sortie analogiques 25 qui sont destinées à être connectées à des amplificateurs par l'intermédiaire de circuits de filtrage et de réglage d'amplitude qui ne sont pas représentés.</p>
<p id="p0037" num="0037">Les circuits 21 à 25 sont réalisés très simplement. Les circuits 21 et 22 sont par exemple des mémoires mortes ; les circuits 23 et 24 sont constitués par exemple de deux convertisseurs numériques analogiques connectés en série, la sortie de l'un étant connectée à l'entrée de référence de l'autre ; et le circuit 25 est un circuit démultiplexeur.</p>
<p id="p0038" num="0038">La figure 2 représente le détail de la logique de commande 6 et du circuit 20 de mise à jour des données de phase et d'amplitude.</p>
<p id="p0039" num="0039">Ces circuits fonctionnent à partir des données lues dans le clavier virtuel dont seules les mémoires 14, 10, 12 et 13 ont été représentées ainsi que le registre d'adresse 3 et le sélecteur 4.</p>
<p id="p0040" num="0040">La logique de commande comprend deux circuits multiplexeurs 60 et 61. Le circuit 60 reçoit les signaux rectangulaires délivrés par la série de générateurs 7 (16 fréquences différentes par exemple) qui déterminent les fréquences des signaux périodiques de sortie. Le circuit 61 reçoit les signaux rectangulaires de la série de générateurs 8 (8 fréquences par exemple) qui déterminent la vitesse d'évolution de l'amplitude des signaux périodiques.</p>
<p id="p0041" num="0041">Le multiplexeur 60 délivre donc en sortie le signal rectangulaire désigné par le numéro I délivré par la mémoire 14 quand le bloc lu est du type principal (T = 1). Sinon (T = 0) la sortie est déconnectée (haute impédance). De même, le multiplexeur 61 reçoit la donnée VA de la mémoire 12 et délivre le signal du générateur correspandant quand T = 0. Pour ce faire, la donnée d'un inverseur 64, au circuit 61. Les deux sorties des multiplexeurs sont connectées à une entrée d'un circuit OU exclusif 65 dont l'autre entrée reçoit le bit de poids le plus faible ϕ<sub>0</sub> (si T = 1) ou A<sub>0</sub> (si T = 0). La sortie du OU exclusif 65 <!-- EPO <DP n="12"> -->délivre donc un signal ≠ actif si les états des signaux d'entrée sont différents, et inactifs, s'ils sont identiques. Chaque fois que le signal≠ est actif, ce signal provoque une mise à jour de la donnée de phase ϕ ou d'amplitude AC (incrémentation de la phase ou interpolation de l'amplitude). Cette mise à jour doit être réalisée de telle manière que le bit de poids le plus faible de ϕ ou de AC soit toujours identique à l'état du générateur sélectionné par l'un des multiplexeurs. Tant qu'il y a égalité, le circuit 65 ne commande pas de mise à jour.</p>
<p id="p0042" num="0042">Cette mise à jour est réalisée par le circuit 20, qui comprend :
<ul id="ul0003" list-style="none">
<li>- un premier additionneur 8 bits, 35 à 3 entrées. Une première entrée est connextée à la mémoire 13 et reçoit donc la phase ϕ (si T = 1) ou l'amplitude courante AC (si T = 0). Une deuxième entrée reçoit en permanence un état logique 1 (IL). Une troisième entrée est connectée à la sortie d'un circuit ET 34 ;</li>
<li>- Un deuxième additionneur 4 bits, 33 à deux entrées. Une première entrée reçoit les 4 bits de poids forts de la mémoire 13 après inversion par un inverseur 32. Une deuxième entrée reçoit les 4 bits de l'amplitude finale AF. La sortie de l'additionneur 33 est connectée à une entrée non inverseuse du circuit ET 34. L'autre entrée du ET 34 est inverseuse et reçoit le signal T ;</li>
<li>- Un circuit comparateur 31 recevant les contenus des mémoires 13 et 12 délivre un signal = dès qu'il y a égalité.</li>
</ul></p>
<p id="p0043" num="0043">Pour le fonctionnement du circuit 20, deux cas pourront se présenter, suivant la valeur de T :</p>
<p id="p0044" num="0044">Si T = 1, la donnée lue dans la mémoire 13 est la phase ϕ. L'état binaire de la sortie du ET 34 est toujours 0. Par conséquent, la sortie de l'additionneur 35 délivre ϕ + 1. Cette donnée est mise en mémoire dans un registre 36 pour quelle soit disponible (pour le circuit 21) quand la donnée lue dans la mémoire 13 est l'amplitude AC. La donnée <!-- EPO <DP n="13"> -->ϕ + 1 est également enregistrée dans la mémoire 13, à la place de la donnée précédente ϕ .L'ordre de mémorisation est donné par le signal ≠ délivré par le OU exclusif 65.</p>
<p id="p0045" num="0045">Si T = 0, c'est la donnée AC qui est délivrée par la mérnoire 13. Les quatre bits de poids fort de AC à l'entrée Y<sub>1</sub> du circuit 32 représentent AF/16. On considère de même que la donnée Y<sub>2</sub> à l'entrée de l'additionneur 33 est AF/16, la mémoire 12 n'ayant que 4 bits. L'additionneur 33 délivre donc :<maths id="math0001" num=""><img id="ib0001" file="imgb0001.tif" wi="75" he="13" img-content="math" img-format="tif" inline="no"/></maths></p>
<p id="p0046" num="0046">Cette donnée est appliquée à l'additionneur 35, à travers le ET 34 qui est passant quand T =0, et avec un décalage à gauche de 1 bit, correspondant à une multiplication par deux :<maths id="math0002" num=""><img id="ib0002" file="imgb0002.tif" wi="34" he="11" img-content="math" img-format="tif" inline="no"/></maths></p>
<p id="p0047" num="0047">La sortie de l'additionneur 35 délivre donc :<maths id="math0003" num=""><img id="ib0003" file="imgb0003.tif" wi="92" he="22" img-content="math" img-format="tif" inline="no"/></maths></p>
<p id="p0048" num="0048">Cette opération réalise deux fonctions :
<ul id="ul0004" list-style="none">
<li>- une interpolation logarithmique entre AC et AF;</li>
<li>- une inversion du bit de poids faible A<sub>0</sub> puisque la quantité ajoutée <sub>2</sub> AF - AC-l est impaire. 16</li>
</ul></p>
<p id="p0049" num="0049">La logique de commande 6 comporte, en outre, un circuit ET 36 réalisant T x ≠pour commander le circuit sélecteur 4. En effet, tant que ≠ est à l'état 0, le type de bloc sélectionné ne change pas : tant que les états des générateurs 7 ne changent pas, les blocs lus restent du type principal, et aucun échantillon n'est calculé. S'il s'agit de la lecture d'une série de blocs secondaires, T = 0 et le signal ≠ n'a aucun effet sur le sélecteur 4. L'enchaînement de blocs secondaires suit son <!-- EPO <DP n="14"> -->cours jusqu'à l'apparition d'un bloc principal carme sera expliqué par la suite.</p>
<p id="p0050" num="0050">La logique de commande comporte, en outre, une mémoire d'adresse 63 destinée à enregistrer l'adresse du bloc dans lequel il y a égalité AC = AF. Pour ce faire, le signal <sup>=</sup> délivré par le comparateur 31 est appliqué à un circuit logique 62 destiné à gérer la fin de l'évolution d'amplitude dans chaque bloc. Ce circuit reçoit les signaux T, M (1 bit), = et l'adresse ADR dans la mémoire 63. Il délivre des signaux de commande de mémorisation à la mémoire 63, de blocage du multiplexeur M, et d'interruption IT aux circuits de commande extérieurs du synthétiseur par l'intermédiaire du BUS 1. Le signal IT est accompagné du contenu ADR de la mémoire 63. Celle-ci reçoit aussi par le bus 1 un signal d'effacement RAZ de son contenu. La logique 62 est réalisée simplement par un réseau programable (mémoire morte). Les sorties délivrent des signaux de commande en fonction des signaux aux entrées, selon le tableau suivant (le symbole X signifiant "quelque soit l'état 1 ou 0") :</p>
<p id="p0051" num="0051">
<tables id="tabl0001" num="0001"><img id="ib0004" file="imgb0004.tif" wi="151" he="106" img-content="table" img-format="tif" inline="no"/>
</tables><!-- EPO <DP n="15"> --></p>
<p id="p0052" num="0052">La figure 3 représente l'évolution automatique de l'amplitude d'un signal périodique de sortie en fonction du temps t entre une amplitude initiale et une amplitude finale. Elle montre un signal croissant et un signal décroissant. L'amplitude de chaque signal évolue en fait par bonds. Les points de chaque courbe indiquent la nouvelle amplitude courante AC<sub>(n+ 1)</sub>t calculée d'après l'amplitude courante du point précédent AC<sub>nt</sub> et l'amplitude finale AF selon la formule :<maths id="math0004" num=""><img id="ib0005" file="imgb0005.tif" wi="72" he="16" img-content="math" img-format="tif" inline="no"/></maths></p>
<p id="p0053" num="0053">Le coefficient k étant de préférence une puissance de 2 (k = 4 dans le cas de la figure).</p>
<p id="p0054" num="0054">La figure 4 représente la courbe enveloppe d'amplitude d'un signal périodique. Cette courbe comprend une portion T<sub>0 </sub>- T<sub>1</sub> d'attaque ôù l'amplitude est croissante, une portion T - T<sub>5</sub> où le signal subit un trémolo d'amplitude et une portion T<sub>5 </sub>- T<sub>6</sub> etc. de décroissance et d'extinction du signal. Il est remarquable de constater que cette évolution complexe de l'amplitude ne nécessite que quelques commandes d'amplitude (écriture de la nouvelle valeur de AF) aux instants Tl, T2, T3, etc.</p>
<p id="p0055" num="0055">La figure 5 représente un organigramme expliquant le déroulement de l'enchaînement de lecture des blocs dans le synthétiseur. Ce déroulement est similaire à ceux ayant fait l'objet d'explications détaillées dans les demandes n° 7832727 et 79 07339.</p>
<p id="p0056" num="0056">Tant que l'état des signaux des générateurs 7 ne change pas, des lectures de blocs principaux se succèdent sans production d'échantillon, selon la boucle 100-101-100, etc. qui comprend une sélection d'un pointeur principal (101), une lecture du bloc principal désigné (100), et un test du générateur désigné par le numéro I qu'il contient. Si l'état d'un générateur change (≠) la phase ϕ du bloc principal est incrémentée (103). Le bloc suivant désigné par le pointeur secondaire (102), fait d'abord l'objet d'un test (104). Si ce bloc est du type principal, il y a retour en 101, sinon l'état du générateur 8 désigné par la donnée VA est testé (105).</p><!-- EPO <DP n="16"> -->
<p id="p0057" num="0057">Un échantillon est alors automatiquement calculé (107) soit avec la valeur d'amplitude courante AC déjà contenue dans le bloc (s'il n'y a pas de changement d'état comme indiqué par le signe =) soit avec une nouvelle amplitude courante (si ≠) calculée (106) selon une interpolation logarithmique (ou exponentielle ou linéaire). Puis un nouveau bloc est sélectionné par le pointeur secondaire (102) et ainsi de suite.</p>
<p id="p0058" num="0058">L'invention s'applique à des instruments de musiques électroniques dont elle constitue l'élément fondamental. En effet, la réalisation d'un instrument tel qu'un orgue électronique nécessite autour du synthétiseur d'autres éléments tels que meuble, claviers, pédalier, alimentation électrique, amplification basse fréquence et logique de commande du synthétiseur. Cette logique de commande est réalisée avantageusement à partir d'un micro-ordinateur dont le synthétiseur selon l'invention est un périphérique. Ce micro-ordinateur est d'ailleurs très simple et comprend un microprocesseur associé à des mémoires de programmes, des mémoires de données, et des circuits logiques réalisant les connexions nécessaires aux claviers pédaliers, boutons, tirette, etc. d'une part et au synthétiseur d'autre part. Plusieurs synthétiseurs peuvent même être couplés à un même micro-ordinateur et inversement.</p>
<p id="p0059" num="0059">Le synthétiseur suivant l'invention, en réalisant automatiquement l'évolution automatique de l'enveloppe de chaque signal périodique, jusqu'à une valeur d'amplitude finale, décharge le micro-ordinateur de la tâche correspondante. La complexité du synthétiseur n'est toutefois pas sensiblement augmentée puisque les circuits d'incrémentation de la phase et de calcul d'amplitude sont communs, avec la caractéristique que chaque opération de mise à jour (de phase ou d'amplitude) ajoute une quantité impaire à la valeur précédente (pour que le bit de poids faible puisse suivre l'état d'un générateur) . D'autres moyens équivalents sont évidemment envisageables. Il est à noter également que l'évolution automatique d'amplitude de chaque signal périodique est indépendante de celle des autres signaux. Ainsi certains signaux périodiques peuvent être modifiés de temps en temps par les moyens de cmmande de l'instrument, et d'autres peuvent conserver la même amplitude, ceci de deux manières possibles : soit ignorant le signal IT <!-- EPO <DP n="17"> -->émis par la logique de commande 6, soit en plaçant un masque M dans la mémoire 12 du clavier virtuel. Ce masque M empêche la logique 62 d'émettre un signal IT vers le microprocesseur, mais n'empêche pas le fonctionnement des moyens de mise à jour (20) de l'amplitude courante. La valeur d'amplitude courante reste cependant constante et égale à AF. Le masoe M peut également être utilisé pour bloquer le fonctionnement des moyens de mise à jour 20.</p>
</description><!-- EPO <DP n="18"> -->
<claims id="claims01" lang="fr">
<claim id="c-fr-0001" num="">
<claim-text>1. Synthétiseur polyphonique numérique de signaux périodiques, comportant plusieurs générateurs de signaux binaires de fréquences déterminées ; un ensemble de blocs de mémoires contenant des données de phase instantanée, de rang d'harmonique ou d'octave, et d'amplitudes au moins ; des moyens de commande de lecture des blocs de mémoires selon un enchaînement déterminé en fonction des signaux des générateurs ; et des moyens de productions d'échantillons analogiques de signaux périodiques à partir des données lues dans les blocs, caractérisé en ce qu'il comporte en outre des moyens d'évolution autanatique de l'amplitude de chaque signal périodique, comportant des moyens de calcul pour remplacer périodiquement chaque donnée d'amplitude par une nouvelle donnée calculée selon une interpolation entre l'amplitude initiale et une amplitude finale prédéterminée.</claim-text></claim>
<claim id="c-fr-0002" num="">
<claim-text>2. Synthétiseur selon la revendication 1 caractérisé en ce que chaque bloc de mémoires contenant une donné d'amplitude courante (AC), pour les moyens de production d'échantillons analogiques, contient en outre une donnée supplémentaire d'amplitude finale (AF), et en ce que les moyens d'évolution automatique d'amplitude comportent :
<claim-text>- au moins un générateur d'horloge d'amplitude délivrant un signal binaire (8) ;</claim-text>
<claim-text>- des moyens de calcul (20) pour produire une nouvelle valeur d'amplitude courante selon une interpolation entre les valeurs d'amplitude courante et d'amplitude finale de chaque bloc lu ; et</claim-text>
<claim-text>- des moyens de commande (6) de calcul et de mémorisation de la nouvelle amplitude courante à la place de l'amplitude fourante initiale, sensiblement en synchronisme avec le signal binaire du générateur d'horloge d'amplitude.</claim-text></claim-text></claim>
<claim id="c-fr-0003" num="">
<claim-text>3. Synthétiseur selon la revendication 1 ou la revendication 2, caractérisé en ce que chaque bloc comportant des données d'amplitude courante (AC) et d'amplitude finale (AF), comporte en outre une donnée de validation (M) et en ce que les moyens de commande de calcul d'amplitude (6) <!-- EPO <DP n="19"> -->comportent des moyens d'arrêt de l'évolution automatique d'amplitude, en cas d'absence de la donnée de validation (M), du signal périodique correspondant.</claim-text></claim>
<claim id="c-fr-0004" num="">
<claim-text>4. Synthétiseur selon la revendication 1 ou 2 ou 3, caractérisé en ce que les moyens de commande (6) de calcul d'amplitude sont synchronisés avec les moyens de commande de lecture des blocs pour commande le calcul d'une nouvelle amplitude courante seulement quand un bloc contenant une donnée d'amplitude est sélectionné par les moyens de commande de lecture et quand un changement d'état du générateur d'horloge d'amplitude (8) est détecté.</claim-text></claim>
<claim id="c-fr-0005" num="">
<claim-text>5. Synthétiseur suivant l'une des revendications 1 à 4, caractérisé en ce qu'il canporte une pluralité de générateurs .d'horloge d'amplitude (8); que chaque bloc comportant des données d'amplitude courante et finale, comporte en outre une donnée (VA) de sélection d'un générateur d'horloge d'amplitude ; et que les moyens de commande de calcul d'amplitude comportent en outre des moyens de sélection (6) d'un générateur, ccm- mandés par la donnée de sélection lue dans le bloc correspondant.</claim-text></claim>
<claim id="c-fr-0006" num="">
<claim-text>6. Synthétiseur suivant l'une des revendications 1 à 5, caractérisé en ce que les moyens de calcul sont conçus pour délivrer une valeur nouvelle d'amplitude courante qui est une interpolation quasi-logarithmique entre l'amplitude courante initiale et l'amplitude finale lue dans le bloc correspondant.</claim-text></claim>
<claim id="c-fr-0007" num="">
<claim-text>7. Synthétiseur suivant la revendication 6, caractérisé en ce que les dits moyens de calcul comportent un additionneur (35) ayant une première entrée destinée à recevoir la valeur d'amplitude courante initiale (AC) une deuxième entrée couplée à la sortie d'un circuit de calcul (32, 33) destiné à délivrer une fraction de la différence entre l'amplitude finale (AF) et l'amplitude courante initiale (AC), et une sortie couplée à l'ensemble des blocs de mémoire pour délivrer une nouvelle valeur d'anplitude courante.</claim-text></claim><!-- EPO <DP n="20"> -->
<claim id="c-fr-0008" num="">
<claim-text>8. Synthétiseur suivant l'une des revendications 1 à 7, caractérisé en ce que l'ensemble des blocs de mémoires comporte d'une part, des blocs principaux colportant chacun, notamment, une donné de phase instantanée (ϕ) commune aux calculs de plusieurs échantillons analogiques, une donnée de sélection (I) d'un générateur de signal binaire et un indicateur de bloc (T) de type principal, et d'autre part, des blocs secondaires comportant chacun, notamment, des données d'amplitude courante (AC) et finale (AF), une donnée de sélection (VA) d'un générateur d'horloge d'amplitude, et un indicateur de bloc (T) de type secondaire, en ce que l'emplacement des données de phase instantanée (ϕ) des blocs principaux coïncide, en entrée et en sortie des blocs, avec l'empla- danent des données d'amplitude courante (AC) des blocs secondaires, et en ce qu'il comporte des moyens de calcul canbinés (20) pour calculer et mémoriser une nouvelle valeur de phase instantanée (ϕ) augmentée d'une unité par rapport à la précédente, dans le cas de la lecture d'un bloc principal et d'un changement d'état du signal binaire du générateur désigné par la donnée de sélection (I) contenue dans ledit bloc principal et pour calculer et mémoriser une nouvelle valeur d'amplitude courante (AC) à la place de la valeur initiale dans le cas de la lecture d'un bloc secondaire et d'un changement d'état du signal binaire du générateur d'horloge d'amplitude désigné par la donnée de sélection (VA) contenue dans ledit bloc secondaire.</claim-text></claim>
<claim id="c-fr-0009" num="">
<claim-text>9. Synthétiseur selon la revendication 8, caractérisé en ce que les moyens de calcul combinés (20) compotent :
<claim-text>- un circuit de calcul (32, 33) d'une fraction de la différence entre l'amplitude finale (AF) et l'amplitude courante (AC) initiale ;</claim-text>
<claim-text>- un circuit additionneur (35) ayant une première entrée pour recevoir soit la valeur d'amplitude courante (AC) dans le cas de la lecture d'un bloc secondaire, soit la valeur de phase instantanée (ϕ) dans le cas de la lecture d'un bloc principal ; une deuxième entrée pour recevoir une quantité égale à une unité ; et une troisième entrée pour recevoir la donnée délivrée par le circuit de calcul (32, 33) par l'intermédiaire d'une porte logique (34) connectée de manière que la donnée appliquée à la troisième entrée est toujours paire ; la porte étant commandée par le signal (T) indicateur de type de <!-- EPO <DP n="21"> -->bloc de manière à délivrer une quantité nulle au cours de la lecture d'un bloc principal, et de manière passante au cours de la lecture d'un bloc secondaire ; et</claim-text>
<claim-text>- un registre mémoire de phase (36) pour stocker la nouvelle valeur de phase instantanée délivrée par l'additionneur (35) au cours de la lecture d'un bloc principal.</claim-text></claim-text></claim>
<claim id="c-fr-0010" num="">
<claim-text>10. Synthétiseur suivant l'une des revendications 1 à 8, caractérisé en ce qu'il comporte, en outre, un circuit comparateur (31) entre l'amplitude finale (AF) et l'amplitude courante (AC) pour produire un signal indicateur d'égalité.</claim-text></claim>
</claims><!-- EPO <DP n="22"> -->
<drawings id="draw" lang="fr">
<figure id="f0001" num=""><img id="if0001" file="imgf0001.tif" wi="194" he="264" img-content="drawing" img-format="tif" inline="no"/></figure><!-- EPO <DP n="23"> -->
<figure id="f0002" num=""><img id="if0002" file="imgf0002.tif" wi="182" he="263" img-content="drawing" img-format="tif" inline="no"/></figure><!-- EPO <DP n="24"> -->
<figure id="f0003" num=""><img id="if0003" file="imgf0003.tif" wi="189" he="268" img-content="drawing" img-format="tif" inline="no"/></figure>
</drawings><!-- EPO <DP n="25"> -->
<search-report-data id="srep" lang="fr" srep-office="EP" date-produced=""><doc-page id="srep0001" file="srep0001.tif" wi="182" he="282" type="tif"/></search-report-data>
</ep-patent-document>