EP0011576A1 - Polyphonic synthesizer of periodical signals using digital techniques - Google Patents

Polyphonic synthesizer of periodical signals using digital techniques Download PDF

Info

Publication number
EP0011576A1
EP0011576A1 EP79400886A EP79400886A EP0011576A1 EP 0011576 A1 EP0011576 A1 EP 0011576A1 EP 79400886 A EP79400886 A EP 79400886A EP 79400886 A EP79400886 A EP 79400886A EP 0011576 A1 EP0011576 A1 EP 0011576A1
Authority
EP
European Patent Office
Prior art keywords
block
memory
synthesizer
generator
group
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
EP79400886A
Other languages
German (de)
French (fr)
Other versions
EP0011576B1 (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.)
Deforeit Christian Jacques
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
Priority claimed from FR7832727A external-priority patent/FR2442485A1/en
Priority claimed from FR7907339A external-priority patent/FR2452145A2/en
Application filed by Individual filed Critical Individual
Priority to AT79400886T priority Critical patent/ATE3918T1/en
Publication of EP0011576A1 publication Critical patent/EP0011576A1/en
Application granted granted Critical
Publication of EP0011576B1 publication Critical patent/EP0011576B1/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
    • G10H7/10Instruments 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 using coefficients or parameters stored in a memory, e.g. Fourier coefficients
    • G10H7/105Instruments 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 using coefficients or parameters stored in a memory, e.g. Fourier coefficients using Fourier coefficients

Definitions

  • the present invention relates to a polyphonic synthesizer of periodic signals, using digital techniques and more generally electronic, polyphonic musical instruments comprising one or more of such a synthesizer.
  • 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 an analog form.
  • the present invention relates to a synthesizer in which the samples are read at variable frequency, from several pulse signals produced by generators included in the synthesizer.
  • the synthesizer behaves like a set of independent signal generators controlled from a set of memories which each contain at least the amplitude of an output signal.
  • the synthesizer performs, in 1 s an t each memory, a digital-analog conversion, to convert the amplitude data read and an instantaneous phase value, into an analog, positive or negative, voltage or current step.
  • An object of the present invention is to eliminate this drawback by eliminating the synthesis of the signals not requested. Also, during operation, only the memories relating to the signals to be produced are used.
  • Another object of the present invention is to take advantage of the time savings achieved to allow the synthesis of additional signals or to increase the number of possible periodic signals.
  • the invention solves the problem of limiting the work of the synthesizer to the production of the only signals requested, by organizing the data in the control memories so that there is a sequence between those data. Only the significant data are included in this sequence. The reading of the data in the control memories, from the pulse generators and the production of the corresponding samples, therefore take place according to the determined sequence, which is executed repeatedly.
  • the external operating means of the synthesizer can modify the sequence of data in the control memories at any time and replace it with a new sequence. They can also modify data used in the summary without changing the flow.
  • each control memory must contain, in addition to the data used for the production of a sample, additional information which is read by the control means of the synthesizer and is used by them to determine the next memory in the sequence.
  • all of the control memories are divided into memory groups res, pulse generator, each group additionally containing an additional memory for containing a common submultiple of the instantaneous phase of several periodic signals and each memory comprising an area for receiving addressing information from another Memory of the same group.
  • control memory is divided into groups determined by construction, limits the number of elementary sound components associated with each generator to the number of memories of a group minus one. As all the groups are rarely all used together, a greater or lesser number of memories remain unused most of the time.
  • control memories of the synthesizer are no longer divided into groups, each memory being able to be assigned to any generator.
  • Each memory includes addressing information from another memory, for carrying out the sequence.
  • control memories are not limited to that listed previously. This allows the lar ges possibilities for synthesizer commands by simple write operations in RAM.
  • the present invention provides a significant reduction in these writing operations due to the sequence. Likewise, the internal operations of the synthesizer are reduced.
  • Optimizing the read and convert operations also increases the design flexibility of the synthesizer.
  • the size of the memory groups can be modified to increase or decrease the number of possible signals, without increasing the complexity of the operation.
  • the number of generators and groups can vary, allowing the synthesis of new series of signals whose frequencies are not necessarily in relation to those of other generators.
  • the frequencies of these generators can be variable or random.
  • the total processing time of the synthesizer operations is constantly reduced to a minimum and the use of the memories is optimal.
  • the reduction in processing time makes it possible to reduce the time difference between the change of state of a generator and the calculation of the samples of the corresponding sound components.
  • a digital musical synthesizer is built around a waveform memory containing a digital representation, point by point, of a period (or a portion of a period, if there are symmetries) d 'a periodic waveform.
  • the input for addressing the memory receives so-called “phase” signals and the output delivers the data or signals of corresponding "amplitude".
  • the waveform memory therefore transcodes a digital signal phase into a digital amplitude signal, which is then converted to analog form.
  • digital phase signals must be applied successive to waveform memory. The latter then delivers successive amplitude signals applied to the digital-analog converter. These analog signals are filtered to eliminate quantization noise and the analog waveform is rendered.
  • the waveform memory may contain a differential representation of this waveform. Each numerical value represents the difference between the amplitude of the point considered of the waveform and that of the previous point.
  • the digital to analog converter is then followed by an integrator which renders the final waveform.
  • This type of synthesis has the advantage of allowing the use of digital information of reduced size (8-bit words for amplitude) without sacrificing the quality of the final result equivalent to that of a direct synthesis using size information. larger (16 bit).
  • the first method consists in transmitting, to this memory, addressing signals at a constant frequency (very high) but whose phase difference between two consecutive addressed values varies according to the final frequency to be produced. Although requiring only a single clock for all frequencies, this method requires complex circuits necessarily combined with the control circuits of the synthesizer (keyboard, pedals, game selection circuits, etc.).
  • the second method consists in transmitting to the sample memory variable frequency addressing signals directly proportional to the frequency to be produced, this making it possible to address the memory with constant phase differences whatever the frequency.
  • the synthesizer must include several generators which can be integrated and a logic for associating the generators and the control data.
  • the present invention relates to a synthesizer using the second synthesis method (multiple frequencies) in combination with a differential representation of the amplitude data, preferably.
  • This virtual keyboard then constitutes a physical border between the synthesizer and the rest of the musical instrument.
  • Such a synthesizer lends itself particularly well to an association with a microcomputer vis-à-vis which it behaves like a simple peripheral.
  • the virtual keyboard is now the essential organ of the synthesizer from which all the commands come. It includes a set of memories which can therefore be addressed from inside the synthesizer for synthesis operations, and from outside the synthesizer for synthesis commands (controls of the frequencies and amplitudes of the signals to be produced).
  • the user accesses the virtual keyboard via an IT system which is not the subject of this request.
  • An action on a key or pedal of the instrument is detected by the computer system, which determines actions on several memories of the "virtual keyboard", according to a program recorded in the computer system.
  • This makes it possible to obtain the production of complex signals which are the sum of several elementary periodic signals of the synthesizer In particular, if these periodic signals are sinusoids, the synthesis carried out is an additive synthesis or Fourier synthesis.
  • Figure 1 shows the block diagram of the synthesizer according to the invention.
  • the synthesizer is coupled to an external microcomputer system M via a set of connections called "bus" 2.
  • This bus transmits address selection signals, data signals and control signals of writing and possibly reading, for of the synthesizer.
  • the microcomputer system is connected to one or more K organ keyboard, and also, if necessary, to a pedal board of buttons, pull tabs, or any device for entering data or events or for presenting information, which is not shown.
  • the microcomputer system places data in the memories of the virtual keyboard 1, according to the events which it takes into account (pressing or releasing of the keys, buttons, drawbars, etc.), of a recorded program and descriptive data of the tones or timbres of the sounds which are produced by the synthesizer.
  • the virtual keyboard 1 comprises a set of memories which are selected using an address memory 3. Access to these memories is made, on the one hand from the microcomputer, and on the other hand from the other synthesizer circuits. Multiplexer circuits, not shown in the figure, allow these two accesses, avoiding conflicts.
  • This virtual keyboard 1 is divided into groups.
  • the inte addressing of a group memory is done using two signals, one, I, to designate the group and the other N, to designate the memory in group I.
  • the synthesizer also comprises a determined number of rectangular signal generators designated as a whole by the reference 6.
  • rectangular signal is meant any binary signal, square signal or impulse signal.
  • generators of periodic signals whose repetition frequencies are distributed according to the 12 semitones of an octave, and also 4 generators of variable frequency, either with analogical control by tension or current, or with com digital command.
  • One of these generators can also be a noise generator, that is to say a generator at random frequency.
  • the number of groups is equal to that of the generators.
  • the selection of the memories of a group by the read control means at the same time entails the selection of the signal from a generator, using a multiplexer 7.
  • the selection address of said group is kept in a memory 8.
  • This selection address is applied on the one hand to the multiplexer 7 for the selection of the signal of a generator and on the other hand, to the address memory 3 for the selection of the corresponding group.
  • the memories 8 and 3 can moreover be combined.
  • the signal from the selected generator is used to increment. instantaneous phase data common to the signals produced by the entire corresponding group.
  • an incrementation and memory circuit 9 is coupled to the multiplexer 7, by means of a control circuit -10, and to the virtual keyboard 1. The details of the structure and operation of these circuits will appear in the following.
  • the calculation circuit 11 receives the instantaneous phase incremented and memorized by the circuit 9, the octave rank number 0 and the waveform number F read in a memory of a group of the virtual keyboard and delivers the value ⁇ A an amplitude step.
  • the circuit 11 includes for example a memory of waveform samples which automatically delivers the data ⁇ A read at an address formed by the aforementioned digital input signals.
  • the multiplication circuit 12 performs the multiplication of the value ⁇ A by the amplitude value A read in the memory of the virtual keyboard and delivers the numerical value ⁇ A.
  • the converter 13 transforms this value ⁇ A into an analog step of current or voltage which is then amplified in 14 and diffused by 15.
  • Figure 2 describes the structure of the virtual keyboard. This structure is important. It allows to understand the functioning of the synthesizer as a whole
  • the virtual keyboard is divided into 16 memory groups, as many groups as there are generators 6. Each group is itself divided into 16 memory blocks of 16 bits each.
  • Each memory block is further divided into four words, of 4 bits each (it is this last division which separates on figure 1).
  • each word contains at least one piece of information.
  • the blocks are read one by one and the information they contain is transferred and used by other circuits.
  • the address memory 3 selects, by its content, a block of the virtual keyboard, from among the 256.
  • the selection address has 2 parts, a 4-bit part specifying the group number I and a 4-bit part specifying the number N of a block in the group.
  • the four words it contains relate respectively, from left to right, to the number N1 of the next block to be read in the group (4 bits), to the number I 'of the next group when the processing relating to this group is completed. , and of the two parts (high and low) of the instantaneous phase ⁇ of the fundamental signal.
  • Reading this block therefore makes it possible to obtain the 3 pieces of information Nl, I 'and ⁇ in parallel.
  • each block is not limited to the only described above.
  • an analog output channel number, etc. can be specified.
  • the value N2 is used to specify the new block to be read in the group.
  • Reading this new block makes it possible to acquire new data F, 0, A and N3 and so on.
  • the sequence of the reading of the blocks of a group is such that all the blocks of the group are not necessarily read. If an N value is never specious in this block, the corresponding block will be ignored. Similarly, the reading of the block is sequential, but the order in which this reading is made is not necessarily the order of the values of N.
  • FIG. 3 represents a flowchart which describes the sequence of the functions of the synthesizer.
  • the synthesizer performs a test, 21 to find out whether the generator number 1 (selected by the multiplexer 7) has changed state.
  • the complete processing of the data of a group is therefore only carried out every half-period of the corresponding generator.
  • An active signal is only issued by the exclusive OR if the two inputs are different.
  • circuit 10 does not deliver any active signal to the circuit 9, it then controls the transmission, by the circuit 8, of the following value I to the address memory 3.
  • the synthesis of the analog levels of the signals of the block previously read n was therefore not carried out.
  • the next generator test is then performed (functions 20 and 21, Figure 3) and so on.
  • FIG. 4 gives the detail of the structure of the converter.
  • phase ⁇ , harmonic or octave 0 and waveform F values are applied simultaneously to a circuit 30.
  • This circuit 30 generates an address applied to a step memory 31.
  • This memory contains in makes successive samples of one or more waveforms, in differential representation.
  • the amplitude difference ⁇ A lu is added to the previous amplitude to obtain the new amplitude of the analog signal.
  • a multiplier circuit 12 performs the product of the value 5 A by the actual amplitude A read in the block of the virtual keyboard 1.
  • the result ⁇ A is then applied to two analog digital converters 32 and 33 controlled one or the other by a control circuit 35.
  • This variant makes it possible to be able to deliver different signals to several different analog outputs, the number of ecant outputs, of course, given only by way of example.
  • analog outputs are also made from information contained in the virtual calendar. For example, only three bits are used for choosing one of eight waveforms, the fourth bit being assigned to the choice of the analog channel.
  • control circuit 35 is for example a flip-flop.
  • One of the outputs of the flip-flop authorizes the transmission of data to a converter, while the other output prohibits transmission to the other converter.
  • the structure of the converters is known, this having already been described in the aforementioned French patent application No. 77 202 45, in particular in FIG. 4.
  • they each include an adder-subtractor circuit, an up-down counter and a circuit integrator.
  • Amplifiers 36 and 37 and loudspeakers 38 and 39 are followed respectively.
  • Analog filtering circuits having particular frequency responses can obviously be inserted in each analog channel.
  • Such filtering circuits called “formants”
  • the synthesizer has a sufficient number of analog output channels to separate the complex signals from each other.
  • the circuit 35 is constituted, for example by a decoder circuit.
  • the phase value 9 is multiplied by the value 0 for the production of harmonics. In the case where the number J corresponds to the octaves with respect to the fundamental, phase 9 simply undergoes a number of shifts to the left equal to the number 0.
  • the multiplier circuit 12 can also be constituted by a read only memory.
  • the digital input values ⁇ A and A constitute the address of a value in memory. This value is then the product Ax ⁇ A.
  • An improved converter structure makes it easier to obtain a higher number of analog output channels.
  • all of the up-down-counter circuits are replaced by a commercial digital-analog converter circuit, for example a current 8-bit model.
  • This converter is then followed by a demultiplexer circuit which also receives the channel selection information read in the memory of the virtual keyboard.
  • the channel selection control circuit is no longer necessary, this selection being carried out directly in the demultiplexer which generally includes an incorporated decoding circuit.
  • Each output channel of the demultiplexer is then connected to the input of an integrator with the same characteristic as the integrator of the converter described above.
  • each analog output channel can, in addition, include filtering circuits adapted to a L ype signal or stamp.
  • the improved converter operates as follows: during a cycle for reading the memories of a group, the beginning of the cycle is devoted to the incrementation of the phase of the fundamental. At the input of the converter, there is therefore no data to convert during the start of the cycle, and this for a few microseconds. Then, as the data is read in the other memories of the group, the converter successively receives the data read and delivers as output a series of analog samples of well defined constant duration. These samples are then distributed by the demultiplexer to the integrators which then deliver a signal whose level (voltage or current) varies proportionally (in magnitude and in sign) to the amplitude of the samples applied.
  • the essential advantage of this structure of the converter lies in the fact that the successive samples delivered by the converter all come from the same group, and that between each series of samples there passes a sufficient time interval to extinguish all the possible instabilities in the circuits, due in particular to defects in the linearity of the conversion, significant rise times, etc. This results in better immunity of the synthesizer to the intermodulation of signals between groups, this thanks to the structure of the virtual keyboard, and to the course of the cycle of readings of the data which it contains.
  • FIG. 5 describes another exemplary embodiment in which the division into groups of the memory of the virtual keyboard is no longer predetermined. Indeed, in the previous embodiment, each group has a fixed number of memory blocks, which limits the number of elementary sound components associated with each generator. According to this new variant, the size of the groups is no longer determined in advance, but results from the sequence. As all the groups are, in practice, never all used at the same time, for the same memory capacity of the virtual keyboard, a greater number of sound components can be created in the groups used.
  • Each group of blocks then contains a main block and secondary blocks, each main block containing, at least, a block identification word, a word relating to a generator number, a word relating to the common submultiple of the phase. instantaneous of several periodic signals, a word containing an address pointer to another main block and a word containing an address pointer to another main or secondary block, and each secondary block containing, at least, an identification word block, a word relating to the amplitude of a periodic signal, a word relating to the harmonic or octave rank of said signal and a word containing an address pointer to another secondary or main block.
  • the pointers are used by the sequential chaining means so that each block read contains a pointer to a next block to be read. Only the blocks containing useful information are thus addressed and read and these blocks can be located at any position in the memories.
  • the chain produced is in fact a double chain: a chain of main blocks and a chain of secondary blocks.
  • the virtual keyboard 1 is also coupled to a microcomputer bus 2 which can read or write digital data there. Multiplexing means not shown allow access to the memories of the virtual keyboard by the bus or by the synthesizer.
  • the virtual keyboard is divided into 256 memory blocks, for example. Each block can be addressed separately and the address of a block is defined by an 8-bit set.
  • An address register 3 therefore contains, for each operation, the address of a block, and the blocks are read one by one, successively.
  • Each block is divided into several words which are addressed in parallel: these words are designated by the references 101, 102, 103, 104, 105, 106 and 107 for the two types of blocks (main and secondary).
  • the length of each word can be arbitrary; it only depends on the number of values that the quantity considered can take.
  • the main blocks contain the generator number and instantaneous phase information, at least, as well as an identification bit of the main type (1 for example).
  • Secondary blocks contain at least octave or harmonic number, waveform type, amplitude and output channel number information, as well as a secondary type identification bit (bit 0 for example).
  • Each main block relates to a generator while each secondary block relates to a sound component of the output signal.
  • Each main block further comprises two words which respectively contain a primary address pointer and a secondary address pointer.
  • Each primary pointer designates the address of another main block, either directly (absolute addressing) or indirectly (relative addressing). To simplify the presentation, we will assume that each pointer contains an absolute address.
  • Each secondary pointer designates the address of another secondary or main block
  • each secondary block includes a word containing a secondary address pointer, designating the address of another secondary or main block.
  • the secondary pointers of the clock 110 periodically generates pulses which are applied to register 3.
  • a pulse pulse; the address (the selected pointer) is recorded in register 3 and this then begins addressing the block located by this address.
  • the virtual keyboard therefore delivers either a first series of this data, a second series of data, and respectively leads to a first series of operations; or a second series of operations.
  • the synthesizer circuits which are connected to the virtual keyboard can therefore receive two types of information, only one of which can be taken into account.
  • the block identification bits before the same location in the two boce then serve as a barrier to distinguish the information of a main block from that of a secondary block, and other psrt; to validate or inhibit certain synthesizer operations.
  • the generator number 1 (word 103) is applied by connection 124 to a transition detector 5 which receives all the signals from the generators 6.
  • the instantaneous sub-multiple ⁇ (words 104 for the most significant and 105 for the least significant) is applied to the increment and memory circuit 9 by the bi-directional connections 125 and 126.
  • the state of the selected generator is compared with the least significant bit ⁇ o of the phase applied to detector 5, to detect a change of state of the generator.
  • the block type identification bit (word 101) is also applied to detector 5 (connection 122) in order to authorize detection only if it is a main block.
  • Connection 127 transmits a command for selection of secondary status to selector 4.
  • phase ⁇ memorized by the in circuit. incrementation 9, is applied 22 an address calculation circuit lll.
  • the octave number word 102) is also information comes out of combined form send a memory of shape of end 112 from which a sample is extracted which is applied to a multiplier circuit 12.
  • This circuit receives at the same time the value of amplituge A (word 104) by connection 125 the result of the product is applied a digital to analog converter is.
  • the secondary block identification bit (word 101) is applied to the converter to validate the conversion only in this case. There is therefore no conversion when the main block is read.
  • a demitiplexer 109 controlled by the output channel number (word 105), receives the analog output signal from the converter 13 and directs this signal to 1 one of the integrators. 114, 115 ; etc., 119
  • All these operations are carried out in a duration less than the period of the clock 110.
  • the register 3 addresses a new block which can be either another secondary block or another main block.
  • FIG. 6 represents a flowchart explaining the operation of the reading and conversion control means, according to the sequence of the synthesizer of FIG. 5.
  • the generator number I (word 103 in Figure 1) is applied to the transition detector 5 to test the state of the corresponding generator (test 130 in Figure 2).
  • the detector emits a primary pointer selection signal (block 131 in figure 6) and the generator tests continue (loop 130 - 131 - 130 - 131, etc.) until the detection of a change of state of a generator.
  • the generator has changed state.
  • the instantaneous phase value ( ⁇ ) is first incremented (132) then the secondary pointer is selected (133) making it possible to address a series of secondary blocks.
  • Figure 7 shows the detail of the transition detector circuit 3
  • It essentially comprises a multiplexer circuit 51 which receives the generator signals on the one hand .. and the number 1 (word 103), on the other hand as a selection command
  • the generators 6 re-read square signals if this output 55 of the multiplexer is a binary signal.
  • the identification bit (word 101) is also applied to a validation input 56 so that only a main block can select a generator
  • circuit 52! ? exelusif 52 receive the output signal from the multiplier as well as the lowest bis bet ⁇ of the instantaneous phase.
  • circuit 52 The output of circuit 52 is connected to a non-inverting input of an AND circuit 53 and to an inverting input of an AND circuit 54.
  • the block identification signal (101) is also applied to non-inverting inputs of the AND circuits 53 and 54.
  • the output of ET 53 controls the phase increment circuit 9. Indeed, the output of this circuit can only be active (at state 1 in this case) if the selected block is a main block (signal 101 to 1) and if the designated generator has changed state (output at 1 of exclusive OR 52).
  • ET 54 controls the selection of primary or secondary pointers (selector 4).
  • the output of ET 54 is at state 0, commanding the selection of a secondary block.
  • the selection of a primary pointer is only obtained if the block read is of the main type and if the corresponding generator has not changed state.
  • This second variant of the invention makes it possible to improve the speed of calculation of the sound elements of the synthesizer without limiting the number of sound elements for each generator.
  • the aaresse one partIe of the aeresse of the biees of memories can be used for the means of conversion in the same title gue the contents of these blocks that is possible for example for the number 1 of generator and / if the rank of this variant decreases the flexibility of use of the memories, but reduces the number of memories required. Likewise, a different arrangement of the data in these memories is possible.

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Engineering & Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Engineering & Computer Science (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Electrophonic Musical Instruments (AREA)
  • Organic Low-Molecular-Weight Compounds And Preparation Thereof (AREA)
  • Steering-Linkage Mechanisms And Four-Wheel Steering (AREA)
  • Processing And Handling Of Plastics And Other Materials For Molding In General (AREA)

Abstract

L'invention concerne un synthétiseur musical polyphonique utilisant les techniques numériques. La génération des échantillons successifs de forme d'onde fait appel à des données de phase pour l'adressage d'une mémoire (11) d'échantillons de forme d'onde, et d'amplitude, de rang d'octave ou d'harmonique contenues dans un ensembe de blocs de mémoires (1). La commande du synthétiseur se réalise par l'adressage externe de l'ensemble des mémoires pour y inscrire les données précitées. Le déroulement des opérations de synthèse à l'intérieur du synthétiseur est conditionné par un enchaînement séquentiel de la lecture des différents blocs de mémoires, en fonction des signaux d'une pluralité des générateurs.The invention relates to a polyphonic musical synthesizer using digital techniques. The generation of the successive waveform samples uses phase data for addressing a memory (11) of waveform, amplitude, octave rank or harmonics contained in a set of memory blocks (1). The synthesizer is controlled by the external addressing of all of the memories to write the aforementioned data there. The progress of the synthesis operations inside the synthesizer is conditioned by a sequential sequence of the reading of the different memory blocks, according to the signals of a plurality of the generators.

Description

La présente invention se rapporte à un synthétiseur polyphonique de signaux périodiques, utilisant les techniques numériques et plus généralement les instruments de musique électroniques, polyphoniques comportant un ou plusieurs de tel synthétiseur.The present invention relates to a polyphonic synthesizer of periodic signals, using digital techniques and more generally electronic, polyphonic musical instruments comprising one or more of such a synthesizer.

Un synthétiseur de ce genre a éte décrit dans la demande brevet n° 77 202 45 déposée le 1er juillet 1977 (FRANCE).A synthesizer of this kind has been described in patent application No. 77 202 45 filed on July 1, 1977 (FRANCE).

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, lus à fréquence variable, et convertis ensuite sous une forme analogique.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 an analog form.

Contrairement à d'autres dispositifs de synthèse musicale utilisant aussi les techniques numériques, dans lesquels les échantillons de forme d'onde sont lus dans la mémoire d'échantillons à fréquence unique fixe, mais à intervalle de phase variable (suivant 'la fréquence finale à obtenir). la présente invention concerne un synthétiseur dans lequel la lecture des échantillons s'opere à fréquence variable, à partir de plusieurs signaux impulsionnels produit par des générateurs inclus dans le synthétiseur.Unlike other musical synthesis devices also using digital techniques, in which the waveform samples are read from the sample memory at a fixed single frequency, but at a variable phase interval (depending on the final frequency at get). the present invention relates to a synthesizer in which the samples are read at variable frequency, from several pulse signals produced by generators included in the synthesizer.

Une telle structure se prete mieux à la réalisation d'un synthétiseur complément indépendant du reste de l'instrument de musique, et qui peut être asément commandé par microprocesseSuch a structure lends itself better to the realization of a complementary synthesizer independent of the rest of the musical instrument, and which can be fairly controlled by microprocesse

Le synthétiseur se comporte comme un ensemble de générateurs de signaux indépendants commandés à partir d'un ensemble de mémoires qui contiennent chacune, au moins l'amplitude d'un signal en sortie. Le synthétiseur effectue, en 1 sant chaque mémoire, une conversion numérique-analogique, pour convertir la donnée d'amplitude lue et une valeur de phase instantanée, en un échelon analogique, positif ou négatif, de tension ou de courant.The synthesizer behaves like a set of independent signal generators controlled from a set of memories which each contain at least the amplitude of an output signal. The synthesizer performs, in 1 s an t each memory, a digital-analog conversion, to convert the amplitude data read and an instantaneous phase value, into an analog, positive or negative, voltage or current step.

Dans le premier synthétiseur précité, tous les signaux périodiques qu'il peut produire sont générés cycliquement et en permanence, même si les amplitudes de la plupart sont nulles, parce que les circuits de commande du synthétiseur, actionnés par les générateurs impulsionnels inclus, commandent une conversion numérique-analogique pour chaque donnée de l'ensemble de mémoire, quelquesoit la valeur de cette donnée. Pour qu'un signal ne soit pas produit, il est alors nécessaire d'insérer une donnée égale à zéro dans la mémoire correspondante.In the first synthesizer mentioned above, all the periodic signals which it can produce are generated cyclically and continuously, even if the amplitudes of most are zero, because the control circuits of the synthesizer, actuated by the impulse generators included, control a digital-analog conversion for each datum in the memory set, whatever the value of this datum. So that a signal is not produced, it is then necessary to insert a datum equal to zero in the corresponding memory.

La plupart du temps le nombre de signaux produits par le synthétiseur est petit devant le nombre maximum de signaux qu'il peut produire. Ceci entraîne que, dans le synthétiseur, de nombreuses opérations logiques de conversion sont effectuées inutilement pour des signaux qui ne sont finalement pas produits, et dans le micro-ordinateur de commande, des opérations d'écriture de données d'amplitude égales à zéro sont nécessaires, d'où une double perte de temps.Most of the time the number of signals produced by the synthesizer is small compared to the maximum number of signals it can produce. This leads to the fact that, in the synthesizer, numerous logical conversion operations are carried out unnecessarily for signals which are ultimately not produced, and in the control microcomputer, operations for writing data of amplitude equal to zero are necessary, hence a double loss of time.

Un objet de la présente invention est d'éliminer cet inconvénient en supprimant la synthèse des signaux non demandes. Aussi, a l'exploitation, seules les mémoires relatives aux signaux à produire sont utilisées.An object of the present invention is to eliminate this drawback by eliminating the synthesis of the signals not requested. Also, during operation, only the memories relating to the signals to be produced are used.

Un autre objet de la présente invention est de mettre à profit l'économie de temps réalisée pour permettre la synthèse de signaux supplémentaires ou pour accroître le nombre de signaux périodiques possibles.Another object of the present invention is to take advantage of the time savings achieved to allow the synthesis of additional signals or to increase the number of possible periodic signals.

L'invention, telle qu'elle est caractérisée dans les revendications, résout le problème consistant à limiter le travail du synthétiseur à la production des seuls signaux demandés, en organisant les données dans les mémoires de commande de sorte qu'il existe un enchaînement entre ces données. Seules, les données significatives sont comprises dans cet enchainement. La lecture des données dans les mémoires de commande, à partir des générateurs impulsionnels et la production des échantillons correspondants, s'effectuent donc selon l'enchaînement déterminé, qui est exécuté de manière répétitive. Les moyens d'exploitation externes du synthétiseur peuvent modifier à tout moment l'enchaînement des données dans les mémoires de commande et lui substituer un nouvel enchaînement. Ils peuvent également modifier des données utilisées dans la synthèse sans changer l'enchaînement.The invention, as characterized in the claims, solves the problem of limiting the work of the synthesizer to the production of the only signals requested, by organizing the data in the control memories so that there is a sequence between those data. Only the significant data are included in this sequence. The reading of the data in the control memories, from the pulse generators and the production of the corresponding samples, therefore take place according to the determined sequence, which is executed repeatedly. The external operating means of the synthesizer can modify the sequence of data in the control memories at any time and replace it with a new sequence. They can also modify data used in the summary without changing the flow.

Pour réaliser cet enchaînement, chaque mémoire de commande doit contenir, en plus de la donnée utilisée pour la production d'un échantillon, une information supplémcn- taire qui est lue par les moyens de commande du synthétiseur et est exploitée par ceux-ci pour déterminer la mémoire suivante dans l'enchaînement.To carry out this sequence, each control memory must contain, in addition to the data used for the production of a sample, additional information which is read by the control means of the synthesizer and is used by them to determine the next memory in the sequence.

Selon une première variante de réalisation, l'ensemble des mémoires de commande est divisé en groupes de mémoires,

Figure imgb0001
génerateur impulsionnels, chaque groupe contenant en outre une mémoire supplémentaire pour contenir un sous multiple commun de la phase instantanée de plusieurs signaux périodiques et chaque mémoire comportant une zone pour recevoir une information d'adressage d'une autre Mémoire du même groupe.According to a first alternative embodiment, all of the control memories are divided into memory groups res,
Figure imgb0001
pulse generator, each group additionally containing an additional memory for containing a common submultiple of the instantaneous phase of several periodic signals and each memory comprising an area for receiving addressing information from another Memory of the same group.

Il apparaît donc que les moyens de commande internes du synthétiseur ne s'intéressant qu'aux mémoires de commandes reliées entre elles par l'enchainement, les autres mémoires de commandes non comprises dans l'enchainement étant ignorées. Les opérations du synthétiseur sont donc limitées à la production des seuls signaux périodiques à produire.It therefore appears that the internal control means of the synthesizer are only interested in the command memories linked together by the sequence, the other command memories not included in the sequence being ignored. The operations of the synthesizer are therefore limited to the production of the only periodic signals to be produced.

Cependant, le fait que la mémoire de commande soit découpées en groupes déterminés par construction, limite le nombre de composantes sonores élémentaires associées à chaque générateur au nombre de mémoires d'un groupe moins un. Comme tous les groupes sont rarement tous utilisés ensembles, un nombre plus ou moins grand de mémoires restent non utilisées la plupart du temps.However, the fact that the control memory is divided into groups determined by construction, limits the number of elementary sound components associated with each generator to the number of memories of a group minus one. As all the groups are rarely all used together, a greater or lesser number of memories remain unused most of the time.

Selon un deuxième variante de l'invention, les mémoires de commande du synthétiseur ne sont plus divisées en groupes, chaque mémoire pouvant être affectée à n'importe quel générateur. Chaque mémoire comporte une information d'adressage d'une autre mémoire, pour la réalisation de l'enchaînement. De plus, on distingue deux types de mémoires des blocs principaux contenant essentiellement un sous-multiple de la phase instantanée comme à plusieurs signaux et des blocs secondaires contenant essentiellement l'amplitude de ces signaux.According to a second variant of the invention, the control memories of the synthesizer are no longer divided into groups, each memory being able to be assigned to any generator. Each memory includes addressing information from another memory, for carrying out the sequence. In addition, there are two types of memories of the main blocks essentially containing a submultiple of the instantaneous phase as with several signals and secondary blocks essentially containing the amplitude of these signals.

Bien entendu les informations qui peuvent être enregistrées dans les mémoires de commande ne sont pas limitées d celles énumerées précédemment. Ceci permet de larges possibilités de commandes du synthétiseur par de simples opérations d'écritures en mémoire vive.Of course, the information which can be recorded in the control memories is not limited to that listed previously. This allows the lar ges possibilities for synthesizer commands by simple write operations in RAM.

La présente invention apporte une réduction importante de ces opérations d'écriture du fait de l'enchaînement. De mêmes les opérations internes du synthétiseur sont réduites.The present invention provides a significant reduction in these writing operations due to the sequence. Likewise, the internal operations of the synthesizer are reduced.

Parmi les avantages de l'invention, on peut citer la possibilité de réduction de la fréquence de l'horloge qui synchronise l'ensemble des circuits, d'où de meilleures possibilités d'intégration de ces circuits sous forme de circuits intégrés.Among the advantages of the invention, there may be mentioned the possibility of reducing the frequency of the clock which synchronizes all of the circuits, hence better possibilities for integrating these circuits in the form of integrated circuits.

L'optimisation des opérations de lecture et de conversion permet également d'accroitre la souplesse de conception du synthétiseur. Ainsi la taille des groupes de mémoire peut être modifiée pour accroître ou diminuer le nombre de signaux possibles, ceci sans accroitre la complexité de l'exploitation. De même, le nombre des générateurs et de groupes peut varier, permettant la synthèse de nouvelles séries de signaux dont les fréquences ne sont pas forcément en relation avec celles.des autres générateurs. Ainsi, les fréquences de ces générateurs peuvent être variables ou aléatoires.Optimizing the read and convert operations also increases the design flexibility of the synthesizer. Thus the size of the memory groups can be modified to increase or decrease the number of possible signals, without increasing the complexity of the operation. Likewise, the number of generators and groups can vary, allowing the synthesis of new series of signals whose frequencies are not necessarily in relation to those of other generators. Thus, the frequencies of these generators can be variable or random.

Grâce à la seconde variante, le temps de traitement total des opérations du synthétiseur est constamment réduit au minimum et l'utilisation des mémoires est optimale.Thanks to the second variant, the total processing time of the synthesizer operations is constantly reduced to a minimum and the use of the memories is optimal.

La réduction du temps de traitement permet de réduire l'écart de temps entre le changement d'état d'un générateur et le calcul des échantillons des composantes sonores correspondantes.The reduction in processing time makes it possible to reduce the time difference between the change of state of a generator and the calculation of the samples of the corresponding sound components.

- La suppression des limites des groupes permet de consti-

Figure imgb0002
sororités élémentaires contenant un grand nombre de compositions- The removal of group limits allows
Figure imgb0002
elementary sororities containing a big name bre of compositions

D'autres caractéristiques et avantages de la présente invention apparaîtront dans la description qui suit, celle-ci etant illustrée par les figures qui représentent :

  • La figure 1 représente le schéma d'un synthétiseur selon la première variante, la mémoire de commande étant divisée en groupes ; la figure 2 représente l'organisation des données à l'intérieur d'un groupe ; la figure 3 représente un organigramme expliquant le déroulement des opérations du synthétiseur ; la figure 4 montre un exemple de réalisation d'un convertisseur numérique-analogique ; la figure 5 représente un synthétiseur selon la seconde variante préférée de l'invention ; la figure 6 représente un organigramme de fonctionnement de cette seconde variante ; et la figure 7 représente un détail de réalisation de la logique de détection des transitions des générateurs.
Other characteristics and advantages of the present invention will appear in the description which follows, this being illustrated by the figures which represent:
  • FIG. 1 represents the diagram of a synthesizer according to the first variant, the control memory being divided into groups; FIG. 2 represents the organization of the data within a group; Figure 3 shows a flowchart explaining the flow of synthesizer operations; FIG. 4 shows an exemplary embodiment of a digital-analog converter; FIG. 5 represents a synthesizer according to the second preferred variant of the invention; FIG. 6 represents an operating flow diagram of this second variant; and FIG. 7 represents a detail of implementation of the logic for detecting generator transitions.

D'une maniere générale, un synthétiseur numérique musical est construit autour d'une mémoire de forme d'onde contenant une représentation numérique, point par point, d'une période (ou une portion de période, s'il existe des symétries) d'une forme d'onde périodique. L'entrée pour l'adressage de la mémoire reçoit des signaux dit de "phase" et la sortie délivre les données ou signaux d' "amplitude'' correspondant. La mémoire de forme d'onde réalise donc le transcodage d'un signal numérique de phase en un signal numérique d'amplitude, qui est ensuite converti sous forme analogique.In general, a digital musical synthesizer is built around a waveform memory containing a digital representation, point by point, of a period (or a portion of a period, if there are symmetries) d 'a periodic waveform. The input for addressing the memory receives so-called "phase" signals and the output delivers the data or signals of corresponding "amplitude". The waveform memory therefore transcodes a digital signal phase into a digital amplitude signal, which is then converted to analog form.

Pour reconstituer un signal analogique périodique complet, il est nécessaire d'appliquer des signaux numériques de phase successifs à la mémoire de forme d'onde. Celle-ci deli- vre alors des signaux d'amplitude successifs appliqués eu convertisseur numérique-analogique. Ces signaux analogiques sont filtrés pour éliminer le bruit de quantification eL la forme d'onde analogique est restituée.To reconstruct a complete periodic analog signal, digital phase signals must be applied successive to waveform memory. The latter then delivers successive amplitude signals applied to the digital-analog converter. These analog signals are filtered to eliminate quantization noise and the analog waveform is rendered.

Au lieu d'une représentation numérique directe de la forme d'onde finale, la mémoire de forme d'onde peut contenir une représentation différentielle de cette forme d'onde. Chaque valeur numérique représente l'écart entre l'amplitude du point considéré de la forme d'onde et celle du point précédent. Le convertisseur numérique analogique est alors suivi d'un intégrateur qui restitue la forme d'onde finale. Ce type de synthèse à l'avantage de permettre l'utilisation d'informations numériques de taille réduite (mots de 8 bits pour l'amplitude) sans sacrifier la qualité du résultat final équivalent à celui d'une synthèse directe utilisant des informations de taille plus importante (16 bits).Instead of a direct digital representation of the final waveform, the waveform memory may contain a differential representation of this waveform. Each numerical value represents the difference between the amplitude of the point considered of the waveform and that of the previous point. The digital to analog converter is then followed by an integrator which renders the final waveform. This type of synthesis has the advantage of allowing the use of digital information of reduced size (8-bit words for amplitude) without sacrificing the quality of the final result equivalent to that of a direct synthesis using size information. larger (16 bit).

Pour délivrer des signaux périodiques ayant des fréquences différentes en utilisant la mëme mémoire de forme d'onde, il existe deux méthodes radicalement opposées.There are two radically opposite methods for delivering periodic signals having different frequencies using the same waveform memory.

La première méthode consiste à émettre, vers cette mémoire, des signaux d'adressage à fréquence constante (très élevée) mais dont la différence de phase entre deux valeurs adressées consécutives varie suivant la fréquence finale à produire. Bien que ne nécessitant qu'une horloge unique pour toutes les fréquences, cette méthode nécessite des circuits complexes nécessairement combinés aux cir- suite de commande du synthétiseur (clavier, pédaliers, circuits de sélection de jeux, etc.).The first method consists in transmitting, to this memory, addressing signals at a constant frequency (very high) but whose phase difference between two consecutive addressed values varies according to the final frequency to be produced. Although requiring only a single clock for all frequencies, this method requires complex circuits necessarily combined with the control circuits of the synthesizer (keyboard, pedals, game selection circuits, etc.).

La seconde méthode consiste à émettre vers la mémoire d'échantillons des signau.. d'adressage à fréquence variable directement proportionnelle à la fréquence à produire, ceci permettant d'adresser la mémoire avec des différences de phase constantes quelque soit la fréquence.The second method consists in transmitting to the sample memory variable frequency addressing signals directly proportional to the frequency to be produced, this making it possible to address the memory with constant phase differences whatever the frequency.

Un simple opération d'incrémentation suffit pour toutes les fréquences, ce qui supprime la nécessite de calculer un écart de phase pour chaque fréquence. En contrepartie le synthétiseur doit comporter plusieurs générateurs qui peuvent être intégrés et une logique d'association des générateurs et des données de commande.A simple increment operation is sufficient for all frequencies, which eliminates the need to calculate a phase difference for each frequency. In return, the synthesizer must include several generators which can be integrated and a logic for associating the generators and the control data.

La présente invention concerne un synthétiseur utilisant la deuxième méthode de synthèse (fréquences multiples) en combinaison avec une représentation différentielle des données d'amplitude, de préférence.The present invention relates to a synthesizer using the second synthesis method (multiple frequencies) in combination with a differential representation of the amplitude data, preferably.

Elle se distingue également par le fait que l'ensemble des commandes destinées au synthétiseur (fréquences, amplitudes, etc.) se résument à de simples opérations d'écritures dans des mémoires dénommées "clavier virtuel".It is also distinguished by the fact that all of the commands intended for the synthesizer (frequencies, amplitudes, etc.) boil down to simple writing operations in memories called "virtual keyboard".

Ce clavier virtuel constitue alors une frontière physique entre le synthétiseur et le reste de l'instrument de musique. Un tel synthétiseur se prête particulièrement bien à une association avec un micro-ordinateur vis-à-vis duquel il se comporte comme un simple périphérique.This virtual keyboard then constitutes a physical border between the synthesizer and the rest of the musical instrument. Such a synthesizer lends itself particularly well to an association with a microcomputer vis-à-vis which it behaves like a simple peripheral.

Dans le synthétiseur, tous les organes qui le constituent sont alors mis en relation avec le clavier virtuel.In the synthesizer, all the organs that constitute it are then linked to the virtual keyboard.

Dans la demande de brevet français n° 77 .202 45, l'ensemble des opérations internes du synthétiseur étaient décien- chées directement par les cnangements d'état des générateurs.In French patent application no. 77.202 45, all of the internal operations of the synthesizer were triggered directly by the state changes of the generators.

Selon la présente invention, l'ensemble des opérations est maintenant réalisé à partir d'un enchaînement de lecture des données contenues dans le clavier virtuel, cet enchaînement dépendant des changements d'état des générateurs.According to the present invention, all of the operations are now carried out on the basis of a sequence of reading of the data contained in the virtual keyboard, this sequence depending on changes of state of the generators.

Le clavier virtuel est maintenant l'organe essentiel du synthétiseur à partir duquel sont issus toutes les commandes. Il comprend un ensemble de mémoires qui peuvent donc être adressées de l'intérieur du synthétiseur pour les opérations de synthèse, et de l'extérieur du synthétiseur pour les commandes de synthèse (commandes des fréquences et des amplitudes des signaux à produire).The virtual keyboard is now the essential organ of the synthesizer from which all the commands come. It includes a set of memories which can therefore be addressed from inside the synthesizer for synthesis operations, and from outside the synthesizer for synthesis commands (controls of the frequencies and amplitudes of the signals to be produced).

L'utilisateur accède au clavier virtuel par l'intermédiai- d'un système informatique qui ne fait pas l'objet de la présente demande. Une action sur une touche ou pédale de l'instrument-est détectée par le système informatique, qui détermine des actions sur plusieurs mémoires du ''clavier virtuel", en fonction d'un programme enregistré dans le système informatique. Ceci permet d'obtenir la production de signaux complexes qui sont la somme de plusieurs signaux périodiques élémentaires du synthétiseur. En particulier, si ces signaux périodiques sont des sinu- soides, la synthèse réalisée est une synthèse additive ou synthèse de Fourier.The user accesses the virtual keyboard via an IT system which is not the subject of this request. An action on a key or pedal of the instrument is detected by the computer system, which determines actions on several memories of the "virtual keyboard", according to a program recorded in the computer system. This makes it possible to obtain the production of complex signals which are the sum of several elementary periodic signals of the synthesizer In particular, if these periodic signals are sinusoids, the synthesis carried out is an additive synthesis or Fourier synthesis.

La figure 1 represente le schéma de principe du synthétiseur suivant l'invention.Figure 1 shows the block diagram of the synthesizer according to the invention.

Le synthétiseur est couplé à un système micro-ordinateur extérieur M par l'intermédiaire d'un ensemble de connexions dénommé "bus" 2. Ce bus transmet des signaux de sélection d'adresse, des signaux de donnée et des signaux de commande d'écriture et éventuellement de lecture, pour

Figure imgb0003
du synthétiseur.The synthesizer is coupled to an external microcomputer system M via a set of connections called "bus" 2. This bus transmits address selection signals, data signals and control signals of writing and possibly reading, for
Figure imgb0003
of the synthesizer.

A titre indicatif le système micro-ordinateur est relié à un ou plusieurs clavier d'orgue K, et également, le cas échéant à un pédalier des boutons, tirettes, ou tout dispositif de saisie de données ou d'événements ou de présentation d'informations, qui ne sont pas représentés.As an indication, the microcomputer system is connected to one or more K organ keyboard, and also, if necessary, to a pedal board of buttons, pull tabs, or any device for entering data or events or for presenting information, which is not shown.

Ainsi le système micro-ordinateur place des données dans les mémoires du clavier virtuel 1, en fonction des évène- ments qu'il prend en compte (enfoncement ou relachement des touches, boutons, tirettes, etc.), d'un programme enregistré et de données descriptives des sonorités ou timbres des sons qui sont produits par le synthétiseur.Thus, the microcomputer system places data in the memories of the virtual keyboard 1, according to the events which it takes into account (pressing or releasing of the keys, buttons, drawbars, etc.), of a recorded program and descriptive data of the tones or timbres of the sounds which are produced by the synthesizer.

Le clavier virtuel 1 comprend un ensemble de mémoires qui sont sélectionnées à l'aide d'une mémoire d'adresse 3. L'acces à ces mémoires se fait, d'une part depuis le micro-ordinateur, et d'autre part depuis les autres circuits du synthétiseur. Des circuits multiplexeurs, non représentés sur la figure, permettent ces deux accès en évitant les conflits.The virtual keyboard 1 comprises a set of memories which are selected using an address memory 3. Access to these memories is made, on the one hand from the microcomputer, and on the other hand from the other synthesizer circuits. Multiplexer circuits, not shown in the figure, allow these two accesses, avoiding conflicts.

Ce clavier virtuel 1 est divisé en groupes. L'adressage inte d'une mémoire d'un groupe se fait à l'aide de deux signaux, l'un, I, pour désigner le groupe et l'autre N, pour désigner la mémoire dans le groupe I.This virtual keyboard 1 is divided into groups. The inte addressing of a group memory is done using two signals, one, I, to designate the group and the other N, to designate the memory in group I.

Le synthétiseur comprend par ailleurs un nombre déterminé de générateurs de signaux rectangulaires désignés dans leur ensemble par le référence 6. Par signal rectangulaire, on entend tout signal binaire, signal carré ou signal impulsionnel. il y a, par exemple,12 générateurs de signaux périodiques dont les fréquences de répétition sont réparties selon les 12 demi-tons d'une octave, et également 4 générateurs de fréquence variable, soit à commande analogique par tension ou courant, soit à commande numérique. Un de ces générateurs peut egalement ëtre un générateur de bruit, c'est à dire un générateur à fréquence aléatoire.The synthesizer also comprises a determined number of rectangular signal generators designated as a whole by the reference 6. By rectangular signal is meant any binary signal, square signal or impulse signal. there are, for example, 12 generators of periodic signals whose repetition frequencies are distributed according to the 12 semitones of an octave, and also 4 generators of variable frequency, either with analogical control by tension or current, or with com digital command. One of these generators can also be a noise generator, that is to say a generator at random frequency.

Dans le clavier virtuel 1, le nombre de groupes est égal à celui des générateurs.In the virtual keyboard 1, the number of groups is equal to that of the generators.

La sélection des mémoires d'un groupe par les moyens de commande de lecture, entraîne en même temps la sélection- du signal d'un générateur, à l'aide d'un multiplexeur 7.The selection of the memories of a group by the read control means, at the same time entails the selection of the signal from a generator, using a multiplexer 7.

Pendant l'exécution des opérations relatives aux données d'un groupe, l'adresse de sélection du dit groupe, est conservée dans une mémoire 8. Cette adresse de sélection est appliquée d'une part au multiplexeur 7 pour la sélection du signal d'un générateur et d'autre part, à la mémoire d'adresse 3 pour la sélection du groupe correspondant. Les mémoires 8 et 3 peuvent d'ailleurs être réunies.During the execution of the operations relating to the data of a group, the selection address of said group is kept in a memory 8. This selection address is applied on the one hand to the multiplexer 7 for the selection of the signal of a generator and on the other hand, to the address memory 3 for the selection of the corresponding group. The memories 8 and 3 can moreover be combined.

Le signal du générateur sélectionné sert à incrémenter. une donnée de phase instantanée commune aux signaux produits par l'ensemble du groupe correspondant. Pour ce faire, un circuit d'incrémentation et de mémoire 9 est couplé au multiplexeur 7, par l'intermédiaire d'un circuit de commande -10, et au clavier virtuel 1. Le détail de la structure et du fonctionnement de ces circuits appraîtront dans la suite.The signal from the selected generator is used to increment. instantaneous phase data common to the signals produced by the entire corresponding group. To do this, an incrementation and memory circuit 9 is coupled to the multiplexer 7, by means of a control circuit -10, and to the virtual keyboard 1. The details of the structure and operation of these circuits will appear in the following.

Enfin, l'ensemble des données relatives à la synthèse d'un échelon analogique de chaque signal périodique en sortie est appliqué aux moyens de conversion numérique-analogique. Ceux-ci comprennent un circuit de calcul d'un échelon d'amplitude normalisé 11, un circuit de multiplication 12, un convertisseur numérique analogique, un amplificateur _4 et un haut-parleur 15, ces deux derniers éléments

Figure imgb0004
dans le synthétiseur.Finally, all of the data relating to the synthesis of an analog level of each periodic signal at output is applied to the digital-analog conversion means. These include a circuit for calculating a standard amplitude step 11, a multiplication circuit 12, a digital analog converter, an amplifier _4 and a speaker 15, the latter two elements
Figure imgb0004
in the synthesizer.

le circuit de calcul 11 reçoit la phase instantanée incrementée et mémorisée par le circuit 9, le numéro de rang d'octave 0 et le numéro de forme d'onde F lus dans une mémoire d'un groupe du clavier virtuel et délivre la valeur δA d'un échelon d'amplitude. Le circuit 11 comprend par exemple une mémoire d'échantillons de formes d'onde qui délivre automatiquement la donnée δA lue à une adresse formée par les signaux numériques d'entrée précités.the calculation circuit 11 receives the instantaneous phase incremented and memorized by the circuit 9, the octave rank number 0 and the waveform number F read in a memory of a group of the virtual keyboard and delivers the value δA an amplitude step. The circuit 11 includes for example a memory of waveform samples which automatically delivers the data δA read at an address formed by the aforementioned digital input signals.

Le circuit de multiplication 12 effectue la multiplication de la valeur δA par la valeur d'amplitude A lue dans la mémoire du clavier virtuel et délivre la valeur numérique δA .The multiplication circuit 12 performs the multiplication of the value δA by the amplitude value A read in the memory of the virtual keyboard and delivers the numerical value δA.

Enfin , le convertisseur 13 transforme cette valeur δA en un échelon analogique de courant ou de tension qui est ensuite amplifié dans 14 et diffusé par 15.Finally, the converter 13 transforms this value δA into an analog step of current or voltage which is then amplified in 14 and diffused by 15.

La suite de la description reviendra plus en détail sur la structure et le fonctionnement de chaque élément du synthétiseur.The rest of the description will return in more detail to the structure and operation of each element of the synthesizer.

La figure 2 décrit la structure du clavier virtuel. Cette structure est importante. Elle permet de comprendre le fonctionnement du synthétiseur dans son ensembleFigure 2 describes the structure of the virtual keyboard. This structure is important. It allows to understand the functioning of the synthesizer as a whole

Dans ce qui suit, les valeurs numériques ne sont données qu'à titre indicatif. Le clavier virtuel est divisé en 16 groupes de mémoires, autant de groupes que de générateurs 6. Chaque groupe est lui-même divisé en 16 blocz de mémoires de 16 bits chacun.In the following, the numerical values are given for information only. The virtual keyboard is divided into 16 memory groups, as many groups as there are generators 6. Each group is itself divided into 16 memory blocks of 16 bits each.

Chaque bloc de mémoires est encore divisé en quatre mots, de 4 bits chacuns (c'est cette dernière division qui separaît sur la figure 1).Each memory block is further divided into four words, of 4 bits each (it is this last division which separates on figure 1).

Il y a donc 16 x 16 = 256 blocs de chacun 4 mots, et chaque mot contient au moins une information.There are therefore 16 x 16 = 256 blocks of each 4 words, and each word contains at least one piece of information.

Au cours du fonctionnement du synthétiseur, les blocs sont lus un par un et les informations qu'ils contiennent sont transférées et utilisées par les autres circuits.During synthesizer operation, the blocks are read one by one and the information they contain is transferred and used by other circuits.

La mémoire d'adresse 3 sélectionne, par son contenu, un bloc du clavier virtuel, parmi les 256.The address memory 3 selects, by its content, a block of the virtual keyboard, from among the 256.

L'adresse de sélection comporte 2 parties, une partie de 4 bits specifiant le numéro I de groupe et une partie de 4 bits spécifiant le numéro N d'un bloc dans le groupe.The selection address has 2 parts, a 4-bit part specifying the group number I and a 4-bit part specifying the number N of a block in the group.

Pour simplifier la figure 2, seul un groupe est représenté.To simplify Figure 2, only one group is shown.

Le premier bloc du groupe est caractérisé par la valeur N = 0 .The first block in the group is characterized by the value N = 0.

Les quatre mots qu'il contient sont relatifs respectivement, de la gauche à la droite, au numéro N1 du bloc suivant à lire dans le groupe (4 bits), du numéro I' du groupe suivant quand le traitement relatif au présent groupe sera terminé, et des deux parties (haute et basse) de la phase instantanée Υ du signal fondamental.The four words it contains relate respectively, from left to right, to the number N1 of the next block to be read in the group (4 bits), to the number I 'of the next group when the processing relating to this group is completed. , and of the two parts (high and low) of the instantaneous phase Υ of the fundamental signal.

La lecture de ce bloc permet d'obtenir donc, en parallèle les 3 informations Nl, I' et Υ.Reading this block therefore makes it possible to obtain the 3 pieces of information Nl, I 'and Υ in parallel.

Supposons que la mémoire d'adresse 3 soit pointée sur ce premier bloc et que le signal du générateur sélectionné

Figure imgb0005
7, par le numéro I, ait changé d'état.
Figure imgb0006
augmente la valeur de Υ d'une unité, et inscrit la nouvelle valeur de dans le bloc (I, N = 0) et garde en mémoire cette valeur de Υ.Suppose that the address memory 3 is pointed at this first block and that the signal from the selected generator
Figure imgb0005
7, by number I, has changed state.
Figure imgb0006
increases the value of Υ by one, and write the new value of in the block (I, N = 0) and keep in memory this value of mémoire.

Puis la valeur N1 lue dans ce bloc est transmise à la mémoire d'adresse 3, qui adresse le bloc (I, N1) du même groupe.Then the value N1 read in this block is transmitted to the address memory 3, which addresses the block (I, N1) of the same group.

Les mots de ce bloc sont alors les suivants :

  • La valeur N2 du bloc dans le même groupe sert à adresser le bloc suivant. La valeur F sert à spécifier la forme d'onde désirée. La valeur 0 sert à spécifier le rang d'harmonique ou d'octave du signal de sortie, par rapport au fondamental dont f est la phase instantanée. Enfin, la valeur A est l'amplitude du signal périodique de sortie.
The words in this block are then as follows:
  • The value N2 of the block in the same group is used to address the next block. The value F is used to specify the desired waveform. The value 0 is used to specify the rank of harmonic or octave of the output signal, compared to the fundamental of which f is the instantaneous phase. Finally, the value A is the amplitude of the periodic output signal.

Les informations contenues dans chaque bloc ne sont pas limitées aux seules décrites ci-dessus. Par exemple, il peut être spécifié un numéro de voie de sortie analogique, etc.The information contained in each block is not limited to the only described above. For example, an analog output channel number, etc. can be specified.

En même temps que ces informations sont lues et transmises aux moyens de conversion il, 12, 13 qui calculent un échelon analogique, la valeur N2 sert à spécifier le nouveau bloc à lire dans le groupe.At the same time as this information is read and transmitted to the conversion means 11, 12, 13 which calculate an analog step, the value N2 is used to specify the new block to be read in the group.

La lecture de ce nouveau bloc permet d'acquérir de nouvelles données F, 0, A et N3 et ainsi de suite.Reading this new block makes it possible to acquire new data F, 0, A and N3 and so on.

Le dernier bloc lu dans le groupe 1 délivre enfin des données F, 0 et A qinsi Qu'une dernière valeur N = 0 qui permet de revenir au premier bloc d'ou est extraite l'adresse du premier groupe suivant (l' , N = 0).The last block read in group 1 finally delivers data F, 0 and A so that a last value N = 0 which allows to return to the first block from which is extracted the address of the first next group (l ', N = 0).

Il est à noter que l'enchaînement de la lecture des blocs d'un groupe est tel que tous les blocs du groupe ne sont pas forcément lus. Si une valeur N n'est jamais spécifice dans ce bloc, le bloc correspondant sera ignoré. De même, la lecture du bloc est séquentielle, mais l'ordre dans lequel cette lecture est faite n'est pas obligatoirement l'ordre des valeurs de N.It should be noted that the sequence of the reading of the blocks of a group is such that all the blocks of the group are not necessarily read. If an N value is never specious in this block, the corresponding block will be ignored. Similarly, the reading of the block is sequential, but the order in which this reading is made is not necessarily the order of the values of N.

La figure 3 représente un organigramme qui décrit l'enchaînement des fonctions du synthétiseur.FIG. 3 represents a flowchart which describes the sequence of the functions of the synthesizer.

On suppose que la mémoire d'adresse spécifie le premier bloc d'un groupe 1 (N = 0).It is assumed that the address memory specifies the first block of a group 1 (N = 0).

A ce moment, le synthétiseur effectue un test, 21 pour savoir si le générateur numéro 1 (sélectionné par le multiplexeur 7) a changé d'état. Le traitement complet des données d'un groupe ne s'effectue donc que toutes les demi-périodes du générateur correspondant. Pour ce faire, le circuit de commande 10 peut être constitué simplement par un circuit OU exclusif dont les deux entrées reçoivent respectivement la sortie du multiplexeur 7 et le bit de poids le plus faible de la valeur de phase Υ lue dans le bloc (I, N = 0). Un signal actif n'est délivré par le OU exclusif que si les deux entrées sont différentes. Dans ce cas, la phase est augmentée d'une unité, inscrite dans le bloc (I, N = 0) à la place de la valeur précédente et gardée en mémoire dans le circuit 9, pour être utilisée en même temps que les données lues dans les autres blocs du même groupe.At this time, the synthesizer performs a test, 21 to find out whether the generator number 1 (selected by the multiplexer 7) has changed state. The complete processing of the data of a group is therefore only carried out every half-period of the corresponding generator. To do this, the control circuit 10 can be constituted simply by an exclusive OR circuit whose two inputs respectively receive the output of the multiplexer 7 and the least significant bit of the phase value Υ read in the block (I, N = 0). An active signal is only issued by the exclusive OR if the two inputs are different. In this case, the phase is increased by one unit, written in the block (I, N = 0) in place of the previous value and kept in memory in circuit 9, to be used at the same time as the data read. in the other blocks of the same group.

Si le circuit 10 ne délivre aucun signal actif au circuit 9, il commande alors la transmission, par le circuit 8,de la valeur I'suivante à la mémoire d'adresse 3. La synthèse des échelons analogiques des signaux du bloc précédemment lu n'a donc pas été effectuée. Le test du générateur suivant est ensuite effectué (fonctions 20 et 21, figure 3) et ainsi de suite.If the circuit 10 does not deliver any active signal to the circuit 9, it then controls the transmission, by the circuit 8, of the following value I to the address memory 3. The synthesis of the analog levels of the signals of the block previously read n was therefore not carried out. The next generator test is then performed (functions 20 and 21, Figure 3) and so on.

Des qu'un test de génerateur est positif, la synthese des échelons peut avoir lieu, elle se déroule comme indiqué sur la figure 3.As soon as a generator test is positive, the synthesis of the steps can take place, it proceeds as shown in Figure 3.

Après l'incrémentation de la phase Υ (fonction 23, réalisée par.le circuit 9 ), le bloc spécifié par la valeur N suivante est lu, entraînant la lecture des valeurs F, 0, A, etc. et la synthèse d'un échelon correspondant (fonction 24). Puis la valeur du N suivant est comparée à zéro (fonction 25). Tant que le test est négatif, les lectures successives des blocs du groupe I s'effectuent. Dès que ce test est positif, le transfert de la valeur I suivante (et N = 0) permet de recommencer le même cycle pour un autre groupe (retour à la fonction 20).After incrementing phase Υ (function 23, performed by circuit 9), the block specified by the following value N is read, causing the values F, 0, A, etc. to be read. and the synthesis of a corresponding step (function 24). Then the value of the next N is compared to zero (function 25). As long as the test is negative, successive readings of the blocks in group I are carried out. As soon as this test is positive, the transfer of the next value I (and N = 0) allows the same cycle to be started again for another group (return to function 20).

La figure 4 donne le détail de la structure du convertisseur .Figure 4 gives the detail of the structure of the converter.

Les valeurs de phase Υ, de rang d'harmonique ou d'octave 0 et de forme d'onde F sont appliquées simultanément à un circuit 30. Ce circuit 30 élabore une adresse appliquée à une mémoire d'échelons 31. Cette mémoire contient en fait ries échantillons successifs d'une ou plusieurs formes d'onde, en représentation différentielle. L'écart d'amplitude δA lu est ajouté à l'amplitude précédente pour obtenir la nouvelle amplitude du signal analogique.The phase Υ, harmonic or octave 0 and waveform F values are applied simultaneously to a circuit 30. This circuit 30 generates an address applied to a step memory 31. This memory contains in makes successive samples of one or more waveforms, in differential representation. The amplitude difference δA lu is added to the previous amplitude to obtain the new amplitude of the analog signal.

Un circuit multiplicateur 12 effectue le produit'de la valeur 5 A par l'amplitude réelle A lue dans le bloc du clavier virtuel 1. Le résultat ΔA est ensuite appliqué à deux convertisseurs numériques analogiques 32 et 33 commandés l'un ou l'autre par un circuit de commande 35.A multiplier circuit 12 performs the product of the value 5 A by the actual amplitude A read in the block of the virtual keyboard 1. The result ΔA is then applied to two analog digital converters 32 and 33 controlled one or the other by a control circuit 35.

Cette variante permet de pouvoir délivrer des signaux différents à plusieurs sorties analogiques différentes, le nombre de sorties écant, bien entendu, donné uniquement à titre d'exemple.This variant makes it possible to be able to deliver different signals to several different analog outputs, the number of ecant outputs, of course, given only by way of example.

La distinction des sorties analogiques est faite également à partir d'une information contenue dans le calvier virtuel. Par exemple, trois bits seulement sont utilisés pour le choix d'une forme d'onde parmi huit, le quatrième bit étan.t affecté au choix de la voie analogique.The distinction of analog outputs is also made from information contained in the virtual calendar. For example, only three bits are used for choosing one of eight waveforms, the fourth bit being assigned to the choice of the analog channel.

Dans le cas de la figure 4, le circuit de commande 35 est par exemple une bascule. L'une des sortie de la bascule autorise la transmission d'une donnée à un convertisseur, tandis que l'autre sortie interdit la transmission à l'autre convertisseur.In the case of FIG. 4, the control circuit 35 is for example a flip-flop. One of the outputs of the flip-flop authorizes the transmission of data to a converter, while the other output prohibits transmission to the other converter.

La structure des convertisseurs est connue, celle-ci ayant déjà été décrite dans la demande de brevet français n° 77 202 45 précitée, notamment à la figure 4. Pour mémoire ils comportent chacun un circuit additionneur- soustracteur, un compteur décompteur et un circuit intégrateur. Il sont suivis respectivement des amplificateurs 36 et 37 et des haut-parleurs 38 et 39. Des circuits de filtrage analogique ayant des réponses en fréquence parti- culiéres peuvent évidemment être intercalés dans chaque voie analogique. Le plus souvent, incorporés aux amplificateurs 36 et 37, de tels circuits de filtrage, appelés "formants", peuvent être utiles pour améliorer le résultat sonore de certaines formes d'onde complexes. C'est le cas, par exemple pour des signaux imitant des instruments traditionnels à vent ou à cordes. Dans ce cas, le synthétiseur comporte un nombre de voies analogiques de sortie suffisant pour séparer les signaux complexes les uns des autres. Cette séparation est particulièrement aisée selon l'invention puisque l'indication de la voie de sortie de chaque echantillon analogique est incluse dans l'ensemble des données numériques qui sont à son origine (F, 0, A, etc.). Dans le cas où le nombre de voies de sortie analogique est supérieure à deux, le circuit 35 est constitué, par exemple par un circuit décodeur.The structure of the converters is known, this having already been described in the aforementioned French patent application No. 77 202 45, in particular in FIG. 4. For the record, they each include an adder-subtractor circuit, an up-down counter and a circuit integrator. Amplifiers 36 and 37 and loudspeakers 38 and 39 are followed respectively. Analog filtering circuits having particular frequency responses can obviously be inserted in each analog channel. Most often, incorporated in amplifiers 36 and 37, such filtering circuits, called "formants", can be useful for improving the sound result of certain complex waveforms. This is the case, for example for signals imitating traditional wind or string instruments. In this case, the synthesizer has a sufficient number of analog output channels to separate the complex signals from each other. This separation is particularly easy according to the invention since the indication of the exit route from each analog sample is included in the set of digital data which are at its origin (F, 0, A, etc.). In the case where the number of analog output channels is greater than two, the circuit 35 is constituted, for example by a decoder circuit.

Le circuit 30 qui détermine l'adresse de l'échantillon δA dans la mémoire 31, comporte en fait des circuits logiques classiques. La valeur de phase 9 est multipliée par la valeur 0 pour la production des harmoniques. Dans le cas où le nombre J correspond aux octaves par rapport au fondamental, la phase 9 subit simplement un nombre de décalages vers la gauche égal au nombre 0.The circuit 30 which determines the address of the sample δA in the memory 31, in fact comprises conventional logic circuits. The phase value 9 is multiplied by the value 0 for the production of harmonics. In the case where the number J corresponds to the octaves with respect to the fundamental, phase 9 simply undergoes a number of shifts to the left equal to the number 0.

Le circuit multiplicateur 12 peut être également constitué par une mémoire morte. Les valeurs numériques d'entrée δ A et A constituent l'adresse d'une valeur en mémoire. Cette valeur est alors le produit Ax δ A.The multiplier circuit 12 can also be constituted by a read only memory. The digital input values δ A and A constitute the address of a value in memory. This value is then the product Ax δ A.

Une structure améliorée du convertisseur permet d'obtenir plus aisément un nombre supérieur de voies de sortie analogiques. Selon cette amélioration, l'ensemble des circuits compteurs-décompteurs est remplacé par un circuit convertisseur numérique-analogique du commerce, par exemple un modèle à 8 bits courant. Ce convertisseur est ensuite suivi d'un circuit démultiplexeur qui reçoit par ailleursl'information de sélection de voie lue dans la mémoire du clavier virtuel. Le circuit de commande de sélection de voie n'est plus nécessaire, cette sélection étant opérée directement dans le démultiplexeur qui comporte généralement un circuit de décodage incorporé. Chaque voie de sortie du démultiplexeur est ensuite connectée à l'entrée d'un intégrateur de même caractéristique que l'intégrateur du convertisseur précédemment décrit. Comme indiqué précédemment, chaque voie de sortie analogique peut, en complément, comporter des circuits de filtrage adaptés à un Lype de signal ou de timbre.An improved converter structure makes it easier to obtain a higher number of analog output channels. According to this improvement, all of the up-down-counter circuits are replaced by a commercial digital-analog converter circuit, for example a current 8-bit model. This converter is then followed by a demultiplexer circuit which also receives the channel selection information read in the memory of the virtual keyboard. The channel selection control circuit is no longer necessary, this selection being carried out directly in the demultiplexer which generally includes an incorporated decoding circuit. Each output channel of the demultiplexer is then connected to the input of an integrator with the same characteristic as the integrator of the converter described above. As indicated previously, each analog output channel can, in addition, include filtering circuits adapted to a L ype signal or stamp.

Le convertisseur amélioré fonctionne de la façon suivante : au cours d'un cycle de lecture des mémoires d'un groupe, le début de cycle est consacré à l'incrémentation de la phase du fondamental. A l'entrée du convertisseur, il n'y a donc pas de données à convertir pendant le début du cycle, et ceci pendant quelques micro-secondes. Puis, au fur et à mesure de la lecture des données dans les autres mémoires du groupe, le convertisseur reçoit successivement les données lues et délivre en sortie une suite d'échantillons analogiques de durée constante bien définie. Ces échantillons sont ensuite répartis par le démul- plexeur vers les intégrateurs qui délivrent alors un signal dont le niveau (tension ou courant) varie proportionnellement (en grandeur et en signe) à l'amplitude des échantillons appliqués.The improved converter operates as follows: during a cycle for reading the memories of a group, the beginning of the cycle is devoted to the incrementation of the phase of the fundamental. At the input of the converter, there is therefore no data to convert during the start of the cycle, and this for a few microseconds. Then, as the data is read in the other memories of the group, the converter successively receives the data read and delivers as output a series of analog samples of well defined constant duration. These samples are then distributed by the demultiplexer to the integrators which then deliver a signal whose level (voltage or current) varies proportionally (in magnitude and in sign) to the amplitude of the samples applied.

L'avantage essentiel de cette structure du convertisseur réside dans le fait que les échantillons successifs délivrés par le convertisseur sont tous issus d'un même groupe, et qu'entre chaque suite d'échantillons s'écoule un intervalle de temps suffisant pour éteindre toutes les instabilités possibles dans les circuits, dues notamment à des défauts de linéarité de la conversion, des temps de montée non négligeables, etc. Il en résulte une meilleure immunité du synthétiseur aux intermodulations des signaux entre groupes, ceci gràce à la structure du clavier virtuel, et au déroulement du cycle de lectures des données qu'il contient.The essential advantage of this structure of the converter lies in the fact that the successive samples delivered by the converter all come from the same group, and that between each series of samples there passes a sufficient time interval to extinguish all the possible instabilities in the circuits, due in particular to defects in the linearity of the conversion, significant rise times, etc. This results in better immunity of the synthesizer to the intermodulation of signals between groups, this thanks to the structure of the virtual keyboard, and to the course of the cycle of readings of the data which it contains.

La figure 5 décrit un autre exemple de réalisation dans lequel le découpage en groupes de la mémoire du clavier virtuel n'est plus prédetermine. En effet, dans la variante de réalisation précédente, chaque groupe comporte un nombre fixe de blocs de mémoires, ce qui limite le nombre de composantes sonores elé- mentaires associées à chaque générateur. Selon cette nouvelle variante, la taille des groupes n'est plus déterminée à l'avance, mais résulte de l'enchaînement. Ainsi comme tous les groupes ne sont, en pratique, jamais tous utilisés à la fois, pour une même capacité mémoire du clavier virtuel, un plus grand nombre de composantes sonores peuvent etre créés dans des groupes utilisés.FIG. 5 describes another exemplary embodiment in which the division into groups of the memory of the virtual keyboard is no longer predetermined. Indeed, in the previous embodiment, each group has a fixed number of memory blocks, which limits the number of elementary sound components associated with each generator. According to this new variant, the size of the groups is no longer determined in advance, but results from the sequence. As all the groups are, in practice, never all used at the same time, for the same memory capacity of the virtual keyboard, a greater number of sound components can be created in the groups used.

Chaque groupe de blocs contient alors un bloc principal et des blocs secondaires, chaque bloc principal contenant, au moins, un mot d'identification de bloc, un mot relatif à un numéro de générateur, un mot relatif au sous-multiple commun de la phase instantanée de plusieurs signaux périodiques, un mot contenant un pointeur d'adresse vers un autre bloc principal et un mot contenant un pointeur d'adresse vers un autre bloc principal ou secondaire, et chaque bloc secondaire contenant, au moins, un mot d'identification de bloc, un mot relatif à l'amplitude d'un signal périodique, un mot relatif au rang d'harmonique ou d'octave dudit signal et un mot contenant un pointeur d'adresse vers un autre bloc secondaire ou principal.Each group of blocks then contains a main block and secondary blocks, each main block containing, at least, a block identification word, a word relating to a generator number, a word relating to the common submultiple of the phase. instantaneous of several periodic signals, a word containing an address pointer to another main block and a word containing an address pointer to another main or secondary block, and each secondary block containing, at least, an identification word block, a word relating to the amplitude of a periodic signal, a word relating to the harmonic or octave rank of said signal and a word containing an address pointer to another secondary or main block.

Les pointeurs sont utilisés par les moyens d'enchaînement séquentiel de sorte que, chaque bloc lu contient un pointeur vers un bloc suivant à lire. Seuls, les blocs contenan des informations utiles sont ainsi adressés et lus et ces blocs peuvent être situés à n'importe quelles positions dan les mémoires.The pointers are used by the sequential chaining means so that each block read contains a pointer to a next block to be read. Only the blocks containing useful information are thus addressed and read and these blocks can be located at any position in the memories.

De plus, l'enchaînement réalisé est en fait un double enchaînement : un enchaînement des blocs principaux et un enchaînement des blocs secondaires.In addition, the chain produced is in fact a double chain: a chain of main blocks and a chain of secondary blocks.

Seule la lecture des blocs principaux est réalisée tant que l'état des générateurs associés (désignés par leur numéro dans chaque bloc) ne change pas. A chaque changement d'état d'un générateur, l'enchainement s'interrompt au niveau du bloc principal correspondant, puis succède l'enchainement des blocs secondaires associes.Only the main blocks are read as long as the state of the associated generators (designated by their number in each block) does not change. At each change of state of a generator, the sequence is interrupted at the level of the corresponding main block, then succeeds the sequence of the associated secondary blocks.

Le clavier virtuel 1 est également couplé à un bus 2 de micro-ordinateur qui peut y lire ou écrire des données numériques. Des moyens de multiplexage non représentés permettent l'accès aux mémoires du clavier virtuel par le bus ou par le synthétiseur.The virtual keyboard 1 is also coupled to a microcomputer bus 2 which can read or write digital data there. Multiplexing means not shown allow access to the memories of the virtual keyboard by the bus or by the synthesizer.

Le clavier virtuel est divisé en 256 blocs de mémoires, par exemple. Chaque bloc peut être adressé séparément et l'adresse d'un bloc est définie par un ensemble de 8 bits. Un registre d'adresse 3 contient donc, pour chaque opération, l'adresse d'un bloc, et les blocs sont lus un par un, successivement.The virtual keyboard is divided into 256 memory blocks, for example. Each block can be addressed separately and the address of a block is defined by an 8-bit set. An address register 3 therefore contains, for each operation, the address of a block, and the blocks are read one by one, successively.

Chaque bloc est divisé en plusieurs mots qui sont adressés en parallèle : ces mots sont désignés par les références 101, 102, 103, 104, 105, 106 et 107 pour les deux types de blocs (principaux et secondaires).Each block is divided into several words which are addressed in parallel: these words are designated by the references 101, 102, 103, 104, 105, 106 and 107 for the two types of blocks (main and secondary).

Ces mots contiennent les informations qui servent à la synthèse des échantillons des composantes sonores (sous-multiple commun de la phase instantanée de plusieurs composantes, numéro de générateur, numéro d'octave ou d'harmonique, type de forme d'onde, amplitude de la composante, numéro de voie de sortie, etc.).These words contain the information used to synthesize the samples of the sound components (common submultiple of the instantaneous phase of several components, generator number, octave or harmonic number, type of waveform, amplitude of component, output channel number, etc.).

La longueur de chaque mot peut être quelconque ; elle ne dépend que du nombre de valeurs que peut prendre la grandeur considérée.The length of each word can be arbitrary; it only depends on the number of values that the quantity considered can take.

11 y a deux types de blocs qui ne diffèrent que par les informations qu'ils contiennent des blocs principaux et des blocs secondaires.There are two types of blocks which differ only in the information they contain from main blocks and secondary blocks.

Les blocs principaux contiennent les informations de numéro de générateur et de phase instantanée, au moins, ainsi qu'un bit d'identification du type principal (1 par exemple).The main blocks contain the generator number and instantaneous phase information, at least, as well as an identification bit of the main type (1 for example).

Les blocs secondaires contiennent les informations de numéro d'octave ou d'harmonique, de type de forme d'onde, d'amplitude et de numéro de voie de sortie au moins, ainsi qu'un bit d'identification de type secondaire (bit 0 par exemple).Secondary blocks contain at least octave or harmonic number, waveform type, amplitude and output channel number information, as well as a secondary type identification bit (bit 0 for example).

Chaque bloc principal est relatif à un générateur tandis que chaque bloc secondaire est relatif à une composante sonore du signal de sortie.Each main block relates to a generator while each secondary block relates to a sound component of the output signal.

Chaque bloc principal comporte en outre deux mots qui contiennent respectivement un pointeur d'adresse primaire et un pointeur d'adresse secondaire.Each main block further comprises two words which respectively contain a primary address pointer and a secondary address pointer.

Chaque pointeur primaire désigne, l'adresse d'un autre bloc principal, soit directement (adressage absolu) soit indirectement (adressage relatif). Pour simplifier l'exposé, on supposera que chaque pointeur contient une adresse absolue.Each primary pointer designates the address of another main block, either directly (absolute addressing) or indirectly (relative addressing). To simplify the presentation, we will assume that each pointer contains an absolute address.

Chaque pointeur secondaire désigne l'adresse d'un autre bloc secondaire ou principal,Each secondary pointer designates the address of another secondary or main block,

De même, chaque bloc secondaire comporte un mot contenant un pointeur d'adresse secondaire, désignant l'adresse d'un autre bloc secondaire ou principal. Du point de vue de l'emplacement des bits, les pointeurs secondaires des

Figure imgb0007
Figure imgb0008
horloge 110 génère péoriedicuement des impulsions qui sont appliquées au registre 3. A enaque impulsion; l'adresse (le pointeur sélectionné) est enregistre dans le registre 3 et celui-ci commance alors l'adressage du bloc sisigne par cette adresse.Similarly, each secondary block includes a word containing a secondary address pointer, designating the address of another secondary or main block. From a bit location point of view, the secondary pointers of the
Figure imgb0007
Figure imgb0008
clock 110 periodically generates pulses which are applied to register 3. A pulse pulse; the address (the selected pointer) is recorded in register 3 and this then begins addressing the block located by this address.

Les différents pointeurs cont mis en place dans les alles de mémoire par le micro-ordinateur a serte que l'enchaînement des adressages des blcez par le registre 3, au rytnme de l'horloge 110, satisfasse aux copditions décrites ci-après.The various cont pointers set up in the memory paths by the microcomputer have ensured that the sequence of addresses of the blcez by the register 3, at the rate of the clock 110, satisfies the copditions described below.

Chaque impulsion

Figure imgb0009
sage d'un nouveau plec se par suite d'exécution d' une série d'opérations.Each pulse
Figure imgb0009
wise to a new plec as a result of performing a series of operations.

Suivant le type principal ou secondaire cu bloc lu, le clavier virtuel délivre donc soit une première série ce données, sit une seconde série de données, et entrai- ne respectivement soit une première série d'opérations; soit une seconde série d'opérations.Depending on the main or secondary type or block read, the virtual keyboard therefore delivers either a first series of this data, a second series of data, and respectively leads to a first series of operations; or a second series of operations.

Les circuits du synthétiseur qui sont connectés au clavier virtuel peuvent donc recevoir deux types d'informations, dont une seulement peut être prise en compte.The synthesizer circuits which are connected to the virtual keyboard can therefore receive two types of information, only one of which can be taken into account.

les bits d'identification de bloc avant le même emplacement dans les deux boce servent alors d'une pare à distinguer les informations d'un bloc principal de celles d'un bloc secondaire, at d'autre psrt; à valider ou inhiber certaines opérations du synthétiseur.the block identification bits before the same location in the two boce then serve as a barrier to distinguish the information of a main block from that of a secondary block, and other psrt; to validate or inhibit certain synthesizer operations.

Le déroulement des opérations du synthétiseur est donc entièrement conditionné par l'enchaînement de la lecture des blocs principaux et secondaires dont les détail est le suivant :

  • Blocs Principaux
The flow of synthesizer operations is therefore entirely conditioned by the sequence of reading of the main and secondary blocks, the details of which are as follows:
  • Main Blocks

Le numéro 1 du générateur (mot 103) est appliqué par la connexion 124 à un détecteur de transition 5 qui reçoit tous les signaux des générateurs 6.The generator number 1 (word 103) is applied by connection 124 to a transition detector 5 which receives all the signals from the generators 6.

Le sous multipleϕ de phase instantanée (mots 104 pour les poids forts et 105 pour les poids faibles) est appliqué au circuit d'incrémentation et de mémoire 9 par les connexions bi-directionnelles 125 et 126. L'état du générateur sélectionné est comparé au bit de poids faible ϕo de la phase appliqué au détecteur 5, pour détecter un changement d'état du générateur.The instantaneous sub-multipleϕ (words 104 for the most significant and 105 for the least significant) is applied to the increment and memory circuit 9 by the bi-directional connections 125 and 126. The state of the selected generator is compared with the least significant bit ϕo of the phase applied to detector 5, to detect a change of state of the generator.

Le bit d'identification de type de bloc (mot 101) est également appliqué au détecteur 5 (connexion 122) pour n'autoriser la détection que si il s'agit d'un bloc principal.The block type identification bit (word 101) is also applied to detector 5 (connection 122) in order to authorize detection only if it is a main block.

Deux cas peuvent se produire :

  • S'il n'y a pas de changement d'état du générateur, par une connexion 127 appliquée au sélecteur 4, le détecteur 5 commande la sélection du bloc principal suivant (sélection du pointeur primaire appliqué au registre 3) et les opérations continuent exactement de la même manière pour un autre bloc principal, entraînant le test d'un autre
    Figure imgb0010
    secondaire.
Two cases can occur:
  • If there is no change of state of the generator, by a connection 127 applied to the selector 4, the detector 5 controls the selection of the next main block (selection of the primary pointer applied to the register 3) and the operations continue exactly in the same way for another main block, causing the test of another
    Figure imgb0010
    secondary.

Blocs secondairesSecondary blocks

La connexion 127 transmet une commande de sélection de siat secondaire au sélecteur 4.Connection 127 transmits a command for selection of secondary status to selector 4.

La valeur de la phase ϕ memoirisée par le circuit d'in. crémentation 9, est appliqu 22 un circuit de calcul d'adresse lll.Le numéro d'octave mot 102) est également

Figure imgb0011
informations sort combirées de menière adresser une mé moire de formes d'ende 112 de lequelle est extraite un échantillon qui est applique à un circuit multiplicateur 12. Ce circuit reçoit en même temps la valeur d'amplituge A (mot 104) par la connexion 125. le résultat du produit est applique un convertisseur numérique-analogique is. Le bit d'identification de bloc secondaire (mot 101) est appliqué au convertisseur pour valider la conversion seulement dans ce cas. Il n'y a done pas de conversion en cas de lecture de bloc principal. Un démitiplexeur 109; commandé par le numéro de voie de sortie (mot 105), reçoit le signal analogique de sortie du convertisseur 13 et aiguille ce signal vers 1 un des intégrateurs. 114, 115; etc.,119The value of phase ϕ memorized by the in circuit. incrementation 9, is applied 22 an address calculation circuit lll. The octave number word 102) is also
Figure imgb0011
information comes out of combined form send a memory of shape of end 112 from which a sample is extracted which is applied to a multiplier circuit 12. This circuit receives at the same time the value of amplituge A (word 104) by connection 125 the result of the product is applied a digital to analog converter is. The secondary block identification bit (word 101) is applied to the converter to validate the conversion only in this case. There is therefore no conversion when the main block is read. A demitiplexer 109; controlled by the output channel number (word 105), receives the analog output signal from the converter 13 and directs this signal to 1 one of the integrators. 114, 115 ; etc., 119

Toutes ces opérations se réalisent en une durée inférieure à la période de l'horloge 110.All these operations are carried out in a duration less than the period of the clock 110.

A l'impulsion de cetta horloge, le pointeur secondaire du bloc secondaire étant sélectionné, le registre 3 adresse un nouveau bloc qui peut être soit un autre bloc secondaire soit un autre bloc principal.On the impulse of this clock, the secondary pointer of the secondary block being selected, the register 3 addresses a new block which can be either another secondary block or another main block.

La figure 6 représente un organigramme expliquant le fonctionnement des moyens de lecture et de commande de conversion, selon l'enchaînement du synthétiseur de la figure 5.FIG. 6 represents a flowchart explaining the operation of the reading and conversion control means, according to the sequence of the synthesizer of FIG. 5.

On suppose qu'un nouveau bloc principal vient d'être adressé. Le numéro I de générateur (mot 103 figure 1) est appliqué au détecteur de transition 5 pour tester l'état du générateur correspondant (test 130 figure 2).It is assumed that a new main block has just been addressed. The generator number I (word 103 in Figure 1) is applied to the transition detector 5 to test the state of the corresponding generator (test 130 in Figure 2).

Deux cas peuvent se produire .Two cases can occur.

Ou bien le générateur en test n'a pas changé. Dans ce cas, le détecteur émet un signal de sélection de pointeur primaire (bloc 131 figure 6) et les tests des générateurs continuent (boucle 130 - 131 - 130 - 131, etc.) jusqu'à la détection d'un changement d'état d'un générateur.Or the generator under test has not changed. In this case, the detector emits a primary pointer selection signal (block 131 in figure 6) and the generator tests continue (loop 130 - 131 - 130 - 131, etc.) until the detection of a change of state of a generator.

Ou bien le générateur à changé d'état. Dans ce cas, la valeur instantanée de phase ( ϕ ) est d'abord incrémen- téc (132) puis le pointeur secondaire est sélectionné (133) permettant d'adresser une série de blocs secondaires.Or the generator has changed state. In this case, the instantaneous phase value (ϕ) is first incremented (132) then the secondary pointer is selected (133) making it possible to address a series of secondary blocks.

Dès qu'un nouveau bloc est adressé, s'il s'agit d'un bloc secondaire, un échantillon est calculé (135) et délivré à l'une des sorties analogiques à partir de la valeur de phase précédemment incrémentée (test 134 négatif).

Figure imgb0012
As soon as a new block is addressed, if it is a secondary block, a sample is calculated (135) and delivered to one of the analog outputs from the previously incremented phase value (test 134 negative ).
Figure imgb0012

Figure imgb0013
les blocs secondsires correspendants se sont même pas adresses.
Figure imgb0013
the corresponding secondary blocks are not even addressed.

De plus, si le numéro d'un génerateur apparait pas dans l'enchaînement, il n' y aura meme pas de test de son étatIn addition, if the number of a generator does not appear in the flow, there will not even be a test of its condition

l'enchaînement de lecture des divers avant l'invention est donc coçu pour être parcouri aussi rapidement que possible- sans adressage en calcule inutilesthe sequence of reading of the various before the invention is therefore designed to be browsed as quickly as possible - without addressing unnecessary calculations

la figure 7montre le détail du circuit détecteur de transition 3Figure 7 shows the detail of the transition detector circuit 3

Il comprend essentiellement un circuit multiplexeur 51 qui reçoit les signaux des générateur d'une part.. et le numéro 1 (mot 103), d'autre part comme commande de selection Les générateurs 6 relirrent des signaux carres s ce sorts que la sortie 55 du multiplexeu est un signal binairs..It essentially comprises a multiplexer circuit 51 which receives the generator signals on the one hand .. and the number 1 (word 103), on the other hand as a selection command The generators 6 re-read square signals if this output 55 of the multiplexer is a binary signal.

lebit d'identification (mot 101) ,est egalement applique a une entrée de validation 56 le sorte cie seul un bloc principal peut sélectionnet un genérateurthe identification bit (word 101), is also applied to a validation input 56 so that only a main block can select a generator

un circuit 52 ! :? exelusif 52 recevoir le signal de sortie du multiplecateur ainsi que le bis paris le plus faible ϕ de la phase instantanés.a circuit 52! :? exelusif 52 receive the output signal from the multiplier as well as the lowest bis bet ϕ of the instantaneous phase.

La sortie du circuit 52 est connectée a une entrée non inverseuse d'un circuit ET 53 et à une entrée inverseuse d'un circuit ET 54.The output of circuit 52 is connected to a non-inverting input of an AND circuit 53 and to an inverting input of an AND circuit 54.

Le signal d'identification de bloc (101) est également appliqué à des entrées non inverseuses des circuits ET 53 et 54.The block identification signal (101) is also applied to non-inverting inputs of the AND circuits 53 and 54.

La sortie du ET 53 commande le circuit d'incrémentation de phase 9. En effet, la sortie de ce circuit ne peut être active (à l'état 1 dans ce cas) que si le bloc sélectionné est un bloc principal (signal 101 à 1) et si le générateur désigné a changé d'état (sortie à 1 du OU exclusif 52).The output of ET 53 controls the phase increment circuit 9. Indeed, the output of this circuit can only be active (at state 1 in this case) if the selected block is a main block (signal 101 to 1) and if the designated generator has changed state (output at 1 of exclusive OR 52).

La sortie du ET 54 commande la sélection des pointeurs primaires ou secondaires (sélecteur 4).The output of ET 54 controls the selection of primary or secondary pointers (selector 4).

En effet, si le bit d'identification de bloc est à 0 (bloc secondaire) ou si le changement d'état d'un générateur est détecté, la sortie du ET 54 est à l'état 0, commandant la sélection d'un bloc secondaire. La sélection d'un pointeur primaire n'est obtenue que si le bloc lu est du type principal et si le générateur correspondant n'a pas changé d'état.Indeed, if the block identification bit is at 0 (secondary block) or if the change of state of a generator is detected, the output of ET 54 is at state 0, commanding the selection of a secondary block. The selection of a primary pointer is only obtained if the block read is of the main type and if the corresponding generator has not changed state.

Cette deuxième variante de l'invention permet d'améliorer la rapidité de calcul des éléments sonores du synthétiseur sans limiter le nombre d'éléments sonores pour chaque géné rateur.This second variant of the invention makes it possible to improve the speed of calculation of the sound elements of the synthesizer without limiting the number of sound elements for each generator.

Du fait qu'après le calcul des éléments sonores liés à un générateur, il s'écoule un intervalle de temps au moins égal à une période de l'horloge 10 (pendant la lecture d'au moins un bloc principal), avant le calcul d'une autre série d'éléments sonores, l'intermodulation éventuelle entre les éléments sonores de deux séries consécutives est

Figure imgb0014
selon une variance simpiardée de l'invention l'aaresse on une partIe de l'aeresse des biees de memoires peut être utilisée pour les moyens de conversion an même titre gue les contenus de ces blocs cela est possible par exemple pour le numéro 1 de générateur et /si le rang d'cetave cette variante diminue a souplesse d' utilisation des mémoires, mais reduit le nombre de memoires nécessaires. De même un arrangement différent des données dans ces memoires est posibleThe fact that after the calculation of the sound elements linked to a generator, there elapses a time interval at least equal to a period of the clock 10 (during the reading of at least one main block), before the calculation of another series of sound elements, the possible intermodulation between the sound elements of two consecutive series is
Figure imgb0014
according to a simpiarded variance of the invention the aaresse one partIe of the aeresse of the biees of memories can be used for the means of conversion in the same title gue the contents of these blocks that is possible for example for the number 1 of generator and / if the rank of this variant decreases the flexibility of use of the memories, but reduces the number of memories required. Likewise, a different arrangement of the data in these memories is possible.

Claims (4)

1. Synthétiseur polyphonicue de sigaux périodiques du type comportant : - des moyens de production d'échantillons numériques successifs d'une forme d'onde périodicue, à fréquence de répétition variable, à partir de données numériques de phase et d'amplitude notamment : - des moyens de conversion numérique analogique des échantillons successifs délivrés par les moyens de production ; - un nombre déterminé de générateurs de signaux rectangulaires de fréquences différentes, la fréquence de chaque générateur étant multiple d'au moins un signal périodique que peut produire le synthétiseur ; - un ensemble de blocs de mémoires pour contenir des données numériques représentant, au moins, l'amplitude des signaux périodiques à produire ; et - des moyens de commande de lecture séquentielle des données dans les blocs de mémoires, couplés aux générateurs et aux moyens de production d'échantillons:, pour appliquer les données lues à ceux-ci sensiblement en synchronisme avec les signaux des générateurs ;
Le synthétiseur étant caractérisé par le fait que
- l'ensemble des blocs de mémoires est divisé en groupes contenant chacun l'ensemble des données relatives à la production des signaux périodiques en relation harmonique de fréquence avec l'un des générateurs, chaque bloc comportant une mémoire contenant une donnée d'adressage d'un autre bloc, de façon qu'il existe un enchaînement des adres· ses des blocs dans chaque groupe;et - les moyens de commande de lecture comportent des moyens d'adressage des blocs de chaque groupe selon l'enchaînement des adresses dans les blocs, à à chaque changement du signal du générateur correspondant.
Figure imgb0015
comportent chacun une mémoire contenant une donnée d'aures comportent chacun une une donnée sage (I') d'un bloc principal d'un autre groupe et en ce que les moyens de commende comportent des moyens d'adressage et de lecture d'un blec principal suivant dans l'un des cas où le signal du générateur correspondant au bloc principal précédent n'a pas changé et où l'enchaînement de lecture des blocs secondaires du groupe précédent a eu lieu, après changement du signal du générateur correspondant.
1. Polyphonic synthesizer of periodic signals of the type comprising: means for producing successive digital samples of a periodic waveform, with variable repetition frequency, from digital phase and amplitude data in particular: - means of digital analog conversion of successive samples delivered by the means of production; - a determined number of rectangular signal generators of different frequencies, the frequency of each generator being multiple of at least one periodic signal which the synthesizer can produce; - a set of memory blocks for containing digital data representing, at least, the amplitude of the periodic signals to be produced; and - control means for sequential reading of the data in the memory blocks, coupled to the generators and to the means for producing samples :, to apply the data read to them substantially in synchronism with the signals of the generators;
The synthesizer being characterized by the fact that
the set of memory blocks is divided into groups each containing all the data relating to the production of the periodic signals in harmonic frequency relationship with one of the generators, each block comprising a memory containing an address datum d 'another block, so that there is a chain of block addresses in each group; and the reading control means comprise means for addressing the blocks of each group according to the sequence of addresses in the blocks, each time the signal of the corresponding generator is changed.
Figure imgb0015
each comprise a memory containing aures data each comprise a wise data (I ') from a main block of another group and in that the control means comprise means for addressing and reading a next main blec in one of the cases where the generator signal corresponding to the previous main block has not changed and where the reading of the secondary blocks of the previous group has taken place, after changing the signal of the corresponding generator.
8. Synthétiseur selon l'une des revendications précédentes, caractérisé en ce:que les moyens de commande de lecture comportent une mémoire d'adresses (3) pour l'adressage des groupes et des blocs de mémoires (1), la mémoire d'adresses (3) comportant une première entrée pour recevoir le numéro de bloc suivant, lu dans le bloc adressé, et une deuxième entrée pour recevoir le numéro de groupe suivant ; et une mémoire de sélection de grouoe (8) comportant une entrée pour recevoir le numéro de croups suivar lu dans le bloc principal du groupe adressé, une sortie connectée à la deuxième entrée de la mémoire d'adresses (3), et une entrée de commande de transfert de l'adresse de groupe quand l'adresse de bloc est égale a celle du bloc principal.8. Synthesizer according to one of the preceding claims, characterized in that the reading control means comprise an address memory (3) for addressing groups and memory blocks (1), the memory of addresses (3) comprising a first entry to receive the next block number, read in the addressed block, and a second entry to receive the next group number; and a group selection memory (8) comprising an input for receiving the following croup number read in the main block of the group addressed, an output connected to the second input of the address memory (3), and an input of command to transfer the group address when the block address is equal to that of the main block. 9. Synthétiseur selon l'une des revendications 1 a 5, caractérise en ce que l'ensemble des mémoires est divisé en groupes, en nombre et en positions indépendante générateurs, le nombre de blocs dans cnaque groupe étant. variable ; chaque bloc principal centenant au moins un mot d'identification de bloc, en mot désignant un général- teur, un mot relatif à une valeur ce pnase instantance,* un mot contenant un pointeur d'adresse primaire designant un autre bloc principal et un act contenant peinteux
Figure imgb0016
(52) recevant d'une part le signal binaire de sortie du multiplexeur (51) et d'autre part le bit de poids le plus faible de la valeur de phase lue dans le même bloc principal, et des moyens logiques (33. 54) recevant le signal de sortie du OU exclusif (52) et le mot d'identification de bloc, pour délivrer d'une part, un signal de commande d'incrémentation de phase dans le seul cas ou le bloc lu est du type principal et le changement d'état du générateur designé est détecté, et d'autre part, un signal de sélection, soit du pointeur primaire dans le cas où le bloc lu est du type principal et aucune transition du générateur désigné n'est détectée, soit du pointeur secondaire dans les autres cas.
9. Synthesizer according to one of claims 1 to 5, characterized in that the set of memories is divided into groups, in number and in independent generator positions, the number of blocks in each group being. variable; each main block centering at least one block identification word, in word designating a generator, a word relating to a value instantaneously, * a word containing a primary address pointer designating another main block and an act paint container
Figure imgb0016
(52) receiving on the one hand the binary output signal from the multiplexer (51) and on the other hand the least significant bit of the phase value read in the same main block, and logic means (33. 54 ) receiving the output signal from the exclusive OR (52) and the block identification word, to deliver on the one hand, a phase incrementation control signal in the only case where the block read is of the main type and the change of state of the designated generator is detected, and on the other hand, a selection signal, either of the primary pointer in the case where the block read is of the main type and no transition of the designated generator is detected, or of the secondary pointer in other cases.
12. Synthétiseur selon l'une des revendications précédentes, caractérisé en ce que les moyens de conversion comportent : - un circuit de calcul d'adresse (111,fig 5) recevant d'un part la valeur instantanée de phase et, d'autre part le rang d'octave ou d' harmonique lus dans les blocs de memoires ; - une mémoire de forme d'onde (112, fig. 5, îl fig. 1), contenant, à des adresses successives des échantillons successifs d'amplitude ou de variation d'amplitude d'une forme d'onde, la mémoire étant connectée au circuit d'adresse ; - des moyens de multiplication (12 fig. 1 et fig 6) de chaque échantillon, délivré par la mémoire de forme d' onde, par la valeur d'amplitude une dans un bloc de mémoire - un convertisseur numérique-enalogioue (13) pour délivrer un échantillon analogique correspondant à chaque produit effectué par les moyens de multiplication (le) - des moyens de filtrage 14 fig 114 à 199 fig 5) des signaux analogicues délivrés par les moyens de conver-
Figure imgb0017
12. Synthesizer according to one of the preceding claims, characterized in that the conversion means comprise: - an address calculation circuit (111, fig 5) receiving on the one hand the instantaneous phase value and, on the other hand the octave or harmonic rank read in the memory blocks; - a waveform memory (112, fig. 5, îl fig. 1), containing, at successive addresses, successive samples of amplitude or amplitude variation of a waveform, the memory being connected to the address circuit; - multiplication means (12 fig. 1 and fig 6) of each sample, delivered by the waveform memory, by the amplitude value one in a memory block - a digital-to-analog converter (13) for delivering an analog sample corresponding to each product produced by the multiplication means (le) filter means 14 fig 114 to 199 fig 5) analog signals delivered by the converging means
Figure imgb0017
EP79400886A 1978-11-21 1979-11-20 Polyphonic synthesizer of periodical signals using digital techniques Expired EP0011576B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AT79400886T ATE3918T1 (en) 1978-11-21 1979-11-20 POLYPHONE SYNTHESIS CIRCUIT FOR PERIODIC SIGNALS USING DIGITAL TECHNIQUES.

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
FR7832727 1978-11-21
FR7832727A FR2442485A1 (en) 1978-11-21 1978-11-21 Polyphonic digitally controlled musical synthesiser - has memory bank forming virtual keyboard between keyboard manuals and synthesising circuits
FR7907339A FR2452145A2 (en) 1979-03-23 1979-03-23 Polyphonic digitally controlled musical synthesiser - has memory bank forming virtual keyboard between keyboard manuals and synthesising circuits
FR7907339 1979-03-23

Publications (2)

Publication Number Publication Date
EP0011576A1 true EP0011576A1 (en) 1980-05-28
EP0011576B1 EP0011576B1 (en) 1983-06-22

Family

ID=26220857

Family Applications (1)

Application Number Title Priority Date Filing Date
EP79400886A Expired EP0011576B1 (en) 1978-11-21 1979-11-20 Polyphonic synthesizer of periodical signals using digital techniques

Country Status (6)

Country Link
US (1) US4279186A (en)
EP (1) EP0011576B1 (en)
DD (1) DD147288A5 (en)
DE (1) DE2965764D1 (en)
ES (1) ES486146A1 (en)
NO (1) NO793756L (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5632188A (en) * 1979-08-24 1981-04-01 Sony Corp Waveform synthesizer
DE3023580C2 (en) * 1980-06-24 1982-04-01 Matth. Hohner Ag, 7218 Trossingen Method for phase synchronization of digitally synthesized tones of a musical instrument and circuit arrangement for carrying out the method
EP0102169B1 (en) * 1982-07-19 1987-09-16 Matsushita Electric Industrial Co., Ltd. Wave reading apparatus
DE3331176C1 (en) * 1983-08-30 1990-01-25 WERSI-electronic GmbH & Co KG, 5401 Halsenbach Device for digitally generating the sounds of instruments, in particular percussion sounds
JP2819948B2 (en) * 1992-07-16 1998-11-05 ヤマハ株式会社 Music signal recording and playback device
US5444818A (en) * 1992-12-03 1995-08-22 International Business Machines Corporation System and method for dynamically configuring synthesizers

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2153149A1 (en) * 1969-10-30 1973-05-04 North American Rockwell
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
FR2396375A1 (en) * 1977-07-01 1979-01-26 Deforeit Christian POLYPHONIC SYNTHESIZER OF PERIODIC SIGNALS AND ELECTRONIC MUSICAL INSTRUMENT INCLUDING SUCH A SYNTHESIZER

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3955459A (en) * 1973-06-12 1976-05-11 Nippon Gakki Seizo Kabushiki Kaisha Electronic musical instrument
JPS5651632B2 (en) * 1974-09-17 1981-12-07
US4177706A (en) * 1976-09-08 1979-12-11 Greenberger Alan J Digital real time music synthesizer
US4193332A (en) * 1978-09-18 1980-03-18 Richardson Charles B Music synthesizing circuit

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2153149A1 (en) * 1969-10-30 1973-05-04 North American Rockwell
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
FR2396375A1 (en) * 1977-07-01 1979-01-26 Deforeit Christian POLYPHONIC SYNTHESIZER OF PERIODIC SIGNALS AND ELECTRONIC MUSICAL INSTRUMENT INCLUDING SUCH A SYNTHESIZER

Also Published As

Publication number Publication date
DD147288A5 (en) 1981-03-25
NO793756L (en) 1980-05-22
DE2965764D1 (en) 1983-07-28
ES486146A1 (en) 1980-06-16
US4279186A (en) 1981-07-21
EP0011576B1 (en) 1983-06-22

Similar Documents

Publication Publication Date Title
FR2785438A1 (en) MUSIC GENERATION METHOD AND DEVICE
EP0142179A1 (en) Sound generating device
NL8202023A (en) METHOD AND APPARATUS FOR IMPROVED AUTOMATIC HARMONIZATION.
EP0011576B1 (en) Polyphonic synthesizer of periodical signals using digital techniques
Benitez Avant-garde or experimental? Classifying contemporary music
EP0021964B1 (en) Digital polyphonic synthesizer of periodic signals
FR2476888A1 (en) DIGITAL SYNTHESIZER OF SOUND SIGNALS AND APPLICATIONS TO ELECTRONIC MUSICAL INSTRUMENTS
CN109545177A (en) A kind of melody is dubbed in background music method and device
EP1047044B1 (en) Device for acquiring and processing signals to control an apparatus or a process
EP0978116B1 (en) Method and device for recording in cyclic loops several sound sequences
EP3709290B1 (en) Acoustic device and acoustic control program
JP3102049B2 (en) Tone parameter editing device for electronic musical instruments
EP0989541A1 (en) Tone synthesizing device delivering a sequence of electrical samples
EP0035621B1 (en) Apparatus for the identification and indication of notes generated by a musical instrument
JPH0333278B2 (en)
Mauthes VGM-RNN: Recurrent neural networks for video game music generation
JPS5840199B2 (en) Denshigatsuki
JP2712200B2 (en) Electronic musical instrument
JP2776045B2 (en) Tone generator
FR2468161A1 (en) ELECTRONIC APPARATUS WITH HEARING OUTPUT
Everard New Addition (SOS Oct 1986)
EP0449190B1 (en) Programmer producing binary output signals in response to a clock signal
McGrath Something seems wrong, should that be happening?
JPH0118438B2 (en)
FR2994015A1 (en) Musical improvisation method for musical instrument e.g. piano, involves generating audio signal representing note or group of notes, and playing audio signal immediately upon receiving signal of beginning of note

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: 19800916

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: 3918

Country of ref document: AT

Date of ref document: 19830715

Kind code of ref document: T

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

Ref country code: AT

Effective date: 19830701

REF Corresponds to:

Ref document number: 2965764

Country of ref document: DE

Date of ref document: 19830728

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
GBPC Gb: european patent ceased through non-payment of renewal fee
REG Reference to a national code

Ref country code: GB

Ref legal event code: 728C

REG Reference to a national code

Ref country code: GB

Ref legal event code: 728H

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

Ref country code: NL

Payment date: 19851130

Year of fee payment: 7

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

Ref country code: NL

Effective date: 19870601

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: 19880802

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

Ref country code: GB

Effective date: 19881118