DE3247599C2 - Tonsignal-Erzeugungsvorrichtung für elektronische Musikinstrumente - Google Patents

Tonsignal-Erzeugungsvorrichtung für elektronische Musikinstrumente

Info

Publication number
DE3247599C2
DE3247599C2 DE3247599A DE3247599A DE3247599C2 DE 3247599 C2 DE3247599 C2 DE 3247599C2 DE 3247599 A DE3247599 A DE 3247599A DE 3247599 A DE3247599 A DE 3247599A DE 3247599 C2 DE3247599 C2 DE 3247599C2
Authority
DE
Germany
Prior art keywords
data
signal
gate
output
frequency
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
DE3247599A
Other languages
English (en)
Other versions
DE3247599A1 (de
Inventor
Masanori Oume Tokio/Tokyo Ishibashi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP56208815A external-priority patent/JPS58108586A/ja
Priority claimed from JP56208816A external-priority patent/JPS58108587A/ja
Priority claimed from JP56208814A external-priority patent/JPS58108585A/ja
Priority claimed from JP57057359A external-priority patent/JPS58174999A/ja
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Publication of DE3247599A1 publication Critical patent/DE3247599A1/de
Application granted granted Critical
Publication of DE3247599C2 publication Critical patent/DE3247599C2/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H7/00Instruments in which the tones are synthesised from a data store, e.g. computer organs
    • G10H7/002Instruments 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H7/00Instruments in which the tones are synthesised from a data store, e.g. computer organs
    • G10H7/008Means 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)

Abstract

Codedaten, welche eine Mehrzahl von Noten-Frequenzen darstellen, sind in einem ersten ROM (4) abgespeichert und werden selektiv entsprechend der Betätigung einer Taste auf einer Tastatur (1) ausgelesen. Mit der Betätigung einer Taste werden vorgegebene Steuerdaten ebenfalls ermittelt, und diese Steuerdaten werden kumulativ zu den Codedaten als Anfangswert addiert oder von den Codedaten subtrahiert, wodurch ein Noten-Frequenzsignal entsprechend der betätigten Taste erzeugt wird. Teilbereiche der Wellenform des sich ergebenden Noten-Frequenzsignales, an welchen sich eine abrupte Amplitudenänderung ergibt, werden mit einer in einem zweiten ROM abgespeicherten Sinuswelle interpoliert.

Description

Die Erfindung betrifft eine Tonsignal-Erzeugungsvorrichtung für elektronische Musikinstrumente gemäß dem Oberbegriff des Anspruchs 1.
Die Verwendung eines digitalen Schaltkreises für ein elektronisches Musikinstrument und insbesondere für die Tonsignal-Erzeugungsvorrichtung in einem elektronischen Musikinstrument weist verschiedene Vorteile auf, wie beispielsweise die Möglichkeit, zugleich eine Mehrzahl von Tönen über ein Zeitmultiplexverfahren zu erzeugen, die Möglichkeit, Tonfrequenzen genau einzustellen, und die Möglichkeit, den Schaltkreisaufbati dank der Verwendung digitaler Schaltkreistechnik zu vereinfachen.
ίο In einem Verfahren, digital Tonsignale zu erhalten, wird ein ROM mit zuvor eingetragenen Ton-Wellenformdaten verwendet. Um ein Tonsignal zu erhalten, werden Adressen des ROMs durch das Ausgangssignal eines Adreßzählers entsprechend den betätigten Tasten angesteuert, und Ton-Wellenformdaten entsprechend den vorgegebenen Musiknoten werden aus dem ROM ausgelesen. In einer derartigen Anlage sind jedoch anzusteuernde ROM-Adressen fest eingestellt, unabhängig von den Tonfrequenzen, d. h., die Ton-Wellenform wird an einem festen Punkt abgetastet Dies führt insbesondere im Falle einer Ton-Wellenform in einem Hochtonbereich dazu, daß infolge des Abtastrtieorems im allgemeinen Faltungsverzerrungen auftreten. Sogenannte Jitter oder Instabilitäten können ebenfalls erzeugt werden, wenn die gleichen Adressen mehrfach aufeinanderfolgend angesteuert werden. Um diese Probleme zu lösen, ist es erforderlich, ein ROM mit einer sehr großen Speicherkapazität zu verwenden. Es ist denkbar, das Adreßschrittintervall zu variieren, um den Abtastpunkt der Wellenform ebenfalls zu variieren. Dies bringt jedoch den Nachteil mit sich, daß die Klangfarbe bei jeder Musiknote leicht abgeändert wird.
In der EP-OS 0 053 892, die nach § 3 PatG 1981 als Stand der Technik gilt, ist es vorgeschlagen worden, die in einem Wellenformspeicher abgespeicherten Daten dadurch zu approximieren, daß ein Viertel einer Sinuswelle durch eine Gerade angenähert wird. Eine Approximation findet jedoch dort, d. h. in dem Bereich, nicht statt, wo eine scharfe Änderung des Amplitudenpegels auftritt.
Es ist daher Aufgabe der Erfindung, eine Tonsignal-Erzeugungsvorrichtung gemäß dem Oberbegriff des Anspruchs 1 zu schaffen, bei welcher Tonsignale mit einem digitalen Schaltkreis erzeugt werden, der keine große Festspeicherkapazität erfordert und dennoch an den natürlichen Klangverlauf gut angenähert ist.
Diese Aufgabe wird durch die kennzeichnenden Merkmale des Anspruchs 1 gelöst.
Demgemäß ist eine Interpoliervorrichtung vorgesehen, durch die die Grundtonwellenform bei abrupten Pegeländerungen, d. h. an Unstetigkeitsstellen oder an Undifferenzierbarkeitsstellen, mittels einer vorgegebenen Funktion, beispielsweise einer Sinusfunktion, interpoliert wird. Je nach Länge des Zeitabschnitts, in dem interpoliert wird, ändert sich der Oberwellenanteil der resultierenden Tonwellenform. Damit läßt sich auf einfache Weise die Klangfarbe des erzeugten Tonsignals verändern, was einer Filterung gleichkommt.
Die Unteransprüche haben vorteilhafte Weiterbildüngen der Erfindung zum Inhalt. Weitere Vorteile, Einzelheiten und Merkmale ergeben sich aus der nachfolgenden Beschreibung mehrerer Ausführungsformen der Erfindung anhand der Zeichnung. Es zeigt
Fig. 1 ein Blockdiagramm für ein Gesamtsystem gemaß einer Ausführungsform der Erfindung,
F i g. 2 ein Schaltkreisdiagramm zur Darstellung eines Wellengenerators in einer Anlage gemäß F i g. 1,
Fig.3 eine Ansicht einer in einem ROM abgcspci-
cherten Wellenform in einer Anlage gemäß F i g. 1,
Fig.4 ein Zeitdiagramm zur Erläuterung der Wirkungsweise des Schaltkreises gemäß Fig.? zur Erzeugung einer Rechteckwelie,
F i g. 5 und 6 Zeitdiagramme zur Erläuterung der Wirkungsweise zur Erzeugung einer bezüglich ihrer Impulsbreite modulierten Welle bzw. einer Sägezahnwelle,
F i g. 7, 8 und 9 Diagramme zur Darstellung der Harmonischen von Sägezahnwellen von unterschiedlichen Frequenzen,
Fig. 10, 11 und 12 Diagramme zur Darstellung der Harmonischen von Rechteckwellen mit unterschiedlichen Frequenzen,
Fig. 13 und 14 Diagramme zur Darstellung der Harmonischen von Sägezahnwellen der gleichen Frequenz, jedoch mit unterschiedlichen Arbeitsperioden für die Interpolierbereiche,
F i g. 15 ein Blockdiagramm einer Anlage zur Darstellung einer weiteren Ausführungsform der Erfindung,
Fig. 16 ein Blockdiagramm zur Darstellung eines Frequenz-Modulationsabschnittes gemäß F i g. 15,
Fig. 17 ein Schaltkreisdiagramm zur Darstellung eines Niederfrequenzoszillators gemäß F i g. 16,
Fig. 18 ein Wellenform-Diagramm zur Darstellung der Ausgangswellenform des Niederfrequenzoszillators gemäß F ig. 17,
F i g. 19 ein Blockdiagramm einer Anlage in einer weiteren Ausführungsform der Erfindung,
F i g. 20 ein Blockdiagramm zur Darstellung eines beispielhaften Durchschnittfaktor-Frequenzarithmetikäbschnittes gemäß F i g. 19,
Fig.21 bis 26 Blockdiagramme zur Darstellung von unterschiedlichen Beispielen des Durchschnittfaktor-Frequenzarithmetikabschnittes,
F i g. 27 ein Blockdiagramm einer Anlage zur Darstellung einer weiteren Ausführungsform der Erfindung,
F i g. 28 ein Schaltkreisdiagramm zur Darstellung eines Wellengenerp.tors gemäß F i g. 27,
F i g. 29 ein Schaltkreisdiagramm zur Darstellung einer Rausch-Steuerschaltung gemäß F ί g. 28,
F i g. 30 eine graphische Darstellung zur Erläuterung der Wirkungsweise des Schaltkreises gemäß F i g. 29,
F i g. 31 ein Schaltkreisdiagramm zur Darstellung eines weiteren Ausführungsbeispieles des Wellengenerators gemäß F i g. 27,
F i g. 32 ein Schaltkreisdiagramm zur Darstellung einer Rausch-Steuerschaltung gemäß F i g. 31,
Fig.33 eine graphische Darstellung, welche einen Amplitudenpegel zeigt, wenn zu den Sägezahnwellen Rauschen hinzuaddiert wird und
Fig.34 und 35 Schaltkreisdiagramme zur Darstellung der jeweiligen Abänderungen der Rausch-Steuerschaltung gemäß Fig. 31.
Im folgenden wird ein Ausführungsbeispiel der Erfindung in Anwendung bei einem Musik-Synthesizer näher erläutert. F i g. 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 die 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 bzeichnet 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 Wellengenerator 5 geleitet.
Der Wellengenerator 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 Um-Wandlung des eingehenden Tonsignals, 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 deutschen Offenlegungsschrift 31 16 042 beschrieben ist, und als Hüllkurvengenerator 7 kann ein Hüllkurvengenerator verwendet werden, wie er in der deutschen Offenlegungsschrift 31 30 380 beschrieben ist.
In Fig.2 ist ein spezifischer Schaltkreisaufbau des Wellengenerators 5 dargestellt. Ein Schieberegister 17 erzeugt Daten mit einer Wortlänge von 16 Bit, welche zu Λ-Eingangsanschlüssen A 15 bis A 0 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 ß-Eingangsanschlüssen B15 bis BO des Volladdierers 15 hergeleitet. Ein Signal mit einem hohen logischen Pegel »H« wird an einen Anschluß Qn des Volladdierers 15 angelegt. Der Volladdierer 15 subtrahiert die Eingangsdaten » an den ß-Eingangsanschlüssen von den Eingangsdaten an den Λ-Eingangsanschlüssen, um die Ergebnisdaten an seinen S-Ausgangsanschlüssen S15 bis 50 zu erzeugen. Die Ausgangsdaten werden zu den Λ-Eingangsanschlüssen A 15 bis /. 0 eines Volladdierers 16 geleitet, welcher mit der Ausgangsseite des Volladdierers 15 verbunden ist. Zu den fi-Eingangsanschlüssen B15 bis BO des Volladdierers 16 werden über UND-Gatter 18-15 bis 18-0 Noten-Frequenzcodedaten B von einem Gatterschaltkreis E1 (im Falle der Ausbildung einer Rechteckwelle oder ei-
ner Sägezahnwelle) und Daten ß±[ß-K) und y von einem Gatterschaltkreis C 2 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 5-Ausgangsanschlüssen S15 bis SO 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äß F i g. 2 führt eine Zeitmultiplexfunktion unter Steuerung durch die CPU 3 durch.
Die 9 Bit niederwertigen Daten aus den Ausgangsdaten des Schieberegisters 17 aus den Ausgangsklemmen S 8 bis 50 werden zu Antivalenz- oder EXOR-Gattern 20-8 bis 20-0 geleitet, während die höherwertigen 6-Bit-Daten von den Ausgangsanschlüssen S 9 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ß 515 ü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 F i g. 2 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 /4-Eingangsanschlüssen A 7 bis A 0 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 Oe bis Oo 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 /4-Eingangsanschlüssen A 6 bis A 0 eines Volladdierers 30 geleitet, welcher einen Polaritätsinverter bildet Zu einem .4-Eingangsanschluß A 7 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ß C\„ des Volladdierers 30 wird das Ausgangssignal des UND-Gatters 22 über den Inverter 28 und das Übertragungsgatter 29 geleitet. Ebenso wird das Ausgangssignal eines Inverters 32 über ein Überlragungsgatter 33 zu dem Eingangsanschluß Qn geleitet. Daten, welche an den Ausgangsanschlüssen 57 bis 50 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 Reekteckwelle oder ein Schalter für die Festlegung einer PWM-Welle betätigt wird, werden die Übertragungsgatter 26 gesteuert, um ein Steuersignal durchzulassen, welches von der CPU 3 erzeugt wird und an den Steuer-Eingangsanschluß des Übertragungsgatters 26 angelegt wird. Wenn ein Schalter für die Festlegung einer Sägezahnwelle betätigt wird, werden die Übertragungsgatter 29 und 35 mittels eines Steuersignals durchgeschaltet, welches von der CPU 3 erzeugt und zu den Steuer-Eingangsanschlüssen der Gatter geleitet wird. Das Übertragungsgatter 33 wird aufgrund eines Signals durchgeschaltet, welches über einen Inverter 36 angelegt wird. Die Übertragungsgatter 34-7 bis 34-0 werden aufgrund des Ausgangssignals 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 Multiplizierschallkreis 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) ■ y 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 G 2 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 G 1 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 G 2 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 Ausgangsscitc
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 59 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 aus 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ß Cl 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 F i g. 4 beschrieben, in welchem der Wellengenerator 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 C 1 und G 2 des Wellengenerators 5. Dadurch wird der Gatterschaltkreis G1 aktiviert, während der Gatterschaltkreis G 2 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 aktiviert sind, werden das Übertragungsgatter 29 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 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-5 bis 18-0 angelegt In diesem Augenblick wird das Ausgangssignal aus dem Ausgangsanschluß Cut 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 5-Eingangsanschlüssen B15 bis BO des Volladdierers 16 geleitet Unterdessen sind alle 16-Bit-Daten mit dem logischen Wert »0« zu diesem Zeitpunkt von dem 5-Ausgangsanschluß 515 bis 50 des Volladdierers 15 zu den Λ-Eingangsanschlüssen A 15 bis A 0 des Volladdierers
16 geleitet worden. Somit werden die Daten mit demselben Wert wie die voreingestelhen Noten-Frequenzcodedaten ß, die oben bezeichnet sind, zu diesem Zeitpunkt als Ergebnisdaten von den 5-Ausgangsanschlüssen 515 bis 50 des Volladdierers 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 A 15 bis A 0 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 enthalten die oberen 6 Bits bis zu dem höchsten Bit der 16-Bit-Daten immer Daten mit dem logischen Wert »1«. 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 F i g. 4 dargestellt ist. Ferner ist das Ausgangssignal des Inverters 15 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 F i g. 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 niederwertigeren 9-Bit-Daten des Ausgangssignals des Schieberegisters 17 werden direkt zu den A-Eingangsanschlüssen Λ 8 bis Λ 0 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 EX-OR-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 EX-OR-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 /4-Eingangsanschlüssen Λ 7 bis Λ 0 des Volladdierers 30 geleitet Das Ausgangssignal des Inverters 32, d. h. ein Signal mit dem logischen Pegel »0«, wird ferner zu dem Carry-Eingangsanschluß Qn des Volladdierers 30 geleitet. Die Ergebnisdaten aus den 5-Ausgangsanschlüssen 57 bis 50 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 F i g. 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 voreingestellten Noten-Frequenzcodedaten β aufweisen, zu den Λ-Eingangsanschlüssen A 15 bis A 0 des Volladdierers 15 zurückgeführt werden, treten feste Daten x, welche von der CPU 3 erzeugt sind, als 16-Bit-Daten an den ß-Eingangsanschlüssen B15 bis 50 des Volladdierers 15 auf. Da ferner der Carry-Eingangsanschluß Qn 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 5-Ausgangsanschlüssen und legt sie an die A-Emgangsanschlüsse des Volladdierers 16 an. Der Ausdruck oder Term »-λ« in der obigen Formel »ß-<x« entspricht demjenigen, welcher durch Inkrementierung von » -1« zu den Werten von a 0,« 1,..., χ 15 in F i g. 2 erreicht werden. Zu diesem Zeitpunkt der Ausführung der Subtraktion ändert sich das Ausgangssignal des Carry-Ausgangsanschlusses COUI 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ßt bzw. sperrt. Somit wird der Eingang der Noten-Frequenzcodedaten/? zu den ß-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 den Invertern 21-7 bis 21-1 geleitet werden. Die Daten, welche an den y4-Eingangsanschlüssen und dem Carry-Eingangsanschluß Qn 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 diesem Zeitpunkt verbleibt das Datum an dem A-Eingangsanschluß und dem Carry-Eingangsanschluß Qn 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, bedeute t 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 10-Bit-Datum 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 höherwertigen 9-Bit-Daten in dem ίο Ausgangssignal des Schieberegisters 17 zu den /4-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ß Qn 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 Λ-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 obenerwähnten 7-Bit-Daten, welche sich alle auf dem logischen Pegel »1« befinden, d.h. Daten mit einem Amplitudenwert, welcher um weniges 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 Ampütudendaten mit einem Wert ausgelesen, welcher geringer als die vorherigen Daten ist. Während dieser Zeit ist der Dateneingang zu den A-Eingangsanschlüssen und dem Carry-Eingangsanschluß Qn 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ß Cl des Volladdierers 15 erzeugt. Im Ergebnis wird ein Einzelimpulssignal von dem Inverter erzeugt wie es bei (c) in F i g. 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ß Gn des Volladdierers 30 geleitet und zu »1«invertiert, wie es bei (d) in F i g. 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 F i g. 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 abgelesenen 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 Λ-Eingangsanschlüssen Λ 6 bis Λ 0 des Volladdierers 30 geleitet. Unterdessen wird ein Signal mit dem logischen Wert »0« zu dem A- Eingangsanschluß A 7 geleitet, und ein Ausgangssignal mit dem logischen Wert »1« wird zu dem Carry-Eingangsanschluß Qn 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 F i g. 4 dargestellt ist, wird die Amplitude der Rechteckwelle bei (a) in F i g. 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ß Cou, 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 ß-Eingangsanschlüssen B 15 bis SO 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 16 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 A 7 bis A 0 des Volladdierers 30 geleitet. Während dieser Zeit wird ein Signal mit dem logischen Wert »1« zu dem Carry-Eingangsanschluß Qn 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 F i g. 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 wird, welche 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 F i g. 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ß COM des Volladdierers 15 erzeugt. Somit werden die Noten-Frequenzcodedaten/erneut in den Volladdierern 16 geladen, und die Verarbeitung 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 F i g. 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 /Ό der in obiger Weise erzeugten Rechteckwelle wie folgt ausgedrückt werden:
Zo =
1 = L_ IT' 2
a
T
Im folgenden wird die Funktion in Verbindung mit
dem Fall beschrieben, bei welchem der Wellengenerator 5 eine PWM-Welle erzeugt In diesem anhand von Fig.5 erläuterten Fall wird ein PWM-Wellen-Festlegungsschalter in dem Hchalterbereich 2 eingeschaltet Dadurch wird der Gatterschaltkreis Gi geschlossen oder gesperrt und der Gatterschaltkreis_ G 2 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 F i g. 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 F i g. 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ß Qn 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 42 legt die Ergebnisdaten ft+{ft- K) ■ γ an den Gatterschaltkreis G 2 an. Die Daten K sind hier beispielsweise »1024«, und die Daten y, 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 ft+ (ft— K) ■ y'm den Volladdierer i6 bei dem Start des Verfahrens in der unten 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 ft+{ft+K) · y 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 21-1, Inverter 50, Inverter 32 bzw. UND-Gatter 22-2 je auf den Werten »0«, »1«, »1« bzw. »0«, wie es bei (b), (c), (d) und (e) in F i g. 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 F i g. 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, den Invertern 31 und dem Carry-Eingangsanschluß Qn des Volladdierers 30 geleitet wird. Wenn die Ergebnisdaten zu »511« werden, wird das Ausgangssignal des UND-Gatters 22- i 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 F i g. 5 dargestellt ist, wird bei der darauffolgenden Subtraktion das Datum ft-{β-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 F i g. 5 dargestellt ist, wird das Ausganirssignal des UND-Gatters 22-2 zu »1« invertiert wie es bei (e) in F i g. 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 Filtere ausgegeben.
Während die Ergebnisdaten von »512« zu »0« reduziert werden, werden die Ausgangssignale des UND-Gatters 22-1 und des Intervalls 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 k 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 F i g. 6 beschrieben, bei welchem der Wellengenerator 5 eine Sägezahnwelle erzeugt. In diesem Fall wird ein Sägezahn-Festlegungsschalter auf dem Schalterbereich 2 eingeschaltet. Dadurch wird der Gatterschaltkreis GX geöffnet und der Gatterschaltkreis G 2 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 F i g. 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 ft werden dann von dem Schieberegi-
15 16
ster 16 erzeugt Da die Codedaten β größer als »1024« das ROM 23 hinsichtlich seiner Adresse mit Adreßdaten sind, werden die Ausgangssignale der UND-Gatter 22-1 angesteuert, welche sich von der Minimaladresse zu der und 22-2 zu »0« invertiert, wie es bei (b) und (c) in F i g. 6 Maximaladresse ändern, während der Ausgangsdatendargestellt ist Mit der Inversion des UND-Gatters 22-2 wert »0« des Inverters 28 zu den EXOR-Gattern 27-6 zu »0« erzeugt der Inverter 37 ein Ausgangssignal mit 5 bis 27-0, dem Inverter 31 und dem Carry-Eingangsandem logischen Wert »0«, und der Inverter 47 erzeugt ein Schluß G0 des Volladdierers 30 geleitet wird. Somit wird, Ausgangssignal mit dem logischen Wert »1«. Somit wer- während die Ergebnisdaten sich von »511« auf »0« anden die Übertragungsgatter 34-7 bis 34-0 geschlossen, dem, der aus dem ROM 23 ausgelesene Amplitudendawährend die Übertragungsgatter 46-7 bis 46-0 geöffnet tenwert direkt zu dem digitalen Filter 6 geleitet Dann werden. Ferner wird die kumulative Subtraktion der io werden die Noten-Frequenzcodedaten β erneut in den Subtraktionsdaten β (d. h. konstante Daten) von den Volladdierer 16 eingegeben.
Noten-Frequenzcodedaten β in den Volladdierern 15 Auf diese Art wird das Verfahren zur Ausbildung der
und 16, Schieberegistern 17 und UND-Gattern 18-15 bis Sägezahnwelle für eine Periode vervollständigt Die 18-0 gestartet Bis die Ergebnisdaten der kumulativen Frequenz/0 ergibt sich hier zu Subtraktion nach und nach auf »1024« reduziert worden 15
sind, wird das Ausgangssignal des UND-Gatters 22-2 ,k = / · — (5)
nicht geändert Während dieser Zeit wird das Ausgangs- $ ß'
signal des Subtrahierschaltkreises 45 über Übertra-
gungsgatter 46-7 bis 46-0 geleitet welche geöffnet sind. Aus Gleichung (5) ist ersichtlich, daß m dem Falle der
Die Ausgangsdaten M- K des Subtrahierschaltkreises 20 Sägezahnwelle, anders als in den Fällen der Rechteck- 45 werden zu dem Eingangsanschluß A des Dividier- welle und der PWM-Welle, es erforderlich ist, die Noschaltkreises 44 geleitet, während die Ausgangsdaten ten-Frequenzcodedaten^zu verdoppeln. (ß-k) zu dem B-Eingangsanschluß des Dividierschalt- Die Beschreibung bis hierhin betraf den Fall, bei wel-
kreises 44 geleitet werden. Der Dividierschaltkreis 44 ehern lediglich eine Taste auf der Tastatur 1 in die Funkerzeugt somit die Ausgangsdaten H', die sich wie folgt 25 tion des Ausbildens der Rechteckwelle, der bezüglich ergeben der Impulsbreite modulierten Welle und der Sägezahn
welle überführt wurde. Da jedoch die vorliegende Aus-
M-K /r»\ führungsform des Musiksynthesizers eine polyphone
H' = H, (3) Musik mit acht Tönen erlaubt, können, auch wenn eine
30 Mehrzahl von Tasten (bis zu neun Tasten) zugleich be-
wobei M das Ausgangssignal des Schieberegisters 17, K tätigt werden, die Schaltkreise in F i g. 1 und 2 jedoch im eine Konstante (»1024« in diesem Falle) und H der ma- Zeitmultiplexverfahren für acht Kanäle arbeiten, und so ximale Amplitudenwert (»256« der vorliegenden Aus- Grundwellen für die einzelnen Töne zugleich erzeugen, führungsform) ist Die Gleichung (3) reduziert sich somit wobei die Einzelheiten dieser Schaltung jedoch hier auf 35 nicht näher erläutert werden.
In den F i g. 7 bis 9 sind Versuchsdaten der Harmoni-
Λ<ί—1024 ΙΔ\ sehen der Sägezahnwellen bzw. des harmonischen
H' = · 256 · '4' Spektrums der Sägezahnwellen dargestellt, welche für
drei unterschiedliche Frequenzen mit der obigen Aus-Aus Gleichung (4) ist ersichtlich, daß, wenn das Aus- 40 führungsform der Erfindung ausgebildet werden. Bei jegangssignal M des Schieberegisters 17, d. h. die Ergeb- der dieser drei Wellen ist die Abtastfrequenz fs 64 kHz. nisdaten der kumulativen Subtraktion, zu »1024« wird, Bei der Sägezahnwelle nach F i g. 7 tritt die Grund-
die zu dem digitalen Filter 6 geleiteten Daten »0« sind. tonfrequenz bei 221,011 Hz auf, welches durch Einset-Wenn die Ergebnisdaten kleiner als »1024« werden, zen von λ=831,/?= 240 640 und /,=64 kHz in die Gleiwird das Ausgangssignal des UND-Gatters 22-2 zu »1« 45 chung(5) ermittelt wurde, wie es bei (a) in Fig. 7 dargeinvertiert wie es bei (c) in F i g. 6 dargestellt ist. Somit stellt ist. Wie aus (b) in F i g. 7 ersichtlich, tritt die FaI-werden die Übertragungsgatter 34-7 bis 34-0 geöffnet, tungsvsrzerrung infolge des Abtasttheorems bei einer während die Übertragungsgatter 46-7 bis 46-0 geschlos- Frequenz von (Jl = 32 kHz auf, welche der 145. Harmosen werden. Bis die Ergebnisdaten der kumulativen Sub- nischen entspricht. Der Grundton und die harmonischen traktion nach und nach auf »512« reduziert worden sind, 50 Bestandteile bis zur 144. Harmonischen weisen alle eiverbleibt das Ausgangssignal des UND-Gatters 22-1 auf nen Pegel auf, der größer als derjenige der 145. und der »0« Während dieser Zeit wird der »1 «-Ausgangsdaten- höheren Harmonischen ist, und sind zufriedenstellend, wert des Inverters 28 zu den EXOR-Gattern 27-6 bis Es gibt Kurvensenken oder Minima an Punkten, bei 27-0 dem Inverter 31 und dem Carry-Eingangsanschluß welchen keine Harmonische erzeugt werden; diese lie- Ci,, des Volladdierers 30 geleitet Während die Ergebnis- 55 gen in der Nachbarschaft der 176. Harmonischen und in daten von »1023« zu »512« vermindert werden, erzeugt der Nachbarschaft der 293. Harmonischen, der Volladdierer 30 Daten, welche durch Invertierung In Fi g. 8 ist das Spektrum der Harmonischen einer
der Amplitudendaten ermittelt werden, welche von der Sägezahnwelle für eine andere Grundtonfrequenz dar-Maximaladresse bis zur Minimaladresse des ROMs 23 gestellt. Hier beträgt die Grundfrequenz 442,02 Hz, welausgelesen sind, welche in dieser Reihenfolge bezeich- eo ches durch Einsetzen von λ=831, β= 120 320 und net worden sind. Diese Daten werden zu dem digitalen /J=64 kHz in die Gleichung (5) erreicht wurden, wie es Filter 6 und die »Übertragungsgatter 34-7 bis 34-0 gelei- bei (a) dargestellt ist. Wie es bei (b) dargestellt ist, enttet spricht die Frequenz, bei welcher die Faltungsverzer-
Wenn die Ergebnisdaten kleiner als »512« werden, rung auftritt, der 73. Harmonischen. Der Grundton und ?|
wird das Ausgangssignal des UND-Gatters 22-1 zu »1« 65 die Harmonischen bis zur 72. Harmonischen weisen alle ,*
invertiert, wie es bei (b) in F i g. 6 dargestellt ist. Somit Pegel auf, die größer als der Pegel der 73. und der höhe- ft;
wird folgend auf das Auftreten dieses »1 «-Signals, wel- ren Harmonischen sind. Es gibt zwei Minima in der j$j
ches zu den EXOR-Gattern 20-8 bis 20-0 geleitet wird, Nachbarschaft der 88. Harmonischen und in der Nach- |
barschaft der 146. Harmonischen.
In F i g, 9 ist das Spektrum der Harmonischen einer Sägezahnwelle für eine Grundtonfrequenz dargestellt, welche sich von den Fällen in F i g. 7 und F i g. 8 unterscheidet Hier beträgt die Grundtonfrequenz 884,04 Hz, was durch Einsetzen von λ=831, ß=6Ü160 und Λ=64 kHz in Gleichung (5) erreicht wird, wie es bei (a) dargestellt ist Wie es bei (b) dargestellt ist entspricht die Frequenz der 37. Harmonischen im wesentlichen 32 kHz. In diesem Falle weisen die Grundtöne und die harmonischen Töne bis zur 36. Harmonischen alle Pegel auf, die größer als die der 37. und höheren Harmonischen sind. Es gibt Minima bei der 44. und der 72. Harmonischen.
Während in den F i g. 7 bis 9 Sägezahnwellen für drei unterschiedliche Grundtonfrequenzen dargestellt sind, die harmonisch miteinander in Verbindung stehen, ist in einem beliebigen dieser Fälle die Zeitdauer, während welcher die Interpolation durch das ROM 23 durchgeführt wird (d. h. die Verarbeitungs-Zeitdauer), auf einen konstanten Wert von »1024« eingestellt Somit weist das harmonische Spektrum oder der Aufbau der Harmonischen einen vorbestimmbaren und festen Charakter für unterschiedliche Grundtonfrequenzen auf; zwei Frequenzen, bei welchen die Minima auftreten, sind im wesentlichen festeingestellt (d. h. in der Nachbarschaft von 38 897,9 Hz und in der Nachbarschaft von 64,5 kHz); auch für unterschiedliche Grundtonfrequenzen. Dies gilt auch für andere als die oben beschriebene Grundtonfrequenz.
In den Fig. 10 bis 12 ist das Spektrum der Harmonischen von Rechteckwellen dargestellt, welche für die obenerwähnten drei unterschiedlichen Frequenzen, d. h. 221,011 Hz, 442,021 Hz und 884,042 Hz der oben beschriebenen Sägezahnwellen ausgebildet sind. In diesem Falle ist daher λ=831,/?=240 640 oder/?= 120 320 oder /?=60 160 sowie /J=64 kHz, und die Verarbeitungsperiode für die Interpolation beträgt »1024«. Aus den erwähnten Figuren wird ersichtlich, daß die drei Rechteckwellen in dieser Hinsicht den vollständig gleichen Charakter wie die oben beschriebenen Sägezahnwellen aufweisen. PWM-Wellen weisen wiederum den gleichen Charakter wie Rechteckwellen auf.
Es ist zu erkennen, daß durch Einstellung einer festen Interpolationsperiode, d.h. der Verarbeitungsperiode, unabhängig von der Notenfrequenz, Wellen, die eine Bandbreite aufweisen, die auf die festeingestellte Frequenz begrenzt ist, leicht für alle Notenfrequenzen erhalten werden können.
In den Fig. 13 und 14 ist das harmonische Spektrum für zwei unterschiedliche Sägezahnwellen dargestellt, die für die gleichen Grundtonfrequenzen, jedoch für unterschiedliche Interpolations-Verarbeitungsperioden ausgelegt sind. Im Falle von Fig. 13 ist die Grundtonfrequenz 442,2 Hz, welches durch Einsetzen von λ=543, /?=48 592 und /J=64 kHz in Gleichung (5), wie es bei (a) dargestellt ist, erreicht wird, und die Interpolations-Verarbeitungsperiode ist auf »1024« eingestellt. Im Falle von F i g. 14 sind λ, β und /j gleich denen im Fall von F i g. 13, wie es bei (a) dargestellt ist, während die Interpolations-Verarbeitungsperioden auf »2048« eingestellt sind. Es ist ersichtlich, daß diese Wellen durch Variation der Werte des Datums K verwirklicht werden können, welche durch die CPU 3 erzeugt werden. Aus dem Vergleich von (b) in F i g. 12 und (b) in F i g. 14 wird ersichtlich, daß die gleichen harmonischen Komponenten oder Bestandteile bei diesen Wellen unterschiedliche Pegel aufweisen. Dieses bedeutet, daß Filtereffekte für unterschiedliche Klangfarben für einen Ton derselben Frequenz durch Einstellung der Interpolations-Verarbeitungsperiode einfach erhalten werden können. Ferner wird aus dem Vergleich von F i g. 8 und F i g. 12, welche das Spektrum der Harmonischen von Sägezahnwellen mit einer Grundtonfrequenz von 442 Hz darstellen, ersichtlich, daß mit der gleichen Abtastfrequenz fs und der gleichen Interpolations-Verarbeitungsperiode das Harmonikspektrum dadurch verändert werden kann, daß
ίο die einzustellenden Werte für oc und β verändert wer* den.
Während in der obigen Beschreibung des Ausführungsbeispiels drei unterschiedliche Arten von Grundwellen, d. h. Rechteckwellen, PWM-Wellen und Sägeis zahnwellen, behandelt werden können, können die Grundtonwellen auch andere Arten aufweisen, wie Dreieckswellen oder schräge bzw. schräg abfallende Wellen (inclined waves). Ferner können Sinuswellen, welche für die Interpolation von Bereichen verwendet
werden, wo scharfe Änderungen in dem Amplitudenpegel der Grundwelle auftreten, durch andere Kurven, wie beispielsweise Funktionen zweiter Ordnung, Funktionen dritter Ordnung, Exponentialfunktionen oder andere trigonometrische Funktionen usw., ersetzt werden.
Ferner kann eine Viertel-Sinuswelle, welche in dem ROM 23 abgespeichert ist, durch eine volle Sinuswelle oder eine halbe Sinuswelle ersetzt werden. Obwohl ferner in dem cbigen Ausführungsbeispiel die kumulative Subtraktion des Subtrahierens einer Konstanten β nach und nach von einem Anfangswert ac, welcher in einen Volladdierer eingegeben ist, durchgeführt wird, ist es auch möglich, die Grundwellen wie in der oben beschriebenen Ausführungsform durch kumulative Addition durch Addieren eines konstanten Wertes zu einem Anfangswert ex nach und nach zu erreichen. Ferner kann der Verarbeitungsschaltkreis für die Bestimmung der Note der Grundwelle in verschiedener Form abgeändert werden. Ferner kann die Erfindung nicht nur for Musik-Sensoren, sondern auch für verschiedenartige andere elektronische Musikinstrumente und auch für verschiedenartige weitere Abänderungen und Abwandlungen der obigen Beispiele eingesetzt werden, ohne daß der Schutzbereich der Erfindung verlassen wird.
Mit dem obigen Ausführungsbeispiel der Erfindung bei der Anwendung auf ein elektronisches Musikinstrument, welches einen Wellengenerator verwendet, der verschiedenartige Grundwellen, wie beispielsweise Rechteckwellen, über Datenverarbeitung mittels eines digitalen Schaltkreises ausbilden kann, besteht keine
so Notwendigkeit, überhaupt ein ROM zu verwenden, in welchem Wellen abgespeichert sind. Somit ist es möglich, Grundwellen mit ausreichenden harmonischen Komponenten auch für tiefe Frequenzen zu erzeugen, ohne daß viel Hardware erforderlich wäre. Daneben kann ein polyphones elektronisches Musikinstrument bereits dadurch verwirklicht werden, daß ein Zeitmultiplexverfahren in den digitalen Schaltkreisen realisiert wird. Insbesondere kann die Faltungsverzerrung infolge des Abtasttheorems einfach dadurch reduziert werden, daß eine Kurve einer Funktion zweiter Ordnung für die Interpolation eines Teils der zu bildenden Welle verwendet wird, wo eine scharfe Änderung des Amplitudenpegels der Grundwelle auftritt. In diesem Falle können durch Einstellung eines festen Intervalls des Interpolationsabschnittes (d. h., der Verarbeitungsperiode) unabhängig von der Notenfrequenz Wellen, die hinsichtlich ihrer Bandbreite auf eine festeingestellte Frequenz begrenzt sind, für alle Notenfrequenzen erreicht
werden. Ferner kann eine variable Filterwirkung ohne weiteres dadurch erreicht werden, daß das Intervall des Interpolationsabschnittes variabel gehalten wird.
In dem in Fig. 1 beschriebenen Ausführungsbeispiel weisen die Daten /x, welche durch die C.?U 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. 15 ist eine weitere Ausführungsform dargestellt, in welcher das Datum α variabel ist Steuersignale Dl bis D 3 werden von der CPU 3 erzeugt, ohne zu einem Frequenz-Modulationsbereich 4a geleitet. Der Frequenz-Modulationsabschnitt 4a legt hinsichtlich der Frequenz modulierte Daten tx an den Wellengenerator 5 an. Fig. 16 zeigt den Frequenz-Modulationsabschnitt 4a im einzelnen. Diese Ausführungsform von F i g. 15 ist gleich derjenigen bei dem vorherigen Ausiührungsbeispiel von F i g. 1, außer, daß der Frequenz-Modulationsabschnitt 4a vorgesehen ist.
Der Frequenz-Modulationsabschnitt 4a weist einen Niederfrequenzoszillator (LFO) 4a-l, einen Abstimm-Steuerabschnitt 4a-2 und ein Schieberegister 4a-3 auf. Die Steuerdaten D-I und D-2 werden an dem LFO 4a-l bzw. dem Abstimmsteuerabschnitt 4a-2 angelegt Der im folgenden als LFO4a-l bezeichnete Niederfrequenzoszillator erzeugt ein niederfrequentes Signal für je eine Dreieck-, Sägezahn- oder Reckteckwelle unter Steuerung durch die eingegebenen Steuerdaten D-i, wobei das erzeugte niederfrequente Signal an das Schieberegister 4a-3 angelegt wird. Der LFO 4a-l wird im folgenden im einzelnen anhand der Fig. 17 und 18 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-l und dem Abstimm-Steuerabschnitt 4a-2 als die obenerwä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 £>-3 von der CPU 3 an das Schieberegister 4a-3 angelegt. Das Schieberegister 4a-3 legt die Daten D-3 als die Daten oc an die D-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 LFO4a-l wird anhand der Fig. 17 und 18 nicht im Detail beschrieben. Was Fig. 17 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
ίο Obertragungsgatter 67-6 in eine Ü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 Ausbildungsan Weisung für eine Dreieckswelle angelegt werdea 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 ein Durchschalt-Steuersignal für eine UND-Gattergruppe 65 verwendet. Die Ausgangssignale der UND-Gattergruppe 64 und 65 werden über eine ODER-Gattergruppe 70 zu einer Übertragungsgattergruppe 61 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. 18 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 variiert, welche später beschrieben wird. Im einzelnen zählt der Binärzähler 60 in Fig. 17 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 Dreiecksso welle (d. h. bei »1«) infolge der Betätigung eines entsprechenden Schalters in dem Schalterbereich 2 vorliegt, befindet sich das ODER-Gatter 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-Auspangsanschluß 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äh-
rend 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är- s Zählers 70 (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 je um »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 Dreiecksignal, wie es bei (b) in F i g. 18 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ählerstandwert 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 F i g. 18 dargestellt ist
Wenn nur die Ausbildungsanweisung für die Rechteckwelle anliegt wird die UND-Gattergruppe 61 mittels eines »O«-Ausgangssignals des Inverters 62 aktiviert 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-Gattergrupe 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 U N D-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, weiche 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 F i g. 18 dargestellt ist.
Da der LFO 4a-i in der obigen Weise arbeitet, wenn der Wert der Daten α sich mit niedrigen Frequenzen ändert ändert sich die Frequenz /0 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-l in dem Frequenz-Modulationsabschnitt 4a erzeugt werden, als niederwertige Bit-Daten der Daten ot des ß-Eingangsanschlusses des Volladdierers 15 geleitet. Der Abstimm-Steuerabschnitt 4a-2 addiert einen konstanten Wert zu dem richtigen Wert oder Daten oder subtrahiert den konstanten Wert von diesem. Mathematisch gesehen ergibt sich
a (Hz)
und
fi = a (Hz) · 2
1200
wobei /0 die Frequenz ist, bei welcher die Abstimmung erfolgt und /0' die Frequenz ist, wenn die Abstimmung um η (cent) getätigt ist.
Aus Gleichung (2) können die Gleichungen (6) und (7) als
f -
,, fs (a±C)
umgeschrieben werden.
Aus den Gleichungen (6) bis (9) ergibt sich der Wert π
zu 1200
ToIT
oc±C
Es wird deutlich, daß durch Betätigung eines vorgegebenen Schalters die Frequenz /"o des produzierten Tones um einen Cent entsprechend der Gleichung (10) verändert werden kann, also daß die Abstimmung ohne weiteres ermöglicht wird.
In F i g. 19 ist ein Blockdiagramm dargestellt, welches eine andere Ausführungsform der Erfindung zeigt, die Vibrato erzeugen kann. Hierbei werden Frequenz-Modulations-Codedaten λ" und Noten-Frequenzcodedaten ß, 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 F i g. 20 bis 26 beschrieben. F i g. 20 stellt ein erstes Beispiel des Frequenzarithmetikbereiches 4b dar. Hierbei bestehen Noten-Frequenzcodedaten β und Frequenzmodulations-Codedaten a1 beide aus N Bits. Von den N-Bit-Daten bezeichnen die unteren η 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 (TV—n-4)-Bit-Daten, welche die Noten-Fre- 30 quenzcodedaten β und die Frequenzmodulations-Codedaten öS 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 nie- 35 derwertigen Λ-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 40 83 führten 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 Addierers/Subtrahierers 83 wird von einem An- 45 Schluß CO desselben erzeugt und an einen Anschluß Qn des duodezimalen Addierers/Subtrahierers 82 geleitet. Der Carry-Ausgang des duodezimalen Addierers/Subtrahierers 82 wird an einem Anschluß CO desselben erzeugt und zu einem Anschluß C«, in dem binären Ad- 50 dierer/Subtrahierer 81 geleitet. Die Ergebnisdaten des X + 63 = X
binären Addierers/Subtrahierers 81 und des duodezimalen Addierers/Subtrahierers 82 werden als Adreßdaten zu einem ROM 84 geleitet. Die Ergebnisdaten des binären Addierers/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 <x werden aus den ROMs 84 und 85 ausgelesen und werden beide zu dem Wellengenerator 5 geleitet
In Fig.21 ist ein Beispiel dargestellt, in welchem die Notenfestlegungsdaten mit einer Wortlänge von 4 Bit, die in dem Beispiel von Fig.20 als Duodezimalcode ausgedrückt sind, als Binärdaten ausgedrückt sind. In diesem Falle werden die Noten-Frequenzcodedaten ß, die Frequenzmodulations-Codedaten af 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 a werden aus dem ROM 88 ausgelesen.
In F i g. 22 ist ein Beispiel dargestellt, in welchem das ROM 88 in dem Beispiel von F i g. 22 durch einen binären Addierer/Subtrahierer 89 ersetzt wurde. Hier sind beide Noten-Frequenzcodedaten β und Frequenzmodulations-Codedaten oi 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 F i g. 21 aufweist. Die oberen (N-n/Bit-Daten der Ergebnisdaten des binären Addierers/Subtrahierers 86 werden zu dem ROM 87 geleitet, welches die gleiche Funktion wie das ROM 87 in dem Beispiel von F i g. 21 für das Auslesen der Noten-Frequenzcodedaten β aufweist. Die niederwertigen n-Bit-Daten F werden zu dem binären Addierer/Subtrahierer 89 geleitet. Zu dem binären Addierer/Subtrahierer 89 werden auch Daten Xgeleitet, die einen Wert gleich den Frequenzmodulations-Codedaten λ in dem Fall aufweisen, wo Frequenzmodulation auftritt Die Ergebnisse X± Y des binären Addierers/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:
a=X±Y=X2
U)Il 120U
In dem Falle, daß N beispielsweise gleich 8 ist, so daß der binäre Addierer/Subtrahierer 89 als Addierer arbeitet, wenn die Daten K(die Werte zwischen »0« und »63« annehmen können) »63« betragen, so ergibt sich aus Gleichung (11):
100
21200
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. 23 ist ein Beispiel dargestellt, in welchem der binäre Addierer/Subtrahierer 89 in dem Beispiel von F i g. 22 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 F i g. 22 auf, und das ROM 87 weist die gleiche Funktion wie das ROM 87 in dem Beispiel von F i g. 22 auf. Von den Ergebnisdaten aus dem binären Addierer/Subtrahierer 68, werden die niederwertigen 77-Bit-Daten zu dem Decoder 90 geleitet, während die
Ausgangsdaten K des Decoders 90 und die Daten -YaIs Frequenzmodulations-Codedaten vorgesehen sind.
Von den Daten X sind die niederwertigen n- Bit- Daten allesamt »0«. Somit ergibt sich die Gleichung:
X+Y = X
loo
. 2 1200
Die Daten Vergeben sich somit:
Y = X
Als Beispiel sei der Fall betrachtet, bei welchem π = 6 ist, so daß die niederwertigen 6-Bit-Daten sich alle auf dem logischen Wert »0« befinden, während -Yist:
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 Ausgangssignals des binären Addierers/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 Vvon »0« bis »56« verändert werden.
Als weiteres Beispiel ergibt sich für Y, wenn ^flautet:
X= 1101000000 (= 832),
0<y<48.
In F i g. 24 ist ein Beispiel dargestellt, bei welchem die Frequenzmodulations-Codedaten oi das Produkt eines Vibrato-Wellenformsignals und eines Vibratotiefen-Festlegungssignals 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 oi, zu der Durchschnittsfaktor-Frequenzarithmetikeinheit 92 geleitet Die Notenfrequenz-Codedaten β werden ferner zu der Durchschnittsfaktor-Frequenzarithmetikeinheit 92 geleitet Die Durchschnittsfaktor-Frequenzarithmetikeinheit 92 kann der in F i g. 21 dargestellte Schaltkreis sein.
In diesem 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-Codedatsn ot alle »0«. Mit diesen Frequenzmodulations-Codedaten oi, welche zu der Durchschnittsfaktor-Frequenzarithmetikeinheit 92 geleitet werden, »an« eine Vibratowellenform, die halbtonweise variiert, entsprechend den Notenfrequenzdaten β und den Frequenzmodulations-Codedaten od erhalten werden, welche von der Durchschnittsfaktor-Frequenzarithmetikeinheit 92 erzeugt werden.
In F i g. 25 ist ein Beispiel dargestellt, das Portamento-Spiel nur während der einstimmigen oder monophonen Spielweise erlaubt. Hierbei wird ein Code NEW KEY CODE als Code für eine neue Taste, welche erzeugt wird, wenn eine neue Taste eingeschaltet wird, zu einem Anschluß Γ eines !Comparators 93 geleitet. Zu diesem Zeitpunkt ist ein Code entsprechend der vorher eingeschalteten Taste von einem Flip-Flop 96 zu einem Anschluß 5 des !Comparators 93 zurückgeleitet worden.
Der Komparator 93 vergleicht die Größen der Codes an den Anschlüssen Tund 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 Addierers/Subtrahierers 95 zu leiten ist und dort eine Subtraktion des binären Addierers/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 Addierers/Subtrahierers 95 geleitet wird und dort eine Addition des binären Addierers/Subtrahierers 95 bewirkt. Wenn die Codes an den Anschlüssen Tund Snicht ü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 einen Halbton entsprechenden niederwertigen 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 FHp-Flop % jedesmal dann aus, wenn das Signal EXECUTE angelegt wird. Die Ergebnisdaten werden zu dem Flip-Flop % 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äB F i g. 25 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 einen 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 »O«-Signal erzeugt wird, kann ein Portamento-Effekt erreicht werden, der für jeden Halbton variiert.
In Fig.26 ist ein Beispiel dargestellt, in welchem ein Gleiteffekt erzeugt werden kann. Wenn eine neue Taste eingeschaltet wird, wird hier der entsprechende Code NEW KEY CODE direkt an einen Anschluß T eines !Comparators 99 und auch an einen binären Addierer/ Subtrahierer 100 über einen Gatterschaltkreis G angelegt. Zur gleichen Zeit werden Gleit-Weiten-Daten (gilde width data) an den binären Addierer/Subtrahierer iOO über einen Gatterschaltkreis G 2 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 »au/«-Befehl ist (d. h. ein »!«-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 »afc«-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 G 3 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 /3-Bit-Daten der A/-Bit-Daten werden zu einem ROM 98 geleitet, wodurch die Frequenzmodulations-Codedaten oc aus dem ROM 98 ausgelesen werden. Ein Ergebnissignal, welches aus dem Komparator 99 als Ergebnis des Vergleiches der Eingangsdaten an den Anschlüssen 5 und rdes Komparators 99 erhalten wurde, wird ferner von einem 5 > T-Termina! 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 Obertragungsgatter 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 5 und T erfaßt, wird die Addition oder Subtraktion des binären Addierers/Subtrahierers 100 abgebrochen, um die Erzeugung des Gleiteffekts bzw. Glissandos zu stoppen.
Wenn die zwei Eingangsdaten an den Anschlüssen 5 und T des Komparators 99 nicht übereinstimmen, erzeugt der Komparator 99 ein »1«-Signal an seinem S¥= T-Anschluß. Wenn die beiden Eingangsdaten übereinstimmten, 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 G 3 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 Ab, der einen verschiedenartigen Aufbau
ίο haben kann, wie es bei Fig.20 bis 26 dargestellt ist, einen Arbeitsablauf aus, der von dem Fall verschieden ist, bei welchem keine Frequenzmodulation durchgeführt wird, und der Frequenzarithmetikabschnitt Ab erzeugt Noten-Frequenzcodedaten β und Daten, welche nicht konstant sind, sondern sich in der ganzen Zeitperiode ändern, d. h. die Frequenzmodulations-Codedaten x, und legt sie an den Wellengenerator 5 an.
In dem Falle von F i g. 20 werden die Notenfrequenz-Codedaten ß, die Frequenzmodulations-Codedaten oc1, die beide von der CPU 3 als N-Bit-Daten erzeugt werden, und die unteren /7-Bit-Daten zu dem binären Addierer/Subtrahierer 83 geleitet, die oberen 4-Bit-Daten werden als duodezimale Codedaten zu dem doudezimalen 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ß C1n des binären Addierers/Subtrahierers 82 angelegt, und das Carry-Ausgangssigna! des binären Addierers/Subtrahierers 82 wird an den Anschluß Qn 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 oc 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 /<j des erzeugten Tones verändert wird, wodurch eine Frequenzmodulation erzielbar ist, welche Vibrato od. dgl. erzeugen kann.
Im Falle von Fig. 21 werden daher die Noten-Frequenz-Codedaten β und die Frequenzmodulations-Codedaten oc" als Binärdaten ausgedrückt, und der binäre Addierer/Subtrahierer 86 addiert oder subtrahiert die zwei Codedaten β und oi. Von den Ergebnisdaten werden die oberen (N- n/Bit-Daten zu dem ROM 87 geleitet, und die unteren /3-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 oc werden aus dem ROM 88 ausgelesen.
In dem Falle von F i g. 22 addiert oder subtrahiert der binäre Addierer/Subtrahierer 86 die Noten-Frequenzcodedaten β und die Frequenzmodulations-Codedaten ot. 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 ex, die auf den Ergebnisdaten X+ Yoder X— Ydes binären Addierers/Subtrahierers 89 beruhen, werden somit erhalten.
In dem Falle von F i g. 23 empfängt der binäre Addierer/Subtrahierer 86, wie der binäre Addierer/Subtrahierer 86 in dem Falle von F i g. 22, die Tonfrequenz-Codedaten ß, die Frequenzmodulations-Codedaten oi und das Addier- oder Subtrahier-Kommando. Die oberen (N- n)-Bh- 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 β 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 a erzeugt Somit wird Frequenzmodulation entsprechend den Frequenzmodulations-Codedaten tx bewirkt, die sich entsprechend den Daten Yändern.
In dem Falle von F i g. 24 wird die Vibratotiefe durch Betätigung eines entsprechenden 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 oi über den Gatterschaltkreis C an die Durchschnittsfaktor-Frequenzarithmetikeinheit 92 angelegt werden. Die Durchschnittsfaktor-Frequenzarithmetikeinheit 92 erzeugt somit die Durchschnittsfaktor-Frequenzberechnung entsprechend der Funktion des Schaltkreises in F i g. 21 und erzeugt die Notenfrequenz-Codedaten β und die Frequenzmodulations-Codedaten «. Das Vibrato ändert sich somit mit der gleichen Tiefe, wird ein geeigneter Schaltsr entsprechend betätigt, um ein »O«-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 F i g. 25 wird betrieben, wenn ein Protamentoeffekt 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ß Tdes Komparators 92 geleitet Zu dieser Zeit tritt der Code entsprechend der vorher betätigten Taste an dem Anschluß 5 des !Comparators 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ß 5 Φ T, um das UND-Gal· ter 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 sei angenommen, daß das Signal »1« ist Somit werden die oberen (N-n)-B\t-Daten der Ergebnisdaten bei der obenerwähnten Subtraktion zu dem ROM 97 geleitet, während die untern η-Bit- Daten zu dem ROM 98 geleitet werden, wodurch die Noten-Frequenzcodedaten β und Frequenzmodulationscodedaten <x ausgelesen werden. In diesem Falle ändert sich der Frequenzmodulationscode nach und nach zu niedrigen Frequenzen entsprechend dem Durchschnittsfaktor. Wenn das obenerwä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 5 und Terfaßt, erzeugt der Komparator 93 ein »0«-Signal an seinem Anschluß S Φ Τ, 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«-SignaI 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 » + !«-Inkrementitrung, bis die beiden Daten an den Anschlüssen Sund Γ ü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, ändert sich die Frequenzmodulations-Codedaten λ halbtonweise zunehmenden Frequenzen. Die Änderungsgeschwindigkeit der Noten ist über den gesamten Bereich fest
Im Falle von Fig.26 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 G 1 und G 2 und das Übertragungsgatter 104 zu aktivieren. Somit arbeitet der binäre Ad-
dierer/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är; a Addierer/Subtrahierer 100 geleitet Die Gleit-Breitendaten werden auch zu dem binären Addierer/Subtrahierer 100 über den Gatterschaltkreis G 2 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 Einzelimpulssignals NEW KEY ON wird der Ausgang des Inverters 101 auf »1« invertiert um die Übertragungsgatter 103 und 105 und den Gatterschaltkreis G 3 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 G 3. Darauf folgend vergleicht der Komparator 99 die Daten an den Anschlüssen Sund Tund erzeugt ein »0«-Signal an seinem S > T-Anschluß. Das »O«-Signal wird als ein Additionsbefehl über das Übertragungsgatter 105 zu dem Steueranschluß (—) des binären Addierers/Subtrahierers 100 geleitet. Der Komparator 99 erzeugt auch ein »!«-Signal an seinem Anschluß 5 > 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 obenerwähnten Ergebnisdaten jedesmal dann aus, wenn das Signal EXECUTE angelegt wird. Die oberen (7V-/j>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-Frequenzdaten β aus dem ROM 97 ausgelesen. Auch werden die Frequenzmodulations-Codedaten «, welche sich zu den 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 5 und Γ 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ärtsgleiteffekles 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äß F i g. 9 wird die Notenfrequenz durch Verarbeitung in dem digitalen Schaltkreis festgelegt, und es ist möglich, eine einheitliche Freauenzmodulation über die Plusseite und die Minusseite über eine einfache Verarbeitung zu erreichen. Da der Portamento-Effekt und der Gleiteffekt ohne weiteres erzeugt werden könne, 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ß der
ίο Hardwareaufbau einfach gehalten sein kann, was zur Verminderung der räumlichen Abmessungen des elektronischen Musikinstrumentes beiträgt
In F i g. 27 ist ein Blockdiagramm dargestellt, welches ein weiteres Ausführungsbeispiel zeigt, bei welchem die Klangfarbe des erzeugten Tones verändert werden kann. Hier wird ein Rausch-Steuerungsabschnitt 5a zwischen dem Wellengenerator und dem digitalen Filter 6 vorgesehen. Bei der Änderung der Klangfarbe führt die Rausch-Steuerschaltung 5a eine arithmetische Funktion aus. Hier handelt es sich um die Addition oder Subtraktion von Rauschen hinsichtlich der Eingangs-Wellenformdaten aus dem Wellengenerator 5, während die Polarität der Wellenform bestimmt wird, d. h. ob die Amplitude der Wellenformdaten positiv oder negativ ist.
Wie in Fig.28 dargestellt ist, empfängt die Rausch-Steuerschaltung 5a das Ausgangssignal des ROM 23 durch ODER-Gatter 24-0 bis 24-6. Ein Steuersignal, ein invertiertes Signal und ein Rauschsignal werden ferner an den Rausch-Steuerabschnitt 5a angelegt. Das Ausgangssignal des Rausch-Steuerabschnittes 5a wird zu dem digitalen Filter 6 geleitet. Der Rest des Aufbaus dieser Ausführungsform ist gleich wie der in F i g. 2.
In F i g. 29 ist der Aufbau der Rausch-Steuerschaltung 5a im einzelnen dargestellt. Der Ausgangsanschluß von EXOR-Gattern 5a-26 bis 5a-20 ist mit niederwertigen 7-Bit-A-Eingangsanschlüssen A 6 bis A 0 eines Volladdierers 5a-l verbunden. Das obenerwähnte invertierte Signal wird durch einen Inverter 5a-3 zu dem MSB-A-Eingangsanschluß A 7 des Volladdierers 5a-1 geleitet.
Das invertierte Signal wird auch durch einen Inverter 5a-4 an die ß-Eingangsanschlüsse außer dem ß-Eingangsanschluß B 5 des Volladdierers 5a-1 angelegt. Das Ausgangssignal eines UND-Gatters 5a-l wird zu dem ß-Eingangsanschluß B 5 geleitet. Das invertierte Signal wird ferner direkt zu einem Carry-Eingangsanschluß Qn des Volladdierers 5a-l geleitet. Daten Oe bis Ck werden durch die ODER-Gatter 24-6 bis 24-0 zu einem Eingangsanschluß der jeweiligen EXOR-Gatter 5a-26 bis 5a-20 geleitet. Das invertierte Signal wird zu dem anderen Eingangsanschluß dieser ODER-Gatter 5a-26 bis 5a-20 geleitet. Das invertierte Signal wird ferner durch den Inverter 5a-4 und ein Übertragungsgatter 5a-6 zu dem ODER-Gatter 5a-5 geleitet. Das Rauschsignal wird durch ein UND-Gatter 5a-7 zu dem ODER-Gatter 5a-5 geleitet. Das Übertragungsgatter 5a-6 wird durch ein Signal durchgeschaltet, das von dem Inverter 5a-8, welcher das Steuersignal von der CPU 3 invertiert, in Übereinstimmung mit dem Zustand eines Rausch-Schalters in dem Schalterabschnitt 2 hergeleitet, welcher betätigt wird, wenn die Klangfarbe geändert wird. Das UND-Gatter 5a-7 wird durch das Steuersignal direkt durchgeschaltet. Das Rauschsignal weist einen Pegel auf, der stochastisch verteilt den Wert »H« oder »L« annimmt, wenn der Rauschschalter »1« ist. Die Ergebnisdaten aus den 5-Ausgangsanschlüssen 57 bis SO des Volladdierers 15a-l werden an das digitale Filter 6 angelegt.
Im folgenden wird die Funktion in Verbindung mit einem Fall beschrieben, bei welchem die Klangfarbe
eines Tones durch Hinzufügen von Rauschen verändert wird. In diesem Falle wird zunächst ein Rauschschalter zusammen mit dem Rechteckwellen-Festlegungsschalter in dem Schalterbereich 2 eingeschaltet Daraus ergibt sich, daß ein Steuersignal mit dem Pegel »1« von dem Rausch-Steuerabschnitt 5a zu der CPU 3 geleitet wird, um das UND-Gatter 5a-7 zu aktivieren und das Übertragungsgatter 5a-6 zu deaktivieren. Somit wird ein Rauschsignal, dessen Pegel sich zufallsbedingt auf »1« ändert, an den B-Eingangsanschluß ß5 des Volladdierers5a-l angelegt
Im folgenden wird die Wirkungsweise des Rausch-Steuerabschnittes anhand eines Falles beschrieben, bei welchem ein Rauschsignal »0« oder »1« von dem Augenblick an ist, wenn die Noten-Frequenzcodedaten β is an den ß-Eingsngsanschlüssen des Volladdierers 16 eingestell* sind und bis zu dem Augenblick so verbleibt, wenn die Ergebnisdaten der kumulativen Subtraktion diesbezüglich zu »1024« werden. Während dieser Zeitdauer treten Daten mit Wortbreite von 8 Bit welche sich alle auf dem logischen Pegel »1« befinden, an den A-Eingangsanschlüssen des Volladdierers 5a-l auf, und ein »O«-Signal tritt an dem Carry-Eingangsanschluß Qn des Volladdierers 5a-l auf. Ferner werden Daten »11011111« an den B-Eingangsanschluß angelegt, wenn das Rauschsignal »0« ist, während 8-Bit-Daten, welche sich alle auf dem logischen Wert »1« befinden, angelegt werden, wenn das Rauschsignal »1« ist Wenn somit das Rauschsignal »0« ist, betragen die Ergebnisdaten, welche von dem Volladdierer 5a-1 zu dem digitalen Filter 6 geleitet werden, »1«. Wenn das Rauschsignal »0« beträgt betragen die Ergebnisdaten, welche von dem Volladdierer Sa-I zu dem digitalen Filter 6 geleitet werden, »11011110«. Das bedeutet, daß Daten (Amplitudenwertdaten), die kleiner als die Daten Oe bis Oo sind, die durch »00100001« zu den A-Eingangsanschlüssen geleitet werden, angelegt werden. Wenn das Rauschsignal »1« ist sind die Ergebnisdaten, welche zu dem digitalen Filter 6 geleitet werden, »11111110«, d.h., Daten, kleiner als die Daten Oe bis Oo, werden an die A-Eingangsan-Schlüsse angelegt. Dies bedeutet, daß die Amplituden-Wellenform, wie es in F i g. 30 durch eine durchgezogene Linie dargestellt ist, erzeugt wird, wenn das Rauschsignal »1« beträgt und, wie es durch eine gestrichelte Linie dargestellt ist, wenn das Rauschsignal »0« beträgt, für die linke Seite der Welle, d. h. für den positiven Bereich der Wellenform hinsichtlich des Amplitudenwertes »10000000«. Mit pnderen Worten wird die erzeugte Wellenform durch eine der beiden Amplitudendaten, wie sie durch die durchgezogene und die gestrichelte Linie dargestellt sind, in Abhängigkeit davon repräsentiert, ob das Rauschsignal »0« oder »1«ist.
Während die Ergebnisdaten der kumulativen Subtraktion sich von »1024« auf »512« ändern, werden die Amplitudendaten, die aus dem ROM 23 ausgelesen sind, direkt als Daten O^ bis Oo an den A-Eingangsanschluß Λ 6 bis Λ 0 des Volladdierers 5a-1 eingeführt. Ebenso wird ein »1«-Signal dem A-Eingangsanschluß A 7 zugeleitet, und ein »0«-Signal dem Carry-Eingangsanschluß Qn zugeleitet. Ferner werden Daten »11011111« den ß-Eingangsanschlüssen zugeleitet, wenn die Rauschdaten »0« sind, während die Daten mit 8 Bit, die alle den Wert »1« aufweisen, den ß-Eingangsanschlüssen zugeleitet werden, wenn das Rauschsignal »1« beträgt. Während dieser Zeitdauer werden Daten, die um »00100001« kleiner als die Daten für die A-Eingangsanschlüsse des Volladdierers 5a-l sind, dem digitalen Filter 6 zugeleitet, wenn das Rauschsignal »0« ist, während Daten, die um »1« kleiner als die den A-Anschlüssen zugeführten Daten sind, zugeführt werden, wenn das Rauschsignal »1« beträgt d. h„ die Wellenform, wie sie in F»g. 30 dargestellt ist wird erreicht
Während die Ergebnisdaten der kumulativen Subtraktion sich von »512« auf »0« ändern, werden Daten als ein Ergebnis der Inversion der Amplitudendaten Oe bis Oo von ROM 23 zu den A-Eingangsanschlüssen A 6 bis A 0 des Volladdierers 5a-l zugeleitet
Ferner wird auch ein »0«-Signal zu dem Eingangsanschluß Al geleitet und ein »1 «-Signal wird zu dem Carry-Eingangsanschluß Qn geleitet Ferner werden die 8-Bit-Daten, die alle »0« sind, zu den ß-Eingangsanschlüssen geleitet wenn das Rauschsignal »0« ist während die Daten »00100000« zu den ß-Eingangsanschlüssen geleitet werden, wenn das Rauschsignal »1« ist Während dieses Zeitabschnittes sind die an das digitale Filter 6 angelegten Daten somit um »1« größer als die an die A-Eingangsanschlüsse angelegten Daten, wenn das Rauschsignal »0« ist während sie um »00100001« größer als die an die Λ-Eingangsanschlüsse angelegten Daten sind.. Somit ist die rechte Hälfte, d. h. der negativen Amplitudenbereich der Wellenform in F i g. 30 derjenige, der durch die durchgezogene Linie dargestellt ist wenn das Rauschsignal »0« ist, und derjenige, der durch die gestrichelte Linie dargestellt ist wenn das Rauschsignal »1« beträgt
Während das Ausgangssignal des Schieberegisters 17 sich von »0« auf »1024« ändert, wie es bei (f) in F i g. 4 dargestellt ist, d. h., während der Periode von dem Augenblick, wenn die Noten-Frequenzcodedaten β erneut an die ß-Eingangsanschlüsse des Volladdierers !6 eingegeben werden, bis zu dem Augenblick, wenn die Ergebnisdaten der kumulativen Subtraktion zu »1024« werden, werden 8-Bit-Daten, die alle »0« sind, zu den Eingangsanschlüssen des Volladdierers 5a-1 geleitet, und das »1«-Signal wird zu dem Carry-Eingangsanschluß Qn geleitet. Ferner werden die 8-Bit-Daten, bei denen alle Bit »0« sind, zu den ß-Eingangsanschlüssen angelegt wenn das Rauschsignal »0« ist, während die Daten »00100000« angelegt werden, wenn das Rauschsignal »1« ist. Somit sind die während dieser Perioden an das digitale Filter 7 angelegten Daten »00000001«, d. h. Daten, die um »1« größer als die Daten sind, die den A-Eingangsanschlüssen des Volladdierers zugeleitet werden, wenn das Rauschsignal »0« beträgt, während sie »00100001« sind, d. h. Daten, die um »00100001« größer als die den A-Eingangsanschlüssen zugeleiteten Daten sind, wenn das Rauschsignal»1« beträgt. Somit kann die in F i g. 30 dargestellte Wellenform erreicht werden.
Während die Ergebnisdaten der kumulativen Subtraktion sich von »1024« auf »512« ändern, werden Daten als Ergebnis der Inversion der Daten O^ bis Oo aus dem ROM 23 an die A-Eingangsanschlüsse A 6 bis A 0 des Volladdierers 5a-l angelegt, ein »0«-Signal wird an den A-Eingangsanschluß A 7 angelegt, und ein »!«-Signal wird an den Carry-Eingangsanschluß Qn angelegt.
Ferner werden Daten mit 8 Bit, die alle »0« betragen, an den ß-Eingangsanschluß angelegt, wenn das Rauschsignal »0« ist, während Daten »00100000« an die ß-Eingangsanschlüsse angelegt werden, wenn das Rauschsignal »1« beträgt. Somit sind die während dieses Zeitabschnittes an das digitale Filter 6 angelegten Daten um »1« größer als die Eingangsdaten an den A-Eingangsanschlüssen, wenn das Rauschsignal »0« beträgt, während sie um »00100001« größer als die Eingangsdaten an den A-Eingangsanschlüssen sind, wenn das Rauschsignal »!«beträgt.
Während ferner die Ergebnisdaten der kumulativen Subtraktion sich von »512« auf »0« ändern, werden die Daten O6 bis O0 aus dem ROM 23 direkt zu den A-Emgangsanschlüssen A 6 bis A 0 des Volladdierers 5a-l geleitet, ein »1 «-Signal wird zu den ^-Eingangsanschlüssen A 7 geleitet, ein »O«-Signal wird zu dem Carry-Eingangsanschluß Qn geleitet, und ein »O«-Signal wird zu dem Carry-Eingangsanschluß Qn geleitet Ferner werden Daten »11011111« zu den B-Eingangsanschlüssen geleitet, wenn das Rauschsignal »0« beträgt, 8-Bit-Daten, bei denen Bits »1« sind, werden an die B-Eingangsanschlüsse angelegt, wenn das Rauschsignal »1« ist Die an das digitale Filter 6 während dieser Zeit angelegten Daten sind somit um »00100001« kleiner als die an den A-Eingangsanschlüssen anliegenden Eingangsdaten, wenn das Rauschsignal »0« beträgt während sie um »1« kleiner als die an den A- Eingangsanschlüssen anliegenden Eingangsdaten sind, wenn das Rauschsisnal »1« beträgt.
Wie dargestellt wurde, wird bei der Änderung der Klangfarbe des Tones mittels der Hinzufügung von Rauschen, das Rauschen derart addiert daß seine Amplitude kleiner wird, wenn die Rechteckwelle positive Amplitude produziert während es so addiert wird, daß seine Amplitude größer wird, wenn die Rechteckwellenamplitude negativ ist Somit wird die Amplitude des erzeugten Tones nie die Kapazität des D/A-Wandlers 8 überschreiten.
Im folgenden wird die Funktionsweise in Verbindung mit dem Fall einer Sägezahnwelle anhand von den F i g. 31 bis 33 beschrieben. In F i g. 31 ist ein Schaltkreis dargestellt der dadurch erhalten wird, daß ein bestimmter Schaltkreis zu dem Schaltkreis des Wellengenerators 5, wie er in Fi g. 28 dargestellt ist, derart hinzugefügt wird, daß die Sägezahnwellen sowohl als Rechteckwellen als auch als PWM-Wellen ausgebildet sein können. In Fig.31 entsprechen gleiche Teile gleichen Teilen in Fig.28, sind durch gleiche Bezugszeichen und Symbole gekennzeichnet, und daher kann ihre detaillierte Beschreibung unterbleiben. Der Aufbau des zusätzlichen Schaltkreises in Fig.31 wird im folgenden beschrieben.
Der Ausgangsanschluß des UND-Gatters 22-2 wird über den Inverter 25 und das Übertragungsgatter 26 an die ODER-Gatter 24-6 bis 24-0 zusammen mit den Amplitudendaten Ob bis Oo angelegt, die aus dem ROM 23 ausgelesen wurden. Die Ausgangsanschlüsse der ODER-Gatter 24-6 bis 24-0 werden an einen der Eingangsanschlüsse des jeweiligen EXOR-Gatters 27-6 bis 27-0 angelegt. Der Ausgangsanschluß des UND-Gatters 22-1 wird über einen Inverter und Übertragungsgatter 29 an den anderen Eingangsanschluß des EXOR-Gatters 27-6 bis 27-0 angelegt. Die Ausgangsanschlüsse der EXOR-Gatter 27-6 bis 27-0 sind mit den Λ-Eingangsanschlüssen A 6 bis A 0 des Volladdierers 30 verbunden, der einen Inverter bildet. Der Ausgangsanschluß des UND-Gatters 22-1 ist ferner über einen Inverter 28, ein Übertragungsgatter 29 und einen Inverter 31 mit dem /4-Eingangsanschluß A 7 des Volladdierers 30 verbunden. Der Ausgangsanschluß des UND-Gatters 22-1 ist ferner über Inverter 28 und Übertragungsgatter 29 mit dem Carry-Eingangsanschluß Qn des Volladdierers 30 verbunden. Ferner ist der Ausgangsanschluß eines später zu beschreibenden Inverters über ein Übertragungsgatter 33 mit dem Carry-Eingangsanschluß Qn verbunden. Die aus den S-Ausgangsanschlüssen S7 bis SO des Volladdierers 30 erzeugten Daten werden über Übertraeuneseatter 34-7 bis 34-0 und die Rausch-Steuerschaltung 5a an das digitale Filter 6 angelegt Der Ausgangsanschluß des UND-Gatters 22-1 wird über Inverter 28 und Übertragungsgatter 29 mit dem anderen Eingangsanschluß der einzelnen EXOR-Gatter 27-6 bis 27-0 verbunden. Die Ausgänge der EXOR-Gatter 27-6 bis 27-0 werden mit den /4-Eingangsanschlüssen A 6 bis A 0 des Volladdierers 30, welcher als Invrrter dient verbunden. Der Ausgangsanschluß des UND-Gatters 22-1 wird über den Inverter 28, das Übertragungsgatter 29 und den Inverter 31 mit dem .A-Eingangsanschluß A 7 des Volladdierers 30 verbunden. Der Ausgangsanschluß des UND-Gatters 22-1 wird ferner über die Inverter 28 und das Übertragungsgatter 29 mit dem Carry-Eingangsanschluß Qn des Volladdierers 30 verbunden. Daten aus den S-Ausgangsanschlüssen S7 bis SO des Volladdierers 30 werden über Übertragungsgatter 34-7 bis 34-0 und den Rausch-Steuerschaltkreis 5a zu dem digitalen Filter 6 geleitet.
In Fig.32 ist ein besonderer Aufbau der Rausch-Steuerschaltung 5a dargestellt Die Ausgangsdaten S 7 bis SO aus dem Volladdierer 30 oder dem Dividierschaltkreis 44 werden über Übertragungsgatter 34-7 bis 34-0 oder Übertragungsgatter 46-7 bis 46-0 zu den A-Eingangsanschlüssen Λ 7 bis Λ 0 des Volladdierers 5a angelegt. Ferner werden unter den Daten S7 bis SO die Daten S 7, die ein Vorzeichenbit darstellen, direkt zu den 5-Eingangsanschlüssen außer dem Ä-Eingangsanschluß B 5 geleitet. Der Ausgangsanschluß eines ODER-Gatters 5a-5 wird zu dem B-Eingangsanschluß B 5 geleitet. Das Signal S 7 wird auch über einen Inverter 5a-l zu dem Carry-Eingangsanschluß Qn geleitet Das Signal S 7 wird ferner über ein Übertragungsgatter 5a-6 zu dem ODER-Gatter 5a-5 geleitet. Das Rauschsignal wird ferner über ein UND-Gatter 5a-7 zu dem ODER-Gatter 5a-5 geleitet. Das Übertragungsgatter 5a-6 wird durch ein Signal aus einem Inverter 5a-8 durchgesteuert, an welchem von der CPU 3 mit Betätigung des Rauschschalters in dem Schalterbereich 2 beim Wechsel der Klangfarbe erzeugtes Steuersignal angelegt wird. Das UND-Gatter 5a-7 wird direkt durch das obenerwähnte Steuersignal durchgeschaltet. Die Ergebnisdaten aus dem Volladdierer 5a-l werden von ihrem C-Ausgangsanschlüssen Cl bis CO zu dem digitalen Filter 6 geleitet Die Funktion im Falle des Ausbildens einer Sägezahnwelle mit der Addition von Rauschen wird im folgenden anhand von F i g. 33 beschrieben. In diesem Fall wird der Rauschschalter zusammen mit dem Sägezahnwellen-Festlegungsschalter in dem Schalterbereich 2 eingeschaltet. Dadurch wird das Steuersignal »1« von der CPU 3 erzeugt und zu der Rausch-Steuerschaltung 5a geleitet, um das UND-Gatter 5a-7 zu aktivieren und das Übertragungsgatter 5a-6 zu sperren. Semit wird ein Rauschsignal, das unregelmäßig zwischen Pegeln mit dem logischen Wert »0« und »1« hin und her wechselt, an den B-Eingangsanschluß B5 des Volladdierers 5a-l angelegt. Während des darauffolgenden Zeitabschnittes seit dem Einstellen der Noten-Frequenzcodedaten in dem Volladdierer 16, bis zu dem Augenblick, wenn die Ergebnisdaten der kumulativen Subtraktion zu »1024« werden, werden Daten »11011111« zu den B-Eingangsanschlüssen der Rauschsteuerschaltung 5a geleitet, während ein »0«-Signal zu dem Carry-Eingangsanschluij Qn geleitet wird, wenn das Rauschsignal »0« ist. Somit sind die zu dem digitalen Filter 6 geleiteten Daten um »00100001« kleiner als die Daten S7 bis SO, die zu den A-Eingangsanschlüssen des Volladdierers 5a-l geleitet werden. Wenn das Rauschsignal »1« ist, werden die 8-Bit-Daten. bei denen alle Bits den logischen Wert
Während ferner die Ergebnisdaten der kumulativen Subtraktion sich von »512« auf »0« ändern, werden die Daten O6 bis O0 aus dem ROM 23 direkt zu den A-Emgangsanschlüssen A 6 bis A O des Volladdierers 5a-1 geleitet, ein »1 «-Signal wird zu den /4-Eingangsanschlüssen A 7 geleitet, ein »O«-Signal wird zu dem Carry-Eingangsanschluß Qn geleitet, und ein »O«-Signal wird zu dem Carry-Eingangsanschluß Qn geleitet. Ferner werden Daten »11011111« zu den B-Eingangsanschlüssen geleitet, wenn das Rauschsignal »0« beträgt, 8-Bit-Daten, bei denen Bits »1« sind, werden an die B-Eingangsanschlüsse angelegt, wenn das Rauschsignal »1« ist. Die an das digitale Filter 6 während dieser Zeit angelegten Daten sind somit um »00100001« kleiner als die an den A- Eingangsanschlüssen anliegenden Eingangsdaten, wenn das Rauschsignal »0« beträgt, während sie um »1« kleiner als die an den A-Eingangsanschlüssen anliegenden Eingangsdaten sind, wenn das Rauschsignal »1« beträgt
Wie dargestellt wurde, wird bei der Änderung der Klangfarbe des Tones mittels der Hinzufügung von Rauschen, das Rauschen derart addiert, daß seine Amplitude kleiner wird, wenn die Rechteckwelle positive Amplitude produziert, während es so addiert wird, daß seine Amplitude größer wird, wenn die Rechteckwellenamplitude negativ ist. Somit wird die Amplitude des erzeugten Tones nie die Kapazität des D/A-Wandlers 8 überschreiten.
Im folgenden wird die Funktionsweise in Verbindung mit dem Fall einer Sägezahnwelle anhand von den F i g. 31 bis 33 beschrieben. In F i g. 31 ist ein Schaltkreis dargestellt, der dadurch erhalten wird, daß ein bestimmter Schaltkreis zu dem Schaltkreis des Wellengenerators 5, wie er in Fi g. 28 dargestellt ist, derart hinzugefügt wird, daß die Sägezahnwellen sowohl als Rechteckwellen als auch als PWM-Wellen ausgebildet sein können. In Fi g. 31 entsprechen gleiche Teile gleichen Teilen in Fig.28, sind durch gleiche Bezugszeichen und Symbole gekennzeichnet, und daher kann ihre detaillierte Beschreibung unterbleiben. Der Aufbau des zusätzlichen Schaltkreises in Fig. 31 wird im folgenden beschrieben.
Der Ausgangsanschluß des UND-Gatters 22-2 wird über den Inverter 25 und das Übertragungsgatter 26 an die ODER-Gatter 24-6 bis 24-0 zusammen mit den Amplitudendaten Ob bis Oo angelegt, die aus dem ROM 23 ausgelesen wurden. Die Ausgangsanschlüsse der ODER-Gatter 24-6 bis 24-0 werden an einen der Eingangsanschlüsse des jeweiligen EXOR-Gatters 27-6 bis 27-0 angelegt. Der Ausgangsanschluß des UND-Gatters 22-1 wird über einen Inverter und Obertragungsgatter 29 an den anderen Eingangsanschluß des EXOR-Gatters 27-6 bis 27-0 angelegt Die Ausgangsanschlüsse der EXOR-Gatter 27-6 bis 27-0 sind mit den Λ-Eingangsanschlüssen A 6 bis A 0 des Volladdierers 30 verbunden, der einen Inverter bildet Der Ausgangsanschluß des UND-Gatters 22-1 ist ferner über einen Inverter 28, ein Übertragungsgatter 29 und einen Inverter 31 mit dem Λ-Eingangsanschluß A 7 des Volladdierers 30 verbunden. Der Ausgangsanschluß des UND-Gatters 22-1 ist ferner über Inverter 28 und Übertragungsgatter 29 mit dem Carry-Eingangsanschluß Qn des Volladdierers 30 verbunden. Ferner ist der Ausgangsanschluß eines später zu beschreibenden Inverters über ein Übertragungsgatier 33 mit dem Carry-Eingangsanschluß Qn verbunden. Die aus den 5-Ausgangsanschlüssen 57 bis 50 des Volladdierers 30 erzeugten Daten werden über Übertragungsgatter 34-7 bis 34-0 und die Rausch-Steuerschaltung 5a an das digitale Filter 6 angelegt. Der Ausgangsanschluß des UND-Gatters 22-1 wird über Inverter 28 und Übertragungsgatter 29 mit dem anderen Eingangsanschluß der einzelnen EXOR-Gatter 27-6 bis 27-0 verbunden. Die Ausgänge der EXOR-Gatter 27-6 bis 27-0 werden mit den A- Eingangsanschlüssen A 6 bis A 0 des Volladdierers 30, welcher als Inverter dient, verbunden. Der Ausgangsanschluß des UND-Gatters 22-1 wird über den Inverter 28, das Übertragungsgatter 29 und den Inverter 31 mit dem Λ-Eingangsanschluß A 7 des Volladdierers 30 verbunden. Der Ausgangsanschluß des UND-Gatters 22-1 wird ferner über die Inverter 28 und das Übertragungsgatter 29 mit dem Carry-Eingangsanschluß Qn des Volladdierers 30 verbunden. Daten aus den 5-Ausgangsanschlüssen S 7 bis 50 des Volladdierers 30 werden über Übertragungsgatter 34-7 bis 34-0 und den Rausch-Steuerschaltkreis 5a zu dem digitalen Filter 6 geleitet.
In Fig.32 ist ein besonderer Aufbau der Rausch-Steuerschaltung 5a dargestellt. Die Ausgangsdaten S 7 bis 50 aus dem Volladdierer 30 oder dem Dividierschaltkreis 44 werden über Übertragungsgatter 34-7 bis 34-0 oder Übertragungsgatter 46-7 bis 46-0 zu den A-Eingangsanschlüssen A 7 bis A 0 des Volladdierers 5a angelegt. Ferner werden unter den Daten 57 bis SO die Daten S 7, die ein Vorzeichenbit darstellen, direkt zu den B-Eingangsanschlüssen außer dem B-Eingangsanschluß B 5 geleitet. Der Ausgangsanschluß eines ODER-Gatters 5a-5 wird zu dem B-Eingangsanschluß BS geleitet. Das Signal S 7 wird auch über einen Inverter 5a-l zu dem Carry-Eingangsanschluß Qn geleitet. Das Signal 57 wird ferner über ein Übertragungsgatter 5a-6 zu dem ODER-Gatter 5a-5 geleitet. Das Rauschsignal wird ferner über ein UND-Gatter 5a-7 zu dem ODER-Gatter 5a-5 geleitet. Das Übertragungsgatter 5a-6 wird durch ein Signal aus einem Inverter 5a-8 durchgesteuert, an welchem von der CPU 3 mit Betätigung des Rauschschalters in dem Schalterbereich 2 beim Wechsel der Klangfarbe erzeugtes Steuersignal angelegt wird. Das UND-Gatter 5a-7 wird direkt durch das obenerwähnte Steuersignal durchgeschaltet. Die Ergebnisdaten aus dem Volladdierer 5a-1 werden von ihrem C-Ausgangsanschlüssen C7 bis CO zu dem digitalen Filter 6 geleitet Die Funktion im Falle des Ausbildens einer Sägezahnwelle mit der Addition von Rauschen wird im folgenden anhand von F i g. 33 beschrieben. In diesem Fall wird der Rauschschalter zusammen mit dem Sägezahnwellen-Festlegungsschalter in dem Schalterbereich 2 eingeschaltet. Dadurch wird das Steuersignal »1« von der CPU 3 erzeugt und zu der Rausch-Steuerschaltung 5a geleitet, um das UND-Gatter 5a-7 zu aktivieren und das Übertragungsgatter 5a-6 zu sperren. Somit wird ein Rauschsignal, das unregelmäßig zwischen Pegeln mit dem logischen Wert »0« und »1« hin und her wechselt an den B-Eingangsanschluß B 5 des Volladdierers 5a-l angelegt Während des darauffolgenden Zeitabschnittes seit dem Einstellen der Noten-Frequenzcodedaten in dem Volladdierer 16, bis zu dem Augenblick, wenn die Ergebnisdaten der kumulativen Subtraktion zu »1024« werden, werden Daten »11011111« zu den .B-Eingangsanschlüssen der Rauschsteuerschaltung 5a geleitet, während ein »0«-Signal zu dem Carry-Eingangsanschluß Cm geleitet wird, wenn das Rauschsignal »0« ist Somit sind die zu dem digitalen Filter 6 geleiteten Daten um »00100001« kleiner als die Daten 57 bis SO, die zu den Λ-Eingangsanschlüssen des Volladdierers 5a-l geleitet werden. Wenn das Rauschsignal »1« ist, werden die 8-Bit-Daten, bei denen alle Bits den logischen Wert
Anstelle dessen wird das invertierte Signal zugeleitet, so daß der gleiche Arbeitsablauf, wie oben in Verbindung mit der Rauschsteuerschaltung 5a in Fi g. 29 beschrieben, abläuft.
Das Beispiel gemäß F i g. 35 ist eine Abwandlung der in F i g. 32 dargestellten Rauschsteuerschaltung. Gleiche Teile in F i g. 35 zu denen in F i g. 32 werden durch gleiche Bezugszeichen und Symbole bezeichnet und nicht beschrieben. Das Rauschsignal wird hier erneut als 8-Bit-langes Datenwort N7 bis NO erzeugt. Wiederum ist ein Gleit- bzw. Schiebeschalter für eine Abänderung des Rauschpegels zusätzlich zu dem Rauschschalter vorgesehen. Die einzelnen Bitdaten des Rauschsignals N 7 bis Λ/0 werden über UND-Gatter 5a-57 bis 5a-50 und ODER-Gatter 5a-37 bis 5a-30 an die 5-Eingangsan-Schlüsse B 7 bis B 0 des Volladdierers 5a-l angelegt. Die UND-Gatter 5a-57 bis 5a-50 werden durch die entsprechenden Bitdaten des 8-Bit-langen Steuersignals durchgeschaltet. Die einzelnen Bitdaten des 8-Bit-langen Steuersignals werden über jeweilige Inverter 5a-67 bis 5a-60 an den Steuereingangsanschluß des jeweiligen Übertragungsgatters 5a-47 bis 5a-40 geschaltet, um die Durchsteuerung derselben zu steuern. Ein Signal 57 wird ferner an die Übertragungsgatter 5a-47 bis 5a-40 angelegt, und die Ausgangssignale derselben werden je über ODER-Gatter 5a-37 bis 5a-30 an die 5-Eingangsanschlüsse B 7 bis B0 des Volladdierers 5a-1 geleitet.
Wenn Rauschen mit der Rauschsteuerschaltung 5a in obigem Aufbau erzeugt wird, wird der Schiebeschalter auf eine vorgegebene Position entsprechend dem Rauschpegel geschaltet, während der Rauschschalter eingeschaltet ist. Im Ergebnis werden die durch den Schiebeschalter festgelegten UND-Gatter 5a-57 bis 5a-50 aktiviert, so daß von den Invertern 5a-67 bis 5a-60 diejenigen, welche den aktivierten UND-Gattern entsprechen, ein »O«-Ausgangssignal erzeugen, und die entsprechenden der Übertragungsgatter 5a-47 bis 5a-40 zu sperren. Ebenfalls werden Rauschsignale N 7 bis NO entsprechend dem eingestellten Zustand des Schiebeschalters vorgesehen und über die aktivierten UND-Gatter und die ODER-Gatter zu den entsprechenden der ß-Eingangsanschlüsse B 7 bis BO des Volladdierers 5a-l geleitet. Somit wird ein variables Rauschsignal N7 bis NO zu den Daten 57 bis SO hinzuaddiert, welche den Λ-Eingangsanschlüssen des Volladdierers 5a-l zugeleitet werden.
Wie beschrieben, wird mit einem erfindungsgemäßen elektronischen Musikinstrument für die Änderung der Klangfarbe eines Tones mit einer vorgegebenen Tonwellen-Form durch Hinzufügen einer anderen Tonwellenform zu dieser die Addition der anderen Wellenform dadurch durchgeführt, daß die Polarität der Amplitude der vorgegebenen Wellenform bewertet und bestimmt wird und entweder eine Addition oder eine Subtraktion der anderen Ton-Wellenform hinsichtlich der vorgegebenen Wellenform in Abhängigkeit von dem Ergebnis der Bewertung durchgeführt wird. Somit übersteigt der Amplitudenpegel der Ton-Wellenform, der als ein Ergebnis des Vorsehens der weiteren Ton-Wellenform zu der vorgegebenen Ton-Wellenform vorgesehen ist, nie die Kapazität des D/A-Wandlers, so daß der gewünschte Ton zuverlässig erhalten werden kann. Ferner kann, wenn keine andere Ton-Wellenform hinzugefügt wird, d. h. wenn die Klangfarbe nicht verändert wird, der Amplitudenpegel des erzeugten Tones maximiert werden, um das Signal/Rausch-Verhältnis zu maximieren. Da es ferner möglich ist, den Amplitudenpegel der weiteren Ton-Wellenform zu addieren, können sehr wirksame Abänderungen der Klangfarbe erreicht werden.
Hierzu 30 Blatt Zeichnungen

Claims (4)

Patentansprüche:
1. Tonsignal-Erzeugungsvorrichtung für ein elektronisches Musikinstrument,
mit einer Speichervorrichtung (4) für die Abspeicherung von Codedaten Iß), welche für eine Mehrzahl von Musiknoten-Frequenzen kennzeichnend sind,
mit einer Lesevorrichtung (3), mit welcher vorgegebene Codedaten aus der Speichervorrichtung (4) entsprechend einer betätigten Taste auf einer Tastatur (1) auslesbar sind,
mit einer Arithmetikvorrichtung (15,16,17, 41, 42, 43), mit welcher ein Ausgangssignal über einen auf die ausgelesenen Codedaten wirkenden vorgegebenen arithmetischen Funktionsablauf erhaltbar ist, wobei das Ausgangssignal aus einer Mehrzahl von Bits besteht, welche die Noten-Frequenz entsprechend der betätigten Taste kennzeichnen,
mit einer Steuervorrichtung (24-0 bis 24-6, 27-0 bis 27-6,30,44,45), mit welcher ein Tonsignal mit einer vorgegebenen Wellenform aus dem Ausgangssignal ausbildbar ist, welches aus einer Mehrzahl von Bits besteht, wobei eine Grenzfrequenz im Frequenzbereich für die Wellenform besteht, dadurch gekennzeichnet,
daß eine Interpoliervorrichtung (20-0 bis 20-8, 21-1 bis 21-7, 22-1 bis 22-6) vorgesehen ist, die ansprechend auf einen Zeitabschnitt bestimmter Länge aus einer Tonsignalwelle mit einer abrupten Pegeländerung eine vorgegebene Kurvenfunktion abgibt, mit welcher die Tonsignalwelle in dem Zeitabschnitt interpolierbar ist und
daß mit der Interpoliervorrichtung (20-0 bis 20-8, 21-1 bis 21-7,22-1 bis 22-7) in Abhängigkeit von der bestimmten Länge des Zeitabschnittes eine Filterung des Tonsignals im Frequenzbereich steuerbar ist.
2. Tonsignal-Erzeugungsvorrichtung für ein elektronisches Musikinstrument nach Anspruch 1, dadurch gekennzeichnet, daß die Interpoliervorrichtung (20-0 bis 20-8, 21-1 bis 21-7, 22-1 bis 22-6) ein ROM (23) aufweist, in welchem eine Sinuswelle abgespeichert ist, wobei die Interpolation mittels der Sinuswelle durchgeführt wird.
3. Tonsignal-Erzeugungsvorrichtung für ein elektronisches Musikinstrument nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die Interpoliervorrichtung (20-0 bis 20-8, 21-1 bis 21-7, 22-1 bis 22-7) eine Konstanthaltevorrichtung aufweist, mit welcher der Zeitabschnitt der Interpolation mit der Funktionskurve unabhängig von der Noten-Frequenz konstanthaltbar ist.
4. Tonsignal-Erzeugungsvorrichtung für ein elektronisches Musikinstrument nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die Interpoliervorrichtung (20-0 bis 20-8, 21-1 bis 21-7, 22-1 bis 22-6) eine Änderungsvorrichtung aufweist, mit welcher der Zeitabschnitt der Interpolation mit der Funktionskurve abänderbar ist.
DE3247599A 1981-12-22 1982-12-22 Tonsignal-Erzeugungsvorrichtung für elektronische Musikinstrumente Expired DE3247599C2 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP56208815A JPS58108586A (ja) 1981-12-22 1981-12-22 電子楽器の周波数制御装置
JP56208816A JPS58108587A (ja) 1981-12-22 1981-12-22 電子楽器の周波数制御装置
JP56208814A JPS58108585A (ja) 1981-12-22 1981-12-22 電子楽器のウエ−ブジエネレ−タ
JP57057359A JPS58174999A (ja) 1982-04-08 1982-04-08 電子楽器

Publications (2)

Publication Number Publication Date
DE3247599A1 DE3247599A1 (de) 1983-07-07
DE3247599C2 true DE3247599C2 (de) 1986-06-19

Family

ID=27463490

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3247599A Expired DE3247599C2 (de) 1981-12-22 1982-12-22 Tonsignal-Erzeugungsvorrichtung für elektronische Musikinstrumente

Country Status (3)

Country Link
US (1) US4479411A (de)
DE (1) DE3247599C2 (de)
GB (1) GB2113447B (de)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4677890A (en) * 1983-02-27 1987-07-07 Commodore Business Machines Inc. Sound interface circuit
JPS6093494A (ja) * 1983-10-27 1985-05-25 株式会社河合楽器製作所 電子楽器
JPS6093495A (ja) * 1983-10-27 1985-05-25 株式会社河合楽器製作所 電子楽器
AU549377B2 (en) * 1983-10-28 1986-01-23 Vitor Co. of Japan Ltd. Electronic musical instrument
JPS60100195A (ja) * 1983-11-05 1985-06-04 日本ビクター株式会社 打楽器音信号の発生装置
JPS60119672A (ja) * 1983-12-02 1985-06-27 Victor Co Of Japan Ltd 楽器音符号の読出装置
EP0199192B1 (de) * 1985-04-12 1995-09-13 Yamaha Corporation Tonsignalerzeugungsvorrichtung
US4754680A (en) * 1985-09-10 1988-07-05 Casio Computer Co., Ltd. Overdubbing apparatus for electronic musical instrument
US4953437A (en) * 1989-01-17 1990-09-04 Gulbransen Incorporated Method and apparatus for digitally generating musical notes
US5194684A (en) * 1990-11-01 1993-03-16 International Business Machines Corporation Method and apparatus for selective reduction of upper harmonic content in digital synthesizer excitation signals
US6863381B2 (en) * 2002-12-30 2005-03-08 Lexmark International, Inc. Inkjet printhead heater chip with asymmetric ink vias

Family Cites Families (15)

* Cited by examiner, † Cited by third party
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
US4119005A (en) * 1973-03-10 1978-10-10 Nippon Gakki Seizo Kabushiki Kaisha System for generating tone source waveshapes
US3929053A (en) 1974-04-29 1975-12-30 Nippon Musical Instruments Mfg Production of glide and portamento in an electronic musical instrument
US4026180A (en) * 1974-05-31 1977-05-31 Nippon Gakki Seizo Kabushiki Kaisha Electronic musical instrument
JPS52102710A (en) * 1976-02-25 1977-08-29 Nippon Gakki Seizo Kk Functional wave generator for electronic instrument
JPS5840200B2 (ja) * 1976-07-24 1983-09-03 ヤマハ株式会社 デジタル楽音合成方法
US4205575A (en) * 1978-05-19 1980-06-03 The Wurlitzer Company Binary interpolator for electronic musical instrument
FR2459524A1 (fr) * 1979-06-15 1981-01-09 Deforeit Christian Synthetiseur numerique polyphonique de signaux periodiques et instrument de musique comportant un tel synthetiseur
US4240318A (en) * 1979-07-02 1980-12-23 Norlin Industries, Inc. Portamento and glide tone generator having multimode clock circuit
US4342245A (en) * 1979-10-26 1982-08-03 Norlin Industries, Inc. Complex waveform generator for musical instrument
JPS5746295A (en) * 1980-09-05 1982-03-16 Nippon Musical Instruments Mfg Electronic musical instrument
JPS5754997A (en) * 1980-09-19 1982-04-01 Nippon Musical Instruments Mfg Electronic musical instrument
DE3172071D1 (en) * 1980-11-28 1985-10-03 Casio Computer Co Ltd Envelope control system for electronic musical instrument
US4387622A (en) * 1981-07-20 1983-06-14 Kawai Musical Instrument Mfg. Co., Ltd. Musical tone generator with independent time varying harmonics
US4445414A (en) * 1982-02-24 1984-05-01 Apple Computer, Inc. Digital, simultaneous, discrete frequency generator

Also Published As

Publication number Publication date
GB2113447B (en) 1986-07-09
DE3247599A1 (de) 1983-07-07
GB2113447A (en) 1983-08-03
US4479411A (en) 1984-10-30

Similar Documents

Publication Publication Date Title
DE2431161C2 (de) Tonerzeugungseinrichtung für ein elektronisches Musikinstrument
DE2629697C2 (de) Elektronisches Musikinstrument
DE3247599C2 (de) Tonsignal-Erzeugungsvorrichtung für elektronische Musikinstrumente
DE3177313T2 (de) Elektronisches Musikinstrument
DE3650389T2 (de) Tonsignalerzeugungsvorrichtung.
DE3936693C2 (de) Vorrichtung zum Erzeugen digitaler Audiosignale
DE3587655T2 (de) ÜBERTRAGUNGSANORDNUNG FüR DIGITALSIGNALEN.
DE3688600T2 (de) Musikinstrument mit digitalem Filter mit programmierten variablen Koeffizienten.
DE69026966T2 (de) Elektronisches Musikinstrument mit mehreren verschiedenen Tonerzeugern
DE2518633B2 (de) Elektronisches Tastenmusikinstrument
DE2152861A1 (de) Elektronisches Tasten-Musikinstrument
DE2819915A1 (de) Elektronisches musikinstrument
DE3887809T2 (de) Elektronisches Musikinstrument.
DE3013681A1 (de) Bezugsfrequenz-signalgenerator fuer ein abstimmgeraet
DE3023559C2 (de) Elektronisches Musikinstrument
DE2706045C3 (de) Elektronisches Tastenmusikinstrument mit Sinustabellenspeicher
DE2920298A1 (de) Binaere interpolatorschaltung fuer ein elektronisches musikinstrument
DE2264127A1 (de) Frequenzteiler
DE3332477A1 (de) Elektronisches musikinstrument mit einer vorrichtung zur lokalisierung von klangbildern
DE69018687T2 (de) Musiksynthesizer.
DE2552628A1 (de) Elektronisches musikinstrument
DE3133757C2 (de) Elektronisches Musikinstrument mit Festformantensynthese
DE2824497A1 (de) Digital nachbildender tastaturton- audiosignalgenerator
DE69932673T2 (de) Digitaler Signalsynthetisierer
DE3509762A1 (de) Schaltungsanordnung zur mittelwertbildung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8172 Supplementary division/partition in:

Ref country code: DE

Ref document number: 3249738

Format of ref document f/p: P

Q171 Divided out to:

Ref country code: DE

Ref document number: 3249738

8128 New person/name/address of the agent

Representative=s name: KUHNEN, R., DIPL.-ING. WACKER, P., DIPL.-ING. DIPL

D2 Grant after examination
8364 No opposition during term of opposition
AH Division in

Ref country code: DE

Ref document number: 3249738

Format of ref document f/p: P

8339 Ceased/non-payment of the annual fee