EP0021964A1 - Digital polyphonic synthesizer of periodic signals - Google Patents

Digital polyphonic synthesizer of periodic signals Download PDF

Info

Publication number
EP0021964A1
EP0021964A1 EP80400861A EP80400861A EP0021964A1 EP 0021964 A1 EP0021964 A1 EP 0021964A1 EP 80400861 A EP80400861 A EP 80400861A EP 80400861 A EP80400861 A EP 80400861A EP 0021964 A1 EP0021964 A1 EP 0021964A1
Authority
EP
European Patent Office
Prior art keywords
amplitude
block
data
current amplitude
final
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
EP80400861A
Other languages
German (de)
French (fr)
Other versions
EP0021964B1 (en
Inventor
Christian Jacques Deforeit
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Christian Jacques Deforeit Te Semur-En-Auxois Fra
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to AT80400861T priority Critical patent/ATE7744T1/en
Publication of EP0021964A1 publication Critical patent/EP0021964A1/en
Application granted granted Critical
Publication of EP0021964B1 publication Critical patent/EP0021964B1/en
Expired legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H7/00Instruments in which the tones are synthesised from a data store, e.g. computer organs
    • G10H7/08Instruments in which the tones are synthesised from a data store, e.g. computer organs by calculating functions or polynomial approximations to evaluate amplitudes at successive sample points of a tone waveform
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/155Musical effects
    • G10H2210/195Modulation effects, i.e. smooth non-discontinuous variations over a time interval, e.g. within a note, melody or musical transition, of any sound parameter, e.g. amplitude, pitch, spectral response, playback speed
    • G10H2210/201Vibrato, i.e. rapid, repetitive and smooth variation of amplitude, pitch or timbre within a note or chord
    • G10H2210/205Amplitude vibrato, i.e. repetitive smooth loudness variation without pitch change or rapid repetition of the same note, bisbigliando, amplitude tremolo, tremulants
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/131Mathematical functions for musical analysis, processing, synthesis or composition
    • G10H2250/161Logarithmic functions, scaling or conversion, e.g. to reflect human auditory perception of loudness or frequency

Definitions

  • the present invention relates to a polyphonic digital synthesizer of periodic signals for the production of musical sounds.
  • Each sample is produced from a set of digital data such as instantaneous phase, current amplitude (signal envelope), octave or harmonic rank, analog output channel, etc., which occupy a block of memories.
  • Each sample therefore results from the reading of a block of memories.
  • This same block is the source of a complete periodic signal, thanks to the periodic reading of this block and the simultaneous updating of the instantaneous phase information that it contains.
  • All the samples of all the periodic signals are produced sequentially and cyclically according to a sequence which results from the sequence of readings of the memory blocks.
  • the synthesizer is associated with keyboards, pedals, buttons, pullbars and control means which record the data necessary for the generation of the signals in the "virtual keyboard", according to the actions on the keys, buttons, pedals, zippers, and according to time.
  • the evolution over time of the amplitude of each sound component must be done with great precision according to determined laws.
  • this necessity involves considerable work on the control means of the instrument, a great complexity of these means and a high cost of the circuits which compose it.
  • An object of the present invention is to avoid this drawback by considerably simplifying the work of the control means with regard to controlling the change in the amplitude of each sound component (or periodic signal).
  • An object of the present invention is a new synthesizer in which the amplitude of each sound component is capable of evolving automatically as a function of time between an initial current value and a determined final value, according to a determined law, and this without the inteivention of the instrument control means at least until the final amplitude value is reached.
  • one or more amplitude clock generators determine the rate at which new amplitude values are calculated.
  • each block containing a current amplitude datum furthermore contains a final amplitude datum which is used periodically for the calculation of the new current amplitude: the changes in the amplitudes of the various periodic signals are thus independent each other.
  • the amplitude data in the block of the virtual keyboard is automatically modified at the rate of the amplitude clock (at very low frequency) according to a substantially linear or logarithmic interpolation.
  • Logarithmic (or exponential le) interpolation makes it possible to obtain a very gentle and natural evolution of the amplitude between two initial and final values without the ear being able to perceive the impression of an amplitude evolution.
  • the amplitude clock is completely independent of the rectangular signal generators which determine the frequencies of the elementary tones. Several amplitude clocks are even desirable to have a wide variety of amplitude evolution speed.
  • the means used for the automatic evolution of the amplitude can be common with other means for calculating the synthesizer, which limits the complexity of the circuits. These means can also be blocked at any time by the external control means of the instrument, in order to suppress the automation, leaving the control means of the instrument, the possibility of producing special effects.
  • Figure 1 shows the general structure of the synthesizer according to the invention.
  • the virtual keyboard 2 is a set of memory blocks each containing, digital parameters used for the generation of a sample of a periodic signal.
  • the virtual keyboard consists, for example, of a memory formed of 256 blocks of 7 memories each. The content of each of the block memories will be explained in the following. The blocks are read one by one, sequentially, according to a determined sequence. The contents of the 7 memories of each block are read simultaneously, and are applied to the other circuits of the synthesizer. They give rise to the production of a sample, and / or to the updating of information contained in the virtual keyboard (current amplitude, instantaneous phase.
  • the virtual keyboard is therefore the fundamental element of the synthesizer because it contains both the data necessary for the production of successive samples of the elementary signals and also address pointers which allow the sequential reading of the blocks according to a determined sequence.
  • each block in the virtual keyboard is defined by an address. This position may vary. It is decided by the external control means of the synthesizer.
  • the position of each piece of data in a block is, on the other hand, constant, each memory being coupled to one or more specific circuits of the synthesizer.
  • main blocks There are therefore two types of blocks in the virtual keyboard 2: main blocks and secondary blocks.
  • Each main block contains an instantaneous phase value which is automatically incremented in synchronism substantially with the signal from a generator designated in the block by an number I.
  • the memory 11 contains the secondary pointer PS of the two types of blocks.
  • the memory 12 contains either the primary pointer PP, if it is a main block, or the data M, VA and AF, if it is a secondary block.
  • the memory 13 contains either the instantaneous phase f (main block) or the current amplitude AC (secondary block). This particular arrangement makes it possible to combine the circuits for incrementing the phase ⁇ and for varying the amplitude AC ⁇ these circuits having the same connection to the virtual keyboard.
  • the memory 14 contains either the frequency generator number I (main block) or the output channel number V (secondary block).
  • the memories 15 and 16 respectively contain either the waveform numbers F and octave 0 if it is a secondary block, or no significant data, in the case of a main block. These locations are, of course, available to contain data usable for possible additional operations.
  • the meaning of the data delivered by the virtual keyboard V therefore depends on the type of block read, that is to say on the indicator T read in the memory 10.
  • the flow of operations in the synthesizer is therefore directly linked to the flow of the reading of the blocks, according to a determined sequence as described below with the aid of FIG. 5.
  • This sequence is automatic, but it is however conditioned by the contents of memories 11 and 12 (pointers), determined by the control means (not shown) of the instrument, and by the rectangular signals of a certain number of generators.
  • the control means of the musical instrument communicate with the synthesizer by means of a set of connections called "bus" 1.
  • the commands of the synthesizer therefore amount to writing and reading operations in the virtual keyboard, from bus 1.
  • the selection of the blocks of the virtual keyboard is made by an address register 3, also connected to the bus 1.
  • This register is, in fact, a buffer register supplied by an address supplied either by the bus, or by a selector circuit 4 which receives the two address pointers from the virtual keyboard, the primary pointer PP from memory 12, and the secondary pointer PS from memory 11.
  • the selection depends on a selection command signal delivered by the control logic 6 of the synthesizer .
  • the renewal of the addresses in the buffer register 3 takes place at the rate of a clock 5 or of a clock or control signal which determines the frequency of recurrence of the operations of reading the blocks and consequently of producing the samples. elementary signals.
  • the choice and the order of production of the samples depends both on the content of the memory blocks, and in particular on the pointers, and also on rectangular signal generators 7 and 8.
  • a set of generators 7 of rectangular signals determine the frequencies of the elementary signals of the synthesizer.
  • the set 7 contains at least 12 generators whose frequencies are fixed and distributed according to a chromatic range. In general, it contains other generators, for example at a controllable frequency, allowing the synthesizer to produce signals of variable frequencies and special effects.
  • These generators are connected to the control logic 6 which, in connection with the sequence of reading of the blocks of the virtual keyboard 2, detects the changes of states of the generators and commands the updating of the phase information ⁇ and the production of the analog samples.
  • a set of generators 8 determines the speed of the amplitude evolution of the elementary signals.
  • the frequencies of the generators 8 are very low frequencies (a few hertz to a few hundred hertz).
  • These generators are also connected to the control logic 6 which, always in connection with the sequence of reading of the blocks of the virtual keyboard, detects the changes of states of the generators and commands the updating of the information of amplitude AC.
  • the logic 6 delivers an update order ⁇ of the current data ⁇ or AC, a command to select the primary or secondary pointer to the selector 4 and call signals IT and ADR for the external control means of the synthesizer, via BUS 1.
  • the generation of the elementary sounds, by successive samples is therefore made from the aforementioned command signals (T, ⁇ ) and from the data read from the virtual keyboard.
  • a calculation device 20 performs either the incrementation of the phase ⁇ and its storage, or the updating of the current amplitude AC as a function of the final amplitude AF.
  • An address calculation circuit 21 receives the phase ⁇ , the waveform F and octave number 0 and delivers an address which is applied to a waveform memory 22.
  • the latter delivers a digital sample instantaneous amplitude (or amplitude variation) to an analog-digital converter device 23.
  • the analog sample obtained is multiplied, in a circuit 24, by the data current amplitude digital AC and the result is applied to a 25 cm demultiplexer circuit controlled by the channel selection data V.
  • the circuit 25 includes several analog output channels 25 which are intended to be connected to amplifiers by means of filtering and amplitude adjustment circuits which are not shown.
  • Circuits 21 to 25 are made very simply.
  • the circuits 21 and 22 are for example read only memories; circuits 23 and 24 consist for example of two analog digital converters connected in series, the output of one being connected to the reference input of the other; and circuit 25 is a demultiplexer circuit.
  • FIG. 2 shows the detail of the control logic 6 and of the circuit 20 for updating the phase and amplitude data.
  • the control logic comprises two multiplexer circuits 60 and 61.
  • the circuit 60 receives the rectangular signals delivered by the series of generators 7 (16 different frequencies for example) which determine the frequencies of the periodic output signals.
  • the circuit 61 receives the rectangular signals from the series of generators 8 (8 frequencies for example) which determine the speed of evolution of the amplitude of the periodic signals.
  • this signal causes an update of the phase data ⁇ or of amplitude AC (incrementation of the phase or interpolation of the amplitude).
  • This update must be carried out in such a way that the least significant bit of ⁇ or AC is always identical to the state of the generator selected by one of the multiplexers. As long as there is equality, circuit 65 does not command an update.
  • T 1
  • the data read from memory 13 is phase ⁇ .
  • the binary state of the output of ET 34 is always 0. Consequently, the output of adder 35 delivers ⁇ + 1.
  • This data is stored in a register 36 for whatever is available (for circuit 21) when the data read from memory 13 is the amplitude AC.
  • the data ⁇ + 1 is also recorded in memory 13, in place of the previous data ⁇ .
  • the storage order is given by the signal ⁇ delivered by the exclusive OR 65.
  • T 0, it is the data AC which is delivered by the mernoire 13.
  • the four most significant bits of AC at the input Y 1 of the circuit 32 represent AF / 16.
  • the data Y 2 at the input of the adder 33 is AF / 16, the memory 12 having only 4 bits.
  • the adder 33 therefore delivers:
  • the output of the adder 35 therefore delivers:
  • the control logic 6 further comprises an AND circuit 36 producing T x ⁇ for controlling the selector circuit 4.
  • T 0 and the signal ⁇ has no effect on the selector 4. The sequence of secondary blocks follows its course until the appearance of a main Carmel block will be explained later.
  • the signal delivered by the comparator 31 is applied to a logic circuit 62 intended to manage the end of the amplitude evolution in each block.
  • the IT signal is accompanied by the content ADR of the memory 63.
  • the latter also receives via the bus 1 an erase signal RESET of its content.
  • Logic 62 is carried out simply by a programmable network (read only memory). The outputs deliver control signals according to the signals at the inputs, according to the following table (the symbol X signifying "whatever the state 1 or 0"):
  • FIG. 3 represents the automatic evolution of the amplitude of a periodic output signal as a function of time t between an initial amplitude and a final amplitude. It shows an increasing signal and a decreasing signal. The amplitude of each signal actually changes in leaps. The points of each curve indicate the new current amplitude AC (n + 1) t calculated according to the current amplitude of the previous point AC nt and the final amplitude AF according to the formula:
  • FIG. 4 represents the amplitude envelope curve of a periodic signal. This curve includes a portion T 0 - T 1 of attack where the amplitude is increasing, a portion T - T 5 where the signal undergoes a tremolo of amplitude and a portion T 5 - T 6 etc. signal decay and extinction. It is remarkable to note that this complex evolution of the amplitude requires only a few amplitude commands (writing of the new value of AF) at times Tl, T2, T3, etc.
  • FIG. 5 represents a flowchart explaining the sequence of the sequence of reading of the blocks in the synthesizer. This procedure is similar to that which was explained in detail in applications Nos. 7832727 and 79 07339.
  • the invention applies to electronic musical instruments of which it constitutes the fundamental element. Indeed, the realization of an instrument such as an electronic organ requires around the synthesizer other elements such as furniture, keyboards, pedals, power supply, low frequency amplification and control logic of the synthesizer.
  • This control logic is advantageously carried out from a microcomputer of which the synthesizer according to the invention is a peripheral.
  • This microcomputer is moreover very simple and includes a microprocessor associated with program memories, data memories, and logic circuits making the necessary connections to pedalboards, buttons, pull tabs, etc. on the one hand and the synthesizer on the other.
  • Several synthesizers can even be coupled to the same microcomputer and vice versa.
  • the synthesizer according to the invention by automatically carrying out the automatic evolution of the envelope of each periodic signal, up to a final amplitude value, relieves the microcomputer of the corresponding task.
  • the complexity of the synthesizer is however not significantly increased since the phase increment and amplitude calculation circuits are common, with the characteristic that each update operation (phase or amplitude) adds a quantity odd to the previous value (so that the least significant bit can follow the state of a generator).
  • Other equivalent means are obviously conceivable.
  • the automatic evolution of amplitude of each periodic signal is independent of that of the other signals.
  • certain periodic signals can be modified from time to time by the control means of the instrument, and others can keep the same amplitude, this in two possible ways: either ignoring the IT signal emitted by the control logic 6, either by placing a mask M in the memory 12 of the virtual keyboard.
  • This mask M prevents the logic 62 from transmitting an IT signal to the microprocessor, but does not prevent the operation of the means for updating (20) the current amplitude.
  • the current amplitude value however remains constant and equal to AF.
  • the masoe M can also be used to block the operation of the updating means 20.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Acoustics & Sound (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Multimedia (AREA)
  • Electrophonic Musical Instruments (AREA)
  • Polyesters Or Polycarbonates (AREA)
  • Crystals, And After-Treatments Of Crystals (AREA)
  • Non-Silver Salt Photosensitive Materials And Non-Silver Salt Photography (AREA)
  • Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)
  • Addition Polymer Or Copolymer, Post-Treatments, Or Chemical Modifications (AREA)

Abstract

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. 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'amplitude finale 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. L'invention permet d'obtenir des évolutions douces de l'amplitude et de réduire la complexité des moyens de commande de l'instrument.The subject of the invention is a fully digital polyphonic musical synthesizer in which the amplitude of each spectral component can change, as a function of time, according to a linear or logarithmic law. Amplitude calculation means produce, at each period of an amplitude clock signal, a new current value, according to a linear or logarithmic interpolation between the initial current amplitude and a predetermined final amplitude value. The new current amplitude value is stored in place of the initial value. Equal to the current amplitude and the final amplitude, a signal is sent to the synthesizer control means. The invention makes it possible to obtain gentle changes in the amplitude and to reduce the complexity of the control means of the instrument.

Description

La présente invention concerne un synthétiseur numérique polyphonique de signaux périodiques pour la production de sons musicaux.The present invention relates to a polyphonic digital synthesizer of periodic signals for the production of musical sounds.

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.It relates more particularly to fully digital synthesizers in which each periodic signal results from a succession of digital samples produced in particular from a memory of waveform samples, read at variable frequency, and then converted into analog form . Such synthesizers have already been described in French patent applications No. 7607419 of March 16, 1976, No. 7720245 of July 1, 1977, No. 7832727 of November 21, 1978, the 1st certificate of addition No. 79 07339 of March 23 1979, and European patent application 0 011 576.

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.Each sample is produced from a set of digital data such as instantaneous phase, current amplitude (signal envelope), octave or harmonic rank, analog output channel, etc., which occupy a block of memories. Each sample therefore results from the reading of a block of memories. This same block is the source of a complete periodic signal, thanks to the periodic reading of this block and the simultaneous updating of the instantaneous phase information that it contains.

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.All the samples of all the periodic signals are produced sequentially and cyclically according to a sequence which results from the sequence of readings of the memory blocks.

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".Since a complex sound at output can be considered as the sum of a certain number of elementary periodic signals, sinusoidal for example, and given the polyphonic character of the synthesizer, there are many memory blocks grouped in a set called "virtual keyboard". The synthesizer therefore generates a large number of signals automatically, according to the information entered in the "virtual keyboard".

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.To constitute a canplet musical instrument, such as an electronic organ, the synthesizer is associated with keyboards, pedals, buttons, pullbars and control means which record the data necessary for the generation of the signals in the "virtual keyboard", according to the actions on the keys, buttons, pedals, zippers, and according to time. In a quality musical instrument, in particular, the evolution over time of the amplitude of each sound component must be done with great precision according to determined laws. However, this necessity involves considerable work on the control means of the instrument, a great complexity of these means and a high cost of the circuits which compose it.

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) .An object of the present invention is to avoid this drawback by considerably simplifying the work of the control means with regard to controlling the change in the amplitude of each sound component (or periodic signal).

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.An object of the present invention is a new synthesizer in which the amplitude of each sound component is capable of evolving automatically as a function of time between an initial current value and a determined final value, according to a determined law, and this without the inteivention of the instrument control means at least until the final amplitude value is reached.

Selon une caractéristique de l'invention, le synthétiseur comporte :

  • - plusieurs générateurs de signaux rectangulaires de fréquences déterminées
  • - 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;
  • - 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 ;
  • - des moyens de production d'échantillon analogiques de signaux périodiques à partir des données lues dans les blocs ; et
  • - 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.
According to a characteristic of the invention, the synthesizer comprises:
  • - several rectangular signal generators of determined frequencies
  • - a set of memory blocks containing at least instantaneous phase data of harmonic or octave rank, and of amplitude;
  • - means for controlling the reading of memory blocks, sequentially and according to a sequence determined as a function of the signals from the generators;
  • - means for producing analog samples of periodic signals from the data read from the blocks; and
  • means of automatic evolution, as a function of time, of the amplitude of each periodic signal, comprising calculation means for periodically replacing the amplitude data of each block which contains it, by a new calculated amplitude data according to an interpolation between the initial amplitude and a predetermined final amplitude.

Par exemple, un ou plusieurs générateurs d'horloge d'amplitude déterminent le rythme de calcul des nouvelles valeurs d'amplitude.For example, one or more amplitude clock generators determine the rate at which new amplitude values are calculated.

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.According to another characteristic of the invention, each block containing a current amplitude datum, furthermore contains a final amplitude datum which is used periodically for the calculation of the new current amplitude: the changes in the amplitudes of the various periodic signals are thus independent each other.

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.Thus according to the invention, the amplitude data in the block of the virtual keyboard is automatically modified at the rate of the amplitude clock (at very low frequency) according to a substantially linear or logarithmic interpolation. Logarithmic (or exponential le) interpolation, in particular, makes it possible to obtain a very gentle and natural evolution of the amplitude between two initial and final values without the ear being able to perceive the impression of an amplitude evolution. in stages, The amplitude clock is completely independent of the rectangular signal generators which determine the frequencies of the elementary tones. Several amplitude clocks are even desirable to have a wide variety of amplitude evolution speed.

Etant 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. S ince this change in amplitude is automatically performed by the synthesizer, the instrument control means no longer has to provide some points of the envelope curve of amplitude of the periodic output signals, which considerably simplifies their tasks and makes it possible to greatly improve the general qualities of the instrument.

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.According to a preferred embodiment of the invention, the means used for the automatic evolution of the amplitude can be common with other means for calculating the synthesizer, which limits the complexity of the circuits. These means can also be blocked at any time by the external control means of the instrument, in order to suppress the automation, leaving the control means of the instrument, the possibility of producing special effects.

D'autre caractéristiques et avantages de l'invention apparaitront dans la description qui suit illustrée par les figures qui représentent :

  • La figure 1, un schéma général d'un synthétiseur selon l'invention ;
  • La figure 2, le schéma détaillé des circuits d'évolution automatique d'amplitude et des circuits de commande ;
  • La figure 3, une courbe d'évolution d'amplitude entre une valeur initiale et une valeur finale ;
  • La figure 4, une courbe d'évolution complète de l'amplitude d'une composante sonore et
  • La figure 5, un organigramme expliquant le déroulement des opérations dans le synthétiseur.
Other characteristics and advantages of the invention will appear in the following description illustrated by the figures which represent:
  • Figure 1, a general diagram of a synthesizer according to the invention;
  • Figure 2, the detailed diagram of the automatic amplitude change circuits and control circuits;
  • FIG. 3, an amplitude evolution curve between an initial value and a final value;
  • FIG. 4, a complete evolution curve of the amplitude of a sound component and
  • Figure 5, a flowchart explaining the flow of operations in the synthesizer.

La figure 1 représente la structure générale du synthétiseur selon l'invention.Figure 1 shows the general structure of the synthesizer according to the invention.

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 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.This comprises, as an essential element, the "virtual keyboard" 2 which is a set of memory blocks each containing, digital parameters used for the generation of a sample of a periodic signal. The virtual keyboard consists, for example, of a memory formed of 256 blocks of 7 memories each. The content of each of the block memories will be explained in the following. The blocks are read one by one, sequentially, according to a determined sequence. The contents of the 7 memories of each block are read simultaneously, and are applied to the other circuits of the synthesizer. They give rise to the production of a sample, and / or to the updating of information contained in the virtual keyboard (current amplitude, instantaneous phase.

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é.The virtual keyboard is therefore the fundamental element of the synthesizer because it contains both the data necessary for the production of successive samples of the elementary signals and also address pointers which allow the sequential reading of the blocks according to a determined sequence.

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.The position of each block in the virtual keyboard is defined by an address. This position may vary. It is decided by the external control means of the synthesizer. The position of each piece of data in a block is, on the other hand, constant, each memory being coupled to one or more specific circuits of the synthesizer.

Il y a de ce fait, deux types de blocs, dans le clavier virtuel 2 : des blocs principaux et des blocs secondaires.There are therefore two types of blocks in the virtual keyboard 2: main blocks and secondary blocks.

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 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).Each main block contains an instantaneous phase value which is automatically incremented in synchronism substantially with the signal from a generator designated in the block by an number I. The block also contains a primary pointer PP, that is to say the address of another main block, a secondary pointer PS, that is to say the address of a secondary block, and an identification bit of type T of block (for example T = 1 for a block main). Each secondary block contains digital information of octave 0, of waveform type F, of analog output channel selection V, of current amplitude AC, of final amplitude AF, and of clock generator selection. amplitude VA. It also contains a validation or prohibition bit M of automatic amplitude change, a secondary pointer PS that is to say the address of another block (either secondary or primary) and a block type identification bit T (T = 0 for a secondary block).

La mémoire 10 contient le bit d'identification de chaque type de bloc (T = 1 ou 0) .The memory 10 contains the identification bit of each type of block (T = 1 or 0).

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.The memory 11 contains the secondary pointer PS of the two types of blocks. The memory 12 contains either the primary pointer PP, if it is a main block, or the data M, VA and AF, if it is a secondary block.

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< ces circuits ayant la même liaison au clavier virtuel.The memory 13 contains either the instantaneous phase f (main block) or the current amplitude AC (secondary block). This particular arrangement makes it possible to combine the circuits for incrementing the phase ϕ and for varying the amplitude AC <these circuits having the same connection to the virtual keyboard.

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.The memory 14 contains either the frequency generator number I (main block) or the output channel number V (secondary block). The memories 15 and 16 respectively contain either the waveform numbers F and octave 0 if it is a secondary block, or no significant data, in the case of a main block. These locations are, of course, available to contain data usable for possible additional operations.

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.The meaning of the data delivered by the virtual keyboard V therefore depends on the type of block read, that is to say on the indicator T read in the memory 10. The flow of operations in the synthesizer is therefore directly linked to the flow of the reading of the blocks, according to a determined sequence as described below with the aid of FIG. 5.

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.This sequence is automatic, but it is however conditioned by the contents of memories 11 and 12 (pointers), determined by the control means (not shown) of the instrument, and by the rectangular signals of a certain number of generators.

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.The control means of the musical instrument, not shown, communicate with the synthesizer by means of a set of connections called "bus" 1. The commands of the synthesizer therefore amount to writing and reading operations in the virtual keyboard, from bus 1.

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.The selection of the blocks of the virtual keyboard is made by an address register 3, also connected to the bus 1. This register is, in fact, a buffer register supplied by an address supplied either by the bus, or by a selector circuit 4 which receives the two address pointers from the virtual keyboard, the primary pointer PP from memory 12, and the secondary pointer PS from memory 11. The selection depends on a selection command signal delivered by the control logic 6 of the synthesizer . The renewal of the addresses in the buffer register 3 takes place at the rate of a clock 5 or of a clock or control signal which determines the frequency of recurrence of the operations of reading the blocks and consequently of producing the samples. elementary signals. However, the choice and the order of production of the samples depends both on the content of the memory blocks, and in particular on the pointers, and also on rectangular signal generators 7 and 8.

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.A set of generators 7 of rectangular signals, determine the frequencies of the elementary signals of the synthesizer. The set 7 contains at least 12 generators whose frequencies are fixed and distributed according to a chromatic range. In general, it contains other generators, for example at a controllable frequency, allowing the synthesizer to produce signals of variable frequencies and special effects. These generators are connected to the control logic 6 which, in connection with the sequence of reading of the blocks of the virtual keyboard 2, detects the changes of states of the generators and commands the updating of the phase information ϕ and the production of the analog samples.

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.A set of generators 8 determines the speed of the amplitude evolution of the elementary signals. The frequencies of the generators 8 are very low frequencies (a few hertz to a few hundred hertz). These generators are also connected to the control logic 6 which, always in connection with the sequence of reading of the blocks of the virtual keyboard, detects the changes of states of the generators and commands the updating of the information of amplitude AC.

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 A0) de la donnée courante de phase f ou d'amplitude AC, et un signal = indiquant l'égalité AC = AF.To do this, the control logic receives, in addition to the signals from the generators 7 and 8, the bit T block type identifier, the current address given by the register 3, the validation bit M, the speed VA for the selection of one of the generators 8, the number I for the selection of one of the generators 7, the least significant bit (ϕ 0 or A 0 ) of the current datum of phase f or of amplitude AC, and a signal = indicating equality AC = AF.

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.As a function of the state of all these signals, the logic 6 delivers an update order ≠ of the current data ϕ or AC, a command to select the primary or secondary pointer to the selector 4 and call signals IT and ADR for the external control means of the synthesizer, via BUS 1.

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.The generation of the elementary sounds, by successive samples is therefore made from the aforementioned command signals (T, ≠) and from the data read from the virtual keyboard.

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.A calculation device 20 performs either the incrementation of the phase ϕ and its storage, or the updating of the current amplitude AC as a function of the final amplitude AF.

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 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.An address calculation circuit 21 receives the phase ϕ, the waveform F and octave number 0 and delivers an address which is applied to a waveform memory 22. The latter delivers a digital sample instantaneous amplitude (or amplitude variation) to an analog-digital converter device 23. The analog sample obtained is multiplied, in a circuit 24, by the data current amplitude digital AC and the result is applied to a 25 cm demultiplexer circuit controlled by the channel selection data V. The circuit 25 includes several analog output channels 25 which are intended to be connected to amplifiers by means of filtering and amplitude adjustment circuits which are not shown.

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.Circuits 21 to 25 are made very simply. The circuits 21 and 22 are for example read only memories; circuits 23 and 24 consist for example of two analog digital converters connected in series, the output of one being connected to the reference input of the other; and circuit 25 is a demultiplexer circuit.

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.FIG. 2 shows the detail of the control logic 6 and of the circuit 20 for updating the phase and amplitude data.

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.These circuits operate on the basis of data read from the virtual keyboard, of which only the memories 14, 10, 12 and 13 have been shown, as well as the address register 3 and the selector 4.

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.The control logic comprises two multiplexer circuits 60 and 61. The circuit 60 receives the rectangular signals delivered by the series of generators 7 (16 different frequencies for example) which determine the frequencies of the periodic output signals. The circuit 61 receives the rectangular signals from the series of generators 8 (8 frequencies for example) which determine the speed of evolution of the amplitude of the periodic signals.

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 ϕ0 (si T = 1) ou A0 (si T = 0). La sortie du OU exclusif 65 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.The multiplexer 60 therefore outputs the rectangular signal designated by the number I delivered by the memory 14 when the block read is of the main type (T = 1). Otherwise (T = 0) the output is disconnected (high impedance). Similarly, the multiplexer 61 receives the data VA from the memory 12 and delivers the signal from the corresponding generator when T = 0. To do this, the data from an inverter 64, to the circuit 61. The two outputs of the multiplexers are connected to an input from an exclusive OR circuit 65, the other input of which receives the least significant bit ϕ 0 (if T = 1) or A 0 (if T = 0). Exiting the exclusive OU 65 therefore delivers an active signal ≠ if the states of the input signals are different, and inactive if they are identical. Each time the signal ≠ is active, this signal causes an update of the phase data ϕ or of amplitude AC (incrementation of the phase or interpolation of the amplitude). This update must be carried out in such a way that the least significant bit of ϕ or AC is always identical to the state of the generator selected by one of the multiplexers. As long as there is equality, circuit 65 does not command an update.

Cette mise à jour est réalisée par le circuit 20, qui comprend :

  • - 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 ;
  • - 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 ;
  • - Un circuit comparateur 31 recevant les contenus des mémoires 13 et 12 délivre un signal = dès qu'il y a égalité.
This update is carried out by circuit 20, which includes:
  • - a first 8-bit adder, 35 with 3 inputs. A first input is connected to memory 13 and therefore receives phase ϕ (if T = 1) or the current amplitude AC (if T = 0). A second input permanently receives a logic state 1 (IL). A third input is connected to the output of an AND circuit 34;
  • - A second 4-bit, 33 adder with two inputs. A first input receives the 4 most significant bits of the memory 13 after inversion by an inverter 32. A second input receives the 4 bits of the final amplitude AF. The output of the adder 33 is connected to a non-inverting input of the AND circuit 34. The other input of the AND 34 is inverting and receives the signal T;
  • - A comparator circuit 31 receiving the contents of memories 13 and 12 delivers a signal = as soon as there is equality.

Pour le fonctionnement du circuit 20, deux cas pourront se présenter, suivant la valeur de T :For the operation of circuit 20, two cases may arise, depending on the value of T:

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 ϕ + 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.If T = 1, the data read from memory 13 is phase ϕ. The binary state of the output of ET 34 is always 0. Consequently, the output of adder 35 delivers ϕ + 1. This data is stored in a register 36 for whatever is available (for circuit 21) when the data read from memory 13 is the amplitude AC. The data ϕ + 1 is also recorded in memory 13, in place of the previous data ϕ. The storage order is given by the signal ≠ delivered by the exclusive OR 65.

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 Y1 du circuit 32 représentent AF/16. On considère de même que la donnée Y2 à 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 :

Figure imgb0001
If T = 0, it is the data AC which is delivered by the mernoire 13. The four most significant bits of AC at the input Y 1 of the circuit 32 represent AF / 16. We also consider that the data Y 2 at the input of the adder 33 is AF / 16, the memory 12 having only 4 bits. The adder 33 therefore delivers:
Figure imgb0001

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 :

Figure imgb0002
This data is applied to the adder 35, through the AND 34 which is on when T = 0, and with a left shift of 1 bit, corresponding to a multiplication by two:
Figure imgb0002

La sortie de l'additionneur 35 délivre donc :

Figure imgb0003
The output of the adder 35 therefore delivers:
Figure imgb0003

Cette opération réalise deux fonctions :

  • - une interpolation logarithmique entre AC et AF;
  • - une inversion du bit de poids faible A0 puisque la quantité ajoutée 2 AF - AC-l est impaire. 16
This operation performs two functions:
  • - a logarithmic interpolation between AC and AF;
  • - an inversion of the least significant bit A 0 since the quantity added 2 AF - AC-l is odd. 16

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 cours jusqu'à l'apparition d'un bloc principal carme sera expliqué par la suite.The control logic 6 further comprises an AND circuit 36 producing T x ≠ for controlling the selector circuit 4. In fact, as long as ≠ is at state 0, the type of block selected does not change: as long as the states of the generators 7 do not change, the blocks read remain of the main type, and no sample is calculated. If it is a question of reading a series of secondary blocks, T = 0 and the signal ≠ has no effect on the selector 4. The sequence of secondary blocks follows its course until the appearance of a main Carmel block will be explained later.

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 = 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") :The control logic further comprises an address memory 63 intended to record the address of the block in which there is equality AC = AF. To do this, the signal = delivered by the comparator 31 is applied to a logic circuit 62 intended to manage the end of the amplitude evolution in each block. This circuit receives the signals T, M (1 bit), = and the address ADR in the memory 63. It delivers signals for command to store in memory 63, to block the multiplexer M, and to interrupt IT to the circuits external control commands of the synthesizer via BUS 1. The IT signal is accompanied by the content ADR of the memory 63. The latter also receives via the bus 1 an erase signal RESET of its content. Logic 62 is carried out simply by a programmable network (read only memory). The outputs deliver control signals according to the signals at the inputs, according to the following table (the symbol X signifying "whatever the state 1 or 0"):

Figure imgb0004
Figure imgb0004

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(n+ 1)t calculée d'après l'amplitude courante du point précédent ACnt et l'amplitude finale AF selon la formule :

Figure imgb0005
FIG. 3 represents the automatic evolution of the amplitude of a periodic output signal as a function of time t between an initial amplitude and a final amplitude. It shows an increasing signal and a decreasing signal. The amplitude of each signal actually changes in leaps. The points of each curve indicate the new current amplitude AC (n + 1) t calculated according to the current amplitude of the previous point AC nt and the final amplitude AF according to the formula:
Figure imgb0005

Le coefficient k étant de préférence une puissance de 2 (k = 4 dans le cas de la figure).The coefficient k is preferably a power of 2 (k = 4 in the case of the figure).

La figure 4 représente la courbe enveloppe d'amplitude d'un signal périodique. Cette courbe comprend une portion T0 - T1 d'attaque ôù l'amplitude est croissante, une portion T - T5 où le signal subit un trémolo d'amplitude et une portion T5 - T6 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.FIG. 4 represents the amplitude envelope curve of a periodic signal. This curve includes a portion T 0 - T 1 of attack where the amplitude is increasing, a portion T - T 5 where the signal undergoes a tremolo of amplitude and a portion T 5 - T 6 etc. signal decay and extinction. It is remarkable to note that this complex evolution of the amplitude requires only a few amplitude commands (writing of the new value of AF) at times Tl, T2, T3, etc.

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.FIG. 5 represents a flowchart explaining the sequence of the sequence of reading of the blocks in the synthesizer. This procedure is similar to that which was explained in detail in applications Nos. 7832727 and 79 07339.

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).As long as the signal state of the generators 7 does not change, readings of main blocks follow one another without sample production, according to the loop 100-101-100, etc. which includes selecting a main pointer (101), reading the designated main block (100), and testing the generator designated by the number I in it. If the state of a generator changes (≠) the phase ϕ of the main block is incremented (103). The next block designated by the secondary pointer (102) is first tested (104). If this block is of the main type, there is a return at 101, otherwise the state of the generator 8 designated by the data VA is tested (105).

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.A sample is then automatically calculated (107) either with the current amplitude value AC already contained in the block (if there is no change of state as indicated by the sign =) or with a new current amplitude (if ≠) calculated (106) according to a logarithmic (or exponential or linear) interpolation. Then a new block is selected by the secondary pointer (102) and so on.

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.The invention applies to electronic musical instruments of which it constitutes the fundamental element. Indeed, the realization of an instrument such as an electronic organ requires around the synthesizer other elements such as furniture, keyboards, pedals, power supply, low frequency amplification and control logic of the synthesizer. This control logic is advantageously carried out from a microcomputer of which the synthesizer according to the invention is a peripheral. This microcomputer is moreover very simple and includes a microprocessor associated with program memories, data memories, and logic circuits making the necessary connections to pedalboards, buttons, pull tabs, etc. on the one hand and the synthesizer on the other. Several synthesizers can even be coupled to the same microcomputer and vice versa.

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 é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.The synthesizer according to the invention, by automatically carrying out the automatic evolution of the envelope of each periodic signal, up to a final amplitude value, relieves the microcomputer of the corresponding task. The complexity of the synthesizer is however not significantly increased since the phase increment and amplitude calculation circuits are common, with the characteristic that each update operation (phase or amplitude) adds a quantity odd to the previous value (so that the least significant bit can follow the state of a generator). Other equivalent means are obviously conceivable. It should also be noted that the automatic evolution of amplitude of each periodic signal is independent of that of the other signals. Thus certain periodic signals can be modified from time to time by the control means of the instrument, and others can keep the same amplitude, this in two possible ways: either ignoring the IT signal emitted by the control logic 6, either by placing a mask M in the memory 12 of the virtual keyboard. This mask M prevents the logic 62 from transmitting an IT signal to the microprocessor, but does not prevent the operation of the means for updating (20) the current amplitude. The current amplitude value however remains constant and equal to AF. The masoe M can also be used to block the operation of the updating means 20.

Claims (10)

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.1. Digital polyphonic synthesizer of periodic signals, comprising several generators of binary signals of determined frequencies; a set of memory blocks containing instantaneous phase data, harmonic or octave rank, and at least amplitudes; means for controlling the reading of memory blocks according to a sequence determined as a function of the signals from the generators; and means for producing analog samples of periodic signals from the data read in the blocks, characterized in that it also comprises means for autanatic evolution of the amplitude of each periodic signal, comprising calculation means to periodically replace each amplitude datum with new datum calculated according to an interpolation between the initial amplitude and a predetermined final amplitude. 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 : - au moins un générateur d'horloge d'amplitude délivrant un signal binaire (8) ; - 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 - 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. 2. Synthesizer according to claim 1 characterized in that each block of memories containing a current amplitude datum (AC), for the means for producing analog samples, furthermore contains an additional final amplitude datum (AF), and in that the means of automatic amplitude evolution include: - at least one amplitude clock generator delivering a binary signal (8); - calculation means (20) for producing a new current amplitude value according to an interpolation between the current amplitude and final amplitude values of each block read; and - control means (6) for calculating and storing the new current amplitude in place of the initial supply amplitude, substantially in synchronism with the binary signal of the amplitude clock generator. 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) 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.3. Synthesizer according to claim 1 or claim 2, characterized in that each block comprising data of current amplitude (AC) and final amplitude (AF), further comprises validation data (M) and in that that the amplitude calculation control means (6) include means for stopping the automatic amplitude change, in the absence of the validation data (M), of the corresponding periodic signal. 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é.4. Synthesizer according to claim 1 or 2 or 3, characterized in that the control means (6) for amplitude calculation are synchronized with the block reading control means for controlling the calculation of a new current amplitude only when a block containing amplitude data is selected by the read control means and when a change of state of the amplitude clock generator (8) is detected. 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.5. Synthesizer according to one of claims 1 to 4, characterized in that it carries a plurality of generators .d'clock amplitude (8); that each block comprising current and final amplitude data, further comprises data (VA) for selecting an amplitude clock generator; and that the amplitude calculation control means further comprise selection means (6) of a generator, controlled by the selection data read from the corresponding block. 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.6. Synthesizer according to one of claims 1 to 5, characterized in that the calculation means are designed to deliver a new value of current amplitude which is a quasi-logarithmic interpolation between the initial current amplitude and the final amplitude read in the corresponding block. 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.7. Synthesizer according to claim 6, characterized in that said calculation means comprise an adder (35) having a first input intended to receive the initial current amplitude value (AC) a second input coupled to the output of a calculation circuit (32, 33) intended to deliver a fraction of the difference between the final amplitude (AF) and the initial current amplitude (AC), and an output coupled to the set of memory blocks to deliver a new current amplitude value. 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.8. Synthesizer according to one of claims 1 to 7, characterized in that the set of memory blocks comprises on the one hand, main blocks each peddling, in particular, an instantaneous phase data (ϕ) common to the calculations of several analog samples, a selection data (I) of a binary signal generator and a block indicator (T) of the main type, and on the other hand, secondary blocks each comprising, in particular, current amplitude data (AC) and final (AF), a selection data (VA) of an amplitude clock generator, and a block indicator (T) of secondary type, in that the location of the instantaneous phase data (ϕ) of the main blocks coincides, at the input and at the output of the blocks, with the location of the current amplitude data (AC) of the secondary blocks, and in that it comprises canine calculation means (20) to calculate and store a new instantaneous phase value (ϕ) increased by one compared to to the previous one, in the case of the reading of a main block and a change of state of the binary signal of the generator designated by the selection data (I) contained in said main block and to calculate and store a new value current amplitude (AC) instead of the initial value in the case of reading a secondary block and a change of state of the binary signal of the amplitude clock generator designated by the selection datum (VA) contained in said secondary block. 9. Synthétiseur selon la revendication 8, caractérisé en ce que les moyens de calcul combinés (20) compotent : - un circuit de calcul (32, 33) d'une fraction de la différence entre l'amplitude finale (AF) et l'amplitude courante (AC) initiale ; - 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 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 - 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. 9. Synthesizer according to claim 8, characterized in that the combined calculation means (20) include: - a calculation circuit (32, 33) of a fraction of the difference between the final amplitude (AF) and the initial current amplitude (AC); - an adder circuit (35) having a first input for receiving either the current amplitude value (AC) in the case of the reading of a secondary block, or the instantaneous phase value (ϕ) in the case of the reading a main block; a second input for receiving a quantity equal to one unit; and a third input for receiving the data delivered by the calculation circuit (32, 33) via a logic gate (34) connected so that the data applied to the third input is always even; the door being controlled by the type indicator signal (T) block so as to deliver a zero quantity during the reading of a main block, and in a passing manner during the reading of a secondary block; and - a phase memory register (36) for storing the new instantaneous phase value delivered by the adder (35) during the reading of a main block. 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é.10. Synthesizer according to one of claims 1 to 8, characterized in that it further comprises a comparator circuit (31) between the final amplitude (AF) and the current amplitude (AC) to produce a signal equality indicator.
EP80400861A 1979-06-15 1980-06-13 Digital polyphonic synthesizer of periodic signals Expired EP0021964B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AT80400861T ATE7744T1 (en) 1979-06-15 1980-06-13 MULTI-VOICE DIGITAL SYNTHESIZER OF PERIODIC SIGNALS.

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR7915337 1979-06-15
FR7915337A FR2459524A1 (en) 1979-06-15 1979-06-15 POLYPHONIC DIGITAL SYNTHEIZER OF PERIODIC SIGNALS AND MUSICAL INSTRUMENT COMPRISING SUCH A SYNTHESIZER

Publications (2)

Publication Number Publication Date
EP0021964A1 true EP0021964A1 (en) 1981-01-07
EP0021964B1 EP0021964B1 (en) 1984-05-30

Family

ID=9226648

Family Applications (1)

Application Number Title Priority Date Filing Date
EP80400861A Expired EP0021964B1 (en) 1979-06-15 1980-06-13 Digital polyphonic synthesizer of periodic signals

Country Status (8)

Country Link
US (1) US4344343A (en)
EP (1) EP0021964B1 (en)
JP (1) JPS5632191A (en)
AT (1) ATE7744T1 (en)
DE (1) DE3068012D1 (en)
ES (1) ES492433A0 (en)
FR (1) FR2459524A1 (en)
NO (1) NO801774L (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0199192A2 (en) * 1985-04-12 1986-10-29 Yamaha Corporation Tone signal generation device

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4437377A (en) 1981-04-30 1984-03-20 Casio Computer Co., Ltd. Digital electronic musical instrument
GB2113447B (en) * 1981-12-22 1986-07-09 Casio Computer Co Ltd Tone signal generating apparatus of electronic musical instruments
JPH0795235B2 (en) * 1983-10-27 1995-10-11 株式会社河合楽器製作所 Electronic musical instrument
US4549459A (en) * 1984-04-06 1985-10-29 Kawai Musical Instrument Mfg. Co., Ltd. Integral and a differential waveshape generator for an electronic musical instrument
JPS60254097A (en) * 1984-05-30 1985-12-14 カシオ計算機株式会社 Distorted waveform generator
US4776964A (en) * 1984-08-24 1988-10-11 William F. McLaughlin Closed hemapheresis system and method
US4677889A (en) * 1985-10-25 1987-07-07 Kawai Musical Instrument Mfg. Co., Ltd. Harmonic interpolation for producing time variant tones in an electronic musical instrument
SE469576B (en) * 1992-03-17 1993-07-26 Televerket PROCEDURE AND DEVICE FOR SYNTHESIS

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4036096A (en) * 1974-07-11 1977-07-19 Nippon Gakki Seizo Kabushiki Kaisha Musical tone waveshape generator

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3610806A (en) * 1969-10-30 1971-10-05 North American Rockwell Adaptive sustain system for digital electronic organ
JPS5441497B2 (en) * 1974-11-14 1979-12-08
JPS6134160B2 (en) * 1974-12-27 1986-08-06 Kawai Musical Instr Mfg Co
US4023454A (en) * 1975-08-28 1977-05-17 Kabushiki Kaisha Dawai Gakki Seisakusho Tone source apparatus for an electronic musical instrument
FR2344907A1 (en) * 1976-03-16 1977-10-14 Deforeit Christian POLYPHONIC ELECTRONIC MUSICAL INSTRUMENT
JPS6042953B2 (en) * 1976-12-29 1985-09-25 ヤマハ株式会社 Wave generator for electronic musical instruments
FR2396375A1 (en) * 1977-07-01 1979-01-26 Deforeit Christian POLYPHONIC SYNTHESIZER OF PERIODIC SIGNALS AND ELECTRONIC MUSICAL INSTRUMENT INCLUDING SUCH A SYNTHESIZER
US4205575A (en) * 1978-05-19 1980-06-03 The Wurlitzer Company Binary interpolator for electronic musical instrument
US4245541A (en) * 1979-06-01 1981-01-20 Kawai Musical Instrument Mfg. Co., Ltd. Apparatus for reducing noise in digital to analog conversion

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4036096A (en) * 1974-07-11 1977-07-19 Nippon Gakki Seizo Kabushiki Kaisha Musical tone waveshape generator

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0199192A2 (en) * 1985-04-12 1986-10-29 Yamaha Corporation Tone signal generation device
EP0199192A3 (en) * 1985-04-12 1988-07-06 Nippon Gakki Seizo Kabushiki Kaisha Tone signal generation device

Also Published As

Publication number Publication date
ES8102389A1 (en) 1980-12-16
ATE7744T1 (en) 1984-06-15
JPS5632191A (en) 1981-04-01
FR2459524A1 (en) 1981-01-09
NO801774L (en) 1980-12-16
EP0021964B1 (en) 1984-05-30
DE3068012D1 (en) 1984-07-05
ES492433A0 (en) 1980-12-16
FR2459524B1 (en) 1984-11-09
US4344343A (en) 1982-08-17

Similar Documents

Publication Publication Date Title
US4184400A (en) Electronic musical instrument utilizing data processing system
JPH0631989B2 (en) Waveform generator for electronic musical instruments
US4114498A (en) Electronic musical instrument having an electronic filter with time variant slope
EP0021964B1 (en) Digital polyphonic synthesizer of periodic signals
GB1569848A (en) Waveform generating systems for electronic musical instruments
FR2476888A1 (en) DIGITAL SYNTHESIZER OF SOUND SIGNALS AND APPLICATIONS TO ELECTRONIC MUSICAL INSTRUMENTS
JPS58102296A (en) Electronic musical instrument
US5036541A (en) Modulation effect device
Snell Design of a digital oscillator which will generate up to 256 low distortion sine waves in real time
GB2103005A (en) Modulation effect device
JPH0642149B2 (en) Electronic musical instrument
EP0011576B1 (en) Polyphonic synthesizer of periodical signals using digital techniques
JPS6093492A (en) Sound source unit
EP0242258B1 (en) Device for the execution of an algorithm (leroux-gueguen) for the coding of a signal by linear prediction
US4638706A (en) Electronical musical instrument with note frequency data setting circuit and interpolation circuit
JPS6214835B2 (en)
US4084472A (en) Electronic musical instrument with tone generation by recursive calculation
US4240318A (en) Portamento and glide tone generator having multimode clock circuit
US4476765A (en) Electronic music signal generator
US4909118A (en) Real time digital additive synthesizer
JPS5858678B2 (en) electronic musical instruments
JPS5840199B2 (en) Denshigatsuki
US4338844A (en) Tone source circuit for electronic musical instruments
JPH0118438B2 (en)
JP2990777B2 (en) Electronic musical instrument effect device

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

AK Designated contracting states

Designated state(s): AT DE GB IT NL

17P Request for examination filed

Effective date: 19810226

R17P Request for examination filed (corrected)

Effective date: 19810227

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: DEFOREIT, CHRISTIAN JACQUES

ITF It: translation for a ep patent filed

Owner name: STUDIO TORTA SOCIETA' SEMPLICE

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

AK Designated contracting states

Designated state(s): AT DE GB IT NL

REF Corresponds to:

Ref document number: 7744

Country of ref document: AT

Date of ref document: 19840615

Kind code of ref document: T

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: DE

Payment date: 19840609

Year of fee payment: 5

RAP2 Party data changed (patent owner data changed or rights of a patent transferred)

Owner name: DEFOREIT, CHRISTIAN JACQUES

REF Corresponds to:

Ref document number: 3068012

Country of ref document: DE

Date of ref document: 19840705

NLT2 Nl: modifications (of names), taken from the european patent patent bulletin

Owner name: CHRISTIAN JACQUES DEFOREIT TE SEMUR-EN-AUXOIS, FRA

PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

26N No opposition filed
PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: AT

Payment date: 19850613

Year of fee payment: 6

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: AT

Effective date: 19860613

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: NL

Payment date: 19870630

Year of fee payment: 8

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: GB

Effective date: 19890613

ITTA It: last paid annual fee
PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: NL

Effective date: 19900101

GBPC Gb: european patent ceased through non-payment of renewal fee
NLV4 Nl: lapsed or anulled due to non-payment of the annual fee
PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: DE

Effective date: 19900301