EP0237798A2 - Elektronisches Musikinstrument - Google Patents

Elektronisches Musikinstrument Download PDF

Info

Publication number
EP0237798A2
EP0237798A2 EP87102070A EP87102070A EP0237798A2 EP 0237798 A2 EP0237798 A2 EP 0237798A2 EP 87102070 A EP87102070 A EP 87102070A EP 87102070 A EP87102070 A EP 87102070A EP 0237798 A2 EP0237798 A2 EP 0237798A2
Authority
EP
European Patent Office
Prior art keywords
sound data
memory
sound
musical instrument
basic
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
EP87102070A
Other languages
English (en)
French (fr)
Other versions
EP0237798A3 (de
EP0237798B1 (de
Inventor
Rainer Gallitzendörfer
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.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Publication of EP0237798A2 publication Critical patent/EP0237798A2/de
Publication of EP0237798A3 publication Critical patent/EP0237798A3/de
Application granted granted Critical
Publication of EP0237798B1 publication Critical patent/EP0237798B1/de
Anticipated expiration legal-status Critical
Expired - Lifetime 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/02Instruments in which the tones are synthesised from a data store, e.g. computer organs in which amplitudes at successive sample points of a tone waveform are stored in one or more memories
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/131Mathematical functions for musical analysis, processing, synthesis or composition
    • G10H2250/215Transforms, i.e. mathematical transforms into domains appropriate for musical signal processing, coding or compression
    • G10H2250/235Fourier transform; Discrete Fourier Transform [DFT]; Fast Fourier Transform [FFT]

Definitions

  • the invention relates to an electronic musical instrument according to the preamble of claim 1.
  • a musical instrument is known from DE-PS 29 26 548.
  • a waveform generator for sound shaping in an electronic musical instrument is described, which enables dynamic cross-fading from one stored sound to another stored sound.
  • Further electronic musical instruments are described in the prior art recognized in DE-PS 29 26 548, namely DE-AS 22 37 594, DE-OS 28 30 483, DE-OS 28 30 482 and US-PS 38 59 884.
  • US Pat. No. 4,164,020 describes a programmable sound synthesizer which holds a large number of sound data in a memory.
  • the memory is read out by an address generator whose repetition frequency is controlled by an integrator.
  • the rate of integration is itself determined by a "number of tones".
  • several sound parameters such as frequency, waveform, envelope, velocity, decay, etc. can be entered. However, these sound parameters are an unchangeable part of the stored sound data.
  • the sound data is then read out cyclically in the numerical order of the addresses of the sound data entered. In short, only pre-programmed sound sequences with freely programmable, but no longer changeable sound character can be entered, so that one cannot speak of a musical instrument in the narrower sense, but rather of a "sound preserve" based on a record.
  • the object of the invention is to improve the electronic musical instrument of the type mentioned in such a way that it is absolutely freely programmable and thus produces any sounds that can also be changed while the instrument is being played.
  • the basic idea of the invention is therefore to store certain basic sound data and to assign the memory addresses to freely selectable sound parameters.
  • the sound parameters such as B. velocity, duration of pressing a key, position of a controller, etc. thus determine the memory address to be read out in each case or the sequence of the memory addresses to be read out.
  • the input of the basic sound data can be "synthetic", i. H. via a keypad with the help of a screen, which can also be used to create any kind of artificial sounds; but it can also be done via a microphone, so that the musical instrument according to the invention bridges the gap between the pure synthesizers and the pure sampling devices.
  • Temporal course of an electrical signal that corresponds to a sound, with only z. B. by microphone) recorded or (per keypad and screen) synthetically generated temporal profiles of the amplitudes of a sound can be understood.
  • Digitized basic waveforms e.g. 256 words of 8 bits each for a basic waveform So several samples are taken from a basic waveform and digitized.
  • the musical instrument has a central processing unit (CPU) 1, a read-only memory (ROM) 2, a random access memory (RAM) 3, these three modules essentially taking over the sequence control. These components are connected to one another and to further components via lines 25 and 26, one line 25 representing the system data bus and the other line 26 representing the address bus.
  • a screen 5 is connected to these two lines via a screen interface (interface) 4, a keypad (keyboard) 7 via a further interface (interface) 6 and a keyboard 9 via a further interface 8.
  • Both lines 25 and 26 are also connected to inputs of a counter 11, which receives pulses from a clock generator 12.
  • the output of the counter 11 is connected to a waveform memory 14 via an address bus driver 13.
  • the memory 14 is also a random access memory (RAM).
  • an interpolator 15 and a Fourier transformer 16 are connected to both lines 25 and 26. The latter is a commercially available device that performs a Fourier transform on its input signals.
  • the outputs of modules 15 and 16 are also connected to waveform memory 14 via lines 27 and 28, line 27 forming the waveform memory data bus and line 28 the waveform memory address bus.
  • a driver circuit 10 is also connected between lines 27 and 25.
  • a line circuit comprising a data latch 17, a digital / analog converter 18, which also contains a low-pass on the output side, an amplifier 19 and a loudspeaker or headphones 20 are connected to line 27. Furthermore, a line connection comprising a microphone 24, a preamplifier 23, an analog / digital converter 22 with an upstream anti-aliasing low-pass filter and a driver 21 is connected to line 27.
  • FIG. 1 The recording or storage of sounds or waveforms is first described with reference to FIG. 1.
  • the user Under control of the keypad 7, which can also contain a so-called joystick, a "mouse” or a light pen, the user generates any waveforms in an input step on the screen, which are here "basic waveforms".
  • An example of such a waveform is shown in FIG. 3.
  • the Y axis is the amplitude of the sound during this first input step, while the X axis is either time or frequency. Either the time profile of a signal or the spectral profile can be specified.
  • this first waveform is stored in the waveform memory 14 in the event of the input of the time profile, specifically in a first memory area from the address $ 0000 according to FIG. 4 Generated basic sound data, which are stored in further memory areas - in FIG. 4 the memory areas $ 1000, $ 2000, $ 3000 ... are stored.
  • the storage is not carried out directly but via the Fourier transformer 16, which first transforms the data entered in the spectral range into the time range.
  • All individual basic sound data entered have a constant word length in the waveform memory 14, for example 256 words of 8 bits per waveform.
  • this interpolation or extrapolation provides smooth or dynamic transitions from one input basic waveform to the next input basic waveform. This enables a "dynamic" cross-fading from one sound to another sound.
  • a further “curve” is generated via the keypad 7 and the screen 5, which represents the sound parameter “time” and which determines the sequence in which the individual memory areas are read out.
  • the sound parameter “time” represents the sequence in which the individual memory areas are read out.
  • all curve shapes are generally possible.
  • one axis eg Y axis
  • the other axis X-axis
  • one axis designates the memory address of sound data to be read out
  • the other axis X-axis
  • a readout cycle then gives a continuously, ie dynamically changing, sound image between at least two input basic sound data.
  • a readout cycle can also extend over more than two basic sound data and the interpolation values in between or the extrapolation values lying outside the range between two adjacent basic sound data. If, on the other hand, you enter a horizontal line, for example, only one sound datum (with 256 words or "samples", for example) is read out, but several times in succession. If you enter a triangle curve, sound data are output in succession with an ascending address number and then with a descending address number. If, on the other hand, the curve is very steep, depending on the slope, individual addresses are skipped when reading out. Of course, non-linear functions can also be entered as a curve for reading out.
  • At least one further sound parameter is defined.
  • parameters can be the velocity of the key on the keyboard, the pitch of a tone or another position of a control.
  • the choice of these parameters is based on the knowledge that with many natural musical instruments with changing volume not only the amplitude of the sound produced changes but also the sound character. same for also correspondingly for the pitch, at which not only the frequency of the generated tones changes with many instruments, but also the sound character. This can be explained, for example, by the fact that the body of many instruments has certain natural resonances or that it generates certain non-harmonic vibrations at different pitches and / or volumes.
  • the Y-axis can map the "parameter function” while the X-axis maps the parameter itself.
  • the "parameter function” determines the address of the sound data to be read out. In the second exemplary embodiment, it also determines the sound data between which interpolation is to take place and the interpolation step size.
  • Said waveform memory 14, as shown in FIG. 5, is organized as follows.
  • Each of the individual fields shown at the top left in FIG. 5 (here with the addresses 00 to 0F) contains a basic waveform as the basic sound data corresponding to FIG. 3, for example 256 words each.
  • Each column with the fields 00, 01, 02, 03 or 04, 05, 06, 07 or 08, 09, 0A, 0B or 010, 0D, 0E, 0F then contains a "waveform set" corresponding to the 4 explained in connection with FIG.
  • a "waveform set” denotes a large number of related waveforms that are completely read out in a normal read cycle will.
  • parameter 1 then broadly designates the "time" at which the individual fields are read out.
  • the respective column is then set via the adjustment of parameter 2, for example the column with fields 04, 05, 06 and 07.
  • parameter 3 a jump is made to a further "block” which comprises the 16 fields 10 to 1F; 20 to 2F, etc. contains.
  • This parameter 3 can denote, for example, the velocity of the individual keys on the keyboard.
  • the position of a hand controller is determined via parameter 4, for example. With this hand controller, for example, different instruments (e.g. violin, piano, flute etc.) can be selected or other sound effects can be set.
  • the memory organization shown in FIG. 5 realizes a four-dimensional data field.
  • an n-dimensional data field can also be created with this memory organization, which is particularly useful if you want to introduce even more sound parameters, for example a tremolo, an echo or a reverberation, an increase in the amplitudes of certain frequency ranges, etc.
  • a key with the (four) different velocities is then pressed in the second pitch range, the basic sound data recorded thereby being stored under the addresses 04, 44, 84 and C4.
  • the first line of the matrix of FIG. 5 with the fields 00, 04, 08, 0C, 40 ... 4C, 80 ... 8C, C0 ... CC is then stored.
  • not all sound data in the fields lying side by side with regard to the different parameters also have to be basic sound data. Rather, intermediate values can also be determined here by interpolation. With regard to parameter 2 of FIG. 5, fields 00, 04, 08 and 0C lie next to one another.
  • parameters No. 2, 3 and 4 determine the start address of a row of fields lying next to each other with regard to the remaining parameter 1.
  • parameter # 1 is the "time”. It thus determines the sound character of a sound that changes dynamically over time with parameters 2, 3 and 4 initially recorded in the mind.
  • the fields 00, 01, 02, 03 or 08, 09 then become one after the other , 0A, 0B etc. filled with corresponding sound data.
  • the four larger blocks are then assigned the start addresses 00, 40, 80 and CD, with parameter 3 or the controller in its first position.
  • the same process can then be repeated with other controller settings, it being up to the user what function he assigns to parameter 3 or the controller.
  • another instrument can be recorded in the second controller position, parameters 1, 2 and 4 being varied accordingly.
  • artificial sounds can be generated and stored using the keypad 7 and the screen 5.
  • the waveform memory is then read out using the keyboard.
  • This reports (for example, by very quick, cyclical polling of the switching status of the switches assigned to the individual buttons), which button is pressed and the speed at which this was done. This can be measured, for example, by switching contacts being actuated sequentially when the button is pressed, the time between the successive actuation of the switching contacts being measured and as a measure of the stop strength serves.
  • the parameters No. 2 and No. 4 (according to FIG. 5) are thus defined.
  • the other two parameters can be preselected using the keypad 7 or switches, levers etc. attached to the keyboard 9. With the definition of the parameters, it is then also clearly defined which sound data stored in the waveform memory 14 are to be read out.
  • the pitch or frequency is determined by the readout speed, that is by the clock frequency with which the data stored in the memory are read out.
  • Each key is assigned its own readout frequency or clock frequency.
  • the counter 11 can be used as a frequency divider which, depending on the key pressed on the keyboard 9, reduces the (constant) clock frequency generated by the clock generator 12 and with this clock frequency the driver 10 for reading out the sound data from the waveform memory 14 controls.
  • the sound data read out from the waveform memory 14 passes via the data latch 17, which serves as a buffer memory, to the digital / analog converter 18, where they are converted into analog signals and through a low-pass filter built into the digital / analog converter 18 be filtered or smoothed. From there they reach the loudspeaker 20 via the amplifier 19.
  • the "curve” described above, which controls the reading and - more abstractly - determines the "time” parameter, is preferably stored in RAM 3. It is also possible to store them in the waveform memory 14, but then additional memory areas not shown in FIG. 5 must then be provided and either ensured by additional measures It must be ensured that several memory areas can be read out simultaneously or the memory areas provided for the "time" parameter, which ultimately contain addresses for reading out the waveform curves, can be read out and buffered.
  • the individual stored sound data and sound parameters are arranged hierarchically for input and output.
  • the highest hierarchical level are the sound parameters, for example for velocity, pitch or control position. It assigns a parameter to certain addresses of sound data.
  • the X-axis can represent the respective parameter and the Y-axis the associated addresses of sound data.
  • this "curve” for reading out the sound data.
  • this "curve” also defines the memory address under which the individual basic sound data are stored and thus also the size of the gaps between two basic sound data and finally the length of a waveform set or one Sound data set.
  • the X axis corresponds to time and the Y axis corresponds to the address of the individual sound data.
  • Such a curve can have a length of 256 words, for example, which then corresponds to 256 memory addresses.
  • the sound data is then stored in the third (lowest) hierarchy level.
  • the interpolation or extrapolation cannot only be carried out between the basic sound data. Rather, it is also possible to interpolate or extrapolate with regard to the sound parameters. In particular with the sound parameter "velocity", the interpolation will be carried out according to an exponential function.
  • the musical instrument described so far has the following advantages: - Complex, differentiated sound generation taking into account any parameters; - Parameter assignment and sound generation are not bound to a fixed algorithm, therefore complex natural sounds can also be generated; -
  • the individual waveforms can be any direct recordings (digitization of the sound pressure curve) of natural instruments.
  • the invention thus forms a bridge between the pure sampling instruments and the pure spectral synthesis instruments; -
  • the described interpolation and extrapolation enables variable data reduction of the stored sound data and the stored sound parameters.
  • the amount of memory space can be reduced and the access speed increased for some types of memory.
  • the device remains simple to operate.
  • FIG. 6 shows a more detailed block diagram of the embodiment of the invention according to Fig. 1.
  • the same reference numerals as in Fig. 1 designate the same parts.
  • the embodiment of FIG. 6 differs from FIG. 1 only in the addition of bus drivers and registers and in the specification of specific, commercially available components for realizing the invention.
  • the interpolator 15 represents a computer subsystem with an independent microcomputer with CPU, ROM and RAM, which is described, for example, in the applicant's US patent 4,348,929.
  • the interpolator 15 is connected to the system bus 25, 26 via bus drivers 31 and 32.
  • the bus driver 31 works unidirectionally and is responsible for the addresses, while the bus driver 32 works bidirectionally and provides for the data transmission.
  • the drivers are controlled by the CPU 1 via D registers 36, 37. Its input “G” switches the driver output to its low-resistance state, the input "DIR” controls the direction of data transmission; it is connected to the "R / W" (Read / Write) control line of CPU 1. Control is also carried out in conjunction with the D registers.
  • the CPU 1 (Fig. 1) transfers an 8-bit data word to the D register.
  • the corresponding control signals are activated according to the state (set or reset) of the bits (D0 ... 7 that control the flip-flops Q0 ... 7).
  • An address decoder 38 initiates access to the interpolator 15.
  • the signal on the control line R / W specifies the data direction. Since the data driver may only be activated briefly during a CPU bus cycle, its "G" line is controlled by the address decoder.
  • the data and address lines from the interpolator 15 are also connected to the local RAM bus 27, 28 via second drivers 33 and 34. Here, too, control is again via D registers of type 74 LS 374 (D register 37).
  • the Fourier transformer 16 is also connected to the system bus 25, 26 via bus drivers 41 and 42 and to the RAM 14 via bus drivers 39 and 40.
  • the Fourier transformer likewise constitutes a computer subsystem in the form of an independent microcomputer A circuit board of the type MOS FFT from MEDAV, D-8520 Buckenhof can be used for this purpose, for example.
  • the programmable counter 11 has only address outputs A0 ... 23. It is programmed by CPU 1 via bus 26 (inputs D0 ... 7), whereby its internal registers are addressed via A0 ... 5.
  • the frequency divider output "Prescaler Output” hosts a sound output of the waveforms from the RAM 14 to the D register 17 in synchronism with the pitch.
  • Control input is CLK input in both cases. If the signal at input OC is low, the register outputs are activated.
  • the CPU 1 (FIG. 1) has direct access to the RAM 14 via the drivers 35 and 10.
  • the embodiment of FIG. 2 is similar to that of FIG. 1 in the structure of the block diagram. However, the following differences exist:
  • the waveform memory 14 is here a dual-port RAM which contains both the sound parameters and individual sound data. In this case, only the basic sound data are stored for the sound data, while the interpolation or extrapolation is carried out during sound reproduction and thus virtually in "real time".
  • the RAM 14 of FIG. 2 therefore no longer contains interpolated or extrapolated values.
  • the interpolation or extrapolation is carried out by signal processors 31 and 32 which are connected to the RAM 14 via lines 29 and 30 and which are also connected to the lines 25 and 26.
  • One signal processor 31 processes sound data whose spectral properties change with the pitch.
  • the other signal processor 32 processes all those sound data that do not change with the pitch (e.g. blowing noises, resonances, etc.). Both signal processors 31 and 32 each contain a digital / analog converter, which converts the digitally processed signals into analog signals. The analog outputs of the signal processors 31 and 32 are fed to an analog adder 33, which contains a low-pass filter on the output side. From there they reach the loudspeaker 20 via the power amplifier 19.
  • counter 11 in the example of FIG. 2 is a programmable up / down counter and that drivers 10 and 21 are tristate drivers, respectively.
  • the other components of FIG. 2 correspond to those of FIG. 1 the following differences in the embodiment of FIG. 2.
  • the matrix structure of the RAM 14 shown in FIG. 5 is implemented in two ways. One part contains the waveforms that represent the spectral components that change with pitch. The other part contains the curves of the spectral components, which are independent of the pitch.
  • a curve is read from the first part at the speed corresponding to the respective pitch.
  • a curve is read out from the second part with a pitch that is independent of the pitch or at least different than the speed of part 1, in which case both signals are added.
  • the RAM 14 is designed here as a dual-port RAM is therefore that the reading from the two memory parts takes place simultaneously.
  • the main reason for choosing the dual-port RAM is, however, that the CPU 1 with the memories 2 and 3 have access to one port and the signal processors 31 and 32 have access to the other port.
  • Parameter values and status information of the keypad 7 and the keyboard 9 can be input and output via the one port, sound data also running via this port during the sound input (e.g. recording). The sound data then runs to the signal processors 31 and 32 via the other port during playback.
  • the sound waves generated by the instrument are sampled and digitized, with at least two recordings having to be made here, namely one in the low and one in the high instrument sound range.
  • the signal processors then carry out a Fourier transformation for both wave trains with subsequent amount formation. This is followed by a comparison of the two spectra magnitude values. For this purpose, the minimum spectral distance is determined, for example. H. the smallest distance to be observed between two spectral lines according to the resolving power. Then the two absolute values of the spectra are subtracted from each other. The tone-dependent difference is assigned to the first memory section; the rest of the second part of the memory. After a Fourier inverse transformation of the spectral components assumed to be in phase, for example, two sets of waveforms are then available.
  • the readout speed of part 1 is not proportional to part 2 during playback, rather the readout speed for part 2 can even change, the sound image of the instrument can be distorted will.

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Electrophonic Musical Instruments (AREA)
  • Organic Low-Molecular-Weight Compounds And Preparation Thereof (AREA)

Abstract

Das elektronische Musikinstrument enthält einen Speicher (14), der in mehreren einzeln adressierbaren Speicher­bereichen Abtastwerte von Wellenformen enthält. Ein Interpolator (15) kann in Echtzeit während des Auslesens oder beim Einspeichern Zwischenwerte zwischen benach­barten Basis-Klangdaten ermitteln. Das Auslesen der einzelnen Klangdaten erfolgt in Abhängigkeit von Klang­parametern. In Abhängigkeit von diesen Klangparametern wird die Reihenfolge der einzelnen auszulesenden Klang­daten bestimmt (Fig. 1).

Description

  • Die Erfindung bezieht sich auf ein elektronisches Musik­instrument gemäß dem Oberbegriff des Patentanspruches 1. Ein solches Musikinstrument ist aus der DE-PS 29 26 548 bekannt. Dort ist ein Wellenform-Generator zur Klang­formung in einem elektronischen Musikinstrument be­schrieben, der ein dynamisches Überblenden von einem gespeicherten Klang zu einem anderen gespeicherten Klang ermöglicht. Weitere elektronische Musikinstrumente sind in dem in der DE-PS 29 26 548 gewürdigten Stand der Technik beschrieben, nämlich der DE-AS 22 37 594, DE-OS 28 30 483, DE-OS 28 30 482 und US-PS 38 59 884.
  • Die US-PS 4 164 020 beschreibt einen programmierbaren Klangsynthesizer, der in einem Speicher eine Vielzahl von Klangdaten hält. Das Auslesen des Speichers erfolgt durch einen Adressgenerator, dessen Wiederholfrequenz durch einen Integrierer gesteuert wird. Die Integrier­geschwindigkeit ist ihrerseits durch eine "Tonzahl" bestimmt. Bei der Eingabe von Klangdaten können mehrere Klangparameter, wie Frequenz, Wellenform, Einhüllende, Anschlagstärke, Ausklingen usw. eingegeben werden. Diese Klangparameter sind allerdings dort unveränderbarer Bestandteil der gespeicherten Klangdaten. Das Auslesen der Klangdaten erfolgt dann zyklisch in der numerischen Reihenfolge der Adressen der eingegebenen Klangdaten. Damit können kurz zusammengefaßt nur vorher fest pro­grammierte Tonfolgen mit frei programmierbarem, beim Abspielen jedoch nicht mehr änderbaren Klangcharakter eingegeben werden, so daß man im engeren Sinne nicht von einem Musikinstrument sprechen kann, sondern in Anleh­nung an eine Schallplatte nur von einer "Tonkonserve".
  • Aufgabe der Erfindung ist es, des elektronische Musik­instrument der eingangs genannten Art dahingehend zu verbessern, daß es absolut frei programmierbar ist und damit beliebige Klänge, die auch während des Spielens des Instrumentes verändert werden können, produziert.
  • Diese Aufgabe wird durch die im kennzeichnenden Teil des Patentanspruches 1 angegebenen Merkmale gelöst. Vorteil­hafte Ausgestaltungen und Weiterbildungen der Erfindung sind den Unteransprüchen zu entnehmen.
  • Der Grundgedanke der Erfindung liegt also darin, gewisse Basis-Klangdaten zu speichern und dabei die Speicher­adressen frei wählbaren Klangparametern zuzuordnen. Die Klangparameter wie z. B. Anschlagstärke, Zeitdauer des Drückens einer Taste, Stellung eines Reglers etc. be­stimmen also die jeweils auszulesende Speicheradresse bzw. die Reihenfolge der auszulesenden Speicheradressen.
  • Damit erhält man eine ungeheuere Vielzahl von Klangmög­lichkeiten, angefangen von allen möglichen Naturinstru­menten bis hin zu "synthetischen" Klängen.
  • Die Eingabe der Basis-Klangdaten kann "synthetisch" erfolgen, d. h. über ein Tastenfeld unter Zuhilfenahme eines Bildschirmes, womit sich auch beliebige Kunst­klänge erzeugen lassen; sie kann aber auch über ein Mikrophon erfolgen, so daß das Musikinstrument nach der Erfindung die Brücke zwischen den reinen Synthesizern und den reinen Sampling-Geräten schlägt.
  • Nach einer Variante der Erfindung ist es auch möglich, ein Musikinstrument mit mehreren Stimmen zu schaffen.
  • Im folgenden wird die Erfindung anhand von Ausführungs­beispielen im Zusammenhang mit der Zeichnung ausführ­licher erläutert. Es zeigt:
    • Fig. 1 Ein Blockschaltbild eines ersten Ausführungs­beispieles des Musikinstrumentes nach der Er­findung;
    • Fig. 2 ein ähnliches Blockschaltbild eines zweiten Ausführungsbeispieles der Erfindung;
    • Fig. 3 ein Diagramm einer Wellenform zur Erläuterung der Arbeitsweise der Erfindung;
    • Fig. 4 ein Diagramm zur Erläuterung der Speicher­organisation eines Speicherbereiches des bei der Erfindung verwendeten Wellenform- oder Klangdatenspeichers;
    • Fig. 5 eine Prinzipskizze zur Erläuterung der Speicherorganisation des gesamten Wellenform- oder Klangdatenspeichers, der bei der Erfin­dung verwendet wird; und
    • Fig. 6 ein detailierteres Blockschaltbild des ersten Ausführungsbeispieles (Fig. 1).
  • Zunächst seien einige öfters verwendete Begriffe klar­gestellt.
  • Klang: Hier wird der zeitliche Verlauf (ggf. auch der Spektralverlauf) von Amplituden von Schall­wellen verstanden.
  • Basis-Wellenform:
  • Zeitlicher Verlauf eines elektrischen Signales, das einem Klang entspricht, wobei hier nur z. B. per Mikrophon) aufgenommene oder (per Tastenfeld und Bildschirm) synthetisch erzeugte zeitliche Verläufe der Amplituden eines Klanges verstanden werden.
  • Wellenform:
  • Gesamtheit der Basis-Wellenformen und von aus mindestens zwei Basis-Wellenformen inter­polierte oder extrapolierte zeitliche Verläufe der Amplituden von Klängen.
  • Basis-Klangdaten:
  • Digitalisierte Basis-Wellenformen (z. B. 256 Worte à 8 Bit für eine Basis-Wellenform) Es werden also aus einer Basis-Wellenform mehrere Abtastwerte genommen und digitalisiert.
  • Klangdaten:
  • Digitalisierte Wellenform.
  • Klangparameter:
  • Einflußgrößen, die einen Klang verändern, wie z. B.
    • a) "Zeit": Der Parameter "Zeit" bestimmt, in welcher zeitlichen Aufeinanderfolge die verschiedenen Klangdaten hintereinander ausgelesen werden;
    • b) "Anschlagstärke": Die meisten Klänge von Naturinstrumenten ändern mit ihrer Laut­stärke nicht nur die Amplituden der Schallwellen sondern auch deren zeit­lichen Verlauf, beispielsweise durch Änderung des Oberwellengehaltes, durch Änderung der Amplitudenanteile von nicht-harmonischen Wellen, oder durch Resonanzerscheinungen etc.
    • c) "Tonhöhe": Der Parameter "Tonhöhe" ändert ebenfalls nicht nur den Frequenzverlauf eines Klanges im Sinne einer reinen Frequenzverschie­bung sondern auch den Klang als solchen, da bei den meisten Natur­instrumenten in Abhängigkeit von der Tonhöhe unterschiedliche Oberwellen, Resonanzen etc. auftreten.
  • Es sei jetzt auf Fig. 1 Bezug genommen. Das Musikinstru­ment besitzt eine Zentraleinheit (CPU) 1, einen Nur-­Lese-Speicher (ROM) 2, einen Speicher mit wahlfreiem Zugriff (RAM) 3, wobei diese drei Baugruppen im wesent­lichen die Ablaufsteuerung übernehmen. Diese Bauteile sind über Leitungen 25 und 26 miteinander und mit weiteren Bauteilen verbunden, wobei eine Leitung 25 den Systemdatenbus und die andere Leitung 26 den Adressbus darstellt. An diese beiden Leitungen ist über eine Bild­schirmschnittstelle (Interface) 4 ein Bildschirm 5 angeschlossen, über eine weitere Schnittstelle (Inter­face) 6 ein Tastenfeld (Keyboard) 7 und über eine weitere Schnittstelle 8 eine Klaviatur 9.
  • Beide Leitungen 25 und 26 sind weiterhin an Eingänge eines Zählers 11 angeschlossen, der Impulse von einem Taktgenerator 12 erhält. Der Ausgang des Zählers 11 ist über einen Adressbustreiber 13 mit einem Wellenform-­Speicher 14 verbunden. Der Speicher 14 ist ebenfalls ein Speicher mit wahlfreiem Zugriff (RAM). Weiterhin ist an beide Leitungen 25 und 26 ein Interpolator 15 und ein Fourier-Transformator 16 angeschlossen. Bei letzterem handelt es sich um einen im Handel erhältlichen Bau­stein, der eine Fourier-Transformation seiner Eingangs­signale durchführt. Die Bausteine 15 und 16 sind mit ihren Ausgängen ebenfalls an den Wellenform-Speicher 14 angeschlossen und zwar über Leitungen 27 und 28, wobei die Leitung 27 den Wellenformspeicher-Datenbus und die Leitung 28 den Wellenformspeicher-Adressbus bildet. Zwischen die Leitungen 27 und 25 ist noch eine Treiber­schaltung 10 eingeschaltet. An die Leitung 27 ist eine Reihenschaltung aus einem Daten-Latch 17, einem Digital/­Analog-Wandler 18, der ausgangsseitig auch einen Tiefpaß enthält, einem Verstärker 19 und einem Lautsprecher oder Kopfhörer 20 angeschlossen. Weiterhin ist an die Leitung 27 eine Reihenschaltung aus einem Mikrophon 24, einem Vorverstärker 23, einem Analog/Digital-Wandler 22 mit vor­geschaltetem Antialiasing-Tiefpass und einem Treiber 21 angeschlossen.
  • Unter Bezugnahme auf Fig. 1 wird zunächst die Aufnahme bzw. Einspeicherung von Klängen oder Wellenformen be­schrieben. Unter Steuerung über das Tastenfeld 7, das auch einen sog. Joystick, eine "Maus" oder einen Lichtgriffel enthalten kann, erzeugt der Benutzer in einem Eingabe­schritt auf dem Bildschirm beliebige Wellenformen, die hier "Basis-Wellenformen" sind. Ein Beispiel einer solchen Wellenform ist in Fig. 3 gezeigt. Die Y-Achse ist bei diesem ersten Eingabeschritt die Amplitude des Klanges, während die X-Achse wahlweise die Zeit oder die Frequenz ist. Es kann also entweder der Zeitverlauf eines Signales oder der Spektralverlauf angegeben werden. Nach einer ggf. noch durch zuführenden Analog/­Digital-Wandlung wird im Falle der Eingabe des Zeit­verlaufes diese erste Wellenform in dem Wellenform-­Speicher 14 abgespeichert und zwar in einem ersten Speicherbereich ab der Adresse $0000 gemäß Fig. 4. In entsprechender Weise werden dann weitere Basis-Klang­daten erzeugt, die in weiteren Speicherbereichen - in Fig. 4 die Speicherbereiche $1000, $2000, $3000 ... bezeichnet sind - eingespeichert werden.
  • Falls die Basis-Wellenformen im Spektralbereich einge­geben werden (X-Achse der Fig. 3 bezeichnet also die Frequenz), so erfolgt die Einspeicherung nicht direkt sondern über den Fourier-Transformator 16, der die im Spektralbereich eingegebenen Daten zunächst in den Zeitbereich transformiert.
  • Alle einzelnen eingegebenen Basis-Klangdaten haben dabei eine konstante Wortlänge im Wellenform-Speicher 14, beispielsweise 256 Worte à 8 Bit pro Wellenform.
  • Zwischen den Speicherbereichen für die einzelnen Basis-­Klangdaten sind dann noch freie Zwischenräume, in Fig. 4 beispielsweise zwischen den Adressen $0100 und $1000 usw. Unter Steuerung durch die CPU 1 werden diese Zwischenräume dann mit aus mindestens zwei benachbarten Basis-Klangdaten interpolierten oder extrapolierten Werten von Klangdaten aufgefüllt. Hierzu wird der Interpolator 15 verwendet, der zwischen den jeweils benachbarten Basis-Klangdaten Interpolationswerte errechnet. Hierbei kann eine lineare Interpolation verwendet werden. Es können aber auch andere Inter­polationen durchgeführt werden, beispielsweise gemäß einer e-Funktion, die den in der Natur vorkommenden Änderungen von Klängen besser entspricht.
  • Im Ergebnis erhält man mit dieser Interpolation oder Extrapolation fließende bzw. dynamische Übergänge von einer eingegebenen Basis-Wellenform zur nächsten ein­gegebenen Basis-Wellenform. Damit wird ein "dynamisches" Überblenden von einem Klang zu einem anderen Klang möglich.
  • Anstelle der Wellenform-Eingabe über das Tastenfeld 7 und den Bildschirm 5 ist es auch möglich, Klänge über das Mikrophon 24 aufzunehmen, die dann über den Analog/­Digital-Wandler 22 digitalisiert werden (sog. Sampling) und dann in entsprechender Weise im Wellenformspeicher 14 abgespeichert werden. Nach dem Abtasttheorem benötigt man pro Periode der höchsten vorkommenden Frequenz min­destens zwei Abtastwerte. Je nach Qualität des bei der Wiedergabe verwendeten Tiefpaßfilters wird man jedoch auch mehr Abtastwerte nehmen. Auch zwischen zwei solchen benachbarten Klängen bzw. Basis-Klangdaten kann dann in gleicher Weise interpoliert werden.
  • In einem anderen Eingabeschritt wird über das Tastenfeld 7 und den Bildschirm 5 eine weiterer "Kurve" erzeugt, die den Klangparameter "Zeit" darstellt und die im Ergebnis festlegt, in welcher Ablauffolge die einzelnen Speicher­bereiche ausgelesen werden. Auch hier sind generell alle Kurvenformen möglich. Die eine Achse (z.B. Y-Achse) bezeichnet dabei im Prinzip die Speicheradresse von auszulesenden Klangdaten, während die andere Achse (X-Achse) den Zeitpunkt festlegt, zu dem die bezeich­neten Klangdaten ausgelesen werden sollen. Gibt man beispielsweise eine ansteigende Gerade ein, so werden die hintereinander abgespeicherten Klangdaten mit aufsteigender Adressnummer unmittelbar aufeinander­folgend ausgelesen. Man erhält dann bei einem Auslese­zyklus ein sich kontinuierlich, d.h. dynamisch änderndes Klangbild zwischen mindestens zwei eingegebenen Basis-­Klangdaten. Natürlich kann ein Auslesezyklus sich auch über mehr als zwei Basis-Klangdaten und die dazwischen­liegenden Interpolationswerte oder die außerhalb des Bereiches zwischen zwei benachbarten Basis- Klangdaten liegenden Extrapolationswerte erstrecken. Gibt man dagegen beispielsweise eine horizontale Linie ein, so wird nur ein Klangdatum (mit beispielsweise 256 Worten bzw. "Abtastwerten") ausgelesen, jedoch mehrfach hinter­einander. Gibt man eine Dreieckskurve ein, so werden aufeinanderfolgend Klangdaten mit aufsteigender Adress­nummer und anschließend mit absteigender Adressnummer ausgegeben. Ist dagegen die Kurve sehr steil, so werden - je nach Steilheit - einzelne Adressen beim Auslesen übersprungen. Natürlich können auch nicht- lineare Funktionen als Kurve für das Auslesen eingegeben werden.
  • In einem anderen Eingabeschritt, der in der zeitlichen Reihenfolge normalerweise der erste Eingabeschritt ist, wird mindestens ein weiterer Klangparameter festgelegt. Parameter können - wie oben erwähnt- die Anschlagstärke der Taste der Klaviatur sein, die Tonhöhe eines Tones oder eine sonstige Stellung eines Reglers. Der Wahl dieser Parameter liegt die Kenntnis zugrunde, daß sich bei vielen Natur-Musikinstrumenten mit ändernder Laut­stärke nicht nur die Amplitude des erzeugten Klanges ändert sondern auch der Klangcharakter. Gleiches gilt auch entsprechend für die Tonhöhe, bei der sich bei vielen Instrumenten nicht nur die Frequenz der erzeugten Töne ändert sondern ebenfalls der Klangcharakter. Dies ist beispielsweise dadurch zu erklären, daß der Körper vieler Instrumente gewisse Eigenresonanzen hat oder auch bei verschiedenen Tonhöhen und/oder Lautstärken be­stimmte nicht-harmonische Schwingungen erzeugt.
  • Auch diese Klangparameter können über das Tastenfeld 7 in Zusammenwirken mit dem Bildschirm 5 eingegeben werden, wobei auch hier nicht-lineare Funktionen eingegeben werden können, wie beispielsweise eine Funktion zweiter Ordnung, eine logarithmische Funktion oder eine E-Funktion usw. Die Y-Achse kann dabei die "Parameterfunktion" abbilden, während die X-Achse den Parameter selbst abbildet. Wie aus der nachfolgenden Beschreibung noch deutlicher wird, bestimmt die "Para­meterfunktion" die Adresse der auszulesenden Klangdaten. Beim zweiten Ausführungsbeispiel bestimmt sie auch diejenigen Klangdaten, zwischen denen interpoliert werden soll und die Interpolationsschrittweite.
  • Der genannte Wellenform-Speicher 14 ist - wie in Fig. 5 gezeigt - wie folgt organisiert. Jedes der einzelnen, links oben in Fig. 5 gezeigten Felder (hier mit den Adressen 00 bis 0F) enthält eine Basis-Wellenform als Basis-Klangdatum entsprechend Fig. 3, also beispiels­weise je 256 Worte. Je eine Spalte mit den Feldern 00, 01, 02, 03 bzw. 04, 05, 06, 07 bzw. 08, 09, 0A, 0B bzw. 010, 0D, 0E, 0F enthält dann einen "Wellenform-Satz" entsprechend der in Zusammenhang mit Fig. 4 erläuterten Abspeicherung. Ein "Wellenform-Satz" bezeichnet dabei eine Vielzahl von zusammengehörigen Wellenformen, die bei einem normalen Auslesezyklus vollständig ausgelesen werden. Wie oben erläutert gibt es jedoch auch Formen des Auslesens, bei denen nicht alle Klangdaten eines Wellenform-Satzes ausgelesen werden. In diesem Zusammen­hang bezeichnet dann der Parameter 1 in weiterem Sinne die "Zeit", zu der die einzelnen Felder ausgelesen werden. Über die Verstellung des Parameters 2 wird dann die jeweilige Spalte eingestellt, also beispielsweise die Spalte mit den Feldern 04, 05, 06 und 07. Mit dem Parameter 3 wird in einen weiteren "Block" gesprungen, der die 16 Felder 10 bis 1F; 20 bis 2F usw. enthält. Dieser Parameter 3 kann beispielsweise die Anschlag­stärke der einzelnen Taste der Klaviatur bezeichnen. Über den Parameter 4 wird beispielsweise die Stellung eines Handreglers bestimmt. Mit diesem Handregler können beispielsweise verschiedene Instrumente (z. B. Geige, Klavier, Flöte etc.) gewählt werden oder sonstige Klangeffekte eingestellt werden.
  • Im Prinzip verwirklicht die in Fig. 5 dargestellte Speicherorganisation ein vierdimensionales Datenfeld. Allgemein kann mit dieser Speicher-Organisation auch ein n-dimensionales Datenfeld geschaffen werden, was ins­besondere dann sinnvoll ist, wenn man noch mehr Klang­parameter einführen will, beispielsweise ein Tremolo, ein Echo oder einen Nachhall, eine Anhebung der Ampli­tuden bestimmter Frequenzbereiche usw.
  • Zur Verdeutlichung sei bei dem Ausführungsbeispiel der Fig. 5 angenommen, die Aufnahme der Klänge erfolge über das Mikrophon, wobei ein Klavier aufgenommen wird. Für den Parameter "Tonhöhe" werden mehrere (im Beispiel vier) Tonhöhenbereiche festgelegt. Es wird dann mit einer ersten Anschlagstärke eine Taste im ersten Ton­höhenbereich gedrückt, die dabei entstehenden Schall­ wellen abgetastet und digitalisiert und unter der Speicheradresse 00 abgespeichert. Sodann wird dieselbe Taste mit einer anderen Anschlagstärke gedrückt und der digitalisierte Klang unter der Speicheradresse 40 gespeichert. Gleiches geschieht dann mit weiteren Anschlagstärken für die Speicheradressen 80 and C0.
  • Sodann wird im zweiten Tonhöhenbereich eine Taste mit den (vier) verschiedenen Anschlagstärken gedrückt, wobei die dabei aufgenommen Basis-Klangdaten unter den Adressen 04, 44, 84 und C4 abgespeichert werden. Damit ist dann die erste Zeile der Matrix der Fig. 5 mit den Feldern 00, 04, 08, 0C, 40 ... 4C, 80 ... 8C, C0 ... CC abgespeichert. Nach einer anderen Variante der Erfindung müssen nicht alle Klangdaten in den hinsichtlich der verschiedenen Parameter nebeneinander liegenden Feldern auch Basis-Klangdaten sein. Vielmehr können auch hier Zwischenwerte durch Interpolation ermittelt werden. Hin­sichtlich des Parameters 2 der Fig. 5 liegen die Felder 00, 04, 08 und 0C nebeneinander. Es würde also bei­spielsweise genügen, in die Felder 00 und 0C Basis-Klang­daten einzuspeichern, während die Klangdaten für die dazwischen liegenden Felder 04 und 08 durch Interpolation ermittelt werden können. Hinsichtlich des Parameters 3 der Fig. 5 liegen die Felder 00, 10, 20 und 30 nebenein­ander und hinsichtlich des Parameters 4, beispielsweise die Felder 00, 40, 80 und C0. Auch hier kann im Prinzip zwischen diesen "benachbarten" Feldern interpoliert werden. Hier sei noch betont, daß der Speicher 14 in der Praxis natürlich mehr Felder hat als die in Fig. 5 gezeigten 256 Felder.
  • Während der Aufnahme von Naturklängen bestimmen die Parameter Nr. 2, 3 und 4 die Anfangsadresse einer Reihe von hinsichtlich des verbleibenden Parameters 1 neben­einander liegenden Feldern. Wie weiter unten beschrieben wird, ist der Parameter Nr. 1 die "Zeit". Er bestimmt also den sich mit der Zeit dynamisch verändernden Klang­charakter eines Klanges bei gedanklich zunächst festge­haltenen Parametern 2, 3 und 4. Während der Aufnahme eines vollständigen, sich dynamisch entwickelnden Klanges werden dann nacheinander die Felder 00, 01, 02, 03 oder 08, 09, 0A, 0B usw. mit entsprechenden Klang­daten gefüllt.
  • Nach obigen Schritten sind dann die vier größeren Blöcke mit den Anfangsadressen 00, 40, 80 und CD belegt, wobei der Parameter 3 bzw. der Regler in seiner ersten Stel­lung stand. Der gleiche Vorgang kann dann mit anderen Reglerstellungen wiederholt werden, wobei es im Belieben des Benutzers steht, welche Funktion er dem Parameter 3 bzw. dem Regler zuweist. Beispielsweise kann in der zweiten Reglerstellung ein anderes Instrument aufgenom­men werden, wobei die Parameter 1, 2 und 4 in entsprechen­der Weise variiert werden. Es können in gleicher Weise künstliche Klänge mittels Tastenfeld 7 und Bildschirm 5 erzeugt und abgespeichert werden.
  • Das Auslesen des Wellenform-Speichers erfolgt dann über die Klaviatur. Diese meldet (beispielsweise durch sehr schnelles, zyklisches Abfragen des Schaltzustandes von den einzelnen Tasten zugeordneten Schaltern), welche Taste gedrückt ist und mit welcher Anschlagstärke dies erfolgte. Dies kann beispielsweise dadurch gemessen werden, daß beim Drücken der Taste sequentiell nach­einander Schaltkontakte betätigt werden, wobei die Zeit zwischen dem aufeinanderfolgenden Betätigen der Schalt­kontakte gemessen wird und als Maß für die Anschlag­ stärke dient. Die Parameter Nr. 2 und Nr. 4 (gemäß Fig. 5) sind damit festgelegt. Die beiden anderen Parameter können über das Tastenfeld 7 oder an der Klaviatur 9 angebrachte Schalter, Hebel etc. vorgewählt werden. Mit der Festlegung der Parameter ist dann auch eindeutig festgelegt, welche im Wellenform-Speicher 14 gespeicherten Klangdaten ausgelesen werden sollen. Es kann sich um ein einzelnes Klangdatum oder mehrere Klangdaten (Wellenformsatz) handeln. Die Tonhöhe bzw. Frequenz wird über die Auslesegeschwindigkeit bestimmt, also durch die Taktfrequenz, mit der die im Speicher gespeicherten Daten ausgelesen werden. Jeder Taste ist eine eigene Auslesefrequenz bzw. Taktfrequenz zugeord­net. Zur Einstellung dieser Taktfrequenz kann der Zähler 11 als Frequenzteiler verwendet werden, der je nach an der Klaviatur 9 gedrückten Taste die vom Taktgenerator 12 erzeugte (konstante) Taktfrequenz herabsetzt und mit dieser Taktfrequenz den Treiber 10 für das Auslesen der Klangdaten aus dem Wellenform-Speicher 14 ansteuert. Die aus dem Wellenform-Speicher 14 ausgelesenen Klangdaten gelangen über das Daten-Latch 17, das als Pufferspeicher dient, zu dem Digital/Analog-Wandler 18, wo sie in analoge Signale umgesetzt werden und durch einen im Digital/Analog-Wandler 18 eingebauten Tiefpaß gefiltert bzw. geglättet werden. Von dort gelangen sie über den Verstärker 19 zu dem Lautsprecher 20.
  • Die oben beschriebene "Kurve", die das Auslesen steuert und - abstrakter gesprochen - den Parameter "Zeit" be­stimmt, wird vorzugsweise im RAM 3 gespeichert. Es ist auch möglich, sie im Wellenform-Speicher 14 zu spei­chern, wobei dann jedoch zusätzliche, in Fig. 5 nicht gezeigte Speicherbereiche vorgesehen sein müssen und durch zusätzliche Maßnahmen entweder sichergestellt werden muß, daß mehrere Speicherbereiche gleichzeitig ausgelesen werden können oder die für den Parameter "Zeit" vorgesehenen Speicherbereiche, die ja letztlich Adressen für das Auslesen der Wellenformkurven bein­halten, ausgelesen und zwischengespeichert werden können.
  • Die einzelnen gespeicherten Klangdaten und Klangpara­meter sind für die Eingabe und die Ausgabe hierarchisch geordnet. Die höchste Hierarchiestufe haben die Klang­parameter, beispielsweise für Anschlagstärke, Tonhöhe oder Reglerstellung. Durch sie wird ein Parameter bestimmten Adressen von Klangdaten zugeordnet. Bei der Eingabe mittels Tastenfeld und Bildschirm kann dabei die X-Achse den jeweiligen Parameter und die Y-Achse die zugehörigen Adressen von Klangdaten repräsentieren.
  • In der zweiten Hierarchiestufe ist die "Kurve" für das Auslesen der Klangdaten. Diese "Kurve" legt auch bei der Eingabe der Basis-Klangdaten fest, unter welcher Spei­cheradresse die einzelnen Basis-Klangdaten gespeichert werden und damit auch, wie groß die Zwischenräume zwischen zwei Basis-Klangdaten sind sowie schließlich die Länge eines Wellenform- Satzes bzw. eines Klang­daten-Satzes. Bei der Eingabe mittels Bildschirm ent­spricht dabei die X-Achse der Zeit und die Y-Achse der Adresse der einzelnen Klangdaten. Eine solche Kurve kann beispielsweise eine Länge von 256 Worten haben, was dann 256 Speicheradressen entspricht.
  • In der dritten (untersten) Hierarchiestufe sind dann die Klangdaten gespeichert.
  • Schließlich sei noch erwähnt, daß die Interpolation oder Extrapolation nicht nur zwischen den Basis- Klangdaten durchgeführt werden kann. Vielmehr ist es auch möglich, bezüglich der Klangparameter zu interpolieren oder zu extrapolieren. Insbesondere bei dem Klangparameter "Anschlagstärke" wird man die Interpolation gemäß einer Exponentialfunktion durchführen.
  • Es ist ersichtlich, daß die einzelnen Parameter voll­kommen unabhängig voneinander sein können, wodurch sich eine enorme Variationsbreite von Klängen realisieren läßt.
  • Mit dem bisher beschriebenen Musikinstrument erreicht man folgende Vorteile:
    - Komplexe, differenzierte Klangerzeugung unter Berücksichtigung beliebiger Parameter;
    - Parameterzuordnung und Klangerzeugung sind an keinen festen Algorithmus gebunden, daher sind auch komplexe Naturklänge erzeugbar;
    - die einzelnen Wellenformen können beliebige Direkt­aufnahmen (Digitalisierung des Schalldruckverlau­fes) von Naturinstrumenten sein. Damit bildet die Erfindung eine Brücke zwischen dem reinen Sampling-­Instrumenten und den reinen Spektralsynthese-­Instrumenten;
    - das beschriebene Interpolieren und Extrapolieren ermöglicht eine variable Datenreduktion der ge­speicherten Klangdaten und der gespeicherten Klangparameter. Je nach Ansprüchen an die Origi­naltreue der wiedergegebenen Klänge läßt sich daher der Aufwand für Speicherplätze reduzieren und damit die Zugriffsgeschwindigkeit bei manchen Speicher­arten erhöhen. Trotz der ernormen angebotenen Vielfalt bleibt die Bedienung des Gerätes über­sichtlich.
  • Fig. 6 zeigt ein detailierteres Blockschaltbild des Ausführungsbeispieles der Erfindung nach Fig. 1. Gleiche Bezugszeichen wie in Fig. 1 bezeichnen gleiche Teile. Das Ausführungsbeispiel der Fig. 6 unterschiedet sich von Fig. 1 lediglich durch die Hinzufügung von Bus­treibern und Registern sowie durch Angabe konkreter, im Handel erhältlicher Bauelemente zur Realisierung der Erfindung.
  • Der Interpolator 15 stellt ein Computer-Subsystem mit eigenständigem Mikrocomputer mit CPU, ROM and RAM dar, das beispielsweise in dem US-Patent 4,348,929 des Anmel­ders beschrieben ist. Der Interpolator 15 ist über Bus­treiber 31 und 32 mit dem System-Bus 25, 26 verbunden. Der Bustreiber 31 arbeitet uni-direktional und ist für die Adressen verantwortlich, während der Bustreiber 32 bi-direktional arbeitet und für die Datenübermittlung sorgt. Die Treiber werden von der CPU 1 über D-Register 36, 37 gesteuert. Ihr Eingang "G" schaltet den Treiber­ausgang in seinen niederohmigen Zustand, der Eingang "DIR" steuert die Richtung der Datenübertragung; er ist mit der Steuerleitung "R/W" (Read/Write) der CPU 1 ver­bunden. Auch die Steuerung erfolgt in Verbindung mit den D-Registern. Die CPU 1 (Fig. 1) überträgt ein 8-Bit-Datenwort zu dem D-Register. Entsprechend dem Zustand (Set oder Reset) der Bits (D0...7, die die Flipflops Q0...7 steuern) werden die entsprechenden Steuersignale aktiviert.
  • Ein Adressdecoder 38 initiiert einen Zugriff auf den Interpolator 15. Das Signal auf der Steuerleitung R/W legt die Datenrichtung fest. Da der Datentreiber nur kurzfristig während eines CPU-Bus-Zykluses aktiviert sein darf, ist seine "G"-Leitung vom Adressdecoder ange­steuert. Die Daten- und Adressleitungen vom Interpolator 15 sind ferner über zweite Treiber 33 und 34 mit dem lokalen RAM-Bus 27, 28 verbunden. Auch hier erfolgt die Steuerung wieder über D-Register des Typs 74 LS 374 (D-Register 37).
  • In entsprechender Weise ist auch der Fourier-Transfor­mator 16 über Bustreiber 41 und 42 mit dem System-Bus 25, 26 verbunden und über Bustreiber 39 und 40 mit dem RAM 14. Der Fourier-Transformator stellt ebenfalls ein Computer-Subsystem in Form eines eigenständigen Mikor­computer dar. Verwendbar ist beispielsweise hierfür eine Platine des Typs MOS FFT der Firma MEDAV, D-8520 Buckenhof.
  • Der programmierbare Zähler 11 hat nur Adressausgängen A0...23. Er wird über den Bus 26 (Eingänge D0...7) von der CPU 1 programmiert, wobei seine internen Register über A0...5 adressiert werden. Der Frequenzteiler-Aus­gang "Prescaler Output" bewirt bei der Tonwiedergabe ein zur Tonhöhe synchrones Ausgeben der Wellenformen vom RAM 14 an das D-Register 17. Beim Aufnehmen über die Teile 22 bis 24 (Fig. 1) werden die Daten zeit­synchron vom D-Register 21 übernommen. Steuereingang ist in beiden Fällen CLK-Eingang. Ist das Signal am Eingang OC auf niedrigem Pegel, so werden die Register­ausgänge aktiviert.
  • Die CPU 1 (Fig. 1) hat über die Treiber 35 und 10 direk­ten Zugang auf das RAM 14.
  • Das Ausführungsbeispiel der Fig. 2 ist in der Struktur des Blockschaltbildes ähnlich dem der Fig. 1. Es sind jedoch folgende Unterschiede vorhanden:
    Der Wellenformspeicher 14 ist hier ein Dual-Port-RAM, das sowohl die Klangparameter als auch einzelne Klang­daten enthält. Hierbei werden für die Klangdaten nur noch die Basis-Klangdaten gespeichert, während die Interpolation oder Extrapolation während der Klang­wiedergabe und damit quasi in "Echtzeit" durchgeführt wird. Das RAM 14 der Fig. 2 enthält somit keine inter­polierten oder extrapolierten Werte mehr. Die Inter­polation oder Extrapolation wird bei diesem Ausfüh­rungsbeispiel durch Signalprozessoren 31 und 32 durch­geführt, die über Leitungen 29 und 30 mit dem RAM 14 verbunden sind und die auch an die Leitungen 25 und 26 angeschlossen sind. Der eine Signalprozessor 31 verar­beitet Klangdaten, deren Spektraleigenschaften sich mit der Tonhöhe ändern. Der andere Signalprozessor 32 verarbei­tet alle diejenigen Klangdaten, die sich nicht mit der Tonhöhe ändern (z. B. Anblasgeräusche, Resonanzen usw.). Beide Signalprozessoren 31 und 32 enthalten jeweils einen Digital/Analog-Wandler, der die digital verarbeite­ten Signale in analoge Signale umsetzt. Die analogen Ausgänge der Signalprozessoren 31 und 32 werden einem Analogaddierer 33 zugeführt, der ausgangsseitig ein Tiefpaßfilter enthält. Von dort gelangen sie über den Leistungsverstärker 19 zum Lautsprecher 20.
  • Als weitere Unterschiede des Ausführungsbeispieles der Fig. 2 sind noch zu erwähnen, daß der Zähler 11 im Beispiel der Fig. 2 ein programmierbarer Aufwärts-/­Abwärtszähler ist und daß die Treiber 10 und 21 jeweils Tristate-Treiber sind. Die übrigen Bauteile der Fig. 2 entsprechen denen der Fig. 1. Wirkungsmäßig ergeben sich beim Ausführungsbeispiel der Fig. 2 folgende Unter­schiede. Die in Fig. 5 gezeigte Matrixstruktur des RAM 14 ist zweifach ausgeführt. Der eine Teil beinhaltet die Wellenformen, die die sich mit der Tonhöhe ändernden Spektralkomponenten repräsentieren. Der andere Teil beinhaltet die Kurvenzüge der Spektralkomponenten, die von der Tonhöhe unabhängig sind.
  • Beim Tonerzeugungsprozeß wird ein Kurvenzug aus dem ersten Teil mit der der jeweiligen Tonhöhe entsprechen­den Geschwindigkeit ausgelesen. Gleichzeitig wird ein Kurvenzug aus dem zweiten Teil mit von der Tonhöhe un­abhängiger oder zumindest anderer als der Geschwindigkeit von Teil 1 ausgelesen, wobei dann beide Signale addiert werden. Ein Grund dafür, daß das RAM 14 hier als Dual-­Port-RAM ausgelegt ist, liegt also darin, daß das Auslesen aus den beiden Speicherteilen gleichzeitig erfolgt. Der Hauptgrund für die Wahl des Dual-Port-RAM liegt allerdings darin, daß die CPU 1 mit den Speichern 2 und 3 Zugriff zu dem einen Port und die Signalprozessoren 31 und 32 Zugriff zu dem anderen Port haben. Über den einen Port können Parameterwerte und Statusinformationen des Tastenfeldes 7 und der Klaviatur 9 ein- und ausgegeben werden, wobei während der Klangeingabe (z.B. Aufnahme) über diesen Port auch Klangdaten laufen. Über den ande­ren Port laufen während der Wiedergabe dann die Klang­daten zu den Signalprozessoren 31 und 32.
  • Bei der Klangeingabe werden diese beiden Signalanteile getrennt eingegeben. Bei "synthetischen" Spektren, die mit dem Tastenfeld 7 in Zusammenwirken mit dem Bildschirm 5 erzeugt werden, werden zwei Eingabesätze erzeugt, näm­lich ein Wellenformsatz für tonhöhenabhängige Spektren und einer für tonhöhenunabhängige Spektren.
  • Bei der Aufnahme über das Mikrophon 24, allgemein auch als "Sampling" bezeichnet, werden die vom Instrument erzeugten Schallwellen abgetastet und digitalisiert, wobei hier mindestens zwei Aufnahmen gemacht werden müssen, nämlich eine im tiefen und eine im hohen Instru­mententonbereich. Für beide Wellenzüge wird dann von den Signalprozessoren eine Fourier-Transformation mit an­schließender Betragsbildung durchgeführt. Danach folgt ein Vergleich der beiden Spektrenbetragswerte. Hierzu wird beispielsweise die minimale Spektraldistanz ermit­telt, d. h. der kleinste zu beachtende Abstand zwischen zwei Spektrallinien entsprechend dem Auflösungsvermögen. Dann werden die beiden Betragswerte der Spektren von­einander subtrahiert. Die tonabhängige Differenz wird dem ersten Speicherteil zugeordnet; der Rest dem zweiten Speicherteil. Nach einer Fourier-Rücktransformation der beispielsweise als gleichphasig angenommenen Spektral­komponenten liegen dann zwei Wellenform-Sätze vor.
  • Für spezielle Effekte können alternativ die Teile 1 und 2 des Speichers auch folgendermaßen unterteilt werden:
    • Teil 1 enthält alle harmonischen Spektralkomponenten (zum Grundton im ganzzahligen Frequenzverhältnis ste­hend);
    • Teil 2 enthält alle nicht-harmonischen Spektralkomponen­ten wie z. B. Anblas-, Streich- oder andere Geräusche, Spektralanteile, die durch Saiten-Torsionsschwingungen hervorgerufen werden etc.
  • Für beide Möglichkeiten gilt:
    Da bei der Wiedergabe die Auslesegeschwindigkeit von Teil 1 nicht proportional zu Teil 2 ist, vielmehr die Auslesegeschwindigkeit für Teil 2 sich sogar ändern kann, kann das Klangbild des Instrumentes verfremdet werden. Die Auslesegeschwindigkeit von Teil 2 kann graphisch eingegeben werden, ähnlich wie bei dem ersten Ausführungsbeispiel. Die Zuordnung auf dem Bildschirm ist dann beispielsweise: X-Achse = Tonhöhe; Y-Achse = Auslesegeschwindigkeit.
  • Mit diesem zweiten Ausführungsbeispiel erhält man eine stärkere Datenreduktion, da keine Interpolationswerte mehr im Speicher abgespeichert werden müssen. Im Speicher 14 wird nämlich nur ein Teil der zur Tonerzeugung be­nötigten Klangdaten (nämlich die Basisklangdaten) bereitgehalten während die für die Tonerzeugung zusätz­lich benötigten Klangdaten während des Spielens mittels Interpolation erzeugt werden.
  • Weiterhin ergeben sich mit dem zweiten Ausführungs­beispiel zusätzlich Effektmöglichkeiten durch unabhän­gige Wahl der Auslesegeschwindigkeit von Teil 1 und Teil 2 des RAM 14. Die Einzelklangfarbe und das Gesamtklang­bild können in Abhängigkeit von der Tonhöhe verändert werden. Durch die graphische Eingabe bleiben trotzdem die Effektmöglichkeiten überschaubar.

Claims (8)

1. Elektronisches Musikinstrument mit einem Speicher (14), der in mehreren einzeln adressierbaren Speicherplätzen Abtastwerte von Wellenformen bzw. Spektralverläufe enthält, mit einer Speicherein­gabe- und -auslese-Einrichtung (1, 2, 3, 11) und mit einem Interpolator (15), der zwischen in verschiedenen Speicherplätzen gespeicherten Basis-­Klangdaten Interpolationswerte ermittelt, dadurch gekennzeichnet, daß die Speicherauslese-Einrichtung (1, 2, 3, 11) in Abhängigkeit von gespeicherten Klangparametern bestimmt, in welcher Reihenfolge die einzelnen Speicherplätze bzw. die in ihnen gespeicherten Klangdaten ausgelesen werden.
2. Musikinstrument nach Anspruch 1, dadurch gekenn­zeichnet, daß die Adressen der im Speicher (14) gespeicherten Klangdaten umkehrbar eindeutig den Klangparametern zugeordnet sind, ggf. auch nach einer nicht-linearen Funktion.
3. Musikinstrument nach Anspruch 2, dadurch gekenn­zeichnet, daß die Adressen der im Speicher (14) gespeicherten Klangdaten eine n-dimensionale Matrix bilden, wobei jede der n-Matrixdimensionen umkehr­bar eindeutig einem einzelnen Klangparameter zuge­ordnet sind, ggf. auch nach einer nicht-linearen Funktion.
4. Musikinstrument nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß die Basis-Klangdaten und die Klangparameter mittels eines Tastenfeldes (7) in Verbindung mit einem Bildschirm (5) eingeb­bar sind, insbesondere auch in Form graphisch abge­bildeter Kurven.
5. Musikinstrument nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß einzelne Speicherplätze des Speichers (14) Klangdaten enthalten, die durch den Interpolator (15) aus mindestens zwei Basis-­Klangdaten ermittelte, interpolierte Klangdaten sind, wobei die Adressen der interpolierten Klang­daten entsprechend den Interpolationsschritten zwischen den Adressen der zur Interpolation verwen­deten Basis-Klangdaten liegen.
6. Musikinstrument nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß der Speicher (14) nur die Basis-Klangdaten enthält und daß der Inter­ polator (15), gesteuert durch die Speicheraus­leseeinheit (1, 2, 3, 11) in Echtzeit die Inter­polationswerte zwischen zwei benachbarten Basis-­Klangdaten ermittelt.
7. Musikinstrument nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, daß der Speicher (14) zwei Teilbereiche aufweist, wobei der eine Teil die von der Frequenz der zu erzeugenden Töne unabhängigen Klangdaten enthält, während der andere Teil die von der Frequenz abhängigen Klangdaten der Töne ent­hält, wobei der Speicher (14) dabei ein Dual-Port-­RAM ist und wobei die aus den beiden Teilbereichen des Speichers ausgelesenen Klangdaten getrennt in Signalprozessoren (31, 32) verarbeitet werden und wobei schließlich die digital/ analog-gewandelten Ausgangssignale der Signalprozessoren (31, 32) in einem Analog-Addierer (33) addiert werden.
8. Musikinstrument nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, daß die Basis-Klangdaten unter Steuerung durch die Speichereingabe-Einrich­tung (1, 2, 3, 11) bei voreingestellten Klang­parametern über ein Mikrophon (24) und einen Analog/Digital-Wandler (22) in den Speicher (14) eingeschrieben werden.
EP87102070A 1986-02-14 1987-02-13 Elektronisches Musikinstrument Expired - Lifetime EP0237798B1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE3604686 1986-02-14
DE19863604686 DE3604686A1 (de) 1986-02-14 1986-02-14 Elektronisches musikinstument

Publications (3)

Publication Number Publication Date
EP0237798A2 true EP0237798A2 (de) 1987-09-23
EP0237798A3 EP0237798A3 (de) 1989-08-30
EP0237798B1 EP0237798B1 (de) 1996-11-06

Family

ID=6294096

Family Applications (1)

Application Number Title Priority Date Filing Date
EP87102070A Expired - Lifetime EP0237798B1 (de) 1986-02-14 1987-02-13 Elektronisches Musikinstrument

Country Status (4)

Country Link
US (1) US5298672A (de)
EP (1) EP0237798B1 (de)
AT (1) ATE145083T1 (de)
DE (2) DE3604686A1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6459460B1 (en) * 1998-04-03 2002-10-01 Nec Corporation Information display window of electronic appliance
WO2001086624A3 (de) * 2000-05-09 2003-05-30 Vienna Symphonic Library Gmbh Anordnung bzw. anlage zum komponieren

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5342990A (en) * 1990-01-05 1994-08-30 E-Mu Systems, Inc. Digital sampling instrument employing cache-memory
US5365467A (en) * 1992-12-25 1994-11-15 Yamaha Corporation Signal processor for providing variable acoustic effect
DE69625756T2 (de) * 1995-08-11 2003-11-20 Sharp Kk Belegverarbeitungsvorrichtung
JP2001075565A (ja) 1999-09-07 2001-03-23 Roland Corp 電子楽器
JP2001125568A (ja) 1999-10-28 2001-05-11 Roland Corp 電子楽器
GB2425526A (en) * 2005-04-27 2006-11-01 Cnh Belgium Nv Bale wrapping apparatus

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3859884A (en) * 1971-12-15 1975-01-14 Dillon Ross Grable Tone generator
JPS53141018A (en) * 1977-05-14 1978-12-08 Sony Corp Electronic musical instrument
US4185531A (en) * 1977-06-24 1980-01-29 Oberheim Electronics, Inc. Music synthesizer programmer
US4164020A (en) * 1978-04-28 1979-08-07 Dynamic Sciences International, Inc. Programmable sound synthesizer
DE2926548C2 (de) * 1979-06-30 1982-02-18 Rainer Josef 8047 Karlsfeld Gallitzendörfer Wellenformgenerator zur Klangformung in einem elektronischen Musikinstrument
US4442745A (en) * 1980-04-28 1984-04-17 Norlin Industries, Inc. Long duration aperiodic musical waveform generator
JPS5796396A (en) * 1980-12-09 1982-06-15 Nippon Musical Instruments Mfg Automatic player
JPS57108895A (en) * 1980-12-25 1982-07-07 Casio Computer Co Ltd Synchro-starting devide in electronic musical instrument
JPS5852598U (ja) * 1981-10-05 1983-04-09 ヤマハ株式会社 電子楽器のプリセツト装置
US4614983A (en) * 1982-08-25 1986-09-30 Casio Computer Co., Ltd. Automatic music playing apparatus
US4444082A (en) * 1982-10-04 1984-04-24 Allen Organ Company Modified transient harmonic interpolator for an electronic musical instrument
JPS59137997A (ja) * 1983-01-28 1984-08-08 カシオ計算機株式会社 波形メモリ読出し方式
JPS6031189A (ja) * 1983-07-30 1985-02-16 カシオ計算機株式会社 楽音発生装置
US4633749A (en) * 1984-01-12 1987-01-06 Nippon Gakki Seizo Kabushiki Kaisha Tone signal generation device for an electronic musical instrument
JPS60256197A (ja) * 1984-05-31 1985-12-17 シャープ株式会社 音響出力装置
JPS6145297A (ja) * 1984-08-09 1986-03-05 カシオ計算機株式会社 電子楽器
JPS6145298A (ja) * 1984-08-09 1986-03-05 カシオ計算機株式会社 電子楽器

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6459460B1 (en) * 1998-04-03 2002-10-01 Nec Corporation Information display window of electronic appliance
WO2001086624A3 (de) * 2000-05-09 2003-05-30 Vienna Symphonic Library Gmbh Anordnung bzw. anlage zum komponieren
US7105734B2 (en) 2000-05-09 2006-09-12 Vienna Symphonic Library Gmbh Array of equipment for composing

Also Published As

Publication number Publication date
DE3604686A1 (de) 1987-08-27
EP0237798A3 (de) 1989-08-30
DE3751941D1 (de) 1996-12-12
EP0237798B1 (de) 1996-11-06
ATE145083T1 (de) 1996-11-15
US5298672A (en) 1994-03-29
DE3604686C2 (de) 1988-09-22

Similar Documents

Publication Publication Date Title
DE2926090C2 (de) Tonerzeugungsverfahren
DE69515742T2 (de) Digitale Bearbeitung von Audio-Mustern
DE3528719C2 (de)
DE3936693C2 (de) Vorrichtung zum Erzeugen digitaler Audiosignale
DE2712226A1 (de) Tongeneratoranordnung, insbesondere fuer ein elektronisches musikinstrument
DE2920298A1 (de) Binaere interpolatorschaltung fuer ein elektronisches musikinstrument
DE3023581C2 (de) Verfahren zur digitalen Hüllkurvensteuerung eines polyphonen Musiksyntheseinstruments und Schaltungsanordnung zur Durchführung des Verfahrens
EP0237798B1 (de) Elektronisches Musikinstrument
DE3417394C2 (de)
DE2643571C2 (de) Elektronisches Musikinstrument
DE69130339T2 (de) Vorrichtung zur Erzeugung einer Ton-Wellenform
DE3303308A1 (de) Stimmsteuereinrichtung
DE69014680T2 (de) Einrichtung zur Stimmensynthese.
DE69632695T2 (de) Verfahren und Vorrichtung zur Musiktonerzeugung
DE69018687T2 (de) Musiksynthesizer.
EP0036074B1 (de) Syntheseschaltung für periodische Signale, insbesondere als Teil eines Musikinstruments
DE3785625T2 (de) Tonerzeugungsvorrichtung mit Wellenformspeicher.
DE3226619C2 (de)
DE3226637C2 (de) Vorrichtung zur Erzeugung eines künstlichen Nachhalls
DE3402673C2 (de) Wellenformdaten-Erzeugungsschaltung
DE69521731T2 (de) Tonsignalerzeuger mit einer Klangeffektfunktion
DE69129507T2 (de) Vorrichtung zur Musiktonerzeugung, wobei Parameter mit hoher Geschwindigkeit geschrieben und gelesen werden können
DE68928414T2 (de) Universelle bedieneinheit für ein elektronisches musikinstrument
DE2808283C2 (de) Elektronisches Musikinstrument
DE3226600A1 (de) Mit einem nachhalltonerzeugungsapparat ausgestattetes elektronisches musikinstrument

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

Kind code of ref document: A2

Designated state(s): AT BE CH DE ES FR GB GR IT LI LU NL SE

RBV Designated contracting states (corrected)

Designated state(s): AT BE CH DE FR GB IT LI NL SE

PUAL Search report despatched

Free format text: ORIGINAL CODE: 0009013

AK Designated contracting states

Kind code of ref document: A3

Designated state(s): AT BE CH DE FR GB IT LI NL SE

17P Request for examination filed

Effective date: 19900215

17Q First examination report despatched

Effective date: 19941014

GRAG Despatch of communication of intention to grant

Free format text: ORIGINAL CODE: EPIDOS AGRA

GRAH Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOS IGRA

GRAH Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOS IGRA

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): AT BE CH DE FR GB IT LI NL SE

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

Ref country code: NL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 19961106

REF Corresponds to:

Ref document number: 145083

Country of ref document: AT

Date of ref document: 19961115

Kind code of ref document: T

REF Corresponds to:

Ref document number: 3751941

Country of ref document: DE

Date of ref document: 19961212

ITF It: translation for a ep patent filed
PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: SE

Effective date: 19970206

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

Ref country code: AT

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 19970213

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

Ref country code: BE

Effective date: 19970228

Ref country code: CH

Effective date: 19970228

Ref country code: LI

Effective date: 19970228

GBT Gb: translation of ep patent filed (gb section 77(6)(a)/1977)

Effective date: 19970211

ET Fr: translation filed
NLV1 Nl: lapsed or annulled due to failure to fulfill the requirements of art. 29p and 29m of the patents act
ET Fr: translation filed

Free format text: CORRECTIONS

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

REG Reference to a national code

Ref country code: CH

Ref legal event code: PL

26N No opposition filed
REG Reference to a national code

Ref country code: GB

Ref legal event code: IF02

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

Ref country code: FR

Payment date: 20050901

Year of fee payment: 19

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

Ref country code: IT

Payment date: 20060228

Year of fee payment: 20

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

Ref country code: GB

Payment date: 20060807

Year of fee payment: 20

REG Reference to a national code

Ref country code: FR

Ref legal event code: ST

Effective date: 20061031

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

Ref country code: GB

Free format text: LAPSE BECAUSE OF EXPIRATION OF PROTECTION

Effective date: 20070212

REG Reference to a national code

Ref country code: GB

Ref legal event code: PE20

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

Ref country code: FR

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20060228

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

Ref country code: DE

Payment date: 20030904

Year of fee payment: 20