DE3249738C2 - - Google Patents
Info
- Publication number
- DE3249738C2 DE3249738C2 DE19823249738 DE3249738A DE3249738C2 DE 3249738 C2 DE3249738 C2 DE 3249738C2 DE 19823249738 DE19823249738 DE 19823249738 DE 3249738 A DE3249738 A DE 3249738A DE 3249738 C2 DE3249738 C2 DE 3249738C2
- Authority
- DE
- Germany
- Prior art keywords
- data
- frequency
- output
- gate
- signal
- 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 - Fee Related
Links
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Instruments in which the tones are synthesised from a data store, e.g. computer organs
- G10H7/002—Instruments in which the tones are synthesised from a data store, e.g. computer organs using a common processing for different operations or calculations, and a set of microinstructions (programme) to control the sequence thereof
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Instruments in which the tones are synthesised from a data store, e.g. computer organs
- G10H7/008—Means for controlling the transition from one tone waveform to another
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Electrophonic Musical Instruments (AREA)
Description
Die Erfindung betrifft eine Tonsignal-Erzeugungsvorrichtung
gemäß dem Oberbegriff des Anspruches 1. Eine derartige
Vorrichtung ist aus der DE-AS 25 18 633 bekannt.
Falls eine Tonsignal-Erzeugungsvorrichtung in Form eines
digitalen Schaltkreises verwendet wird, hat man einen einsatzbereiten
Schaltkreis zur Bestimmung einer Notenfrequenz
zur Hand.
Es sind verschiedene Untersuchungen durchgeführt worden, um
in einer elektronischen Orgel etc. Musikton-Wellenformen
digital zur Verfügung zu haben. Es sind drei verschiedene Methoden zur
Darstellung von Musiktonwellen bekannt:
In einer ersten Art wird ein ROM durch die Ausgabe eines
Adreßzählers adressiert, um das kumulative Addieren eines
vorbestimmten Wertes zu erlauben. In diesem Fall wird die
Höhe des vorbestimmten Wertes, der kumulativ aufsummiert
worden ist, variiert, wenn ein erzeugter Ton durch Frequenzsteuerung
mit einem Vibrato-Effekt etc. versehen wird.
Bei einer derartigen Frequenzsteuerung verändern sich die
Frequenzdaten, das heißt, die Additionsdaten aufgrund der
Anwesenheit der Notenfrequenzen exponentiell, falls der
Vibrato-Effekt über eine ganze Musiktonleiter mit gleicher
Tiefe bereitgestellt werden soll. Entsprechende Datenwörter
sind von Note zu Note unterschiedlich, so daß die Frequenzsteuerung
sehr komplex wird.
Bei der zweiten Art wird der Zyklus, in dem die Daten aus
dem ROM ausgelesen werden, zu einem ganzzahligen Vielfachen
des Ausgabezyklusses eines Referenztaktgebers gemacht. Die
Frequenzsteuerung wird dadurch erreicht, daß die Anzahl
der Takte zum Auslesen eines Zyklusses der Wellenform gesteuert
wird. Da jedoch die Frequenz des erzeugten Tones
ein ganzzahliges Vielfaches des Ausgabezyklus des grundlegenden
Taktgebers ist, würde es schwierig sein, die Frequenz
über eine ganze Tonleiter einheitlich zu steuern, da
beim Bereitstellen eines Vibrato-Effekts auch Halbtöne
oder kleinere Töne auftreten. Folglich würde es schwierig
sein, die Frequenzsteuerung durchzuführen.
Bei der dritten Art werden die Daten aus dem ROM durch
variable Taktgeber ausgelesen und die Frequenzsteuerung
wird durch analoge Steuerung der Frequenz der Auslesetaktgeber
bewerkstelligt. Daher wird für einen solchen Zweck
als Oszillator ein analoger Typ verwendet. Aufgrund der
Verwendung des analogen Oszillators ergibt sich jedoch das
Problem der Frequenzstabilität. Speziell in diesem Fall
kann ein Frequenzerzeugungsbereich in einem Wellenform-
Synthesizer nicht in einem Multiplex-Gatter angeordnet werden,
und es ist nicht möglich, von einem einzigen Wellenform-
Synthesizer einen polyphonen Ton zu erhalten, wodurch
sich ein "Hardware-Problem" ergibt.
Aufgabe der vorliegenden Erfindung ist es daher, eine Tonsignal-
Erzeugungsvorrichtung für ein elektronisches Musikinstrument
gemäß dem Oberbegriff des Anspruches 1 zu schaffen, mit welcher mit
geringem Speicherbedarf Klangeffekte variabel erzeugbar sind.
Die Lösung dieser Aufgabe erfolgt durch die kennzeichnenden
Merkmale des Anspruches 1.
Ein Tonsignal-Erzeugungsvorrichtung für ein elektronisches
Musikinstrument gemäß der vorliegenden Erfindung enthält
eine Vorrichtung zum Speichern von Codedaten, die kennzeichnend
für eine Mehrzahl von musikalischen Notenfrequenzen
sind, eine Vorrichtung zum Auslesen der gegebenen
Codedaten aus der Speichervorrichtung entsprechend einer
auf der Tastatur angeschlagenen Taste, eine Arithmetikvorrichtung,
die eine Vorrichtung zum Zuführen der vorbestimmten
Steuerdaten aufweist und eine Vorrichtung zum kumulativen
Addieren der vorbestimmten Steuerdaten zu oder
zum kumulativen Subtrahieren von den als Anfangswert von
der Steuervorrichtung zugeführten Codedaten und eine
Steuervorrichtung, die eine Vorrichtung zum Wiederzuführen
der Codedaten an die Arithmetikvorrichtung aufweist, wenn
die Ausgabe der Arithmetikvorrichtung eine vorbestimmte
Bedingung für die Bildung der Periode eines Tonsignals mit einer bestimmten
Wellenform erfüllt.
Vorteilhafte Weiterbildungen ergeben sich aus den Unteransprüchen.
Weitere Vorteile, Einzelheiten und Merkmale ergeben sich
aus der nachfolgenden Beschreibung mehrerer Ausführungsbeispiele
der Erfindung anhand der Zeichnung.
Es zeigt
Fig. 1 ein Blockdiagramm für ein Gesamtsystem gemäß
einer Ausführungsform der Erfindung;
Fig. 2 ein Schaltkreisdiagramm zur Darstellung eines
Wellenformgenerators in einer Anlage gemäß Fig. 1;
Fig. 3 eine Ansicht einer in einem ROM abgespeicherten
Wellenform in einer Anlage gemäß Fig. 1;
Fig. 4 ein Zeitdiagramm zur Erläuterung der Wirkungsweise
des Schaltkreises gemäß Fig. 2 zur Erzeugung
einer Rechteckwelle;
Fig. 5 und 6 Zeitdiagramme zur Erläuterung der Wirkungsweise
zur Erzeugung einer bezüglich ihrer Impulsbreite
modulierten Welle bzw. einer Sägezahnwelle;
Fig. 7 ein Blockdiagramm einer Anlage zur Darstellung
einer weiteren Ausführungsform der Erfindung;
Fig. 8 ein Blockdiagramm zur Darstellung eines Frequenz-
Modulationsabschnittes gemäß Fig. 7;
Fig. 9 ein Schaltkreisdiagramm zur Darstellung eines
Niederfrequenzoszillators gemäß Fig. 8;
Fig. 10 ein Wellenform-Diagramm zur Darstellung der
Ausgangswellenform des Niederfrequenzoszillators
gemäß Fig. 9;
Fig. 11 ein Blockdiagramm einer Anlage in einer weiteren
Ausführungsform der Erfindung;
Fig. 12 ein Blockdiagramm zur Darstellung eines beispielhaften
Durchschnittfaktor-Frequenzarithmetikabschnittes
gemäß Fig. 11 und
Fig. 13 bis 18 Blockdiagramme zur Darstellung von unterschiedlichen
Beispielen des Durchschnittfaktor-Frequenzarithmetikabschnittes.
Im folgenden wird ein Ausführungsbeispiel der Erfindung
in Anwendung bei einem Musik-Synthesizer näher erläutert.
Fig. 1 zeigt ein Blockdiagramm zur Darstellung eines die
Erfindung aufweisenden Musik-Synthesizers. Die Anlage
oder das System weist eine Tastatur 1 auf, welche eine
Vielzahl von Tasten aufweist. Beim Drücken einer Taste
wird ein Tastenbetätigungssignal erzeugt. Das System weist
ferner einen Schalterbereich 2 auf, welcher Schalter für die
Auswahl verschiedener Ton-Wellenformen (Grund-Wellenformen),
wie beispielsweise Rechteckwellen, PWM-Wellen (bezüglich
der Impulsbreite modulierte Wellen), nicht symmetrische
Wellen und Sägezahnwellen, aufweist und ferner
Schalter aufweist, mit welchen ein digitales Filter 6
und ein Hüllkurvengenerator 7 gesteuert werden können,
welche weiter unten beschrieben werden. Die Ausgangssignale
der Tastatur 1 und des Schalterbereiches 2 werden
beide zu einer Zentraleinheit geleitet, welche im folgenden
als CPU (zentrale Verarbeitungseinheit) 3 bezeichnet
wird.
Die CPU 3 kann alle Funktionen des Musik-Synthesizers
steuern, und besteht aus einem Mikroprozessor, der nicht
im einzelnen beschrieben wird.
Eine Speichervorrichtung, welche im folgenden als ROM 4
bezeichnet wird und als Festwertspeicher ausgebildet ist,
ist ein Speicher, in welchem Ton-Frequenzcodedaten abgespeichert
sind. Adreßdaten für das Auslesen der Ton-
Frequenzcodedaten entsprechend den betätigten Tasten auf
der Tastatur 1 aus dem ROM 4 werden von der CPU 3 zu dem
ROM 4 geleitet. Die ausgelesenen Noten-Frequenzcodedaten
β werden zu einem Wellenformgenerator 5 geleitet.
Der Wellenformgenerator 5 ist ein Schaltkreis, welcher eine
Tonwellenform durch digitale (Signal-)Verarbeitung der
Noten-Frequenzcodedaten β und von Daten α, γ und K formt,
welche von der CPU 3 angelegt werden. Die so erhaltenen
Wellenformdaten werden zu einem digitalen Filter 6 geleitet.
Das digitale Filter 6 entfernt einige der harmonischen
Komponenten in den Wellenformdaten entsprechend
einem Steuersignal von der CPU 3 und das Ausgangssignal
des digitalen Filters 6 wird an einen Hüllkurvengenerator
7 angelegt. Der Hüllkurvengenerator 7 beaufschlagt
das Ausgangssignal des digitalen Filters 6 entsprechend
dem Steuersignal von der CPU 3 mit einer Hüllkurve, um
ein Tonsignal zu erzeugen. Das so erzeugte Tonsignal
wird an einen Digital/Analog-Wandlungsschaltkreis angelegt,
welcher im folgenden als D/A-Wandler 8 bezeichnet
wird. Der D/A-Wandler 8 ist ein Schaltkreis für die Umwandlung
des eingehenden Tonsignales, welches ein Digitalsignal
ist, in ein analoges Tonsignal. Das so erzeugte
analoge Tonsignal wird über einen Verstärker 9 und einen
Lautsprecher 10 geleitet, welche mit dem Ausgangsanschluß
des D/A-Wandlers 8 verbunden sind, wodurch ein entsprechender
Musikklang erzeugt wird. Als digitales Filter 6
kann ein digitales Filter verwendet werden, wie es in der
DE-OS 31 16 042 beschrieben
ist, und als Hüllkurvengenerator 7 kann ein Hüllkurvengenerator
verwendet werden, wie er in der
DE-OS 31 30 380 beschrieben ist.
In Fig. 2 ist ein spezifischer Schaltkreisaufbau des
Wellenformgenerators 5 dargestellt. Ein Schieberegister 17
erzeugt Daten mit einer Wortlänge von 16 Bit, welche zu
A-Eingangsanschlüssen A15 bis A0 eines Volladdierers 15
geleitet werden, um eine Zirkulation oder ringförmige
Weiterbeförderung zuzulassen. Festeingestellte Daten α
(α15 bis α0) mit einer Wortlänge von 16 Bit werden von
der CPU 3 zu B-Eingangsanschlüssen B15 bis B0 des Volladdierers
15 geleitet. Ein Signal mit einem hohen
logischen Pegel "H" wird an einen Anschluß Cin des Volladdierers
15 angelegt. Der Volladdierer 15 subtrahiert
die Eingangsdaten α an den B-Eingangsanschlüssen von den
Eingangsdaten an den A-Eingangsanschlüssen, um die Ergebnisdaten
an seinen S-Ausgangsanschlüssen S15 bis S0 zu
erzeugen. Die Ausgangsdaten werden zu den A-Eingangsanschlüssen
A15 bis A0 eines Volladdierers 16 geleitet,
welcher mit der Ausgangsseite des Volladdierers 15 verbunden
ist. Zu den B-Eingangsanschlüssen B15 bis B0 des
Volladdierers 16 werden über UND-Gatter 18-15 bis 18-0
Noten-Frequenzcodedaten β von einem Gatterschaltkreis
G1 (im Falle der Ausbildung einer Rechteckwelle oder
einer Sägezahnwelle) und Daten β± (β-K) und γ von einem
Gatterschaltkreis G2 geleitet. Diese Daten werden in
dem Volladdierer 16 voreingestellt. Ein Carry-Ausgangssignal
von einem Anschluß für das letzte Ergebnis des
Volladdierers 15 wird über einen Inverter 19 an einen
Steuer-Eingangsanschluß eines jeden der UND-Gatter 18-15
bis 18-0 angelegt. Logiken und Logikschaltkreise werden
hier als Gatter bezeichnet.
Die an den S-Ausgangsanschlüssen S15 bis S0 des Volladdierers
16 erzeugten Ergebnisdaten werden zu dem Schieberegister
17 geleitet, welches mit der Ausgangsseite
des Volladdierers 16 verbunden ist. Wenn der Musik-
Synthesizer polyphon oder vielstimmig für acht Töne ausgelegt
ist, besteht das Register 17 aus acht Stufen des
Schieberegisters mit einer Wortlänge von 16 Bit, welche
kaskadenförmig verbunden sind. Der Schaltkreis gemäß
Fig. 2 führt eine Zeitmultiplexfunktion unter Steuerung
durch die CPU 3 durch.
Die 9-Bit niederwertigeren Daten aus den Ausgangsdaten
des Schieberegisters 17 aus den Ausgangsklemmen S8 bis
S0 werden zu Antivalenz- oder EXOR-Gattern 20-8 bis 20-0
geleitet, während die höherwertigen 6-bit-Daten von den
Ausgangsanschlüssen S9 bis S14 über Inverter 21-1 bis
21-6 geleitet werden, um Eingangsanschlüsse der UND-
Gatter 22-1 bis 22-6 zu steuern. Ferner wird das höchstwertige
Datum oder MSB-Datum aus dem Ausgangsanschluß
S15 über einen Inverter 21-7 zu dem anderen Eingangsanschluß
des UND-Gatters 22-6 geleitet. Die UND-Gatter
22-1 bis 22-6 sind seriell verbunden, wie es in Fig.
2A dargestellt ist, d. h., das Ausgangssignal des UND-
Gatters 22-6 ist mit dem anderen Eingangsanschluß des
UND-Gatters 22-5 verbunden, und ähnlich sind die Ausgangsanschlüsse
der UND-Gatter 22-5 bis 22-2 mit den anderen
Eingangsanschlüssen der darauffolgenden UND-Gatter
22-4 bis 22-1 verbunden. Der Ausgangsanschluß des UND-
Gatters 22-1 ist mit den EXOR-Gattern 20-8 bis 20-0
verbunden.
Die Ausgangsanschlüsse der EXOR-Gatter 20-8 bis 20-0
sind mit den A-Eingangsanschlüssen A7 bis A0 einer im
folgenden als ROM 23 bezeichneten Speichervorrichtung verbunden
und übertragen Adreßdaten. In dem ROM 23 sind
Daten einer Viertelperiode einer Sinuswelle abgespeichert,
wie es in Fig. 3 dargestellt ist. Diese Wellenformdaten
werden für das Interpolieren eines Bereiches der Ausgangswellendaten
verwendet, wie beispielsweise für eine Rechteckwelle,
welche von dem Wellengenerator 5 an der Stelle
erzeugt wird, wo eine plötzliche oder abrupte Veränderung
des Amplitudenpegels auftritt. An den Ausgangsanschlüssen
O₆ bis O₀ des ROM 23 auftretende Wellenformdaten
mit einer Wortlänge von 7 Bit werden ausgelesen und zu
ODER-Gattern 24-6 bis 24-0 geleitet.
Zu den ODER-Gattern 24-6 bis 24-0 wird das Ausgangssignal
des UND-Gatters 22-2 über einen Inverter 25 und ein
Übertragungsgatter 26 geleitet. Die Ausgangsanschlüsse
der ODER-Gatter 24-6 bis 24-0 sind mit einem Eingangsanschluß
der je entsprechenden EXOR-Gatter 27-6 bis 27-0
verbunden. Zu den anderen Eingangsanschlüssen der EXOR-
Gatter 27-6 bis 27-0 wird das Ausgangssignal des UND-
Gatters 22-1 über einen Inverter 28 und ein Übertragungsgatter
29 geleitet. Die Ausgangsanschlüsse der EXOR-Gatter
27-6 bis 27-0 werden zu A-Eingangsanschlüsse A6
bis A0 eines Volladdierers 30 geleitet, welcher einen
Polaritätsinverter bildet. Zu einem A-Eingangsanschluß
A7 des Volladdierers 30 wird das Ausgangssignal des
UND-Gatters 22-1 über einen Inverter 28, ein Übertragungsgatter
29 und einen Inverter 31 geleitet. An einen Eingangsanschluß
Cin des Volladdierers 30 wird das Ausgangssignal des UND-
Gatters 22-1 über den Inverter 28 und das Übertragungsgatter
29 geleitet. Ebenso wird das Ausgangssignal eines
Inverters 32 über ein Übertragungsgatter 33 zu dem Eingangsanschluß
Cin geleitet. Daten, welche an den Ausgangsanschlüssen
S7 bis S0 des Volladdierers 30 auftreten,
werden über Übertragungsgatter 34-7 bis 34-0 zu dem
digitalen Filter 6 geleitet.
Wenn ein Schalter für die Festlegung einer Rechteckwelle
oder ein Schalter für die Festlegung einer PWM-Welle betätigt
wird, werden die Übertragungsgatter 26 mit einem Steuersignal gesteuert,
welches von der CPU 3
erzeugt wird und an den Steuer-Eingangsanschluß des
Übertragungsgatters 26 angelegt wird, um ein Signal durchzulassen. Wenn ein Schalter
für die Festlegung einer Sägezahnwelle betätigt wird,
werden die Übertragungsgatter 29 und 35 mittels eines
Steuersignales durchgeschaltet, welches von der CPU 3
erzeugt und zu den Steuer-Eingangsanschlüssen der Gatter
geleitet wird. Das Übertragungsgatter 33 wird aufgrund
eines Signales durchgeschaltet, welches über einen Inverter
36 angelegt wird. Die Übertragungsgatter 34-7 bis
34-0 werden aufgrund des Ausgangssignales des UND-Gatters
22-2 durchgeschaltet, welches zu ihren Steuer-Eingangsanschlüssen
über den Inverter 25, das Übertragungsgatter
35 und den Inverter 37 geleitet wird.
Die Noten-Frequenzcodedaten β und die Daten K (die ein
festeingestelltes Datum darstellen) werden zu einem
Subtrahierschaltkreis 41 geleitet. Die sich ergebenden
Daten β-K aus dem Subtrahierschaltkreis 41 werden zu einem
Multiplizierschaltkreis 42 und zu einem Dividierschaltkreis
44 geleitet. Der Multiplizierschaltkreis 42
empfängt ferner die Daten γ (die einen Wertbereich von
0 γ 1 annehmen können und ein Tastverhältnis festlegen),
und diese Ergebnisdaten (β-K) · γ werden zu einem Addier/
Subtrahier-Schaltkreis 43 geleitet. Der Addier/Subtrahier-
Schaltkreis 43 empfängt auch die Noten-Frequenzcodedaten
β, und der Ausgang des Inverters 32 wird zu einem Plus/
Minus-Steuereingangsanschluß des Addier/Subtrahier-Schaltkreises
43 geleitet. Die Ergebnisdaten β+(β-K) · γ werden
zu dem Gatterschaltkreis G2 geleitet. Wenn ein Schalter
für die Festlegung einer Rechteckwelle oder ein Schalter
für die Festlegung einer Sägezahnwelle betätigt wird,
wird der Gatterschaltkreis G1 durch ein Steuersignal,
welches von der CPU 3 erzeugt wird, durchgeschaltet. Wenn
ein Schalter für die Festlegung einer PWM-Welle betätigt
wird, wird der Gatterschaltkreis G2 durch ein Steuersignal
aus der CPU 3 durchgeschaltet.
Die Ausgangsdaten M aus dem Schieberegister 17 und die
Daten K aus der CPU 3 werden zu einem Subtrahierschaltkreis
45 geleitet. Die Ergebnisdaten aus dem Subtrahierschaltkreis
45 werden zu dem Dividierschaltkreis 44 geleitet.
Die Ergebnisdaten (M-K)/(β-K) des Dividierschaltkreises
44 werden über Übertragungsgatter 46-7
bis 46-0 geleitet, um als Sägezahn-Wellendaten zu dem
digitalen Filter 6 geleitet zu werden. Die Übertragungsgatter
46-7 bis 46-0 werden dadurch durchgeschaltet,
daß das Ausgangssignal des UND-Gatters 22-2 über den
Inverter 25, das Übertragungsgatter 35 und Inverter 37
und 47 an die Steuer-Eingangsanschlüsse der Übertragungsgatter
46-7 bis 46-0 angelegt wird.
Der Inverter 32 weist ein Schieberegister 48 und ein
EXOR-Gatter 49 auf, welches mit der Ausgangsseite des
Schieberegisters 48 verbunden ist. Das Ausgangssignal
an einem Ausgangsanschluß C1 des Volladdierers 15 wird
über einen Inverter 50 zu dem anderen Eingangsanschluß
des EXOR-Gatters 49 geleitet. Das Ausgangssignal des
EXOR-Gatters 49 wird zu der Eingangsseite des Schieberegisters
48 zurückgeleitet, bzw. zurückgekoppelt. Wenn
der Musik-Synthesizer - wie oben erwähnt - polyphon für
acht Töne ausgelegt ist, besteht das Schieberegister 48
auch acht Stufen von Schieberegistern mit je 1 Bit, die
in Kaskade verbunden sind. Wenn die Ergebnisdaten des
Volladdierers 15 "512" erreichen, wird ein Signal mit
dem logischen Pegel "H" (d. h. ein Übertragungssignal
oder Carry-Signal) aus dem Ausgangsanschluß C1 des Volladdierers
15 erzeugt.
Die Funktion dieser Ausführungsform wird anhand von Fig.
4 bis 14 im folgenden beschrieben. Zunächst wird die
Funktion in Verbindung mit dem Fall anhand des Zeitdiagramms
von Fig. 4 beschrieben, in welchem der Wellenformgenerator
5 eine Rechteckwelle erzeugt. In diesem Falle wird
der Rechteckwellen-Festlegungsschalter und andere erforderliche
Schalter im Schalterbereich 2 eingeschaltet.
Wenn der Rechteckwellen-Festlegungsschalter eingeschaltet
ist, legt die CPU 3 ein Signal mit dem logischen Pegel
"H", d. h., "1", oder ein Signal mit dem logischen Pegel
"L", d. h., "0" an die Gatterschaltkreise G1 und G2 des
Wellenformgenerators 5. Dadurch wird der Gatterschaltkreis
G1 aktiviert, während der Gatterschaltkreis G2 gesperrt
wird. Die CPU 3 legt auch ein Signal mit dem logischen
Pegel "1" an das Übertragungsgatter 26 und ein Signal
mit dem logischen Pegel "0" an die Übertragungsgatter 29
und 35. Dadurch wird das Übertragungsgatter 26 aktiviert,
während die Übertragungsgatter 29 und 35 gesperrt werden.
Wenn die Übertragungsgatter 29 und 35 gesperrt sind,
werden das Übertragungsgatter 33 und die Übertragungsgatter
34-7 bis 34-0 aktiviert, während die Übertragungsgatter
46-7 bis 46-0 gesperrt werden.
Es sei nun angenommen, daß beispielsweise eine Taste auf
der Tastatur 1 in diesem Zustand eingeschaltet wird. Wenn
die Taste eingeschaltet wird, erzeugt die CPU 3 ein vorgegebenes
Adreßdatum für das ROM 4, mit welchem Noten-
Frequenzcodedaten β entsprechend der betätigten Taste aus
dem ROM 4 ausgelesen werden können. Dadurch werden die Noten-
Frequenzcodedaten β aus dem ROM 4 ausgelesen und zu dem
Wellengenerator 5 angelegt. Die Noten-Frequenzcodedaten
β werden über den Gatterschaltkreis G1, welcher sich in
einem offenen Zustand befindet, zu den UND-Gattern 18-15
bis 18-0 angelegt. In diesem Augenblick wird das Ausgangssignal
aus dem Ausgangsanschluß Cout des Volladdierers
15 zu "0", das bedeutet, das Ausgangssignal des Inverters
19 wird "1", so daß die UND-Gatter 18-15 bis 18-0 sich
in einem offenen Zustand befinden. Somit werden die Noten-
Frequenzcodedaten β über die UND-Gatter 18-15 bis 18-0
zu den B-Eingangsanschlüssen B15 bis B0 des Volladdierers
16 geleitet. Unterdessen sind alle 16-bit-Daten
mit dem logischen Wert "0" zu diesem Zeitpunkt von dem
S-Ausgangsanschluß S15 bis S0 des Volladdierers 15 zu
den A-Eingangsanschlüssen A15 bis A0 des Volladdierers
16 geleitet worden. Somit werden die Daten mit demselben
Wert wie die voreingestellten Noten-Frequenzcodedaten β,
die oben bezeichnet sind, zu diesem Zeitpunkt als Ergebnisdaten
von den S-Ausgangsanschlüssen S15 bis S0 des
Volladdierers 16 erzeugt, um zu dem Schieberegister 17 geleitet
zu werden. Wenn die Daten durch das Schieberegister 17
geschoben und an dem Ausgang erzeugt werden, werden
sie zu den A-Eingangsanschlüssen A15 bis A0 des Volladdierers
15 zurückgeführt, während sie ferner auch über
die EXOR-Gatter 20-8 bis 20-0 und die Inverter 21-7 bis
21-1 geleitet werden.
In dieser Ausführungsform weisen die Noten-Frequenzcodedaten
β für die einzelnen Noten je Werte auf, die größer
als "1024" sind. Mit anderen Worten, in den oberen
6 Bit bis zu dem höchsten Bit der 16-bit-Daten ist immer ein
Datum mit dem logischen Wert "1" enthalten. Wenn somit die Noten-
Frequenzcodedaten β mit dem Einschalten einer Taste, wie
oben erwähnt, eingeschaltet werden und dieselben Daten
daraufhin aus dem Schieberegister 17 erzeugt werden, ist
das Ausgangssignal des UND-Gatters 22-2 immer auf einem
logischen Pegel "0", wie es bei (e) in Fig. 4 dargestellt
ist. Das Ausgangssignal des UND-Gatters 22-1 wird somit
auf dem Pegel "0" geschaltet, während das Ausgangssignal
des UND-Gatters 22-2 sich auf einem logischen Pegel "0"
befindet, wie es bei (b) in Fig. 4 dargestellt ist. Ferner
ist das Ausgangssignal des Inverters 50 zu diesem
Zeitpunkt auf einem logischen Pegel "1", wie es bei (c)
in Fig. 4 dargestellt ist, so daß das Ausgangssignal
des Inverters 32 sich auf einem logischen Pegel "0" befindet,
wie es bei (d) in Fig. 4 dargestellt ist. Somit
wird ein Signal mit dem logischen Pegel "0" aus dem
UND-Gatter 22-1 zu den EXOR-Gattern 20-8 bis 20-0 geleitet
und die niederwertigen 9-bit-Daten des Ausgangssignales
des Schieberegisters 17 werden direkt zu den
A-Eingangsanschlüssen A8 bis A0 des ROMs 23 geleitet.
Ferner wird ein Signal mit dem logischen Pegel "0" aus
dem UND-Gatter 22-2 über den Inverter 25 invertiert, und
ein Signal mit dem logischen Pegel "1" wird von dem Inverter
25 zu den ODER-Gattern 24-6 bis 24-0 geleitet.
Ein Signal mit dem logischen Pegel "1" wird somit von
jedem der ODER-Gatter 24-6 bis 24-0 erzeugt, um an einen
Eingangsanschluß jedes der EXOR-Gatter 27-6 bis 27-0 angelegt
zu werden. Ein Signal mit dem logischen Pegel
"0" wird somit als Ausgangssignal des Inverters 32 zu
dem anderen Eingangsanschluß jedes der EXOR-Gatter 27-6
bis 27-0 angelegt. Die EXOR-Gatter 27-6 bis 27-0 erzeugen
somit alle Signale mit dem logischen Pegel "1". Das Ausgangssignal
des Inverters 31 befindet sich ebenso auf
einem logischen Pegel "1".
Somit werden Daten, welche sich alle auf dem logischen
Pegel "1" befinden, zu den A-Eingangsanschlüssen A7 bis
A0 des Volladdierers 30 geleitet. Das Ausgangssignal
des Inverters 32, d. h., ein Signal mit dem logischen
Pegel "0", wird ferner zu dem Carry-Eingangsanschluß Cin
des Volladdierers 30 geleitet. Die Ergebnisdaten aus
den S-Ausgangsanschlüssen S7 bis S0 des Volladdierers
30 werden somit zu diesem Zeitpunkt als Daten mit einer
Wortlänge von 8 Bit, welche sich alle auf dem logischen
Pegel "1" befinden, erzeugt. Diese Daten werden über
die Übertragungsgatter 34-7 bis 34-0 zu dem digitalen
Filter 6 geleitet, wobei die Übertragungsgatter sich
zu diesem Zeitpunkt in einem durchgeschalteten oder
geöffneten Zustand befinden. Die Rechteckwelle, welche
an das digitale Filter 6 angelegt wird, weist eine Wellenform
auf, wie sie bei (a) in Fig. 4 dargestellt ist.
Das digitale Filter 6 entfernt die harmonischen Komponenten,
welche unter Steuerung durch die CPU 3 festgelegt
werden. Der Hüllkurvengenerator 7 umgibt das Ausgangssignal
des digitalen Filters 6 mit einer Hüllkurve, wodurch
das Tonsignal der Note entsprechend der betätigten
Taste erzeugt wird, um Klang zu erzeugen.
Wenn Daten, welche den gleichen Wert wie die vorangestellten
Noten-Frequenzcodedaten β aufweisen, zu den A-Eingangsanschlüssen
A15 bis A0 des Volladdierers 15 zurückgeführt
werden, treten feste Daten α, welche von der
CPU 3 erzeugt sind, als 16-bit-Daten an den B-Eingangsanschlüssen
B15 bis B0 des Volladdierers 15 auf. Da
ferner der Carry-Eingangsanschluß Cin sich immer auf dem
logischen Pegel "H" befindet, führt der Volladdierer 15
zu diesem Zeitpunkt eine erste Subtraktion von β-α aus
und erzeugt die Ergebnisdaten an den S-Ausgangsanschlüssen
und legt sie an die A-Eingangsanschlüsse des Volladdierers
16 an. Zu diesem Zeitpunkt der
Ausführung der Subtraktion ändert sich das Ausgangssignal
des Carry-Ausgangsanschlusses Cout des Volladdierers 15
zu "1", so daß das Ausgangssignal des Inverters 19 zu
"0" wird und die UND-Gatter 18-15 bis 18-0 schließen bzw.
sperren. Somit wird der Eingang der Noten-Frequenzcodedaten
β zu den B-Eingangsanschlüssen des Volladdierers 16
gesperrt. Die Ergebnisdaten aus dem Volladdierer 15 sind
somit gleich wie die Ergebnisdaten, die bei der ersten
Subtraktion in dem Volladdierer 15 ermittelt wurden.
Diese Daten werden zu dem Schieberegister 17 geleitet.
Die Ergebnisdaten der ersten Subtraktion, die aus dem
Schieberegister 17 erzeugt worden sind, werden zu den
EXOR-Gattern 20-8 bis 20-0 und Invertern 21-7 bis 21-1
geleitet, während sie umlaufend zu dem Volladdierer 15
geleitet werden. Die Daten, welche an den A-
Eingangsanschlüssen und dem Carry-Eingangsanschluß Cin
des Volladdierers 30 nach dem Ende der ersten Berechnung
auftreten, sind gleich wie zuvor, so daß alle
8-bit-Daten sich auf dem logischen Pegel "1" befinden
und zu dem digitalen Filter 6 geleitet werden. In dem
Volladdierer 15, den UND-Gattern 18-15 bis 18-0, dem
Volladdierer 16 und dem Schieberegister 17 wird dieselbe
kumulative Subtraktion, wie bei der ersten Subtraktion
oben beschrieben, aufeinanderfolgend wiederholt, bis
die Ergebnisdaten, d. h., das Ausgangssignal des Schieberegisters
17, "1024" erreicht (vgl. (f) in Fig. 4). Während
dieser Zeit verbleibt das Datum an dem A-Eingangsanschluß
und dem Carry-Eingangsanschluß Cin des
Volladdierers 30 gleich, so daß die Daten mit der Wortlänge
von 8 Bit, welche alle "1" sind, kontinuierlich
zu dem digitalen Filter 6 geleitet werden. Wenn das Ausgangssignal
oder die Ausgangsdaten des Schieberegisters
17 bei der nächsten Subtraktion kleiner als "1024" wird,
bedeutet dies, daß die höherwertigen 6-bit-Daten in dem
Ausgangssignal des Schieberegisters 17 alle zu "0" werden.
Somit wird zu diesem Zeitpunkt der Ausgang des UND-
Gatters 22-2 zu "1" invertiert, wie es bei (e) in Fig. 4
dargestellt ist. Somit wird das Ausgangssignal des Inverters
25 zu dem ODER-Gatter 24-6 bis 24-0 geleitet und
wird zu "0".
Während der kumulativen Subtraktion bleibt von dem Augenblick
an, wenn das Ausgangssignal des Schieberegisters
17 auf "1024" ist, bis zu dem Augenblick, wenn das Ausgangssignal
"512" ist, das 10er-bit-Datum mit der Wertigkeit 256 in dem Ausgangssignal
des Schieberegisters 17 auf dem logischen
Pegel "1". Während dieser Zeit wird das Ausgangssignal
des UND-Gatters 22-1 zu den EXOR-Gattern 20-8 bis 20-0
geleitet und verbleibt auf dem logischen Pegel "0". Das
bedeutet, daß während der Zeit von dem Augenblick, wenn
das Ausgangssignal "1024" ist, bis zu dem Augenblick,
wenn das Ausgangssignal "512" ist, die niederwertigeren
9-bit-Daten in dem Ausgangssignal des Schieberegisters 17
kontinuierlich zu den A-Eingangsanschlüssen des ROM 23
geleitet werden. Ferner bleibt während dieser Zeit der
Ausgangsanschluß des Inverters 32 auf dem logischen Pegel
"0".
In einem Augenblick, wenn das Ausgangssignal des Schieberegisters
17 kleiner als "1024" ist, beispielsweise
"1023", werden die niederwertigen 9-bit-Daten in dem Ausgangssignal
des Schieberegisters 17 zu den A-Eingangsanschlüssen
des ROM 23 geleitet und befinden sich alle auf
dem logischen Pegel "1". Das ROM 23 ist hinsichtlich der
Adressierung durch diese 9-bit-Daten festgelegt, welche
sich alle auf dem logischen Pegel "1" befinden, so daß
7-bit-Daten, welche sich alle auf dem logischen Pegel
"1" befinden, ausgelesen werden, wie es in Fig. 3 dargestellt
ist. Die 7-bit-Daten mit dem logischen Pegel "1"
werden über die ODER-Gatter 24-6 bis 24-0 zu den EXOR-
Gattern 27-6 bis 27-0 geleitet. Zu diesem Zeitpunkt sind
die Eingangsdaten für die EXOR-Gatter 27-6 bis 27-0 und
den Carry-Eingangsanschluß Cin des Volladdierers 30 noch
auf dem logischen Pegel "0", wie weiter oben erwähnt. Somit
werden 8-bit-Daten, welche sich alle auf dem logischen
Pegel "1" befinden, zu den A-Eingangsanschlüssen des Volladdierers
30 geleitet, und die Ergebnisdaten des Volladdierers
30 werden als 8-bit-Daten, welche sich alle auf
dem logischen Pegel "1" befinden, erzeugt, welche zu dem
digitalen Filter 6 geleitet werden.
Wenn das Ausgangssignal des Schieberegisters 17 ferner
von "1023" um α bei der nächsten kumulativen Subtraktion
reduziert wird, wird die Adresse für das ROM 23 durch
Adreßdaten festgelegt, welche um α kleiner als die vorherigen
9-bit-Daten sind, welche sich alle auf dem logischen
Pegel "1" befinden (d. h., Daten mit dem Wert
"511"). Somit werden Daten, die um einen vorgegebenen
Wert kleiner als die oben erwähnten 7-bit-Daten, welche
sich alle auf dem logischen Pegel "1" befinden, d. h.,
Daten mit einem Amplitudenwert, welche etwas kleiner
als die Daten bei der vorherigen Operation sind, von dem
ROM 23 ausgelesen, wie aus Fig. 3 ersichtlich ist. Diese
Amplitudenwertdaten werden zu dem digitalen Filter
6 geleitet, ohne über den Volladdierer 30 invertiert
zu werden.
In dieser Weise wird das Ausgangssignal des Schieberegisters
17 nach und nach um Einheiten von α bei der kumulativen
Subtraktion reduziert oder vermindert. Das ROM 23
wird somit hinsichtlich seiner Adresse durch Adreßdaten
angesteuert, welche nacheinander um α reduziert werden,
bis "512" erreicht ist. Jedesmal, wenn die Adreßdaten reduziert
werden, werden die Amplitudendaten mit einem Wert
ausgelesen, welcher geringer als die vorherigen Daten ist.
Während dieser Zeit ist der Datenausgang zu den A-Eingangsanschlüssen
und dem Carry-Eingangsanschluß Cin des Volladdierers
30 gleich, wie oben erwähnt, und nach und nach
verminderte Amplitudenwertdaten werden zu dem digitalen
Filter 6 geleitet. Wenn das Ausgangssignal des Schieberegisters
17 "512" ist, wird das ROM 23 durch 9-bit-Adreßdaten
angesteuert, welche alle den Wert "0" aufweisen.
Wenn die Ergebnisdaten bei der kumulativen Subtraktion
in dem Volladdierer 15 von "512" zu "511" geändert werden,
wird ein "1"-Signal von dem Ausgangsanschluß C1
des Volladdierers 15 erzeugt. Im Ergebnis wird ein Einzelimpulssignal
von dem Inverter 50 erzeugt, wie es bei
(c) in Fig. 4 dargestellt ist. Somit wird das Ausgangssignal
des Inverters 32 zu den EXOR-Gattern 27-6 bis
27-0, dem Inverter 31 und dem Carry-Eingangsanschluß
Cin des Volladdierers 30 geleitet und zu "1" invertiert,
wie es bei (d) in Fig. 4 dargestellt ist.
Wenn somit die Daten mit einem Wert von "511" oder kleiner
von dem Schieberegister 17 erzeugt werden, wie es bei
(f) in Fig. 4 dargestellt ist, werden die höherwertigen
7-bit-Daten am Ausgang alle Daten mit dem logischen
Wert "0". Dadurch wird das Ausgangssignal des UND-Gatters
23-1, welches zu den EXOR-Gattern 20-8 bis 20-0 geleitet
wird, zu logisch "1". Unterdessen werden die 9-bit-Daten,
welche sich alle auf dem logischen Pegel "1" befinden,
wiederum zu den anderen Eingangsanschlüssen der EXOR-Gatter
20-8 bis 20-0 geleitet. Somit ist das Ausgangssignal,
welches zu den unvollständigen A-Eingangsanschlüssen des
ROMs 23 geleitet wird, ein Ausgangssignal mit 9-bit-Daten,
welche alle den logischen Wert "0" aufweisen. Es wird
deutlich werden, daß während die Ergebnisdaten der kumulativen
Subtraktion nach und nach von "511" zu "0" mit
Intervallen von α reduziert werden, das ROM 23 nach und
nach durch Adreßdaten adressiert wird, welche von "0"
für alle Bits bis "1" für alle Bits ansteigen.
Die sich ergebenden ausgelesenen Amplitudenwertdaten werden
somit nach und nach, wie es in Fig. 3 dargestellt ist,
erhöht. Die Amplitudenwertdaten werden über die EXOR-
Gatter 27-6 bis 27-0 zu den A-Eingangsanschlüssen A6 bis
A0 des Volladdierers 30 geleitet. Unterdessen wird ein
Signal mit dem logischen Wert "0" zu dem A-Eingangsanschluß
A7 geleitet, und ein Ausgangssignal mit dem logischen Wert
"1" wird zu dem Carry-Eingangsanschluß Cin geleitet. Somit
sind die von dem Volladdierer 30 erzeugten Daten gleich
zu denjenigen, die durch Invertierung der Amplitudenwertdaten
erhalten werden, welche aus dem ROM 23 ausgelesen
sind. Diese Daten werden zu dem digitalen Filter 6 geleitet.
Während das Ausgangssignal des Schieberegisters 17 sich
von "1024" auf "0" verändert, wie es bei (f) in Fig. 4
dargestellt ist, wird die Amplitude der Rechteckwelle
bei (a) in Fig. 4 durch die aus dem ROM 23 ausgelesenen
Daten interpoliert, welche der Viertelperiode einer Sinuswelle
entsprechen.
Wenn das Ergebnis der kumulativen Subtraktion kleiner als
"0" wird, wird ein "0"-Signal von dem Carry-Ausgangsanschluß
Cout des Volladdierers 15 bei der nächsten Subtraktion
erzeugt. Als Ergebnis werden die UND-Gatter 18-15
bis 18-0 für einen Augenblick geöffnet bzw. durchgeschaltet,
und lassen die Noten-Frequenzcodedaten β zu den
B-Eingangsanschlüssen B15 bis B0 des Volladdierers 16
durch. Wenn die zu den A-Eingangsanschlüssen des Volladdierers
16 geleiteten Daten und die Noten-Frequenzcodedaten
β zusammenaddiert werden und die Ergebnisdaten
von dem Schieberegister 17 erzeugt werden, werden die
Ausgangsdaten der UND-Gatter 22-1 bis 22-2 auf den logischen
Pegel "0" invertiert, wie es bei (b) und (e) in
Fig. 4 dargestellt ist, und werden zu "0" von diesem
Augenblick an, da die Noten-Frequenzcodedaten β größer
als "1024" sind.
Nachdem die Noten-Frequenzcodedaten β erneut eingestellt
sind, wird eine kumulative Subtraktion mit einer Schrittweite
von α nacheinander ausgeführt, und der Ausgang des
Schieberegisters 17 wird nach und nach von β auf "1024" mit
einer Schrittweite von α vermindert. Während dieser Zeitdauer
werden die 7-bit-Daten, welche sich alle auf
dem logischen Pegel "0" befinden, zu den A-Eingangsdaten
A7 bis A0 des Volladdierers 30 geleitet. Während dieser
Zeit wird ein Signal mit dem logischen Wert "1" zu dem
Carry-Eingangsanschluß Cin geleitet, so daß die 7-bit-
Daten, welche sich alle auf dem logischen Wert "0" befinden,
zu dem digitalen Filter 6 geleitet werden.
Nachdem das Ergebnis der kumulativen Subtraktion kleiner
als "1024" wird, und während es bis zu "512" reduziert
wird, das bedeutet, während das Ergebnis zwischen "512"
und "1023" liegt, ist das Ausgangssignal des UND-Gatters
22-2 "1". Somit ist während dieser Zeit das Ausgangssignal
des Volladdierers 30 gleich demjenigen, welches durch
Invertierung der Amplitudenwertdaten aus dem ROM 23 durch
Adressierung des ROMs 23 mit Adreßdaten erreicht wird,
welche nach und nach von den Maximal-Adreßdaten (d. h.,
9-bit-Daten, die alle logisch "1" sind) zu den Minimal-
Adreßdaten (d. h., 9-bit-Daten, die alle logisch "0"
sind) reduziert werden.
Wenn das Ergebnis der kumulativen Subtraktion "512" erreicht,
wird ein "1"-Signal von dem Ausgangsanschluß
C1 des Volladdierers 15 erzeugt. Im Ergebnis wird das
Ausgangssignal des Inverters 32 auf "0" invertiert, wie
es bei (d) in Fig. 4 dargestellt ist. Wenn das Ergebnis
der kumulativen Subtraktion zu "511" wird, wird das
Ausgangssignal des UND-Gatters 22-1 zu "1" invertiert.
Somit wird etwas, was den Amplitudenwertdaten gleich ist,
welche aus dem ROM 23 durch Adressierung des ROM 23 mit
Adreßdaten ausgelesen werden, wobei die Adreßdaten von der
Minimaladresse zu der Maximaladresse geändert werden, als
Ausgangssignal des Volladdierers zu dem digitalen Filter
6 geleitet, während das Ergebnis der kumulativen Subtraktion
sich von "511" zu "0" ändert.
Während das Ausgangssignal des Schieberegisters 17 zwischen
"1024" und "0" ist, wird die Amplitude der Rechteckwelle
bei (a) in Fig. 4 durch die Wellenformdaten aus
dem ROM 23 interpoliert. Wenn das Ergebnis der kumulativen
Subtraktion kleiner als "0" wird, wird bei der
nächsten kumulativen Subtraktion ein "0"-Signal von dem
Carry-Ausgangsanschluß Cout des Volladdierers 15 erzeugt.
Somit werden die Noten-Frequenzcodedaten β erneut in den
Volladdierer 16 geladen, und die Verarbeitungg der nächsten
Rechteckwelle für die nächste Zyklusperiode wird
begonnen.
Auf obige Weise wird die Verarbeitung für die Ausbildung
der Rechteckwelle für eine Periode vervollständigt.
Unter Bezeichnung der Periode, während welcher das Ausgangssignal
des Schieberegisters 17, wie in Fig. 4 dargestellt
ist, von "0" zu erneut "0" wechselt (d. h., die
Periode von dem Augenblick der Einstellung der Noten-
Frequenzcodedaten β für einen Operationszyklus bis zu
dem Augenblick der Einstellung der Daten für den nächsten
Operationszyklus), durch T′ und unter Bezeichnung der Abtastperiode
durch Ts kann die Periode T′ eines Verarbeitungszyklus
wie folgt ausgedrückt werden:
Unter Bezeichnung der Abtastfrequenz durch fs kann die
Frequenz f₀ der in obiger Weise erzeugten Rechteckwelle
wie folgt ausgedrückt werden:
Im folgenden wird die Funktion in Verbindung mit dem
Fall beschrieben, bei welchem der Wellenformgenerator 5
eine PWM-Welle erzeugt. In diesem anhand von Fig. 5 erläuterten
Fall wird eine PWM-Wellen-Festlegungsschalter
in dem Schalterbereich 2 eingeschaltet. Dadurch wird
der Gatterschaltkreis G1 geschlossen oder gesperrt und
der Gatterschaltkreis G2 geöffnet oder durchgeschaltet.
Ferner werden die Übertragungsgatter 26, 33 und 34-7
bis 34-0 aktiviert, und die Übertragungsgatter 29, 35
und 46-7 bis 46-0 gesperrt. In diesem Zustand wird die
PWM-Wellenverarbeitung gestartet, wenn eine Taste auf
der Tastatur 2 eingeschaltet wird.
Die Funktion wird von dem Augenblick an beschrieben,
wenn das Ausgangssignal des Schieberegisters 17, wie bei
(f) in Fig. 5 dargestellt ist, "0" beträgt ("0" an dem
linken Rand der Figur). In diesem Augenblick wird das
Ausgangssignal des Inverters 32 zu "1", wie es bei (d)
in Fig. 5 dargestellt ist. Somit wird ein Addierbefehl
zu dem Addier/Subtrahier-Schaltkreis 43 geleitet, und ein
"1"-Signal wird zu den EXOR-Gattern 27-6 bis 27-0, den
Inverter 31 und dem Carry-Eingangsanschluß Cin des
Volladdierers 30 geleitet. Mit Carry-Eingangsanschluß
wird hier der für die Übernahme eines Bits ausgelegte
Eingangsanschluß bezeichnet.
Unterdessen legt der Subtrahierschaltkreis 41 die Ergebnisdaten
(β-K) an den Multiplizierschaltkreis 42 an,
und der Multiplizierschaltkreis 42 legt die Ergebnisdaten,
(β-K) · γ an den Addier/Subtrahier-Schaltkreis 43 an. Der
Addier/Subtrahier-Schaltkreis 43 legt die Ergebnisdaten
β+(β-K) · γ an den Gatterschaltkreis G2 an. Die Daten
K sind hier beispielsweise "1024" und die Daten γ, die
das Tastverhältnis bestimmen, befinden sich im Bereich von
0 γ 1.
Wenn eine Taste somit, wie oben erwähnt, eingeschaltet
wird, werden die Daten β+(β-K) · γ in den Volladdierer
16 bei dem Start des Verfahrens in der vorher beschriebenen
Weise in Verbindung mit dem Verfahren für das Ausbilden
der Rechteckwelle eingestellt. Nunmehr wird eine kumulative
Subtraktion des Datums (eine Konstante) von dem
Datum 3+(β-K) · γ ausgeführt. Während die Ergebnisdaten,
d. h., die Ausgangsdaten des Schieberegisters 17, zu "1024"
durch Subtraktion um je α reduziert werden, befinden sich
die Ausgangsanschlüsse des UND-Gatters 22-1, Inverter 50,
Inverter 32 bzw. UND-Gatter 22-2 auf den Werten "0",
"1", "1" bzw. "0", wie es bei (b), (c), (d) und (e) in Fig.
5 je dargestellt ist. Somit wird die während dieser Zeitdauer
aus dem ROM 23 ausgelesene Wellenform in einen unwirksamen
Zustand gebracht und die von dem Volladdierer
30 erzeugten und zu dem digitalen Filter 6 geleiteten
Daten sind 8-bit-Daten, welche alle den Wert "0" aufweisen.
Wenn die Ergebnisdaten der kumulativen Subtraktion kleiner
als "1024" werden, wird das Ausgangssignal des UND-
Gatters 22-2 zu "1" invertiert. Während nun die Daten
von "1024" zu "512" geändert werden, werden Daten, welche
durch Invertierung der Amplitudenwertdaten ermittelt
werden, welche aus dem ROM 23 unter Adressierung desselben
mit Adreßdaten, welche sich fortlaufend von der Maximaladresse
zu der Minimaladresse ändern, ausgelesen werden,
von dem Volladdierer 30 erzeugt und zu dem digitalen
Filter 6 geleitet.
Wenn die Ergebnisdaten zu "512" werden, wird der Ausgangsanschluß
des Inverters 32 zu "0" invertiert, wie es bei
(d) in Fig. 5 dargestellt ist. Im Ergebnis wird ein
Subtraktionsbefehl zu dem Addier/Subtrahier-Schaltkreis
43 geleitet, so daß ein Signal mit dem logischen Wert
"0" zu den EXOR-Gattern 27-6 bis 27-0, dem Inverter 31
und dem Carry-Eingangsanschluß Cin des Volladdierers 30
geleitet wird. Wenn die Ergebnisdaten zu "511" werden,
wird das Ausgangssignal des UND-Gatters 22-1 zu "1" invertiert,
wie es bei (b) in Fig. 5 dargestellt ist. Während
somit die Ergebnisdaten sich von "511" zu "0" ändern,
produziert der Ausgang des Volladdierers 30 Amplitudenwertdaten,
welche aus dem ROM 23 unter Adressierung des ROMs
23 mittels Adreßdaten ausgelesen werden, welche sich nach
und nach von der Minimaladresse zu der Maximaladresse
ändern.
Nachdem die Ergebnisdaten zu "0" geworden sind, wie es
bei (f) in Fig. 5 dargestellt ist, wird bei der darauffolgenden
Subtraktion das Datum β-(β-K) · γ in den Volladdierer
16 eingegeben. Wenn die Ergebnisdaten kleiner als
"0" werden, wird das Ausgangssignal der UND-Gatter 22-1
und 22-2 zu "0" invertiert, wie es bei (b) und (e) in
Fig. 5 dargestellt ist. Wenn die Daten β-(β-K) · γ
in den Volladdierer 16 eingegeben sind, wird die kumulative
Subtraktion um α an einem Zeitpunkt gestartet. Während
die Ergebnisdaten zu "1024" reduziert werden, verbleibt
das Ausgangssignal des Volladdierers 30 auf 8-bit-
Daten, welche alle den logischen Wert "1" aufweisen. Wenn
Ergebnisdaten kleiner als "1024" werden, wie es bei (f)
in Fig. 5 dargestellt ist, wird das Ausgangssignal des
UND-Gatters 22-2 zu "1" invertiert, wie es bei (e) in
Fig. 5 dargestellt ist. Während somit die Ergebnisdaten
nach und nach zu "512" reduziert werden, erzeugt der Volladdierer
30 dieselben Daten wie die aus dem ROM 23 ausgelesenen
Adreßdaten, wobei die Adreßfestlegung des ROMs
23 durch Adreßdaten erfolgt, die von den Maximaladressen
zu den Minimaladressen geändert werden. Hierbei werden
die Daten zu dem digitalen Filter 6 ausgegeben.
Während die Ergebnisdaten von "512" zu "0" reduziert
werden, werden die Ausgangssignale des UND-Gatters 22-1
und des Inverters 32 alle zu "1". Während dieser Zeitdauer
erzeugt der Volladdierer 30 Daten, die durch Invertierung
der Amplitudendaten ermittelt wurden, welche
von der Minimaladresse bis zu der Maximaladresse des
ROMs 23 ausgelesen wurden, welches in dieser Reihenfolge
angesteuert bzw. festgelegt wurde. Diese Daten werden
dann zu dem digitalen Filter 6 geleitet.
In obiger Weise wird die Verarbeitung zur Ausbildung
der PWM-Welle für eine Periode vervollständigt, und die
Reihenfolge der Ereignisse, wie oben beschrieben, wird
wiederholt. Die Frequenz f₀ ist hierbei gleich wie im
Falle der Rechteckwelle und wird durch die Gleichung
(2) angegeben.
Im folgenden wird die Funktion in Verbindung mit dem
Fall anhand von Fig. 8 beschrieben, bei welchem der
Wellenformgenerator 5 eine Sägezahnwelle erzeugt. In diesem
Fall wird ein Sägezahn-Festlegungsschalter auf dem
Schalterbereich 2 eingeschaltet. Dadurch wird der Gatterschaltkreis
G1 geöffnet und der Gatterschaltkreis G2
geschlossen. Ebenfalls werden die Übertragungsgatter
29 und 35 geöffnet und die Übertragungsgatter 26 und 33
geschlossen. In diesem Zustand wird das Verfahren für
die Ausbildung der Sägezahnwelle gestartet, wenn eine
Taste auf der Tastatur 1 eingeschaltet wird.
Im folgenden wird die Funktion von einem Augenblick an
beschrieben, wenn das Ausgangssignal des Schieberegisters
17, wie es bei (d) in Fig. 6 dargestellt ist, "0" beträgt
("0" am linken Rand der Figur). Zu diesem Zeitpunkt werden
die Noten-Frequenzcodedaten β in den Volladdierer 16 eingegeben.
Die Noten-Frequenzcodedaten β werden dann von
dem Schieberegister 16 erzeugt. Da die Codedaten β größer
als "1024" sind, werden die Ausgangssignale der UND-
Gatter 22-1 und 22-2 zu "0" invertiert, wie es bei (b) und
(c) in Fig. 6 dargestellt ist. Mit der Inversion des UND-
Gatters 22-2 zu "0" erzeugt der Inverter 37 ein Ausgangssignal
mit dem logischen Wert "0", und der Inverter 47
erzeugt ein Ausgangssignal mit dem logischen Wert "1".
Somit werden die Übertragungsgatter 34-7 bis 34-0 geschlossen,
während die Übertragungsgatter 46-7 bis 46-0
geöffnet werden. Ferner wird die kumulative Subtraktion
der Noten-Frequenzcodedaten β (d. h., konstante Daten) von den
Noten-Frequenzcodedaten β in den Volladdierern 15 und 16,
Schieberegistern 17 und UND-Gattern 18-15 bis 18-0 gestartet.
Bis die Ergebnisdaten der kumulativen Subtraktion
nach und nach auf "1024" reduziert worden sind, wird
das Ausgangssignal des UND-Gatters 22-2 nicht geändert.
Während dieser Zeit wird das Ausgangssignal des Subtrahierschaltkreises
45 über Übertragungsgatter 46-7 bis
46-0 geleitet, welche geöffnet sind. Die Ausgangsdaten
M-K des Subtrahierschaltkreises 45 werden zu dem Eingangsanschluß
A des Dividierschaltkreises 44 geleitet,
während die Ausgangsdaten (β-K) zu dem B-Eingangsanschluß
des Divisionsschaltkreises 44 geleitet werden. Der Divisionsschaltkreis
44 erzeugt somit die Ausgangsdaten H′,
die sich wie folgt ergeben
wobei M das Ausgangssignal des Schieberegisters 17, K
eine Konstante ("1024" in diesem Falle) und H der maximale
Amplitudenwert ("256" in der vorliegenden Ausführungsform)
ist. Die Gleichung (3) reduziert sich somit auf
Aus Gleichung (4) ist ersichtlich, daß, wenn das Ausgangssignal
M des Schieberegisters 17, d. h., die Ergebnisdaten
der kumulativen Subtraktion, zu "1024" wird, die
zu dem digitalen Filter 6 geleiteten Daten "0" sind. Wenn
die Ergebnisdaten kleiner als "1024" werden, wird das Ausgangssignal
des UND-Gatters 22-2 zu "1" invertiert, wie
es bei (c) in Fig. 6 dargestellt ist. Somit werden die
Übertragungsgatter 34-7 bis 34-0 geöffnet, während die
Übertragungsgatter 46-7 bis 46-0 geschlossen werden. Bis
die Ergebnisdaten der kumulativen Subtraktion nach und
nach auf "512" reduziert worden sind, verbleibt das Ausgangssignal
des UND-Gatters 22-1 auf "0". Während dieser
Zeit wird der "1"-Ausgangsdatenwert des Inverters 28 zu
den EXOR-Gattern 27-6 bis 27-0, dem Inverter 31 und dem
Carry-Eingangsanschluß Cin des Volladdierers 30 geleitet.
Während die Ergebnisdaten von "1023" zu "512" vermindert
werden, erzeugt der Volladdierer 30 Daten, welche durch Invertierung
der Amplitudendaten ermittelt werden, welche
von der Maximaladresse bis zur Minimaladresse des ROMs
23 ausgelesen sind, welche in dieser Reihenfolge bezeichnet
worden sind. Diese Daten werden zu dem digitalen
Filter 6 und die Übertragungsgatter 34-7 bis 34-0 geleitet.
Wenn die Ergebnisdaten kleiner als "512" werden, wird das
Ausgangssignal des UND-Gatters 22-1 zu "1" invertiert,
wie es bei (b) in Fig. 6 dargestellt ist. Somit wird folgend
auf das Auftreten dieses "1"-Signales, welches zu den
EXOR-Gattern 20-8 bis 20-0 geleitet wird, das ROM 23 hinsichtlich
seiner Adresse mit Adreßdaten angesteuert, welche sich
von der Minimaladresse zu der Maximaladresse ändern,
während der Ausgangsdatenwert "0" des Inverters 28 zu
den EXOR-Gattern 27-6 bis 27-0, dem Inverter 31 und dem
Carry-Eingangsanschluß Cin des Volladdierers 30 geleitet
wird. Somit wird, während die Ergebnisdaten sich von "511"
auf "0" ändern, der aus dem ROM 23 ausgelesene Amplitudendatenwert
direkt zu dem digitalen Filter 6 geleitet. Dann
werden die Noten-Frequenzcodedaten β erneut in den Volladdierer
16 eingegeben.
Auf diese Art wird das Verfahren zur Ausbildung der Sägezahnwelle
für eine Periode vervollständigt. Die Frequenz
f₀ ergibt sich hier zu
Aus Gleichung (5) ist ersichtlich, daß in dem Falle der
Sägezahnwelle, anders als in den Fällen der Rechteckwelle
und der PWM-Welle, es erforderlich ist, die Noten-Frequenzcodedaten
β zu verdoppeln.
Die Beschreibung bis hierin betraf den Fall, bei welchem
lediglich eine Taste auf der Tastatur 1 in die Funktion
des Ausbildens der Rechteckwelle, der bezüglich der Impulsbreite
modulierten Welle und der Sägezahnwelle überführt
wurde. Da jedoch die vorliegende Ausführungsform
des Musiksynthesizers eine polyphone Musik mit acht Tönen
erlaubt, können, auch wenn eine Mehrzahl von Tasten (bis
zu neun Tasten) zugleich betätigt werden, die Schaltkreise
in Fig. 1 und 2 jedoch im Zeitmultiplexverfahren für
acht Kanäle arbeiten, und so Grundwellen für die einzelnen
Töne zugleich erzeugen, wobei die Einzelheiten dieser
Schaltung jedoch hier nicht näher erläutert werden.
In dem in Fig. 1 beschriebenen Ausführungsbeispiel weisen
die Daten α, welche durch die CPU 3 erzeugt sind,
ein festes Datum auf. Wenn Daten, die periodisch verändert
werden können, als Datum α verwendet werden, ist es möglich,
Vibrato mit der gleichen Tiefe und der gleichen Geschwindigkeit
für alle Musiknoten zu erzeugen. Ferner ist
es möglich, eine Frequenzsteuerung über eine Variation
des Datums α zu erhalten.
In Fig. 7 ist eine weitere Ausführungsform dargestellt,
in welcher das Datum α variabel ist. Steuersignale D1
bis D3 werden von der CPU 3 erzeugt und zu einem Frequenz-
Modulationsbereich 4a geleitet. Der Frequenz-Modulationsabschnitt
4a legt hinsichtlich der Frequenz modulierte
Daten α an den Wellengenerator 5 an. Fig. 8
zeigt den Frequenz-Modulationsabschnitt 4a im einzelnen.
Diese Ausführungsform von Fig. 7 ist gleich derjenigen
bei dem vorherigen Ausführungsbeispiel von Fig. 1, außer,
daß der Frequenz-Modulationsabschnitt 4a vorgesehen ist.
Der Frequenz-Modulationsabschnitt 4a weist einen Niederfrequenzoszillator
(LFO) 4a-1, einem Abstimm-Steuerabschnitt
4a-2 und ein Schieberegister 4a-3 auf. Die Steuerdaten
D-1 und D-2 werden an dem LFO 4a-1 bzw. dem Abstimmsteuerabschnitt
4a-2 angelegt. Der im folgenden als LFO
4a-1 bezeichnete Niederfrequenzoszillator erzeugt ein
niederfrequentes Signal für je eine Dreieck-, Sägezahn-
oder Rechteckwelle unter Steuerung durch die eingegebenen
Steuerdaten D-1, wobei das erzeugte niederfrequente Signal
an das Schieberegister 4a-3 angelegt wird. Der LFO 4a-1
wird im folgenden im einzelnen anhand der Fig. 9 und 10
beschrieben.
Der Abstimm-Steuerabschnitt 4a-2 bewirkt eine Steuerung der
Abstimmung entsprechend den eingegebenen Steuerdaten
D-2. Seine Ausgangsdaten werden zu dem Schieberegister
4a-3 geleitet. Das Schieberegister 4a-3 legt Daten, welche
es von dem LFO 4a-1 und dem Abstimm-Steuerabschnitt 4a-2
als die oben erwähnten Daten α empfangen hat, an die
B-Eingangsanschlüsse des Volladdierers 15 an (vgl. Fig. 2),
wenn Vibrato erzeugt wird oder wenn das Abstimmen ausgeführt
wird. Zu einem anderen Zeitpunkt als wenn Vibrato
erzeugt wird oder das Abstimmen ausgeführt wird, werden
Daten D-3 von der CPU 3 an das Schieberegister 4a-3 angelegt.
Das Schieberegister 4a-3 legt die Daten D-3 als
die Daten α an die B-Eingangsanschlüsse des Volladdierers
15 an. In einem Fall, in welchem der Musiksynthesizer ein
Musiksynthesizer für vielstimmige Wiedergabe von acht Tönen
ist, besteht das Schieberegister 4a-3 aus kaskadenförmig
verbundenen Schieberegistern mit einer Wortbreite
von 16 Bit.
Der LFO 4a-1 wird anhand der Fig. 9 und 10 im Detail
beschrieben. Was Fig. 9 angeht, ist ein Binärzähler
60 vorgesehen, welcher aktiviert wird, um einen Takt CLK
zu zählen, wenn und nur wenn ein Steuerdatum von der CPU 3
an den Eingangsanschluß ENABLE des Zählers angelegt wird
(d. h., wenn Vibrato erzeugt wird). Zähldaten, die von
den Bit-Ausgangsanschlüssen 1, 2, 4, 8, 16, 32 und 64 des
Binärzählers 60 erzeugt werden, werden zu entsprechenden
UND-Gattern 61-0 bis 61-6 in einer UND-Gattergruppe 61
geleitet. Das Durchschalten der UND-Gattergruppe 61 wird
durch ein Steuersignal gesteuert, welches von einem Inverter
62 angelegt wird, welches eine Ausbildungsanweisung
für eine Rechteckwelle invertiert. Die Ausgänge der
UND-Gatter in der UND-Gattergruppe 61 sind je über Inverter
63 mit entsprechenden UND-Gattern in einer UND-Gattergruppe
64 verbunden. Ferner werden diese Ausgangssignale
direkt zu den entsprechenden UND-Gattern in einer UND-
Gattergruppe 65 geleitet.
Das Ausgangssignal aus dem höchstwertigen Ausgangsanschluß
128 des Binärzählers 60 (MSB) wird ebenfalls zu einem
UND-Gatter 66 und auch zu einem
UND-Gatter 66 und auch zu einem Übertragungsgatter 67-6
in einer Übertragungsgattergruppe 67 geleitet. Das UND-
Gatter 66 wird durch das Ausgangssignal eines ODER-Gatters
68 durchgeschaltet, an welches die Ausbildungsanweisung
für eine Rechteckwelle, wie oben erwähnt, und eine Ausbildungsanweisung
für eine Dreieckwelle angelegt werden.
Das Ausgangssignal des UND-Gatters 66 wird als Gatter-
Steuersignal für die UND-Gattergruppe 64 verwendet.
Ein Signal aus einem Inverter 69, welches das Ausgangssignal
des UND-Gatters 66 invertiert, wird als Durchschalt-
Steuersignal für eine UND-Gattergruppe 65 verwendet.
Die Ausgangssignale der UND-Gattergruppen 64 und 65
werden über eine ODER-Gattergruppe 70 zu einer Übertragungsgattergruppe
67 geleitet. Die Übertragungsgattergruppe
67 wird direkt durch eine Sägezahn-Ausbildungsanweisung
durchgeschaltet, während die Übertragungsgattergruppe
71 durch ein Signal von einem Inverter 72 durchgeschaltet
wird, welcher die Ausbildungsanweisung für
die Sägezahnwelle oder das Steuersignal für die Sägezahnwelle
invertiert. Die Ausgangssignale der Übertragungsgattergruppen
67 oder 71 (welche 7-bit-Daten darstellen)
dienen als Daten für die Erzeugung des Amplitudenpegels
einer Dreieckswelle, einer Sägezahnwelle und einer Rechteckwelle,
wie es je bei (b), (c) und (d) in Fig. 10 dargestellt
ist; d. h., niederfrequente Signale mit einer
dreieckigen, sägezahnförmigen oder rechteckigen Form werden
entsprechend diesen Daten erzeugt. Ein Vibratoeffekt
kann durch diese niederfrequenten Signale erzeugt werden.
Die von dem LFO 4a-1 in dem Frequenz-Modulationsabschnitt
4a erzeugten Daten werden als niederwertige Bit-Daten
des Datums α erzeugt. Die Daten α werden hier mit einer
niedrigen Frequenz entsprechend der Betätigung des LFO
4a-1 variabel, welche später beschrieben wird. Im einzelnen
zählt der Binärzähler 60 in Fig. 9 das Taktsignal
CLK, wobei das Steuersignal von der CPU 3 zu dem Eingangsanschluß
ENABLE geleitet wird. Die Zähldaten ändern sich
von "0" bis "256" in einer Periode.
Wenn die Ausbildungsanweisung für die Dreieckswelle
(d. h., bei "1") infolge der Betätigung eines entsprechenden
Schalters in dem Schalterbereich 2 vorliegt, befindet
sich der Ausgang des ODER-Gatters 68 auf dem logischen Pegel "1",
und das UND-Gatter 66 ist in einem aktivierten Zustand.
Wenn eine Sägezahnwellen-Ausbildungsanweisung und eine
Ausbildungsanweisung oder ein Ausbildungssignal für eine
Rechteckwelle beide "0" sind, liegt der Ausgangsanschluß
des Inverters 62 auf dem logischen Pegel "1". Somit ist
die UND-Gattergruppe 61 in einem aktivierten Zustand, die
Transfer-Gattergruppe oder die Übertragungsgattergruppe
67 in einem deaktivierten Zustand und die Übertragungsgattergruppe
71 in einem aktivierten Zustand.
Während der Zeitdauer, während welcher der Bit-Ausgangsanschluß
128 des Binärzählers 60 sich auf einem logischen
Pegel "0" befindet, d. h., in der ersten Hälfte einer
Periode (während welcher sich die Zählerdaten von "0"
zu "128" ändern), liegt somit der Ausgang des UND-Gatters
66 auf dem logischen Pegel "0". Während dieser Periode
ist die UND-Gattergruppe 64 in einem deaktivierten Zustand,
während die UND-Gattergruppe 25 in einem aktivierten Zustand
ist. Somit werden für die erste Hälfte einer Periode
die Zählerdaten von den Bit-Ausgangsanschlüssen 64 bis 1
des Binärzählers 60 (welches 7-bit-Daten sind) über die
UND-Gattergruppen 61 und 65, die ODER-Gattergruppen 70
und die Übertragungsgattergruppe 71 geleitet. Die Ausgangsdaten
sind somit gleich wie die Zählerstandsdaten
des Binärzählers 60 und werden um je "1" erhöht.
Für den darauffolgenden Zeitabschnitt, während welches
der Bit-Ausgangsanschluß 128 des Binärzählers auf "1"
liegt, d. h., für die zweite Hälfte einer Periode (während
welcher Hälfte sich die Zählerstandsdaten von "128" auf
"256" ändern, erzeugt das UND-Gatter 66 ein Ausgangssignal
mit dem Wert "1". Somit ist für die zweite Hälfte einer
Periode die UND-Gattergruppe 64 in einem aktivierten Zustand,
während die UND-Gattergruppe 65 in einem deaktivierten
Zustand ist. Während dieses Zeitabschnittes werden
Daten aus allen Bit-Ausgangsanschlüssen 64 bis 1 des Binärzählers
60 über die UND-Gattergruppe 61, die Invertergruppe
63, die UND-Gattergruppe 64, die ODER-Gattergruppe
70 und die Schalt-Gattergruppe 71 geleitet. Die Ausgangsdaten
werden so je um 1 vermindert oder dekrementiert.
In obiger Weise wird ein niederfrequentes Dreieckssignal,
wie es bei (b) in Fig. 10 dargestellt ist, erzeugt, welches
für einen Vibratoeffekt erzeugt wird.
Wenn nur die Ausbildungsanweisung für die Sägezahnwelle
vorliegt, ist nur die Übertragungsgattergruppe 67 in einem
aktivierten Zustand, während die Übertragungsgattergruppe
71 sich in einem deaktivierten Zustand befindet.
Ferner ist die UND-Gattergruppe 61 in einem aktivierten
Zustand und das UND-Gatter 66 ist gesperrt. Somit ist die
UND-Gattergruppe 64 in einem deaktivierten Zustand, und
die UND-Gattergruppe 65 ist in einem aktivierten Zustand.
Für die erste Hälfte einer ganzen Periode (d. h., während
der Zählerstandswert sich von "0" zu "128" ändert), werden
Zählerstandsdaten von den Bit-Ausgangsanschlüssen
des Binärzählers 60 über die UND-Gattergruppe 61 und die
Übertragungsgattergruppe 67 geleitet. Die Ausgangsdaten
erhöhen sich somit je um 1 von "0" bis "128" mit einer
Hälfte des Anstiegs der Dreieckswelle.
Für die zweite Hälfte einer Periode (d. h., während die
Zählerstandsdaten sich von "128" auf "256" ändern), ist
das Ausgangssignal des MSB-Ausgangsanschlusses 128 des
Binärzählers 60 auf dem logischen Pegel "1". Die Ausgangsdaten
erhöhen sich somit je um 1 von "128" auf
"256" mit der gleichen Steigung wie vorher von "0" auf
"128".
In der obigen Weise wird ein Dreiecksignal mit einer
tiefen Frequenz erzeugt, wie es bei (c) in Fig. 10 dargestellt
ist.
Wenn nur die Ausbildungsanweisung für die Rechteckwelle
anliegt, wird die UND-Gattergruppe 61 mittels eines
"0"-Ausgangssignals des Inverters 62 deaktiviert gehalten,
und ferner auch das UND-Gatter 66 aktiviert gehalten.
Somit wird für die erste Hälfte einer ganzen Periode
(während welcher die Zählerstandsdaten sich von "0" auf
"128" ändern), der Bit-Ausgangsanschluß 128 zu "0", und
das Ausgangssignal des UND-Gatters 66 wird auch zu "0".
Somit wird die UND-Gattergruppe 64 gesperrt gehalten und
die UND-Gattergruppe 65 wird aktiviert gehalten. Da die
UND-Gattergruppe 61 gesperrt gehalten wird, werden die
Ausgangssignale der UND-Gatter in der UND-Gattergruppe
65 alle zu "0", und die Ausgangssignale der UND-Gatter
in der UND-Gattergruppe 64 werden alle zu "0". Somit sind
für die erste Hälfte einer ganzen Periode die ausgegebenen
Daten alle "0"-Daten.
Für die zweite Hälfte einer ganzen Periode (während welcher
die Zählerstandsdaten sich von "128" auf "256"
ändern), ist das Ausgangssignal des Bit-Ausgangsanschlusses
128 "1", so daß das Ausgangssignal des UND-Gatters
66 auch "1" ist. Somit wird die UND-Gattergruppe 64 aktiviert
gehalten, und die UND-Gattergruppe 65 wird gesperrt
gehalten. Dadurch wird wiederum das Ausgangssignal der
UND-Gattergruppe 61, welches sich aus Daten zusammensetzt,
die alle den logischen Wert "0" aufweisen, über die Invertergruppe
63 in Daten invertiert, welche alle den
logischen Wert "1" aufweisen, welche über die UND-
Gattergruppe
64, die ODER-Gattergruppe 70 und die Schaltgattergruppe
71 geleitet werden. Daraus ergibt sich, daß für
die zweite Hälfte einer ganzen Periode die ausgegebenen
Daten auf "127" gehalten werden (alles "1"). Somit kann
ein niederfrequentes Signal in Form einer Rechteckwelle
erhalten werden, wie es bei (d) in Fig. 10 dargestellt
ist.
Da der LFO 4a-1 in der obigen Weise arbeitet, wenn der
Wert der Daten α sich mit niedrigen Frequenzen ändert,
ändert sich die Frequenz f₀ der Rechteckwelle entsprechend
der Änderung der Daten α, wie es sich aus Gleichung (2)
offensichtlich ergibt. Somit ist es möglich, einen Vibratoeffekt
für den erzeugten Ton zu schaffen.
Die Funktion der Abstimmung hinsichtlich eines Tones, welcher
auf der Rechteckwelle beruht, wird im folgenden beschrieben.
In diesem Falle werden Daten, welche von dem
Abstimm-Steuerabschnitt 4a-1 in dem Frequenz-Modulationsabschnitt
4a erzeugt werden, als niederwertige Bit-Daten
der Daten α des B-Eingangsanschlusses des Volladdierers
15 geleitet. Der Abstimm-Steuerabschnitt 4a-2 addiert einen
konstanten Wert zu dem richtigen Wert der Daten oder
subtrahiert den konstanten Wert von diesem. Mathematisch
gesehen ergibt sich
f₀ = a (Hz) (6)
und
wobei f₀ die Frequenz ist, bei welcher die Abstimmung
erfolgt und f₀′ die Frequenz ist, wenn die Abstimmung
um n(cent) getätigt ist.
Aus Gleichung (2) können die Gleichungen (6) und (7) als
und
umgeschrieben werden.
Aus den Gleichungen (6) bis (9) ergibt sich der Wert
n zu
Es wird deutlich, daß durch Betätigung eines vorgegebenen
Schalters die Frequenz f₀ des produzierten Tones um einen
Cent entsprechend der Gleichung (10) verändert werden
kann, also daß die Abstimmung ohne weiteres ermöglicht
wird.
In Fig. 11 ist ein Blockdiagramm dargestellt, welches
eine andere Ausführungsform der Erfindung zeigt, die
Vibrato erzeugen kann. Hierbei werden Frequenz-Modulations-
Codedaten α′ und Noten-Frequenzcodedaten 3′, welche
aus der CPU 3 erzeugt werden, zu einem Durchschnittsfaktor-
Frequenzarithmetikbereich 4b geleitet. Der Durchschnittsfaktor-
Frequenzarithmetikbereich 4b ist ein
Schaltkreis, der immer die Frequenzcodedaten β und α
entsprechend dem Durchschnittsfaktor an den Wellengenerator
5 anlegt, unabhängig von der Frequenzmodulation.
Im folgenden werden verschiedene Beispiele des Aufbaus
des Durchschnittsfaktor-Frequenzarithmetikbereiches 4b
anhand der Fig. 12 bis 18 beschrieben. Fig. 12 stellt
ein erstes Beispiel des Frequenzarithmetikbereiches
4b dar. Hierbei bestehen Noten-Frequenzcodedaten β′ und
Frequenzmodulations-Codedaten α′ beide aus N Bits. Von
den N-bit-Daten bezeichnen die unteren n Bits eine Tonhöhe,
die tiefer als ein Halbton ist, die oberen vier
Bits bezeichnen die Note; und die verbleibenden oberen
N-n-4 Bits bezeichnen die Oktave. Die 4-bit-Daten, welche
die Note bezeichnen, werden als Dezimalcode ausgedrückt,
und die anderen Daten sind als Binärcode ausgedrückt.
Die (N-n-4)-bit-Daten, welche die Noten-Frequenzcodedaten
β′ und die Frequenzmodulations-Codedaten α′
darstellen, werden beide zu einem binären Addierer/Subtrahierer
81 geleitet. Die 4-bit-Daten, welche die Note
bezeichnen, werden beide zu einem duodezimalen Addierer/
Subtrahierer 82 geleitet, und die niederwertigen n-bit-
Daten, welche die Tonhöhe bezeichnen, die niedriger als
ein Halbton ist, werden zu einem binären Addierer/Subtrahierer
83 geleitet. Der binäre Addierer/Subtrahierer 81,
der duodezimale Addierer/Subtrahierer 82 und der binäre
Addierer/Subtrahierer 83 führen eine Addition oder eine
Subtraktion ihrer Eingangsdaten entsprechend einem
Addier/Subtrahier-Befehl (-) aus, welcher von der CPU 3
angelegt ist. Der Carry-Ausgang oder der Übertragungsausgang
des binären Addierer/Subtrahierers 83 wird von einem Anschluß
C0 desselben erzeugt und an einen Anschluß Cin
des duodezimalen Addierer/Subtrahierer 82 geleitet.
Der Carry-Ausgang des duodezimalen Addierer/Subtrahierers
82 wird an einem Anschluß C0 desselben erzeugt und zu
einem Anschluß Cin in dem binären Addierer/Subtrahierer
81 geleitet. Die Ergebnisdaten des binären Addierer/Subtrahierers
81 und des duodezimalen Addierer/Subtrahierers
82 werden als Adreßdaten zu einem ROM 84 geleitet. Die
Ergebnisdaten des binären Addierer/Subtrahierers 83 werden
als Adreßdaten zu einem ROM 85 geleitet. In dem ROM
84 werden Noten-Frequenzcodedaten β entsprechend dem
Durchschnittsfaktor gespeichert, und in dem ROM 85 werden
Frequenzmodulations-Codedaten α für einen Halbton (für
100 Cent) entsprechend dem Durchschnittsfaktor als Exponentialfunktionsdaten
abgespeichert. Die Noten-Frequenzcodedaten
β und die Frequenzmodulations-Codedaten α werden
aus den ROMs 84 und 85 ausgelesen und werden beide
zu dem Wellengenerator 5 geleitet.
In Fig. 13 ist ein Beispiel dargestellt, in welchem die
Notenfestlegungsdaten mit einer Wortlänge von 4 Bit, die
in dem Beispiel von Fig. 12 als Duodezimalcode ausgedrückt
sind, als Binärdaten ausgedrückt sind. In diesem Falle
werden die Noten-Frequenzcodedaten β′, die Frequenzmodulations-
Codedaten α′ und die Additions/Subtraktions-
Anweisung (-) an einen einzelnen binären Addierer/Subtrahierer
86 angelegt. Die oberen (N-n)-bit-Daten von den
Ergebnisdaten der Durchschnittsfaktor-Frequenzverarbeitung,
die in dem binären Addierer/Subtrahierer 86 ausgeführt
wird, werden als Adreßdaten an ein ROM 87 angelegt,
während die unteren n-bit-Daten auch als Adreßdaten an
ein ROM 88 angelegt werden. Das ROM 87 weist die gleiche
Funktion wie das ROM 84 auf, und das ROM 88 weist die
gleiche Funktion wie das ROM 85 auf. Die Noten-Frequenzcodedaten
β werden von dem ROM 84 ausgelesen, und die
Frequenzmodulations-Codedaten α werden aus dem ROM 88
ausgelesen.
In Fig. 14 ist ein Beispiel dargestellt, in welchem das
ROM 88 in dem Beispiel von Fig. 13 durch einen binären
Addierer/Subtrahierer 89 ersetzt wurde. Hier sind beide
Noten-Frequenzcodedaten β′ und Frequenzmodulations-
Codedaten α′ als Binärcode ausgedrückt, welcher zu
dem binären Addierer/Subtrahierer 86 geleitet wird, welcher
die gleiche Funktion wie der binäre Addierer/Subtrahierer
86 in Fig. 13 aufweist. Die oberen (N-n)-bit-
Daten der Ergebnisdaten des binären Addierer/Subtrahierers
86 werden zu dem ROM 87 geleitet, welches die gleiche
Funktion wie das ROM 87 an dem Beispiel von Fig. 13
für das Auslesen der Noten-Frequenzcodedaten β aufweist.
Die niederwertigen n-bit-Daten Y werden zu dem binären
Addierer/Subtrahierer 89 geleitet. Zu dem binären Addierer/
Subtrahierer 89 werden auch Daten X geleitet, die
einen Wert gleich den Frequenzmodulations-Codedaten α
in dem Fall aufweisen, wo Frequenzmodulation auftritt.
Die Ergebnisdaten X±Y des binären Addierer/Subtrahierers
89 werden als Frequenzmodulations-Codedaten α erzeugt.
Der Wert der Daten X, der aus der CPU 3 erzeugt wurde,
wird somit ausgewählt, um die folgende Bedingung zu erfüllen:
In dem Falle, daß N beispielsweise gleich 8 ist, so daß
der binäre Addierer/Subtrahierer 89 als Addierer arbeitet,
wenn die Daten Y (die Werte zwischen "0" und "63" annehmen
können) "63" betragen, so ergibt sich aus Gleichung
(11):
Somit wird ein Wert von "1509" als der Wert der Daten
X von der CPU 3 erzeugt.
In diesem Beispiel ändern sich Signale, die kleiner als
der Halbton sind, linear; dieses ergibt jedoch in der
Praxis keine Probleme.
In Fig. 15 ist ein Beispiel dargestellt, in welchem
der binäre Addierer/Subtrahierer 89 in dem Beispiel von
Fig. 14 durch einen Decoder 90 ersetzt wurde. Hierbei
wurde der Hardwareaufbau weiter vereinfacht. Der binäre
Addierer/Subtrahierer 86 weist die gleiche Funktion wie
der binäre Addierer/Subtrahierer 86 in dem Beispiel von
Fig. 22 auf, und das ROM 87 weist die gleiche Funktion
wie das ROM 87 in dem Beispiel von Fig. 14 auf. Von den
Ergebnisdaten aus dem binären Addierer/Subtrahierer 86
werden die niederwertigen n-bit-Daten zu dem Decoder 90
geleitet, während die Ausgangsdaten Y des Decoders 90
und die Daten X als Frequenzmodulations-Codedaten vorgesehen
sind.
Von den Daten X sind die niederwertigen n-bit-Daten allesamt
"0". Somit ergibt sich die Gleichung:
Die Daten Y ergeben sich somit:
Als Beispiel sei der Fall betrachtet, bei welchem n = 6
ist, so daß die niederwertigen 6-bit-Daten sich alle
auf dem logischen Wert "0" befinden, während X
ist:
X = 1111000000 (= "960")
In diesem Falle ergibt sich Y aus Gleichung (13) zu
"56". Der Decoder 90 kann so aufgebaut werden, daß sein
Ausgangssignal (d. h., das Datum Y) einen Wert von "0"
bis "56" entsprechend den niederwertigen 6-bit-Daten
des Ausgangssignales des binären Addierer/Subtrahierers
86 annimmt. Dieses Decoder-Ausgangssignal wird zu den
niederwertigen 6 Bit der Daten X addiert, um die Frequenzmodulations-
Codedaten α zu erzeugen. Auf diese Art
kann die Tonhöhe von 0 bis 100 Cent verändert werden,
d. h., bis zu dem maximalen Halbton, wenn die Daten Y
von "0" bis "56" verändert werden.
Als weiteres Beispiel ergibt sich für Y, wenn X lautet:
X = 1101000000 (= "832"),
0 Y 48.
In Fig. 16 ist ein Beispiel dargestellt, bei welchem die
Frequenzmodulations-Codedaten α′ das Produkt eines
Vibrato-Wellenformsignales und eines Vibratotiefen-Festlegungssignales
ist. Hier wird das Vibratowellenformsignal
von einem - nicht dargestellten - Generator zur
Erzeugung einer genau bestimmten Wellenform unter Steuerung
der CPU 3 erzeugt, während das Vibrato-Tiefenfestlegungssignal
durch Betätigung eines vorgegebenen Schalters
in dem Schalterbereich 2 erzeugt wird. Das Vibrato-
Wellenformsignal und das Vibratotiefen-Festlegungssignal
werden miteinander in einem Multiplizierer 21 multipliziert.
Von den Ergebnisdaten aus dem Multiplizierer 91
werden die unteren Bitseitendaten entsprechend einem
Halbton durch einen Gatterschaltkreis G zu einer Durchschnittsfaktor-
Frequenzarithmetikeinheit 92 geleitet,
welche durch ein von der CPU 3 erzeugtes Steuersignal a
durchgeschaltet wird. Die Daten der oberen Bitseite der
Ergebnisdaten werden direkt, zusammen zu den Frequenzmodulations-
Codedaten α′, zu der Durchschnittsfaktor-
Frequenzarithmetikeinheit 92 geleitet. Die Notenfrequenz-
Codedaten β′ werden ferner zu der Durchschnittsfaktor-
Frequenzarithmetikeinheit 92 geleitet. Die Durchschnittsfaktor-
Frequenzarithmetikeinheit 92 kann der in Fig. 13
dargestellte Schaltkreis sein.
In dem Falle, wenn der Gatterschaltkreis G mit einem
an ihn angelegten "0"-Signal, wie dem Steuersignal a,
gesperrt wird, sind die Daten der unteren Bitseite entsprechend
dem Halbton in den Frequenzmodulations-Codedaten
α′ alle "0". Mit diesen Frequenzmodulations-
Codedaten α′, welche zu der Durchschnittsfaktor-Frequenzarithmetikeinheit
92 geleitet werden, "an" eine Vibratowellenform,
die halbtonweise variiert, entsprechend den
Notenfrequenzcodedaten β′ und den Frequenzmodulationscodedaten
α′ erhalten werden, welche von der Durchschnittsfaktor-
Frequenzarithmetikeinheit
92 erzeugt werden.
In Fig. 17 ist ein Beispiel dargestellt, das Portamento-
Spiel nur während der einstimmigen oder monophonen Spielweise
erlaubt. Hierbei wird ein NEW KEY CODE, welcher erzeugt wird, wenn eine neue
Taste eingeschaltet wird, als Code
für eine neue betätigte Taste zu einem Anschluß T eines Komparators
93 geleitet. Zu diesem Zeitpunkt ist ein Code
entsprechend der vorher eingeschalteten Taste von einem
Flip-Flop 96 zu einem Anschluß S des Komparators 93
zurückgeleitet worden. Der Komparator 93 vergleicht die
Größen der Codes an den Anschlüssen T und S. Wenn der
Code an dem Anschluß T kleiner als der Code an dem Anschluß
S ist, d. h., wenn die Tonhöhe des Tones der neuen
Taste kleiner als die der vorherigen Taste ist, wird ein
"1"-Signal von einem Anschluß S<T erzeugt, welcher zu
dem Steueranschluß (-) des binären Addierer/Subtrahierers
95 zu leiten ist und dort eine Subtraktion des binären
Addierer/Subtrahierers 95 bewirkt. Wenn der Code an dem
Anschluß T größer als der Code an dem Anschluß S ist,
d. h., wenn die Tonhöhe des Tones der vorher betätigten
Taste höher als die der neuen Taste ist, wird ein "0"-
Signal von einem Anschluß S<T erzeugt, welches zu dem Steueranschluß
(-) des binären Addierer/Subtrahierers 95
geleitet wird und dort eine Addition des binären Addierer/
Subtrahierers 95 bewirkt. Wenn die Codes an den Anschlüssen
T und S nicht übereinstimmen, erzeugt der Komparator
93 ferner ein "1"-Signal an dem Anschluß S≠T, um das
UND-Gatter 94 zu aktivieren. Wenn die beiden Codes übereinstimmen,
erzeugt der Komparator 93 ein "0"-Signal, um
das UND-Gatter 94 zu sperren. Ein Signal EXECUTE
(Ausführung) wird periodisch an das UND-Gatter 94 angelegt.
Während das UND-Gatter 94 aktiviert ist, wird dieses
Signal als ein "+1"-Signal oder als ein "-1"-Signal
an den binären Addierer/Subtrahierer 95 angelegt. Die
einem Halbton entsprechenden niederwertigen n-bit-Daten
von den N-bit-Daten, die in dem Flip-Flop 96 zwischengespeichert
sind, werden über den Gatterschaltkreis G an
den binären Addierer/Subtrahierer 95 angelegt. Die höherwertigeren
(N-n)-bit-Daten der n-bit-Daten werden direkt
zu dem binären Addierer/Subtrahierer 96 zurückgeleitet
bzw. rückgekoppelt. Der binäre Addierer/Subtrahierer 95
führt eine "+1"- oder eine "-1"-Inkrementierung der Daten
aus dem Flip-Flop 96 jedesmal dann aus, wenn das Signal
EXECUTE angelegt wird. Die Ergebnisdaten werden zu dem
Flip-Flop 96 geleitet. Die oberen (N-n)-bit-Daten von
den N-bit-Daten, die von dem Flip-Flop 96 erzeugt werden,
werden zu einem ROM 97 geleitet, wodurch die Noten-Frequenzcodedaten
β aus dem ROM 97 ausgelesen werden. Die
niederwertigen n-bit-Daten der N-bit-Daten werden zu
einem ROM 98 geleitet, wodurch die Frequenzmodulations-
Codedaten aus dem ROM 98 ausgelesen werden. Der Gatterschaltkreis
G wird durch das Steuersignal a durchgeschaltet.
Wie es dargestellt ist, führt der Addierer/Subtrahierer
95 mit dem Aufbau gemäß Fig. 17 eine Subtraktion aus,
wenn die Tonhöhe des Tones entsprechend einer neuerlich
betätigten Taste geringer als die entsprechend der vorher
betätigten Taste ist, während der binäre Addierer/
Subtrahierer 95 eine Addition ausführt, wenn die Tonhöhe
der neuen Taste höher ist als die der vorherigen Taste.
Somit kann der Portamento-Effekt erzeugt werden. Wenn das
Steuersignal a als "0"-Signal erzeugt wird, kann ein
Portamento-Effekt erreicht werden, der für jeden Halbton
variiert.
In Fig. 18 ist ein Beispiel dargestellt, in welchem ein
Gleiteffekt erzeugt werden kann. Wenn eine neue Taste eingeschaltet
wird, wird hier der entsprechende NEW KEY
CODE direkt an einen Anschluß T eines Komparators 99 und
auch an einen binären Addierer/Subtrahierer 100 über einen
Gatterschaltkreis G1 angelegt. Zur gleichen Zeit werden
Gleit-Weiten-Daten (glide width data) an den binären Addierer/
Subtrahierer 100 über einen Gatterschaltkreis G2
angelegt. Ferner wird ein Signal auf/ab über ein Transfergatter
104 an einen Steueranschluß (-) des binären Addierers/
Subtrahierers 100 angelegt. Der binäre Addierer/Subtrahierer
100 führt zu dieser Zeit eine Gleit-Weiten-
Subtraktion hinsichtlich des Codes NEW KEY CODE aus, wenn
das Signal auf/ab ein "auf"-Befehl ist (d. h., wenn ein "1"-
Signal), während der Addierer/Subtrahierer 100 eine
Gleit-Weiten-Addition hinsichtlich des Codes NEW KEY CODE
ausführt, wenn das Signal auf/ab ein "ab"-Befehl ist
(d. h., ein "0"-Signal). Die Ergebnisdaten werden zu
einem Flip-Flop 96 geleitet. Nachdem die Taste eingeschaltet
worden ist, werden die in dem Flip-Flop 96
abgespeicherten Ergebnisdaten direkt zu einem Anschluß S
des Komparators 99 und auch zu einem binären Addierer/
Subtrahierer 100 über einen Gatterschaltkreis G3 geleitet.
Ferner werden von den Ergebnisdaten die oberen
(N-n)-bit-Daten zu einem ROM 97 geleitet, wodurch die
Tonfrequenz-Codedaten β aus dem ROM 97 ausgelesen werden.
Die niederwertigen n-bit-Daten der N-bit-Daten werden zu
einem ROM 98 geleitet, wodurch die Frequenzmodulations-
Codedaten α aus dem ROM 98 ausgelesen werden. Ein Ergebnissignal,
welches aus dem Komparator 99 als Ergebnis
des Vergleiches der Eingangsdaten an den Anschlüssen S
und T des Komparators 99 erhalten wurde, wird ferner von
einem S<T-Terminal des Komparators 99 über ein Übertragungsgatter
105 zu dem Steueranschluß (-) des binären
Addierers/Subtrahierers 100 geleitet. Ein Signal EXECUTE
wird ferner über ein UND-Gatter 102 und ein Übertragungsgatter
103 zu dem binären Addierer/Subtrahierer 100 geleitet.
Nachdem die Taste eingeschaltet wurde, führt somit
der binäre Addierer/Subtrahierer 100 eine Addition oder
eine Subtraktion hinsichtlich der Ergebnisdaten aus dem
Flip-Flop 69 jedesmal dann aus, wenn das Signal EXECUTE
angelegt wird. Wenn der Komparator 99 die Übereinstimmung
oder Koinzidenz der Eingangsdaten an den Anschlüssen S und
T erfaßt, wird die Addition oder Subtraktion des binären
Addierers/Subtrahierers 100 abgebrochen, um die Erzeugung
des Gleiteffektes bzw. Glissandos zu stoppen.
Wenn die zwei Eingangsdaten an den Anschlüssen S und T
des Komparators 99 nicht übereinstimmen, erzeugt der Komparator
99 ein "1"-Signal an seinem S≠T-Anschluß. Wenn
die beiden Eingangsdaten übereinstimmen, erzeugt der
Komparator 99 ein "0"-Signal an dem gleichen Anschluß.
Die "1"- oder "0"-Signale werden zu dem UND-Gatter 102
geleitet. Wenn eine Taste gedrückt ist, wird ferner ein
Einzelimpulssignal NEW KEY ON an die Gatterschaltkreise
G1 und G2 und das Übertragungsgatter 104 angelegt, um
diese Gatterschaltkreise und das Übertragungsgatter zu
aktivieren. Das Signal NEW KEY ON wird ferner an einen Inverter
102 angelegt, dessen Ausgangssignal zu dem Gatterschaltkreis
G3 und den Übertragungsgattern 103 und 105
geleitet wird, um diese Gatterschaltkreise und Übertragungsgatter
zu aktivieren. Das Signal auf/ab und die
Gleit-Breiten-Daten werden erzeugt, wenn die entsprechenden
Schalter in dem Schalterbereich 2 betätigt werden.
Im folgenden wird die Funktionsweise beschrieben, die
stattfindet, wenn Vibrato für einen erzeugten Ton über
Frequenzmodulation vorgesehen ist. In diesem Falle führt
der Durchschnittsfaktor-Frequenzarithmetikabschnitt 4b,
der einen verschiedenartigen Aufbau haben kann, wie es
bei Fig. 12 bis 18 dargestellt ist, einen Arbeitsablauf
aus, der von dem Fall verschieden ist, bei welchem
keine Frequenzmodulation durchgeführt wird, und der Frequenzarithmetikabschnitt
4b erzeugt Noten-Frequenzcodedaten
β und Daten, welche nicht konstant sind, sondern
sich in der ganzen Zeitperiode ändern, d. h., die Frequenzmodulations-
Codedaten α, und legt sie an den Wellengenerator
5 an.
In dem Falle von Fig. 12 werden die Notenfrequenz-Codedaten
β′, die Frequenzmodulations-Codedaten α′, die beide
von der CPU 3 als N-bit-Daten erzeugt werden, und die unteren
n-bit-Daten zu dem binären Addierer/Subtrahierer
83 geleitet, die oberen 4-bit-Daten werden als duodezimale
Codedaten zu dem duodezimalen Addierer/Subtrahierer 82 geleitet,
und die oberen (N-n-4)-bit-Daten werden zu dem
binären Addierer/Subtrahierer 81 geleitet. In den Addierern/
Subtrahierern 81 bis 83 wird entweder eine Addition
oder eine Subtraktion in Abhängigkeit davon ausgeführt,
ob ein Additions- oder Subtraktionsbefehl von der CPU 3
anliegt. In diesem Falle wird das Ausgangssignal am Carry-
Ausgang von dem binären Addierer/Subtrahierer 82 an den
Anschluß Cin des binären Addierers/Subtrahierers 82 angelegt,
und das Carry-Ausgangssignal des binären Addierers/
Subtrahierers 82 wird an den Anschluß Cin des binären
Addierers/Subtrahierers 91 angelegt. Die Ergebnisdaten
aus dem binären Addierer/Subtrahierer 81 und 82 werden
an das ROM 84 angelegt, wodurch die Noten-Frequenzcodedaten
β aus dem ROM 84 entsprechend den Noten der betätigten
Taste angelegt werden. Unterdessen sind die
Ergebnisdaten des binären Addierers/Subtrahierers 83
zu dem ROM 85 geleitet worden, wodurch die Frequenzmodulations-
Codedaten α für die Variation der Frequenz des
erzeugten Tones bis herauf zu dem Halbton entsprechend
dem Durchschnittsfaktor aus dem ROM 85 ausgelesen werden.
Aus den Gleichungen (2), (5) wird ersichtlich, daß mit
Änderungen der Frequenzmodulations-Codedaten α die Frequenz
f₀ des erzeugten Tones verändert wird, wodurch
eine Frequenzmodulation erzielbar ist, welche Vibrato
od. dgl. erzeugen kann.
Im Falle von Fig. 13 werden daher die Noten-Frequenz-
Codedaten β′ und die Frequenzmodulations-Codedaten α′
als Binärdaten ausgedrückt, und der binäre Addierer/Subtrahierer
86 addiert oder subtrahiert die zwei Codedaten
β′ und α′. Von den Ergebnisdaten werden die oberen
(N-n)-bit-Daten zu dem ROM 87 geleitet, und die unteren
n-bit-Daten werden zu dem ROM 88 geleitet. Somit werden
die Noten-Frequenz-Codedaten β entsprechend der Note aus
dem ROM 87 ausgelesen, und die sich ändernden Frequenzmodulations-
Codedaten α werden aus dem ROM 88 ausgelesen.
In dem Falle von Fig. 14 addiert oder subtrahiert der
binäre Addierer/Subtrahierer 86 die Noten-Frequenzcodedaten
β′ und die Frequenzmodulations-Codedaten α′. Die
oberen (N-n)-bit-Daten aus dem Ergebnis werden an das
ROM 87 angelegt, während die tieferen n-bit-Daten Y
an den binären Addierer/Subtrahierer 89 angelegt werden.
Somit werden die Noten-Frequenzcodedaten β aus dem ROM 87
entsprechend der Note ausgelesen. Unterdessen werden
Daten X, die den gleichen Wert wie die Frequenzmodulations-
Codedaten α aufweisen, wenn eine Frequenzmodulation
nicht vorgesehen ist (ein konstanter Wert), von der CPU
3 erzeugt und an den binären Addierer/Subtrahierer 89 angelegt.
Die Daten X werden entsprechend Gleichung (11)
berechnet. Die Frequenzmodulations-Codedaten α, die auf
den Ergebnisdaten X+Y oder X-Y des binären Addierers/Subtrahierers
89 beruhen, werden somit erhalten.
In dem Falle von Fig. 15 empfängt der binäre Addierer/
Subtrahierer 86, wie der binäre Addierer/Subtrahierer
86 in dem Falle von Fig. 14, die Tonfrequenz-Codedaten
β′, die Frequenzmodulations-Codedaten α′ und das
Addier- oder Subtrahier-Kommando. Die oberen (N-n)-bit-
Daten der Ergebnisdaten werden an das ROM 87 angelegt,
und die unteren n-bit-Daten werden an den Decoder 90 angelegt.
Somit werden die Noten-Frequenzcodedaten 3 entsprechend
der Note aus dem ROM 87 ausgelesen. Unterdessen
erzeugt der Decoder 90 die Daten Y, die entsprechend der
Gleichung (13) unter Berücksichtigung dessen berechnet
wurden, daß die Daten X einen Wert haben, wenn die unteren
n-bit-Daten alle "0" sind.
Die Daten, die so durch Addition der Daten Y zu den niederwertigen
Bitseitendaten der X-Daten ermittelt wurden,
werden als Frequenzmodulations-Codedaten α erzeugt. Somit
wird Frequenzmodulation entsprechend den Frequenzmodulations-
Codedaten α bewirkt, die sich entsprechend
den Daten Y ändern.
In dem Falle von Fig. 16 wird die Vibratotiefe durch Betätigung
eines ent 10508 00070 552 001000280000000200012000285911039700040 0002003249738 00004 10389sprechenden Schalters in dem Schalterbereich
2 festgelegt. Wenn kein Vibrato um einen halben
Ton vorgesehen ist, wird ein betreffender Schalter entsprechend
betätigt, um ein "1"-Signal als das Signal a
für die Aktivierung des Gatterschaltkreises G zu erzeugen.
Nachdem die Taste eingeschaltet worden ist, werden die
Noten-Frequenzcodedaten β′ für diese Taste erzeugt und
zu dem Mittelwert-Frequenzarithmetikabschnitt 92 geleitet.
In dem Multiplizierer 91, wird das Vibrato-Wellenformsignal
und das Vibratotiefen-Festlegungssignal multipliziert.
Von den Ergebnisdaten werden die oberen Bitseitendaten
direkt zu der Durchschnittsfaktor-Frequenzarithmetikeinheit
92 geleitet, während die Daten der
unteren Bitseite entsprechend dem Halbton als Frequenzmodulationscodedaten
α′ über den Gatterschaltkreis G
an die Durchschnittsfaktor-Frequenzarithmetikeinheit 92
angelegt werden. Die Durchschnittsfaktor-Frequenzarithmetikeinheit
92 erzeugt somit die Durchschnittsfaktor-
Frequenzberechnung entsprechend der Funktion des Schaltkreises
in Fig. 13 und erzeugt die Noten-Frequenz-Codedaten
β und die Frequenzmodulations-Codedaten α. Das
Vibrato ändert sich somit mit der gleichen Tiefe, wird
ein geeigneter Schalter entsprechend betätigt, um ein
"0"-Signal als das Signal a zu erzeugen, um den Gatterschaltkreis
G zu deaktivieren. Somit werden die Daten
der unteren Bitseite von den Ergebnisdaten, welche von
dem Multiplizierer 91 erzeugt wurden, entsprechend dem
Halbton als Daten, welche jeweils alle den Pegel "0" aufweisen,
zu der Durchschnittsfaktor-Frequenzarithmetikeinheit
92 geleitet. Die Frequenzmodulations-Codedaten
α, die von der Durchschnittsfaktor-Frequenzarithmetikeinheit
92 erzeugt wurden, ändern sich so hinsichtlich
ihres Wertes, so daß sie Vibrato mit einer Schwankungsbreite
von einem Halbton erzeugen.
Der Schaltkreis im Falle von Fig. 17 wird betrieben, wenn
ein Portamentoeffekt beim monophonen Abspielen erreicht
werden soll. Wenn eine neue Taste eingeschaltet wurde,
nachdem die alte Taste abgeschaltet worden ist, wird der
entsprechende Code NEW KEY CODE vorgesehen und zu einem
Anschluß T des Komparators 92 geleitet. Zu dieser Zeit
tritt der Code entsprechend der vorher betätigten Taste
an dem Anschluß S des Komparators 93 auf. Der Komparator
93 vergleicht somit die Größen der beiden Codes. Wenn die
Tonhöhe des Tones der vorherigen Taste tiefer als die
der neuen Taste ist, schafft der Komparator 93 ein "1"-
Signal von seinen Anschlüssen S<T. Dieses "1"-Signal wird
als Subtraktionskommando zu dem Steueranschluß (-) des
binären Addierers/Subtrahierers 95 geleitet. Auch erzeugt
der Komparator 93 ein "1"-Signal aus dem Anschluß S≠T,
um das UND-Gatter 94 zu aktivieren. Somit wird jedesmal,
wenn ein Signal EXECUTE über das UND-Gatter 94 zu dem
binären Addierer/Subtrahierer 95 geleitet wird, der binäre
Addierer/Subtrahierer 95 eine Inkrementierung "-1" ausführen,
um den Code der vorherigen Taste um "1" zu dekrementieren.
Es sein angenommen, daß das Signal "1" ist. Somit werden
die oberen (N-n)-bit-Daten der Ergebnisdaten bei der
oben erwähnten Subtraktion zu dem ROM 97 geleitet, während
die unteren n-bit-Daten zu dem ROM 98 geleitet werden,
wodurch die Noten-Frequenzcodedaten β und die Frequenzmodulationscodedaten
α ausgelesen werden. In diesem Falle
ändert sich der Frequenzmodulationscode nach und nach
zu niedrigen Frequenzen entsprechend dem Durchschnittsfaktor.
Wenn das oben erwähnte Signal a "0" ist, ändern
sich die Frequenzmodulations-Codedaten α um den Betrag
eines Halbtones zu niedrigeren Frequenzen. Wenn der Komparator
93 die Übereinstimmung der beiden Codes an den
Anschlüssen S und T erfaßt, erzeugt der Komparator 93
ein "0"-Signal an seinem Anschluß S≠T, um das UND-Gatter
94 zu sperren und bricht somit die Subtraktionsfunktion
des binären Addierers/Subtrahierers 95 ab. Durch den oben
beschriebenen Arbeitsablauf wird die Portamentofunktion
von der hohen zu der niedrigen Tonseite vervollständigt.
Wenn die Tonhöhe der neuen Taste höher als die Tonhöhe
der vorherigen Taste ist, erzeugt der Komparator 93 ein
"0"-Signal an seinem Anschluß S<T, und "0" wird als Addier-
Befehl zu dem binären Addierer/Subtrahierer 95 geleitet.
Der binäre Addierer/Subtrahierer 95 arbeitet
durch "+1"-Inkrementierung, bis die beiden Daten an den
Anschlüssen S und T übereinstimmen. Dementsprechend werden
die Noten-Frequenzcodedaten β entsprechend der Note der
betätigten Taste aus dem ROM 97 erzeugt, und der Frequenzmodulationscode
α wird aus dem ROM 98 erzeugt und ändert
sich zunehmend zu höheren Frequenzen entsprechend dem
Durchschnittsfaktor. Wenn ein "0"-Signal als das Signal
erzeugt wird, ändern sich die Frequenzmodulations-Codedaten
α halbtonweise zu zunehmenden Frequenzen. Die Änderungsgeschwindigkeit
der Noten ist über den gesamten
Bereich fest.
Im Falle von Fig. 18 wird, um einen "Aufwärts"- oder "Auf"-
Gleiteffekt zu erreichen, der betreffende Schalter in
dem Schalterbereich 2 entsprechend betätigt. Auch wird
die Gleit-Breite durch den entsprechenden Schalter spezifiziert.
Wenn eine Taste in diesem Zustand eingeschaltet
wird, wird ein Einzelimpulssignal NEW KEY ON (d. h., ein
"1"-Signal) erzeugt, um die Gatterschaltkreise G1 und G2
und das Übertragungsgatter 104 zu aktivieren. Somit arbeitet
der binäre Addierer/Subtrahierer 100 als ein Subtrahierer,
wenn ein Einzelimpulssignal NEW KEY ON erzeugt
wird. Mit der - wie oben beschrieben - eingeschalteten
Taste wird der Code NEW KEY CODE durch den Gatterschaltkreis
G1 zu dem binären Addierer/Subtrahierer 100 geleitet.
Die Gleit-Breitendaten werden auch zu dem binären Addierer/
Subtrahierer 100 über den Gatterschaltkreis G2 geleitet.
Der binäre Addierer/Subtrahierer 100 subtrahiert die
Gleit-Breitendaten von dem Code NEW KEY CODE als Ergebnisdaten
werden zu dem Flip-Flop 96 geleitet.
Mit dem Auftreten des Einzelimpulssignales NEW KEY ON wird
der Ausgang des Inverters 101 auf "1" invertiert, um die
Übertragungsgatter 103 und 105 und den Gatterschaltkreis
G3 zu aktivieren. Somit werden die Ergebnisdaten zu dem
Anschluß S des Komparators 99 geleitet, und auch zu dem
binären Addierer/Subtrahierer über den Gatterschaltkreis
G3. Darauf folgend vergleicht der Komparator 99 die Daten
an den Anschlüssen S und T und erzeugt ein "0"-Signal an
seinem S<T-Anschluß. Das "0"-Signal wird als ein Additionsbefehl
über das Übertragungsgatter 105 zu dem Steueranschluß
(-) des binären Addierer/Subtrahierers 100 geleitet.
Der Komparator 99 erzeugt auch ein "1"-Signal an
seinem Anschluß S<T, um das UND-Gatter 102 zu aktivieren.
Das Signal EXECUTE wird durch das UND-Gatter 102
geleitet, um über das Übertragungsgatter 103 zu dem binären
Addierer/Subtrahierer 100 geleitet zu werden. Der
binäre Addierer/Subtrahierer 100 führt eine Inkrementierung
um "+1" hinsichtlich der oben erwähnten Ergebnisdaten
jedesmal dann aus, wenn das Signal EXECUTE angelegt
wird. Die oberen (N-n)-bit-Daten der Ergebnisdaten werden
an das ROM 97 angelegt, während die unteren n-bit-Daten
an das ROM 98 angelegt werden. Somit werden die Noten-
Frequenzcodedaten β aus dem ROM 97 ausgelesen. Auch werden
die Frequenzmodulations-Codedaten α, welche sich zu dem
höheren Frequenzen hin entsprechend dem Durchschnittsfaktor
ändern, aus dem ROM 98 ausgelesen. Somit kann der
"Auf"-Gleit-Effekt erreicht werden. Wenn der Komparator
99 die Koinzidenz der Daten an den Anschlüssen S und T
erfaßt, erzeugt er ein "0"-Signal an dem Anschluß S≠T,
um das UND-Gatter 102 zu sperren. Somit wird die Wirkungsweise
des Aufwärtsgleiteffektes abgebrochen.
Um den "Abwärts"-Gleiteffekt zu erreichen, wird der betreffende
Schalter entsprechend betätigt. Wenn eine Taste
in diesem Zustand eingeschaltet wird, führt der binäre
Addierer/Subtrahierer 100 in Antwort auf das Einzelimpulssignal
NEW KEY ON eine Gleit-Breiten-Addition entsprechend
dem Code NEW KEY CODE aus. Die Ergebnisdaten werden
an das Flip-Flop 96 angelegt. Darauf folgend führt der
binäre Addierer/Subtrahierer 100 eine Inkrementierung
um "-1" der Ergebnisdaten aus, um dieselben um "1" jedesmal
dann zu dekrementieren, wenn das Signal EXECUTE angelegt
wird. Somit werden die Noten-Frequenzcodedaten β aus
dem ROM 97 ausgelesen, während die Frequenzmodulations-
Codedaten α, die sich zu den tieferen Frequenzen entsprechend
dem Durchschnittsfaktor ändern, aus dem ROM 98
ausgelesen werden. Auf diese Weise kann der "Abwärts"-
Gleiteffekt erreicht werden. Die Änderungsgeschwindigkeit
der Noten ist über den ganzen Frequenzbereich 1 eingestellt.
Mit der obigen Ausführungsform gemäß Fig. 11 wird die Notenfrequenz
durch Verarbeitung in dem digitalen Schaltkreis
festgelegt, und es ist möglich, eine einheitliche
Frequenzmodulation über die Plusseite und die Minusseite
über eine einfache Verarbeitung zu erreichen. Da der Portamento-
Effekt und der Gleiteffekt ohne weiteres erzeugt
werden können, kann nebenbei bemerkt eine einheitliche
Frequenzmodulation über die Plus- und Minusseiten entsprechend
dem Durchschnittsfaktor erreicht werden. Somit
ist es möglich, einen sehr natürlichen Vibratoeffekt
zu erhalten, wie auch einen natürlichen Portamento- und
Gleit- bzw. Glissandoeffekt. Ferner ist die Verarbeitung
so einfach, daß das Hardwareaufbau einfach gehalten sein
kann, was zur Verminderung der räumlichen Abmessungen
des elektronischen Musikinstrumentes beiträgt.
Claims (6)
1. Tonsignal-Erzeugungsvorrichtung für ein elektronisches
Musikinstrument, mit:
einer Vorrichtung zur Ausgabe von Frequenzdaten entsprechend einer auf einer Tastatur betätigten Taste;
einer Arithmetikvorrichtung, mit welcher ein Ausgangssignal entsprechend der von der Frequenzdatenausgabevorrichtung ausgegebenen Frequenzdaten erhaltbar ist, dadurch gekennzeichnet, daß
die Frequenzdaten-Ausgabevorrichtung eine Vorrichtung (4b) zum Konvertieren der Frequenzdaten in ein erstes Frequenzdatum (β) entsprechend einer Frequenz eines Halbtons oder mehr und ein zweites Frequenzdatum (α) entsprechend einer Frequenz eines Halbtons oder weniger aufweist, wobei die Tonsignal-Erzeugungsvorrichtung weiterhin umfaßt:
eine Vorrichtung (15, 17) zum wiederholten kumulativen Subtrahieren/ Addieren des zweiten Frequenzdatums (α) von/zu einem Anfangswert, der von dem ersten Frequenzdatum (β) bestimmt ist; und
eine Steuervorrichtung (19) zur Zufuhr des ersten Frequenzdatums (β) nochmals zu der wiederholt arbeitenden Subtrahier/Addiervorrichtung (15, 17), wenn der Ausgang der Vorrichtung (15, 17) einen vorherbestimmten Wert erreicht, wodurch eine Tonperiode erzeugt wird, welche vom Anfangszeitpunkt des Betriebs der Vorrichtung (15, 17) zu dem Zeitpunkt reicht, zu dem der Ausgang der Vorrichtung (15, 17) den vorherbestimmten Wert erreicht hat.
einer Vorrichtung zur Ausgabe von Frequenzdaten entsprechend einer auf einer Tastatur betätigten Taste;
einer Arithmetikvorrichtung, mit welcher ein Ausgangssignal entsprechend der von der Frequenzdatenausgabevorrichtung ausgegebenen Frequenzdaten erhaltbar ist, dadurch gekennzeichnet, daß
die Frequenzdaten-Ausgabevorrichtung eine Vorrichtung (4b) zum Konvertieren der Frequenzdaten in ein erstes Frequenzdatum (β) entsprechend einer Frequenz eines Halbtons oder mehr und ein zweites Frequenzdatum (α) entsprechend einer Frequenz eines Halbtons oder weniger aufweist, wobei die Tonsignal-Erzeugungsvorrichtung weiterhin umfaßt:
eine Vorrichtung (15, 17) zum wiederholten kumulativen Subtrahieren/ Addieren des zweiten Frequenzdatums (α) von/zu einem Anfangswert, der von dem ersten Frequenzdatum (β) bestimmt ist; und
eine Steuervorrichtung (19) zur Zufuhr des ersten Frequenzdatums (β) nochmals zu der wiederholt arbeitenden Subtrahier/Addiervorrichtung (15, 17), wenn der Ausgang der Vorrichtung (15, 17) einen vorherbestimmten Wert erreicht, wodurch eine Tonperiode erzeugt wird, welche vom Anfangszeitpunkt des Betriebs der Vorrichtung (15, 17) zu dem Zeitpunkt reicht, zu dem der Ausgang der Vorrichtung (15, 17) den vorherbestimmten Wert erreicht hat.
2. Tonsignal-Erzeugungsvorrichtung nach Anspruch 1, dadurch gekennzeichnet,
daß die ersten und zweiten Frequenzdaten
(β, α) eine Tonreihe mit temperierter
Stimmung festlegen.
3. Tonsignal-Erzeugungsvorrichtung nach Anspruch 1, dadurch
gekennzeichnet, daß die Vorrichtung (4b) zum Konvertieren der Frequenzdaten einen
Addierer (81, 82, 83; 86) aufweist, mit dem aus
Frequenz-Modulations-Codedaten (α′) und Noten-Frequenz-
Codedaten (β′) die ersten und zweiten Frequenz-
Codedaten (β, α) erzeugbar sind.
4. Tonsignal-Erzeugungsvorrichtung nach Anspruch 1 oder 3, dadurch
gekennzeichnet, daß mit der Vorrichtung (4b) zum Konvertieren der Frequenzdaten durch
Abänderung der ersten Frequenz-Codedaten (β) ein Portamento-
Effekt erzeugbar ist.
5. Tonsignal-Erzeugungsvorrichtung nach Anspruch 4,
dadurch gekennzeichnet, daß die Vorrichtung (4b) zum Konvertieren der Frequenzdaten
eine Einrichtung (93, 94, 95) aufweist, mit welcher die ersten
und zweiten Frequenz-Codedaten (β, α) für die
aktuelle Note nach und nach zu den ersten und
zweiten Frequenz-Codedaten (β, α) für eine neue
Note änderbar sind.
6. Tonsignal-Erzeugungsvorrichtung nach Anspruch 1, dadurch gekennzeichnet,
daß durch die Vorrichtung (4b) zum Konvertieren der Frequenzdaten die
Frequenz-Codedaten so variiert werden, daß
ein Glissando-Effekt erzeugbar ist.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP56208816A JPS58108587A (ja) | 1981-12-22 | 1981-12-22 | 電子楽器の周波数制御装置 |
JP56208815A JPS58108586A (ja) | 1981-12-22 | 1981-12-22 | 電子楽器の周波数制御装置 |
JP57057359A JPS58174999A (ja) | 1982-04-08 | 1982-04-08 | 電子楽器 |
Publications (1)
Publication Number | Publication Date |
---|---|
DE3249738C2 true DE3249738C2 (de) | 1991-05-23 |
Family
ID=27296230
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19823249738 Expired - Fee Related DE3249738C2 (de) | 1981-12-22 | 1982-12-22 |
Country Status (2)
Country | Link |
---|---|
DE (1) | DE3249738C2 (de) |
GB (1) | GB2161310B (de) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2247368B (en) * | 1990-08-25 | 1994-08-24 | Roke Manor Research | Phase modulation signal generator |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3794748A (en) * | 1971-12-06 | 1974-02-26 | North American Rockwell | Apparatus and method for frequency modulation for sampled amplitude signal generating system |
DE2518633B2 (de) * | 1974-04-29 | 1980-02-28 | Nippon Gakki Seizo K.K., Hamamatsu, Shizuoka (Japan) | Elektronisches Tastenmusikinstrument |
EP0053892A1 (de) * | 1980-11-28 | 1982-06-16 | Casio Computer Company Limited | Steuerungsvorrichtung für die Hüllkurve in einem elektronischen Musikinstrument |
-
1982
- 1982-12-22 DE DE19823249738 patent/DE3249738C2/de not_active Expired - Fee Related
-
1985
- 1985-01-16 GB GB08501057A patent/GB2161310B/en not_active Expired
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3794748A (en) * | 1971-12-06 | 1974-02-26 | North American Rockwell | Apparatus and method for frequency modulation for sampled amplitude signal generating system |
DE2518633B2 (de) * | 1974-04-29 | 1980-02-28 | Nippon Gakki Seizo K.K., Hamamatsu, Shizuoka (Japan) | Elektronisches Tastenmusikinstrument |
EP0053892A1 (de) * | 1980-11-28 | 1982-06-16 | Casio Computer Company Limited | Steuerungsvorrichtung für die Hüllkurve in einem elektronischen Musikinstrument |
Also Published As
Publication number | Publication date |
---|---|
GB8501057D0 (en) | 1985-02-20 |
GB2161310A (en) | 1986-01-08 |
GB2161310B (en) | 1986-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3587423T2 (de) | Tonerzeugende Vorrichtung für ein elektronisches Musikinstrument. | |
DE2518633C3 (de) | Elektronisches Tastenmusikinstrument | |
DE3177313T2 (de) | Elektronisches Musikinstrument | |
DE2362050C3 (de) | Elektronisches Musikinstrument | |
DE2431161C2 (de) | Tonerzeugungseinrichtung für ein elektronisches Musikinstrument | |
DE3650389T2 (de) | Tonsignalerzeugungsvorrichtung. | |
DE2945901C2 (de) | Elektronisches Musikinstrument | |
DE3936693C2 (de) | Vorrichtung zum Erzeugen digitaler Audiosignale | |
DE3688600T2 (de) | Musikinstrument mit digitalem Filter mit programmierten variablen Koeffizienten. | |
DE2629697A1 (de) | Elektronisches musikinstrument | |
DE3887809T2 (de) | Elektronisches Musikinstrument. | |
DE2635424A1 (de) | Polyphones musikinstrument (polyphoner tongenerator) | |
DE2152861A1 (de) | Elektronisches Tasten-Musikinstrument | |
DE2920298A1 (de) | Binaere interpolatorschaltung fuer ein elektronisches musikinstrument | |
DE3003385A1 (de) | Elektronisches musikinstrument | |
DE3023559C2 (de) | Elektronisches Musikinstrument | |
DE2706045A1 (de) | Elektronisches musikinstrument | |
DE2828919C2 (de) | Schaltungsanordnung für ein polyphones elektronisches Musikinstrument | |
DE69130339T2 (de) | Vorrichtung zur Erzeugung einer Ton-Wellenform | |
DE2500720C3 (de) | Elektronisches Musikinstrument | |
DE3247599C2 (de) | Tonsignal-Erzeugungsvorrichtung für elektronische Musikinstrumente | |
EP0036074B1 (de) | Syntheseschaltung für periodische Signale, insbesondere als Teil eines Musikinstruments | |
DE2853209C2 (de) | Digitaltechnik verwendendes elektronisches Musikinstrument | |
DE3506614C2 (de) | ||
DE2513127C2 (de) | Verfahren zum künstlichen Erzeugen eines musikalischen Klangs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
Q172 | Divided out of (supplement): |
Ref country code: DE Ref document number: 3247599 |
|
8110 | Request for examination paragraph 44 | ||
8181 | Inventor (new situation) |
Free format text: ISHIBASHI, MASANORI, OUME, TOKIO/TOKYO, JP |
|
8128 | New person/name/address of the agent |
Representative=s name: KUHNEN, R., DIPL.-ING. WACKER, P., DIPL.-ING. DIPL |
|
AC | Divided out of |
Ref country code: DE Ref document number: 3247599 Format of ref document f/p: P |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |