EP0011576B1 - Synthétiseur polyphonique de signaux périodiques utilisant les techniques numériques - Google Patents

Synthétiseur polyphonique de signaux périodiques utilisant les techniques numériques Download PDF

Info

Publication number
EP0011576B1
EP0011576B1 EP79400886A EP79400886A EP0011576B1 EP 0011576 B1 EP0011576 B1 EP 0011576B1 EP 79400886 A EP79400886 A EP 79400886A EP 79400886 A EP79400886 A EP 79400886A EP 0011576 B1 EP0011576 B1 EP 0011576B1
Authority
EP
European Patent Office
Prior art keywords
block
memory
address
signal
generator
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.)
Expired
Application number
EP79400886A
Other languages
German (de)
English (en)
Other versions
EP0011576A1 (fr
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/fr
Priority claimed from FR7907339A external-priority patent/FR2452145A2/fr
Application filed by Individual filed Critical Individual
Priority to AT79400886T priority Critical patent/ATE3918T1/de
Publication of EP0011576A1 publication Critical patent/EP0011576A1/fr
Application granted granted Critical
Publication of EP0011576B1 publication Critical patent/EP0011576B1/fr
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, by reading 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 unsolicited signals. 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 these to determine the next memory in the flow.
  • all of the control memories are divided into memory groups, in a number equal to the number of pulse generators, each group further 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 in a group minus one. Since all groups are rarely all used together, a number more or less large amounts of memory remain unused most of the time.
  • control memories of the synthesizer are no longer divided into groups of fixed length, each memory being able to be assigned to any generator. Each memory includes addressing information from another memory, for carrying out the sequence.
  • main blocks containing essentially a submultiple of the instantaneous phase as with several signals and secondary blocks containing essentially the amplitude of these signals are two types of memories: main blocks containing essentially a submultiple of the instantaneous phase as with several signals and secondary blocks containing essentially the amplitude of these signals.
  • control memories are not limited to that listed above. This allows wide possibilities of synthesizer commands by simple operations of writing in random access memory.
  • 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 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.
  • Removing group boundaries allows you to build elementary tones containing a large number of components.
  • a digital musical synthesizer is built around a waveform memory containing a point-by-point digital representation 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 corresponding amplitude data or signals.
  • the waveform memory therefore transcodes a digital phase signal into a digital amplitude signal, which is then converted into analog form.
  • 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 synthesizer control circuits (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 differences in constant phases whatever the frequency.
  • a simple incrementing operation suffices for all frequencies, which eliminates the need to calculate a phase difference for each 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 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 a computer 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.
  • 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 write and possibly read control signals, for external control of the synthesizer.
  • the microcomputer system is connected to one or more K organ keyboards, and also, if necessary, to a pedal board, buttons, pull tabs, or any device for entering data or events or presentation information, which is not shown.
  • the microcomputer system places data in the memories of the virtual keyboard 1, according to the events it takes into account (pressing or releasing of the keys, buttons, drawbars, etc.), of a recorded program and of data. descriptions of the tones or timbres of the sounds 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 internal 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 furthermore comprises a determined number of rectangular signal generators generally designated by the reference 6.
  • rectangular signal is meant any binary signal, square signal or impulse signal.
  • 12 periodic signal generators whose repetition frequencies are distributed according to the 12 semitones of an octave, and also 4 variable frequency generators, either with analog control by voltage or current, or with command digital.
  • 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 (signal 1) by the read control means involves the selection of the signal from a generator, using a multiplexer 7.
  • the selection address of said group (Signal 1) 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. 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 increment and memory circuit 9 is coupled to the multiplexer 7, via a control circuit 10, and to the virtual keyboard 1. 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 8A of an amplitude step.
  • the circuit 11 includes for example a memory of waveform samples which automatically delivers the data 8A read at an address formed by the aforementioned digital input signals.
  • the multiplication circuit 12 performs the multiplication of the value 8A 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 you to understand how the synthesizer works 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 appears in FIG. 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 l 'of the next group when the processing relating to this group is complete, 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, in parallel, the 3 pieces of information N1, l 'and ⁇ .
  • 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, O, 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 specified 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.
  • 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 l 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 ⁇ p, of harmonic rank or of octave 0 and of waveform F are applied simultaneously to a circuit 30.
  • This circuit 30 generates an address applied to a step memory 31.
  • This memory contains in fact successive samples of one or more waveforms, in differential representation.
  • the amplitude difference 8A read 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 8A by the actual amplitude A read in the block of the virtual keyboard 1.
  • the result AA is then applied to two analog digital converters 32 and 33 controlled either 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 outputs being, of course, given solely by way of example.
  • analog outputs are also made from information contained in the virtual keyboard. For example, only three bits are used for the choice of a waveform among eight, 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 document FR-A-2 396 375 published on January 26, 1979, in particular in FIG. 4.
  • they each include an adder-subtractor circuit, an up-down counter and an integrator circuit. They are followed respectively by amplifiers 36 and 37 and speakers 38 and 39.
  • Analog filter circuits having specific frequency responses can obviously be inserted in each analog channel.
  • 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.
  • 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 circuit 30 which determines the address of the sample 8A in the memory 31 in fact comprises conventional logic circuits.
  • the phase value ⁇ is multiplied by the value of harmonic rank or octave 0 for the production of harmonics.
  • the phase ⁇ p 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 8A and A constitute the address of a value in memory. This value is then the product A x 8A.
  • 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 35 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 type of signal or timbre.
  • 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 a 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, this grouping being no longer provided physically but logically.
  • each group has a fixed number of memory blocks, which limits the number of elementary sound components associated with each generator.
  • the size of the groups is no longer determined in advance, but results from the sequence.
  • 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.
  • main blocks There are two types of blocks which differ only in the information they contain: main blocks and secondary blocks.
  • 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 an address pointer secondary.
  • 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 primary block.
  • each secondary block includes a word containing a secondary address pointer, designating the address of another secondary or main block. From the point of view of bit location, the secondary pointers of the two blocks coincide.
  • the primary and secondary pointers are used to determine the sequence of the reading of the blocks.
  • An address selector 4 receives the two primary and secondary pointers, via connections 120 and 121, and transmits one of the two pointers to the address register 3.
  • a clock 110 periodically generates pulses which are applied to register 3. At each pulse, the address (the selected pointer) is recorded in register 3 and this then controls the addressing of the block designated by this address.
  • the different pointers are set up in the memory blocks by the microcomputer so that the sequence of addresses of the blocks by the register 3, at the rate of the clock 110, satisfies the conditions described below.
  • Each pulse of the clock 110 therefore causes the addressing of a new block and, consequently, the execution of a series of operations.
  • the virtual keyboard therefore delivers either a first series of data or a second series of data, and leads respectively to either 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 having the same location (101) in the two blocks, then serve on the one hand to distinguish the information of a main block from that of a secondary block, and on the other hand, 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 submultiple ⁇ p of instantaneous phase (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 tp o of the phase applied to the 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.
  • the detector 5 triggers on the one hand the incrementing and the memorization of the phase value ⁇ p by the circuit 9, the incremented value being immediately memorized in the main block in place of the previous value, and on the other hand, the selection (by connection 127) of the secondary pointer (word 107). The following period of the clock 110 then succeeds the reading of a secondary block.
  • Connection 127 transmits a secondary block selection command to selector 4.
  • the value of the phase ⁇ p, stored by the incrementing circuit 9, is applied to an address calculation circuit 111.
  • the octave number (word 102) is also applied to this circuit by the link 123 as well as F, the waveform number (word 103) via the link 124.
  • the information is combined so as to address a waveform memory 112 from which a sample is extracted which is applied to a multiplier circuit 12.
  • This circuit receives at the same time the amplitude value A (word 104) by connection 125.
  • the result of the product is applied to a digital-analog converter 13.
  • 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 demultiplexer 109 controlled by the output channel number (word 105), receives the analog output signal from the converter 13 and routes this signal to one of the integrators 114, 115, etc., 119.
  • All these operations are carried out in a duration shorter 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 1 (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 generator has changed state.
  • the instantaneous phase value ( ⁇ p) is first incremented (132) then the secondary pointer is selected (133) making it possible to address a series of secondary blocks.
  • test 134 positive If it is a main block, the sequence continues for another generator (test 134 positive).
  • the sequence of reading of the blocks according to the invention is therefore designed to be traversed as quickly as possible, without addressing, or unnecessary calculations.
  • FIG. 7 shows the detail of the transition detector circuit 5.
  • It essentially comprises a multiplexer circuit 51 which receives the signals from the generators 6, on the one hand, and the number I (word 103), on the other hand, as a selection command.
  • the generators 6 deliver square signals so that the 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.
  • An exclusive OR circuit 52 receives the output signal from the multiplexer as well as the least significant bit cp o 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 AND circuits 53 and 54.
  • the output of ET 53 controls the phase increment circuit 9. In fact, the output of this circuit can only be active (in 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 invention applies to electronic musical instruments.
  • a musical instrument will therefore include a synthesizer according to the invention controlled by a microprocessor device, for example, which will load the data into the memories of the virtual keyboard 1, according to a desired sequence.
  • the generators 6 may contain between 12 generators at fixed frequencies and 16 generators, or more, at variable frequencies.
  • the address or part of the address of the memory blocks can be used for the conversion means, in the same way as the contents of these blocks. This is possible, for example, for generator number 1, and / or the octave rank. This variant reduces 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)
  • Steering-Linkage Mechanisms And Four-Wheel Steering (AREA)
  • Processing And Handling Of Plastics And Other Materials For Molding In General (AREA)
  • Organic Low-Molecular-Weight Compounds And Preparation Thereof (AREA)

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 musiques électroniques, polyphoniques comportant un ou plusieurs de tel synthétiseur.
  • Un synthétiseur de ce genre a été décrit dans le document FR-A-2 396 375 publié le 26 janvier 1979.
  • 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.
  • 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'opère à fréquence variable, à partir de plusieurs signaux impulsionnels produit par des générateurs inclus dans le synthétiseur.
  • Une telle structure se prête mieux à la réalisation d'un synthétiseur complètement indépen- . dant du reste de l'instrument de musique, et qui peut être aisément commandé par microprocesseur.
  • 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 lisant 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.
  • Dans un premier synthétiseur, 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, quelle que soit 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.
  • 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.
  • Un objet de la présente invention est d'éliminer cet inconvénient en supprimant la synthèse des signaux non demandés. Aussi, à l'exploitation, seules les mémoires relatives aux signaux à produire sont utilisées.
  • 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.
  • 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 enchaînement. 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.
  • Pour réaliser cet enchaînement bien connu dans la technique des ordinateurs, chaque mémoire de commande doit contenir, en plus de la donnée utilisée pour la production d'un échantillon, une information supplémentaire 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.
  • Selon une première variante de réalisation, l'ensemble des mémoires de commande est divisé en groupes de mémoires, en nombre égal au nombre de générateurs 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.
  • Il apparaît donc que les moyens de commande internes du synthétiseur ne s'intéressent qu'aux mémoires de commandes reliées entre elles par l'enchaînement, les autres mémoires de commandes non comprises dans l'enchaînement étant ignorées. Les opérations du synthétiseur sont donc limitées à la production des seuls signaux périodiques à produire.
  • Cependant, le fait que la mémoire de commande soit découpée 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 ensemble, un nombre plus ou moins grand de mémoires restent non utilisées la plupart du temps.
  • Selon une deuxième variante de l'invention, les mémoires de commande du synthétiseur ne sont plus divisées en groupes de longueur fixe, 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.
  • Bien entendu les informations qui peuvent être enregistrées dans les mémoires de commande ne sont pas limitées à celles énuméré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.
  • La présente invention apporte une réduction importante de ces opérations d'écriture du fait de l'enchaînement. De même, les opérations internes du synthétiseur sont réduites.
  • 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.
  • L'optimisation des opérations de lecture et de conversion permet également d'accroître 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 accroître 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.
  • 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.
  • 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.
  • La suppression des limites des groupes permet de constituer des sonorités élémentaires contenant un grand nombre de composantes.
  • La présente invention est exposée ci-après plus en détail à l'aide de dessins représentant seulement des modes d'exécution.
    • 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.
  • D'une manière 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 dits de « phase et la sortie délivre les données ou signaux d'« amplitude correspondants. 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.
  • 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 délivre alors des signaux d'amplitude successifs appliqués au convertisseur numérique-analogique. Ces signaux analogiques sont filtrés pour éliminer le bruit de quantification et la forme d'onde analogique est restituée.
  • 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 a 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).
  • 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.
  • 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 circuits de commande du synthétiseur (clavier, pédaliers, circuits de sélection de jeux, etc.).
  • La seconde méthode consiste à émettre vers la mémoire d'échantillons des signaux 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 quelle que soit la fréquence. Une simple opération d'incrémentation suffit pour toutes les fréquences, ce qui supprime la nécessité 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.
  • 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.
  • Elle se distingue également par le fait que l'ensemble des commandes destinées au synthétiseur (fréquences, amplitudes, etc.) se résume à des simples opérations d'écritures dans des mémoires dénommées « clavier virtuel ».
  • 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.
  • Dans le synthétiseur, tous les organes qui le constituent sont alors mis en relation avec le clavier virtuel.
  • Dans le document FR-A-2 396 375 publié le 26 janvier 1979, l'ensemble des opérations internes du synthétiseur était déclenché directement par les changements d'état des générateurs.
  • 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.
  • Le clavier virtuel est maintenant l'organe essentiel du synthétiseur à partir duquel sont issues 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).
  • L'utilisateur accède au clavier virtuel par l'intermédiaire 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 sinusoïdes, la synthèse réalisée est une synthèse additive ou synthèse de Fourier.
  • La figure 1 représente le schéma de principe du synthétiseur suivant l'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 la commande externe du synthétiseur.
  • A titre indicatif, le système micro-ordinateur est relié à un ou plusieurs claviers 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.
  • Ainsi le système micro-ordinateur place des données dans les mémoires du clavier virtuel 1, en fonction des événements qu'il prend en compte (enfoncement ou relâchement 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.
  • 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'accès à 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.
  • Ce clavier virtuel 1 est divisé en groupes. L'adressage interne 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.
  • Le synthétiseur comprend par ailleurs un nombre déterminé de générateurs de signaux rectangulaires désignés dans leur ensemble par la référence 6. Par signal rectangulaire, on entend tout signal binaire, signal carré ou signal impul- sionnel. 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 également être un générateur de bruit, c'est-à-dire un générateur à fréquence aléatoire.
  • Dans le clavier virtuel 1, le nombre de groupes est égal à celui des générateurs.
  • 'La sélection des mémoires d'un groupe (signal 1) 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.
  • Pendant l'exécution des opérations relatives aux données d'un groupe, l'adresse de sélection dudit groupe (Signal 1) 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.
  • 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 apparaîtront dans la suite.
  • 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 14 et un haut- parleur 15, ces deux derniers éléments n'étant pas compris dans le synthétiseur.
  • Le circuit de calcul 11 reçoit la phase instantanée ϕ incrémenté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 8A 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 8A lue à une adresse formée par les signaux numériques d'entrée précités.
  • Le circuit de multiplication 12 effectue la multiplication de la valeur 8A par la valeur d'amplitude A lue dans la mémoire du clavier virtuel et délivre la valeur numérique Δ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.
  • La suite de la description reviendra plus en détail sur la structure et le fonctionnement de chaque élément du synthétiseur.
  • 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 ensemble.
  • 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 blocs de mémoires de 16 bits chacun.
  • Chaque bloc de mémoires est encore divisé en quatre mots, de 4 bits chacun (c'est cette dernière division qui apparaît sur la figure 1).
  • Il y a donc 16 x 16 = 256 blocs de chacun 4 mots, et chaque mot contient au moins une 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.
  • La mémoire d'adresse 3 sélectionne, par son contenu, un bloc du clavier virtuel, parmi les 256.
  • L'adresse de sélection comporte 2 parties, une partie de 4 bits spécifiant le numéro I de groupe et une partie de 4 bits spécifiant le numéro N d'un bloc dans le groupe.
  • Pour simplifier la figure 2, seul un groupe 1 est représenté.
  • Le premier bloc du groupe 1 est caractérisé par la valeur 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 l' du groupe suivant quand le traitement relatif au présent groupesera terminé, et des deux parties (haute et basse) de la phase instantanée ϕ du signal fondamental.
  • La lecture de ce bloc permet d'obtenir donc, en parallèle, les 3 informations N1, l' et ϕ.
  • 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é par le multiplexeur 7, par le numéro I, ait changé d'état. Le circuit 9 alors 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 ϕ.
  • 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.
  • 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 ϕ est la phase instantanée. Enfin, la valeur A est l'amplitude du signal périodique de sortie.
  • 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.
  • En même temps que ces informations sont lues et transmises aux moyens de conversion 11, 12, 13 qui calculent un échelon analogique, la valeur N2 sert à spécifier le nouveau bloc à lire dans le groupe.
  • La lecture de ce nouveau bloc permet d'acquérir de nouvelles données F, O, A et N3 et ainsi de suite.
  • Le dernier bloc lu dans le groupe 1 délivre enfin des données F, O et A ainsi qu'une dernière valeur N = 0 qui permet de revenir au premier bloc d'où est extraite l'adresse du premier groupe suivant (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écifiée 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.
  • La figure 3 représente un organigramme qui décrit l'enchaînement des fonctions du synthétiseur.
  • On suppose que la mémoire d'adresse spécifie le premier bloc d'un groupe 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.
  • 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 l' 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.
  • Dès qu'un test de générateur est positif, la synthèse des échelons peut avoir lieu, elle se déroule comme indiqué sur la figure 3.
  • Après l'incrémentation de la phase ϕ (fonction 22, 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 1 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).
  • La figure 4 donne le détail de la structure du convertisseur.
  • Les valeurs de phase <p, 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 des échantillons successifs d'une ou plusieurs formes d'onde, en représentation différentielle. L'écart d'amplitude 8A lu est ajouté à l'amplitude précédente pour obtenir la nouvelle amplitude du signal analogique.
  • Un circuit multiplicateur 12 effectue le produit de la valeur 8A par l'amplitude réelle A lue dans le bloc du clavier virtuel 1. Le résultat AA est ensuite appliqué à deux convertisseurs numériques analogiques 32 et 33 commandés l'un ou l'autre par un circuit de commande 35.
  • Cette variante permet de pouvoir délivrer des signaux différents à plusieurs sorties analogiques différentes, le nombre de sorties étant, bien entendu, donné uniquement à titre d'exemple.
  • La distinction des sorties analogiques est faite également à partir d'une information contenue dans le clavier virtuel. Par exemple, trois bits seulement sont utilisés pour le choix d'une forme d'onde parmi huit, le quatrième bit étant affecté au choix de la voie analogique.
  • Dans le cas de la figure 4, le circuit de commande 35 est par exemple une bascule. L'une des sorties de la bascule autorise la transmission d'une donnée à un convertisseur, tandis que l'autre sortie interdit la transmission à l'autre convertisseur.
  • La structure des convertisseurs est connue, celle-ci ayant déjà été décrite dans le document FR-A-2 396 375 publié le 26 janvier 1979, notamment à la figure 4. Pour mémoire ils comportent chacun un circuit additionneur-soustracteur, un compteur décompteur et un circuit intégrateur. Ils 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 particuliè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 échantillon analogique est incluse dans l'ensemble des données numériques qui sont à son origine (F, O, 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.
  • Le circuit 30 qui détermine l'adresse de l'échantillon 8A dans la mémoire 31 comporte en fait des circuits logiques classiques. La valeur de phase ϕ est multipliée par la valeur de rang d'harmonique ou d'octave 0 pour la production des harmoniques. Dans le cas où le nombre 0 correspond aux octaves par rapport au fondamental, la phase <p subit simplement un nombre de décalages vers la gauche égal au nombre 0.
  • Le circuit multiplicateur 12 peut être également constitué par une mémoire morte. Les valeurs numériques d'entrée 8A et A constituent l'adresse d'une valeur en mémoire. Cette valeur est alors le produit A x 8A.
  • 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 ailleurs l'information de sélection de voie lue dans la mémoire du clavier virtuel. Le circuit de commande de sélection de voie 35 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 type de signal ou de timbre.
  • 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 microsecondes. 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émultiplexeur 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.
  • 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.
  • 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édéterminé, ce groupement n'étant plus prévu physiquement mais logiquement. 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 élé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 peut être créé dans des groupes utilisés.
  • 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.
  • 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 contenant des informations utiles sont ainsi adressés et lus et ces blocs peuvent être situés à n'importe quelles positions dans les mémoires.
  • 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.
  • 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'enchaînement s'interrompt au niveau du bloc principal correspondant, puis succède l'enchaînement des blocs secondaires associés.
  • 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.
  • 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..
  • 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).
  • 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.).
  • 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.
  • Il y a deux types de blocs qui ne diffèrent que par les informations qu'ils contiennent : des blocs principaux et des blocs secondaires.
  • 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).
  • 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).
  • Chaque bloc principal est relatif à un générateur tandis que chaque bloc secondaire est relatif à une composante sonore du signal de sortie.
  • Chaque bloc principal comporte en outre deux mots qui contiennent respectivement un pointeur d'adresse primaire et un pointeur d'adresse secondaire.
  • 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.
  • Chaque pointeur secondaire désigne l'adresse d'un autre bloc secondaire ou principal.
  • 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 deux blocs coïncident.
  • Les pointeurs primaires et secondaires servent à déterminer l'enchaînement de la lecture des blocs.
  • Un sélecteur d'adresse 4 reçoit les deux pointeurs primaire et secondaire, par des connexions 120 et 121, et transmet l'un des deux pointeurs au registre d'adresse 3. Une horloge 110 génère périodiquement des impulsions qui sont appliquées au registre 3. A chaque impulsion, l'adresse (le pointeur sélectionné) est enregistrée dans le registre 3 et celui-ci commande alors l'adressage du bloc désigné par cette adresse.
  • Les différents pointeurs sont mis en place dans les blocs de mémoire par le micro-ordinateur de sorte que l'enchaînement des adressages des blocs par le registre 3, au rythme de l'horloge 110, satisfasse aux conditions décrites ci-après.
  • Chaque impulsion de l'horloge 110 entraîne donc l'adressage d'un nouveau bloc et, par suite, l'exécution d'une série d'opérations.
  • Suivant le type principal ou secondaire du bloc lu, le clavier virtuel délivre donc soit une première série de données, soit une seconde série de données, et entraîne respectivement soit une première série d'opérations, soit une seconde série d'opérations.
  • 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.
  • Les bits d'identification de bloc, ayant le même emplacement (101) dans les deux blocs, servent alors d'une part à distinguer les informations d'un bloc principal de celles d'un bloc secondaire, et d'autre part, à valider ou inhiber certaines opérations du synthétiseur.
  • 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 le détail est le suivant :
    • Blocs principaux
  • 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.
  • Le sous-multiple <p 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 tpo de la phase appliqué au détecteur 5, pour détecter un changement d'état du générateur.
  • 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 s'il s'agit d'un bloc principal.
  • 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 générateur.
  • S'il y a changement d'état du générateur désigné dans le bloc, le détecteur 5 déclenche d'une part l'incrémentation et la mémorisation de la valeur de phase <p par le circuit 9, la valeur incrémentée étant aussitôt mémorisée dans le bloc principal à la place de la valeur précédente, et d'autre part, la sélection (par la connexion 127) du pointeur secondaire (mot 107). A la période suivante de l'horloge 110 succède alors la lecture d'un bloc secondaire.
  • Blocs secondaires
  • La connexion 127 transmet une commande de sélection de bloc secondaire au sélecteur 4.
  • La valeur de la phase <p, mémorisée par le circuit d'incrémentation 9, est appliquée à un circuit de calcul d'adresse 111. Le numéro d'octave (mot 102) est également appliqué à ce circuit par la liaison 123 ainsi que F, le numéro de forme d'onde (mot 103) par la liaison 124. Les informations sont combinées de manière à adresser une mémoire de formes d'onde 112 de laquelle est extraite un échantillon qui est appliqué à un circuit multiplicateur 12. Ce circuit reçoit en même temps la valeur d'amplitude A (mot 104) par la connexion 125. Le résultat du produit est appliqué à un convertisseur numérique-analogique 13. 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 donc pas de conversion en cas de lecture de bloc principal. Un démultiplexeur 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 l'un des intégrateurs 114, 115, etc., 119.
  • Toutes ces opérations se réalisent en une durée inférieure à la période de l'horloge 110.
  • A l'impulsion de cette 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.
  • 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.
  • On suppose qu'un nouveau bloc principal vient d'être adressé. Le numéro 1 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).
  • Deux cas peuvent se produire :
    • 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.
  • Ou bien le générateur a changé d'état. Dans ce cas, la valeur instantanée de phase (<p) est d'abord incrémentée (132) puis le pointeur secondaire est sélectionné (133) permettant d'adresser une série de blocs secondaires.
  • 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).
  • S'il s'agit d'un bloc principal, l'enchaînement continue pour un autre générateur (test 134 positif).
  • Ainsi, à chaque changement d'état d'un générateur, tous les blocs secondaires relatifs à ce générateur sont explorés et les éléments sonores correspondants sont calculés et délivrés.
  • S'il n'y a pas de changement de l'état d'un générateur, les blocs secondaires correspondants ne sont même pas adressés.
  • De plus, si le numéro d'un générateur n'apparaît pas dans l'enchaînement, il n'y aura même pas de test de son état.
  • L'enchaînement de lecture des blocs suivant l'invention est donc conçu pour être parcouru aussi rapidement que possible, sans adressage, ni calculs inutiles.
  • La figure 7 montre le détail du circuit détecteur de transition 5.
  • Il comprend essentiellement un circuit multiplexeur 51 qui reçoit les signaux des générateurs 6, d'une part, et le numéro I (mot 103), d'autre part, comme commande de sélection. Les générateurs 6 délivrent des signaux carrés de sorte que la sortie 55 du multiplexeur est un signal binaire.
  • Le bit d'identification (mot 101) est également appliqué à une entrée de validation 56, de sorte que seul un bloc principal peut sélectionner un générateur.
  • Un circuit OU exclusif 52 reçoit le signal de sortie du multiplexeur ainsi que le bit de poids le plus faible cpo de la phase instantanée.
  • La sortie du circuit 52 est connectée à une entrée non inverseuse d'un circuit ET 53 et à une entrée inverseuse d'un circuit ET 54.
  • Le signal d'identification de bloc (101) est également appliqué à des entrées non inverseu- ses des circuits ET 53 et 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).
  • La sortie du ET 54 commande la sélection des pointeurs primaires ou secondaires (sélecteur 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.
  • 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.
  • 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 pratiquement supprimée.
  • L'invention s'applique aux instruments de musique électroniques. Un tel instrument de musique comportera donc un synthétiseur suivant l'invention commandé par un dispositif à microprocesseur, par exemple, qui chargera les données dans les mémoires du clavier virtuel 1, selon un enchaînement désiré. Suivant la richesse des signaux sonores désirés, les générateurs 6 pourront contenir entre 12 générateurs à fréquences fixes et 16 générateurs, ou plus, à fréquences variables.
  • Selon une variante simplifiée de l'invention, l'adresse ou une partie de l'adresse des blocs de mémoires peut être utilisée pour les moyens de conversion, au même titre que les contenus de ces blocs. Cela est possible, par exemple, pour le numéro 1 de générateur, et/ou le rang d'octave. Cette variante diminue la souplesse d'utilisation des mémoires, mais réduit le nombre de mémoires nécessaires. De même, un arrangement différent des données dans ces mémoires est possible.

Claims (15)

1. Synthétiseur polyphonique de signaux périodiques du type comportant :
- des moyens de production d'échantillons numériques successifs d'une forme d'onde périodique, à 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é physiquement ou logiquement en groupes ayant ou non une longueur fixe 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 adresses 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.
2. Synthétiseur selon la revendication 1, caractérisé en ce que chaque groupe de mémoires comporte un bloc principal comportant une mémoire contenant un sous-multiple commun de la phase des signaux périodiques en relation harmonique de fréquence avec le générateur correspondant dudit groupe et en ce que les moyens de commande comportent des moyens d'incrémentation de la valeur de phase en synchronisme, avec le signal du générateur.
3. Synthétiseur selon les revendications 1 et 2, caractérisé en ce que chaque groupe de mémoires peut comporter des blocs secondaires comportant chacun une donnée d'amplitude et une donnée relative au rang d'harmonique d'un signal à produire.
4. Synthétiseur selon la revendication 3, caractérisé en ce que chaque bloc secondaire peut comporter, en outre, une mémoire pour contenir une donnée relative à une forme d'onde particulière d'un signal à produire.
5. Synthétiseur selon la revendication 3 ou 4 caractérisé en ce que chaque bloc secondaire peut comporter, en outre, une mémoire pour contenir une donnée de sélection de voie de sortie du signal périodique à produire.
6. Synthétiseur selon l'une des revendications précédentes, caractérisé en ce que l'ensemble des mémoires est divisé en groupes égaux de même nombre que les générateurs, l'adresse de chaque bloc d'un même groupe comportant une partie commune (I), et en ce que les moyens de commande comportent des moyens de sélection du générateur correspondant à chaque groupe d'après la partie commune (I) de l'adresse.
7. Synthétiseur selon la revendication 6, caractérisé en ce que les blocs principaux des groupes de mémoires occupent des positions identiques dans lesdits groupes et comportent chacun une mémoire contenant une donnée d'adressage (l') d'un bloc principal d'un autre groupe ; et en ce que les moyens de commande comportent des moyens d'adressage et de lecture d'un bloc 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.
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 groupe (8) comportant une entrée pour recevoir le numéro de groupe suivant, 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 à celle du bloc principal.
9. Synthétiseur selon l'une des revendications 1 à 5, caractérise en ce que l'ensemble des mémoires est divisé en groupes, en nombre et en positions indépendants des générateurs, le nombre de blocs dans chaque groupe étant variable ; chaque bloc principal contenant, au moins, un mot d'identification de bloc, un mot désignant un générateur, un mot relatif à une valeur de phase instantanée, un mot contenant un pointeur d'adresse primaire désignant un autre bloc principal et un mot contenant un pointeur d'adresse secondaire désignant, au moins, un mot d'identification de bloc, un mot relatif à l'amplitude d'un signal de sortie, un mot relatif au rang d'octave ou d'harmonique du signal de sortie et un mot contenant un pointeur d'adresse secondaire désignant un autre bloc principal ou secondaire.
10. Synthétiseur selon la revendication 9, caractérisé en ce que les moyens de commande de lecture comportent :
- une horloge (110) ;
- un registre d'adresse (3) délivrant une adresse d'un bloc, à la fois, à l'ensemble des mémoires (1), et ayant une entrée de commande de mémorisation connectée à l'horloge (10) et une entrée d'adresse ;
- un circuit sélecteur d'adresse (4), connecté à l'entrée du registre (3) et comportant deux entrées pour recevoir respectivement les pointeurs d'adresse primaire et secondaire de chaque bloc, s'ils existent, et une entrée de commande de sélection ;
- des moyens détecteurs de transition (5), connectés aux générateurs (6) et ayant une entrée pour recevoir le mot d'identification de bloc, une autre entrée pour recevoir le mot désignant un générateur, et des sorties pour délivrer un signal de sélection au sélecteur (4) d'une part, et un signal de commande d'incré- mentation de phase d'autre part.
11. Synthétiseur selon la revendication 10, caractérise en ce que les moyens détecteurs de transition (5) comportent un circuit multiplexeur (51) recevant, en entrée, les signaux des générateurs (6) et, en commande, le numéro (I) désignant un générateur lu dans un bloc principal, et délivrant en sortie l'état binaire instantané du signal du générateur sélectionné ; un circuit OU exclusif (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 (53, 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 où le bloc lu est du type principal et le changement d'état du générateur désigné 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.
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'une part la valeur instantanée de phase et, d'autre part, le rang d'octave ou d'harmonique lus dans les blocs de mémoires ;
- une mémoire de forme d'onde (112, fig. 5, 11 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. 5) de chaque échantillon, délivré par la mémoire de forme d'onde, par la valeur d'amplitude lue dans un bloc de mémoire ;
- un convertisseur numérique-analogique (13) pour délivrer un échantillon analogique correspondant à chaque produit effectué par les moyens de multiplication (12) ;
- des moyens de filtrage (14 fig. 1, 114 à 119 fig. 5) des signaux analogiques délivrés par les moyens de conversion (13).
13. Synthétiseur selon la revendication 12, caractérisé en ce que le circuit de calcul d'adresse (111) comporte en outre une entrée de sélection de forme d'onde pour recevoir la donnée de forme d'onde d'un bloc de mémoire.
14. Synthétiseur selon la revendication 12 ou 13, caractérisé en ce que les moyens de conversion comportent, en outre, un circuit démultiplexeur (109 fig. 5) connecté, en entrée, à la sortie du convertisseur (13), en sortie, à plusieurs moyens de filtrage (114 à 119) et, en commande, à l'ensemble des mémoires (1) pour recevoir un mot relatif à un numéro de voie de sortie analogique.
15. Synthétiseur selon l'une des revendications précédentes, caractérisé en ce que l'adresse ou une partie de l'adresse de chaque bloc peut contenir au moins une donnée appliquée aux moyens de conversion.
EP79400886A 1978-11-21 1979-11-20 Synthétiseur polyphonique de signaux périodiques utilisant les techniques numériques Expired EP0011576B1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AT79400886T ATE3918T1 (de) 1978-11-21 1979-11-20 Polyphone syntheseschaltung fuer periodische signale unter anwendung digitaler techniken.

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
FR7832727 1978-11-21
FR7832727A FR2442485A1 (fr) 1978-11-21 1978-11-21 Synthetiseur numerique polyphonique de signaux periodiques
FR7907339A FR2452145A2 (fr) 1979-03-23 1979-03-23 Synthetiseur polyphonique de signaux periodiques
FR7907339 1979-03-23

Publications (2)

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

Family

ID=26220857

Family Applications (1)

Application Number Title Priority Date Filing Date
EP79400886A Expired EP0011576B1 (fr) 1978-11-21 1979-11-20 Synthétiseur polyphonique de signaux périodiques utilisant les techniques numériques

Country Status (6)

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

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 (de) * 1980-06-24 1982-04-01 Matth. Hohner Ag, 7218 Trossingen Verfahren zur Phasensynchronisation digital synthetisierter Töne eines Musikinstruments und Schaltungsanordnung zur Durchführung des Verfahrens
EP0102169B1 (fr) * 1982-07-19 1987-09-16 Matsushita Electric Industrial Co., Ltd. Appareil de lecture d'ondes
DE3331176C1 (de) * 1983-08-30 1990-01-25 WERSI-electronic GmbH & Co KG, 5401 Halsenbach Vorrichtung zur digitalen Erzeugung der Klänge von Instrumenten, insbesondere Schlagzeugklängen
JP2819948B2 (ja) * 1992-07-16 1998-11-05 ヤマハ株式会社 楽音信号記録再生装置
US5444818A (en) * 1992-12-03 1995-08-22 International Business Machines Corporation System and method for dynamically configuring synthesizers

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3610799A (en) * 1969-10-30 1971-10-05 North American Rockwell Multiplexing system for selection of notes and voices in an electronic musical instrument
US3955459A (en) * 1973-06-12 1976-05-11 Nippon Gakki Seizo Kabushiki Kaisha Electronic musical instrument
JPS5651632B2 (fr) * 1974-09-17 1981-12-07
US4023454A (en) * 1975-08-28 1977-05-17 Kabushiki Kaisha Dawai Gakki Seisakusho Tone source apparatus for an electronic musical instrument
FR2344907A1 (fr) * 1976-03-16 1977-10-14 Deforeit Christian Instrument de musique electronique polyphonique
US4177706A (en) * 1976-09-08 1979-12-11 Greenberger Alan J Digital real time music synthesizer
FR2396375A1 (fr) * 1977-07-01 1979-01-26 Deforeit Christian Synthetiseur polyphonique de signaux periodiques et instrument de musique electronique comportant un tel synthetiseur
US4193332A (en) * 1978-09-18 1980-03-18 Richardson Charles B Music synthesizing circuit

Also Published As

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

Similar Documents

Publication Publication Date Title
EP0112761B1 (fr) Dispositif de création sonore
FR2639458A1 (fr) Appareil permettant de produire, d&#39;enregistrer ou de reproduire des donnees de source sonore et procede associe de codage de compression de donnees de source sonore
JP2835842B2 (ja) 楽音発生器
EP0011576B1 (fr) Synthétiseur polyphonique de signaux périodiques utilisant les techniques numériques
EP0021964B1 (fr) Synthétiseur numérique polyphonique de signaux périodiques
FR2476888A1 (fr) Synthetiseur numerique de signaux sonores et applications aux instruments de musique electronique
CN109545177A (zh) 一种旋律配乐方法及装置
JP2020060630A (ja) 音信号発生装置、音信号発生方法および音信号発生プログラム
EP0978116B1 (fr) Procede et dispositif pour l&#39;enregistrement en boucles cycliques de plusieurs sequences phoniques
FR2783630A1 (fr) Systeme de synthese sonore permettant d&#39;obtenir en sortie une suite d&#39;echantillons electriques
EP0035621B1 (fr) Appareil pour l&#39;identification et l&#39;indication de notes émises au moyen d&#39;un instrument de musique
JP2776045B2 (ja) 楽音発生装置
JPS5840199B2 (ja) デンシガツキ
JPH0333278B2 (fr)
JP2560428B2 (ja) 効果装置
EP4443421A1 (fr) Procédé de génération d&#39;un effet sonore
JP2712200B2 (ja) 電子楽器
JPH0118438B2 (fr)
JP2727684B2 (ja) 楽音合成装置
McGrath Something seems wrong, should that be happening?
JP2754936B2 (ja) 楽音発生装置
Everard New Addition (SOS Oct 1986)
JPH052391A (ja) 信号処理装置
WO1981001625A1 (fr) Dispositif et son procede pour visualiser automatiquement la position des doigts sur l&#39;instrument pour apprendre rapidement des accords et des harmonies composant les accompagnements des melodies
EP0890166B1 (fr) Procede de creation audionumerique et dispositifs de synthese et/ou d&#39;enregistrement de son mettant en oeuvre ce procede

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