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
Application number
DE3130380A
Other languages
English (en)
Other versions
DE3130380A1 (de
Inventor
Masanori Ome Tokio/Tokyo Jp Ishibashi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP10595280A external-priority patent/JPS5730889A/ja
Priority claimed from JP10867680A external-priority patent/JPS5732494A/ja
Priority claimed from JP10867780A external-priority patent/JPS5732495A/ja
Priority claimed from JP56074244A external-priority patent/JPS57189199A/ja
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Publication of DE3130380A1 publication Critical patent/DE3130380A1/de
Application granted granted Critical
Publication of DE3130380C2 publication Critical patent/DE3130380C2/de
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H7/00Instruments in which the tones are synthesised from a data store, e.g. computer organs
    • G10H7/002Instruments in which the tones are synthesised from a data store, e.g. computer organs using a common processing for different operations or calculations, and a set of microinstructions (programme) to control the sequence thereof
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/02Means for controlling the tone frequencies, e.g. attack or decay; Means for producing special musical effects, e.g. vibratos or glissandos
    • G10H1/04Means 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/053Means 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/057Means 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/0575Means 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,
  • - 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:
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.
DE19813130380 1980-08-01 1981-07-31 Huellkurvensteuerung fuer ein elektronisches musikinstrument Granted DE3130380A1 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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