DE3130380C2 - - Google Patents
Info
- Publication number
- DE3130380C2 DE3130380C2 DE3130380A DE3130380A DE3130380C2 DE 3130380 C2 DE3130380 C2 DE 3130380C2 DE 3130380 A DE3130380 A DE 3130380A DE 3130380 A DE3130380 A DE 3130380A DE 3130380 C2 DE3130380 C2 DE 3130380C2
- Authority
- DE
- Germany
- Prior art keywords
- data
- envelope
- signal
- adder
- output signal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H7/00—Instruments in which the tones are synthesised from a data store, e.g. computer organs
- G10H7/002—Instruments in which the tones are synthesised from a data store, e.g. computer organs using a common processing for different operations or calculations, and a set of microinstructions (programme) to control the sequence thereof
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H1/00—Details of electrophonic musical instruments
- G10H1/02—Means for controlling the tone frequencies, e.g. attack or decay; Means for producing special musical effects, e.g. vibratos or glissandos
- G10H1/04—Means for controlling the tone frequencies, e.g. attack or decay; Means for producing special musical effects, e.g. vibratos or glissandos by additional modulation
- G10H1/053—Means for controlling the tone frequencies, e.g. attack or decay; Means for producing special musical effects, e.g. vibratos or glissandos by additional modulation during execution only
- G10H1/057—Means for controlling the tone frequencies, e.g. attack or decay; Means for producing special musical effects, e.g. vibratos or glissandos by additional modulation during execution only by envelope-forming circuits
- G10H1/0575—Means for controlling the tone frequencies, e.g. attack or decay; Means for producing special musical effects, e.g. vibratos or glissandos by additional modulation during execution only by envelope-forming circuits using a data store from which the envelope is synthesized
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- General Engineering & Computer Science (AREA)
- Electrophonic Musical Instruments (AREA)
Description
Die Erfindung bezieht sich auf eine Hüllkurvensteuer
einrichtung nach dem Oberbegriff des Anspruchs 1 bzw. 2.
Eine solche ist aus der DE-OS 27 43 264 bekannt.
Diese Druckschrift beschreibt einen Hüllkurvengenerator,
der im Zeitmultiplexbetrieb arbeitet, bei dem vier mög
liche Hüllkurven vorgesehen sind, die über Tasten aus
wählbar sind. Hüllkurvenfunktionsschaltdaten können mit
tels Schaltern eingegeben werden. Beim Drücken einer
Spieltaste erzeugt der Hüllkurvengenerator drei Hüllkur
ven, die parallel zueinander an drei Schaltungen gegeben
werden. Der Hüllkurvengenerator erzeugt somit eine Kom
bination von Hüllkurvenwellenformen. Eine variable Ein
stellung der Anstiegs-, Abkling- und Freigabezeiten ist
jedoch nicht vorgesehen.
Aus der DE-OS 27 08 006 ist eine Hüllkurvensteuerein
richtung für ein digitales elektronisches Musikinstrument
bekannt, die nur auf einen einzigen Kanal anwendbar ist.
Die Hüllkurveninformation wird auf der Grundlage des Grö
ßenwertes, beispielsweise des Einschwingpegels, des Ab
klingpegels und des Freigabepegels bestimmt. Für den Be
nutzer ist es dabei schwierig, sich ein Bild über die
mittels der einzelnen Größenwerte eingestellte Hüllkurve
zu machen.
Der Erfindung liegt die Aufgabe zugrunde, eine Hüllkur
vensteuereinrichtung der eingangs genannten Art anzuge
ben, bei der in für den Benutzer einfacher Art Hüllkur
veninformationen wahlfrei eingebbar sind.
Diese Aufgabe wird durch die kennzeichnenden Merkmale des
Anspruchs 1 bzw. des Anspruchs 2 gelöst. Eine vorteilhaf
te Ausgestaltung der Erfindung ist Gegenstand des An
spruchs 3.
Anhand der Perioden für das Einschwingen, Abklingen und
Freigeben der Klangdarbietung kann sich der Benutzer ein
wesentlich anschaulicheres Bild einer Hüllkurve machen,
als durch Angabe der entsprechenden Pegel. Längere An
stiegszeiten bedeuten zwangsläufig ein langsameres An
schwellen des Tones, ebenso wie kurze Abklingzeiten ein
rasches Abklingen bedeuten. Da jede Hüllkurve auf immer
den gleichen Maximalwert ansteigt, ergibt sich auch eine
Vergleichsmäßigung der Maximalamplitude unabhängig von der
Hüllkurvenform.
Die Erfindung wird nachfolgend unter Bezugnahme auf die
Zeichnungen anhand von Ausführungsbeispielen näher erläu
tert. Es zeigt
Fig. 1 ein Blockschaltbild einer Ausführungsform
einer Hüllkurvensteuereinrichtung nach der
Erfindung,
Fig. 2 eine graphische Darstellung einer typischen
Hüllkurve, die von einem Hüllkurvengenerator
erzeugt wird, wie er bei einer Ausführungsform
der Erfindung verwendet wird,
Fig. 3A bis 3D graphische Darstellungen der Änderungen
des Einschwing-, Abkling-, Aufrechterhaltungs-
bzw. Freigabe-Status der Hüllkurve,
Fig. 4 und 5 Ansichten einer Eins-zu-Eins-Beziehung
zwischen den Symbolen der Schaltungselemente
und den logischen Gleichungen, die in der Be
schreibung erörtert werden,
Fig. 6A und 6B zusammen eine Darstellung einer Aus
führungsform eines Hüllkurvengenerators,
Fig. 7 eine Darstellung der Berechnungen,
die von dem Hüllkurvengenerator nach
Fig. 6 durchgeführt werden, wenn der
Einschwingstatus einer Hüllkurve ge
bildet wird,
Fig. 8 eine Ansicht der Berechnungen, die von
dem Hüllkurvengenerator nach Fig. 6
durchgeführt werden, wenn der Abkling-
und Aufrechterhaltungs-Status der Hüll
kurve gebildet werden,
Fig. 9A und 9B eine Darstellung der Berechnungen,
die durchgeführt werden, wenn der Frei
gabestatus der Hüllkurve gebildet wird,
Fig. 10 eine graphische Darstellung eines Bei
spiels der Hüllkurve, die mit dem Hüll
kurvengenerator nach Fig. 6 erhalten
wird,
Fig. 11A eine graphische Darstellung des Nach
laufcharakters der Änderungen des Hüll
kurvenausgangssignals in bezug auf Ände
rungen des Aufrechterhaltungspegels,
die bei einer Hüllkurvensteuerung mit
herkömmlicher analoger Schaltung erhal
ten werden,
Fig. 11B eine Darstellung des Nachlaufcharakters
der Änderungen des Hüllkurvenausgangs
signals in bezug auf die Änderungen des
Aufrechterhaltungspegels, die mit der
Ausführungsform nach Fig. 6 erhalten
werden,
Fig. 12 den Schaltungsaufbau eines variablen
Aktgenerators, der bei einer weiteren
Ausführungsform eines Hüllkurvengene
rators eingesetzt wird,
Fig. 13A und 13B Schaltbilder weiterer Ausführungsbei
spiele des Generators, der zusammen mit
dem variablen Taktgenerator nach Fig. 12
eingesetzt werden kann,
Fig. 14 bis 16 Darstellungen von Änderungen des Hüll
kurvenausgangssignals während der Ein
schwingzeit, der Abklingzeit bzw. der
Freigabezeit,
Fig. 17A und 17B Wellenformen des Hüllkurvenausgangs
signals von dem Generator nach den
Fig. 13A und 13B, und
Fig. 18A und 18B ein Zeitdiagramm zur Darstellung der
Funktionsweise des variablen Taktge
nerators nach Fig. 12.
In Fig. 1 ist ein Synthesizer für zusammengesetzte musikali
sche Töne bzw. Känge dargestellt, der einen Hüllkurvengene
rator 11 aufweist, dem über eine Zentraleinheit (CPU)
13 Signale für gedrückte Tasten
und nicht gedrückte Tasten von einer Tasta
tur 12 zugeführt werden. Die Zentraleinheit 13 erhält auch
Daten über die Einschwingzeit, die Abklingzeit, die Aufrecht
erhaltung und die Freigabe von einer Einheit 14 für die Kenn
zeichnung des Hüllkurven-Status. Diese Einheit 14 kann bei
spielsweise durch eine Gruppe von Schaltern gebildet werden,
die auf einem Bedienungspult des Synthesizers
vorgesehen sind, um Daten
für die Einschwingzeit, die Abklingzeit und die Freigabe
zeit sowie den Aufrechterhaltungspegel durch
entsprechende Schalthebel auf die gewünschten Werte ein
stellen zu können. In der Zentraleinheit 13 wird das
Ausgangssignal der Schalter so eingestellt, daß es zeitlich
synchronisiert zu einem Tastenbetätigungssignal von der Tasta
tur 12 ist; dieses Schalter-Ausgangssignal wird von der Zen
traleinheit 13 als Daten A für die Einschwingzeit, Daten D
für die Abklingzeit, Daten S für die Aufrechterhaltung und
Daten R für die Freigabe (die beispielsweise jeweils aus
vier Bits bestehen) gemeinsam mit den Signalen für die Be
tätigung bzw. Nichtbetätigung der Tasten dem Hüllkurvenge
nerator 11 zugeführt. Der Hüllkurvengenerator 11 erzeugt ein
Hüllkurvenausgangsignal, das in Fig. 2 dargestellt ist und
beim Einschwingstatus vom Zeitpunkt der Betätigung einer
Taste erscheint, also vom Zeitpunkt "Taste ein", um eventuell
einen Übergang zum Abkling-Status und dann zu einem Aufrecht
erhaltungs-Status zu durchlaufen; dieses Hüllkurvenausgangs
signal wird zu dem Zeitpunkt auf den Freigabestatuts geändert,
wenn die Taste freigegeben wird, also zum Zeitpunkt "Taste aus".
Dieses Hüllkurven-Ausgangssignal wird einem der beiden Ein
gänge eines Multipliziergliedes 15 zugeführt.
In Fig. 2 werden die folgenden Bezeichnungen verwendet: t A,
t D, t S und t R bezeichnen jeweils die Einschwingzeit, die
Abklingzeit, die Aufrechterhaltungszeit und die Freigabezeit;
MAX ist der maximale Pegel der Hüllkurve und SUS ist der
Aufrechterhaltungspegel. Ein Tonsignal wird von einem
digitalen Wellengenerator 16 dem anderen Eingang des Muli
pliziergliedes 15 zugeführt, in dem eine Hüllkurve des Ton
signals entsprechend dem Hüllkurvenausgangssignal des
Hüllkurvengenerators 11 gebildet wird; aus diesem Signal wird
ein Ton-Ausgangssignal mit der gewünschten Hüllkurve ADSR
erhalten.
Der Einschwingstatus, der Abklingstatus, der Aufrechter
haltungsstatus und der Freigabestatus der Hüllkurve kann
durch Schalter in der Einheit 14 auf gewünschte Werte für
Einschwingzeit t A, Abklingzeit t D, Aufrechterhaltungspegel
SUS und Freigabezeit t R einge
stellt werden, wie in den Fig. 3A bis 3D dargestellt ist;
eine Hüllkurve, die aus der gewünschten Kombination der
Hüllkurven-Abschnitte nach den Fig. 3A bis 3D besteht,
kann durch die Einrichtung nach der Erfindung
gebildet werden.
In Fig. 3A ist auf der Abszisse die Einschwingperiode t A
aufgetragen, d. h., die Periode, bis die Amplitude der Hüll
kurve den maximalen Pegel MAX vom Zeitpunkt "Taste ein" er
reicht; zu diesem Zeitpunkt ist der Hüllkurvenpegel Null.
In Fig. 3B ist auf der Abszisse die Abklingperiode t D auf
getragen, d. h., das Zeitinterval vom Ende der Einschwingpe
riode oder dem Zeitpunkt des oben erwähnten maximalen Pegels
MAX bis zu dem Zeitpunkt, bei dem der Aufrechterhaltungspe
gel SUS erreicht wird. Fig. 3C zeigt den Aufrechterhaltungs
pegel SUS, d. h., einen konstanten, aufrechterhaltenen Pegel,
bei dem die Taste nach der Einschwing- und Abkling-Periode
im Zustand "ein" bleibt (der Aufrechterhaltungspegel SUS
wird vorher durch einen Aufrechterhaltungshebel auf den ge
wünschten Pegel im Bereich von Pegel Null bis auf den maxi
malen Pegel MAX eingestellt). In Fig. 3D ist auf der Abszisse
die Freigabeperiode t R aufgetragen, d. h. die Zeitspanne vom
Zeitpunkt "Taste aus" bis zum Zeitpunkt, bei dem der Pegel
Null erreicht wird. Die Freigabe einer Taste, also das "Taste
aus" kann je nach Bedarf während des Einschwing-Status, Abkling-
Status oder Aufrechterhaltungsstatus ausgeführt werden.
Fig. 4 zeigt die Beziehungen zwischen den Symbolen, die in der
später zu erläuternden Schaltung verwendet werden, den entsprechenden logischen
Gleichungen und allgemeinen Notationen. In dieser Figur sind
die Beziehungen für das ODER-Glied, das UND-Glied und das
Schaltglied dargestellt. Fig. 5 zeigt Beispiele der Anwen
dung der Symbole nach Fig. 4 für den Fall, daß es drei
Eingangssignale a, b und c gibt. Dabei liegt ein wesentli
ches Merkmal in der Beziehung zwischen dem Eingangssignal
c und dem Ausgangssignal d.
Die Fig. 6 und 6B zeigen den Schaltungsaufbau einer
Ausführungsform eines Hüllkurvengenerators. Dabei ist
in den Figuren durch das Bezugszeichen 91 ein Hüllkurven-
Statuszähler bezeichnet, der ein Schieberegister 92 und eine
Verknüpfungsgliederschaltung 93 enthält, die auf der Eingangsseite des
Schieberegisters 92 vorgesehen ist. Der Hüllkurvenstatus
zähler 91 zeigt den Zustand des Einschwingstatus, des Ab
klingstatus, des Aufrechterhaltungsstatus und des Freigabe
status der zu formenden Hüllenkurve sowie auch ihre Kanäle
als den Inhalt seines Zählwertes an, wie noch erläutert
werden soll.
Bei dieser Ausführungsform können acht verschiedene
Hüllkurven mit dem Schaltungsaufbau nach den Fig. 6A und
6B durch die Multiplex-Verarbeitung auf der Basis von Zeit
teilung gebildet werden. Das heißt also, daß alle Schiebe
register in den Fig. 6A und 6B eine Kapazität von acht
Kanälen haben. Im einzelnen weist jedes Schieberegister
acht Register auf, die in Kaskade geschaltet sind; die auf
die ersten Stufen der Register gegebenen Eingangsdaten werden
unter der Steuerung eines Schiebetaktes fortschreitend zu
den folgenden Stufen verschoben.
Das Schieberegister 92 weist acht 2-Bit-Register auf, die in
Kaskade geschaltet sind. Seine 2-Bit-Ausgangssignale werden
auf einen Decodierer 94 gegeben. Von diesen 2-Bit-Ausgangs
signalen wird das Ausgangssignal mit dem niedrigeren Bit
(d. h. das erste Bit) auch über UND-Glieder 95 und 96 sowie
ODER-Glieder 97 und 98 auf den Eingang zurückgekoppelt. Das
andere oder obere Bit-(d. h., das zweite Bit) Ausgangssignal
wird auch durch ODER-Glieder 99 und 100 sowie UND-Glieder
101 und 102 auf den Eingang zurückgekoppelt.
Wenn eine bestimmte Taste heruntergedrückt wird, wird ein
leerer Kanal für die Zuordnung zu der gedrückten Taste durch
die Zentraleinheit 13 ausgewählt, wenn einer oder mehrere
leere Kanäle zur Verfügung stehen. Zu diesem Zeitpunkt wird
ein Impuls "Taste ein" (dabei handelt es sich um einen ein
maligen Zeitimpuls) von der Tastatur 12 zum Zeitpunkt "Taste ein"
erzeugt und auf den Hüllkurvenstatuszähler 91 gekoppelt;
dabei wird eine zeitliche Zuordnung verwendet, die für den
oben erwähnten, leeren Kanal eingestellt ist; dieses Signal
wird durch die ODER-Glieder 97 und 98 dem ersten Bit des
ersten Registers (oder dem Register des zeitlichen Ablaufs
für den leeren Kanal) sowie auch durch einen Inverter 103
und das UND-Glied 102 dem zweiten Bit des oben erwähnten
Registers zugeführt. Als Ergebnis hiervon wird der Zustand
des oben erwähnten, leeren Kanals von "0" auf "1" (wobei die
beiden Werte dezimal ausgedrückt werden) geändert; dieser
Zustand wird durch eine Zirkulationsschaltung
im Umlauf gehalten; gleichzeitig wird die Bildung der Hüll
kurven-Wellenform für die gedrückte Taste in dem zugeordne
ten Kanal begonnen.
Der Decoder 94 decodiert das Ausgangssignal des Schiebere
gisters 92 für aufeinanderfolgende Kanäle. Wenn die Inhalte
der Kanäle "0", "1", "2" bzw. "3" sind, wird ein ent
sprechendes Signal mit dem binären, logischen Pegel "1" von dem zugeordneten der Ausgän
gen "0", "1", "2" und "3" erzeugt, der diesem Inhalt ent
spricht. Das Ausgangssignal von dem Ausgang "0" wird durch
einen Inverter 104 auf eine Gruppe 105 von elektronischen Schaltern
gegeben, um diese zu steuern; außerdem
wird es durch einen Inverter 106 auf ein UND-Glied 107
geführt. Das UND-Glied 107 wird durch einen Impuls "Taste
aus" (dabei handelt es sich um einen einmaligen Zeitimpuls)
torgesteuert, der von der Tastatur geliefert wird, wenn die
Taste freigegeben wird; sein Ausgangssignal wird durch das
ODER-Glied 98 auf das untere Bit des Schieberegisters 92
sowie auch auf eine Schaltergruppe 108 gekoppelt,
um diese zu steuern.
Das oben erwähnte Ausgangssignal von dem Ausgang "1" wird
auf ein UND-Glied 109, eine Gruppe 110 von UND-Gliedern,
die ersten Eingänge einer Gruppe 111 von Exklusiv-ODER-
Gliedern und auf einen Subtraktions-Eingang (-) eines Addier/
Subtrahiergliedes 112 sowie durch die einzelnen Verknüpfungs
glieder einer Gruppe 113 von Schaltern, ein ODER-Glied
und einen Inverter 115 auf eine Gruppe 116 von Schaltern
gegeben.
Das Ausgangssignal des oben erwähnten Ausgangs "2" wird
auf das oben erwähnte ODER-Glied 114 sowie auch als
Steuersignal auf eine Gruppe 117
von Schaltern gegeben. Das Ausgangssignal des oben er
wähnten Ausgangs "3" wird als Torsteuersignal an ein UND-
Glied 118 angelegt.
Ein Schieberegister (arithmetisches Register) 120 weist
acht 9-Bit-Register auf, die in Kaskade geschaltet sind.
Wenn eine Taste heruntergedrückt wird, d. h., zum Zeitpunkt
"Taste ein", wird ein vorgegebener Anfangswert für die Be
rechnung der Wellenform der Exponentialfunktion durch eine
Gruppe 121 von Schaltern, die durch den Impuls "Taste
ein" angesteuert wird, auf das Schieberegister 120 gegeben,
um unter der Steuerung eines Schiebetaktes durch dieses
Schieberegister 120 geschoben zu werden; dieser Anfangswert
wird von der achten Stufe des Schieberegisters auf einen
Eingang A eines Subtrahiergliedes 122 sowie durch eine
Schiebeschaltung 123 auf einen Eingang B des Subtrahier
gliedes 122 gegeben. Die Daten, die als Ergebnis der Berech
nung der Exponentialfunktion von dem Subtrahierglied 122 er
halten werden, werden durch Gruppen 124 und 125 von elektronischen
Schaltern zu dem Schieberegister 120 zurückgekoppelt;
diese Schaltergruppen 124, 125 werden während der Einschwingperiode
der Hüllkurve für die erwähnte Taste im angesteuerten, d. h. im Durchlaßzu
stand gehalten. Auf diese Weise werden die Daten, die das
Ergebnis der Berechnung der Exponentialfunktion darstellen,
durch die oben erwähnte Zirkulationsschaltung im Umlauf ge
führt, bis die Einschwingperiode beendet ist; diese Berech
nung wird mit dem oben erwähnten Anfangswert als Bezugswert
wiederholt. Die Daten werden außerdem durch die Gruppe 105
von Schaltern auf einen Eingang C des Addier/
Subtrahiergliedes 112 gekoppelt. Die oben erwähnte Gruppe
124 von Schaltern wird durch ein Signal von einem In
verter 126 gesteuert, der das Ausgangssignal von der
Gruppe 110 von UND-Gliedern umkehrt, während die Gruppe 125
von Schaltern durch ein Signal von einem Inverter 128
gesteuert wird, der das Ausgangssignal des ODER-Gliedes
127 umkehrt.
Am Ende der oben erwähnten Einschwingperiode werden Daten
von einer Invertergruppe 129, die einen von einem Aufrecht
erhaltungshebel (nicht dargestellt) eingestellten Aufrecht
erhaltungspegel SUS umkehrt, durch Gruppen 130 und 125 von
Schaltern, die sich zu diesem Zeitpunkt im angesteuer
ten Zustand befinden, auf das Schieberegister 120 gekoppelt.
Die Gruppe 130 von Schaltern wird also durch ein Tor
steuersignal in Durchlaß gesteuert, das von der oben erwähnten Gruppe
110 von UND-Gliedern geliefert wird, diese Gruppe wird
durch das Ausgangssignal (das als "Hüllkurvendaten" bezeich
net wird) einer Gruppe 131 von ODER-Gliedern torgesteuert
wird, wie noch beschrieben werden soll. Das Subtrahierglied
122 und die Schiebeschaltung 123 nehmen die Berechnung
der Wellenform der Exponentialfunktion mit den umgekehrten
Daten für den Aufrechterhaltungspegel, die auf das Schie
beregister 120 gekoppelt werden, als Bezugsgröße mit dem
Start der Abklingperiode und der Wiederholung der oben er
wähnten Berechnung auf, während die Daten für das Ergeb
nis der Berechnung durch die Zirkulationsschaltung im Um
lauf geführt werden. Die Daten über das Ergebnis der Be
rechnung werden auch durch die Gruppe 105 von Schaltern
auf das Addier/Subtrahierglied 112 gekoppelt. Wenn die
Abklingperiode beendet ist, d. h. bei der vorliegenden Aus
führungsform, wenn durch das später zu beschreibende Hüll
kurvenausgangssignal Daten erreicht werden, die dem oben
erwähnten Aufrechterhaltungspegel SUS entsprechen, wird
die oben erwähnte Berechnung der Wellenform der Exponenti
alfunktion kontinuierlich bis zum Zeitpunkt "Taste aus"
wiederholt; bis zu diesem Zeitpunkt wird das oben erwähn
te Hüllkurvenausgangssignal als Daten gehalten, die dem
oben erwähnten Aufrechterhaltungspegel SUS entsprechen.
Wenn die Taste freigegeben wird, werden die Hüllkurvendaten
zu diesem Zeitpunkt "Taste aus" durch die Schaltergruppe 108,
die zu diesem Zeitpunkt auf Durchlaß gesteuert wird,
auf das Schieberegister 120 gekoppelt. Wenn die Freigabe
periode auf diese Weise gestartet wird, nehmen das Subtra
hierglied 122 und die Schiebeschaltung 123 die Berechnung
der Wellenform der Exponentialfunktion mit den oben er
wähnten Hüllkurvendaten, die auf das Schieberegister 120
gekoppelt werden, als Bezugsgröße wieder auf und wieder
holen sie, während dieses Ergebnis im Umlauf zu der oben
erwähnten Zirkulationsschaltung geführt wird. Die Ergebnis
daten der Berechnung der Wellenform der Exponentialfunktion
werden auch durch die Schaltergruppe 105 auf
den Eingang C des Addier/Subtrahiergliedes 112 gekoppelt.
Wenn das Hüllkurvenausgangssignal "0" wird, wird die Be
rechnung beendet; daraufhin wird der relevante Kanal zu
dem leeren Kanal zurückgebracht.
Um die oben erwähnte Berechnung wiederholt durchzuführen,
bewirkt das Subtrahierglied 122 eine Subtraktion (A-B)
der Eingangsdaten, die auf die Eingänge A und B gekoppelt
werden. Die Schiebeschaltung 123 liefert Daten, die als Er
gebnis der Verschiebung ihrer Eingangsdaten nach rechts er
halten werden, und zwar beispielsweise um 4 Bits; damit
sind die Ausgangsdaten ¹/₁₆ der Eingangsdaten.
Wenn ein Signal "1" an seinem Subtraktions-Eingang (-)
ansteht, d. h., nur während der Einschwingperiode, führt
das Addier/Substrahierglied 112 die Subtraktion (C-D)
der Daten durch, die seinen Eingängen C und D zugeführt
werden; wenn statt dessen ein Signal "0" ansteht, d. h.,
bei leerem Kanal oder während der Abkling-Aufrechterhal
tungs- und Freigabeperioden, führt es die Addition (C+D)
der eingegebenen Daten durch. Die Ergebnisse der Subtrak
tion und der Addition werden an einem Ausgang O₂ ausgege
ben. Wenn während der Ausführung der Addition oder Subtrak
tion ein Übertrag oder eine Entnahme erzeugt wird, wird
ein Übertrag- oder Entnahme-Signal von einem Übertrag/Ent
nahme-Ausgang geliefert, um als Torsteuer
signal dem UND-Glied 109 zugeführt zu werden. Außerdem
werden die Ausgangsdaten von dem Addier/Substrahier
glied 112 auf die zweiten Eingänge der Gruppe 111 von Ex
klusiv-ODER-Gliedern gekoppelt, wie oben erwähnt wurde.
Das Ausgangssignal der Gruppe 111 von Exklusiv-ODER-Glie
dern wird durch die Gruppe 131 von ODER-Gliedern als die
oben erwähnten Hüllkurven-Daten zugeführt. Bei dieser Aus
führungsform sind die oberen vier Bits dieser Hüllkurven-
Daten (dabei handelt es sich um 8-Bit-Daten) als das oben
erwähnte Hüllkurvenausgangssignal vorgesehen. Wenn das
Hüllkurvenausgangssignal "0" wird, d. h., in binärer Schreib
weise zu "0000", wird die Hüllkurvenbildung beendet; um
den relevanten Kanal zu einem leeren Kanal zu machen,
wird das Hüllkurvenausgangssignal durch einen Inverter
132 auf eine Gruppe 133 von UND-Gliedern gekoppelt; dessen
Ausgangssignal wird durch den Inverter 118 und den Inver
ter 134 auf die UND-Glieder 101 und 96 gekoppelt. Wenn zu
diesem Zeitpunkt ein bestimmter Kanal leer ist, wird von
der Schaltergruppe 105, die sich im gesperr
ten Zustand befindet, das Ausgangssignal "0" (d. h., alle
8 Bits sind "0") auf den Eingang C des Addier/Sub
trahiergliedes 112 gekoppelt, während von der Schaltergruppe 116,
die sich ebenfalls im gesperrten Zu
stand befindet, das Ausgangssignal "0" (d. h. alle 8 Bits
sind "0") auf den Eingang D gekoppelt wird. Das Addier/
Subtrahierglied 112 addiert also die beiden Eingangsdaten
"0" und "0" und liefert die sich ergebenden Additionsdaten
"0" an seinem Ausgang O₂. Weiterhin werden während der
Einschwingperiode die Daten über das Ergebnis der Berech
nung von dem Subtrahierglied 122 auf den Eingang C des
Addier/Subtrahiergliedes 112 gekoppelt, während die
Daten "127" durch die Schaltergruppen 113,
die sich im angesteuerten Zustand befindet, auf den Eingang
D gegeben werden. Damit führt also das Addier/Subtrahier-
Glied 112 die Subtraktion (C-D) durch und liefert das
entsprechende Ergebnis. Weiterhin werden während der Ab-
Kling- und Aufrechterhaltungsperioden die Daten für das
oben erwähnte Ergebnis der Berechnung der Wellenform der
Exponentialfunktion auf den Eingang C des Addier/
Subtrahiergliedes 112 gekoppelt, während der Aufrechter
haltungspegel SUS durch die Schaltergruppe 117,
die sich im angesteuerten Zustand befindet, auf den Ein
gang D gegeben wird. Das Addier/Subtrahierglied 112
führt also die Berechnung (C+D) durch. Während der Frei
gabeperiode werden die Daten über das Ergebnis der Berech
nung der Wellenform der Exponentialfunktion durch die Schaltergruppe 105,
die sich im angesteuerten Zu
stand befindet, auf den Eingang C des Addier/Subtrahier
gliedes 112 gegeben, während die oben erwähnten Daten "0"
durch die Schaltergruppe 116, die sich im ange
steuerten Zustand befindet, auf den Eingang D gekoppelt wer
den. Damit führt also das Addier/Subtrahierglied 112
die Addition (C+D) durch.
Das Ausgangssignal der Gruppe 110 von UND-Gliedern wird
weiterhin auf das ODER-Glied 99 in dem Hüllkurvenstatus
zähler 91 und auch durch den Inverter 135 auf das UND-Glied
95 gekoppelt, um den Status der Hüllkurve zu steuern.
Nun soll die Funktionsweise dieser Ausführungsform beschrie
ben werden. Bevor das Spiel mit diesem elektronischen Mu
sikinstrument beginnt, wird der Aufrechterhaltungspegel
auf eine gewünschte Stellung gesetzt, so daß ein gewünsch
ter Aufrechterhaltungspegel SUS (beispielsweise ein Pegel,
der Daten mit dem numerischen Wert "200" entspricht) von
dem Aufrechterhaltungspegel geliefert wird. Zunächst soll
die Funktionsweise für den Fall beschrieben werden, daß ein
bestimmter Kanal leer ist. In diesem Fall ist der Zählwert
des Hüllkurvenstatuszählers 91 in bezug auf den leeren Ka
nal, d. h., der Inhalt des Registers in dem Schieberegister
92 für diesen leeren Kanal, "0". Dadurch wird der Inhalt
"0" des Schieberegisters 92 bei der Ansteuerung dieses lee
ren Kanals geliefert. Jedes Mal, wenn dieses Signal auf
den Dekodierer 94 gegeben wird, wird nur ein Signal "1"
von dem Ausgang "0" des Dekodierers 94 erzeugt. Dieses Sig
nal "1" wird durch den Inverter 106 auf ein Signal "0"
umgekehrt, das auf das UND-Glied 107 gekoppelt wird, um
dessen Ausgangssignal in "0" zu ändern. Das Ausgangssignal
"0" von dem UND-Glied 107 wird auf das ODER-Glied 98 ge
koppelt. Da zu diesem Zeitpunkt das andere Eingangssignal
zu dem ODER-Signal 98, d. h. das Ausgangssignal des ODER-
Gliedes 97, den Wert "0" hat, wird ein Ausgangssignal "0"
von dem ODER-Glied 98 der ersten Zelle
des Schieberegisters 92 zugeführt. Gleichzeitig wird ein
Ausgangssignal "0" von dem UND-Glied 102 auf das zweite
Bit der ersten Stufe des Schieberegisters gekoppelt. Da
mit werden wieder Daten "0" zu dem Schieberegister 92
bei der Ansteuerung des oben erwähnten, leeren Kanals ge
koppelt; die oben beschriebene Funktionsweise wird in
Bezug auf den leeren Kanal wiederholt.
Außerdem geht beim Ausgangssignal "1" vom Ausgang "0" des
Dekodierers 94 das Ausgangssignal des Inverters 104 auf
den Wert "0". Dadurch wird bei der Ansteuerung des oben
erwähnten, leeren Kanals die Gruppe von Schaltelementen
105 gesperrt; Daten "0" werden auf den Eingang C des
Addier/Subtrahiergliedes 112 gekoppelt. Da das Ausgangs
signal des ODER-Gliedes 114 den Wert "0" hat, d. h., weil
das Ausgangssignal des Inverters 115 den Wert "1" hat,
wird gleichzeitig die Schaltergruppe 116 an
gesteuert, um ein Ausgangssignal "0" (d. h., alle Bits
sind "0") zu erzeugen, das auf den Eingang D gekoppelt
wird. Da die beiden Schaltergruppen 113 und 117
zu diesem Zeitpunkt gesperrt gehalten werden, werden
weder die Daten "127" noch die Daten des Aufrechterhal
tungserhaltungspegels SUS auf den Eingang D gekoppelt.
Wenn die Daten "0" jeweils auf die Eingänge C und D
des Addier/Subtrahiergliedes 112 und ein Signal "0"
auf den Subtraktionseingang (-) des Addier/Subtra
hiergliedes gekoppelt werden, werden diese Daten "0" und
"0" bei der Ansteuerung des leeren Kanals addiert; das
sich ergebende Additions-Ausgangssignal erscheint an dem
Ausgang O₂ des Addier/Subtrahiergliedes 112 und wird
den ersten Eingängen der Gruppe 111 von Exklusiv-ODER-
Gliedern zugeführt. Da ein Signal "0" auf jeden zweiten
Eingang der Gruppe 111 von Exklusiv-ODER-Gliedern gegeben
wird, ist das Ausgangssignal jedes Verknüpfungsgliedes
der Gruppe 111 von Exklusiv-ODER-Gliedern "0"; dieses
Ausgangssignal wird der Gruppe 131 von ODER-Gliedern zu
geführt. Da jedoch das andere Eingangssignal zu der Grup
pe 131 von ODER-Gliedern, d. h., das Ausgangssignal des
UND-Gliedes 109, den Wert "0" zu diesem Zeitpunkt hat, ist
das Ausgangssignal der Gruppe 131 von ODER-Gliedern, d. h.,
die Hüllkurvendaten, bei der Ansteuerung des oben erwähn
ten leeren Kanals "0" (d. h., alle Bits sind "0"); d. h.
also, daß das Hüllkurvenausgangssignal, nämlich die oberen
vier Bits, "0" sind (alle vier Bits sind "0").
Bei der zeitlichen Ansteuerung des oben erwähnten, leeren
Kanals ist das Ausgangssignal der Gruppe 124 von UND-Glie
dern "0"; dadurch wird die Schaltergruppe 124
angesteuert, während die Schaltergruppe 130
gesperrt wird. Weiterhin werden gleichzeitig die Schaltergruppen
108 und 121 gesperrt, während die Schalter
gruppe 125 auf Durchlaß gesteuert wird. Als Er
gebnis hiervon werden zum Zeitpunkt der Ansteuerung des
oben erwähnten leeren Kanals bestimmte Daten durch die
Zirkulationsschaltung, die durch das Schieberegister 120,
die Schiebeschaltung 123, das Subtrahierglied 122 und die Schalter
gruppe 124 gebildet wird, im Umlauf ge
halten; anschließend wird die oben beschriebene Funktions
weise wiederholt durchgeführt, und zwar bei jeder zeitge
takteten Ansteuerung des leeren Kanals.
Wenn ein bestimmter Kanal ein leerer Kanal ist, sind die
Ausgangsdaten für die Hüllkurve selbstverständlich "0";
der Hüllkurvengenerator nach Fig. 6 für die Durchführung
der Mehrfachverarbeitung auf der Basis einer Zeitteilung
für die acht Kanäle führt die Bildung der Hüllkurve zum
Zeitpunkt der Ansteuerung des oben erwähnten, leeren Ka
nals nicht durch; d. h. also, daß für diesen leeren Kanal
keine Klangerzeugung erfolgt.
Wenn eine Taste bei Vorhandensein mindestens eines leeren
Kanals heruntergedrückt wird, wird diese Betätigung fest
gestellt und ein Signal "Taste ein" mit einem 1-Bit-Zeit
impuls von der Tastatur 12 erzeugt und dem Hüllkurvenge
nerator 11 a zugeführt. Dieses Signal "Taste ein" (d. h.
ein Signal "1") wird durch die ODER-Glieder 97 und 98 auf
das erste Bit der ersten Stufe des Schieberegisters 92
gekoppelt, und zwar beispielsweise bei der zeitlichen An
steuerung des dritten Kanals. Außerdem wird das Ausgangs
signal "0" von dem Inverter 103, dessen Ausgangssignal
mit dem Auftreten des Impulses "Taste ein" (mit dem Wert)
"1") den Wert "0" erhält, durch das UND-Glied 102 auf
das zweite Bit der ersten Stufe des oben erwähnten Regi
sters 92 gekoppelt. Damit wird also der Inhalt "1" des drit
ten Kanals des Schieberegisters 92 auf "1" geändert, wo
durch angezeigt wird, daß der dritte Kanal der Einschwing
periode zugeordnet ist. Mit dem Auftreten des Inhaltes
"1" von dem Schieberegister 92 in dem dritten Kanal wird
das entsprechende Signal dem Dekodierer 94 zugeführt und
darin dekodiert; dadurch wird nur das Ausgangssignal von
dem Ausgang "1" des dritten Kanals zu "1".
Die Daten "1" des ersten Bits der Daten "1" des dritten
Kanals, die von dem Schieberegister 92 geliefert werden,
werden durch die UND-Glieder 95 und 96, die zum Zeitpunkt
des Auftretens dieses Ausgangssignals angesteuert werden,
auf das erste Bit der ersten Stufe des Schieberegisters
92 gegeben. Gleichzeitig werden die Daten "0" des zweiten
Bits durch die ODER-Glieder 99 und 100 und die UND-Glieder
101 und 102, die zum Zeitpunkt des Auftretens dieses Aus
gangssignals angesteuert werden, auf das zweite Bit der
ersten Stufe des Schieberegisters 92 geführt. Als Ergeb
nis hiervon werden die oben erwähnten Daten "1" wieder
bei der zeitlichen Ansteuerung des dritten Kanals auf
das Schieberegister 92 gekoppelt. Auf die oben beschriebene
Weise werden die Daten "1", die von der achten Stufe des
Schieberegisters 92 bei der zeitlichen Ansteuerung des
dritten Kanals erzeugt werden, durch die oben erwähnte
Zirkulationsschaltung auf die erste Stufe des Schiebere
gisters 92 gegeben und während der Einschwingperiode in
dem dritten Kanal durch die Zirkulationsschaltung im Um
lauf gehalten. Gleichzeitig wird ein Signal "1" von dem
Ausgang "1" des Dekodierers 94 bei jeder zeitlichen An
steuerung des dritten Kanals geliefert.
Beim Auftreten des Impulses "Taste ein" für den dritten
Kanal wird dieser Impuls "Taste ein" (mit dem Wert "1")
durch das ODER-Glied 127 auf den Inverter 128 gekoppelt;
als Folge hiervon wird die Schaltergruppe 125
nur dann im gesperrten Zustand gehalten, wenn der Impuls
"Taste ein" vorhanden ist; zu allen anderen Zeiten wird
die Gruppe 125 im angesteuerten d. h. durchleitenden Zustand gehalten. Da das
Ausgangssignal der Gruppe 110 von UND-Gliedern den Wert
"0" hat, und zwar bis zum Ende der Einschwingperiode des
dritten Kanals, wird das Ausgangssignal des Inverters
126 während dieser Einschwingperiode auf dem Wert "1" ge
halten. Während dieser Periode wird also die Schaltergruppe 124
angesteuert, während die Schaltergruppe 130
bei der zeitlichen Ansteuerung des
dritten Kanals im gesperrten Zustand gehalten wird. Nur
beim Vorhandensein des Impulses "Taste ein" wird die Schaltergruppe
121 durch diesen Impuls "Taste ein"
(mit dem Wert "1") im angesteuerten Zustand gehalten. Als
Ergebnis hiervon wird beim Auftreten des Impulses "Taste
ein" der Anfangswert für die Berechnung der Wellenform der
Exponentialfunktion, beispielsweise Daten mit dem numeri
schen Wert "383", auf die erste Stufe des Schieberegisters
120 gekoppelt. Wenn diese Daten mit dem numerischen Wert
"383"von der achten Stufe des Schieberegisters 120
geliefert werden, werden sie auf den Eingang A des Subtra
hiergliedes 122 und auch auf die Schiebeschaltung 123
gegeben. Die Schiebeschaltung 123 verschiebt die Daten mit
dem numerischen Wert "383" um vier Bits nach rechts, um
Daten "23" zu erhalten, die dem Eingang B des Subtrahier
gliedes 122 zugeführt werden. Dadurch wird das Ergebnis
der Subtraktion (A-B) in dem Subtrahierglied 122 zu
"360"; dieses Ergebnis wird durch die Schaltergruppe 105,
die sich im angesteuerten Zustand befinden, auf
den Eingang C des Addier/Subtrahiergliedes 112 und
auch durch die Schaltergruppe 124 und 125,
die sich im angesteuerten Zustand befinden, auf das Schie
beregister 120 geführt.
Zu dem Zeitpunkt zu dem die oben erwähnten Daten "360"
auf den Eingang C des Addier/Subtrahiergliedes 112
gekoppelt werden, werden die Daten mit dem numerischen
Wert "127" durch die Schaltergruppe 113, die
sich zu diesem Zeitpunkt im angesteuerten Zustand befin
det, gekoppelt, während auch Daten mit dem Wert "1" auf
den Subtraktionseingang (-) gekoppelt werden, d. h. der
Befehl "Subtrahieren" wird dem Addier/Subtrahier
glied 112 gegeben. Das Addier/Subtrahierglied 112
führt also die Subtraktion (C-D) aus; das sich ergebende
Ausgangssignal "233" (was "11101001" entspricht) wird
von dem Ausgang O₂ den ersten Eingängen der Gruppe 111
von Exklusiv-ODER-Gliedern zugeführt. Da ein Signal "1"
auf die zweiten Eingänge der Gruppe 111 von Exklusiv-ODER-
Gliedern bei jeder zeitlichen Ansteuerung des dritten Ka
nals gegeben wird, werden von der Gruppe 111 von Exklusiv-
ODER-Gliedern der Gruppe 131 von ODER-Gliedern Daten "22"
(was "00010110" entspricht) zugeführt; dabei handelt es
sich um den umgekehrten Wert der oben erwähnten Eingangs
daten "233". Da das andere Eingangssignal zu der Gruppe
131 von ODER-Gliedern, d. h., das Ausgangssignal des UND-
Gliedes 109, den Wert "0" hat, erhält das Ausgangssignal
der Gruppe 131 von ODER-Gliedern, d. h., die Hüllkurven
daten, den Wert "22", während das Hüllkurvenausgangssig
nal, das als die oberen vier Bits der Hüllkurvendaten er
halten wird, den Wert "1" (was dem binären Ausdruck "0001"
entspricht) hat. Während die oben erwähnten Hüllkurvenda
ten der Schaltergruppe 108 zugeführt werden,
werden sie durch diese Schaltergruppe 108 nicht
weitergegeben, weil diese im gesperrten
Zustand gehalten wird. Während das oben erwähnte Hüll
kurvenausgangssignal durch die Invertergruppe 132 zu der
Gruppe 133 von UND-Gliedern gekoppelt werden, wird ihr
Ausgangssignal "0"; der Inhalt des dritten Kanals des
Hüllkurvenstatuszählers 91 bleibt "1".
Fig. 7 zeigt eine Korrespondenz-Beziehung zwischen den
Ausgangssignalen des Berechnungsregisters (Schiebere
gisters 120) und des Addier/Subtrahiergliedes 112, den
Hüllkurvendaten und dem Hüllkurven-Ausgangssignal. Die
erste Reihe in dieser Tabelle stellt die Ergebnisse der
oben beschriebenen Funktionsweise dar.
Wenn die zeitliche Ansteuerung des dritten Kanals nach
der oben erwähnten, ersten Berechnung erreicht ist, wird
die zweite Berechnung auf der Basis der Daten "360"
begonnen, die vorher auf das Schieberegister 120 gekoppelt
worden sind. Das Ausgangssignal des Subtrahiergliedes
122 über die zweite Berechnung, das von dem Subtrahier
glied 122 zugeführt wird, ist "338"; diese Daten "338"
werden auf den Eingang C des Subtrahiergliedes 112 sowie
auf die Eingänge des Schieberegisters 120 gekoppelt. Die
Daten "127" werden wieder auf den Eingang D des Addier/
Subtrahiergliedes 112 gekoppelt, wodurch die Sub
traktion (C-D) durchgeführt wird. Das sich ergebende
Ausgangssignal ist "211", wie in Fig. 7 dargestellt ist;
dies Daten "211" werden durch die Gruppe 111 von Exklu
siv-ODER-Gliedern in "44" umgekehrt; auch die Hüllkurven
daten werden "44". Das Hüllkurvenausgangssignal wird "2".
Anschließend werden die dritte und weiterfolgenden Berech
nungen auf die oben beschriebene Weise bei jeder zeitli
chen Ansteuerung des dritten Kanals durchgeführt. Als Er
gebnis hiervon werden sowohl die Hüllkurvendaten als auch
das Hüllkurvenausgangssignal fortschreitend erhöht, wie
es in Fig. 7 dargestellt ist. Da es sich bei dem Hüllkur
venausgangssignal um 4-Bit-Daten handelt, stellt das
Hüllkurvenausgangssignal mit den Daten "15", die nach der
16ten Berechnung erhalten werden, den maximalen Wert dar.
Wenn die 18te Berechnung durchgeführt wird, ist das Aus
gangssignal (A-B) des Subtrahiergliedes 122 gleich "125";
damit ist das Ausgangssignal (C-D) des Addier/Sub
trahiergliedes 112 gleich "2". Als Ergebnis hiervon wird
ein Entnahmesignal (mit dem Wert "1") von dem Übertrag/
Entnahme-Ausgangsanschluß O₂ geliefert und auf
das UND-Glied 109 gegeben. Das UND-Glied 109 führt das ent
sprechende Ausgangssignal "1" der Gruppe 131 von ODER-Glie
dern zu, wodurch die Gruppe 131 von ODER-Gliedern zwangs
läufig Daten mit dem Wert "1" (alle Bits sind "1") liefert,
die als Daten "255" dienen. Mit anderen Worten erhalten
als Ergebnis der 18ten Berechnung die Hüllkurvendaten den
maximalen Wert "255", während das Hüllkurvenausgangssignal
als Ergebnis der 16ten und 17ten Berechnung als maximaler
Wert "15" gehalten wird. Außerdem werden die oben erwähnten
Daten "255", die von der Gruppe 131 von ODER-Gliedern er
zeugt werden, wobei alle Bits "1" sind, auf die Gruppe 110
von UND-Gliedern gegeben, um diese Gruppe 110 von UND-Glie
dern anzusteuern. Als Ergebnis hiervon wird das Ausgangs
signal der Gruppe 110 von UND-Gliedern zu "1", und zwar
nur zu dem Zeitpunkt, wenn die oben erwähnten Hüllkurvenda
ten den Maximalwert "255" einnehmen; dieses Ausgangssignal
wird gleichzeitig sowohl dem ODER-Glied 99 als auch dem In
verter 135 zugeführt. Das oben erwähnte Signal "1", das
auf das ODER-Glied 99 gekoppelt wird, wird außerdem über
das ODER-Glied 100 und die UND-Glieder 101, 102, die bei
der zeitlichen Ansteuerung des dritten Kanals angesteuert
werden, auf das zweite Bit des Schieberegisters 92 gegeben.
Gleichzeitig wird ein Ausgangssignal "0" von dem ODER-Glied
95, das durch das Ausgangssignal "0" von dem Inverter 135
gesperrt wird, durch das UND-Glied 96 und die ODER-Glieder
97 und 98 auf das erste Bit des Schieberegisters 92 gegeben.
Als Ergebnis hiervon wird der Inhalt des dritten Kanals des
Schieberegisters 92 zu "2" geändert, wodurch die Abkling-
oder Aufrechterhaltungsperiode des dritten Kanals ange
deutet wird; ein Signal "1" wird von dem Ausgang "2" des
Dekodierers 94 bei jeder zeitlichen Ansteuerung des drit
ten Kanals geliefert.
Durch das Ausgangssignal "1" von der Gruppe 110 von UND-
Gliedern wird die Schaltergruppe 124 zeitweilig
gesperrt; gleichzeitig wird zeitweilig die Schaltergruppe 130
auf Durchgang gesteuert. Weiterhin werden zu diesem Zeitpunkt
die Schaltergruppen 108 und 121 gesperrt,
während die Schaltergruppe 125 auf Durchgang gesteuert wird.
Als Ergebnis hiervon wird das Ausgangssignal der Inverter
gruppe 129, d. h., Daten "55", die das Inverse des Aufrecht
erhaltungspegels SUS sind (die jetzt durch die Daten mit
dem numerischen Wert "200" dargestellt werden) durch die
Schaltergruppe 130 geliefert, um durch die Schalter
gruppe 125 auf die erste Stufe des
Schieberegisters 120 gekoppelt zu werden; daraufhin wird
die Berechnung für die Abklingperiode des dritten Kanals
gestartet.
Während die erste Berechnung für die Abklingperiode in
bezug auf die oben erwähnten Daten "55" durchgeführt wird,
werden zu diesem Zeitpunkt die Daten "55" auf den Eingang
A des Subtrahiergliedes 122 gekoppelt, während Daten "3"
auf den Eingang B gekoppelt werden. Als Ergebnis hiervon
wird das Ausgangssignal (A-B) des Addier/Subtrahier
gliedes 112 auf den Eingang C des Addier/Subtrahier
gliedes 112 gegeben. Außerdem werden auf den Eingang D des
Addier/Subtrahiergliedes 112 die Daten "200" des
oben erwähnten Aufrechterhaltungspegels SUS durch die Schaltergruppe
117 gekoppelt, die während der Abkling
periode und auch während der Aufrechterhaltungsperiode im
angesteuerten Zustand gehalten werden. Während dieser Ab
kling- und Aufrechterhaltungsperioden werden die beiden Schaltergruppen
113 und 116 im gesperrten Zustand
gehalten. Auch die Schaltergruppen 108 und 121
werden im gesperrten Zustand gehalten, während die Schaltergruppen
124 und 125 im angesteuerten Zustand
gehalten werden.
Während der Abkling- und Aufrechterhaltungsperioden wird
ein Signal "0" als Additions-Befehl auf den Subtraktions-
Eingang (-) des Addier/Subtrahiergliedes 112 gekoppelt.
Dadurch führt bei der ersten Berechnung während der Abkling
periode das Addier/Subtrahierglied 112 die Addition
der Daten "52" und "200" durch, die auf die Eingänge C und
D gegeben werden. Außerdem wird ein Signal "0" auf den an
deren Eingang der Gruppe 111 von Exklusiv-ODER-Gliedern wäh
rend der Abkling- und Aufrechterhaltungsperioden gekoppelt;
dadurch werden die oben erwähnten Daten "252" ohne Inver
sion durch die Gruppe 111 von Exklusiv-ODER-Gliedern auf
die Gruppe 131 von ODER-Gliedern gegeben. Damit werden die
Hüllkurven-Daten und das Hüllkurven-Ausgangssignal, die als
Ergebnis der ersten Berechnung erhalten wurden "252" bzw. "15".
Fig. 8 zeigt die Beziehung zwischen den Eingängen zu dem
Berechnungsregister (Schieberegister 120) und dem Addier/
Subtrahierglied 112, die Hüllkurvendaten und das Hüllkurven-
Ausgangssignal; die erste Reihe in dieser Tabelle stellt
das Ergebnis der ersten Berechnung in der Abklingperiode
dar.
Die Ergebnis-Ausgangsdaten "52" der ersten Berechnung, die
von dem Subtrahierglied 122 geliefert werden, werden durch
die Schaltergruppen 124 und 125 auf die erste
Stufe des Schieberegisters 120 zurückgekoppelt. Das Ergeb
nis der zweiten Berechnung ist in der zweiten Reihe von der
Tabelle gemäß Fig. 8 dargestellt; die dritte Berechnung
wird in Bezug auf die Daten "49" durchgeführt, die auf das
Schieberegister 120 zurückgekoppelt werden. In ähnlicher
Weise werden die vierte und die folgenden Berechnungen bei
jeder zeitlichen Ansteuerung des dritten Kanals durchge
geführt. Bei der obigen Funktionsweise werden die Hüllkurven
ausgangsdaten fortschreitend von "15" auf "14" und dann auf
"13" verringert. Entsprechend, d. h. synchron werden die Ein
gabedaten zu dem Schieberegister 120 fortschreitend redu
ziert. Wenn die Eingabedaten zu dem Schieberegister 120
als Ergebnis der 26ten Berechnung zu "15" werden, liefert
die Schiebeschaltung 123 ein Ausgangssignal "0" für die
nächste, d. h. die 27te Berechnung. Dann erzeugt das Sub
trahierglied 122 ein Ausgangssignal "15" als Subtraktions-
Ausgangssignal (A-B). Als Ergebnis hiervon werden die
Hüllkurvendaten zu "215", das Hüllkurvenausgangssignal zu
"13" und die eingegebenen Daten zu dem Schieberegister 120
wieder "15". Dies bedeutet, daß die Ergebnisse der
28ten und folgenden Berechnungen genau gleich dem Ergeb
nis der 27ten Berechnung sind, d. h., die eingegebenen Da
ten zu dem Schieberegister 120 werden auf "15" und das
Hüllkurvenausgangssignal auf "13" gehalten. Mit anderen
Worten setzt mit der Aufrechterhaltungsperiode die 28te
Berechnung ein. Diese Aufrechterhaltungsperiode setzt sich
solange fort, bis die oben erwähnte Taste freigegeben wird.
Wenn die Taste freigegeben wird, wird von der Tastatur ein
nur einmalig auftretender, kurzfristiger Impuls "Taste aus"
(ein 1-Bit-Zeitimpuls) erzeugt; dieser Impuls wird bei der
zeitlichen Ansteuerung des dritten Kanals auf das UND-Glied
107 gegeben. Da das andere Eingangssignal zu dem UND-Glied
107, d. h. das Ausgangssignal des UND-Gliedes 107, den Wert
"1" hat, wird beim Auftreten des Signals "Taste aus" das
Ausgangssignal des UND-Gliedes 107 zu "1". Dieses Signal
wird über das ODER-Glied 98 auf das erste Bit des Schiebe
registers 92 gekoppelt. Daten "1", die bisher gehalten worden
sind, werden in dieser Form auf das zweite Bit des Schiebe
registers 92 zurückgekoppelt; der Inhalt des dritten Kanals
wird zu "3" geändert, wodurch die Freigabeperiode angedeu
tet wird. Als das Ausgangssignal für den dritten Kanal des
Dekodierers 94 wird ein Signal "1" nur von dem Ausgangs "3"
für die nächste zeitliche Ansteuerung des dritten Kanals
erzeugt. Weiterhin wird der Inhalt "3" des dritten Kanals
durch den Hüllkurvenstatuszähler 91 im Umlauf gehalten,
bis der dritte Kanal ein leerer Kanal wird. Weiterhin wird
bei dem Ausgangssignal "1" von dem UND-Glied die Schaltergruppe 108
nur bei Vorhandensein des Signals "Ta
ste aus" im angesteuerten Zustand gehalten, während in die
ser Zeitspanne die Schaltergruppe 125 kurzfri
stig im gesperrten Zustand gehalten wird. Dabei werden die
Hüllkurvendaten "215" zum Zeitpunkt "Taste aus" durch die
Schaltergruppe 108 zu der ersten Stufe des
Schieberegisters 120 gekoppelt. Anschließend wird die Schaltergruppe
108 gesperrt; während der Freigabeperio
de werden die Schaltergruppen 105, 116, 124, 125
im angesteuerten Zustand gehalten, während die Schaltergruppen 113,
117 und 121 im gesperrten Zustand ge
halten werden. In diesem Zustand wird die erste Berechnung
in der Freigabeperiode in Bezug auf die Daten "215" durch
geführt, die auf das Schieberegister 120 gekoppelt werden.
Da in diesem Fall die Schaltergruppe 116 im
angesteuerten Zustand und die Schaltergruppen 113 und 117
im gesperrten Zustand gehalten werden, wie oben
erwähnt wurde, wird ein Signal "0" (alle Bits ist "0") auf
den Eingang D des Addier/Subtrahiergliedes 112 bei je
der zeitlichen Ansteuerung des dritten Kanals gekoppelt.
Weiterhin erhält das Addier/Subtrahierglied 112 den
Befehl "Addition"; außerdem wird ein Ausgangssignal "0"
von dem Ausgang "1" des Dekodierers 94 auf die Gruppe 111
von Exklusiv-ODER-Gliedern gegeben. Während der Freigabe
periode wird also das Additions-Ausgangssignal (C+D) des
Addier/Subtrahiergliedes 112 direkt als Hüllkurvenda
ten von der Gruppe 131 von ODER-Gliedern geliefert. Da die
Eingabedaten zu dem Eingang D zu diesem Zeitpunkt "0" sind,
sind zu diesem Zeitpunkt die oben erwähnten Hüllkurvenda
ten gleich den Subtraktions-Ausgangsdaten (A-B) von dem
Subtrahierglied 122.
Wenn die erste Berechnung in der Freigabeperiode durchgeführt
wird, werden die Hüllkurvendaten "202", während das Hüllkur
venausgangssignal "12" wird. Weiterhin werden Daten "202"
auf die erste Stufe des Registers 120 gekoppelt. Dadurch
wird die zweite Berechnung in bezug auf die Daten "202"
bei der nächsten zeitlichen Ansteuerung des dritten Kanals
durchgeführt. Die Fig. 9A und 9B zeigen die Ergebnisse
der Berechnungen während der oben beschriebenen Freigabe
periode. Wie man erkennen kann, wird das Hüllkurven-Ausgangs
signal fortschreitend von dem Wert "13" zum Zeitpunkt des
Beginns der Freigabeperiode verringert. Als Ergebnis der
49ten Berechnung werden die Hüllkurvendaten "15"; diese
Daten werden auf die erste Stufe des Schieberegisters 120
gegeben. Dadurch wird das Hüllkurvenausgangssignal zu "0"
geändert. Das Hüllkurvenausgangssignal "0" (was der binären
Zahl "0000" entspricht) wird zu diesem Zeitpunkt auf die
Invertergruppe 132 gegeben; daraufhin ändert sich das Aus
gangssignal jedes Inverters in der Invertergruppe 132 auf
"1", um das Ausgangssignal der Gruppe 133 von UND-Gliedern
zu "1" zu ändern; dieses Ausgangssignal wird auf das UND-
Glied 118 gegeben. Da das andere Eingangssignal zu dem UND-
Glied 118 den Wert "1" hat, wird dessen Ausgangssignal zu
"1" geändert, um das Ausgangssignal des Inverters 134 zu
"0" zu ändern; dadurch werden die UND-Glieder 96 und 101
gleichzeitig gesperrt. Damit werden Signale "0" und "0"
gleichzeitig auf das erste und zweite Bit des Schiebere
gisters 92 gegeben, wodurch der Inhalt des dritten Kanals
des Hüllkurvenstatuszählers 91 zu "0" gemacht wird. Weiter
hin wird ein Signal "1" nur von dem Ausgang "0" des Dekodie
rers 94 bei der nächsten zeitlichen Ansteuerung des dritten
Kanals erzeugt, wodurch der dritte Kanal zu einem leeren
Kanal wird, der neu zugeordnet werdenn kann. Gleichzeitig
wird die Funktion der Hüllkurvenbildung in dem dritten Ka
nal des Hüllkurvengenerators gestoppt; damit wird gleich
zeitig auch die Klangproduktion beendet.
Fig. 10 zeigt die oben beschriebene Funktionsweise auf
der Basis der Fig. 7, 9A und 9B. Obwohl bei der
vorliegenden Ausführungsform der gleiche Wert fortlaufend
als Hüllkurvenausgangssignal vorgesehen wird und das Hüll
kurvenausgangssignal 4-Bit-Daten sind, die entsprechend
dem Aufbau der Schiebeschaltung 123 eingestellt werden,
führt die Bildung von musikalischen Klängen entsprechend
der Hüllkurvenwellenform nach Fig. 10 zu keinerlei Proble
men unter musikalischen Gesichtspunkten. Selbstverständlich
kann eine idealere Hüllkurven-Wellenform, wie sie in Fig. 10
durch die durchgezogene Kurve angedeutet ist, einfach
erreicht werden, indem die Zahl der Bits des Hüllkurvenaus
gangssignals erhöht wird.
Weiterhin werden bei dieser Ausführungsform während der oben
erwähnten Abkling- und Aurechterhaltungsperioden die Da
ten des Aufrechterhaltungspegels SUS auf den Eingang D des
Addier/Subtrahiergliedes 112 gegeben und dessen Addi
tionsausgangssignal (C+D) direkt als Hüllkurvendaten an
geliefert, wobei die oberen vier Bits dieses Signals als
Hüllkurvenausgangssignal auch um den entsprechenden Betrag
unmittelbar nach dem Zeitpunkt t₁ verringern; das gilt für
den Fall, wenn der Aufrechterhaltungspegel während der Ab
kling- oder Aufrechterhaltungsperiode durch Betätigung des
Aufrechterhaltungspegels geändert wird, beispielsweise dann,
wenn der Aufrechterhaltungspegel SUS zum Zeitpunkt t₁ von
S₁ auf S₂ verringert wid, wie in Fig. 11B zu erkennen ist;
dadurch läßt sich ein System erhalten, das optimale Nach
laufeigenschaften hat, und zwar im Vergleich mit der Funktion
eines herkömmlichen Systems, wie in Fig. 11A zu erkennen ist.
Wenn die Taste während der Einschwingperiode der Hüllkurve
gemäß der obigen Ausführungsform freigegeben wird, wird das
Ausgangssignal des UND-Gliedes 107 auf die gleiche Weise zu
"1" geändert, wie es oben in Verbindung mit dem Zeitpunkt
"Taste aus" beschrieben wurde; dadurch wird der Inhalt des
dritten Kanals des Hüllkurvenstatuszählers 91 von "1", was
die Einschwingperiode anzeigt, zu "3" geändert, um die Frei
gabeperiode herbeizuführen. Zum Zeitpunkt "Taste aus" wer
den die Hüllkurvendaten durch die Schaltergruppe 108
auf das Schieberegister 120 gegeben. Als Ergebnis
hiervon wird die Berechnung der Freigabeperiode auf der Ba
sis der oben erwähnten Hüllkurvendaten zum Zeitpunkt "Taste
aus" gestartet. Bei einer Änderung der Hüllkurvendaten auf
"0" wird selbstverständlich der relevante, zugehörige Kanal
in diesem Fall der dritte Kanal, zu einem leeren Kanal ge
macht. In ähnlicher Weise wird bei der Freigabe der Taste
während der Abkühlperiode der Hüllkurve die Freigabeperiode
des dritten Kanals sofort begonnen, während gleichzeitig
die Hüllkurvendaten zum Zeitpunkt "Taste aus" auf das Schie
beregister 120 gegeben werden, um die Berechnung für die
Freigabeperiode zu beginnen. Wenn die Freigabeperiode
beendet ist, wird weiterhin ein leerer Kanal wiedergewonnen.
Obwohl bei der obigen Ausführungsform der Wert ¹/₁₆ der
Eingabedaten zu dem Schieberegister 123 durch die Verschie
bung der Eingabedaten um vier Bits nach rechts berechnet
worden ist, können die Einschwing-, Abkling- und Freigabe
perioden, d. h., die entsprechenden Neigungen der Kurve der
Exponentialfunktion, durch solche Einrichtungen als Änderung
der Zahl der Bits der Verschiebung entsprechend der Funktion
der einzelnen Steuerhebel gesteuert werden.
Weiterhin können in einem solchen Fall der Anfangswert,
der durch die Schaltergruppe 121 zugeführt
wird und der Wert der Daten, die durch die Schaltergruppe 113
zugeführt wird (der bei der vorherigen
Ausführungsform "127" ist), zu verschiedenen Werten geändert werden
falls dies erforderlich ist.
Die Bitzahl des Hüllkurven-Ausgangssignals kann von dem oben
angegebenen Wert von 4 Bits erhöht werden, indem zusätzli
che Bits für die Berechnungsverarbeitung vogesehen werden.
Obwohl bei der vorherigen Ausführungsform die Berechnung
der Wellenform der Exponentialfunktion unter Verwendung der
Gleichung
durchgeführt wurde, wobei n eine ganze Zahl, α eine positive
Zahl und A₀ der Anfangswert sind, kann diese Gleichung
auf verschiedene Weise modifiziert werden; die Rechen
schaltung kann dann entsprechend geändert werden.
Die vorhergehende Ausführungsform kann für die Steuerung der
Hüllkurve des Schall- bzw. Klangvolumens einer elektronischen
Orgel eingesetzt werden; sie kann auch für die Steuerung der
Oszillationsfrequenz, der Grenzfrequenz des Filters, des
Schallvolumens usw. in Synthesizern für Musik eingesetzt
werden. Schließlich kann sie noch für verschiedene Hüllkurven
steuerungen verschiedener elektronischer Musikinstrumente
verwendet werden.
Eine noch bessere Annäherung an die ideale Wellenform der
Hüllkurve kann erhalten werden, wenn die Hüllkurve anstatt unter
Verwendung der oben erwähnten Gleichung
mit der Gleichung
gebildet wird.
Eine zweite Ausführungsform der Erfindung, die noch beschrie
ben werden soll, basiert auf der Gleichung (2); außerdem
wird bei dieser Ausführungsform die Geschwin
digkeit der Änderung der Hüllkurve variabel gemacht, indem
mit variablem Takt gearbeitet wird. Der variable Taktgene
rator, der bei dieser Ausführungform verwendet wird, soll
zunächst unter Bezugsnahme auf die Fig. 12 erläutert werden.
Gemäß Fig. 12 führt ein Binärzähler 115, der eine 8-Bit-
Konstruktion hat, die Zählung unter der Steuerung eines Takt
signals Φ₈ durch; dieses Taktsignal Φ₈ hat eine Frequenz,
die gleich dem 8-fachen des Taktsignals Φ₀ des Systems ist;
ein solches Taktsignal wird in einem ADSR-Hüllkurvengenera
tor 11 b oder einem ähnlichen Bauteil verwendet. Die Zählda
ten, von den einzelnen Bits des Binärzählers 150 (mit
einer Wichtung von "1", "2", "4", "8", "16", "32", "64" und
"128" für die jeweiligen Bits) werde jeweils direkt auf
Reihenlinien l₁ bis l₁₂₈ eines Lesespeichers ROM 152 vom
NOR-Typ und auch durch Inverter 151-1 bis 151-8 auf Reihen
linien ₁ bis ₁₂₈ des Lesespeichers ROM vom NOR-Typ
gekoppelt.
Bei dem Lesespeicher ROM 152 vom NOR-Typ handelt es sich um
einen ROM, der durch NOR-Glieder
gebildet wird, wie in der Figur durch Kreise angedeutet ist;
dieser Speicher hat die Funktion eines Dekodierers. Er führt
von seinen Spaltenzeilen a bis h als Ausgangsleitungen je
weils Taktsignale zu, die als Vorsteuersignale zu den ent
sprechenden UND-Gliedern in einer Gruppe 153 von UND-Gliedern
gegeben werden. Von der Spaltenzeile a des Lesespeichers
ROM 152 vom NOR-Typ wird ein einziger Taktimpuls in einem
Zählzyklus des Binärzählers 150 geliefert, wenn dessen
Zählinhalt zu "128" wird (siehe Fig. 18A) von der Spal
tenzeile b werden zwei Taktimpulse in einem Zählzyklus je
weils geliefert, wenn der Zählinhalt "64" bzw. "192" ist.
In ähnlicher Weise werden von den Reihenzeilen c, d, e, f
g und h jeweils vier, acht, sechszehn, zweiunddreißig und
vierundsechszig und einhundertachtundzwanzig Taktimpulse
in einem Zählzyklus zu bestimmten Zeiten (Werte des Zähl
inhaltes) geliefert, wie man in Fig. 18A erkennen kann.
Selbstverständlich wird der Lesespeicher ROM 152 vom NOR-
Typ in einem Zählzyklus des Binärzählers 150 aufgebaut; von
einer der Reihenzeilen a bis h werden keine gleichzeitigen
Taktimpulse, d. h., Taktimpulse mit dem gleichen Zeitablauf,
geliefert.
Ein Code für die Einschwinggeschwindigkeit, ein Code für
die Abklinggeschwindigkeit und ein Code für die Freigabe
geschwindigkeit, bei denen es sich jeweils um 8-Bit-Daten
handelt, werden den jeweiligen Schaltergruppen 154 bis 156
zugeführt, die jeweils aus acht Schaltelementen
bestehen. Die Schaltergruppen 154 bis 156 werden
so gesteuert, daß sie die jeweiligen Ausgangssignale von
den Ausgangsleitungen 1 bis 3 eines Dekodierers 157 durch
lassen.
Dem Dekodierer 157 wird ein Hüllkurvenstatuscode von einem
später zu beschreibenden Hüllkurvenstatuszähler zugeführt,
der in dem ADSR-Hüllkurvengenerator 11 b vorgesehen ist. Der
Inhalt dieses Hüllkurvenstatus-Code ist während der Einschwing
periode der Hüllkurve "1", während der Abkling- und Aufrecht
erhaltungsperiode "2" und während der Freigabeperiode "3";
ein Signal "1" wird von einer Ausgangsleitung L 1, wenn der
Inhalt des Hüllkurvenstatuscodes "1" ist, von einer Aus
gangsleitung L 2, wenn der Inhalt "2" ist und von einer
Ausgangsleitung L 3 geliefert, wenn der Inhalt "3" ist. Die
se Signale "1" steuern die entsprechenden Schaltergruppen 154 bis
156 an.
Die Ausgangssignale der einzelnen Schalter der Schaltergruppen
154 bis 156 werden auf die entsprechen
den UND-Glieder 153-7, 153-6 . . . 153-0 der Gruppe 153 von
UND-Gliedern gekoppelt. Die Ausgangssignale der einzelnen
UND-Glieder der Gruppe 153 von UND-Gliedern werden auf eine
Gruppe 158 von ODER-Gliedern gegeben, um ein Ausführungs
signal EXECUTE für den variablen Takt zu erzeugen.
Der variable Taktgenerator mit dem obigen Aufbau hat die
folgende Funktionsweise: Wenn der Code für die Einschwing
geschwindigkeit beispielsweise auf "00001111" eingestellt
wird, liefern während der Einschwingperiode der Hüllkurve
die Schalter 154-0 bis 154-3 der Schaltergruppe 154
Ausgangssignale "1", während die anderen
Schalter 154-4 bis 154-7 der Gruppe Ausgangssignale
"0" liefern. Entsprechend diesen Ausgangssignalen werden
die Taktausgangssignale von den Reihenzeilen a bis d des
Lesespeichers ROM 152 vom NOR-Typ durch UND-Glieder 153-0
bis 153-3 der Gruppe 153 von UND-Gliedern auf die Gruppe
158 von ODER-Gliedern und die drin vorgesehenen ODER-
Glieder für jede Zählzyklusperiode des binären Zählers 150
gekoppelt. Dadurch wird ein Ausfühungssignal EXECUTE für
den variablen Takt erhalten, das aus 15 Impulsen in einer
Zyklusperiode besteht, wie man in Fig. 18B erkennen kann.
Zur Lieferung der langsamsten Einschwinggeschwindigkeit,
kann der Code für die Einschwinggeschwindigkeit selbst
verständlich auf "00000001" eingestellt werden. Dadurch wird
für jede Zyklusperiode des Binärzählers 150 das Taktsignal
von der Reihenzeile a des Lesespeichers ROM 150 vom NOR-Typ
durch das UND-Glied 153-0 auf die Gruppe 158 von ODER-Glie
dern gekoppelt und ein Ausführungssignal EXECUTE für den
variablen Takt erhalten, das in einer Zyklusperiode aus ei
nem einzigen Impuls besteht.
Zur Erzeugung der höchsten Einschwinggeschwindigkeit wird
der Code für die Einschwinggeschwindigkeit auf "11111111"
eingestellt. Dadurch werden alle Taktsignale von den Reihenzeilen
a bis h durch die Gruppe 153 von UND-Gliedern auf die Gruppe
158 von ODER-Gliedern gekoppelt; auf diese Weise läßt sich
ein Ausführungssignal EXECUTE für einen variablen Takt er
halten, das aus 255 Impulsen in einer Zyklusperiode besteht.
Es läßt sich also erkennen, daß die Geschwindigkeit des Ein
schwingvorganges proportional zu dem Inhalt des Codes für
die Einschwinggeschwindigkeit erhöht werden kann. Die glei
che Beziehung gilt für die Codes der Geschwindigkeiten des
Abklingvorgangs und des Freigabevorgangs, d. h., die Geschwin
digkeit des Abklingvorgangs und des Freigabevorgangs kann
auf jeden beliebigen Wert eingestellt werden, wenn das Aus
führungssignal EXECUTE für den variablen Takt entsprechend
der Einstellung der Codes für die Geschwindigkeit des Abkling
vorgangs und des Freigabevorgangs variiert werden kann.
Der bereits oben mehrfach erwähnte ADSR-Hüllkurvengenerator
11 b soll nun unter Bezugsnahme auf die Fig. 13A und 13B
beschrieben werden. In diesen Figuren un din Fig. 6 sind
gleiche Teile jeweils mit gleichen Bezugszeichen versehen.
Das Ausgangssignal des Ausgangs "1" des Dekoders 94 wird
als Torsteuersignal auf ein UND-Glied 161 und eine Schaltergruppe
162 gegeben. Das UND-Glied 161 empfängt
außerdem ein Übertrag-Ausgangssignal von einem Übertrag-
Ausgang C out eines Addiergliedes 163, wie später noch er
läutert werden soll; das Ausgangssignal des UND-Gliedes 161
wird durch den Inverter 135, die UND-Glieder 95 und 96 und
die ODER-Glieder 97 und 98 auf das untere Bit des Schiebe
registers 92 sowie durch das ODER-Glied 100 und die UND-
Glieder 101 und 102 auf das obere Bit des Schieberegisters
92 gegeben. Das Ausgangssignal des UND-Gliedes 161 wird
weiterhin als Torsteuersignal direkt auf eine Gruppe 164
von Schaltern und auch über einen Inverter 166 auf
eine Schaltergruppe 165 gekoppelt.
Das Ausgangssignal von dem Ausgang "2" wird als Torsteuer
signal auf eine Schaltergruppe 167 gegeben.
Das Ausgangssignal von dem Ausgang "3" wird als Torsteuer
signal auf ein UND-Glied 118 und eine Schaltergruppe 168
geführt. Außerdem empfängt das Ausgangssignal 118
ein Signal, das nur aus "0" besteht und von einer Gruppe
169 von UND-Gliedern geliefert wird, wie später noch be
schrieben werden soll; das Ausgangssignal des UND-Gliedes
118 wird durch einen Inverter 134, ein UND-Glied 96 und
ODER-Glieder 97 und 98 auf das untere Bit des Schiebere
gisters 92 sowie durch einen Inverter 134 und UND-Glieder
101 und 102 auf das obere Bit des Schieberegisters 92
gegeben.
Ein Schieberegister 170 weist acht 12-Bit-Schieberegister
auf, die in Kaskade geschaltet sind; der Ausgang des Schie
beregisters 170 ist mit dem oben erwähnten Addierglied 163
verbunden; seine Ergebnisdaten für die Berechnung (d. h.
12-Bit-Hüllkurvendaten) werden durch eine Schaltergruppe 165
zurückgekoppelt; diese Gruppe 165 wird nor
malerweise für das Schieberegister 170 angesteuert gehalten,
und zwar zu allen Zeiten mit Ausnahme des Endes der Einschwing
periode für die betätigte Taste. Die Ergebnisdaten für die
Berechnung, die zu dem Schieberegister 170 zurückgekoppelt
werden, werden durch das Schieberegister 170 geschoben und
von der achten Stufe des Schieberegister auf C-Eingänge
C₂₀₄₈, C₁₀₂₄, . . ., C₁ des Addiergliedes 163 gegeben. Die
oberen acht Bits der Ergebnisdaten für die Berechnung wer
den auf A-Eingänge A₂₅₆, A₁₂₈, . . . , A₁ eines Addierglie
des 171 geführt. Ein Signal "0", nämlich ein Signal auf dem
Massepegel GND, wird dem A-Eingang A₂₅₆ des Addiergliedes
171 zugeführt.
Am Ende der Einschwingperiode für eine betätigte Taste wird
die Schaltergruppe 165 zeitweilig im gesperrten Zustand
gehalten, während die Schaltergruppe 164 im ange
steuerten Zustand gehalten wird; daraufhin liefert die Schalter
gruppe 164 Daten "1" (alle Bits sind
"1") zu der ersten Stufe des Schieberegisters 170, so daß
sie in diese Schieberegister eingeschrieben werden.
Den B-Eingängen B₂₅₆, B₁₂₈ . . . , B₁ des Addiergliedes 171
werden 9-Bit-Daten-Ausgangssignale einer Invertergruppe
172 zugeführt, während ein Signal "1" immer an einem Über
trag-Eingang C in des Addiergliedes 171 anliegt. Während der
Einschwingperiode für eine betätigte Taste werden Daten
"101111111" von der Schaltergruppe 162, die
während der oben erwähnten Einschwingperiode im angesteu
erten Zustand gehalten wird, auf die Invertergruppe 172
gekoppelt. Während der Einschwingperiode führt also das Addier
glied 171 die Addition (A-B) der Daten, die auf seine A-Ein
gänge geführt werden, und der Daten durch, die nach der In
version der einzelnen Bits der oben erwähnten Daten "101111111"
durch die Invertergruppe 172 erhalten werden; anschließend
folgt die Addition "+1" zu dem Resultat, das heißt, Daten,
die im Symbol umgekehrt zu den Daten sind, die auf B-Ein
gänge geführt werden (oder Daten "010000001" ausgedrückt
als Komplement von 2); die sich ergebenden Summendaten wer
den von seinen S-Ausgängen S₂₅₆, S₁₂₈, . . . , S₁ als 9-Bit-
Daten einer Kompensationsschaltung 173 durchgeführt.
Während der Abkling- und Aufrechterhaltungsperiode nach der
Einschwingperiode werden die Daten für den Aufrechterhal
tungspegel durch eine Schaltergruppe 167, die
während der Abkling- und Aufrechterhaltungsperioden im
angesteuerten Zustand gehalten werden, zu der oben erwähn
ten Invertergruppe 172 geführt. Damit addiert also während
der Abkling- und Aufrechterhaltungsperioden das Addierglied
171 die Eingabedaten zu seinen A-Eingängen und die Daten
des Aufrechterhaltungspegels in der Form des Komplement-
zu-2 und führt die Resultat-Daten der Kompensationsschal
tung 173 zu.
Während der Freigabeperiode werden von der Schaltergruppe 168,
die während der Freigabeperiode im ange
steuerten Zustand gehalten wird, Daten "0" (alle Bits sind
"0") der Invertergruppe 172 zugeführt. Damit addiert also
während der Freigabeperiode das Addierglied 171 die Daten,
die an seinen A-Eingängen zugeführt werden, und die Daten
"0" für alle acht Bits in der Komplement-zu-2-Form (was
nichts anderes heißt, als daß alle Bits "0" sind); die
sich ergebenden Resultat-Daten werden auf die Kompensations
schaltung 173 gegeben.
Die Kompensationsschaltung 173 dient dazu, die exakte Durch
führung der Berechnung der Wellenform der Gleichung (2)
für die Exponentialfunktion zu erhalten, die bereits oben
erwähnt wurde.
Dies soll im folgenden im Detail erläutert werden. Die 9-Bit-
Resultat-Daten von dem Addierglied 171 werden einer Inverter
gruppe 174 zugeführt. Außerdem wird ein Übertrag-Ausgangs
signal von einem Übertrag-Ausgang C out des Addiergliedes
171 über einen Schalter 175 auf die D-Eingänge D₂₀₄₈,
D₁₀₂₄, . . . , D₃₂ des Addiergliedes 163 gekoppelt. Das Ausgangs
signal der Invertergruppe 174 wird auf die Gruppe 169 von
UND-Gliedern gegeben, wie oben erwähnt wurde. Ein Signal,
das von dem UND-Glied 169-0 erhalten wird, wird als Signal
"alles "0""; bezeichnet; das Signal, das durch die Inver
sion dieses Signals alles "0", durch einen Inverter 176
erhalten wird, wird als Signal bezeichnet. Das
Signal alles "0" ist "1", wenn alle Resultatdatenbits
in den A-Ausgängen des Addiergliedes 171 alles "0" und
sonst "0" sind. Dieses Signal alles "0" wird auf das
UND-Glied 118 gekoppelt, wie bereits oben erwähnt wurde,
während das Signal auf ein UND-Glied 177 ge
geben wird. Die Ausgangssignale der Inverter 174-8, 174-7, . . . , 174-3
der Invertergruppe 174 werden auf eine Gruppe
178 von UND-Gliedern geführt. Ein Signal, das durch die
Inversion des Ausgangssignals des UND-Gliedes 178-0 mit
tels eines Inverters 179 erhalten wird, wird als
bezeichnet. Das Signal ist "0", wenn die oberen sechs
Bits der Resultatsdaten des Addiergliedes 171 "alles "0""
und sonst "1" sind. Es wird als Vorsteuersignal über ein
ODER-Glied 180 an ein UND-Glied 181 angelegt. Die Ausgangs
signale der Inverter 174-18, 174-7, . . . , 174-4 werden
auch auf Schaltgruppe 184 gegeben. Diese
Schaltergruppe 184 und der oben erwähnte Schalter
175 werden durch das Ausführungssignal EXECUTE für
den variablen Takt gesteuert, um die entsprechenden Signale
durchzulassen. Die Ausgangssignale der Schaltergruppe 184
werden den D-Eingängen D₁₆, D₈ . . ., D₁
des Addiergliedes 163 zugeführt. Beim Auftreten jedes Aus
führungssignals EXECUTE des variablen Taktes werden den
D-Eingängen des Addiergliedes 163 das Übertrag-Ausgangs
signal des Addiergliedes 171 und die oberen fünf Bits der
Resultatsdaten des Addiergliedes 171 zugeführt. Das Aus
gangssignal des Inverters 174-3 der Invertergruppe 174,
das als Signal bezeichnet wird, wird als Vorsteuersig
nal über ein ODER-Glied 182 an ein UND-Glied 183 angelegt.
Dieses Signal ist "1", wenn die Daten des vierten Bits
von dem niedrigsten Bit der Resultatdaten des Addiergliedes
171 (d. h., das Ausgangssignal des S-Ausgangs S₈) "1" ist;
dieses Signal ist "1", wenn diese Daten "0" sind. Das
Übertragausgangssignal des Addiergliedes 171 wird auch
als Sign bezeichnet und wird über einen Inverter 185 an
die ODER-Glieder 180 und 182 geliefert, um Torsteuersig
nale für die UND-Glieder 181 und 183 zu liefern. Dieses
Signal Sign ist "0" während der Neigungsperiode "nach oben"
der Hüllkurve und ist "1" während der Neigungsperiode "nach
unten" der Hüllkurve. Das UND-Glied 177, das das oben er
wähnte Signal als Eingangssignal empfängt, wird
durch das Ausführungssignal EXECUTE für den variablen Takt
gesteuert, um die entsprechenden Signale durchzulassen;
sein Ausgangssignal wird auf das UND-Glied 183 gegeben, des
sen Ausgangssignal wiederum auf das UND-Glied 181 geführt
wird, das sein Ausgangssignal dem Übertrageingang C in des
Addiergliedes 163 zuführt.
Bei dem oben beschriebenen Aufbau der Kompensationsschal
tung 173 wird die Berechnung der Wellenform durch die
Steuerung der Eingabedaten zu den D-Eingängen und den Über
trageingang C in des Addiergliedes 163 in der Weise durchge
führt, daß während der Einschwingperiode für die betätigte
Taste ein Signal "1" dem Übertragungseingang C in zugeführt wird,
so daß die Resultat-Daten (C+D) des Addiergliedes 163
für jede Berechnung um "+1" inkrementiert werden; während
der Abkling-, Aufrechterhaltungs- und Freigabe-Perioden,
d. h., die Periode mit der Neigung "nach unten", wird die
Entscheidung darüber, ob die Korrektur des Abrundens der
unteren vier Bits an den D-Eingängen D₈, D₄, . . . , D₁
durchgeführt wird, in Abhängigkeit davon gesteuert, ob ein Sig
nal "1" an dem Übertrageingang C in anliegt; wenn die oberen
sechs Bits des Addiergliedes 171 alle den Wert "0" bei der
oben erwähnten Periode mit der Neigung "nach unten"
erhalten, wird ein Signal "0" dem Übertrageingang C in des
Addiergliedes 163 zugeführt, so daß die Resultat-Daten des
Addiergliedes 163 fortschreitend um "-1" inkremmentiert
werden, um die Periode der Neigung "nach unten" zu Ende
zu bringen. Von den oben erwähnten Hüllkurvendaten mit dem
12-Bit-Aufbau werden die oberen acht Bits als Hüllkurven
ausgangssignal der Schaltung für die Erzeugung der musika
lischen Klänge zugeführt, so daß die in dieser Schaltung
gebildeten musikalischen Klänge entsprechend der Hüllkurve
geformt werden.
Im folgenden soll die Funktionsweise dieser Ausführungsform
erläutert werden. Vor dem Start des Spiels mit dem elektro
nischen Musikinstrument werden die Einschwing-, Abkling-
Aufrechterhaltungs- und Freigabehebel auf die jeweiligen,
gewünschten Lagen eingestellt. Mit dieser Einstellung
zeugt der variable Taktsignalgenerator ein Ausführungssig
nal EXECUTE für den variablen Takt mit dem entsprechenden
Inhalt, das dem ADSR-Hüllkurvengenerator 11 b zugeführt
wird.
Nun soll die Funktionsweise des variablen Taktsignalgene
rators im Detail beschrieben werden. Der Binärzähler 150
zählt immer das Taktsignal Φ₈; seine Zähldaten werden den
Reihenzeilen l₁, , l₂, , . . . l₁₂₈, zuge
führt. Der Lesespeicher ROM 152 vom NOR-Typ dekodiert die
oben erwähnten Zähldaten und führt die Tastsignale, wie in
Fig. 18A dargestellt ist, von seinen Reihenzeilen a bis h
der Gruppe 153 von UND-Gliedern für jede Zählzyklusperiode
des Binärzählers 150 zu. Die Taktsignale von den Reihenzei
len a bis h werden zu unterschiedlichen Zeitpunkten gelief
fert, d. h., keins der Taktsignale wird zum gleichen Zeitpunkt
erzeugt.
Wenn der Einschwinghebel in eine solche Lage gebracht wird,
daß der Inhalt des Codes für die Geschwindigkeit des Ein
schwingvorgangs "00001111" ist, wird während der Einschwing
periode ein Signal "1" von der Ausgangsleitung L 1 des Deko
dierers 157 geliefert, um die Schaltergruppe 154
zu jedem Zeitpunkt anzusteuern, bei dem von dem Schiebere
gister 92 (siehe Fig. 18B) Daten erzeugt werden, die die
Einschwingperiode anzeigen, d. h., der Hüllkurvenstatuscode
des Inhaltes "01" (in binärer Formulierung). D. h. also,
daß zu jedem entsprechenden Zeitpunkt ein Code "00001111"
für die Geschwindigkeit des Einschwingvorgangs von der Schaltergruppe 154
der Gruppe 153 von UND-Gliedern
zugeführt wird, wodurch bei jedem Zeitpunkt die UND-Glieder
153-0 bis 153-3 angesteuert werden, während die UND-Glieder
153-4 bis 153-7 gesperrt werden. Wenn dieser zeitliche Ab
lauf dem zeitlichen Ablauf entspricht, bei dem das Taktsig
nal beispielsweise von der Reihenzeile a erzeugt wird, d. h.,
für das der Inhalt der Zähldaten des Binärzählers 150
gleich "128" ist, wird dieses Taktsignal durch das UND-Glied
153 der Gruppe 158 von ODER-Gliedern zugeführt. Als Ergebnis
hiervon wird ein einmalig auftretendes Ausführungssignal
EXECUTE für das variable Taktsignal erzeugt.
In ähnlicher Weise werden zu den Zeiten, zu denen die Taktsig
nale von den Reihenzeilen b, c und d erzeugt werden, die Takt
signale als Ausführungssignal EXECUTE für das variable Takt
signal von den UND-Gliedern 153-1, 153-2 und 153-3 erzeugt.
Zu den Zeitpunkten, bei denen die Taktsignale von den Reihen
zeilen e bis h erzeugt werden, wird kein Ausführungssignal
EXECUTE für den variablen Takt geliefert, da zu diesen Zeit
punkten die UND-Glieder 153-4 bis 153-7 im gesperrten Zustand
gehalten werden.
Wenn der Code für die Geschwindigkeit des Einschwingvoran
ges nun "00001111" ist, werden für jede Zyklusperiode des
Binärzählers 150 insgesamt 15 Ausführungssignale EXECUTE
in Impulsform für das variable Taktsignal erzeugt. Diese
Taktimpulse werden als Ergebnis davon geliefert, daß die
Taktsignale von den Reihenzeilen a bis d des Lesespeichers
ROM 152 vom NOR-Typ einer ODER-Verknüpfung unterworfen
werden. Das Ausführungssignal EXECUTE für das variable
Taktsignal, das auf die oben beschriebene Weise erhalten
wird, wird dem ADSR-Hüllkurvengenerator 11 b zugeführt, der
dann die Berechnung der Wellenform für den Einschwingsta
tus der Hüllkurve für die betätigte Taste durchführt, und
zwar jedes Mal dann, wenn ein Ausführungssignal EXECUTE
für den variablen Takt geliefert wird. Im vorliegenden Fall
wird für die Bildung der Wellenform für den Einschwingsta
tus eine mittlere Geschwindigkeit eingestellt.
Die Funktionsweise bei der Erzeugung des Ausführungssignals
EXECUTE des variablen Taktes während der Abkling- und Frei
gabeperiode entspricht genau der während der Einschwingperiode.
Im einzelnen wird während der Abklingperiode ein Code
für den Hüllkurvenstatus mit den Inhalt "10" dem Dekoder
157 zugeführt; außerdem erscheint auf der Ausgangsleitung
L 2 ein Signal "1", um die Schaltergruppe 155
anzusteuern. Zu diesem Zeitpunkt wird der Code für die Ge
schwindigkeit des Abklingvorgangs durch die Schaltergruppe 155
der Gruppe 153 von UND-Gliedern zugeführt.
Dadurch wird ein Taktsignal als Ausführungssignal EXECUTE
für den variablen Takt, wenn überhaupt, dann nur von dem
UND-Glied zugeführt, welches das von dem Lesespeicher ROM 152
vom NOR-Typ zum oben erwähnten Zeitpunkt gelieferte Taktsig
nal und ein Signal "1" empfangen hat, das durch den Code für
die Geschwindigkeit des Abklingvorgangs festgelegt ist.
Während der Freigabeperiode wird ein Code für den Hüllkur
venstatus mit dem Inhalt "11" dem Dekodierer 157 zugeführt.
Als Ergebnis hiervon wird ein Signal "1" von der Ausgangs
leitung L 3 geliefert, während der Code für die Geschwindig
keit des Freigabevorgangs von der Schaltergruppe 156
kommt. Auf die gleiche Weise, wie es oben beschrieben
wurde, wird ein Zustand herbeigeführt, in dem das Ausführungs
signal EXECUTE für den variablen Takt erzeugt werden kann.
Zu dem Zeitpunkt, bei dem der Inhalt des Codes für den Hüll
kurvenstatus "00" ist und damit einen leeren Kanal anzeigt,
wird die Erzeugung des Ausführungssignals EXECUTE für den
variablen Takt gesperrt; damit wird die Berechnung der Wel
lenform in dem ADSR-Hüllkurvengenerator unmöglich.
Im folgenden soll die Funktionsweise des ADSR-Hüllkurven
generators 11 b im Detail beschrieben werden. Dabei wird ange
nommen, daß der Aufrechterhaltungspegel so eingestellt wird,
daß die Daten für den Aufrechterhaltungspegel "126" sind
(was "01111110" in binärer Formulierung entspricht). Dabei
wird zunächst der Fall behandelt, daß ein bestimmter, in den
Fig. 13A und 13B dargestellter Kanal ein leerer Kanal
ist. In diesem Fall ist die Zählung des Hüllkurvenstatus
zählers 91 in bezug auf diesen leeren Kanal, d. h., der In
halt des Schieberegisters 92 in bezug auf diesen leeren
Kanal "0". Dieser Inhalt "0" wird von dem Schieberegister 92
bei der zeitlichen Ansteuerung dieses leeren Kanals gelie
fert; jedes Mal, wenn dieses Signal dem Dekodierer 94 zuge
führt wird, wird ein Signal "1" an dem Ausgang "0" des De
kodierers 94 erzeugt. Dieses Signal "1" wird durch den In
verter 106 in das Signal "0" umgewandelt, das auf das UND-
Glied 107 gegeben wird, um dessen Ausgangssignal auf "0"
zu ändern. Dieses Signal "0" von dem UND-Glied 107 wird
auf die ODER-Glieder 98 und 99 gekoppelt; da das andere
Eingangssignal zu dem ODER-Glied, d. h., das Ausgangssignal
des ODER-Gliedes 97, zu diesem Zeitpunkt "0" ist, wird ein
Ausgangssignal "0" von dem ODER-Glied 98 zu dem ersten Bit
der ersten Stufe des Schieberegisters 92 geliefert. Gleich
zeitig wird ein Ausgangssignal "0" von dem UND-Glied 102
auf das zweite Bit der oben erwähnten Stufe des Schiebere
gisters gegeben. Dies bedeutet, daß wiederum die Daten "0"
dem Schieberegister 92 bei der Ansteuerung des oben erwähnten,
leeren Kanals zugeführt werden; anschließend wird die oben
beschriebene Funktionsweise wiederholt in bezug auf den
oben erwähnten, leeren Kanal durchgeführt.
Bei der Ansteuerung des oben erwähnten leeren Kanals sind
die Ausgangssignale von den Ausgängen "1", "2" und "3"
des Dekodierers 94 alle "0"; nur die Schaltergruppe 165
ist angesteuert, während die Schaltergruppen 162, 164,
167 und 168 im gesperrten Zustand ge
halten werden. Das Schieberegister 170 liefert also Daten
"0" (alle Bits sind "0") als Hüllkurvendaten zu den A-Ein
gängen des Addiergliedes 171 und auch zu den C-Eingängen
des Addiergliedes 163.
Gleichzeitig liefert die Invertergruppe 172, der Daten, bei
der alle Bits "0" sind, zugeführt werden, Ausgangssignale,
bei denen alle Daten "0" sind. Diese Daten werden auf die
"B"-Eingänge des Addiergliedes 171 gegeben. Da ein Signal "1"
immer dem Übertrageingang C in des Addiergliedes 171 zuge
führt wird, sind die Ausgangsdaten von den S-Ausgängen des
Addiergliedes 171 alle "0", während das Übertragsausgangs
signal "1" ist. Die oberen fünf Bits der Ausgangsdaten von
den S-Ausgängen des Addiergliedes 171 werden durch die In
vertergruppe 174 zu "1" für alle Bits umgekehrt, um sie auf
die Schaltergruppe 184 zu koppeln, während gleich
zeitig das oben erwähnte Übertrag-Ausgangssignal "1" auf
den Schalter 175 gegeben wird. Da die Erzeugung des
Ausführungssignals EXECUTE für den variablen Takt bei der
Ansteuerung des oben erwähnten leeren Kanals gesperrt ist,
sind zu diesem Zeitpunkt die Ausgangssignale der Schaltergruppe
184 und des Schalters 175 beide
"0", so daß Daten, bei denen alle Bits "0" sind, auf die
D-Eingänge des Addiergliedes 163 gegeben werden. Da das
Eingangssignal zu dem Übertrageingang C in des Addiergliedes
163 den Wert "0" hat, sind bei den Resultat-Daten von S-Aus
gängen des Addiergliedes 163 alle Bits Daten mit dem Wert
"0"; diese Daten werden durch die Schaltergruppe 165,
die sich im angesteuerten Zustand befindet, zu dem
Schieberegister 170 zurückgekoppelt. Wenn die oben beschrie
bene Funktionsweise wiederholt wird, werden die Hüllkurven
daten, bei denen alle Bits in dem Register für den oben
erwähnten, leeren Kanal in dem Schieberegister 170 den
Wert "0" haben, im Umlauf gehalten. Auch das Hüllkurvenaus
gangssignal besteht aus Daten, bei denen alle Bits "0" sind.
D. h. also, daß keine musikalischen Klänge für den oben er
wähnten, leeren Kanal erzeugt werden.
Wenn eine Taste bei Vorhandensein eines leeren Kanals herun
tergedrückt wird, wie oben erwähnt wurde, wird die Betäti
gung "Taste ein" entdeckt, und ein Impuls "Taste ein" wird
als 1-Bit-Zeitimpuls von der Tastatur 12 erzeugt und dem
ADSR-Hüllkurvengenerator 11 b zugeführt. Der Impuls "Taste
ein" (mit dem Wert "1") wird durch die ODER-Glieder 97 und
98 auf das erste Bit der ersten Stufe des Schieberegisters
92 gegeben, und zwar beispielsweise bei der Ansteuerung des
dritten Kanals.
Gleichzeitig wird das Ausgangssignal des Inverters 103 durch
das UND-Glied auf das zweite Bit der oben erwähnten, ersten
Stufe des Schieberegisters geführt; das Ausgangssignal des
Inverters 103 ändert sich beim Auftreten des Impulses "Taste
ein" (mit dem Wert "1") auf den Wert "0". Als Ergebnis hier
von wird der Inhalt des dritten Kanals des Schieberegisters
92 auf "1" geändert, wodurch angedeutet wird, daß sich die
"leerer Kanal"-Periode des dritten Kanals in die Einschwing
periode geändert hat. Die Daten, die diesen Inhalt "1" für
den dritten Kanal zeigen, werden von dem Schieberegister 92
dem Dekodierer 94 zugeführt, um dort dekodiert zu werden;
dadurch wird nur das Ausgangssignal des Ausgangs "1" bei
der Ansteuerung des dritten Kanals in "1" geändert.
Von den Daten "1" für den dritten Kanal, die von dem Schie
beregister 92 geliefert werden, werden die ersten Bitdaten
"1" durch die UND-Glieder 95 und 96, die zum Zeitpunkt
dieses Ausgangssignals angesteuert werden, und auch durch
die ODER-Glieder 97 und 98 auf das erste Bit der ersten
Stufe des Schieberegisters 92 gekoppelt, während gleichzei
tig die zweiten Bitdaten "0" durch die ODER-Glieder 99 und
100, deren anderes Eingangssignal zu diesem Zeitpunkt "0"
ist, und die UND-Glieder 101 und 102 auf das zweite Bit der
oben erwähnten, ersten Stufe des Schieberegisters geführt
werden. Als Ergebnis hiervon werden die oben erwähnten Daten
"1" wieder bei der Ansteuerung des dritten Kanals auf das
Schieberegister 92 gegeben. Anschließend werden sie durch
die oben erwähnte Zirkulationsschaltung während der Ein
schwingperiode des dritten Kanals im Umlauf gehalten. Au 19972 00070 552 001000280000000200012000285911986100040 0002003130380 00004 19853ßer
dem wird ein Signal "1" von dem Ausgang "1" des Dekodierers
94 bei der Ansteuerung des dritten Kanals geliefert.
Wenn das Signal "1" an dem Ausgang "1" des Dekodierers 94
bei jeder Ansteuerung des dritten Kanals nach dem Auftreten
des Impulses "Taste ein" für diesen Kanal auftritt, wird
die Schaltergruppe 162 durch dieses Signal "1"
angesteuert, wodurch Daten "101111111" (was in dezimaler
Schreibweise "383" entspricht) durch die Gruppe 162 von
Verknüpfungsgliedern auf die Invertergruppe 172 gekoppelt
werden können, um alle Bits umzukehren; dann wird dieses
Signal auf die B-Eingänge des Addiergliedes 171 geführt.
Die oben erwähnten Daten "101111111" geben den Endwert "383"
für die Berechnung der Wellenform, die entsprechend der oben
erwähnten Gleichung (2) für die Einschwingperiode durchge
führt wurde.
Das Schieberegister 170 führt auch die Ausgangsdaten, bei
denen alle Bits "0" sind, den A-Eingängen des Addiergliedes
171 zu. Das Addierglied 171 addiert also die Daten, bei de
nen alle Bits "0" sind und die auf seine A-Eingänge gegeben
werden, und die Daten, die auf die B-Eingänge gegeben werden,
in der Form Komplement-zu-2 und liefert die Resultatdaten
an den S-Ausgängen und dem Übertragausgang C out. Die Resul
tatdaten sind in diesem Fall "010000001", während das Über
tragausgangssignal "0" ist. Damit werden also die Daten "0"
auf den Schalter 175 gekoppelt. Die Daten
"10111", die als die oberen fünf Bits der Resultatdaten er
halten werden, werden auf die Invertergruppe 174 gekop
pelt und dort invertiert. Weiterhin ist zu diesem Zeitpunkt
das Signal Sign "0", das Signal ist "1", das
Signal ist "1", und das Signal ist "1".
Wenn ein erstes Ausführungssignal EXECUTE für das variable
Taktsignal in dem oben erwähnten Zustand nach dem Beginn der
Einschwingperiode für den dritten Kanal erzeugt wird, werden
Daten "000000010111" auf die D-Eingänge des Addiergliedes
163 gekoppelt, während Daten "1" auf den Übertrageingang
C in gegeben werden. Weiterhin werden den C-Eingängen Daten
"0" (alle Bits sind "0") zugeführt. Damit sind die Resultat
daten, die zu diesem Zeitpunkt von den S-Ausgängen des
Addiergliedes 163 erzeugt werden, "000000011000". Die so gelie
ferten Hüllkurvendaten werden durch die Schaltergruppe 165,
die sich im angesteuerten Zu
stand befindet, auf das Schieberegister 170 zurückgekoppelt.
Auch die oberen 8 Bits der Hüllkurvendaten, nämlich "00000001",
werden der Schaltungsanordnung für die Bildung der musikali
schen Klänge zugeführt.
Bei dem oben beschriebenen Verfahren wird die erste Berech
nung der Wellenform in der Einschwingperiode gemäß der Glei
chung
durchgeführt.
Wenn ein Zeitintervall von acht Bits von dem Ende der ersten
Berechnung der Wellenform, wie oben erwähnt wurde, verstri
chen ist, werden die Resultatdaten der ersten Berechnung von
dem Schieberegister 170 den A-Eingängen des Addiergliedes
171 und auch den C-Eingängen des Addiergliedes 163 zuge
führt. Daraufhin sind diese Bauteile bereit, für die Durch
führung der zweiten Berechnung der Wellenform. D. h. also,
daß die zweite Berechnung der Wellenform ausgeführt wird,
sobald ein Ausführungssignal EXECUTE für das variable Takt
signal in diesem Zustand geliefert wird. Die Ausführungs
signale für das variable Taktsignal werden jedoch im allge
meinen nicht mit regelmäßigen 8-Bit-Zeitintervallen gelie
fert, sondern sie werden unregelmäßig oder nicht zyklisch
zu acht mal n (n ist eine beliebige posititve ganze Zahl)
Bitzeit erzeugt. Obwohl die Berechnung der Wellenform beim
Auftreten des Ausführungssignals EXECUTE für den variablen
Takt erfolgt, werden während der Periode von dem Ende der
Berechnung der Wellenform bis zum Beginn der nächsten Be
rechnung die Resultatdaten der vorhergehenden Berechnung
durch die Zirkulationsschaltung im Umlauf gehalten, die
durch das Schieberegister 170, das Addierglied 163 und die
Schaltergruppe 165 gebildet wird. D. h. also,
daß bis zur nächsten Berechnung der Wellenform die gleichen
Daten wiederholt zu den Addiergliedern 171 und 163
geführt werden, und zwar jedes Mal, wenn die Ansteuerung für
den dritten Kanal bei dem 8-Bit-Zeitintervall erfolgt.
Während der Einschwingperiode führt das Addierglied 171
die Addition des oberen 8-Bit-Anteils der Hüllkurvendaten,
die von dem Schieberegister 170 auf die A-Eingänge gegeben
werden, und der Komplement-zu-2-Daten der Daten "383" durch,
die von der Schaltergruppe 162 auf
die B-Eingänge gegeben werden. Für die Resultatdaten, die
während der Einschwingperiode von dem Addierglied 171
erhalten werden, gilt jedoch folgendes: Da α und γ in der
Gleichung (2) so ausgewählt werden, daß sie "256" bzw.
"383" sind, ist das Übertragausgangssignal immer "0";
dies bedeutet wiederum, daß das Signal Sign immer "0" ist.
Außerdem ist während dieser Zeitspanne das Signal
immer "1". D. h. also, daß während dieser Zeitspanne ein Sig
nal "1" immer als Befehl "+1" dem Übertrageingang C in des
Addiergliedes 163 zugeführt wird. Das Addierglied 163 ad
diert also die Hüllkurvendaten, die an den C-Eingängen zu
geführt werden, und die Daten, die an den D-Eingängen zuge
führt werden (wobei die oberen sieben Bits der eingegebenen
Daten alle "0" sind) und inkrementiert das Ergebnis mit "+1".
Fig. 14 zeigt die Resultatdaten der Berechnungen, die ent
sprechend der oben erwähnten Gleichung (3) während der Ein
schwingperiode für jede Berechnung durchgeführt werden, d. h.,
für jeden Schritt. Wie man in der Figur erkennen kann,
nimmt das Hüllkurvenausgangssignal (d. h. das obere 8-Bit-
Ausgangssignal des Addiergliedes 163) fortschreitend von
"0" auf "1", "2", "3", "4", bis zu dem letzten Wert von "255"
zu.
Wenn der obere 8-Bit-Anteil der Hüllkurvendaten (d. h. das
Hüllkurvenausgangssignal) zu "255" wird und dann ein Über
tragsignal (von "1") von dem Übertragausgang C out des
Addiergliedes 163 zur Zeit der nächsten Berechnung geliefert
wird, geht das Ausgangssignal des UND-Gliedes 161 auf den
Wert "1"; dieses Signal wird durch das ODER-Glied 100 und
die UND-Glieder 101 und 102 auf das zweite Bit der ersten
Stufe des Schieberegisters 92 bei der Ansteuerung des drit
ten Kanals gegeben. Gleichzeitig wird das Ausgangssignal
"1" des UND-Gliedes 161 durch den Inverter 135, der das
Ausgangssignal "0" liefert, um das Ausgangssignal des UND-
Gliedes 95 auf "0" zu ändern, auf das erste Bit der oben er
wähnten ersten Stufe gekoppelt. Damit wird der Inhalt für
den dritten Kanal zu "2" geändert, wodurch die Abkling- und
Aufrechterhaltungsperioden angedeutet werden. Anschließend
wird ein Signal "1" nur von dem Ausgang "2" des Dekodierers
94 bei der Ansteuerung des dritten Kanals geliefert, um die
Schaltergruppe 167 anzusteuern. Auch
der Inhalt "2" für den dritten Kanal wird durch das Schiebe
register im Umlauf gehalten. Weiterhin wird beim Auftreten
des Ausgangssignals "1" von dem UND-Glied 161 das Ausgangs
signal des Inverters 166 zeitweilig auf dem Wert "0" ge
halten, wodurch die Schaltergruppe 165 gesperrt
wird, während die Schaltergruppe 164 angesteuert
wird. Als Ergebnis hiervon werden von der Schaltergruppe 164
Daten mit "1" für alle Bits geliefert, die
bei der Ansteuerung für den dritten Kanal dem Schiebere
gister 170 zugeführt werden.
Wenn die Abklingperiode des dritten Kanals auf die oben be
schriebene Weise herbeigeführt wird, werden die Daten für
den Aufrechterhaltungspegel mit einem Inhalt "001111101"
(was in dezimaler Schreibweise "126" entspricht) durch
die Schaltergruppe 167 der Invertergruppe 172
bei jeder Ansteuerung für den dritten Kanal zugeführt. Wäh
rend der Abklingperiode addiert das Addierglied 171 also
die Daten an seinen A-Eingängen die Komplement-zu-2-Daten
der Daten für den Aufrechterhaltungspegel, die den B-Ein
gängen zugeführt werden. Die Daten "126" für den Aufrecht
erhaltungspegel, die bereits oben erörtert wurden, bilden
den letzten Wert für γ=126 für die Berechnung der Wellen
form entsprechend der Gleichung (2) während der Abklingperio
de.
In der Berechnung in dem Addierglied 171 während der Abkling
periode sind die Daten, die an den A-Eingängen zugeführt
werden, immer größer als die Daten für den Aufrechterhal
tungspegel, so daß das Übertragausgangssignal immer "1"
ist, d. h., das Signal Sign ist immer "1". Außerdem ist wäh
rend dieser Periode auch das Signal auch "1".
Wenn also die oberen sechs Bits der Resultatdaten des
Addiergliedes 171 nicht alles "0" sind (d. h., das Signal
ist "1"), während auch das Ausgangssignal des S-Aus
gangs S₈ den Wert "0" hat (d. h., das Signal ist "1"),
liefert das UND-Glied 181 ein Ausgangssignal "1"; dies
bedeutet also, daß ein Signal "1" an dem Übertrageingang C in
des Addiergliedes 163 anliegt. Zu diesem Zeitpunkt addiert
das Addierglied 163 die Daten, die von dem Schieberegister 170
den C-Eingängen zugeführt werden, und die Daten an den D-
Eingängen (wobei die oberen sieben Bits der Daten alles "1"
sind) und inkrementiert "+1" zu dem Ergebnis der Addition.
In diesem Fall wird jedoch eine Ab- bzw. Aufrundung zuge
führt, wenn das Signal "1" auf den Übertrageingang C in ge
koppelt wird, um das Ergebnis der Berechnung um "1" zu er
höhen, (d. h., um es gleich dem richtigen Wert zu machen).
Wenn der obere 6-Bit-Anteil der Resultatdaten des Addierglie
des 171 nicht "0" ist (das Signal ist nicht "1"), und
wenn das Ausgangssignal des S-Ausgangs S₈ gleich "1" ist
(das Signal ist "0"), so ist das Ausgangssignal des
UND-Gliedes 181 gleich "0" und ein Signal "0" wird auf den
Übertragseingang C in gekoppelt. Als Ergebnis hiervon wird
in dem Addierglied 163 eine Auf- bzw. Abrundung durchgeführt,
um das Ergebnis der Berechnung nicht zu ändern (d. h., um es
gleich dem richtigen Wert, inkrementiert um "-1", zu machen).
Wenn die oberen sechs Bits der Resultatdaten des Addierglie
des 171 alle "0" werden, um das Signal zu "0" zu machen,
wird das Ausgangssignal des UND-Gliedes 181 zu "0" geändert;
dieses Signal wird dem Übertrageingang C in des Addiergliedes
163 aufgeprägt. Da zu diesem Zeitpunkt die Daten, die an den
D-Eingängen des Addiergliedes 163 anstehen, alle "1" sind,
sind die Resultatdaten des Addiergliedes 163 gleich den Wer
ten, die durch Inkrementieren der Eingabedaten zu den C-Ein
gängen um "-1" erhalten werden; die Resultatdaten des Addier
gliedes 163 werden anschließend nacheinander verringert, um
sich dem letzten Wert von "126" anzunähern.
Die Gleichung für die Berechnung der Wellenform für die Ab
klingperiode läßt sich ausdrücken durch
Dabei ist SUS=126. Fig. 15 zeigt die Resultate der Be
rechnungen der Gleichung (2) (d. h., das Hüllkurvenausgangssig
nal) für alle zehn Schritte. Es läßt sich erkennen, daß der
Pegel während der Abklingperiode fortschreitend von dem ma
ximalen Pegel von "225" nach unten auf den vorher einge
stellten Aufrechterhaltungspegel von "126" reduziert wird.
Wenn das Hüllkurvenausgangssignal den gleichen Wert von "126"
wie der Aufrechterhaltungspegel einnimmt, werden die Resul
tatdaten des Addiergliedes 163, d. h., das Hüllkurvenausgangs
signal auf "126" fixiert; daraufhin setzt die Aufrechter
haltungsperiode des dritten Kanals ein. Diese Aufrechterhal
tungsperiode wird fortgesetzt, bis die relevante, zugehörige
Taste freigegeben wird.
Wenn die Taste freigegeben wird, wird von der Tastatur 12
ein Impuls "Taste aus" (mit dem Wert "1") abgegeben. Mit die
sem Impuls "Taste aus" (von "1") wird das Ausgangssignal des
UND-Gliedes 107 zu "1" geändert; dieses Signal wird durch das
ODER-Glied 98 auf das erste Bit der ersten Stufe des Schiebe
registers 92 gekoppelt. Gleichzeitig wird das oben erwähnte
Ausgangssignal "1" durch die ODER-Glied 99 und 100 sowie die
UND-Glieder 101 und 102 auf das zweite Bit der ersten Stufe
des oben erwähnten Registers gegeben. Als Ergebnis hiervon
wird der Inhalt des dritten Kanals zu "3" geändert, wodurch
die Freigabeperiode angezeigt wird. Wenn dieser Inhalt "3"
dem Dekodierer 94 zugeführt wird, wird ein Signal "1" bei
der Ansteuerung für den dritten Kanal nur von dem Ausgang "3"
des Dekodierers 94 geliefert. Mit diesem Signal "1" wird die
Schaltergruppe 168 bei der Ansteuerung
für den dritten Kanal angesteuert. Der Inhalt "3" des dritten
Kanals in dem Schieberegister 92 wird anschließend im Um
lauf gehalten.
Wenn die Freigabeperiode des dritten Kanals nach der Frei
gabe der Taste auf die oben beschriebene Weise herbeigeführt
wird, werden von der Schaltergruppe 186
Daten, bei denen alle Bits "0" sind, der Invertergruppe
172 bei jeder Ansteuerung des dritten Kanals zugeführt.
Damit liefert also das Addierglied 171 Daten, die den A-Ein
gängen (d. h., Daten, die kleiner als der Aufrechterhaltungs
pegel von "126" sind) von seinen S-Ausgängen, zugeführt werden, während
ein Übertragsignal (mit dem Wert "1") von dem Übertragaus
gang C out bei jeder Ansteuerung für den dritten Kanal er
zeugt wird. Die Kompensationsschaltung 173 hat während der
Aufrechterhaltungsperiode genau die gleiche Funktionsweise
wie während der oben beschriebenen Abklingperiode. Das Auf-
bzw. Abrunden der Resultatdaten des Addiergliedes 171 (d. h.,
die Hüllkurvendaten) wird in Abhängigkeit davon durchgeführt,
ob ein Signal "1" auf den Übertrageingang C in geführt wird,
bis die oberen sechs Bits der Resultatdaten des Addierglie
des 163 alle "1" werden. Entsprechendes gilt dann, wenn die
oberen sechs Bits der Resultatdaten des Addiergliedes 171
alle "0" werden; dies wird dadurh erreicht, daß die Daten
eingangssignale zu den C-Eingängen um "-1" inkrementiert wer
den. D. h. also, daß während der Freigabeperiode die Berech
nungen der Wellenform entsprechend der Gleichung
durchgeführt werden.
Fig. 16 zeigt die Resultate der Berechnungen entsprechend
der Gleichung (5) (d. h., das Hüllkurvenausgangssignal) für
alle 10 Schritte. Es läßt sich erkennen, daß der Ausgangs
pegel fortschreitend von dem Aufrechterhaltungspegel von
"126" nach unten bis zu dem letzten Pegel von "0" nach
dem Beginn der Freigabeperiode verringert wird.
Wenn die Resultatdaten des Addiergliedes 171 zu "0" werden
(alle Bits werden "0"), wird das Signal alles "0" von
"0" zu "1" geändert und an das UND-Glied 118 angelegt. Als
Ergebnis hiervon wird das Ausgangssignal des UND-Gliedes
118 zu "1" geändert; dieses Signal wird durch den Inverter
134 zu "0" umgekehrt, um gleichzeitig die UND-Glieder 96
und 101 zu sperren. Damit wird also der Inhalt des Registers
für den dritten Kanal in dem Schieberegister zu "0" ge
macht, d. h., der Kanal, der diesem Register zugeordnet wor
den ist, wird als leerer Kanal betrachtet. Als Folge hier
von verschwinden die Musikklänge für die relevante, zuge
hörige Taste vollständig; dazu trägt auch bei, daß das Hüll
kurvenausgangssignal auf "0" reduziert wird.
Auf die oben beschriebene Weise wird die Berechnung der Wel
lenform in bezug auf den dritten Kanal beendet. Die Fig. 17A
und 17B zeigen Diagramme von Hüllkurvenformen, die das
Hüllkurvenausgangssignal (oder den Amplitudenpegel) für die
Einschwingzeit, die Abklingzeit, die Aufrechterhaltungszeit
und die Freigabezeit darstellen, und zwar aufgetragen für
alle zehn Schritte.
Wenn bei der obigen Ausführungsform die Taste während der
Einschwingzeit der Hüllkurve freigegeben wird, wird das Aus
gangssignal des UND-Gliedes 107 auf "1" geändert; daraufhin
wird der Inhalt des dritten Kanals des Hüllkurvenstatuszählers
91 sofort von "1", wodurch die Einschwingperiode angedeutet
wird, zu "3" geändert, um die Freigabeperiode zu starten.
Als Ergebnis hiervon beginnen das Addierglied 171 und die
anderen Schaltungsteile die Berechnung für die Freigabeperiode
in bezug auf den Wert des Hüllkurvenausgangssignals zum
Zeitpunkt "Taste aus". Wenn weiterhin die Taste während der
Abklingperiode freigegeben wird, wird der Inhalt des drit
ten Kanals des Hüllkurvenstatuszählers 91 von "2" zu "3"
geändert; dadurch setzt der Freigabestatus ein, bevor der
Aufrechterhaltungspegel erreicht ist.
Wenn bei dem ADSR-Hüllkurvengenerator nach der vorherigen
Ausführungsform der Aufrechterhaltungspegel während der
Abkling- oder Aufrechterhaltungsperiode geändert wird,
wird der Wert der Daten, die den B-Eingängen des Addier
gliedes 171 zugeführt werden, von diesem Zeitpunkt an ge
ändert, d. h., der vorherige Wert wird zu dem neu einge
stellten Wert allmählich in Form einer Exponentialfunktion
geändert (d. h. also, auf genau die gleiche Weise wie bei
dem herkömmlichen, mit analogen Schaltungen arbeitenden
Hüllkurvengenerator).
Obwohl bei der obigen Ausführungsform die Berechnung in
dem ADSR-Hüllkurvengenerator entsprechend der obigen er
wähnten Gleichung (2) durchgeführt worden ist, können bei
Bedarf selbstverständlich die konstanten α und γ in dieser
Gleichung auf andere Werte geändert werden.
Wenn das Prinzip der vorliegenden Erfindung bei Synthesizern
für Musik eingesetzt wird, ermöglicht es die Steuerung der
Oszillationsfrequenz, der Grenzfrequenz des Filters, der
Hüllkurve des Schallvolumens und weiterer Parameter.
Claims (3)
1. Hüllkurvensteuereinrichtung für ein elektronisches Musik
instrument, enthaltend:
eine digitale Verarbeitungseinrichtung zum Erzeugen von Hüllkurvendaten zumindest für den Einschwing-, Abkling-, Halte- und Freigabe-Abschnitt der Hüllkurve für ene betä tigte Spieltaste entsprechend des Drückens und Freigebens der Spieltaste, und
eine durch die digitale Verarbeitungseinrichtung gesteuerte Statuszähleinrichtung zum Einstellen und Speichern des je weiligen Status des Hüllkurvenabschnittes,
dadurch gekennzeichnet,
daß die digitale Verarbeitungseinrichtung eine Rechenschal tung (120 bis 125) zum Berechnen von Signalformdaten A n auf der Grundlage folgender Gleichung aufweist: wobei n eine natürliche Zahl ist und α eine positive Zahl ist, und
daß der Rechenschaltung (120 bis 125) ein Addier-Subtrahier glied (112) nachgeschaltet ist, dessen erstem Eingang (C) das Ausgangssignal A n der Rechenschaltung und dessen zwei tem Eingang (D) ein Konstantwert für den jeweiligen Hülkur venabschnitt zuführbar ist, und dessen Ausgang mit einer durch die Statuszähleinrichtung (91, 94) steuerbaren Inver tereinrichtung (111) verbunden ist,
eine digitale Verarbeitungseinrichtung zum Erzeugen von Hüllkurvendaten zumindest für den Einschwing-, Abkling-, Halte- und Freigabe-Abschnitt der Hüllkurve für ene betä tigte Spieltaste entsprechend des Drückens und Freigebens der Spieltaste, und
eine durch die digitale Verarbeitungseinrichtung gesteuerte Statuszähleinrichtung zum Einstellen und Speichern des je weiligen Status des Hüllkurvenabschnittes,
dadurch gekennzeichnet,
daß die digitale Verarbeitungseinrichtung eine Rechenschal tung (120 bis 125) zum Berechnen von Signalformdaten A n auf der Grundlage folgender Gleichung aufweist: wobei n eine natürliche Zahl ist und α eine positive Zahl ist, und
daß der Rechenschaltung (120 bis 125) ein Addier-Subtrahier glied (112) nachgeschaltet ist, dessen erstem Eingang (C) das Ausgangssignal A n der Rechenschaltung und dessen zwei tem Eingang (D) ein Konstantwert für den jeweiligen Hülkur venabschnitt zuführbar ist, und dessen Ausgang mit einer durch die Statuszähleinrichtung (91, 94) steuerbaren Inver tereinrichtung (111) verbunden ist,
- - wobei mit Drücken der Spieltaste der Rechenschaltung ein Anfangswert für den Einschwing-Abschnitt der Hüllkurve zu geführt wird und wobei während des Einschwing-Abschnittes der Hüllkurve dem Addier-Subtrahierglied ein erster Kon stantwert (127) zugeführt wird und wobei die Statuszähl einrichtung (91, 94) das Addier-Subtrahierglied (112) nur während des Einschwing-Abschnittes in den Subtraktionsmo dus schaltet und die Invertereinrichtung (111) aktiviert,
- - wobei während des Abkling- und Halte-Abschnittes dem Addier-Subtrahierglied (112) ein zweiter, für den Halte-Abschnitt charakteristischer Konstantwert der Re chenschaltung und mit Beginn des Abkling-Abschnittes der Rechenschaltung ein dem invertierten zweiten Konstantwert entsprechender, neuer Anfangswert zugeführt werden, und
- - wobei mit Loslassen der Spieltaste zum Einleiten des Freigabe-Abschnittes das Ausgangssignal des Addier- Subtrahiergliedes (112) als weiterer Anfangswert der Rechenschaltung zugeführt wird und wobei während des Freigabe-Abschnittes ein Nullsignal dem zweiten Eingang (D) des Addier-Subtrahiergliedes (112) zugeführt wird.
2. Hüllkurvensteuereinrichtung für ein elektronisches Musik
instrument, enthaltend:
eine digitale Verarbeitungseinrichtung zum Erzeugen von Hüllkurvendaten zumindest für den Einschwing-, Abkling-, Halte- und Freigabe-Abschnitt der Hüllkurve für eine betä tigte Spieltaste entsprechend des Drückens und Freigebens der Spieltaste, und
eine durch die digitale Verarbeitungseinrichtung gesteuerte Statuszähleinrichtung zum Einstellen und Speichern des je weiligen Status des Hüllkurvenabschnittes,
dadurch gekennzeichnet,
daß die digitale Verbeitungseinrichtung eine Rechenschal tung (163, 170 bis 173) zum Berechnen von Signalformdaten A n auf der Grundlage folgender Gleichung aufweist: wobei n eine natürliche Zahl, α eine positive Zahl und γ ein zuzuführender Anfangswert sind,
daß eine Zuführeinrichtung (162, 167, 168) zum Zuführen von Daten γ vorgesehen ist, die auf einen Wert (383), der größer als der (256) von α während des Einschwing-Abschnit tes ist, auf einen Wert (SUS, 126), der dem Aufrechterhal tungspegel der Hüllkurve während des Abkling- und Halte- Abschnittes entspricht, und auf Null während des Freigabe- Abschnittes einstellbar sind,
daß die Rechenschaltung (163, 170 bis 173) aufweist:
eine Speichereinrichtung (170) zum Speichern der Signalform daten A (n-1),
eine erste Subtrahiereinrichtung (171) zum Subtrahieren der Daten γ von den Signalformdaten A (n-1), um die Daten A (n-1)-γ zu erhalten,
eine Teilereinrichtung (173) zum Teilen der Ausgangsdaten der ersten Subtrahiereinrichtung (171) durch α, um die Daten zu erhalten, und
eine zweite Subtrahiereinrichtung (163) zum Subtrahieren der Ausgangsdaten der Teilereinrichtung (173) von den Signal formdaten A (n-1), um die Daten zu erhalten,
und daß die Rechenschaltung (163, 170 bis 173) die folgenden Gleichungen berechnet:
eine digitale Verarbeitungseinrichtung zum Erzeugen von Hüllkurvendaten zumindest für den Einschwing-, Abkling-, Halte- und Freigabe-Abschnitt der Hüllkurve für eine betä tigte Spieltaste entsprechend des Drückens und Freigebens der Spieltaste, und
eine durch die digitale Verarbeitungseinrichtung gesteuerte Statuszähleinrichtung zum Einstellen und Speichern des je weiligen Status des Hüllkurvenabschnittes,
dadurch gekennzeichnet,
daß die digitale Verbeitungseinrichtung eine Rechenschal tung (163, 170 bis 173) zum Berechnen von Signalformdaten A n auf der Grundlage folgender Gleichung aufweist: wobei n eine natürliche Zahl, α eine positive Zahl und γ ein zuzuführender Anfangswert sind,
daß eine Zuführeinrichtung (162, 167, 168) zum Zuführen von Daten γ vorgesehen ist, die auf einen Wert (383), der größer als der (256) von α während des Einschwing-Abschnit tes ist, auf einen Wert (SUS, 126), der dem Aufrechterhal tungspegel der Hüllkurve während des Abkling- und Halte- Abschnittes entspricht, und auf Null während des Freigabe- Abschnittes einstellbar sind,
daß die Rechenschaltung (163, 170 bis 173) aufweist:
eine Speichereinrichtung (170) zum Speichern der Signalform daten A (n-1),
eine erste Subtrahiereinrichtung (171) zum Subtrahieren der Daten γ von den Signalformdaten A (n-1), um die Daten A (n-1)-γ zu erhalten,
eine Teilereinrichtung (173) zum Teilen der Ausgangsdaten der ersten Subtrahiereinrichtung (171) durch α, um die Daten zu erhalten, und
eine zweite Subtrahiereinrichtung (163) zum Subtrahieren der Ausgangsdaten der Teilereinrichtung (173) von den Signal formdaten A (n-1), um die Daten zu erhalten,
und daß die Rechenschaltung (163, 170 bis 173) die folgenden Gleichungen berechnet:
3. Hüllkurvensteuereinrichtung nach Anspruch 2,
dadurch gekennzeichnet,
daß die digitale Verarbeitungseinrichtung einen Taktgenera tor (150 bis 157) zum Erzeugen eines Taktsignals veränderli cher Periodendauer aufweist, und
daß die Rechenschaltung (163, 170 bis 173) in Abhängigkeit von dem Taktsignal veränderlicher Periodendauer betrieben wird, wodurch die Einschwing-, Abkling- und Freigabe-Vor gänge mit unterschiedlicher Geschwindigkeit ausführbar sind.
daß die digitale Verarbeitungseinrichtung einen Taktgenera tor (150 bis 157) zum Erzeugen eines Taktsignals veränderli cher Periodendauer aufweist, und
daß die Rechenschaltung (163, 170 bis 173) in Abhängigkeit von dem Taktsignal veränderlicher Periodendauer betrieben wird, wodurch die Einschwing-, Abkling- und Freigabe-Vor gänge mit unterschiedlicher Geschwindigkeit ausführbar sind.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10595280A JPS5730889A (en) | 1980-08-01 | 1980-08-01 | Envelope control system for electronic musical instrument |
JP10867680A JPS5732494A (en) | 1980-08-06 | 1980-08-06 | Envelope control system for electronic musical instrument |
JP10867780A JPS5732495A (en) | 1980-08-06 | 1980-08-06 | Envelope control system for electronic musical instrument |
JP56074244A JPS57189199A (en) | 1981-05-19 | 1981-05-19 | Envelope control system for electronic musical instrument |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3130380A1 DE3130380A1 (de) | 1982-04-01 |
DE3130380C2 true DE3130380C2 (de) | 1990-06-28 |
Family
ID=27465676
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19813130380 Granted DE3130380A1 (de) | 1980-08-01 | 1981-07-31 | Huellkurvensteuerung fuer ein elektronisches musikinstrument |
Country Status (3)
Country | Link |
---|---|
US (1) | US4426904A (de) |
DE (1) | DE3130380A1 (de) |
GB (1) | GB2081955B (de) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4535669A (en) * | 1982-07-13 | 1985-08-20 | Casio Computer Co., Ltd. | Touch response apparatus for electronic musical apparatus |
JP2576619B2 (ja) * | 1989-01-13 | 1997-01-29 | ヤマハ株式会社 | 楽音発生装置 |
US5256831A (en) * | 1990-07-10 | 1993-10-26 | Yamaha Corporation | Envelope waveform generation apparatus |
GB2251715B (en) * | 1990-10-31 | 1995-06-07 | Seikosha Kk | Method and apparatus for synthesizing an acoustic signal |
JPH06301378A (ja) * | 1993-04-16 | 1994-10-28 | Seikosha Co Ltd | エンベロープ波形生成回路 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS52102710A (en) * | 1976-02-25 | 1977-08-29 | Nippon Gakki Seizo Kk | Functional wave generator for electronic instrument |
JPS589958B2 (ja) * | 1976-09-29 | 1983-02-23 | ヤマハ株式会社 | 電子楽器のエンベロ−プ発生器 |
GB2017376B (en) * | 1978-03-18 | 1983-03-16 | Casio Computer Co Ltd | Electronic musical instrument |
-
1981
- 1981-07-23 GB GB8122760A patent/GB2081955B/en not_active Expired
- 1981-07-31 DE DE19813130380 patent/DE3130380A1/de active Granted
-
1983
- 1983-01-05 US US06/455,871 patent/US4426904A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
GB2081955B (en) | 1984-02-01 |
DE3130380A1 (de) | 1982-04-01 |
US4426904A (en) | 1984-01-24 |
GB2081955A (en) | 1982-02-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2945901C2 (de) | Elektronisches Musikinstrument | |
DE2255198C2 (de) | Impulsfrequenzteilerkreis | |
DE2362050C3 (de) | Elektronisches Musikinstrument | |
DE3177313T2 (de) | Elektronisches Musikinstrument | |
DE2149104A1 (de) | Verfahren und einrichtung zum adressieren einer speicherstelle mit wahlweise bestimmbaren geschwindigkeiten | |
DE2920298A1 (de) | Binaere interpolatorschaltung fuer ein elektronisches musikinstrument | |
DE2743264A1 (de) | Huellkurvengenerator | |
DE2946846A1 (de) | Rundungs-korrekturlogik fuer multiplizierer fuer modifizierten booth-algorithmus | |
DE2706045B2 (de) | Elektronisches Tastenmusikinstrument mit Sinustabellenspeicher | |
DE2638820A1 (de) | Elektronisches musikinstrument | |
DE2828919C2 (de) | Schaltungsanordnung für ein polyphones elektronisches Musikinstrument | |
DE2730662A1 (de) | Verfahren und schaltung zum erzeugen eines autokorrelations-funktions-faktors | |
DE2524062A1 (de) | Elektronisches musikinstrument mit vibratoerzeugung | |
DE2745196A1 (de) | Huellkurvengenerator fuer ein elektronisches musikinstrument | |
DE2834142A1 (de) | Elektronisches musikinstrument | |
DE3789819T2 (de) | Verarbeitungsschaltung für serielle Digitalsignale. | |
DE3130380C2 (de) | ||
DE3153243C2 (de) | ||
DE2733257C3 (de) | Elektrische Vorrichtung zum Zusammensetzen eines digitalen Tonsignals | |
DE2641452A1 (de) | Elektronisches musikinstrument | |
DE3509474C2 (de) | ||
DE3237404A1 (de) | Elektronisches musikinstrument | |
DE3100934A1 (de) | Verfahren zur erzeugung einer seriellen tastenimpulsinformation mit einer ersten abtastwiederholfrequenz in abhaengigkeit von einer asynchron mit einer zweiten abtastwiederholfrequenz erzeugten seriellen multiplex-tasten-impulsformation sowie schnittstelleneinrichtung zur durchfuehrung des verfahrens | |
DE3046772C2 (de) | Taktgenerator | |
DE2825416A1 (de) | Elektronisches musikinstrument |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |