DE2913665A1 - Elektronisches musikinstrument - Google Patents

Elektronisches musikinstrument

Info

Publication number
DE2913665A1
DE2913665A1 DE19792913665 DE2913665A DE2913665A1 DE 2913665 A1 DE2913665 A1 DE 2913665A1 DE 19792913665 DE19792913665 DE 19792913665 DE 2913665 A DE2913665 A DE 2913665A DE 2913665 A1 DE2913665 A1 DE 2913665A1
Authority
DE
Germany
Prior art keywords
tone
partial
key
signal
data
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.)
Ceased
Application number
DE19792913665
Other languages
English (en)
Inventor
Tsuyoshi Futamase
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.)
Nippon Gakki Co Ltd
Original Assignee
Nippon Gakki 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
Application filed by Nippon Gakki Co Ltd filed Critical Nippon Gakki Co Ltd
Publication of DE2913665A1 publication Critical patent/DE2913665A1/de
Priority to SU802905650A priority Critical patent/SU938752A3/ru
Ceased 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

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Electrophonic Musical Instruments (AREA)

Description

NIPPON GAKKI SEIZO KABUSHIKI KAISHA;
10-1, Nakazawa-cho, Hamamatsu-shi, Shizuoka-ken (Japan)
Elektronisches Musikinstrument
Die Erfindung betrifft ein elektronisches Musikinstrument, bei dem ein Ton unter Erzeugung von Partialtönen, die anschließend zusammengesetzt werden, synthetisiert wird.
Bei einem bekannten elektronischen Musikinstrument (US-PS 3 809 786) ist ein System zur Synthetisierung der Partialtöne mit digitaler Datenverarbeitung vorgesehen. Bei dem Instrument werden Amplituden von W Harmonischen-Anteilen eines Tones einzeln in einer kontinuierlichen Zeitperiode
tx
t = γγ~ berechnet, wobei tx ein Zeitintervall zur Berechnung eines Amplitudenwertes an einem Abtastpunkt der Musiktonwellenform ist. Die Zeitperiode t zur Berechnung eines jeden Harmonischen-Anteils bestimmt sich durch Teilung des Zeitintervalls tx durch die Zahl W der Harmonischen-Anteile. Jeder Harmonischen-Anteil wird in einer speziellen Zeitperiode T berechnet, die fest diesem Harmonischen-Anteil zugeordnet ist. Dies bedeutet, daß eine erste Harmonische (Grundwelle) in der ersten Zeitperiode (t -), ein zweiter Harmonischen-Anteil in der zweiten Zeitperiode (t -), ein sechzehnter Harmonischen-Anteil in der
sechzehnten Zeitperiode (t -A erzeugt wird.
Aus der obigen Beschreibung geht bereits hervor, daß ein Zeitfenster oder ein Kanal zur Erzeugung eines Partial-
S09S43/0711
tones bei dem bekannten Instrument immer fest ist. Die sechzehnte Zeitperiode (Zeitfenster) kann beispielsweise nicht zur Berechnung der zweiten Harmonischen verwendet werden. Nebenbei bemerkt muß, wenn eine Harmonische von höherer Ordnung als die sechzehnte vorhanden ist, ein Zeitfenster (oder ein Kanal) speziell vorgesehen werden, der dieser Harmonischen exklusiv zugeordnet ist.
In einigen Fällen kann eine Tonfarbe mit einer relativ kleinen Zahl von Partialtönen gebildet werden und in anderen Fällen wird eine große Anzahl von Partialtönen benötigt. Man muß daher soviele Partialtöne vorsehen wie maximal benötigt werden können.
Diese Anforderungen zu erfüllen, sind die bekannten elektronischen Musikinstrumente mit einem Partialton-Synthetisierungssystem so konstruiert, daß sie soviele Zeitfenster oder Kanäle (d.h. Zeitperioden zur Berechnung der Partialtöne) wie möglich zur Partialtonerzeugung haben. Da jedoch jedes der Zeitfenster für die'Partialtonerzeugung einem der Partialtöne fest zugeordnet ist, gibt es Zeitfenster, die, wenn ein Ton mit nur einer geringen Anzahl von Partialtönen synthetisiert wird, oder wenn durch Harmonischen-Begrenzung eine obere Grenze für die Frequenzanteile (Harmonischen-Frequenzen) eines erzeugten Tones gesetzt wird, überhaupt nicht benutzt werden. Wenn beispielsweise ein 8-Fuß-Tibia-Ton mit dem Musikinstrument erzeugt werden soll, werden nur die Zeitperiode T .. zur Berechnung der ersten Harmonischen und die Zeitperiode T 3 für die dritte Harmonische benutzt und die übrigen Zeitperioden für die zweite Harmonische und die vierte bis sechzehnte Harmonische werden vergeu-
909843/0711
det. Wenn die Frequenz eines Harmonischen-Anteils eines Musiktons größer ist als die Abtastfrequenz, mit der die Wellenform des Musiktones abgetastet wird, wird bei dem bekannten Instrument die Harmonische einer "Harmonischen-Begrenzung" unterworfen, wie sie in US-PS 3 882 751 beschrieben ist. Dies führt zu einem Nichtgebrauch von Zeitfenstern, die denen der Harmonischen-Begrenzung unterworfenen Partialtönen zugeordnet worden sind.
Das bekannte elektronische Musikinstrument mit Partialtonsynthetisierung ist ferner dahingehend nachteilig, daß die Erzeugung mehrerer Töne im time sharing-Betrieb eine Unterteilung jedes Zeitfensters (d.h. jedes Zeitteilungskanals), das einem zu erzeugenden Ton zugeordnet worden ist, in Unter-Zeitfenster für die Erzeugung der Partialtöne erfordert, die den Ton bilden. Dies führt dazu, daß die Anzahl der maximal gleichzeitig zu spielenden Tone nicht genügend groß gemacht werden kann, weil sie durch die obere Frequenzgrenze des Systemimpulstaktes begrenzt ist. Wenn die Anzahl der maximal gleichzeitig zu spielenden Töne mit M, die Anzahl der zur Synthetisierung eines Tones zur Verfügung stehenden Partialtöne mit N, die Periodendauer der Zeitfenster zur Erzeugung der Partialtöne (d.h. die Periode des Systemtaktes) mit T und die Abtastperiode mit St bezeichnet wird, dann ergibt sich die Ab-
tastperiode St zu '
St=M-N-tc.
Die Abtastperiode St darf aufgrund des Hörempfindens eine bestimmte Grenze nicht überschreiten. Die Anzahl N der Partialtöne kann nicht unter eine bestimmte Grenze redu-
909843/0711
ziert werden, wenn der synthetisierte Ton eine zufriedenstellende Tonfarbe haben soll. Eine bestimmte Grenze gibt es ferner für die Abkürzung der Periodendauer t des Systemtaktes, und zwar aus technischen Gründen. Die Werte St und t sind daher an gewissen Grenzen als fest anzunehmen und wenn eine hinreichend große Zahl von N sichergestellt werden soll, muß die Maximalzahl der Töne M verringert werden. Bei dem bekannten elektronischen Musikinstrument ist die Anzahl der Zeitfenster für die Partialtonerzeugung auf N festgelegt und dementsprechend ist auch die Anzahl der gleichzeitig maximal zu erzeugenden Töne auf M festgelegt, welches als unzureichend kleine Zahl festgelegt wurde,als das elektronische Musikinstrument konzipiert wurde. Auf diese Weise wird eine große Zahl von Zeitfenstern, die für die Erzeugung von Partialtönen bestimmt sind, unbenutzt gelassen und diese unbenutzten Zeitfenster werden in keiner Weise zur Erhöhung 'der maximalen Anzahl von gleichzeitig zu erzeugenden Tönen benutzt.
Aufgabe der Erfindung ist es, die Vergeudung zu vermeiden, die durch die Einrichtung der Zeitfenster für die Erzeugung von Partialtönen bei den bekannten elektronischen Musikinstrumenten entsteht. Unter einem "Partialton" ist in diesem Zusammenhang nicht nur ein Harmonischen-oberton zu verstehen, sondern auch ein Frequenzanteil, der ein nicht-ganzzahliges Vielfaches der Grundwelle darstellt.
Zur Lösung dieser Aufgabe ist erfindungsgemäß vorgesehen, daß eine Tongeneratoreinheit vorgesehen ist, die die gewünschten Tonsignale einzeln in einer bestimmten Anzahl
809843/87It
von Zeitfenstern erzeugt, daß die Tongeneratoreinheit von einer Partialton-Zuordnungseinheit gesteuert ist, die auf das Drücken einer Taste hin jeden der den zu erzeugenden Ton bildenden Partialtöne einzeln einem der Zeitfenster zuordnet, und daß die Tongeneratorernhext die den Zeitfenstern zugeordneten Partialtöne erzeugt.
Das Musikinstrument ist so konstruiert, daß die Erzeugung eines jeden Partialtones einem leeren Zeitfenster zugeordnet wird, das aus einer Anzahl von Zeitfenstern verfügbar ist. Es sind also keine Zeitfenster vorgesehen, die den jeweiligen Harmonischen-Ordnungen fest entsprechen. Die Erzeugung der Partialtöne eines Musiktons wird sequentiell verschiedenen Zeitfenstern (d.h. Kanälen) zugeordnet, wenn die Taste des Musiktons gedrückt wird.
Die Erzeugung eines Musiktones ist daher nicht einem bestimmten festen Kanal zugeordnet, sondern ein Musikton einer gedrückten Taste wird erzeugt, indem Partialtöne synthetisiert werden, deren Erzeugung einzeln geeigneten Zeitfenstern (Kanälen) zugeordnet wird, die dann verfügbar sind.
Jedes von einer bestimmten Anzahl von Zeitfenstern für die Partialtonerzeugung ist imstande, die Zuordnung irgendeines Partialtones zu übernehmen, so daß alle Zeitfenster ohne Leerlauf bzw. Vergeudung benutzt werden können. Wenn beispielsweise die Anzahl der eine bestimmte Tonfarbe bildenden Partialtöne klein ist, ist auch die Anzahl der für die Erzeugung des Tones benötigten Zeitfenster klein, so daß die Maximalzahl von Tönen, die gleichzeitig erzeugt werden können, relativ groß ist.
909843/0711
Da für diejenigen Partialtöne, die einer "Harmonischen-Begrenzung" unterzogen werden, keine Zuordnung erforderlich ist, können Zeitfenster in dem betreffenden Umfang für die Erzeugung anderer Partialtöne benutzt werden.
Bei dem Musikinstrument erfolgt der Abbruch eines alten Tones (d.h. eines Tones, der erzeugt wird und verlöschen soll) in bezug auf jeden der den alten Ton bildenden Partialtöne und ein neuer Partialton wird einem Zeitfenster zugeordnet, in dem derjenige Partialton des alten Tones, der die kleinste Amplitude von allen Partialtönen dieses Tones hatte, erzeugt wurde.
Bei Zuordnung des neuen Partialtönes wird derjenige alte Partialton, der die kleinste Amplitude hat, abgebrochen.
Ein Partialton, der schnell abklingt, wird daher auch schnell abgebrochen, wogegen ein Partialton, der lang angehalten werden soll, ohne abgebrochen zu werden, hinreichend lange angehalten wird. Dies ermöglicht ebenfalls eine effiziente Ausnutzung der Zeitfenster bei der Partialtonbeendigung des Musiktons.
909843/0711
Im folgenden wird unter Bezugnahme auf die Figuren ein Ausführungsbeispiel der Erfindung näher erläutert.
Es zeigen:
Figur 1 ein Blockschaltbild des gesamten elektronischen Musikinstrumentes,
Figur 2 ein Flußdiagramm zur kurzen Erläuterung eines Systems für die PartialtonZuordnung bei dem Beispiel nach Figur 1,
Figur 3 ein Blockschaltbild eines detaillierten Beispiels der in Figur 1 enthaltenen Tastenlogikeinheit,
Figuren 4 bis 9(a) Beispiele von Schaltungen, die in der Einheit (ALU) für arithmetische und logische Operationen in Figur 1 enthalten sind,
Figur 4 ein Blockschaltbild einer Schaltung zur Durchführung der die "pre-new-claim-Daten" PNCL betreffenden Prozesse,
Figur 5 ein Blockschaltbild einer Schaltung zu Erzeugung eines Berührungsfaktors und eines Notenskalenfaktors für jeden Partialton,
Figur 6 ein Blockschaltbild einer Schaltung zur Lieferung des Grundtones einer durch ein Tastenwort KC vorgegebenen Taste in logarithmischer Form,
Figur 7 ein Blockschaltbild einer Schaltung zur Umwandlung des Partialtongrades in einen logarithmischen Ausdruck,
909843/0711
Figur 8 ein Blockschaltbild einer Schaltung zur Entscheidung eines zur Erzeugung eines new-claim-load-Signals verwendbaren Zeitfensters,
Figur 9(a) ein Blockschaltbild einer Schaltung zur Erzeugung eines Impulstaktes 0Q,der Zeitfenster für die Partialtonerzeugung bildet, sowie die zugehörige Schaltung,
Figur 9(b) ein Zeitdiagramm zur Verdeutlichung der Beziehungen zwischen dem Impulstakt 0„, den Zeitfenstern und eines Signales BTMAX,
Figur 10 eine detaillierte Schaltung der in Figur 8 dargestellten Anforderungslogik (claim logic),
Figur 11 ein Flußdiagramm zur Erläuterung der Arbeitsweise der Anforderungslogik nach Figur 10,
Figur 12 ein Blockschaltbild von Beispielen für die Tonparameterlogik und die Tonselektorlogik nach'Figur 1,
Figur 13 (a) ein Diagramm zur Erläuterung der Anordnung der Adressen in dem Tonparameterspeicher der Figur 12,
Figur 13(b) ein Diagramm zur Erläuterung des Speicherbereichs für die Steuerparameter nach Figur 13(a),
Figur 13 (c) ein Diagramm zur Erläuterung des Speicherbereichs für die Partialtondaten nach Figur 13(a),
Figuren 14(a) bis 14 (c) grafische Darstellungen von Hüllkurvenarten, wobei im einzelnen Figuren 14 (a), 14(b) und
909843/0711
14(c) die Hüllkurvenformen im Normalmodus, im Schlagmodus und im Stakkatomodus darstellen,
Figur 15 ein Blockschaltbild einer Tongenerator-Anschlußeinheit nach Figur 1,
Figur 16 ein Blockschaltbild einer Tongeneratoreinheit nach Figur 1, die an die Schaltung nach Figur 15 angeschlossen ist,
Figur 17 eine in der Schaltung nach Figur 15 enthaltene Steuerschaltung für die Hüllkurvenart,
Figur 18 ein Diagramm zur Erläuterung des Überganges der Steuerdaten EM2, EM. und EMQ für die Hüllkurvenart,
Figur 19 ein Blockschaltbild eines in Figur 16 enthaltenen Frequenzdatengenerators,
Figur 20 ein Blockschaltbild eines Details des in Figur 16 enthaltenen Hüllkurvenrechners,
Figur 21 eine detaillierte Schaltung eines in Figur 20 enthaltenen Datenselektors,
Figur 22 ein Diagramm zur Erläuterung einer Hüllkurvenberechnung für den Normalmodus oder den .Schlagmodus,
Figur 23 eine grafische Darstellung einer in einem in Figur 16 enthaltenen Anhall-Wellenformspeicher gespeicherten Wellenform,
909843/5711
Figur 24 ein Flußdiagramm eines vor-neu-Beanspruchungs-Programms (pre-new-claim routine) nach Figur 2,
Figur 25 ein Flußdiagramm des "Zuordnungs-Hauptprogrammes",
Figuren 26 bis 2 9 Teile eines Programmes in einem neu-Beanspruchsungs-Ablauf (new claim routine) und
Figur 30 ein Flußdiagramm eines neu-Loslaß-Ablaufs (newrelease-routine).
Allgemeine Beschreibung
Das in Figur 1 dargestellte elektronische Musikinstrument enthält eine Tastatureinheit 10, eine Tastenlogikeinheit 11, eine Partialtonzuordnungseinheit 12, eine Tongenerator-Anschlußeinheit 13 und eine Tongeneratoreinheit Die Tastenlogikeinheit 11 erkennt das Drücken und Loslassen einer Taste an der Tastatureinheit 10 und erzeugt auf das Drücken oder Loslassen der Taste hin Anforderungsdaten REQ. Ein Tastenwort KC, das die gedrückte oder losgelassene Taste angibt, sowie ein Berührungswert TC, der den Grad der Berührung an der Taste angibt, wenn die Taste gedrückt ist, werden von der Tastenlogikeinheit 11 zusammen mit den Anforderungsdaten REQ erzeugt. Diese verschiedenen Daten werden sämtlich der Partialtonzuordnungsschaltung 12 zugeführt. Die Anforderungsdaten REQ sind Daten, die die Partialtonzuordnungsschaltung 12 auffordern, irgendeinen programmierten Vorgang auszuführen.
Die Partialtonzuordnungsschaltung 12 ordnet die Erzeu-
909843/Θ7Μ
gung der den Musikton für die gedrückte Taste bildenden Partialtöne einigen Partialtonerzeugungs-Zeitfenstern aus einer bestimmten Anzahl von Zeitfenstern zu, und zwar in Abhängigkeit von den Anforderungsdaten REQ, dem Tastenwort KC usw.,die von der Tastenlogikeinheit 11 abgegeben worden sind. Die Tongenerator-Anschlußeinheit 13 liefert repetierend Daten eines jeden Partialtones an die Tongeneratoreinheit 14, und zwar synchron mit dem Zeitfenster, dem der Partialton zugeordnet worden ist. Die Tongenera-.
toreinheit 14 erzeugt ihrerseits ein Wellenformsignal von jedem Partialton auf Zeitteilungsbasis entsprechend den Daten des betreffenden Partialtones, der in dem Zeitfenster, dem der Partialton zugeordnet worden ist, ansteht. Wenn das in der Tongeneratoreinheit 14 erzeugte Wellenformsignal ein digitales Signal ist, wird das digitale Ausgangssignal des Tongenerators 14 von einem Digital-Analog-Umsetzer 15 in ein Analogsignal umgewandelt.
Bei dem vorliegenden Ausführungsbeispiel bestehen die Partialtonzuordnungsschaltung 12 und die Tongeneratoreinheit 14 jeweils aus digital arbeitenden Schaltungen. Die Partialtonzuordnungsschaltung 12 führt die Zuordnung der Partialtonerzeugung in einer Art von Mikroprogrammierung durch. Eine Programmerzeugungseinheit 17 enthält einen Programm-Festwertspeicher (der Festwertspeicher wird im folgenden als ROM bezeichnet) 18, einen Programmzähler 19 und eine Programmsteuerlogik 20. Der Programm-ROM 18 enthält ein vorgespeichertes Programm für die Zuordnung der Partialtöne. Die Programmsteuerlogik 20 steuert den Zählvorgang des Programmzählers 19 in Abhängigkeit von einem Signal, das an einer Steuer-Sammelleitung 21 erscheint und von dem aus dem Programm-ROM 18
909843/0711
ausgelesenen Inhalt. Der Programm-ROM 18 wird entsprechend dem Zählausgang des Programmzählers 19 gelesen.
Die aus dem Programm-ROM 18 ausgelesenen Daten werden über die Steuer-Busleitung 21 einer zentralen Verarbeitungseinheit (im folgenden als CPU bezeichnet) 22 zugeführt. Die CPU 22 dekodiert die aus dem Programm-ROM 18 ausgelesenen Programmdaten und erzeugt daraufhin einen Befehlt zur Ausführung des Programms an der Steuer-Busleitung 21. Die Steuer-Busleitung 21 wird zur Ausführung der programmierten Operation benutzt. Die CPU 22 empfängt die von anderen Schaltungen der Partialtonzuordnungseinheit 12 über die Steuer-Busleitung 21 rückgekoppelten Steuersignale und erzeugt als Antwort auf diese Steuersignale ein Signal zur Steuerung der Programmerzeugungseinheit 17 oder einer anderen Schaltung an der Steuer-Busleitung 21.
Die von der Tastenlogikeinheit 11 erzeugten Anforderungsdaten REQ werden über die Steuer-Busleitung 21 der Partialtonzuordnungsschaltung 12 zugeführt. Entsprechend dem Programm in der Partialtonzuordnungsschaltung 12 wird ebenfalls ein Tastenabtastvorgang in der Tastenlogikeinheit 11 ausgeführt. Wenn die Tastenabtastung beginnt, wird der Tastenlogikeinheit 11 über die Steuer-Busleitung 21 ein Rücksetzsignal RST zugeführt.
Die von der CPU 22 an die Steuer-Busleitung 21 abgegebenen Instruktionen für die programmierte Operation werden einer arithmetischen und logischen Operationseinheit (ALU) 23 zugeführt, die eine periphere Logikeinheit darstellt und im folgenden als periphere Logik ALU 23 bezeichnet wird. Ferner werden die von der CPU 22 an die Steuer-
909843/0711
Busleitung 21 abgegebenen Signale einer weiteren arithmetischen und logischen Operationseinheit (ALU) 24, einer Tonparameterlogik 25 und einer Ausgangshalteeinheit 26 zugeführt. Diese Schaltungen 23 bis 26 führen die befohlenen Operationen unter Verwendung der an der Daten-Busleitung 2 7 verfügbaren Daten aus. Die periphere ALU-Logik 23 enthält mehrere für die Durchführung der Partialton-Zuordnung erforderliche Logikschaltungen. Die ALU 24 enthält eine Rechenschaltung und ein Register für die vorübergehende Speicherung. Die ALU 24 speichert vorübergehend Daten, die an der Daten-Busleitung 27 auftreten, führt die befohlene Rechnung unter Verwendung der zeitwelige gespeicherten Daten aus und gibt das Rechenergebnis an eine Rechendaten-Busleitung 28 ab. Das von der Tastenlogikeinheit 11 ausgegebene Tastenwort KC und die Berührungsdaten TC werden der Partialton-Zuordnungseinheit 12 über die Daten-Busleitung 27 zugeführt und in der Einheit 12 benutzt.
Die Tonparameterlogik 25 ist eine Schaltung,'die zur Erzeugung verschiedener zur Erzielung einer gewünschten Tonfarbe benötigten Parameter vorgesehen ist. Die Tonfarbe wird an einem Tonfarbenselektor 2 9 eingestellt.
Der Informationsaustausch und die Rechnung werden zwischen der peripheren ALU-Logik 23, ALU 24 und der Tonparameterlogik 25 ausgeführt und man erhält auf diese Weise die Daten eines Partialtones, der neu zugeordnet werden soll. Dieser Wert wird von der Ausgangshalteeinheit 26 festgehalten. Der von der Ausgangshalteeinheit 26 festgehaltene Wert enthält Daten, die für die Bestim-0 mung der Frequenz und der Hüllkurve des neu zuzuordnen-
den Partialtones erforderlich sind. Die Ausgangshalteeinheit 26 besitzt mehrere parallel angeordnete Halteschaltungen, die den jeweiligen Daten des Partialtones entsprechen. Die Daten des vorübergehend von der Ausgangshalteschaltung 26 festgehaltenen Partialtones werden in der Tongenerator-Anschlußeinheit 13 festgehalten, und zwar in einem Zeitfenster, dem der Partialton zugeordnet worden ist. Die Tongenerator-Anschlußeinheit 13 liefert repetierend in einem speziellen Zeitfenster die Daten des diesem Zeitfenster zugeordneten Partialtones an die Tongeneratoreinheit 14.
Obersicht über die Partialtonzuordnung
Figur 2 zeigt ein Flußdiagramm, das schematisch das Partialtonzuordnungssystem wiedergibt.
In dem durch den Block 3 0 bezeichneten Zustand wird ein Tastenabtastvorgang ausgeführt. Im nächsten Zustand, der durch den Block 31 bezeichnet ist, wird eine neu gedrückte Taste entsprechend der Tastenabtastung erkannt. Bei der Erkennung einer neu gedrückten Taste wird der Tastenab-0 tastvorgang angehalten und es beginnt der durch einen großen Block 32 bezeichnete Ablauf (routine) für die Partialtonzuordnung.
In dem Ablauf für die Partialtonzuordnung, der durch den Block 32 angegeben ist, wird die Zuordnungsverarbeitung Partialton für Partialton in bezug auf alle Partialtöne ausgeführt, die einen Ton einer neu gedrückten Taste bil-
303843/8711
den. Bei der Zuordnung der jeweiligen Partialtöne ist es vorteilhaft, eine "Harmonischen-Begrenzung" durchzuführen, die später noch erläutert wird, wenn die Reihenfolge, in der die Zuordnung der Partialtöne erfolgen, mit dem Partialton der niedrigsten Ordnung erfolgt und von dort aufwärts geht. Die Zuordnungsverarbeitung wird nur für diejenigen Partialtöne ausgeführt, die den Ton der neu gedrückten Taste bilden.
Jedesmal, wenn ein Partialton zugeordnet worden ist, wird in einem letzten Block 33 im Block 32 festgestellt, ob die Zuordnung aller den Ton bildenden Partialtöne beendet worden ist oder nicht. Wenn die Antwort "NO" lautet, wird wieder die Anfangsoperation im Block 32 durchgeführt, um die Zuordnung des nächsten Partialtones vorzunehmen. Wenn die Antwort "YES" lautet, d.h. die Zuordnung aller Partialtöne des Tones beendet ist, geht die Verarbeitung auf den Block 30 zurück und die Abtastung der Tasten wird fortgesetzt.
Die Verarbeitungsoperationen, die dem Block 30 entsprechen, in welchem die Erkennung der neu gedrückten Tasten erfolgt, wird in der Tastenlogikeinheit 11 in Figur 1 ausgeführt. Die Verarbeitung gemäß Block 32 erfolgt in der Partxaltonzuordnungsexnheit 12 (Figur 1) entsprechend den von der Tastenlogikeinheit 11 erzeugten Anforderungsdaten REQ. Die Vorgänge von Block 32 werden entsprechend den in den Anforderungsdaten REQ enthaltenen neu-Anfor— derungsdaten NCL (new claim data) ausgeführt. Die neu-Anforderungsdaten NCL geben an, daß eine Taste neu gedrückt worden ist.
9OS843/Ü711
Die Anforderungsdaten REQ, die die Partialtonzuordnungseinheit 12 auffordern, eine programmierte Operation durchzuführen, enthalten neu-Loslaßdaten NRLS und vor-neu-Anforderungsdaten PNCL (pre-new-claiin data) neben den neu-Anforderungsdaten NCL. Die neu-Loslaßdaten NRLS geben an, daß eine gedrückte Taste neu losgelassen worden ist. Die vor-neu-Anforderungsdaten PNCL werden erzeugt, wenn ein erster Kontakt eines Tastenschalters betätigt wird, wie später noch ausführlicher beschrieben wird. In dem Block 31 werden die Daten NRLS und PNCL entsprechend der Tastenabtastung erzeugt. Wenn die neu-Loslaßdaten NRLS erzeugt werden, wird ein neu-Loslaß-Ablauf 34 in der Partialtonzuordnungseinheit 12 ausgeführt. Wenn die vor-neu-Beanspruchungsdaten PNCL erzeugt werden, wird ein vor-neu-Beanspruchungsablauf 35 durchgeführt. Die Tastenabtastung wird nicht unterbrochen, wenn der vor-neu-Beanspruchungsablauf 35 ausgeführt wird. Diese Abläufe 34 und 35 werden später noch detailliert erläutert werden.
Im folgenden werden nun die Hauptverarbeitungsoperationen im Partialtonzuordnungsblock 32 kurz erläutert.
Im Block 36 erhält man die Daten eines zuzuordnenden Partialtones. Dies geschieht in dem Tonparameter bezüglich des Partialtones von der Tonparameterlogik 25 (Figur 1) entsprechend der an dem Tonselektor 29 eingestellten Tonfarbe erzeugt werden und in dem anschließend die Grundtondaten und die Amplitudendaten des Partialtones durch diese Tonparameter und die Berührungsdaten TC skaliert werden. Die zur Bildung des Partialtones benötigten Daten erhält man auf diese Weise durch die Verarbeitungsoperationen im Block 36. Wenn in dem Harmonischen-Begren-
909843/07.11
zungsblock 37 angegeben ist, daß die Frequenz des Partialtones einer "Harmonischen-Begrenzung" unterworfen werden soll (wenn die Antwort "YES" lautet), wird die weitere
Verarbeitung angehalten und die Tastenabtastung in Block 30 ausgeführt. Da der Zuordnungsvorgang in dem Block 32
von der niedrigsten Partialtonordnung an aufwärts erfolgt, werden, wenn ein Partialton einer Harmonischen-Begrenzung unterworfen wird, Partialtöne höherer Ordnungen, die eigentlich anschließend zugeordnet werden müßten, durch die Harmonischen-Begrenzung ausgeschaltet, so daß die Zuordnung solcher Partialtöne höherer Ordnungen entfällt. Hierdurch wird das Auftreten von Leerzeit bei der Verwendung von Zeitfenstern vermieden und die Verarbeitungszeit für die Zuordnung wird verkürzt.
Wenn der Partialton keiner Harmonischen-Begrenzung unterzogen wird (wenn die Antwort "NO" lautet), wird die Verarbeitung im Block 32 fortgesetzt. In dem Block 38 für
die Minimumamplitude werden die Amplitudendaten des Partialtones geprüft und wenn die Amplitude so klein ist,
0 daß sie für die Erzeugung des Partialtons zu gering ist
(d.h. die Antwort lautet "YES"),wird der Zuordungsprozeß für die Partialtöne in den nachfolgenden Stufen abgehalten und der Prozeß geht auf die Anfangsstufe im Block 32 zurück, um die Zuordnung des nächsten Partialtones durchzuführen. Ein Partialton mit Minimumamplitude wird daher keinem Zeitfenster zugeordnet. Wenn die Amplitude nicht
minimal ist (d.h. die Antwort ist "NO"), wird die Zuordnung für den Partialton fortgesetzt.
Wenn durch die oben beschriebene Verarbeitung alle Daten 0 für den Partialton vorliegen und von der Ausgangshalte-
schaltung 26 (Figur 1) festgehalten werden, wird das Anforderungssignal CLM entsprechend der Verarbeitung in Block 39 erzeugt. Wenn dies geschieht, wird in Block 40 festgestellt, ob ein Zeitfenster für die Zuordnung des Partialtones verfügbar ist oder nicht. Wenn kein Zeitfenster verfügbar ist (d.h. die Antwort ist "NO"), wird die nachfolgende Verarbeitung in Block 32 angehalten und die Verarbeitung kehrt zu der Tastenabtastung 3 0 zurück. Der Zustand, daß kein Zeitfenster verfügbar ist, bedeutet, daß alle Zeitfenster für die Erzeugung von Partialtönen durch Partialtöne besetzt sind, die ihnen zugeordnet wurden, so daß für die Zuordnung neuer Partialtöne, die bisher noch keinem Zeitfenster zugeordnet waren, kein Raum mehr ist. Die Verarbeitung in Block 32 wird daher angehalten und der Zustand der Tastenabtastung eingenommen. Wenn für die Zuordnung ein Zeitfenster verfügbar ist (wenn die Antwort "YES" lautet), wird die Zuordnung des Partialtones zu einem verfügbaren Zeitfenster ausgeführt. Im einzelnen wird in dem Zeitfenster, dem der Partialton zugeordnet werden soll, ein neu-Anforderungs-Ladesignal NCLD erzeugt und die Daten des von der Ausgangshalteschaltung 26 (Figur 1) festgehaltenen Partialtones werden der Tongenerator-Anschlußeinheit 1S zum Zeitpunkt des betreffenden Zeitfensters zugeführt. Die Einzelheiten des Programms, das unter Bezugnahme auf Figur 2 kt.rz erläutert wurde, sind in der Programmerzeugungseinheit 17 (Figur 1) enthalten.
9843/0711
Detaillierte Beschreibung der Tastenlogikeinheit 11
In der in Figur 3 dargestellten Tastenlogikeinheit 11 sind die Tastenschaltermatrizen M1 und M2 so konstruiert, daß die Tastenschalter verschiedener in Verbindung mit der Tastatureinheit 10 (Figur 1) vorgesehener Tasten entsprechend den zwölf Noten und den Oktavenbereichen klassifiziert und in Matrixform angeordnet sind. In der Tastenschaltermatrix M1 ist die erste Kontakteinrichtung KM1 der Tastenschalter angeordnet. In der Tastenschaltermatrix M2 ist die zweite Kontakteinrichtung KM2 der Tastenschalter angeordnet. Die Kontakteinrichtungen KM1 und ΚΓΊ2 sind für jede Taste derart vorgesehen, daß bei leichtem Drücken dieser.Taste die erste Kontakteinrichtung KM1 geschlossen wird und daß, wenn die Taste voll niedergedrückt ist, die zweite Kontakteinrichtung KM2 geschlossen wird. Dies dient dazu, die Differenz der Schließzeit zwischen den beiden Kontakteinrichtungen zu ermitteln und damit ein Tastenberührungssignal zu erzeugen, das für die berührungsabhängige Steuerung eines Musiktones benutzt wird.
In dem vorliegenden Beispiel ist nur ein Berührungszähler 42 zur Berechnung der Differenz der Schließzeit zwischen den beiden Kontakteinrichtungen vorgesehen, so daß er gemeinsam für alle Tasten bentutz wird. Der Berührungszähler 42 ist ein binärer 8-Bit-Zähler, dessen Ausgangssignal als Berührungsdaten TC von der Tastenlogikeinheit 11 ausgegeben werden. Der Berührungszähler 42 zählt das Übertragssignal 0c eines Tastenzählers 43. Der 8-Bit-Tastenzähler 43 dient zur Durchführung der Tastenabtastung und zählt die Impulse des Taktes 0-, die ihm
90.9843/0711
von einer UND-Schaltung in der Tastenlogik 11 zugeführt werden. Der Zählwert des Berührungszählers erhöht sich daher immer dann um eins, wenn ein Zyklus der Tastenabtastung durch den Tastenzähler 43 beendet worden ist. Wenn die Tastenabtastung unterbrochen wird, wird auch der Zählvorgang des Berührungszählers 42 unterbrochen.
Überblick über ein Verfahren zur Gewinnung eines der Tastenberührung entsprechenden Zählwertes
Wenn die erste Kontakteinrichtung KM1 geschlossen wird, wird von einer Anforderungsdaten-Generatorlogik 45 ein vor-neu-Anforderungssignal PNCL ausgegeben, woraufhin der Berührungswert PC (Zählwert), der von dem Berührungszähler 42 erzeugt wird, in ein (nicht dargestelltes) Register in die ÄLU 24 eingespeichert wird. Dieser Wert wird im folgenden als "erster Zählwert TC." bezeichnet. Wenn die zweite Kontakteinrichtung KM1 derselben Taste geschlossen wird, wird ein neuer Anforderungswert NCL von der Anforderungsdaten-Generatorlogik 45 ausgegeben, woraufhin der zugeführte Berührungswert TC in ein anderes Register der ALU 24 eingespeichert wird. Dieser Wert wird im folgenden als "zweiter Zählwert TC-" bezeichnet. Entsprechend den Inhalten der Register in der ALU 24 wird eine Subtraktion (TC2 - TC1) durchgeführt. Das Subtraktionsergebnis ist ein Zählwert, der der Differenz der Schließzeiten zwischen der ersten Kontakteinrichtung KM1 und der zweiten Kontakteinrichtung KM2 entspricht, d.h. das Tastenberührungssignal.
909843/0711
Steuerung der Tastenabtastung
Ein von einem Taktimpulsgenerator 46 erzeugter Impulstakt wird als Tastenabtast-Impulstakt 01 benutzt. Der von dem Taktimpulsgenerator 46 ausgegebene Impulstakt wird an den einen Eingangsanschluß der UND-Schaltung gelegt, während am anderen Eingangsanschluß der UND-Schaltung 24 das Ausgangs signal C) eines Flip-Flops 47 liegt. Die neu-Anforderungsdaten NCL oder die neu-Loslaßdaten NRLS, die von der Anforderungsdaten-Generatorlogik 45 ausgegeben werden, werden über eine ODER-Schaltung 48 dem Setzeingang (S) des Flip-Flops 47 zugeführt. Wenn die neu-Anforderungsdaten NCL oder die neu-Loslaßdaten NRLS anstehen, wird das Flip-Flop 47 daher gesetzt und sein Inversionsausgang Q geht auf "0". Die UND-Schaltung 44 wird daher gesperrt. Als Folge hiervon wird der Impulstakt 01 dem Tastenzähler 43 nicht zugeführt und die Tastenabtastung wird unterbrochen. Da an der ODER-Schaltung 48 kein vor-neu-Anforderungswert PNCL ansteht, wird die Tastenabtastung nicht durch ein Signal PNCL unterbrochen. Dies bedeutet, daß der in der Partialtonzuordnungseinheit 12 (Figur 1) bei Erzeugung der vor-neu-Anforderungsdaten PNCL bewirkte Prozeß erreicht werden kann, ohne die Tastenabtastung zu unterbrechen.
Wenn der Prozeß im Block 32 (Figur 2) zur Verarbeitung der Partialtöne beendet ist, oder wenn der Prozeß im neu-Loslaßablauf 34 beendet ist, wird von der Partialtonzuordnungseinheit 12 ein Rücksetzsignal RST ausgegeben. Dieses Rücksetzsignal RST wird dem Rücksetzeingang
(R) des Steuer-Flip-Flops 47 für die Tastenabtastung zu-
909843/0711
geführt, so daß dessen invertierter Ausgang Q auf "1" gesetzt wird und die UND-Schaltung 44 durchschaltet. Der Impulstakt 0- vom Taktimpulsgenerator 4 6 wird auf diese Weise dem Tastenzähler 43 zugeführt. Dies bedeutet, daß bei Anstehen des Rücksetzsignales RST die Tastenabtastung von neuem beginnt.
Tastenabtastung"
Der 8-Bit-Tastenzähler 43 ist ein Modulo-2 -Zähler, der die Zahlen aller Tasten an der Tastatureinheit 10 (Figur
1) abdecken kann. Die Tastatureinheit 10 enthält z.B. ein oberes Manual, ein unteres Manual und eine Pedaltastatur. Jeder Zählwert des Zählers 4 3 wird jeder Taste dieser mehreren Tastaturen zugeordnet. Die Tastenmatrizen M1 und M2 werden von dem Ausgangssignal des Tastenzählers 43 abgetastet, so daß der 8-Bit-Ausgangszählwert des Zählers 43 eine abgetastete Taste erkennt. Das Ausgangssignal des Tastenzählers 43 wird' daher von der Tastenlogikeinheit 11 als Tastenwort KC benutzt, das die abgetastete Taste kennzeichnet.
Die Tastenschaltermatrix M1 weist 16 Oktavenabtastleitungen (Eingangsleitungen) Ly1 auf, die vertiakl angeordnet sind,und 12 horizontal angeordnete Notenabtastleitungen (Ausgangsleitungen) Lx1. In gleicher Weise wird die Tastenschaltermatrix M1 aus 16 Oktavenabtastleitungen Ly2 und 12 Notenabtastleitungen Lx~ gebildet. Die Tastenschalter der 12 Noten (C bis B) einer Oktave sind an die Oktavenabtastleitungen Ly1 bzw. Ly„ angeschlossen. Die Anzahl der Oktaven beträgt 16, weil drei
909843/0711
Tastaturen vorhanden sind. Die Tastenschalter der gleichnamigen Noten sind über alle 16 Oktaven mit den Notenabtastleitungen Lx1 und Lx2 verbunden.
Das signal der vier höherwertigen Bits MSB1-4 von dem 8-B it-Ausgangssignal des Tastenzählers 43 wird einem Dekoder 4 9 zugeführt und dort an eine der Oktavenabtastleitungen Ly1 und Ly ~ dekodiert. Die vier niedrigstwertigeren Bits LSB^. entsprechen einer Note und werden einer NOR-Schaltung 50 mit vier Eingängen zugeführt. Immer wenn alle vier Bits des Zählwerts LSB1-4 "0" sind, geht das Ausgangssignal der NOR-Schaltung 50 auf "1". Dieses "1"-Signal wird als Eingabesteuersignal für die Parallel-Serien-Umsetzer 51 und 52 benutzt. Jeder der Parallel-Serien-Umsetzer 51 und 52 besteht aus einem seriellen Schieberegister mit parallelem 12-Bit-Eingang, dem als Schiebeimpuls derselbe Impulstakt 01 zugeführt wird wie derjenige, der im Zähler 43 benutzt wird. Die 12 Notenabtastleitungen der Tastenschaltermatrix M1 für die erste Kontakteinrichtung KM1 sind mit im ersten Pafallel-Serien-Umsetzer 51 verbunden. In gleicher Weise sind die 12 Notenabt as t leitungen der Tastenschaltermatrix M2 für die zweite Kontakteinrichtung KM2 mit dem zweiten Parallel-Serien-Umsetzer 52 verbunden.
Wenn alle vier niedrigstwertigen Bits LSB1-4 des Tastenzählers 43 "0" sind, wird von der NOR-Schaltung 50 ein "1"-Signal ausgegeben. Durch dieses Ausgangssignal· "1" werden die Ein/Aus-Erkennungsdaten von 12 Noten (C bis B) an den Notenabtastieitungen Lx1 bis Lx2 im Paralle^odus in die ParaMel-Serien-Umsetzerschaltungen 51 und 52 eingegeben. Die so eingegebenen Daten werden durch den Impulstakt 01
909843/0711
Bit für Bit verschoben und anschließend seriell an die Generatorlogik 45 für Anforderungsdaten ausgegeben. Wenn der Taktimpuls 01 12-mal erscheint, d.h. wenn die vier niedrigstwertigen Bits LSB^. des Tastenzählers 43 von "0 0 0 1" auf "1 1 0 0" gewechselt haben, ist die serielle Ausgabe aller Ein/Aus-Erkennungsdaten für die zwölf Noten beendet.
Wenn die vier niedrigstwertigeren Bits LSB-. wieder auf "0 0 0 0" gegangen sind, werden die vier höherwertigen Bits MSB-. um 1 erhöht und das Ausgangssignal des Dekodierers 49 wechselt. Als Folge hiervon werden die "1"-Signale an den Oktavenabtastleitungen Ly1 und Ly2 für die nächste Oktave geschaltet und die Ein/Aus-Erkennungsdaten der 12 neuen Noten, die durch den Oktavenschaltvorgang erhalten wurden, werden den Notenabtastleitungen Lx1 und Lx_ zugeführt. Die neuen Daten werden auf das von der 'NOR-Schaltung 50 gelieferte "1"-Signal hin im Parallelmodus in die Parallel-Serien-Umsetzer 51 und 52 eingegeben. Danach werden die Daten seriell verschoben, in 0 ähnlicher Weise wie in den oben beschriebenen Fall.
Immer wenn eine Leitung von den Oktavenabtastleitungen Ly1 und Ly2 geschaltet wird, werden in der oben beschriebenen Ueise alle 12 Notenabtastleitungen Lx1 und Lx2 abgetastet. Die Kombination aus dem Zählwert der vier höherwertigen Bits MSB., des Tastenzählers 43, die die Oktavenabtastleitungen Ly1 und Ly2 angeben, mit dem Zählwert der vier niedrigwertigeren Bits synchron mit der Abtastung der Notenabtastleitungen Lx1 und Lx2 bestimmt eine einzelne abgetastete Taste. Der Zählwert der so kombinierten 8 Bits bildet das Tastenwort KC. In der obigen Beschrei-
909843/0711
bung geben die vier höherwertigen Bits MSB.- die Tastatur und ihren Oktavenbereich an, wogegen die vier niedrigwertigeren Bits LSB1-4 eine der zwölf Noten angeben.
Da der Tastenzähler 43 Modulo 2 arbeitet, wird ein Zyklus der Tastenabtastung immer dann beendet, wenn 256 Taktimpulse 0- geliefert worden sind. Der Impulstakt 0c, der dem Zähleingangsanschluß des Berührungszählers 42 von dem höchstwertigen Bit des Tastenzählers 43 zugeführt wird, hat eine Periode, die mit einem Abtastzyklus synchron ist. Der Zählwert des Berührungszählers 42 wird in jedem Abtastzyklus um 1 erhöht.
Die Geschwindigkeit (Frequenz) des Impulstaktes 0c ist viel größer als diejenige Geschwindigkeit, die für die Tastendruckverschiebung von der ersten Kontakteinrichtung KM1 zur zweiten Kontakteinrichtung KM2 erforderlich ist.
Erzeugung der Anforderungsdaten REQ
Die Anforderungsdatenerzeugungslogik 45 entscheidet, ob eine Taste neu gedrückt oder losgelassen wurde. Dies geschieht aufgrund des Vergleichs zwischen dem Abtastergebnis einen Abtastzyklus vorher und dem gegenwärtigen Abtastergebnis, wodurch die Anforderungsdaten REQ (PNCL, NCL und NRLS) erzeugt werden. Neben dem einfachen Vergleich zwischen dem vorherigen Abtastergebnis und dem gegenwärtigen Abtastergebnis gibt die Logik 45 unter bestimmten Bedingungen ein Flaggensetzsignal OFS (flag set signal), ein Halbflaggensetzsignal HFS oder ein Langflaggensetzsignal aus. Diese Signale werden in den
909843/0711
Schieberegistern 53, 54 und 55, von denen jedes 256 Stufen hat, und die von dem Impulstakt 01 getaktet werden, um einen Abtastzyklus verzögert. Ein on flag-Signal OF (durch Verzögerung des Signals OFS entstanden), ein half flag-Signal HF (durch Verzögerung des Signals HFS entstanden) und ein long flag-Signal LF (durch Verzögerung des Signals LFS entstanden) werden zu der Anforderungsdaten-Generatorlogik 45 zurückgeführt, so daß sie mit dem gegenwärtigen Abtastergebnis verglichen werden können. Ein Langzeit-Signal LTM und ein Loslaßzeitsignal RTM werden ebenfalls der Anforderungsdaten-Generatorlogik 45 zugeführt. Das Langzeitsignal LTM entsteht durch Umformung des Signals des höchstwertigen Bits MSB des Berührungszählers 42 in einen Impuls, dessen Impulsbreite einer Periode des Impulstaktes 01 in dem monostabilen Multivibrator 56 entspricht. Wenn die Schließzeitdifferenz zwischen der ersten Kontakteinrichtung KM1 und der zweiten Kontakteinrichtung KM2 abnorm lang ist, wird das Langzeitsignal LTM dazu benutzt, das Drücken dieser Taste nicht zu beachten. Die Wiederholungsperiode des Langzeitsignals LTM ist 256-mal so lang wie die Periode des Impulstaktes 0c und seine Impulsbreite entspricht einem Abtastzyklus. Das Loslaßzeit-Signal RTM entsteht durch Umformung des vierten Bits LSB. der niedrigstwertigen Bits des Berührungszählers 42 in eine Impulsbreite, die einer Periode des Impulstaktes 0c der monostabilen Kippstufe 57 entspricht. Das Loslaßzeit-Signal RTM wird benutzt, um zu verhindern, daß das Prellen der Kontakteinrichtungen beim Loslassen der Taste dazu führt, daß eine mehrfache Tastenbewegung angenommen wird. Die repetierende Erzeugungsperiode des Loslaßzeit-signals RTM ist 16-mal so lang wie die Periode des Impulstaktes 0c
909843/0711
und seine Impulsbreite beträgt eine Abtastzykluszeit.
Die logischen Gleichungen (1) bis (6) der Schaltungen in der Anforderungsdaten-Generatorlogik 45 sind unten angegeben. In diesen Gleichungen stellt M1 das Ein/Aus-Erkennungssignal der ersten Kontakteinrichtung KM1 in einem Abtastzeitfenster dar und M2 ist das Ein/Aus-Erkennungssignal der zweiten Kontakteinrichtung KM2 in demselben Abtastzeitfenster. Diese Daten werden von den Parallel-Serien-Umsetzern 51 und 52 geliefert.
Die Bedingungen für die Erzeugung des on-flag-Setzsignals OFS, des half-flag-Setzsignals HFS und des long-flag-Setzsignlas LFS sind:
OFS = HF-M2 + LF-LTM + 0F-HF-M1-M2·RTM (1)
OFS = 0F-M1 + OF'MT*M2~.RTM + LF* LTM +
HF-0F-M2 + 0F-M2-M1 '■ (2)
LFS = 0F-HF-M2-LTM + LF-0F-HF-M2 + 0F-HF-M1-M2-RTM (3)
Die Bedingung für eine Möglichkeit,durch die das on-flag-Setzsignal OFS erzeugt wird, ist (HF/M2). Dies bedeutet, daß die zweite Kontakteinrichtung KM2 während der Erzeugung half-flag-Signals HF eingeschaltet sein muß. Durch das on-flag-Signal OF,. das einen Abtastzyklus danach erscheint, wird das on-flag-Setζsignal OFS von neuem erzeugt und damit selbsthaltend. Wenn sowohl die erste als auch die zweite Kontakteinrichtung KM1 und KM2 ausgeschaltet sind (M1-M2), werden sowohl- das on-flag-Setzsignal OFS
909843/0711
als auch das on-flag-Signal OF eliminiert.
Die Bedingung für eine Möglichkeit, durch die das halfflag-Setzsignal HFS erzeugt wird, lautet (0F-M1). Dies bedeutet, daß die erste Kontakteinrichtung KM1 eingeschaltet sein muß, bevor das on-flag-Signal OF erzeugt wird. Das half-flag-Signal HF ist also selbsthaltend.
Die Bedingung für eine Möglichkeit, durch die das longflag-Setzsignal LFS erzeugt wird, besteht darin, daß, obwohl das half-flag-Signal HF erzeugt worden ist, das on-flag-Signal OF nicht erzeugt wird und das Langzeitsignal LTM erzeugt wird, während die zweite Kontakteinrichtung KM2 im Aus-Zustand ist. Dieser Zustand ist ebenfalls selbsthaltend.
Die Bedingungen für die Erzeugung der vor-neu-Anforderungs-'daten PNCL, die neu-Anforderungsdaten NCL und die neu-Loslaßdaten NRLS sind:
PNCL = ÖF-M1 (4)
PCL = ÖF-HF-M2 (5)
NRSL = OF-HF-MT-MT-RTM (6)
Die vor-neu-Anforderungsdaten NNCL werden erzeugt, wenn die erste Kontakteinrichtung KM1 eingeschaltet wird, während das on-flag-Signal OF nicht erzeugt wird. Wenn die Gleichung (4) erfüllt ist, ist auch die obige Gleichung (2) erfüllt und das half-flag-Setzsignal HFS wird erzeugt.
Wenn daher das vor-neu-Anforderungssignal PNCL einmal erzeugt wird, dann ist in dem nächsten Abtastzyklus im Abtastzeitfenster der betreffenden Taste das half-flag-
909843/0711
Signal HF vorhanden.
Das neu-Anforderungsζeichen NCL wird erzeugt, wenn die zweite Kontakteinrichtung KM2 eingeschaltet ist unter der Bedingung, daß das on-flag-Signal OF nicht erzeugt wird, das half-flag-Signal HF jedoch erzeugt wird. Wenn die Gleichung (5) erfüllt ist, dann ist auch die oben beschriebene Gleichung (1) erfüllt und das on-flag-Setzsignal OFS wird erzeugt. In demselben Abtastzeitfenster des nächsten Abtastzyklus wird daher das on-flag-Signal OF erzeugt und Gleichung (5) ist nicht erfüllt. Das neu-Anforderungszeichen NCL wird daher nur einmal erzeugt, wenn die zweite Kontakteinrichtung KM2 unmittelbar nach der ersten Kontakteinrichtung KM1 geschlossen wird. Wenn die Differenz der Schließzeiten zwischen der ersten Kontakteinrichtung KM1 und der zweiten Kontakteinrichtung KM2 übermäßig groß ist, ist die obige Gleichung (3) erfüllt, das long-flag-Signal LF wird erzeugt, bei Eintreffen des nächsten Langzeitsignals LTM sind die Gleichungen (1) und (2) erfüllt und beide Signale OF und. HF werden 0 erzeugt, bevor das neu-Anforderungszeichen NCL ansteht. In diesem Fall wird daher kein neu-Anforderungszeichen NCL erzeugt. Dies ist der Fall, wenn der Finger einer Taste leicht drückt, so daß die Taste die erste Kontakteinrichtung KM1 schließt, jedoch wieder losgelassen wird, ohne weiter niedergedrückt zu werden.
Das neu-Loslaßzeichen NRLS wird zum Zeitpunkt des Loslaßzeitsignals RTM erzeugt, wenn beide Signale OF und HF erzeugt werden und die erste und die zweite Kontakteinrichtung KM1 und KM2 geöffnet sind. Selbst wenn die Kontakte beim Loslassen der Taste prellen, wird das neu-
909843/0711
Loslaßzeichen NRLS erst erzeugt, wenn das Loslaßzeitsignal RTM auftritt, so daß auf das Kontaktprellen hin keine Reaktion erfolgt. Wenn die Gleichung (6) erfüllt ist, wird die Selbsthaltung gemäß Gleichung (1) aufgelöst. Das on-flag-Setzsignal OFS wird daher nicht mehr erzeugt und in demselben Abtastzeitfenster des nächsten Äbtastzyklus wird das on-flag-Signal OP nicht erzeugt. Daher sind die Bedingungen von Gleichung (6) nicht erfüllt und das neu-Loslaßzeichen NRLS wird zur Zeit des Loslassens der Taste nur einmal erzeugt.
Beschreibung der peripheren ALU-Logik 23
Die periphere ALU-Logik 2 3 teilt Schaltungen mit verschiedenen Funktionen, die in den Figuren 4 bis 9(a) dargestellt sind.
Verarbeitung der vor-neu-Anforderungszeichen PNCL
Die in Figur 4 dargestellte Schaltung der Verarbeitung der vor-neu-Anforderungszeichen PNCL und der Berechnung des Tastenberührungssignals. Die Zählwerte eines PNCL-Zählers 58 werden durch einen von der GPU 22 (Figur 1) in der vorneu-Anforderungs-Routine gelieferten Erhöhungsimpuls INC.. erhöht. Das Ausgangssignal des PNCL-Zählers 58 wird einem Eingangsanschluß (A) eines Selektors 59 zugeführt. Das vor-neu-Anforderungszeichen PNCL wird von der Tastenlogikeinheit 11 dem Selektionssteuereingang des Selektors 59 zugeführt. Wenn das Zeichen PNQL "1" ist, wird das Eingangssignal (A), d.h. der Zählerstand des PNCL-Zählers 58
909843/0711
für. die Ausgabe ausgewählt. Wenn kein Zeichen PNCL erzeugt wird, wird der dem Eingangsanschluß (B) zugeführte Wert ausgewählt. Der am Eingangsanschluß (B) anstehende Wert ist der Ausgangswert ADRS eines Adressenzählers 60 (Figur 12) in der Tonparameterlogik 25 (Figur 1). Der Ausgangswert PNCLS des PNCL-Zählers 58 wird ebenfalls dem Adressenzähler 60 zugeführt.
Das Selektionsausgangssignal des Selektors 59 wird den Ädresseneingabeneingängen von Speichern 61 und 62 mit wahlfreiem Zugang (im folgenden lediglich als "RAM's 61 und 62" bezeichnet) zugeführt. Das vor-neu-Anforderungszeichen PNCL wird über einen Inverter 63 den Lese- oder Schreibe-Steuereingängen R/W der RAM's 61 und 62 zugeführt. Der Steuereingang R/W veranlaßt den Lesemodus, wenn ihm ein "1"-Signal zugeführt wird,und den Schreibmodus, wenn ihm ein "O"-Signal zugeführt wird. Wenn das vor-neu-Anforderungszeichen PNCL ansteht, werden daher die Speicher 61 und 62 in den Schreibmodus versetzt. Das Tastenwort KC wird von der Tastenlogikeinheit 11 dem Dateneingangsanschluß des Speichers 61 zugeführt, während der Berührungswert TC von der Tastenlogikeinheit 11 dem Dateneingangsanschluß des Speichers 62 zugeführt wird. Daher werden das Tastenwort KC und der Berührungswert TC, die zur selben Zeit erzeugt werden wie das vor- neu-Anforderungszeichen PNCL in die Speicher 61 bzw. 62 eingeschrieben. Die Schreibadressen in diesen Speichern werden durch den Zählwert des PNCL-Zählers 58 bezeichnet. Beiden Speichern 61 und 62 wird ein Aktivierungssignal ENB. zugeführt, das entsprechend einem Programm von der CPU geliefert wird. Nur wenn dieses Aktivierungssignal ENB ansteht, wird die oben beschriebene Schreib- oder
909843/0711
Lesefunktion ausgeführt. Die Ausgangssignale der Speicher 61 und 62 werden der ALU 24 (Figur 1) zugeführt.
Dies bedeutet, daß die Speicher 61 und 62 ein Tastenwort KC speichern, das eine Taste bezeichnet, die die Erzeugung eines vor-neu-Anforderungszeichens PNCL und eines Berührungswertes TC zu dieser Zeit (d.h. wenn die erste Kontakteinrichtung KM1 der Taste geschlossen ist) gestattet.
Der PNCL-Zähler 58 gibt eine Adresse an, an der die Daten gespeichert werden sollen. Die Tastenwörter KC und Berührungswerte TC der nacheinander gedrückten Tasten werden in .unterschiedlichen Adressen gespeichert, weil der Zählinhalt des Zählers 58 sich bei jedem Anstehen eines Erhöhungsimpulses INC. ändert, wie später noch beschrieben wird.
Wenn kein vor-neu-Anforderungszeichen PNCL ansteht, werden die Speicher 61 und 62 von dem Ausgangssignal "1" des Inverters 63 in den Lesemodus versetzt, so daß das Eingangssignal (B) des Selektors 59 ausgewählt wird und die Leseadresse von dem Zählsignal ADRS des Adressenzählers 60 (Figur 12) angegeben wird. Der Zeitpunkt des tatsächlichen Lesens ist der Moment, in dem das Aktivierungssignal ENB1 von der CPU 22 (Figur 1) entsprechend dem Programm geliefert wird. Dieser Lesevorgang wird in noch zu erläuternder Weise bei'der Berechnung des Tastenberührungssignals ausgeführt.
909843/0711
Erzeugung der Berührungsfaktoren und der Notenskalenfaktoren
Der Ausdruck "Berührungsfaktor" bezeichnet einen Koeffizienten zur Steuerung der relativen Amplitude eines Partialtones entsprechend der Tastenberührung. Der Ausdruck "Notenskalenfaktor" bezeichnet einen Koeffizienten zur Steuerung der relativen Amplitude eines Partialtones entsprechend der Grundtonhöhe einer Taste. Der Berührungsfaktor und der Notenskalenfaktor sind für alle Bereiche der Amplitudenhüllkurve eines Partialtones vorhanden (für den Anhallbereich, den Abklingbereich u.dgl.).
Gemäß Figur 5 sind verschiedene Koeffizientenwerte für die Amplitudensteuerung in einem Speicher 77 für den Berührungsfaktor und den Notenskalenfaktor vorgespeichert.
Der Koeffizient, der als "Berührungsfaktor" aus dem Speicher 77 ausgelesen wird, wird als Berührungsfaktor TCF benμtzt und der Koeffizient, der aus dem Speicher 77 für einen "Notenskalenfaktor"-Prozeß ausgelesen wird, wird als Notenskalenfaktor NSF benutzt. Der Speicher 77 ist ein Festwertspeicher (ROM), in dem die Koeffizientenfaktoren, 8 Bits pro Wort, in einer Zahl von 2.048 Wörtern gespeichert sind. In diesem Fall hat der Adresseneingang des Speichers 77 11 Bits: dem Speicher 77 werden von einer Berührungshalteschaltung 78 ein Signal von insgesamt 11 Bits und von einer Notenhalteschaltung 80 und einer Notenskalenhalteschaltung 81 ebenfalls ein Signal von insgesamt 11 Bits als Adressensignale zugeführt. Die Berührungshalteschaltung 78 dient zum Festhalten des Tastenberührungssignals (TC0 - TC1), das in der CPU 24 (Figur 1) berechnet worden ist. Der Datenein-
909843/Θ711
gangsanschluß der Berührungshalteschaltung 78 ist mit der Daten-Busleitung 27 verbunden. Wie später noch erläutert wird, wird, wenn die Berechnung des Tastenberührungssignals beendet ist, das Rechenergebnis (TC,, - TC.) der Daten-Busleitung 27 von der ALU 24 zugeführt und gleichzeitig wird über die Steuer-Busleitung 21 der Halteschaltung 78 ein Ladesignal LOD1 zugeführt. Auf dieses Ladesignal LOD1 hin wird das Tastenberührungssignal TC2 - TC1 über die Daten-Busleitung 27 in die Halteschaltung 78 eingespeichert.
Die Berührungsempfindlichkeits-Halteschaltung 7 9 dient zum Festhalten der Berührungsempfindlichkeitsdaten, die nach dem Programm aus einem Tonparameterspeicher 82 ausgelesen werden. Die Tonempfindlichkeitsdaten werden ebenfalls durch die Daten-Busleitung 27 dem Dateneingangsanschluß der Halteschaltung 79 zugeführt. Zu dem Zeitpunkt, wenn die der Daten-Busleitung 27 von dem Tonparamaterspeicher 82 zugeführten Berührungsempfindlichkeitsdaten eingegeben werden sollten, wird ein Ladesignäl LOD „ der Halteschaltung 79 gemäß dem Programm zugeführt. Die Berührungsempf indlichkeitsdaten werden von der Halteschaltung 79 mit Hilfe des Ladesignals LOD2 festgehalten.
Die Berührungqempfindlichkeitsdaten (die detailliert in Verbindung mit der Beschreibung des Tonparameterspeichers 82 später erläutert werden) dienen dazu, die Berührungsempfindlichkeit für jeden Bereich (wie z.B. Anhall- oder Abklingbereich) einer Partialton-Amplitudenhüllkurve einzustellen und sie entsprechen einer an den Tonfarbenselektor 29 (Figur 1) eingestellten Tonfarbe. Die Berührungsempfindlichkeitsdaten, die von der Berührungsempfind-
909843/0711
lichkeitshalteschaltung 79 festgehalten werden, werden in geeigneter Weise mit Hilfe des von der Berührungshalteschaltung 78 festgehaltenen Tastenberührungssignals skaliert. Als Ergebnis erhält man den Berührungsfaktor TCF. Diese Skalierung wird unter Verwendung des Speichers 77 durchgeführt.
Wenn die Aktivierungsignale ENB2 und ENB_. über die Steuer-Busleitung 21 der Berührungshalteschaltung 78 und der Berührungsempfindlichkeitshalteschaltung 79 zugeführt werden, dann werden die von den Halteschaltungen 78 und 79 festgehaltenen Inhalte ausgelesen. Beispielsweise werden ein Berührungssignal von 7 Bits,das aus der Berührungshalteschaltung 78 ausgelesen wurde,und ein Berürungsempfindlichkteitssignal von 4 Bits, das aus der Berührungsempfindlichkeitshalteschaltung 79 ausgelesen wurde, zu einem 11-Bit-Adressensignal kombiniert, das in den Speicher 77 für den Berührungsfaktor und den Notenfaktor eingegeben wird. Gleichzeitig wird dem Speicher 77 ein Aktivierungssignal ENB. zugeführt, woraufhin der Speicher 77 auslesefertig wird und ein Koeffizient (oder ein Berührungsfaktor TCF), der dem Adresseneingangssignal von den Halteschaltungen 78 und 79 entspricht, wird ausgelesen.
Die Notenhaiteschaltung 80 dient zum Festhalten der Daten, die dem Grundton eines geradezu zuordnenden Partialtones entsprechen. Diese Partialton-Grundtondaten werden von der ALU 24 über die Daten-Busleitung 27 geliefert (Figur 1). Die in den Figuren 6 und 7 dargestellten Schaltungen werden zur Berechnung der Partialton-Grundtondaten benutzt.
90984 3/0711
Wenn ein Tastenwort KC der Halteschaltung 83 gemäß Figur von der Tastenlogikeinheit 11 (Figur 3) zugeführt wird und wenn ferner der Halteschaltung 8 3 von der CPU 22 (Figur 1) ein Ladesignal LOD3 entsprechend dem Programm zugeführt wird, dann wird das Tastenwort festgehalten. Während der Partialtonzuordnung wird die Tastenabtastung ausgesetzt, so daß das Tastenwort einer zuzuordnenden Taste von der Halteschaltung 83 festgehalten wird. Das von der Halteschaltung 83 festgehaltene Tastenwort KC wird einem Umsetzer 84 zugeführt. Der Umsetzer 84 enthält einen Festwertspeicher und gibt einen Wert log F _ aus, der einen logarithmischen Ausdruck der Grundtonhöhe (der Musiktonfrequenz) FT„, der durch das Tastenwort bezeichneten Taste darstellt. Bei Anlegen eines Aktivierungssignals ENB5 von der CPU 22 entsprechend dem Programm wird der Umsetzer 84 eingeschaltet, so daß er das Tastenwort KC in einen logarithmischen Ausdruck log Fvr, der Grundtonhöhe -umwandelt.
Wenn ein numerischer Wert n, der die Ordnung- eines Partialtones angibt, von dem Tonparameterspeicher 82 (Figur 12) der in Figur 7 dargestellten Halteschaltung 85 zugeführt wird und wenn ferner der Halteschaltung 85 von der CPU 22 ein Ladesignal LOD4 zugeführt wird, dann hält die Halteschaltung 85 die Partialtonordnung η fest. Die Partialtonordnung hat nicht nur Ganzzahlstellen, sondern auch Bruchzahlstellen. Beispielsweise hat die Ordnungszahl 8 Bits und enthält einen Bruchzahlteil und einen Ganzzahlteil. Die Ordnungszahl, die von der Halteschaltung 85 festgehalten wird, wird einem logarithmischen Umsetzer 86 zugeführt, der einen Festwertspeicher enthält, wo sie in den logarithmischen Ausdruck log η umgewandelt wird.
9098U/0711
Der logarithmische Umsetzer 86 wird von einem Aktivierungssignal ENBg aktiviert.
Der Grund für die Umwandlung des Tasten-Grundtons F und der Ordnung η in logarithmische Ausdrücke besteht darin, daß die Multiplikation zur Erzielung des Grundtons (n-F™) eines Partialtones dann durch Addition erfolgen kann.
Die Grundtondaten log FTr_, und die Ordnungsdaten log η der
K.C
Tastentöne werden, nachdem sie von den in den Figuren 6 und 7 dargestellten Schaltungen ausgegeben worden sind, in einem Register des ALU 24 (Figur 1) gespeichert, wo die Berechnung (log F„_ + log η = log (n*FT._,) ausgeführt
SS.L. J\C
wird. Das Rechenergebnis log (n?FKr) entspricht dem Grundton eines zuzuordnenden Partialtones (der Ordnung n).
Dieser Partialton-Grundtonwert log (n-FKC) wird für die Entscheidung der "Harmonischen-Begrenzung" benutzt und über die Daten-Busleitung 27 der Notenhalteschaltung 80 (Figur 5) zugeführt. Der Partialton-Grundtonwert log (n F) wird von der Notenhalteschaltung 8 0 mit Hilfe des Ladesignals LOD1- festgehalten.
Die Notenskalenhalteschaltung 81 hält einen Notenskalenwert,der aus dem Tonparameterspeicher 82 entsprechend dem Programm ausgelesen worden ist, fest. Wenn der Notenskalenwert von dem Tonparameterspeicher 82 über die Daten-Busleitung 27 der Notenskalenhalteschaltung zugeführt worden ist, wird das Ladesignal LODg der Halteschaltung 81 zugeführt, wodurch der Notenskalenwert von der Halteschaltung 81 festgehalten wird.
909843/0711
Der "Notenskalenwert" ist eine grundlegende Angabe, die die Charakteristik eines jeden Bereichs (wie z.B. Anhallbereich oder Abklingbereich) der Amplitudenhüllkurve eines nach seinem Grundton zu skalierenden Partialtones angibt und entspricht einer Tonfarbe, die an dem Tonfarbenselektor 29 (Figur 1) eingestellt ist. Der oben erläuterte Partialton-Grundtonwert log (n FT,_) wird dem Noten-Skalenwert hinzuaddiert, um einen Notenskalenfaktor NSF zu bilden. Wenn die Aktivierungssignale ENB7 und ENBq der Notenhalteschaltung 80 und der Notenskalenhalteschaltung 81 zugeführt sind, werden die Inhalte der Halteschaltungen 80 und 81 jeweils ausgelesen. Beispielsweise werden ein 7-Bit-Partialton-Grundtonwert log (n FT„,) ,der aus
J\C
der Notenhalteschaltung 8 0 ausgelesen wurde, und ein aus der Notenskalenhalteschaltung 81 ausgelesener 4-Bit-Notenskalenwert zu einem 11-Bit-Adressensignal kombiniert, das dem Speicher 77 für den Berührungsfaktor und dem Notenskalenf aktor zugeführt wird. In gleicher Weise wird das Aktivierungssignal ENB. dem Speicher 77 zugeführt und ein 0 dem Adresseneingangssignal entsprechender Koeffiziernt (d.h. ein Notenskalenfaktor NSF) wird aus den Halteschaltungen 80 und 81 ausgelesen.
Der Berührungsfaktor TCF und der Notenskalenfaktor NSF für einen gerade verarbeiteten Partialton werden von dem Speicher 77 für den Berührungsfaktor und den Notenskalenfaktor über die Daten-Busleitung 27 der ALU 24 (Figur 1) zugeführt, wo sie vorübergehend gespeichert und anschließend zusammen mit anderen Hüllkurvensteuerfaktoren für eine Rechnung benutzt werden. Diese Hüllkurvensteuerfaktoren werden aus dem Tonparameterspeicher 82 ausgelesen, wie nachfolgend noch unter Bezugnahme auf Figur 12 beschrieben wird.
903843/0711
Immer wenn die Zuordnung eines Partialtones erfolgt, werden der Berührungsfaktor TCF und der Notenskalenfaktor NSF entsprechend diesem Partialton erzeugt. Der festgehaltene Inhalt der Halteschaltung 87 (Figur 5) und derjenige der Halteschaltung 83 (Figur 6) für die Tastenwörter KC werden so lange unterverändert beibehalten wie die Taste nicht wechselt, selbst wenn die Ordnung η des Partialtones wechselt. Der Inhalt der Notenhalteschaltung 80 (Figur 5) und der Halteschaltung 85 (Figur 7) für die TO Ordnung η verändern sich immer dann, wenn ein Partialton verarbeitet wird.
Entscheidung über ein verfügbares Zeitfenster, Erzeugung eines neu-Anforderungs-Ladesignals NCLD und Abrundungsvorgang
In Figur 8 ist die Anforderungslogik (claim logic) 64 eine Schaltung, die entscheidet, ob ein verfügbares Zeitfenster für die Partialtonerzeugung ein neu-Beanspruchsungs-Ladesignal NCLD in einem der verfügbaren Zeitfenster erzeugt. Die Anforderungslogik 64 ist in Figur 10 detaillierter dargestellt. Eine Halteschaltung 65 und ein Komparator 66 erkennen ein Zeitfenster, dem der am stärksten gedämpfte (abgeklungene) Partialton zugeordnet ist. In dem Komparator 66 werden die Amplitudenhüllkurvenniveaus der den Zeitfenstern zugeordneten Partialtöne nacheinander einem Vergleich unterzogen. Die Minimumamplitude wird in der Halteschaltung 65 gespeichert. Das Zeitfenster, in dem die Amplitudenhüllkurve ihren Minimalwert hat, ist dasjenige Zeitfenster, dem der am stärksten gedämpfte Partialton zugeordnet ist. Daher wird derjenige alte Partialton, der dem
909843/0711
Zeitfenster mit der maximalen Dämpfung· zugeordnet ist, beendet, um diesem Zeitfenster einen neuen Partialton zuordnen zu können. Ein Zeitfenster, dem kein Partialton zugeordnet ist, wird als Zeitfenster maximaler Dämpfung betrachtet, weil die Amplitude seiner Hüllkurve "0" ist. Daher ist praktisch die Zuordnung zu einem leeren Zeitfenster gleichbedeutend mit dem Abbruch. Der Abbruch ist jedoch so, daß überhaupt kein leeres Zeitfenster vorhanden ist und daß der erzeugte Partialton mit der kleinsten Amplitude aus seinem Zeitfenster herausgenommen wird, wodurch dem Zeitfenster ein neuer Partialton zugeordnet wird.
Zur Erkennung des Zeitfensters mit der kleinsten Amplitude wird das Hüllkurvenamplitudensxgnal ENV in jedem Zeitfenster dem Eingangsanschluß (a) des !Comparators 66 von der Tongeneratoreinheit 14 (Figur 1) zugeführt. Da das Amplitudenhullkurvensignal ENV bei dem vorliegenden Ausführungsbeispiel durch den Dämpfungsbetrag angegeben wird, ist der Wert des Signals ENV umso größer, je niedriger das Niveau der Amplxtudenhüllkurve ist. Wenn beispielsweise alle Bits des Signals ENV "1" sind, dann ist das Hüllkurvenniveau "0", und wenn alle Bits des Signals ENV "0" sind, dann hat das Hüllkurvenniveau sein Maximum. Der in der Halteschaltung 65 gespeicherte Wert, der dem geringsten Niveau entspricht und der als Signalwert betrachtet den größten Wert darstellt, wird dem Eingangsanschluß (B) des Komparators 66 zugeführt. Wenn das Hüllkurvenniveau am Eingangsanschluß (A) kleiner ist als dasjenige am Eingang (B), d.h. wenn (A) = (B) ist, wobei A und B die Werte der beiden Eingangssignale sind, dann erzeugt der Komparator 66 ein Ausgangssignal "1". Dieses
909843/0711
Ausgangssignal "1" wird über eine Anforderungslogik 64 einem Steuereingangsanschluß der Halteschaltung 65 zugeführt, wodurch das zu A = B führende Eingangssignal (A), d.h. das Hüllkurvensignal ENV in diesem Zeitfenster, von der Halteschaltung 65 festgehalten wird. Auf diese Weise wird das kleinste Hüllkurvenniveau (oder der Maximalwert), das in der Halteschaltung 65 gespeichert ist, neugeschrieben.
Ein Signal EJVL, das die Tatsache angibt, daß eine Taste, die einem dem jeweiligen Zeitfenster zugeordneten Partialton entspricht, losgelassen worden ist, wird von der Tongenerator-Anschlußeinheit 13 (Figur 1) dem Komparator 66 zugeführt. Nur in dem Zeitfenster, in dem das Signal EM~ aufgetreten ist, kann der Komparator 66 den Vergleich durchführen.
Ein Anforderungssignal .CLM wird von der CPU 22 entsprechend dem Programm zu demjenigen Zeitpunkt an die Anforderungslogik 64 geliefert, in dem die Entscheidung über ein verfügbares Zeitfenster ausgeführt werden sollte. Von dem in Figur 9(a) dargestellten Impulsgenerator 67 wird ein Impulstakt 0Q der Anforderungslogik 64 zugeführt. Dieser Impulstakt 0Q wird zur Bildung eines Zeitfensters für die Partialtonerzeugung benutzt. Eine Periode des Impulstaktes 0O ist die Zeitbreite eines Zeitfensters für die Partialtonerzeugung.
Bei dem vorliegenden Ausführungsbeispiel sind 256 Zeitfenster für die Partialtonerzeugung vorgesehen, so daß maximal 256 Partialtöne erzeugt werden. Alle 256 Perioden des Impulstaktes 0Q tritt dasselbe Zeitfenster (das einen Zeitteilungskanal bildet) wieder auf.
909843/0711
Gemäß Figur 9(a) wird der Ausgangsimpulstakt 0O des Taktimpuls genera tors 67 einem 8-Bit-Binärzähler 68 zugeführt und von diesem gezählt. Immer wenn alle Bits des Zählwertes des Zählers 68 "1" werden (d.h. alle 256 Perioden
(= 2 ) des Impulstaktes 0Q) wird ein Signal BTMAX erzeugt. Dieses Signal BTMAX wird in der Tongeneratoreinheit 14 (Figur 1) dazu benutzt, einen Abtastpunkt einer Musiktonwellenform festzulegen, wie später noch erläutert wird.
In Figur 9(b) ist die Beziehung der Erzeugungszeitpunkte zwischen den Taktimpulsen 0„, den Zeitfenstern (1 bis 256) für die Partialtonerzeugung und dem Signal BTMAX dargestellt.
Die Frequenz des Impulstaktes 0Q ist größer als diejenige des Impulstaktes 0. für Tastenabtastung.
Im folgenden wird die Anforderungslogik (claim logic) 64 detaillierter unter Bezugnahme auf die Figuren 10 und 11 beschrieben. In dem Fall, daß kein Anforderungssignal CLM erzeugt wird, wird bei Erfüllung der Bedingung A=B des !Comparators 66 (Figur 8) das Vergleichsergebnis (A = B) auf "1" gesetzt und die UND-Schaltung 6 J schaltet durch. Das Ausgangssignal der UND-Schaltung 69 wird als Ladesignal der Halteschaltung 65 (Figur 8) zugeführt, so daß das an der Halteschaltung 65 anstehende Hüllkurvensignal in diese eingegeben wird. Auf diese Weise wird der Speicherinhalt in der Halteschaltung 65 neugeschrieben und ein Wert, der einem Hüllkurvensignal mit einem niedrigeren Amplitudenniveau entspricht, wird in die Halteschal-
909843/0711
tung 65 eingeschrieben. Wenn der oben beschriebene Prozeß für alle der 256 Zeitfenster ausgeführt ist, dann ist in der Halteschaltung 65 ein Wert gespeichert, der der Hüllkurve mit dem kleinsten Niveau entspricht (d.h. der Maximalwert).
Wenn alle Daten von dem Ausgang der Halteschaltung 26 (Figur 1) festgehalten sind, wird das Anforderungssignal CLM in noch zu erläuternder Weise beschrieben. Das Anforderungssignal CLM wird in ersten Eingängen von UND-Schaltungen 70 und 71 mit zwei Eingängen und einer monostabilen Kippstufe 72 zugeführt. An der Anstiegsflanke des AnforderungssignaIs CLM erzeugt die monostabile Kippstufe 72 einen Einzelimpuls (synchron zu einer Impulszeit des Impulstaktes 0«), der dem Löscheingangsanschluß eines Zählers 7 3 zugeführt wird. Als Folge hiervon werden alle Bits des Zählers 73 auf "0" gesetzt. Der Impulstakt 0Q wird über eine UND-Schaltung 74 dem Zähleingang des Zählers 73 zugeführt. Wenn alle 8 Bits des Ausgangs des Zählers 73 auf "1" gesetzt sind, schaltet die UND-Schaltung 75 mit 8 Eingängen durch und ihr Ausgangssignal wird über einen Inverter 76 der UND-Schaltung 74 zugeführt, die hierdurch gesperrt wird. Im anderen Fall bleibt die UND-Schaltung 74 durchgeschaltet. Daher zählt der Zähler 73 unmittelbar nachdem er gelöscht worden ist die Taktimpulse des Taktes 0„. Dieser Zählvorgang wird fortgesetzt, bis 256 Taktimpulse 0q gezählt worden sind, nachdem das Anforderungssignal CLM angestiegen ist, d.h. bis alle 8 Bits des Ausgangs des Zählers 73 auf "1" stehen.
Das Vergleichsausgangssignal (A = B) des Komparators 66 wird einem zweiten Eingangsanschluß der UND-Schaltung 71
909843/0711
zugeführt, um zu bestimmen, ob die Bedingung (A = B) während des Zählvorgangs des Zählers 73 erfüllt ist oder nicht. Wenn die Bedingung erfüllt ist, wird das Ausgangssignal (A = B) des Komparators 66 auf "1" gesetzt und die UND-Schaltung 71 liefert ein Ausgangssignal "1". Dieses Ausgangssignal "1" der UND-Schaltung 71 wird als neu-Anforderungs-Ladesignal NCLD der Tongenerator-Anschlußeinheit 13 (interface unit) (Figur 1) als Löschsignal, der Halteschaltung 6 5 (Figur 8) und der Programmeinheit 17 (Figur 1) als Zählimpuls PCINC zur Erhöhung des Zählerstandes des Programmzählers zugeführt.
Die Erfüllung der Vergleichsbedingung (A = B) des Komparators 66 bedeutet, daß dem Eingangsanschluß (A) des Komparators ein Hüllkurvensignal ENV zugeführt worden ist, dessen Amplitude dem geringsten Niveau der Amplitudenhüllkurve entspricht. In diesem Fall wird in dem Zeitfenster für dieses minimale Hüllkurvenniveau das neu-Anforderungs-Ladesignal NCLD erzeugt und die alte Zuordnung in dem Zeitfenster wird abgebrochen, um eine neue Zuordnung auszuführen. Zusätzlich wird der Speicherinhalt des kleinsten Amplitudenniveaus (des höchsten Wertes) in der Halteschaltung 65 mit Hilfe 'des Signals CLEAR gelöscht.
Die Erfüllung der Vergleichsbedingung (A>B) des Komparators 66 bedeutet, daß ein Hüllkurvensignal, dessen Amplitudenniveau kleiner ist als der niedrigste in der Halteschaltung 65 gespeicherte Amplitudenwert, dem Eingang (A) des Komparators 66 zugeführt worden ist. In diesem Fall werden, ähnlich wie in dem vorher beschriebenen Fall, 0 das neu-Anforderungs-Ladesignal' NCLD und das Signal CLEAR erzeugt.
9843/0711
Der Zählwert des Prograntmzählers 19 (Figur 1) wird durch den Prograiranzählerimpuls PCINC um 1 erhöht. Als Folge
hiervon wird das Programm auf den nächsten Schritt weitergeschaltet, wodurch das Anforderungssignal CLM eliminiert wird. Auf diese Weise wird das neu-Anforderungs-Ladesignal NCLD in einem Zeitfenster für die Zuordnung nur einmal erzeugt.
In dem FaIl7 daß Partialtöne allen der 256 Zeitfenster für die Partialtonerzeugung zugeordnet sind und daß die diesen Partialtönen entsprechenden Tasten gedrückt sind, ist die Vergleichsbedingung (A = B) des Komparators 66 für eine Zyklusperiode aller Zeitfenster (d.h. für die Zeit von 256 Taktimpulsen 0Q) überhaupt nicht erfüllt, und zwar aus folgendem Grunde: Der Komparator 66 arbeitet nur, wenn an ihm das Signal EM2, das das Loslassen einer Taste kennzeichnet, ansteht und wenn alle Tasten der zugeordneten Töne gedrückt gehalten werden, wird
kein Signal EM- erzeugt. In diesem Fall wird daher der ZählVorgang des Zählers 73 fortgesetzt, wobei die Be-
dingung der UND-Schaltung 71 nicht erfüllt ist,und
schließlich wird die Bedingung der UND-Schaltung 75
in dem 256. Zeitfenster erfüllt, so daß das Ausgangssignal der UND-Schaltung 75 "1" wird und an die UND-Schaltung 70 gelangt. Dies bedeutet, daß überhaupt kein verwendbares Zeitfenster zur Verfügung steht. Das Ausgangssignal "1" der UND-Schaltung wird als nicht verfügbares Signal AVA der CPU 22 zugeführt (Figur 1).
Als Antwort auf das nicht verfügbare Signal AVA kehrt das Programm zu seinem Anfangspunkt zurück und die Tastenabtastung beginnt von neuem. Das Anforderungssignal
909843/0711
CLM wird daher ebenfalls eliminiert. Wenn das nicht verfügbare Signal AVA erzeugt wird, sind alle Zeitfenster für die Partialtonerzeugung benutzt worden. Dies bedeutet, daß kein nicht-verfügbares Zeitfenster vorhanden ist und daher wird eine neue Zuordnung von Partialtönen nicht durchgeführt.
Tonparameterlogik 25
Die Tonparameterlogik 25 enthält gemäß Figur 12 einen Tonparameterspeicher 82, einen Adressenzähler 60 und einen Tonzähler 87. Der Tonselektor 2 9 enthält einen Tonselektor 2 9U und einen Kodierer 29UE für das obere Manual, einen Tonselektor 2 9L und einen Kodierer 2 9LE für das untere Manual, einen Tonselektor 29P und einen Kodierer 2 9PE für die Pedaltastatur sowie einen Dekodierer 88. Jeder der Tonselektoren 29U bis 29P kann zwischen 16 verschiedenen Farbtönen eingestellt werden und ein 4-Bit-Wert, der eine eingestellte Tonfarbe angibt, wird von dem entsprechenden Kodierer 2 9UE bis 2 9PE ausgegeben. Die Ausgänge der Kodierer 2 9UE bis 2 9PE sind für jedes Bit zusammengeschaltet und mit einem Tonzähler 87 verbunden. Der Dekodierer 88 dekodiert denjenigen Wortteil, der die Tastatur des Tastenwortes KC angibt, das von der Tastenlogikeinheit 11 (Figur 3) geliefert wird, und das Ausgangssignal des Dekodierers 88 wird dem Tonselektor 29U, 29L oder 29P der betreffenden Tastatur zugeführt. Nur einer der Tonselektoren 29U bis 29P, an dem das Ausgangssignal des Dekodierers 88 ansteht, wird arbeitsfähig. Das Tastenwort KC gibt die Taste eines zugeordneten Partialtones an. Daher wird nur derjenige
909843/0711
Tonselektor (einer aus 29U bis 29P) arbeitsfähig, der der Tastatur der gerade verarbeiteten gedrückten Taste angehört. Dem Tonzähler 87 wird ein 4-Bit-Zeichen zugeführt, das die Tonfarbe angibt, die an dem Tonselektor der betreffenden Tastatur eingestellt worden ist.
Bei Anstehen eines Ladesignals LOD7 von der CPU 22 (Figur 1) entsprechend dem Programm gibt der Tonzähler 87 einen eingestellten Tonfarbenwert,der ihm von dem Kodierer 2 9UE, 29LE oder 29PE zugeführt worden ist, aus. Das Ausgangsssignal des Tonkodierers 28 wird als Blockadresse, die das Signal BADRS angibt, dem Tonparameterspeicher 82 zugeführt. Im Normalfalle speichert der Tonzähler lediglich die an dem Tonfarbenselektor 29 eingestellten Tonfarbendaten. Nur wenn dem Tonzähler 87 ein Übertragssignal CARRY zugeführt wird, erhöht sich der Zählwert des Tonzählers 87. Ein derartiger Zählwertanstieg wird jedoch bei dem normalen Anwendungsverfahren nicht verursacht. Der Fall des Anstiegs des Zählwertes des Tonzählers 87 durch das Übertragssignal CARRY wird später noch erläutert.
Die für die Realisierung der Tonfarben erforderlichen Parameter sind in dem Tonparameterspeicher 82 separat nach Tonfarben gespeichert. Parameterdaten, oder 2.048 Wörter (8 Bits pro Wort) sind in dem Tonparameterspeieher 82 gespeichert. Dies bedeutet, daß die Parameterdaten in 2.048 Adressen des Speichers 82 gespeichert sind. Die Adressen des TonparameterSpeichers 82 sind in 16 Blöcke entsprechend 16 verschiedenen Tonfarben unterteilt. Dies bedeutet, daß für jede Tonfarbe 128 Adressen vorhanden sind.
909843/0711
Das die Adresse kennzeichnende Signal des Tonparameterspeichers 22 weist ingesamt 11 Bits auf. Hiervon stellen die vier höherwertigen Bits die Blockadresse BADRS dar, die von dem Tonzähler 87 geliefert wird,und die übrigen sieben Bits stellen die von dem Adressenzähler 60 gelieferte Adresse ADRS dar. Durch die Kombination von Blockadressen BADRS und Adressen ADRS können die in den 128 Adressen eines Tonfarbenblocks enthaltenen Tonparameter ausgelesen werden. Der Tonparameterspeicher 82 wird auslesefertig, wenn ihm ein Aktivierungssignal ENBg zugeführt wird.
Der. Adressenzähler 60 ist ein 7-Bit-Binärzähler, dem ein Löschsignal CLR1, ein Ladesignal LODo, ein Hochzählimpuls INC„ und ein Abwärtsζählimpuls DEC1 von der CPU 22 (Figur
1) entsprechend dem Programm zugeführt werden. Wenn dem Adressenzähler die Hochzählimpulse INC2 zugeführt werden, um den Zählerstand zu erhöhen, wird das Zählerausgangssignal des Adressenzählers 60 als Adressensignal ADRS für den Tonparameterspeicher 82 benutzt. Die Adresse ADRS, die von dem Adressenzähler 60 ausgegeben wird, wird ebenfalls für die Ausleseoperationen in den Speichern 61 und 62 (Figur 4) verwandt. Dies bedeutet, daß der Zählwert PNCLC des PNCL-Zählers 58 (Figur 4) über die Daten-Bus leitung 27 dem Dateneingangsanschluß des Adressenzählers 16 zugeführt wird und daß er zum Zeitpunkt der Erzeugung des Ladesignals LODg in den Zähler 6 0 eingegeben wird. Der Zählwert PNCLC des Zählers 60 verringert sich mit dem Erscheinen der Abwärtszählimpulse DEC1 und der entstehende Zählerstand ADRS wird über die Daten-Busleitung 27 dem Eingangsanschluß (B) des Selektors 59 (Figur 4) zugeführt. Als Folge hiervon werden die Aus-
909843/0711
leseadressen der Speicher 61 und 62 von dem Signal ADRS bezeichnet. Die Verwendung des Adressenzählers 6 0 in diesem Abwärtszählmodus dient dazu, zur Zeit der Erzeugung der neu-Anforderungsdaten NCL die Adresse in dem Speicher 61 zu erkennen, in der das dem Wert NCL entsprechende Tastenwort KC gespeichert ist, wie nachfolgende noch deutlich wird.
Tonparameterspeicher 82
Figuren 13 (a) bis 13 (c) zeigen die Adressenaufteilung des TonparameterSpeichers 82. Wie aus Figur 13(a) hervorgeht, sind 2.048 Adressen von der Adresse 0 bis zur Adresse 2.047 in 16 Blocks eingeteilt: In einen ersten bis sechzehnten Tonfarbenblock. Nur ein Block (der neunte Tonfarbenblock) ist dargestellt. Die übrigen Blöcke sind jedoch in ihrer Grundkonzeption genauso aufgebaut. Natürlich sind die in den einzelnen Blöcken gespeicherten Dateninhalte unterschiedlich. Wie schon beschrieben wurde, wird der Tonfarbenblock von dem Tonselektor 2 9 gewählt. Der neunte Tonfarbenblock enthält 128 Adressen von der Adresse 1.024 bis zur Adresse 1.151.
Zur Erleichterung des Verständnisses ist es zweckmäßig, die 128 Adressen in einem Block in 16 Speicherbereiche zu unterteilen, von denen jeder aus 8 Adressen besteht. Die ersten 8 Adressen, d.h. die Adressen 1024 bis 1031 in dem neunten Tonfarbenblock werden als "Steuerparameterspeicherbereich" bezeichnet. Gespeichert in diesem Steuerparameterspeicherbereich sind Parameterdaten, die allen den Partialtönen gemeinsam sind. Die übrigen 15
909843/0711
Speicherbereiche werden als "Spexcherbereiche #1 bis #15 für Partialtondaten" bezeichnet, wie in Figur 13(a) dargestellt ist. In den Spexcherbereichen #1 bis #15 für Partialtondaten sind Daten der einen Ton bildenden Partialtöne einzeln oder separat gespeichert. In diesem Fall beträgt die Anzahl der Spexcherbereiche 15, so daß 15 verschiedene Partialtöne insgesamt zur Bildung eines Tones benutzt werden können. Diese Anzahl kann jedoch auch vergrößert werden, wie nachfolgend noch erläutert wird. Die Spexcherbereiche #1 bis #15 für Partialtondaten entsprechen Partialtönen, deren Grad oder Ordnung mit der Ordnung ansteigender Adressenzahlen ebenfalls größer wird. Beispielsweise ist die Ordnung (n) eines dem Bereich #1 entsprechenden Partialtones niedriger als diejenige aller Partialtöne, die den Bereichen #2 bis #15 entsprechen. Dies dient dazu, den Prozeß im Falle der "Harmonischen-Begrenzung" zu erleichtern, indem zuerst die Daten für einen Partialton der niedrigsten Ordnung gelesen und verarbeitet werden. Anders ausgedrückt: Wenn bestimmt ist, daß während der Verarbeitung eines Partialtones der Partialton einer "Harmonischen-Begrenzung" unterworfen werden soll, dann sollten auch alle Partialtöne, deren Ordnungen höher sind als diejenige des betreffenden Partialtones, ebenfalls der Harmonischen-Begrenzung unterworfen werden. Für diese Töne braucht daher keine zusätzliche Verarbeitung mehr zu erfolgen.
Die Speicheraufteilungen von 8 Adressen in den Spexcherbereichen #1 bis #15 für Partialtondaten sind dieselben, so daß hier nur der erste Speicherbereich #1 in Figur 13(c) stellvertretend für alle dargestellt ist.
909843/0711
Wie Figur 13(b) zeigt, ist die Anzahl (H) aller eine Tonfarbe bildender Partialtöne in der ersten Adresse 1024 des Steuerparameter-Speicherbereichs gespeichert. Da bei diesem Beispiel die Anzahl der Partialtondaten-Speicherbereiche (#1 bis #15) 15 beträgt, können zur Bildung einer Tonfarbe 15 Partialtöne (H = 15) benutzt werden. Die gesamte Partialtonzahl H ist entsprechend den jeweiligen Tonfarben wählbar. Wenn beispielsweise eine Tonfarbe durch Verwendung von 5 Partialtönen synthetisiert werden soll, dann werden 5 Tonfarben gespeichert (H = 5).
In der zweiten Adresse 1025 des Steuerparameter-Speicherbereichs sind ein Dämpfungswert DR, ein Wert INHM, der den Inharmonischengrad angibt, und ein Wert EM für den Hüllkurvenmodus parallel gespeichert. In einer Adresse kann ein 8-Bit-Wert gespeichert werden, so daß der 2-Bit-Wert DR, der 3-Bit-Wert EM und der 3-Bit-Wert INHM in einer Adresse parallel gespeichert werden können. Bei diesem Beispiel sind die übrigen sechs Adressen 1026 bis 1031 des Steuerparameter-Speicherbereichs leer. Er-0 forderlichenfalls können jedoch in diesen leeren Adressen geeignete Parameter gespeichert werden.
Der Inharmonischengrad INHM wird benutzt, um die Spektralverteilung eines Musiktones inharmonisch zu machen. Sie hat einen Wert, der dem Grad der Inharmonie entspricht.
Der Hüllkurvenmodus EM gibt die Art der betreffenden Hüllkurve an. Im einzelnen ist beim Hüllkurvenmodus zu unterscheiden zwischen dem Normalmodus, dem Schlagmodus und einem Stakkatomodus, deren Hüllkurven jeweils in den Fi-
909843/0711
guren 14(a) bis 14(c) dargestellt sind. Die in Figur 14(a) dargestellte Hüllkurve im Normalmodus entspricht einem Hüllkurvenmodussignal "0 0 0", die Hüllkurve im Schlagmodus, die in Figur 14 (b) dargestellt ist, entspricht einem Hüllkurvensignal "0 1 0" und die Hüllkurve im Stakkatomodus entspricht einem Hüllkurvensignal von "0 0 1", das in Figur 14 (c) dargestellt ist.
Beim Normalmodus steigt die Hüllkurve während der Anhallzeit (TA) nach dem Drücken der Taste bis auf einen Spitzenwert (LP) an und fällt danach auf das erste Abklingniveau (LD-LP) während der ersten Abklingzeit (TD1) ab'. Das erste Abklingniveau wird solange beibehalten, bis die Taste losgelassen wird. Beim Loslassen der Taste klingt die Hüllkurve beim Normalmodus von dem ersten Abklingniveau (LD-LP) auf das letzte Niveau (oder Null-Niveau) innerhalb der zweiten Abklingzeit (TD2) ab.
Die Hüllkurve nach dem Schlagmodus erreicht das erste Abklingniveau (LD-LP) am Ende der ersten Abklingzeit (TD1) und fällt danach vom ersten Abklingniveau stetig während der zweiten Abklingzeit (TD2) auf das letzte Niveau ab, ohne daß das erste Abklingniveau beibehalten würde. Wenn die Taste während der Dämpfung jedoch losgelassen wird, klingt die Hüllkurve beim Schlagmodus mit einem Faktor ab, der durch den Wert des Dämpfungsfaktors DR vorgegeben ist.
Im Stakkatomodus steigt die Hüllkurve beim Drücken der Taste auf das Spitzenniveau (LP) an und hält dieses Spitzenniveau anschließend. Die- Hüllkurve fällt beim
909843/0711
Loslassen der Taste auf das letzte Niveau (Null-Niveau)-
In der ersten Adresse 1032 eines Spexcherbereichs (#1) für Partialtondaten ist ein Wert gespeichert, der die Ordnung (n) eines in diesem Bereich gespeicherten Partialtones angibt, wie Figur 13 (c) zeigt. Wie schon beschrieben wurde, enthält die Ordnung (n) nicht nur einen Ganzzahlbereich, sondern auch einen Bruchteilbereich. Daher kann auch ein Oberton (Partialton) eines nicht ganzzahligen Vielfachen gebildet werden (z.B. η = 1,1 oder 1,2).
In der zweiten bis achtzehnten Adresse sind verschiedene Parameter bezüglich der Hüllkurven von Partialtönen der betreffenden Ordnung (n) gespeichert. In der zweiten Adresse 1033 sind ein 4-Bit-Wert LPTSENS für die Berührungsempfindlichkeit zur Skalierung des Spitzenniveaus (LP) einer Hüllkurve in Abhängigkeit von der Tastenberührung und ein 4-Bit-Wert LPNS für die Skalierung des Spitzenwertes (LP) einer Hüllkurve entsprechend dem Grundton eines Partialtones parallel gespeichert. Der Wert LP zum Einstellen des Spitzenniveaus eines Partialtones ist in der dritten Adresse (1034) gespeichert. Ein 4-Bit-Wert TDTSENS für die Berührungsempfindlichkeit zur Skalierung der ersten Abklingzeit TDV und der zweiten Abklingzeit TD2 entsprechend der Tastenberührung und ein 4-Bit-Wert TMNS zur Skalierung der Hüllkurven-Zeitfaktoren (TA, TD1 und TD2) entsprechend der Grundtonhöhe eines Partialtones sind in der vierten Adresse (1035) gespeichert.
In der fünften Adresse (1036) ist ein Wert TDI für die Einstellung der ersten Abklingzeit TD1 der Hüllkurve eines betreffenden Partialtones gespeichert. Ein Wert TD2
909843/0711
für die Einstellung der zweiten Abklingzeit ist in der sechsten Adresse (1037) gespeichert. Ein 5-Bit-Wert LD für die Einstellung der ersten Abklingzeit (LD-LP) einer Hüllkurve und ein 3-Bit-Wert TATSENS für die Skalierung der Anhallzeit TA entsprechend der Tastenberührung (Berührungsempf indlichkeit) sind in der siebten Adresse
(1038) gespeichert. In der achten Adresse (1039) ist
ein Wert zur Einstellung der Anhallzeit TA der Hüllkurve des betreffenden Partialtones gespeichert.
Die Berührungsempfindlichkeitswerte LPTSENS, TDTSENS und TATSENS, die aus dem Tonparameterspeicher 82 ausgelesen worden sind, werden von der Berührungsempfindlichkeitshalteschaltung 79 (Figur 5) festgehalten und die Notenskalierungsdaten LPNS und TMNS werden von der Notenskalenhalteschaltung 81 (Figur 5) festgehalten. Der Spitzenniveauwert LP, der Wert TA für die Anhallzeit und die
Werte TD1 und TD2 für die Abklingzeit, die aus dem Ton-' parameterspeicher 82 ausgelesen worden sind, werden
vorübergehend in einem Register in der ALU 24 (Figur 1) gespeichert. In der ALU 24 werden diese Daten LP, TA,
TD1 und TD2 durch den Berührungsfaktor TCF und den aus dem Speicher 77 ausgelesenen Notenskalierungsfaktor NSF in der oben beschriebenen Weise entsprechend dem Berührungsempf indlichkeitswert und dem Notenskalierungswert skaliert. Wenn der Berührungsfaktor und der Notenskalierungsfaktor, die aus dem Speicher 77 in Korrelation mit den Daten LPTSENS bis PMNS ausgelesen werden, mit TCF
(LPTSENS) bis NSF (ZMNS) bezeichnet und die der Skalierung in der ALU 24 unterworfenen Hüllkurvendaten mit
LP* bis TD2* bezeichnet werden, dann gelten die folgenden Beziehungen:
909843/0711
LP* = LP-TCF(LPTSENS)-NSF(LPNS) (7)
TA* = TA-TCF(TATSENS)-NSF(TMNS) (8)
TD1* = TD1-TCF(TDTSENS)-NSF(TMNS) (9)
TD2* = TD2-TCF(TDTSENS)-NSF(TMNS) (10)
Diese Gleichungen sind Multiplikationsgleichungen. Wenn jedoch eine logarithmische Rechnung durchgeführt wird, dann kann in der ALU 24 mit Addition gearbeitet werden.
Ausgangshalteexnheit 26
Die Daten DR, EM, INHM, η und LD, die aus dem Tonparameterspeicher 82 ausgelesen werden, werden in der Ausgangshalteexnheit 26 (Figur 1) festgehalten. Ferner werden auch die Daten LP* bis TD2*, die durch die obigen Rechnungen entstanden sind, von der Ausgangshalteexnheit 26 festgehalten. Das an die Daten-Busleitung 27 von der Tastenlogikeinheit 11 gelieferte Tastenwort wird ebenfalls von der Ausgangshalteexnheit festgehalten. Die Zeitsteuerung des Hsltens und Ausgebens dieser Daten erfolgt durch das Programm.
Wie oben schon beschrieben wurde, wird, wenn alle notwendigen Daten von der Ausgangshalteexnheit 26 festgehalten worden sind, das Anforderungssignal CLM entsprechend dem Programm erzeugt und der Anforderungslogik 64 in Figur 8 zugeführt. Entsprechend der Verarbeitung in der Anförderungslogik 64 wird das neu-Anforderungs-Lädesignal NCLD in der oben beschriebenen Weise erzeugt.
909843/0711
Das neu-Anforderungs-Ladesignal NCLD wird der Tongenerator-Anschlußeinrichtung 13 zugeführt.
Tongenerator-Anschlußeinheit 13
Die Tongenerator-Anschlußeinheit 13 enthält gemäß Figur 15 Schiebereigster 89 bis 93. Diese Schieberegister speichern im Zeitteilungsbetrieb die Werte INHM, n, KC, EM, LP*, LD, TA*, TD1*, TD2* und DR, die für die Erzeugung der den jeweiligen Zeitfenstern zugeordneten Partailtöne benötigt werden. Die Speicherung erfolgt entsprechend der Zuordnung zu den Zeitfenstern. Die Register sind serielle Schieberegister und sie haben jeweils 256 Speicherstellen entsprechend der Gesamtzahl der Zeitfenster für die Partialtonerzeugung (256). Der Impulstakt 0n vom Impulstaktgenerator 67 (Figur 9) wird diesen Registern zugeführt.
Eingangsseitig sind Selektionstore 94, 95, 96 und 97 an die Schieberegister 89, 90, 91 -nd 93 angeschlossen.
Die Selektionstore 94, 95, 96 und 97 selektieren die Daten INHM, n, KC, LP*, LD, TA*, TD1*, TD2* und DR, die ihnen von der Ausgangshalteeinheit 26 (Figur 1) zugeführt werden, wenn das neu-Anforderungs-Ladesignal NCLD von der Anforderungslogik 64 (Figuren 8 und 10) geliefert wird und geben sie in die ersten Stufen der Schieberegister 89, 90, 91 und 93 ein. In einem Zeitfenster, in dem kein neu-Anforderungs-Ladesignal NCLD ansteht, selektieren die Selektionstore 94 bis 97 Daten, die aus den letzten Stufen (den 256. Stufen) der Schieberegister 98, 90, 91 und 93 ausgegeben werden und koppeln diese auf die ersten Stufen dieser Schieberegister zurück. Auf diese
909843/0711
Weise werden in einem Zeitfenster, in dem das neu-Anforderungs-Ladesignal NCLD ansteht, die Speicherdaten in den Schieberegistern 89 bis 93 neugeschrieben und die Zuordnung eines neuen Partialtones wird beendet.
Das von der Halteeinheit 26 (Figur 1) kommende Signal EM für den Hüllkurvenmodus wird nicht unverändert in dem Schieberegister 92 zur Speicherung des Hüllkurvenmodus gespeichert, d.h. das Signal EM wird, nachdem es in geeigneter Weise in einer Hüllkurvenmodus-Steuerschaltung 98 korrlegiert worden ist, in das Schieberegister 92 eingespeichert .
In der Steuerschaltung 98 für den Hüllkurvenmodus wird der von der Ausgangshalteschaltung 26 kommende Wert EM korrigiert, und zwar entsprechend:
. (1) dem Drücken oder Loslassen einer Taste
und
(2) in Abhängigkeit davon, ob das "Wiederdrücken" einer Taste erfolgt ist oder nicht.
Der Ausdruck "Wiederdrücken" bedeutet den Fall, daß eine Taste, deren Partialtöne Partialton-Zeitfenstern zugeordnet worden sind, losgelassen und anschließend von neuem gedrückt wird. Für die Entscheidung der obigen Bedingungen (1) und (2) sind Setz-Rücksetz-Flip-Flops 99 und 100 vorgesehen. Die Flip-Flops 99 und 100 werden in Abhängigkeit von einem Setz- oder Rücksetz-Signal gesteuert, die ihnen über die Steuer-Busleitung 21 entsprechend dem Programm zugeführt werden.
909843/07U
Das Loslaß-Flip-Flop 99 wird gesetzt, wenn eine Taste losgelassen wird und das Signal seines Setzausgangs RQ wird der Steuerschaltung 98 für den Hüllkurvenmodus zugeführt. In der Steuerschaltung 98 wird ein Wert, der das Loslassen einer Taste angibt, dem Hüllkurvenmodus-Wert EM entsprechend dem Loslaß-Setzsignal RQ hinzuaddiert und von einem Komparator 101 wird ein Tastenkoinzidenzsignal KEQ geliefert.
In dem Komparator 101 wird das Ausgangssignal des Schieberegisters 91, das imstande ist, ein Tastenwort (oder einen Tastennamen) bezüglich der den jeweiligen Zeitfenstern zugeordneten Partialtöne zu speichern, mit einem Tastenwort verglichen, das über die Daten-Busleitung 27 von der Tastenlogikeinheit 11 kommt (Figuren 1 und 3). Wenn beide Tastenwörter miteinander übereinstimmen, wird das Tastenkoinzidenzsignal KEQ ausgegeben.
Das Tastenwort KC von der Tastenlogikeinheit 11 ändert sich nicht in dem Fall, wenn die Tastenabtastung in der oben beschriebenen Weise unterbrochen wird, jedoch än-0 dert sich das Ausgangstastenwort KC des Schieberegisters 91 im Zeitteilungsbetrieb für jedes Zeitfenster. Dementsprechend wird ein Tastenkoinzidenzsignal KEQ in dem Zeitfenster erzeugt, in dem dasselbe Tastenwort KB wie das von der Tastenlogikeinheit 11 gelieferte Tastenwort KC gespeichert ist. Generell gibt es für ein Tastenwort eine Vielzahl von Partialtönen. Daher wird in einem Zyklus (25 Zeitfenster) der die Partialtöne erzeugenden Zeitfenster das Tastenkoinzidenzsignal KEQ in mehreren Zeitfenstern erzeugt, denen diese mehreren Partialtöne zugeordnet worden sind.
909843/07U
Das Flip-Flop 100 für das absolute Ende wird für die oben beschriebene Entscheidung "Wiederanschlag" einer Taste benutzt und es wird gesetzt, wenn eine Taste gedrückt wird, d.h. das neu-Anforderungswort NCL ansteht. Das Signal am Setzausgang FQ wird der Steuerschaltung 98 für den Hüllkurvenmodus zugeführt. In dieser Steuerschaltung 98 wird die Entscheidung "Wiederanschlag" entsprechend dem Setzsignal FQ für das absolute Ende und dem Tastenkoinzidenzsignal KEO getroffen und in dem Fall des "Wiederanschlags" wird die Hüllkurve eines dem Zeitfenster, in dem das Koinzidenzsignal KEQ erzeugt ist, zugeordneten Partialtones zwangsläufig beendet. Im einzelnen wird das Zeichen EM des Hüllkurvenmodus in einen Wert umgewandelt, der den "Modus der zwangsläufigen Beendigung" angibt.
Wenn die UND-Bedingung des Setzsignales FQ für die zwangsläufige Beendigung und des Tastenkoinzidenzsignals KEQ erfüllt ist, dann handelt es sich um "Wiederanschlag" einer Taste, weil dieselbe Taste, die jetzt neu gedrückt worden ist, schon einmal zugeordnet worden war. In die-0 sem Fall wird ein alter Partialton, der derselben Taste entspricht, dem Zeitfenster zugeordnet, in dem das Koinzidenzsignal erzeugt worden ist. Daher ändert sich der Hüllkurvenmodus dieses alten Partialtones in den Modus der zwangsläufigen Beendigung, um zwangsweise und schnell die Hüllkurve zu beenden. Die neue Zuordnung von Partialtönen derselben Taste wird natürlich entsprechend dem neuen Tastendruck ausgeführt. Wie sich aus der obigen Beschreibung ergibt, wird im Falle des Wiederanschlags . die Doppelerzeugung von Partialtönen derselben Taste niemals bewirkt.
909843/07U
Die Steuerschaltung 96 für den Hüllkurvenmodus selektiert die ihr von der Ausgangshalteeinheit 26 zugeführten Hüllkurvenmodus-Daten EM, wenn das neu-Anforderungssignal NCLD erzeugt wird,und gibt es in das Schieberegister 92 ein.
Das Hüllkurvenmoduszeichen (die mit EMn, EM1, EM~ bezeichneten Bits), das von der 256. Stufe ausgegeben wird, wird zu der Steuerschaltung 98 für den Hüllkurvenmodus zurückgeführt. Die oben beschriebene Komplementierung und Änderung werden für die so durchgeführten Daten EMQ, EM1, EM„ durchgeführt. Die Steuerschaltung 98 für den Hüllkurvenmodus ist in Figur 17 detaillierter dargestellt.
Die Daten INHM für die Inharmonischenordnung, die Ordnungsdaten η und das Tastenwort KC für die Partialtöne, die den jeweiligen Zeitfenstern zugeordnet sind, werden nacheinander entsprechend den Zeitfenstern ausgegeben und einer Frequenzdaten-Generatorschaltung 107 (Figur 16) in der Tongeneratoreinheit 14 über Leitungen 102, 103 und 104, deren Bit-Zahlen den jeweiligen.Daten entsprechen, zugeführt. Die Hüllkurvenmodus-Daten EMq, EM.., EM2, die von dem Schieberegister 92 für jedes Zeitfenster ausgegeben werden, werden einem Hüllkurvenrechner (Figur 16) in der Tongeneratoreinheit 14 über eine 3-Bit-Leitung 105 zugeführt. Die Steuerdaten LP*, LD, TA*, TD1*, TD2* und DR für den Hüllkurvenbereich, die von dem Schieberegister 93 für jedes Zeitfenster ausgegeben werden, werder der Tongeneratoreinheit 14 (Figur 16) über eine parallele Mehr-Bit-Leitung 106 zugeführt. Von diesen Daten werden die Daten LD, TA*, TD1*, TD2 und DR dem Hüllkurvenrechner 108 zugeführt, während der Wert
909843/9711
LP* für das Spitzenniveau einem Festwertspeicher für das Spitzenniveau (Spitzenniveau-ROM) 109 zugeführt wird.
Dauerschaltung 98 für den Hüllkurvenmodus
Gemäß Figur 17 werden die von der Ausgangshaiteschaltung 26 (Figur 1) gelieferten Hüllkurvenmodüs-Daten EM den UND-Schaltungen 110, 111 bzw. 112 zugeführt. Die Beziehungen zwischen den Werten der Hüllkurvenmodus-Daten EM und den Hüllkurvenmoden entsprechen den Angaben in Figuren 14(a) bis 14 (c). Das niedrigstwertige Bit EMQOL, das nächste Bit EM1OL und das höchstwertige Bit EM2OL des Zeichens EM werden den UND-Schaltungen 110, 111 bzw. 112 zugeführt. Das neu-Anforderungs-Ladesignal NCLD wird jeweils den anderen Eingangsanschlüssen der UND-Schaltungen 110, 111 und 112 zugeführt. Wenn das neu-Anforderungs-Ladesignal NCLD erzeugt wird, werden daher die UND-Schaltungen 110, 111 und 112 geöffnet, woraufhin die Hüllkurvenmodus-Daten EM von der Ausgangshalteexnheit 26 von den UND-Schaltungen 110 bis 112 selektiert und über ODER-Schaltungen 113, 114 und 115 dem Schieberegister 92 (Figur 15) zugeführt werden. Im folgenden wird kurz die Darstellungsweise der in den Figuren 17, 20 und 21 dargestellten logischen Schaltungselemente erläutert. Eine Eingangsleitung eines logischen Schaltelementes, wie beispielsweise einer UND-Schaltung oder einer ODER-Schaltung und die Signalleitungen sind in der Weise gezeichnet, daß sie die Eingangsleitung kreuzen. Die Schnittstelle zwischen der Eingangsleitung und der Signalleitung, durch die ein Signal dem logischen Schaltungselement zugeführt wird, ist umkreist. Der UND-
909843/07U
Schaltung 110 in Figur 17 wird beispielsweise nur das neu-Anforderungssignal NCLD und das Signal EMnOL zugeführt .
Das Hüllkurvenmodus-Zeichen EM (EM„0L, EM1OL, EM3OL), das in das Schieberegister 92 (Figur 15) in dem Zeitfenster eingegeben wird, in dem das neu-Anforderungs-Ladesignal NCLD erzeugt wird, wird aus der letzten Stufe (der 256. Stufe) des Schieberegisters 92 in dem nächsten selben Zeitfenster (d.h. nach 256 Perioden des Impulstaktes 0~) erzeugt und wieder in die Steuerschaltung für den Hüllkurvenmodus eingegeben. Das so rückgeführte Hüllkurvenmoduszeichen wird mit den Bezugszeichen EMn, EM1 und EM2 bezeichnet. Diese Zeichen EMQ, EM1 und EM2 werden über ODER-Schaltungen 116, 117 und 118 jeweils UND-Schaltungen 119, 120 und 121 zugeführt. Ein Signal NCLD, das durch Anlegen des neu-Anforderungs-Ladesignals NCLD an einen Inverter 122 entstanden ist, wird den anderen Eingangsanschlüssen der UND-Schaltungen 119, 120 und 121 zugeführt. Da das neu-Anforderungs-Lädesignal NCLD nur einmal erzeugt wird, ist das Signal NCLD in dem nächsten selben Zeitfenster "0" und das invertierte Signal NCLD ist "1". Die zurückgeführten Hüllkurvenmoduszeichen EMQ, EM1 und EM„ werden von den UND-Schaltungen 119, 120 und 121 selektiert und über ODER-Schaltungen 113, 114 und 115 in die erste Stufe des Schieberegisters 92 eingegeben. Die Hüllkurvenmoduszeichen EMQ, EM1 und EM2 werden in dem Schieberegister 92 gespeichert gehalten.
Die UND-Schaltung 123 dient dazu, den Hüllkurvenmoduszeichen Zeichen hinzuzuaddieren, die das Loslassen einer
909843/0711
Taste angeben. Das Loslaß-Setzsignal RQ (das beim Erkennen des Loslassens einer Taste auf "1" geht) von dem oben beschriebenen Loslaß-Flip-Flop 99 (Figur 15) und das Tastenkoinzidenzsignal KEQ vom Komparator (Figur 15) werden der UND-Schaltung 123 zugeführt. Das Ausgangssignal der UND-Schaltung 123 wird über eine ODER-Schaltung 118 der UND-Schaltung 121 zugeführt und gelangt über die ODER-Schaltung 115 zu einem Bit, das dem Zeichen EM« im Schieberegister 92 entspricht. So wird beim Loslassen der Taste das Bit EM„ des Hüllkurvenmoduszeichens auf "1" gesetzt.
Eine UND-Schaltung 124 ist vorgesehen, um den oben beschriebenen "Wiederanschlag" festzustellen und dadurch den Hüllkurvenmodus in den "Modus des zwangsläufigen Endes" umzuwandeln. Das Setzsignal FQ für das zwangsläufige Ende, das von dem oben beschriebenen Flip-Flop 100 (Figur 15) kommt,und das Tastenkoinzidenzsignal KEQ werden der UND-Schaltung 124 zugeführt. Das Ausgangssignal der UND-Schaltung 124 wird an die ODER-Schaltungen 116 und 117 gelegt. Zur Erzielung des "Modus des zwangsläufigen Endes" wird das Ausgangssignal der UND-Schaltung 124 auf "1" gesetzt und die beiden niedrigstwertigen Bits EM1 und EM„ des Hüllkurvenmodus-Zeichens werden zwangsläufig in "1 1" umgewandelt. Da die Tasten, deren Hüllkurvenmodus sich in den "Modus des zwangsläufigen Endes" umwandeln, in jedem Falle losgelassen sind, ist das Zeichen EM», das das Loslassen der Taste angibt, "1". Im Falle des "Modus des zwangsläufigen Endes" sind die Hüllkurvenmodus-Zeichen EM„, EM1, EMQ "1 1 1". Dies hat den folgenden Grund: Da der Ausdruck "Wiederanschlag"
909843/0711
bedeutet, daß eine Taste einmal losgelassen und anschließend wieder gedrückt ist, ist zwangsläufig eine zuvor zugeordnete Taste losgelassen worden.
Zusammengefaßt gelten folgende Beziehungen zwischen den Werten der Hüllkurvenmodus-Zeichen EM2,
und EMQ, die
von dem Schieberegister 92 (Figur 15) ausgegeben werden, und den Hüllkurvenmoden:
Tabelle 1
Hüllkurvenmodus
10 Normal-Schlag- Stakkato Zwangsläufiges Ende
Tastendruck-15 Loslaß-
EM,
EM,
0 0
- 1 0
- 0 1
(D 1 1
0 - -
1 _
Die Änderungen der Zeichen EM2, EM- und EMQ sind in Figur 18 dargestellt. Das Zeichen EMQ ist während des Drückens der Taste "0", jedoch wechselt es beim Loslassen der Taste auf "1". Im Modus des zwangsläufigen Endes werden die Zeichen ENL und EM2 auf "1 1" gesetzt.
Das das Loslassen einer Taste angebende Zeichen EM2 wird dem Komparator 66 in Figur 8 zugeführt, so daß es dazu benutzt wird, um den Komparator. 66 nur in demjenigen Zeit-
909843/0711
fenster zu öffnen, dem ein Partialton für eine losgelassene Taste zugeordnet ist.
Tongeneratoreinheit 14
Gemäß Figur 16 enthält die Tongeneratoreinheit 14 eine Schaltung zur Erzeugung der Wellenformsignale von den den Zeitfenstern für die Partialtonerzeugung zugeordneten Partialtönen entsprechend den Grundtönen dieser Partial töne, sowie eine Schaltung zur Erzeugung der Amplitudenhüllkurvensignale der den Zeitfenstern zugeordneten Partialtöne. Die erstgenannte Schaltung reicht von der Frequenzdatengeneratorschaltung 107 bis zu dem Hüllkurvenskalierer 125 und die zweite Schaltung reicht von dem Hüllkurvenrechner 108 bis zu dem Hüllkurvenskalierer 125.
Die Frequenzdatengeneratorschaltung 107 erzeugt einen (eine Phase in einem Abtastintervall darstellenden) numerischen Wert nR, der der Frequenz eines zu·erzeugenden Partialtones entspricht, entsprechend den Inharmonischen-Ordnungsdaten INHM, den Ordnungsdaten η und dem Tastenwort KC, die über Leitungen 102, 103 und 104 von den Schieberegistern 89, 90 und 91 in der Anschlußeinheit 13 zugeführt werden. Die Schaltung 107 ist in Figur 19 detallierter dargestellt. Der Wert nR (im folgenden als "Frequenzzahl" bezeichnet) wird einem aus einem 256-stufigen Schieberegister 127 und einem Addierer 126 bestehenden Akkumulator zugeführt und wird für jede Abtastzeit einer Musiktonwellenform akkumuliert. In dem Schieberegister 127 erfolgt die Verschiebung mit Hilfe des Impulstaktes 0„. Das Zeitfenster des vorherigen Addi-
909843/0711
tionsergebnisses, das von der letzten Stufe (der 256. Stufe) des Schieberegisters 127 auf einen Eingangsanschluß des Addierers 126 rückgeführt wird, stimmt mit dem Zeitfenster der Frequenzzahl nR, die dem anderen Eingangsanschluß des Addierers 126 von der Frequenzdatengeneratorschaltung 107 zugeführt wird, überein. Daher kann die Akkumulierung für jedes Zeitfenster im Zeitteilungsbetrieb durchgeführt werden. Eine "Abtastzeit einer Musiktonwellenform" ist das Wiederholungsintervall desselben Zeitfensters, d.h. 256 Perioden des Impulstaktes 0q.
Wenn die Zahl der Additionen durch q (q=1, 2, 3 ...·) angegeben ist, dann kann das von dem Schieberegister ausgegebene Additionsergebnis mit nqR angegeben werden. Dieser Wert nqR wird immer dann auf 0 gelöscht, wenn er die Modulozahl des aus dem Addierer 126 und dem Schieberegister 127 bestehenden Akkumulators erreicht und anschließend wächst. Die Wiederholungsperiode bestimmt sich nach dem Wert der Frequenzzahl nR.
Der Ausgangswert nqR des Schieberegisters 127 wird als Adresseneingangssignal einer Sinuswellentabelle 128 zugeführt. Die Sinuswellentabelle 128 liest Amplitudenwerte entsprechend einer Sinuswellenform an einzelnen Abtastpunkten aus (sin nqR), wobei die Phase der Amplitudenwelle durch den Wert nqR gegeben ist. Bei dem vorliegenden Beispiel werden die Amplitudenwerte der in einzelnen Abtastpunkten gespeicherten Sinuswellenform als logarithmische Ausdrücke log (sin nqR) aus der Sinuswellentabelle 128 ausgelesen. Dieses Verfahren ist
909843/0711
vorteilhaft, weil der Hullkurvenskalierer 125 dann aus einem einfachen Addierer anstelle eines Multiplizierers bestehen kann. Das Ausgangssignal log (sin nqR) der Sinuswellentabelle 128 wird dem Hullkurvenskalierer 125 zugeführt. In diesem Zusammenhang sei vermerkt, daß es nicht erforderlich ist, daß die Sinuswellentabelle 128 die gesamte Sinuswellenform einer Periode enthält. Es braucht vielmehr lediglich ein einer Viertelperiode entsprechender Teil der Wellenform gespeichert zu werden. Wenn die Auslesesteuerung in der Weise durchgeführt wird, daß die Leserichtung in jeder Viertelperiode umgekehrt wird und daß die positiven und negativen Vorzeichen alle Viertelperiode wechseln, dann kann die Wellenform einer Periode erzeugt werden, indem lediglich die gespeicherte Wellenform einer Viertelperiode benutzt wird. Der Amplitudenwert log (sin nqR), der aus der Sinuswellentabelle 128 ausgelesen wird, ist nicht ein einfacher logarithmischer Ausdruck. Dies besagt, daß es sich um einen Dämpfungsbetrag handelt, d.h. einen negativen logarithmischen 0 Ausdruck (-log). Hierfür gibt es keinen besonderen Grund. Diese Maßnahme dient vielmehr dazu, den Konstruktionsanforderungen zu genügen, weil ein Ausdruck mit dem Dämpfungsbetrag oder einem mit einem negativen Logarithmus bei dem vorliegenden Ausführungsbeispiel in dem gesamten System dazu benutzt wird, den Dämpfungsbetrag in digitaler Form auszudrücken.
Generatorschaltung 107 für die Frequenzzahlen
Gemäß Figur 19 wird ein über Leitung 104 kommendes Tastenwort KC einem Umsetzer 129 zugeführt, wo es in ein 4-Bit-
909843/07M
Notenwort NOTE umgewandelt wird, das eine Note (in einer Oktave) kennzeichnet,und in einen 3-Bit-Oktaventeil OCT, der die Oktave angibt, der die Note angehört. Der Umsetzer 129 enthält einen Festwertspeicher (ROM).
Der Notenteil NOTE wird dem adressenspezifischen Eingangsanschluß eines Notenfrequenzzahlenspeichers 130 zugeführt, in dem Werte NOTER, die den 12 Noten C bis B in einer bestimmten Oktave proportional sind (bei diesem Beispiel der niedrigsten Oktave), in logarithmischer Form (log NOTER) gespeichert sind, und ein dem eingegebenen Notenzeichen NOTE entsprechender Wert log NOTER wird ausgelesen.
Der Oktaventeil OCT wird einem Oktavenskalierer (Addierer) 131 zugeführt, ohne in logarithmische Form umgewandelt zu werden. Die Oktaventeile OCT werden in numerische Werte
.0, 1, 2, 3 in Dezimalschreibweise umkodiert, beginnend mit der niedrigsten Oktave (O-Oktave), wie in Tabelle 2 angegeben ist.
Oktaventeil
(in Dezimal
schreibweise)
(OCT)
001 (1) Tabelle 2 Logarithmischer
Ausdruck
(log OCTR)
Oktave 0(niedrigste) 000 (0) 010 (2) Frequenzver
hältnis
(OCTR)
Iog21 = 0
1 011 (3) 1 Iog22 = 1
2 100 (4) 2 Iog24 = 2
3 4 Iog28 = 3
4 8 Iog216 = 4
16
909843/0711
Die Frequenzverhältnisse der Oktaven sind 1, 2, 4, 8,
16 Die logarithmischen Ausdrücke auf der Basis
dieser Frequenzverhältnisse sind 0, 1, 2, 3, 4 und
somit gleich den oben erwähnten kodierten Werten. Daher können die Oktaventeile OCT bereits als Daten benutzt werden, die die Frequenzverhältnisse in logarithmischer Form ausdrücken.
Die über Leitung 103 zugeführte Ordnungszahl η wird einem logarithmischen Umsetzer 132 zugeführt, wo sie in einen logarithmischen Ausdruck log η umgesetzt wird, der einem Oktavenskalierer 131 zugeführt wird. Der Oktavenskalierer 131 unterwirft ein Oktavenfrequenzverhältnis OCTR einer Skalierung mit einer Ordnung n. Zwei Eingangssignale des Oktavenskalierer 131 sind logarithmische Ausdrücke, so daß ein Addierer als Oktavenskalierer 131 eingesetzt werden kann.
Das Ausgangssignal log (n OCTR) des Oktavenskalierers 131 wird einem Partialton-Frequenzskalierer 133 zugeführt, an dessen anderem Eingang der logarithmische Ausdruck log NOTER der Frequenzzahl eines Tones ansteht. Der Skalierer 133 liefert Werte nR, die der Frequenz eines Partialtones proportional sind. Da die beiden Eingangssignale des Skalierers 133 logarithmische Ausdrücke sind, kann auch hier die Skalierung mit einem Addierer erfolgen. Das Ausgangssignal des Partialton-Frequenzskalierers 133 ist log(n OCTR NOTER), was als "log(nR)" bezeichnet wird. Wenn der Notenfrequenzwert NOTER mit dem Oktavenfrequenzverhältnis OCTR skaliert wird, dann ist das Ergebnis ein Wert, der der Grundfrequenz proportional ist. Dies wird durch R (OCTR-NOTER)
909843/Ö71I
angezeigt. Wenn die Grundfrequenz R mit der Ordnung η skaliert wird, dann kann man einen Wert nR erhalten, der der Frequenz eines Partialtones proportional ist. In dem Oktavenskalierer 131 und dem Partialton-Frequenzskalierer 133 wird die oben beschriebene Skalierung in logarithmischer Form ausgeführt und man erhält einen logarithmischen Ausdruck log nR, dessen Wert proportional der Frequenz eines Partialtones ist. Dieser Wert log nR wird einem Inharmonischen-Ordnungs-Skalierer 134 zugeführt.
Die Inharmonischen-Ordnungswerte, die über Leitung 102 zugeführt werden,und die über Leitung 103 kommenden Ordnungswerte η werden einer Tabelle 135 für Inharmonischen-Ordnungen zugeführt. Die Tabelle 135 besteht aus einem Festwertspeicher, aus dem Faktor Δη für die Inharmonischen-Ordnung entsprechend dem Inharmonischen-Ordnungswert INHM in logarithmischer Form (log Δη) für jede Ordnung η ausgelesen wird. Dieser Inharmonischen-Ordnungsfaktor Δη dient zur Realisierung einer Abweichung von einer regulären Partialtonfrequenz (die durch nR gegeben ist und ist nicht immer ein ganzzahliges Vielfaches der Grundfrequenz wie oben beschrieben). In der Tabelle 135 für die Inharmonischen-Ordnungen sind mehrere Gruppen von Inharmonischen-Ordnungsfaktoren Δη gespeichert. Eine Gruppe von Inharmonischen-Ordnungsfaktoren Δ η enthält 256 (= 2 ) Inharmonischen-Ordnungsfaktoren Δη entsprechend der Zahl, die die Ordnung η annehmen kann. Die Gruppen der Inharmonischen-Ordnungsfaktoren entsprechen den Werten der aus 3 Bit bestehenden Inharmonischen-Ordnungsdaten INHM. Die Gesamtzahl der Gruppen ist 8 (8=2 ).
Demnach wird für den Wert einer Inharmonischen-Ordnung INHM
909843/0711
eine Gruppe selektiert und unter den 256 Inharmonischen-Ordnungsfaktoren, die in der ausgewählten Gruppe enthalten sind, wird eine, die der .Ordnungszahl η entspricht, aus der Tabelle 135 ausgelesen.
In dem Pail, daß Inharmonischen-Beziehung nicht gefordert wird (der Wert INHM ist 0), ist der Inharmonischen-Ordnungsfaktor ^n jederzeit "1", d.h. der logarithmische Ausdruck logAn ist jederzeit "0". Generell wird in bezug auf den Partialton mit der Grundwellenkomponente (n = 1) die Frequenz nicht verschoben und daher ist log Δη = "0" mit n=1. Ein Verfahren zur Einstellung der konkreten Speicherinhalte von Tabelle 135 oder der Verteilung des Inharmonischen-Spektrums wird hier nicht detailliert gegeben, weil es sich hierbei um eine Frage der Konstruktion handelt. Der Inharmonischen-Ordnungsfaktor log An, der aus der Tabelle 135 für die Inharmonischen-Ordnungen ausgelesen wird, wird dem Inharmonischen-Ordnungsskalierer zugeführt.
Der Inharmonischen-Ordnungsskalierer 134 skaliert das reguläre Partialton-Frequenzverhältnis nR mit dem Inharmonischen-Ordnungsf aktor An und ändert so seinen Wert nR. Beide Eingangssignale des Skalierers 134 sind logarithmische Ausdrücke, so daß für den Skalierer 134 ein Addierer benutzt werden kann. Das Ausgsngssignal des Inharmonischen-Ordnungsskalierers 134 wird einem logarithmisch/ linear-Umsetzer 136 zugeführt, wo es in einen linearen Ausdruck verwandelt wird. Das Ausgangssignal des logarithmisch/linear-Umsetzers 136 wird als Partialton-Frequenzzahl nR dem Addierer 126 in Figur 16 zugeführt. Wenn die
909843/6711
Spektralverteilung nicht in der Inharmonischen-Beziehung vorgenommen ist, wird, wie schon erwähnt, das Ausgangssignal (log nR) des Partialton-Frequenzskalierers 133 durch den logarithmisch/linear-Umsetzer 134 unverändert geliefert. In diesem Fall ist das Ausgangssignal des Umsetzers 136 "nq". Nach Veränderung durch den Inharmonischen-Ordnungsfaktor Δη wird das Ausgangssignal des logarithmisch/linear-Umsetzers 134 "Δη-nq". Aus Gründen der einfacheren Beschreibung werden alle der Partialton-Frequenzzahlen dem Addierer 126 (Figur 16) von der Frequenzzahlen-Generatorschaltung 107 zugeführt.
Erzeugung der Hüllkurve
Die in Figur 14 dargestellten Hüllkurvenwellenformen erhält man unter Verwendung des Hüllkurvenrechners 108 und ' des Anhall-Wellenformspeichers 137 (Figur 16).
Gemäß Figur 16 speichert das 256-stufige Schieberegister 138 das Rechenergebnis des Hüllkurvenrechners 108 für jedes Zeitfenster. Das Ausgangszeichen ENV (d.h. das vorherige Rechenergebnis) der letzten Stufe (der 256. Stufe) des Schieberegisters 138 wird zum Hüllkurvenrechner 108 zurückgegeben, so daß es für die Hüllkurvenberechnung benutzt werden kann. Das Ausgangssignal des Schieberegisters 138, d.h. das Rechenergebnis (das als Hüllkurvenwert ENV bezeichnet wird) des Hüllkurvenrechners 108 wird dem Anhall-Wellenformspeicher 137 zugeführt, so daß es als Adressensignal zum Lesen der Wellenform eines Anhallteiles benutzt wird. Für andere Hüllkurven-
909843/0711
wellenformteile als den Anhallteil werden die Hüllkurvenwerte unverändert benutzt.
Die Hüllkurvenzahl ENV hat sieben Bits. Von diesen sieben Bits werden die sechs niedrigstwertigen Bits dem Anhall-Wellenformspeicher 137 und dem An-Eingangsanschluß des Selektionstores 139 zugeführt. Das Lese-Ausgangssignal des Anhall-Wellenformspeichers 137 wird dem B-Eingangsanschluß des Selektionstores 139 zugeführt. Das höchstwertige Bit (MSB) der Hüllkurvenzahl wird an den Steuereingang des Selektionstores 139 gelegt. Wenn dieses Bit MSB 11O" ist, selektiert das Selektionstor 139 die Lesewellenform aus dem Anhall-Wellenformspeicher 137, die am B-Eingang des Selektionstores 139 ansteht und gibt diese aus. Wenn das Bit MSB "1" ist, selektiert das Selektionstor 139 die sechs niedrigstwertigen Bits der Hüllkurvenzahl ENV und gibt sie aus.
Figur 20 zeigt den Hüllkurvenrechner 108 in detaillierter Form. Das vorherige Rechenergebnis (256 Zeitfenster vorher) , das von dem Schieberegister 138 (Figur 16) zurückgegeben wurde, d.h. die Hüllkurvenzahl ENV, und ein Hüllkurvenvariationswert/ENV, der von einem Datenselektor 141 kommt, werden in einem Addierer 140 addiert und das Additionsergebnis wird dem Schieberegister 138 (Figur 16) zugeführt. Die Zeichen TA*, TD1*, TD2* und DR, die die Zeitelemente der Bereiche einer Hüllkurve betreffen und die im Zeitteilungsbetrieb entsprechend den Zeitfenstern von der Anschlußeinheit 13 (Figur 15) über Leitung 106 zugeführt werden, werden an einen Anhallspeicher 142, einen ersten Abklingspeicher 143, einen zweiten Abkling-
90984 3/0711
speicher 144 bzw. einen Dämpfungsfaktorspeicher 145 gelegt. Die Speicher 142 bis 145 sind Festwertspeicher, in denen Werte, die den Neigungen der ansteigenden oder abfallenden Teile der Hüllkurve entsprechen, vorgespeichert sind und die Speicher 142 bis 145 geben jeweils die Steigungswerte {Variationsdaten Δ TA, ATD1, Δ TD 2 und ADR) entsprechend den Werten der Eingangszeichen TA*, TD1*, TD2* und DR aus. Diese Variationsdaten ΔΤΑ, ATD1, ATD2 und ÄDR werden einem Datenselektor 141 zugeführt. Bei der Berechnung der Hüllkurve des Anhallteiles wird der Variationswert Δ TA von einem Selektor 141 selektiert und als Hüllkurvenvariationswert ΔENV dem Addierer 140 zugeführt. Bei der Berechnung der Hüllkurve des ersten Abklingbereiches wird der Variationswert ΔΤΟ1 für den ersten Abklingbereich selektiert. Bei der Berechnung der Hüllkurve des zweiten Abklingbereiches wird der zweite Abklingvariationswert ATD2 selektiert und in dem Fall, daß es erforderlich ist, die Hüllkurve schnell zu dämpfen, wird das Ausgangssignal & DR des Dämpfungsfaktorspeichers 145 selektiert. Der so selektierte Wert wird als Hüllkurvenvariationswert Δ ENV dem Addierer 140 zugeführt.
In dem Datenselektor 141 erfolgt die Zeitsteuerung des Schaltens der Selektion der Zeichen Δ TA, ΔΤϋ1, ΔΤϋ2 und DR entsprechend dem betreffenden Hüllkurvenmodus und den jeweils anstehenden Hüllkurvendaten ENV.
Die Daten für den Hüllkurvenmodus EMQ, EM^ und EM2, die von der Anschlußeinrichtung 13 (Figur 15) über Leitung 105 im Zeitteilungsbetrieb entsprechend den Zeitfenstern
909843/07U
ankommen, werden von den UND-Schaltungen 146 bis 150 gemäß den in Tabelle 1 angegebenen Beziehungen dekodiert. Die durch Anlegen der Zeichen EM„ bzw. EM1 an die Inverter 151 und 152 entstandenen Signale werden der UND-Schaltung 146 zugeführt. Wenn der Wert EMQ, ENL "0 0" ist, dann wird das Ausgangssignal NORM auf "1" gesetzt. Mit anderen Worten: Wenn der Normalmodus eingestellt ist, wird von·der UND-Schaltung 146 das Signal NORM für den Normalmodus ausgegeben. Die UND-Schaltung 147 dient zum Dekodieren des Zeichens für den Schlagmodus (EMQ=0 und EM1=I). Das invertierte Signal des Zeichens EMfi und das Zeichen EM1 werden der UND-Schaltung 147 zugeführt. Wenn der Schlagmodus eingestellt ist, wird das Schlagmodussignal PERM erzeugt.
Die UND-Schaltungen 148 und 149 dekodieren das Zeichen (EM„=1 und EM1=O) für den Stakkatomodus. Zusätzlich zu den Zeichen EMQ und EM1 wird der UND-Schaltung 148 das Zeichen EM„ zugeführt und ein durch einen Inverter 153 invertiertes Signal des Zeichens EM» wird de± UND-Schaltung 149 zugeführt. Wenn der Stakkatomodus eingestellt ist und eine Taste losgelassen wird, geht das Ausgangssignal· der UND-Scha^ung 149 zugeführt. Wenn der Stakkatomodus eingestellt ist und eine Taste l·osgel·assen wird, geht das Ausgangssignal· der UND-Scha^ung 148 auf "1" und man erhä^ ein "Stakkato-Aus"-Signal· STAOF. Wenn der Stakkatomodus eingesteht ist und eine Taste gedrückt wird, geht das Ausgangssignal der UND-Schaitung 149 auf "1" und man erhält ein "Stakkato-Ein"-Signal· STAON.
909843/0711
Die UND-Schaltung 150 dient zur Dekodierung des Zeichens (EMq=I, EM1=I und EM2=I) des Modus des zwangsläufigen Endes. Die Zeichen EMQ, EM. und EM- werden der UND-Schaltung 150 zugeführt. Im Falle des Modus des zwangsläufigen Endes wird das Ausgangssignal der UND-Schaltung 150 auf "1" gesetzt und ein entsprechendes Modussignal FORCE für den Modus des zwangsläufigen Endes wird erzeugt.
Das Normalmodussignal NORM, das Schlagmodussignal PERM und das Signal für den Modus des vorzeitigen Endes FORCE werden dem Datenselektor 141 zugeführt. Das Zeichen EM2 wird als Loslaßsignal RLSE, das das Loslassen einer Taste kennzeichnet, dem Datenselektor 141 zugeführt.
Das Zeichen LD für das erste Abklingniveau, das über Leitung 106 von der Anschlußeinheit 13 (Figur 15) geliefert wird, wird einem Abklingniveauspeicher 154 zugeführt. .Dieser Abklingniveauspeicher 154 ist ein Festwertspeicher, in dem eine Anzahl von Hullkurvenamplxtudendaten als negativlogarithmische Ausdrücke (Dämpfungsbetrag) vorgespeichert sind und in dem ein Hüllkurvenwert,der 0 in einer Adressenstelle gespeichert ist, die von dem eingegebenen ersten Abklingniveau LD angegeben ist, ausgelesen wird. Der so aus dem Abklingniveauspeicher 154 ausgelesene Wert wird dem B-Eingang eines Komparator s 155 zugeführt, an dessem Α-Eingang der Hüllkurvenwert ENV ansteht, der von dem oben erwähnten Schieberegister 138 (Figur 16) zurückgeführt wurde.
Der Komparator 155 erkennt die Tatsache, daß der Wert der Hüllkurvenzahl ENV kleiner wird als ein durch das Abklingniveau LD vorgegebener Wert. Wenn A=B ist,
909843/0711
Il -I Il
wird das Ausgangssignal S&2D des Komparators 155 auf "1 gesetzt. Wenn die Hüllkurvenzahl ENV mit dem Wert des ersten Abklingniveaus LD übereinstimmt, wird A=B festgestellt. Wenn der von der Hüllkurvenzahl ENV angegebene Amplitudenwert kleiner wird als das dem Wert LD entsprechende Amplitudenniveau stellt sich A>B ein. Mit anderen Worten: Der Amplitudenwert wird bei diesem Äusführungsbeispiel durch den Dämpfungsbetrag ausgedrückt und wenn der Wert der Hüllkurvenzahl ENV groß ist, ist das Amplitudenniveau klein. Wenn beispielsweise alle Bits der aus sieben Bits bestehenden Hüllkurvenzahl ENV "1" sind, bedeutet dies das kleinste Niveau (O-Niveau), und wenn alle Bits "0" sind bedeutet dies das maximale Amplitudenniveau. Das Ausgangssignal S&2D des Komparators 155 wird dem Datenselektor 141 zugeführt.
Alle Bits der Hüllkurvenzahl ENV werden einer UND-Schaltung 156 mit sieben Eingängen zugeführt. Wenn alle Bits der Hüllkurvenzahl ENV "1" sind, dann geht das Ausgangssignal der UND-Schaltung 156 auf "1". Dies bedeutet, daß die Amplitude der Hüllkurvenwellenform auf O-Niveau ist (d.h. die Tonerzeugung beendet ist). Das Ausgangssigrial "1" der UND-Schaltung 156 wird als Hüllkurvenendesignal ENVF dem Datenselektor 141 zugeführt. Das höchstwertige Bit MSB der Hüllkurvenzahl ENV wird als Anhallendesignal AF dem Datenselektor 141 zugeführt. Wenn das höchstwertige Bit der Hüllkurvenzahl ENV "0" ist, wird von dem Selektionstor 139 (Figur 16) die Ausgangs-Anhallwellenform des Anhallwellenformspexchers selektiert, wie oben schon erläutert wurde, und die Selektion der Anhallwellenform wird unterbrochen, wenn das höchstwertige Bit
9098-43/0711
auf "1" wechselt. Auf diese Weise bedeutet das höchstwertige Bit " 1 " die Beendigung der Anhallwellenform, so daß es als Anhallendesignal AF benutzt werden kann.
Der Datenselektor 141 wird beim Normalmodus oder beim Schlagmodus benutzt, während er beim Stakkatomodus nicht benutzt wird.
Stakkatomodus
Das "Stakkato-Ein-Signal STAON",das von der UND-Schaltung 149 in Figur 2 0 geliefert wird, wird einer Gruppe von sechs ODER-Schaltungen 157 zugeführt, die an der Ausgangsseite des Addierers 140 vorgesehen sind,und wird ferner bei einem Inverter 158 an die UND-Schaltung 159 gelegt. Die sechs niedrigstwertigen Bits, die von dem Addierer 140 ausgegeben werden, werden der ODER-Schaltungsgruppe 157 zugeführt und das höchstwertige Bit (MSB) wird der UND-Schaltung 159 zugeführt. Wenn daher eine Taste im Stakkatomodus gedrückt wird, werden die sechs niedrigstwertigen Bits des Zeichens, das vom Addierer 140 dem Schieberegister 138 (Figur 16) in den entsprechenden Zeitfen-0 stern zugeführt wird, nämlich die sechs niedrigstwertigen Bits der Hüllkurve, zwangsläufig auf "1" gesetzt und das höchstwertige Bit wird zwangsweise auf "0" gesetzt. Daher hat die von dem Schieberegister 138 in den Zeitfenstern ausgegebene Hüllkurvenzahl immer den Wert "01 1 1 1 1 1" und der Anhall-Wellenformspeicher 137 (Figur 16) liest die Amplitudendaten für das Maximalniveau aus (entsprechend dem Spitzenniveau LP in Figur 14 (c)), die einer
909843/0711
Adresse "1111111" entsprechen. Das Selektionstor 139 (Figur 16) selektiert den von dem Anhallwellenformspeicher 137 entsprechend dem Selektionssteuersignal "0" (MSB) ausgegebenen Maximalniveauwert und gibt diesen aus.
Das "Stakkato-Aus"-Signal STAOF, das von der UND-Schaltung 148 in Figur 20 ausgegeben wird, wird über eine ODER-Schaltung 160 (Figur 20) einem Inverter 161 zugeführt und von diesem invertiert. Als Folge hiervon wird einer Gruppe von UND-Schaltungen 162 ein 0-Signal zugeführt.
die Gruppe der UND-Schalf.ungen 162 ist in der nächsten Stufe der oben erwähnten ODER-Schaltungsgruppe 157 und der UND-Schaltung 159 vorgesehen und unterbricht den Weg vom Addierer 140 zum Schieberegister 138 (Figur 16) mit Hilfe des 0-Signals vom Inverter 161. Hierdurch wird dem Schieberegister 138 der Wert "0000000" zugeführt.
Die von dem Schieberegister in dem entsprechenden Zeitfenster ausgegebene Hüllkurvenzahl lautet "0000000" und der Anhall-Wellenformspeicher 137 liest den Amplitudenwert des kleinsten Niveaus (0-Niveaus) entsprechend der Adresse "0000000" aus. Das Selektionstor 139 selektiert den Amplitudenwert des 0-Niveaus, der von dem Anhall-Wellenformspeicher 137 als Antwort auf das höchstwertige Bit "0" ausgegeben wird.
Auf die oben beschriebene Weise erhält man im Falle des Stakkatormodus eine Hüllkurvenwellenform, wie sie in Figur 14(c) dargestellt ist, in Abhängigkeit vom Drücken und Loslassen einer Taste.
9Ö98U/07U
Normalmodus und Schlagmodus
. Der Datenselektor 141, der beim Normalmodus und beim Schlagmodus eine wichtige Rolle spielt, ist detailliert in Figur 21 dargestellt. Figur 22 gibt die Beziehungen zwischen den Änderungen der Werte der Hüllkurvenzahl ENV und der Erzeugung verschiedener die Änderungen begleitender Daten beim Normalmodus und beim Schlagmodus an.
Das neu-Anforderungs-Ladesignal NCLD, das von der Anforderungslogik 64 (Figuren 8 und 10) geliefert wird, wird der ODER-Schaltung (Figur 20) zugeführt, um die UND-Schaltungsgruppe 162 zu sperren. Daher werden alle Bits der Hüllkurvenzahl ENV zu Beginn der Zuordnung auf "0" gesetzt. Da das neu-Anforderungs-Ladesignal NCLD nur einmal erzeugt wird, wird die UND-Schaltungsgruppe anschließend geöffnet gehalten. Wenn es sich bei dem Modus nicht um einen Stakkatomodus handelt, sind sowohl das "Stakkato-Ein"-Signal STAON als auch das "Stakkato-Aus"-Signal STAOF "0" und die UND-Schaltungsgruppe 162 sowie die UND-Schaltung 159 bleiben geöffnet. Das Ausgangssignal des Addierers 140 wird daher dem Schieberegister (Figur 16) unverändert zugeführt.
Wie aus Figur 22 hervorgeht, erhöht sich der Wert der Hüllkurvenzahl ständig, bis alle ihre Bits von "1" auf "0" gewechselt haben. Die Stufenhöhe bestimmt sich nach den Variationsdaten Δ TA, ATD1 , ATD2 und ADR. Zu Beginn wird der Variationswert £χΤΑ für den Anhall repetierend von dem Addierer 140 wiederholt. Bei dieser repetierenden Addition des Wertes Δ TA wird der Wert der Hüllkur-
9Q9843/0711
venzahl ENV stufenweise vergrößert. Wenn das Anhallendesignal AF erzeugt wird, wird der Wert &.TA für den ersten Abklingbereich in den Wert ΔTD1 umgeschaltet.
Während der Addition der Werte ΔTA ist das höchstwertige Bit der Hüllkurvenzahl ENV "0" und der aus dem Anhall-Wellenformspeicher 137 (Figur 16) ausgelesene Amplitudenwert wird von dem Selektionstor 139 selektiert. Während dieser Periode erhöht sich.die 6-Bit-Adresse für den Speicher 137 von "000000" auf "111111" (in Dezimalschreibweise: 63). Die Anhall-Wellenformamplituden an 64 Abtastpunkten von der Adresse 0 bis zur Adresse 63 sind in dem Anhall-Wellenformspeicher 137 gemäß Figur 23 gespeichert. Die Amplituden sind in Dämpfungsbeträgen ,oder als negative Logarithmen, in der oben beschriebenen Weise ausgedrückt. Das Amplitudenniveau 0 (entsprechend der Adresse 0) beträgt "111111" und das maximale Amplitudenniveau (entsprechend der Adresse 63) beträgt 11O 0 0 0 0 0".
Die Hüllkurvenzahl ENV wird ausschließlich vergrößert. Wenn das höchstwertige Bit (MSB) einmal auf "1" gesetzt worden ist, dann wird die von dem Schieberegister 138 ausgegebene Hüllkurvenzahl ENV von dem Selektionstor 139 solange selektiert, bis die Hüllkurve beendet ist.
Die sechs niedrigstwertigen Bits der Hüllkurvenzahl werden durch repetierende Addition des ersten Abklingvariationswertes &TD1 graduell von "00000 0" aus vergrößert. Die sechs niedrigstwertigen Bits werden von dem Selektionstor 139 als Hüllkurvenamplituden unverän-
909843/07H
dert selektiert. Der Wert "000000" entspricht dem maximalen Amplitudenniveau in negativ-logarithmischer Schreibweise, wie oben erläutert. Daher bedeutet das graduelle Inkrement des Wertes von "0 0 0 0 0 0", daß die Amplitude sich von dem maximalen Amplitudenwert aus graduell verringert. Daher kann man für den ersten Abklingbereich (DT1) die in den Figuren 14(a) und 14(b) dargestellten Hüllkurvenwellenformen erreichen.
Bei Erreichen des ersten Abklingniveaus LD gibt der Komparator 155 (Figur 20) das Signal S&2D aus. Im Falle des Normalmodus wird der Wert nicht von dem Datenselektor selektiert. Dies bedeutet, daß der Variationswert Δ ENV auf "0" gesetzt wird, um den Wert der Hüllkurvenzahl ENV unverändert beizubehalten. Auf diese Weise erhält man die Hüllkurve für einen Dauerbereich, bei dem das erste Abklingniveau LD konstant gehalten wird. Wenn das Loslaßsignal RLSE als Antwort auf das Loslassen einer Taste erzeugt wird, wird daher der zweite Abklxngvariationswert ATD2 selektiert und repetierend einer Addition im Addierer 140 unterzogen. Dadurch wird der Wert der Hüllkurvenzahi ENV stufenweise erhöht, bis schließlich alle Bits der Hüllkurvenzahl auf "1" stehen. Dann wird das Hüllkurvenende signal ENVF erzeugt und die Additions der Werte ÄTD2 wird beendet. Das Inkrement der Amplitudendaten als negativer logarithmischer Ausdruck bedeutet den Abfall des tatsächlichen Amplitudenniveaus. Man erhält daher für den zweiten Abklingbereich TD2 eine Hüllkurve, wie sie in Figur 14(a) dargestellt ist. Nach der Erzeugung des Hüllkurvenendesignals ENVF werden die Bits der Hüllkurvenzahl ENV auf "1" gehalten. Dies bedeutet, daß die Dämpfung am weitesten fortgeschritten ist.
909843/0711
Im Schlagmodus wird der zweite Abklingvariationswert ATD2 unmittelbar dann selektiert, wenn das Signal S&2D erzeugt wird. Dieser Wert A.TD2 wird repetierend addiert. Auf diese Weise erhält man eine Hüllkurvenwellenform für den zweiten Abklingbereich TD2, wie er in Figur 14(b) dargestellt ist, im Schlagmodus. Wenn das Hüllkurvenendesignal ENVF erzeugt wird, bevor die Taste losgelassen ist, dann wird der Variationswert ÄDR für den Dämpfungsfaktor nicht benutzt. Wenn jedoch die Taste während des Dämpfungsbereichs losgelassen wird und das Loslaßsignal erzeugt ist, dann wird der Wert Λ TD2 auf den Wert ADR umgeschaltet und dieser Wert &.DR wird repetierend wiederholt bis zur Erzeugung des Hüllkurvenendesignals ENVF.
In dem Datenselektor 141 (Figur 21) sind verschiedene Logiken vorgesehen, um die Werte ΔTA, &TD2, &TD2 und Δ DR in der beschriebenen Weise zu schalten. Der Wert UTA wird einem Tor 163 zugeführt, das von dem Ausgangssignal einer UND-Schaltung 164 gesteuert ist. Ein durch Invertieren des Anhallendesignals AF entstandenes Signal wird an die UND-Schaltung 164 gelegt. Wenn das Anhallendesignal AF "0" ist, wird der Wert Δ TA von dem Tor 163 selektiert und als Hüllkurvenvariationswert ENV dem Addierer 140 (Figur 20) über eine ODER-Schaltung 165 zugeführt. Wenn das Anhallendesignal AF auf "1" steht, dann wird der Wert ATA nicht selektiert.
Die Zeichen ATD1, Δ.Τϋ2 und &DR werden jeweils Toren 166, 167 und 168 zugeführt. Die Tore 166, 167 und 168 werden von den Ausgangssignalen einer UND-Schaltung 169 bzw. von ODER-Schaltungen 170 und 171 gesteuert. Das Anhallendesignal AF und ein durch Invertieren des Signals
909843/07It
S&2D in einem Inverter 172 entstandenes Signal werden an die UND-Schaltung 169 gelegt. Daher wird das Zeichen ÄTD1 für die Zeitspanne vom Anstieg des Anhallendesignals AF bis zu dem Moment unmittelbar vor dem Anstieg des Signals S&2D selektiert.
Die Ausgangssignale der UND-Schaltungen 173 und 174 werden an die ODER-Schaltung 170 gelegt. Das Normalmodussignal NORM, das Loslaßsignal RLSD und ein durch Invertieren des Hüllkurvenendesignals ENVF entstandenes Signal werden an die UND-Schaltung 173 gelegt. Im Normalmodus, wenn die Amplitude das erste Abklingniveau (LD) erreicht, werden die Daten solange nicht selektiert, bis die Taste losgelassen wird, so daß die erste Abklingamplitude beibehalten wird. Beim Loslassen der Taste (RLSE = "1") wird das Zeichen &TD2 selektiert. Bei Beendigung der Hüllkurve (ENVF = "1") wird die UND-Schaltung 173 gesperrt und das Zeichen ΔΤϋ2 blockiert.
Der UND-Schaltung 174 werden das Schlagmodussignal PERM, das invertierte Loslaßsignal RLSE und das invertierte Hüllkurvenendesignal ENVF zugeführt. Daher wird beim Schlagmodus,unmittelbar wenn die Amplitude das erste Abklingniveau LD erreicht, das Zeichen ΔΤΟ2 selektiert (weil das Loslaßsignal RLSE "0" und sein invertiertes Signal "1" ist. Wenn die Taste losgelassen wird, wird die UND-Schaltung 174 gesperrt und das Zeichen Δτϋ2 blockiert.
An die UND-Schaltung 174 werden das Schlagmodussignal PERM, das Loslaßsignal RLSE und das invertiert Hüllkurvenendesignal ENVF gelegt. Beim Loslassen einer Taste
909843/0711
wird daher die UND-Schaltung 175 geöffnet und ihr Ausgangssignal wird über eine ODER-Schaltung 171 dem Tor 168 zugeführt, um das Zeichen Δ DR zu selektieren. Im Schlagmodus wird also, wenn die Taste losgelassen wird, das Zeichen A.TD2 in das Zeichen h. DR umgeschaltet. Wenn die Hüllkurve beendet wird, bevor die Taste losgelassen ist, dann wird das Signal ENVP auf "1" gesetzt und das Zeichen Δ DR wird nicht selektiert.
Für den "Zwangsendemodus" ist eine UND-Schaltung 176 vorgesehen. Das Signal FORCE für den Zwangsendemodus und das invertierte Hüllkurvenendesignal ENVF werden an die UND-Schaltung 176 gelegt. Das Zwangsendemodussignal FORCE wird in invertierter Form den UND-Schaltungen 164, 169, 173, 174 und 175 zugeführt. Diese UND-Schaltungen 164, 169, 173, 174 und 175 werden daher beim Zwangsendemodus gesperrt.
Gemäß Figur 20 wird das von der UND-Schaltung 150 gelieferte Zwangsendemodussignal FORCE dem Dämpfungsfaktorspeicher 145 zugeführt. Als Antwort auf das Zwangsendemodussignal FORCE liest der Dämpfungsfaktorspeicher 145 die höchste Rate, d.h. das Zeichen Δ DR mit dem höchsten Wert, aus. Bei diesem Vorgang bleibt der Dämpfungsfaktor DR, der dem anderen Eingangsanschluß des Dämpfungsfaktorspeichers 145 zugeführt wird, unberücksichtigt. Mit anderen Worten: Das Zwangsendemodussignal FORCE hat Vorrang gegenüber dem Dämpfungsfaktor DR.
Wenn das Tor 168 von dem Ausgangssignal "1" der UND-Schaltung 176 in Figur 21 geöffnet ist, stellt das dem
909843/0711
Tor 168 zugeführte Zeichen Δ. DR das durch das Zwangsendemodussignal FORCE ausgelesene Maximumzeichen dar. Die Anstiegsrate der Hüllkurvenzahl ENV ist daher sehr klein und man erhält eine abrupte Dämpfung der Hüllkurvenwellenform. Auf diese Weise erfolgt der "Zwangsendemodus".
Die Hüllkurvenzahl ENV, die von dem Schieberegister 138 (Figur 16) im Zeitteilungsbetrieb entsprechend den Zeitfenstern ausgegeben wird, wird ferner dem Komparator 66 in Figur 8 zugeführt und als Wert benutzt, der die den Zeitfenstern zugeordneten Partialtöne repräsentiert.
Auf die oben beschriebene Weise wird das am Ausgangs des Selektionstores 139 (Figur 16) entstehende Amplitudensignal für die Hüllkurvenwellenform einem Eingang des Spitzenwertskalierer 178 (Figur 16) zugeführt. Am anderen Eingang des Spitzenwertskalierers steht ein Spitzenwertfaktor, der aus dem Spitzenwertspeicher ROM 109 ausgelesen wird. Der Spitzenwertspeicher ROM 109 ist ein Festwertspeicher, der die Spitzenwerte LP* empfängt, die entsprechend den Zeitfenstern über Leitung 106 von der Anschlußeinheit 13 (Figur 15) geliefert werden und daraufhin entsprechend den Werten LP* einen Spitzenwertfaktor in logarithmischer Form ausliest.
Der Spitzenwertskalierer 178 skaliert das von dem Selektionstor 139 gelieferte Amplitudensignal der Hüllkurvenwellenform mit dem oben erwähnten Spitzenwertfaktor. Zu diesem Zweck kann ein Addierer als Spitzenwertskalierer 178 verwandt werden, weil beide Eingangswerte in logarithmischer Form vorliegen. Da die gesamte Hüllkurvenwellen-
909843/0711
form mit dem Spitzenwert (LP) skaliert wird, kann das erste Abklingniveau nicht ausschließlich von dem ersten Abklingwert (LD) bestimmt werden. Dies bedeutet, daß die tatsächliche erste Abklingamplitude (LD'LP) ist, wie in den Figuren 14(a) und 14 (b) angegeben ist.
Das skalierte Amplitudensignal der Hüllkurvenwellenform (im folgenden als "Hüllkurvenskalierungsfaktor log E" bezeichnet) wird von dem Spitzenwertskalierer 178 ausgegeben und dem Hüllkurvenskalierer 125 zugeführt. Dieser skaliert mit dem Hüllkurvenskalierungsfaktor E die Amplitude des Sinuswellensignals (sin nqR) eines Partialtones, der aus der Sinuswellentabelle 128 ausgelesen wurde, so daß ein Partialton-Wellenformsignal (E sin nqR) entsteht, dem eine Hüllkurve gegeben wurde. Da die beiden Eingangssignale des Skalierers 125 als logarithmische Ausdrücke vorliegen, kann als Skalierer 125 ein Addierer benutzt werden.
Das Partialton-Wellenformsignal log(E sin nqR), das von dem Hüilkurvenskalierer 125 ausgegeben wird, wird einem Logarithmus/Linear-Umsetzer 179 zugeführt, wo es in einen linearen Wert umgewandelt wird. Das Ausgangssignal (E sin nqR) des Logarithmus/Linear-Umsetzers 179 wird dem Akkumulator 180 zugeführt. Im Akkumulator 180 werden die Wellenformsignale E sin nqR der den mit der Zeitsteuerung durch den Impulstakt 0Q aufeinanderfolgenden Zeitfenstern zugeordneten Partialtöne akkumuliert, wodurch eine Wellenform durch Kombinierung der Partialtonamplituden in einem Abtastintervall entsteht. Obwohl der Akkumulator 180 die Akkumulation im Impulstakt 0q aus-
909843/07!!
— Q 9 —
führt, wird sein Akkumulationsinhalt von dem Signal BTMAX (Figur 9(b)) gelöscht, das alle 256 Zeitfenster von dem Zähler 68 (Figur 9(a)) geliefert wird. Dieses Signal BTMAX dient also als Ladebefehl für das Register 181. Obwohl es nicht detailliert dargestellt ist, besteht eine geringe Zeitverzögerung zwischen dem Laden und dem Löschen, so daß der Akkumulator 180 durch das Signal BTMAX erst gelöscht wird, nachdem sein Akkumulationsergebnis in das Register 181 übertragen worden ist.
Das Register 181 hält die zusammengesetzte Wellenformamplitude S(E sin nqR) der Partialtöne für ein Abtastintervall (Figur 9(b)) fest. Der so festgehaltene Inhalt wird bei jeder Erzeugung des Signals BTMAX neugeschrieben. Der Inhalt £(E sin nqR) des Registers 181 wird dem Digital/Analog-Umsetzer 15 (Figur 1) als Musikttonwellenform zugeführt und von diesem Umsetzer in ein Analogsignal umgewandelt.
Das Programm der Partialtonzuordnung
Zunächst wird die Verarbeitung der vor-neu-Anforderungsdaten PNCL unter Bezugnahme auf die Figuren 4 und 24 erläutert.
Bei Erzeugung des vor-neu-Anforderungssignals PNCL werden das Tastenwort KC und der Berührungswert TC (der erste Berührungswert TC1) in diejenigen Adressenpositionen der Speicher RAM 61 bzw. RAM 62 eingeschrieben, die von dem Zählwert PNCLD des PNCL-Zählers 58 bezeich-
909843/0711
net werden. Wenn danach dem PNCL-Zähler 58 der Erhöhungsimpuls INC- zugeführt wird, erhöht sich der Zählwert PNCLC des PNCL-Zählers 58 zur Fortschaltung der Adressen. Danach werden bei Erzeugung des vor-neu-Anforderungswertes PNCL einer anderen Taste das Tastenwort und der Berührungswert TC für die Taste in den auf diese Weise fortgeschalteten Adressen der Speicher RAM gespeichert.
Auf die oben beschrieben Weise werden das Tastenwort KC
und das Berührungswort TC1 einer gedrückten Taste in den Adressen der RAMs 61 und 62 gespeichert, beginnend mit
der Adresse, die die kleinste Zahl hat.
Im folgenden wird die Verarbeitung des neu-Anforderungswertes NCL und des neu-Loslaßwertes NRLS beschrieben. Zu Beginn werden der neu-Anforderungswert NCL und der neu-
Loslaßwert NRLS in einem gemeinsamen "Zuordnungs-Hauptablauf" verarbeitet. Figur 25 zeigt ein Flußdiagramm des Zuordnungs-Hauptablaufs. Wenn der neu-Anforderungswert
NCL oder der neu-Loslaßwert NRLS erzeugt wird, wird die
Tastenabtastung unterbrochen. Im Fall des neu-Anforde-
rungszeichens NCL wird das Programm auf einen neu-Anforderungsablauf NCLR fortgeschaltet und im Fall des neu-Loslaßzeichens NRLS wird das Programm auf einen neu-Loslaßablauf fortgeschaltet.
Neu-Anforderungsablauf
Das Flußdiagramm des neu-Anforderungsablaufs NCLR ist in den Figuren 26 bis 29 dargestellt. Wenn das neu-Anforde-
rungszeichen NCL erzeugt wird, wird ein Prograinmvorgang für die "Wiederanschlag"-Entscheidung entsprechend der in Figur 26 angegebenen Prozedur ausgeführt. Dem Absolufeende-Flip-Flop 100 (Figur 15) wird im Zeittakt der Erzeugung des Signals BTMAX,das für jedes Abtastintervall einer Musiktonwellenform erzeugt wird, ein Setzsignal FQSET zugeführt. Daraufhin geht das Signal am SEtzausgang FQ des Flip-Flops 100 auf "1" und die UND-Schaltung 124 (Figur 17) in der Hüllkurvenmodus-Steuerschaltung 98 wird geöffnet. In demjenigen Zeitfenster, in dem der Komparator 101 (Figur 15) das Tastenkoinzidenzsignal KEQ erzeugt, werden daher die beiden niedrigstwertigen Bits EMQ, EM.. der Hüllkurvenzahl auf "1 1" gesetzt. Das dem einen Eingang des Komparators 101 von der Tastenlogikeinheit 11 zugeführte Tastenwort KC repräsentiert eine zuzuordnende Taste (bei der es sich um die neu gedrückte Taste handelt, um das neu-Anforderungszeichen NCL zu liefern), und der Inhalt dieses Tastenwortes wird festgehalten, da die Tastenabtastung unterbrochen worden ist. Die Tastenwörter, die die den jeweiligen Zeitfenstern zugeordneten Partialtöne repräsentieren, werden dem anderen Eingangsanschluß des Komparators 101 vom Schieberegister 91 (Figur 15) im Zeitteilungsbetrieb zugeführt. Die Erzeugung des Tastenkoinzidenssignals KEQ vom Komparator 101 bedeutet daher, daß die Taste, der der Partialton angehört, demjenigen Schlitz zugeordnet worden ist, in dem das Signal KEQ erzeugt wurde, dieselbe ist wie eine neu gedrückte Taste, die zugeordnet werden soll. Dies bedeutet, daß eine einmal losgelassene Taste von neuem gedrückt worden - ist, d.h. "Wiederanschlag"· Wenn das Zeichen ME~, das das Loslassen einer Taste angibt, in dem Zeitfenster, in
8 /}
dem das Tastenkoinzidenzsignal erzeugt worden ist, "1" ist, wird der Hüllkurvenwert EM2, EM1, EM„ auf "1 1 1" gesetzt, um so den Zwangsendemodus anzugeben. Die Hüllkurve des dem Zeitfenster, in dem das Tastenkoinzidenzsignal KEQ erzeugt worden ist, zugeordneten Partialtones wird daher abrupt gedämpft.
Nachdem das Setzsignal FQSET dem Flip-Flop 100 zugeordnet worden ist, wird die Erzeugung des Signals BTMAX von neuem überwacht. Bei Erzeugung des Signals BTMAX wird dem Flip-Flop 100 ein Rücksetzsignal FQRESET zugeführt. Als Folge hiervon geht das Setzausgangssignal FQ auf "0", weil während einer Periode des Signals BTMAX der Vergleich aller Zeitfenster in dem Komparator 101 beendet wird und es danach nicht mehr nötig ist, das Signal FQ auf "1" zu halten. Die Hüllkurvenmoduszeichen EM«, EM1, EM„, die auf "1 1 1" gesetzt sind, werden gespeichert und durch das Schieberegister 92 (Figur 15) und die Hüllkurvenmodus-Steuerschaltung 98 in Zirkulation gehalten.
Danach oder parallel mit dem oben beschriebenen Programm der Wiederanschlag-Entscheidung wird ein Tastenberührungs-Rechenprogramm, das in Figur 26 angegeben ist, ausgeführt. In diesem Programm werden die Inhalte des Speichers RAM nacheinander in entgegengesetzter Richtung (in Richtung auf die Adresse mit kleinerer Nummer) ausgelesen, so daß nach demselben Tastenwort gesucht wird wie dasjenige der Taste, die das Tastenwort NCL in dem RAM 61 erzeugt hat, weil das Tastenwort früher erzeugt worden ist als der Wert PNCL für dieselbe Taste und das Tastenwort dieser Taste in einer Adresse gespeichert wurde, deren Adressen-
909843/0711
nummer kleiner ist als diejenige der jetzt gezeichneten Adresse (PNCLC) in dem Speicher RAM 61.
Das bei der Verarbeitung der Daten PNCL für diejenige Taste, die den Wert NCL erzeugt hat, gespeicherte erste Berührungszeichen TC1 wird in dem Speicher RAM 62 in derjenigen Adressenposition gespeichert, deren Adressennummer dieselbe ist wie die Adressennummer, unter der das gesuchte Tastenwort gespeichert ist. Das aus dieser Adresse in dem Speicher RAM 62 ausgelesene erste Berührungszeichen TC1 wird von dem Berührungszeichen TC (dem zweiten Berührungszeichen TC-), das zusammen mit dem neu-Anforderungszeichen NCL der Tastenlogxkeinhext 11 zugeführt worden ist, subtrahiert.
Zuerst wird das Ladesignal LODg im Adressenzähler 60 (Figur 12) zugeführt, so daß der momentane Zählwert PNCLC des PNCL-Zählers 58 (Figur 4) in den Zähler 60 eingegeben wird. Gleichzeitig wird das Tastenwort KC (das diejenige Taste angibt, die das neu-Anförderungszeichen NCL erzeugt hat) von der Tastenlogxkeinhext 11 in ein (nicht dargestelltes) Register in die ALU 24 (Figur 1) eingegeben. Der in dem Zähler 60 eingegebene Zählwert PNCLC ist unabhängig von der Taste, die den Wert NCL erzeugt hat.
Dann wird das in dem oben erwähnten Register in der ALU 24 gespeicherte (das Zeichen NCL betreffende) Tastenwort KC mit demjenigen (entsprechend dem Zeichen PNCL gespeicherten) Tastenwort verglichen, das aus dem Speicher RAM 61 in Figur 4 ausgelesen wird. Wenn beide
909843/0711
nicht miteinander übereinstimmen, wird dem Adressenzähler 60 (Figur 12) der Abwärtszählimpuls DEC1 zugeführt. Der Speicher RAM 61 wird mit (PNCL=11O" (R/W="0")) in den Lesemodus versetzt und dasjenige Tastenwort KC, das in der dem Adressensignal ADRS vom Adressenzähler entsprechenden Adresse gespeichert ist, wird ausgelesen, nachdem das Adressensignal ADRS von dem Selektor 5 9 selektiert worden ist. Da der Zählwert PNCLC in den Adressenzähler eingegeben worden ist, werden die Inhalte in den Adressen des Speichers RAM 61 (und RAM 62), beginnend mit der dem Zählwert PNCLC entsprechenden Adresse, ausgelesen. Mit anderen Worten: Das Öffnungssignal ENB. wird dem Speicher RAM 61 (und RAM 62) zugeführt, so daß die Inhalte derjenigen Adressen, die dem in den Zähler 6 0 eingegebenen Zählwert PNCLC entsprechen, ausgelesen werden. Wenn das in der ALU 24 gespeicherte Tastenwort KC nicht mit dem von dem Speicher RAM 61 ausgelesenen Tastenwort KC übereinstimmt, wird dem Zähler 60 der Abwärtszählimpuls DEC1 zugeführt, um eine 1 von dem Zählwert des Zählers 0 60 zu subtrahieren. Als Ergebnis wird die gegenwärtige Adressenzahl zum Auslesen des Speichers RAM 61 (62) um 1 kleiner als die vorherige Adressennummer. Danach wird das Aktivierungssignal ENB1 dem Speicher RAM 61 (62) zugeführt, um das in der gegenwärtigen Adresse gespeicherte Tastenwort auszulesen. Auf die oben beschriebene Weise wird der Zählwert des Adressenzählers 60 nacheinander schrittweise reduziert und die bezeichnete Adressennummer im Speicher RAM 61 (62) wird ebenfalls schrittweise reduziert, bis Koinzidenz der Tastenwörter KC erreicht ist.
Bei Erkennung von Koinzidenz der Tastenwörter KC wird das aus dem Speicher RAM 62 ausgelesene Berührungszeichen (d.h. das Berührungszeichen TC1 für die Taste, die das Zeichen NCL erzeugt hat) in das Register in der ALU 24 eingeschrieben. Zusätzlich wird das Berührungszeichen (d.h. das Berührungszeichen TC- derjenigen Taste, die das Zeichen NCL erzeugt hat) von der Tastenlogikeinheit 11, in der die Abtastung unterbrochen worden ist, in die ALU 24 eingeschrieben, wodurch die Subtraktion (TC2 - TC1) durchgeführt wird. Hieraus entsteht ein Wert (oder ein Tastenberührungssignal) TC2 - TC1, der der Differenz der Schließzeiten zwischen der ersten Kontakteinrichtung KM1 und der zweiten Kontakteinrichtung KM2 entspricht. Dann wird der Halteschaltung 78 (Figur 5) das Ladesignal LOD1 zugeführt, damit das Tastenberührungssignal TC2 - TC1 der ALU 24 in die Halteschaltung 78 eingegeben werden kann.
Danach wird das in Figur 27 angegebene "Programm für die Tonfarbenselektion" ausgeführt.
In diesem Programm wird der Speicherinhalt des "Steuerparameter-Speicherbereichs" aus dem Tonparameterspeicher 82 (Figur 12) ausgelesen.
Zuerst wird das Ladesignal LOD7 an den Tonzähler 87 (Figur 12) gelegt, um ein Zeichen in den Tonzähler 87 einzuschreiben, das einer an dem Tonselektor 29 eingestellten Tonfarbe entspricht. Gleichzeitig wird das Löschsignal CLR1 dem Adressenzähler 60 (Figur 12) zugeführt, um diesen zu löschen. Das dem Tonparameterspeicher 82 zugeführte
Blockadressensignal BADRS kennzeichnet den Tonfarbenblock, der von dem Tonselektor 2 9 angegeben ist. Da das Adressensignal ADRS vom Zähler 60 "0" ist, wird die erste Adresse in dem ausgewählten Tonfarbenblock, d.h. die erste Adresse des "Steuerparameter-Speicherbereichs" (Figuren 13(a) und 13(b)) aufgesucht.
Als nächstes wird das Aktivierungssignal ENB. an den Tcnparameterspeicher 82 gelegt, um den Wert auszulesen, der die Gesamtzahl (H) der die Tonfarbe bildenden Partialtöne angibt. Die betreffende Tondrarbe ist in der ersten Adresse gespeichert, die von den Adressensignalen BADRS und ADRS angegeben wird. Dann wird der Wert (H) in das Register der ALU 24 eingespeichert. Danach wird dem Adressenzähler 60 ein Hochzählimpuls INC2 zugeführt, um den Wert des Adressensignals ADRS um 1 zu erhöhen. Schließlich wird das Aktivierungssignal ENB. dem Speicher 82 von neuem zugeführt, um den Dämpfungsfaktor DR, den Hüllkurvenmodus EM und die Harmonischen-Ordnung INHM, die in der nächsten Adresse gespeichert sind (vgl. Figur 13(b) ) , 0 auszulesen, so daß diese Daten DR, EM und INHM von der Ausgangshalteschaltung 26 (Figur 1) festgehalten werden. Danach wird eine 7 dem Inhalt des Adressenzählers 60 hinzuaddiert, so daß die.erste Adresse (1032 in Figur 13(c)) in dem Partialtondaten-Speicherbereich #1 durch die sechs übersprungenen leeren Adressen (1026 bis 1031 in Figur 13(b)) bestimmt wird.
Die.von der Ausgangshalteeinheit 26 festgehaltenen Daten DR, EM und INHM werden gespeichert gehalten, bis die Zuordnung aller Partialtöne der Taste, die das nue-Bedarfs-
909843/0711
zeichen NCL erzeugt hat, beendet ist.
Als nächstes wird das in den Figuren 27, 28 und 2 9 angegebene "Programm für einen Partialton" durchgeführt. In diesem Programm wird die Berechnung verschiedener Daten zur Erzielung des WeIlenformsignals eines zuzuordnenden Partialtones und die Zuordnung des Partialtones zu einem geeigneten Zeitfenster durchgeführt. Das "Programm für einen Partialton" wird repetierend ausgeführt, d.h. es wird für jeden Partialton ausgeführt.
Zunächst wird ein Zeichen ausgelesen, das die Ordnung
(n) .eines zuzuordnenden Partialtones angibt, der in der ersten Adresse im Partialtondaten-Speicherbereich (Figur 13) gespeichert ist. Dies geschieht auf das Aktivierungssignal ENBg hin. Die so ausgelesene Ordnungszahl η wird in das Register der AlU 24, die Ausgangshalteein-'hext 26 und die Halteschaltung 85 (Figur 7) eingegeben. Gleichzeitig wird das aus der Tastenlogik 11 ausgelesene Tastenwort KC von der Halteschaltung 83 in Figur 6 und ν on der Ausgangshalteeinheit 26 festgehalten. Ferner werden die Umsetzer 84 und 86 der Figuren 6 und 7 aktiviert, um die Grundtondaten der Taste und die Ordnungszahl in logarithmischer Form: log FK_ + log η zu erhalten. Die so erhaltenen Daten log FT,„ und log η werden der ALU 24 zugeführt, wo sie addiert werden (log Fv + log n) , um den Partialton-Grundtonwert log (n-Fx^1) zu erhalten. Dieser Partialton-Grundtonwert log (n-FKC) wird in die Notenhalteschaltung 80 (Figur 5) eingegeben.
Dann wird die Entscheidung der "Harmonischen-Begrenzung" unter Verwendung des Partialton-Grundtonwertes log (n-F^^,
909843/0711
ausgeführt, der von der Notenhalteschaltung 80 festgehalten wird. Mit anderen Worten: Das Aktivierungssignal ENB7 wird der Notenhalteschaltung 80 zugeführt, so daß der festgehaltene Wert log (n· F7^1) ausgelesen und einer (nicht
KC
dargestellten) Harmonischen-Begrenzungs-Entscheidungslogik zugeführt wird. Bei diesem Vorgang wird dem Speicher 77 (Figur 5) kein Aktivierungssignal zugeführt, so daß aus dem Speicher 77 keine Daten ausgelesen werden.
In der Harmonischen-Begrenzungs-Entscheidungslogik wird bestimmt, ob die Frequenz von einem bestimmten Bit an (einem höherwertigen Bit) des Partialton-Grundtonwertes log (n-F ) an der "Harmonischen-Begrenzung" unterzogen
KC
werden sollte. Die Harmonischen-Begrenzungs-Entscheidungslogik kann aus einer einfachen digitalen Vergleichsschaltung oder einer Additions- und Subtraktionsschaltung bestehen. Bei dem vorliegenden Ausführungsbeispiel wird ein Rechenelement in der CPU 22 (Figur 1) als Harmonischen-Begrenzungs-Entscheidungslogik benutzt. Ein der Harmonischen-Begrenzungsfrequenz entsprechender Wert log fH wird mit den Grundtondaten log (n FT„) verglichen und
KC
es wird entschieden, daß die "Harmonischen-Begrenzung" durchgeführt werden soll, wenn log fH = log n'F^ : ja.
KC
In dem Fall, daß die Harmonischen-Begrenzung "ja" ergibt, erzeugt die CPU 22 das Rücksetzsignal RST zum Rücksetzen des Flip-Flops 47 (Figur 3) in der Tastenlogikeinheit Als Folge hiervon beginnt die Tastenabtastung durch die Tastenlogikeinheit 11 von neuem. Zusätzlich wird der Zählwert des Programmzählers 19 (Figur 1) auf den Anfangswert zurückgesetzt und das Programm kehrt auf den Start (AMR)
909843/071!
des Zuordnungsablaufs (-Routine) zurück. Auch wenn jetzt noch Partialtöne vorhanden sind, die noch nicht zugeordnet worden sind, wird aus folgendem Grund keine besondere Zuordnung dieser Partialtöne mehr durchgeführt: Die Daten werden aus dem Tonparameterspeicher 82 nacheinander, beginnend mit dem Partialton der niedrigsten Ordnung (n) ausgelesen; d.h. die Partialtöne werden, beginnend mit dem Partialton der niedrigsten Ordnung (η), nacheinander zugeordnet. Wenn ein Partialton einer "Harmonischen-Begrenzung" unterzogen wird, sind die Frequenzen der anschließend zu verarbeitenden Partialtöne daher höher als die Frequenz des betreffenden Partialtones und daher werden diese Partialtöne ebenfalls einer "Harmonischen-Begrenzung" unterworfen.
Wie sich aus der obigen Beschreibung ergibt, werden die der Harmonischen-Begrenzung unterzogenen Partialtöne nicht erzeugt, da diesen Partialtönen kein Zeitfenster zugeordnet wird.
In dem Fall, daß eine Harmonischen-Begrenzung nicht erfolgt (im Falle von NO), wird dem Adressenzähler 60 ein Aufwärtszählimpuls INC- zugeführt, um das Adressensignal ADRS um 1 zu erhöhen. Daraufhin wird der Spitzenwert-
Berührungsempfindlichkeitswert LPTSENS und der Spitzenwert-Notenskalierungswert LPNS, die in der zweiten Adresse des Partialtonspeicherbereiches gespeichert sind, aus dem Speicher 82 ausgelesen und der Berührungsempfindlichkeits-Halteschaltung 7 9 bzw. der Notenskalierungshalteschaltung 81 zugeführt. Dies bedeutet, daß das Aktivierungssignal ENBg dem Speicher 82 und die Ladesignale
909843/0711
LOD2 und LODg den Halteschaltungen 79 und 81 jeweils gleichzeitig von der CPU 22 zugeführt werden.
Als nächstes wird der Wert ADRS des Adressenzählers 61 um 1 erhöht und der in der dritten Adresse des Bereichs gespeicherte Spitzenwert LP wird aus dem Speicher 82 ausgelesen. Dieser Spitzenwert LP wird danach vorübergehend in dem Register der ALU 24 gespeichert.
Als nächstes werden die Aktivierungssignale ENB-, ENB2 und ENB3 dem Speicher 77 und den Halteschaltungen 78 und 79 in Figur 5 zugeführt, so daß das Tastenberührungssignal (TC2-TC1), das in der Halteschaltung 87 festgehalten ist,und der in der Halteschaltung 79 festgehaltene Berührungsfaktor TCF (LPTSENS), der dem Spitzenwert-Berührungsempfindlichkeitswert LPTSENS entspricht, aus dem Speicher 77 ausgelesen werden. Dieser Berührungsfaktor TCF (LPTSENS) wird der ALU 24 zugeführt und dem in der ALU 24 gespeicherten Spitzenwert LP hinzuaddiert. Praktisch erhält man ein Multiplxkationsergebnis, wie es in. den obigen Gleichungen (7 bis 10) angegeben ist.
Aufgrund der logarithmischen Ausdrücke erfolgt jedoch in der ALU 24 eine Addition. Danach wird aus dem Speicher 77 der Notenskalierungsfaktor NSF(LPNS), der sowohl dem Partialton-Grundtonwert log (n·Fvr,) , der in der No-
JN-V-
tenhalteschaltung 80 gespeichert ist, als auch dem Spitzenwert-Notenskalierungswert LPNS, der in der Notenskalierungshalteschaltung 82 gespeichert ist, entspricht, und der ALU 24 zugeführt, wo er zu dem vorherigen Rechenergebnis hinzuaddiert wird, um das in Gleichung 7 angegebene Rechenresultat LP* zu erhalten.
909843/0711
Dann wird das Spitzenwert-Rechenresultat LP* einer Minimalniveau-Entscheidungslogik (nicht dargestellt) zugeführt, wo entschieden wird, ob dieses Resultat kleiner ist als das Referenz-Minimalniveau Lref. Wenn das Ergebnis LP kleiner ist als das Referenz-Minimalniveau Lref (LP* <Lref), dann springt das Programm in den Ablauf (Routine) NXTHR für den nächsten Partialton (Figur 29). Als Ergebnis ist festzuhalten, daß in dem Fall, daß das mit dem Berührungsfaktor und dem Notenskalierungsfaktor skalierte Spitzenniveau LP* kleiner ist als das Referenz-Minimalniveau Lref, eine Partxaltonzuordnung nicht erfolgt.
In dem Fall, daß das Spitzenniveau LP gleich oder größer ist als das Referenz-Minimalniveau Lref (LP* - Lref), wird das Programm fortgesetzt und das in der ALU 24 festgehaltene Spitzenniveau LP* wird in der Ausgangshalte-. einheit 26 gespeichert.
Als nächstes wird der Wert ADRS des Adressenzählers 60 um 1 erhöht, so daß die Abklingzeit-Berührungsempfindlichkeit TDTSENS und der Zeitelement-Notenskalierungswert TMNS, die in der vierten Adresse in dem Partialtonspeicherbereich (Figur 13) gespeichert sind, aus dem Speicher 82 ausgelesen werden. Diese Daten werden jeweils in die Halteschaltungen 79 und 81 eingegeben.
Dann wird der Wert ADRS des Adressenzählers 60 um 1 erhöht, so daß die in der fünften Adresse des Bereichs gespeicherte erste Abklingzeit TD1 aus dem Speicher 82 ausgelesen und in das Register der ALU 24 eingespeichert
909843/0711
wird. Danach wird der Abklingzeit-Berührungsfaktor TCF(TDTSENS) aus dem Speicher 77 entsprechend den Werten (TC2-TC1) und TDTSENS in den Halteschaltungen 78 und 79 ausgelesen und in der ALU 24 zum Wert TD1 hinzuaddiert. Ferner wird der Zeitelement-Notenskalierungsfaktor NFS(TMNS) aus dem Speicher 77 entsprechend den Daten der Halteschaltungen 8 0 und 81 (Figur 5) aus dem Speicher 77 ausgelesen und dem vorhergehenden Additionsergebnis in der ALU 24 hinzuaddiert. Auf diese Weise erhält man den Wert TD1* der ersten Abklingzeit entsprechend Gleichung (9). Dieser Wert TD1* wird von der Ausgangshaiteeinheit 26 festgehalten. Zur einfacheren Beschreibung ist der Prozeßblock für die fünfte Adresse mit dem Bezugszeichen 182 bezeichnet.
Danach werden die durch die Blöcke 183, 184 und 185 bezeichneten Prozesse nacheinander ausgeführt. Die Prozesse der Blöcke 183 und 185 sind gleich demjenigen des oben beschriebenen Blocks 182, jedoch sei darauf hingewiesen, daß die erstgenannten Blöcke hinsichtlich einer Ausleseadresse in dem Tonparameterspeicher 82 unterschiedlich sind. Im einzelnen wird in dem Block 183 der Zählwert des Adressenzählers 60 um 1 erhöht, so daß die sechste Adresse in dem Bereich des Speichers 82 bezeichnet ist, und es wird die nachfolgende Addition, die der Gleichung (10) äquivalent ist, durchgeführt, um die zweite Abklingzeit TD2* zu erhalten:
TD2 + TCF(TDTSENS) + NSF(TMNS).
Dieser Wert TD2* wird in der Ausgangshalteexnhext 26 gespeichert.
09843/071
Im Block 184 wird der Zählwert des Zählers 6 0 weiterhin um 1 erhöht, so daß die in der siebten Adresse des Bereichs des Speichers 82 gespeicherten Werte TATSENSE und LD ausgelesen werden. Der Wert TATSENS wird von der Berührungsempfindlichkeitshalteschaltung 7 9 festgehalten, während das erste Abklingniveau LD von der Ausgangshalteeinheit 26 festgehalten wird.
In dem Block 185 wird der Zählwert des Zählers 60 noch weiter um 1 erhöht, so daß die in der achten Adresse des Bereichs des Speichers 82 gespeicherte Anhallzeit TA ausgelesen wird. Die folgende Addition, die der oben beschriebenen Gleichung (8) äquivalent ist, wird zur Erzielung der Anhallzeit TA* ausgeführt:
TA + TCF(TATSENSE) + NSF(ZMNS).
Dieser Wert TA* wird in der Ausgangshalteschaltung 26 gespeichert.
Wenn die in allen Adressen eines Partialtondaten-Speicherbereichs (Figur 13(c)) gespeicherten Daten ausgelesen worden sind und wenn die Berechnungen, zu denen diese Daten benutzt werden, beeendet sind, liegen alle Daten für die Erzeugung des Partialtones für die Ausgangshalteeinheit 26 (Figur 1) vor.
Als nächstes wird das Anforderungssignal CLM der Anforderungslogik 64 (Figuren 8 und 10) von der CPU 22 zugeführt. Dann wird bestimmt, ob ein benutzbares Zeitfenster in der Anforderungslogik 64 zur Verfügung steht oder nicht, wie es unter Bezugnahme auf die Figuren 10 und 11 erläutert
909843/0711
wurde. Wenn ein verwendbares Zeitfenster zur Verfügung steht, wird das neu-Anforderungs-Ladesignal NCLD in einem Zeitfenster (demjenigen mit dem kleinsten Hüllkurvenamplitudenwert) erzeugt. Dieses neu-Anforderungs-Ladesignal NCLD wird den Selektionstoren 94, 95, 96 und 97 (Figur 15) und der Hüllkurvenmodus-Steurschaltung 98 in der Tongenerator-Anschlußeinheit 13 (Figur 15) zugeführt. Als Folge hiervon werden die in der Ausgangshalteeinheit 26 festgehaltenen Daten INHM, n, KC, EM, LP*, LD, TA*, TD1*, TD2* und DR in die jeweiligen Schieberegister 89, 90, 91, 92 und 93 geladen, und zwar in dem Zeitfenster, in dem das neu-Anforderungs-Ladesignal NCLD erzeugt worden ist. Die so geladenen Daten werden in den Schieberegistern 89, 90, 91, 92 und 93 synchron mit dem betreffenden Zeitfenster gespeichert bzw. in Umlauf gehalten. Auf diese Weise wird die Zuordnung eines Partialtones zu dem Zeitfenster beendet. Wie Figur 20 zeigt, wird das neu-Anforderungs-Ladesignal NCLD auch dem Hüllkurvenrechner 108 zugeführt, um die Hüllkurvenzahl ENV auf "0" zu setzen.
In dem Fall, daß kein verfügbares Zeitfenster verfügbar ist, wird in der zuvorbeschriebenen Weise- das Unbrauchbar-Signal AVA erzeugt. Als Folge davon entsteht das Rücksetzsignal RST, so daß die Tastenabtastung von neuem beginnt und das Programm zum Start AMR (Figur 25) des Hauptablaufs zurückkehrt. In diesem Fall sind alle 256 Zeitfenster effektiv benutzt (der Tastendruck wird fortgesetzt und die Tonerzeugung erfolgt). Daher wird die Tastenabtastung wiederholt, bis ein verwendbares oder verfügbares Zeitfenster auftritt.
909843/0711
Wenn ein neu-Beanspruchsungs-Ladesignal NCLD erzeugt wird, wird auch der Hochzählimpuls PCINC (Figur 10) für den Programmzähler erzeugt, wie oben erläutert wurde, und das Programm wird zur nächsten Stufe fortgeschaltet, nämlich zu einem "Ablauf NXTHR für den nächsten Partialton".
In diesem Ablauf NXTHR wird von der in dem Register der ALU 24 gespeicherten Partialton-Gesamtzahl H eine 1 subtrahiert, um die verbleibende Partialtonzahl H* zu erhalten. Die Subtraktion einer 1 von der Partialtongesamtzahl H gilt für den ersten Partialton (entsprechend dem Speicherbereich #1). Im nächsten Fall wird von dem vorhergehenden Subtraktionsergebnis H* eine 1 abgezogen. Demnach wird bei Beendigung der oben beschriebenen Subtraktion der Inhalt des die Partialton-Gesamtzahl H speichernden Register in der ALU 24 in das Subtraktionsergebnis umgeschrieben. Immer wenn die Zuordnung eines Partialtones beendet ist, wird auf diese Weise der Inhalt des Registers um 1 erniedrigt, so daß er schließlich zu 0 wird. Wenn das Subtraktionsergebnis H* 0 ist, ist die Zuordnung sämtlicher Partialtöne, die den Musikton der Taste, die das neu-Anforderungszeichen NCL erzeugt hat, abgeschlossen.
Nach der oben beschrieben Subtraktion einer 1 wird bestimmt, ob das Subtraktionsergebnis H* 0 ist oder nicht. Im Falle von NEIN (NO) wird der Wert ADRS des Adressenzählers 60 um 1 erhöht und das Programm kehrt an den Start des Ablaufs "Programm für einen Partialton" (Figur 27) zurück. Als Folge hiervon wird die von dem Tonparameterspeicher 82 angegebene Adresse zu der ersten
909843/0711
Adresse des nächsten Partialtondaten-Speicherbereichs (#2 usw.) verschoben. In bezug .auf einen Partialton, dessen Ordnung (n) sich von derjenigen des vorhergehenden Partialtones unterscheidet, wird also dasselbe "Programm für ein Partialton" ausgeführt wie für den vorhergehenden Partialton, wobei jedoch die einzelnen Daten sich voneinander unterscheiden.
Wenn die Entscheidung H*=0 JA (YES) lautet, dann ist die Zuordnung aller Partialtöne für eine Taste beendet. Daher wird das Rücksetzsignal RST erzeugt, so daß die Tastenabtastung von neuem beginnen kann und das Programm auf den Start AMR des "Zuordnungshauptablaufs" (Figur 25) zurückkehrt.
Neu-Loslaß-Ablauf
Beim neu-Loslaß-Ablauf NRLSR, der in Figur 30 angegeben ist, wird das Setzsignal RQSET unter Zeitsteuerung durch das Signal BTMAX (vgl. Figur 9(b)) nach der Erzeugung des neu-Loslaßzeichens NRLS dem Loslaß-Flip-Flop 2 9 (Figur 25) zugeführt. Daraufhin geht das Signal am Setzausgang RQ des Flip-Flops 99 auf "1" und die UND-Schaltung 123 (Figur 17) der Hüllkurvenmodus-Steuerschaltung 98 wird geöffnet. Danach wird das Rücksetzsignal RQRESET, wenn das oben beschriebene Signal BTMAX erzeugt wird, dem Flip-Flop 99 zugeführt und das Signal am Ausgang RQ geht auf 0. Die UND-Schaltung 123 wird daher nur für eine Periode des Signals BTMAX (256 Zeitfenster) geöffnet gehalten. Wenn der Komparator 101 das Tastenkoinzi-
denzsignal KEQ während dieser Periode erzeugt, dann geht das Ausgangssignal der UND-Schaltung 123 in demjenigen Zeitfenster, in dem das Signal KEQ erzeugt worden ist, auf "1" und das das Loslassen einer Taste angebende Signal EM2 wechselt auf "1". Dies bedeutet, daß das Tastenwort KC, das von der Tastenlogikeinheit 11 einem Eingang des Komparators 101 zugeführt wird, diejenige (neu losgelassene) Taste repräsentiert, die das neu-Loslaßzeichen NRLS erzeugt hat, und die Partialtöne dieses Tastenwortes KC sind den Zeitfenstern zugeordnet worden. Daher ist in dem Schieberegister 91 (Figur 15) dasselbe Tastenwort wie das Tastenwort KC gespeichert worden. Das Zeitfenster, in dem das Tastenkoxnzidenzsignal erzeugt worden ist, ist dasjenige Zeitfenster, dem der Partialton, der den Musikton der losgelassenen Taste bildet, zugeordnet worden ist. In diesem Zeitfenster wird das Zeichen EM- auf 1 gesetzt, um das Loslassen der Taste anzugeben.
Nach dem oben beschriebenen Prozeß wird das Rücksetzsignal RST der Tastenlogikeinheit 11 zugeführt,'so daß die Tastenabtastung wieder beginnt und die Operation zum Start AMR des Zuordnungs-Hauptablaufs (Figur 25) zurückkehrt .
Modifizierungen
(1)
Wie sich aus Figur 13(a) ergibt, werden bei dem obigen Ausführungsbexspiel in dem Tonparameterspeicher 82 128 Adressen pro Tonfarbe (oder 128 Adressen pro Block)
-1J 0 3 8 /· '5 / ':-'
benutzt und von diesen Adressen werden acht Adressen pro Partialton zur Einstellung einer Tonfarbe benutzt. Dies bedeutet, daß für eine Tonfarbe maximal fünfzehn Partialtöne benutzt werden können. Dies bedeutet jedoch nicht, daß die Verwendung auf maximal 15 Harmonischen-Obertöne beschränkt ist. Wenn die Kapazität des Tonparameterspeichers 82 vergrößert wird, können auch noch mehr Partialtöne für eine Tonfarbe benutzt werden.
In diesem Fall ist es möglich, die Zahl der Partialtöne pro Tonfarbe zu erhöhen, ohne das in dem Ausführungsbeispiel beschriebene System insgesamt zu verändern. Bei der Zusammenstellung einer Tonfarbe, die eine Anzahl von Partialtönen erfordert, können mehrere aufeinanderfolgende Adressen in dem Tonparameterspeicher 82 für eine Tonfarbe benutzt werden. Dies kann erreicht werden, indem einfach das Übertragssignal CARRY des AdressenZählers dem Hochzähleingang des Tonzählers 87 in der durch Leitung 186 in Figur 12 angegebenen Weise zugeführt wird. Wenn ein Block von 128 Adressen verarbeitet wird, gibt der 7-Bit-Adressenzähler 60 ein Übertragssignal CARRY aus, woraufhin der Zählwert des Tonzählers 87 um 1 erhöht wird. Das Ausgangssignal BADRS des Tonzählers 87 erhöht sich, um 1 und die nachfolgende Kennzeichnung kann in dem nächsten Block erfolgen. In dem Fall, daß mehrere Blöcke nacheinander benutzt werden, hat die Partialtongesamtzahl H einen entsprechenden Wert (größer als 15). Selbst wenn der Block sich ändert, ist die in Figur 29 angegebene Bedingung (H* = 0) nicht erfüllt. Demnach kehrt die Operation auch in dem Fall, daß der Block verändert worden ist, nicht auf den "Zuordnungshauptablauf"
909843/0711
AMR zurück, sondern zu dem "Programm für einen Partialton" HR. Diese Anordnung hat also den erheblichen Vorteil, daß das Programm nicht verändert werden muß.
(2)
Bei dem oben beschriebenen Beispiel wird der Zuordnungsprozeß für jeden Partialton durchgeführt. Es können jedoch auch mehrere Partialtöne (z.B. vier oder acht) in einer Gruppe im Parallelmodus zugeordnet werden. Diese Zuordnung kann durch mehrere Verarbeitungseinrichtungen erfolgen, beispielsweise eine periphere ALU-Logik 23, die ALU 24 und die Tonparameterlogik 25, die parallel zueinander vorgesehen sind. Nach diesem Verfahren kann die für die Zuordnung der Partialtöne pro Taste erforderliche Gesamtzeit reduziert werden, so daß auch die Zeitverzögerung vom Drücken einer Taste bis zum Beginn der Erzeugung des Musiktones verringert wird.
(3)
Bei dem obigen Ausführungsbeispiel wurde das'Mikroprogrammsystem beschrieben, das eine Programmerzeugungseinheit und die CPU 22 enthält. Hierauf ist die Erfindung nicht beschränkt. Zum Beispiel kann die Partialtonzuordnungseinheit auch mit einer speziell für diesen Zweck angefertigten Schaltung realisiert werden.
(4)
Bei dem obigen Ausführungsbeispiel sind 16 Tonfarbenblöcke vorgesehen und in jedem Block werden 15 Partialtöne benutzt. Für eine Tonfarbe, die mit weniger als 15 Partialtönen realisiert werden kann, kann die Anzahl der
909843/0711
Partialtondaten-Speicherbereiche verringert werden, so daß die übrigen Partialtondaten-Speicherbereiche für eine andere Tonfarbe zur Verfügung stehen und benutzt werden.
Beschreibung der Wirkungen
Wie aus der obigen Beschreibung hervorgeht, ist eine bestimmte Anzahl (hier 256) von Zeitfenstern für die Partialtonerzeugung nicht fest entsprechend den einzelnen Partialtönen festgelegt, d.h. die Zeitfenster können für beliebige Partialtöne benutzt werden. Mit anderen Worten: Das elektronische Musikinstrument ist so konstruiert, daß zu erzeugende Partialtöne wählbaren Zeitfenstern zugeordnet werden können. Daher hat das Musikinstrument die folgenden Vorteile:
(1) Es können alle Zeitfenster für die Partialtonerzeugung effektiv benutzt werden. Selbst wenn die höchste Frequenz des Systemtaktes begrenzt ist, kann'die Maximalzahl der zu erzeugenden Töne relativ groß gemacht werden. Dies wird unter Bezugnahme auf die Gleichung "St = M N t klar,die in der Einleitung dieser Beschreibung erläutert 0 ist. Für eine Tonfarbe mit einer kleinen Anzahl N von
Partialtönen ist die Anzahl der gleichzeitig zu erzeugenden Töne M wegen der Variation der Anzahl der Partialtöne N relativ hoch. In dem Fall, daß die Gesamtzahl der Zeitfenster 256 beträgt und daß ein aus der ersten Harmonisehen und der dritten Harmonischen bestehender 8-Fuß-Tibia-Ton erzeugt werden soll, müssen beispielsweise 128 Töne gleichzeitig erzeugt werden. Mit konventionellen elektronischen Musikinstrumenten kann man dies über-' haupt nicht erreichen.
909843/0711
(2) Ein Partialton,der einer "Harmonischen-Begrenzung" unterzogen wird, wird keinem Zeitfenster zugeordnet, so daß das Zeitfenster für die Zuordnung eines anderen Partialtones zur Verfügung steht. Auf diese Weise können die Zeitfenster wirksam genutzt werden.
(3) Ein Partialton, dessen Amplitudenniveau durch Berührungsantwort und Notenskalierung verringert worden ist, wird keinem Zeitfenster zugeordnet, so daß das betreffende Zeitfenster für die Zuordnung eines anderen Partialtones benutzt werden kann.
(4) Der "Abbruch" wird für jeden Partialton entsprechend seinem Amplitudenniveau durchgeführt. Selbst bei Partialtönen, die dieselbe Taste betreffen, wird ein Partialton mit kurzer Dämpfungszeit abgebrochen und ein anderer Partialton,der langer angehalten werden soll, kann hinreichend verlängert werden. Auf diese Weise kann ein sinnvoller Abbruch einzelner Partialtöne erfolgen und die betreffenden Zeitfenster können anderweitig benutzt werden. Mit den herkömmlichen elektronischen Musikinstrumenten kann eine solche Operation nicht durchgeführt werden, weil der Abbruch für jede Taste wirksam ist. Mit anderen Worten: Das System, in dem ein Abbruch beginnend mit der zuerst losgelassenen Taste durchgeführt wird, ist dahingehend nachteilig, daß ein zu verlängernder Partialton abgebrochen wird. Das System, in dem der Abbruch beginnend mit dem Musikton des kleinsten Amplitudenniveaus ausgeführt wird, ist ebenfalls dahingehend nachteilig, daß, wenn es mindestens einen verlängerten Partialton enthält, die Zeitfenster für viele andere
909843/0711
Partialtöne, die bereits gedämpft worden sind, nicht mit in den Abbruch einbezogen werden, d.h. daß sie ohne Nutzen besetzt werden. Diese Nachteile werden durch die Erfindung vermieden.
(5) Partialtöne jeglicher (ganzzahliger oder unganzzahliger) Ordnung können in den Zeitfenstern für die Partialtonerzeugung benutzt werden. Daher kann die Komposition von Inharmonischen-Tönen realisiert werden, ohne daß zusätzliche Einrichtungen benötigt würden.
(6) Aus demselben Grunde kann man leicht ohne spezielle Parallelton-Synthetisierungskanäle einen Multisystemeffekt erzielen. Der Ausdruck "Multisystemeffekt" bezeichnet die Wirkung, die man erzielt, indem gleichzeitig mindestens zwei Musiktöne erzeugt werden, von denen einer eine bestimmte Spektralverteilung hat, während der andere eine Spektralverteilung hat, bei der die Grundwelle und Partialtöne sich im Grundton von denen des ersten Tones unterscheiden. Nach der Erfindung kann'man einen Multisystemeffekt erzielen, in dem lediglich beispielsweise die Ordnung η auf 1; 1,1; 2; 2,2; 3; 3,3 usw. eingestellt wird, entsprechend der Spektralverteilung des gewünschten Multisystemeffekts. Diese Einstellung erfolgt in einem Tonfarbenblock (oder in mehreren Blöcken für eine Tonfarbe) im Tonparameterspeicher 82. Auf diese Weise können verschiedene Effekte ohne den Einsatz zusätzlicher Einrichtungen erzielt werden.
909843/0711

Claims (1)

  1. VON KREISLER SCHONWALD EiSHOLD FUES VON KREISLER KELLER SELTING WERNER
    PATENTANWÄLTE Anmelderin
    Dr_.|ng von Kreisler +
    Dr.-Ing. K. Schönwald, Köln
    NIPPON GAKKI SEIZO Dr.-Ing. K. W. Eishold, Bad Soden
    KABUSHIKI KAISHA Dr. J. F. Fues, Köln
    Dipl.-Chem. Alek von Kreisler, Köln
    10-1, Nakazawa-Cho Dipl.-Chem. Carola Keller, Köln
    Hamamatsu-shi, Shizuoka-ken Dipl.-Ing. G. Selting, Köln
    Dr. H.-K. Werner, Köln JAPAN
    DEICHMANNHAUS AM HAUPTBAHNHOF
    D-5000 KÖLN 1
    28. März 1979 Sg/En
    Ansprüche
    1. Elektronisches Musikinstrument, bei dem ein Ton unter Erzeugung von Partialtönen, die anschließend zusammengesetzt werden, synthetisiert wird, dadurch gekennzeichnet , daß eine Tongeneratoreinheit (14) vorgesehen ist, die die gewünschten Tonsignale einzeln in einer bestimmten Anzahl von Zeitfenstern erzeugt, daß die Tongeneratoreinheit (14) von einer Partialton-Zuordnungseinheit (12) gesteuert ist, die auf das Drücken einer Taste hin jeden der den zu erzeugenden Ton bildenden Partialtöne einzeln einem der Zeitfenster zuordnet, und daß die Tongeneratoreinheit (14) die den Zeitfenstern zugeordneten Partialtöne erzeugt.
    2. Elektronisches Musikinstrument nach Anspruch 1, dadurch gekennzeichnet, daß die Partialton-Zuordnungsschaltung die folgenden Baugruppen enthält:
    909843/0711
    - ffl??l) 131041 ■ Telex: 8882307 dnpo.dxAlefFsSrrtsPl.mpnleni Ko1"
    ORIGINAL '
    eine Schaltung (11) zur Erzeugung eines Tastenwortes (KC) für jede gedrückte Taste;
    eine erste Einrichtung, die entsprechend dem Tastenwort der gedrückten Taste einzeln die Partialtondaten für jeden Partialton aus einer Gruppe von Partialtönen, die für die Tonsynthetisierung erforderlich sind, ausgibt,
    eine zweite Einrichtung zur Zuordnung der ausgegebenen Daten eines jeden Partialtones zu einem Zeitfenster, die bei der Datenausgabe zugleich bewirkt, daß die Daten des unmittelbar folgenden Partialtones an die erste Einrichtung ausgegeben werden,
    wobei die Gruppe von Partialtondaten sequentiell durch Zusammenarbeiten der ersten und der zweiten Einrichtung den Zeitfenstern zugeordnet wird und die Tongeneratoreinheit (14) eine Schaltung ist, die Partialtonsignale entsprechend den jeweiligen Zeitfenstern zugeordneten Partialtondaten erzeugt.
    Elektronisches Musikinstrument nach Anspruch 2, dadurch gekennzeichnet, daß die Partialtondaten mindestens eine Angabe über die Grundtonhöhe des Tones und eine Angabe über die Ordnung des Partialtones, d.h. das Verhältnis von Partialtonfrequenz zu Grundtonfrequenz, enthalten, und daß die Tongeneratoreinheit aus der Angabe der Grundtonhöhe und der Angabe der Ordnung des Partialtones die Frequenz des Partialtonsignales errechnet.
    909843/0711
    4. Elektronisches Musikinstrument nach Anspruch 2, dadurch gekennzeichnet, daß die Partialtondaten mindestens eine Angabe über die Grundtonhöhe des Tones und die Ordnung des Partialtones enthalten, daß die erste Einrichtung die Partialtondaten von der niedrigsten Ordnung an aufwärts ausgibt und die zweite Einrichtung eine Logik enthält, die die Frequenz des zuzuordnenden Partialtones gegenüber der Grundtonhöhe des Gesamttones und die Ordnung des Partialtones feststellt und die, wenn die Frequenz oberhalb eines bestimmten Wertes liegt, die Zuordnung des Partialtones und aller übrigen Partialtöne beendet.
    5. Elektronisches Musikinstrument nach Anspruch 2, dadurch gekennzeichnet, daß die erste Einrichtung mehrere Gruppen von Partialtondaten enthält, deren Anzahl und Ordnung jeweils gegenüber anderen Gruppen unterschiedlich sind, und daß die Partialtondaten einer der Gruppen entsprechend den Daten der gedrückten Taste sequentiell ausgegeben werden, wobei die zweite Einrichtung die Zuordnung der Partialtondaten nach der Zuordnung der letzten Partialtondaten einer der Gruppen bis zur Erzeugung der nächsten Daten einer gedrückten Taste nicht stört.
    6. Elektronisches Musikinstrument nach Anspruch 2, dadurch gekennzeichnet, daß die Daten einer gedrückten Taste mindestens eine Angabe zur Identifizierung der Taste und eine der Tastenberührung entsprechende Angabe enthalten und daß die Partialtondaten mindestens eine Amplitudenskalierungsangabe entsprechend der Grund-
    909843/0711
    tonhöhe des Partialtones und eine Amplitudenskalierungsangabe entsprechend der Tastenberührung enthalten und daß die zweite Einrichtung eine Logik aufweist, die die Zuordnung des Partialtones anhält, wenn die Amplitude des Partialtones unter einem bestimmten Wert ist, was durch Beurteilung des Amplitudenskalierungswertes gegenüber dem Amplitudenwert des zuzuordnenden Partialtones geschieht.
    Elektronisches Musikinstrument nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die
    Zuordnung eines jeden Partialtones des Tones einer
    gedrückten Taste zu den Zeitfenstern entsprechend dem Tastendruck einzeln zu jeweils einem Zeitfenster erfolgt, das von dem Partialtonsignal mit dem kleinsten Amplitudenniveau besetzt ist.
    909843/0711
DE19792913665 1978-04-11 1979-04-05 Elektronisches musikinstrument Ceased DE2913665A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
SU802905650A SU938752A3 (ru) 1979-04-05 1980-04-04 Штепсельное соединение

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4243178A JPS54134616A (en) 1978-04-11 1978-04-11 Electronic musical instrument

Publications (1)

Publication Number Publication Date
DE2913665A1 true DE2913665A1 (de) 1979-10-25

Family

ID=12635870

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19792913665 Ceased DE2913665A1 (de) 1978-04-11 1979-04-05 Elektronisches musikinstrument

Country Status (3)

Country Link
US (1) US4343218A (de)
JP (1) JPS54134616A (de)
DE (1) DE2913665A1 (de)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3135777A1 (de) * 1980-09-08 1982-07-08 Nippon Gakki Seizo K.K., Hamamatsu, Shizuoka Elektronisches musikinstrument
DE3211993A1 (de) * 1981-03-31 1982-10-14 Casio Computer Co., Ltd., Tokyo Elektronisches musikinstrument
DE3318644C1 (de) * 1983-05-21 1984-08-30 WERSI-electronic GmbH & Co KG, 5401 Halsenbach Elektronisches Tastenmusikinstrument

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4294155A (en) * 1980-01-17 1981-10-13 Cbs Inc. Electronic musical instrument
JPS55149647U (de) * 1980-04-22 1980-10-28
GB2106694B (en) 1981-04-30 1985-05-30 Casio Computer Co Ltd Digital electronic musical instrument
JPS5862693A (ja) * 1981-10-09 1983-04-14 カシオ計算機株式会社 自動演奏機能を有する電子楽器
JPS5865492A (ja) * 1981-10-15 1983-04-19 ヤマハ株式会社 電子楽器
DE3219590C1 (de) * 1982-04-01 1982-12-09 Volker 8080 Emmering Habicht Vorrichtung fuer Saiteninstrumente zum Einstellen von Akkorden
US6442104B1 (en) * 1982-08-13 2002-08-27 James Jefferson Ridgell, Jr. Underwater background-acoustics synthesizer system and method
JPS60177397A (ja) * 1984-02-24 1985-09-11 カシオ計算機株式会社 電子楽器
JP2699570B2 (ja) * 1989-09-01 1998-01-19 ヤマハ株式会社 電子楽器
US5121667A (en) * 1989-11-06 1992-06-16 Emery Christopher L Electronic musical instrument with multiple voices responsive to mutually exclusive ram memory segments
JP2580814B2 (ja) * 1990-01-05 1997-02-12 ヤマハ株式会社 楽音信号発生装置
WO1992015086A1 (en) * 1991-02-15 1992-09-03 Everex Systems, Inc. Multi-tone real time sound synthesizer

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3809786A (en) * 1972-02-14 1974-05-07 Deutsch Res Lab Computor organ
US3809789A (en) * 1972-12-13 1974-05-07 Nippon Musical Instruments Mfg Computor organ using harmonic limiting
US3908504A (en) * 1974-04-19 1975-09-30 Nippon Musical Instruments Mfg Harmonic modulation and loudness scaling in a computer organ
US4083285A (en) * 1974-09-27 1978-04-11 Nippon Gakki Seizo Kabushiki Kaisha Electronic musical instrument
JPS532763B2 (de) * 1974-11-15 1978-01-31
US4033219A (en) * 1975-02-27 1977-07-05 Nippon Gakki Seizo Kabushiki Kaisha Touch responsive control system for a keyboard electronic musical instrument
US4205577A (en) * 1977-06-06 1980-06-03 Kawai Musical Instrument Mfg. Co. Ltd. Implementation of multiple voices in an electronic musical instrument

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3135777A1 (de) * 1980-09-08 1982-07-08 Nippon Gakki Seizo K.K., Hamamatsu, Shizuoka Elektronisches musikinstrument
DE3211993A1 (de) * 1981-03-31 1982-10-14 Casio Computer Co., Ltd., Tokyo Elektronisches musikinstrument
DE3318644C1 (de) * 1983-05-21 1984-08-30 WERSI-electronic GmbH & Co KG, 5401 Halsenbach Elektronisches Tastenmusikinstrument

Also Published As

Publication number Publication date
US4343218A (en) 1982-08-10
JPS6116995B2 (de) 1986-05-02
JPS54134616A (en) 1979-10-19

Similar Documents

Publication Publication Date Title
DE2362050C3 (de) Elektronisches Musikinstrument
DE2913665A1 (de) Elektronisches musikinstrument
DE2945901C2 (de) Elektronisches Musikinstrument
DE2364336C3 (de) Elektronisches Musikinstrument
DE2518561C3 (de) Einrichtung zur Erzeugung von Arpeggio-Effekten durch ein elektronisches Musikinstrument
DE2500839C3 (de) Elektronisches Musikinstrument mit Sinustabellenspeicher
DE2404431C3 (de) Elektronisches Musikinstrument
DE2350143A1 (de) Elektronisches musikinstrument
DE3003385C2 (de) Hüllkurvenschaltung für ein elektronisches Musikinstrument
DE2920298A1 (de) Binaere interpolatorschaltung fuer ein elektronisches musikinstrument
DE3032609A1 (de) Elektronisches tastenmusikinstrument mit mehreren tonerzeugungskanaelen.
DE3023559C2 (de) Elektronisches Musikinstrument
DE3146292A1 (de) Elektronisches musikinstrument von wellenformspeicher auslesender bauart
DE2644903A1 (de) Elektronisches musikinstrument
DE2828919C2 (de) Schaltungsanordnung für ein polyphones elektronisches Musikinstrument
DE2524062C3 (de) Elektronisches Musikinstrument mit Vibratoeffekt
DE3013250A1 (de) Digitalsignalgenerator
DE2638820A1 (de) Elektronisches musikinstrument
DE3023581A1 (de) Verfahren zur digitalen huellkurvensteuerung eines polyphonen musiksyntheseinstruments und schaltungsanordnung zur durchfuehrung des verfahrens
EP0036074B1 (de) Syntheseschaltung für periodische Signale, insbesondere als Teil eines Musikinstruments
DE2524063C3 (de) Elektronisches Musikinstrument mit digitaler Musiktonerzeugung
DE2748422C2 (de) Polyphones elektronisches Musikinstrument
DE2513127C2 (de) Verfahren zum künstlichen Erzeugen eines musikalischen Klangs
DE2856043C2 (de) Elektronisches Musikinstrument
DE3224543A1 (de) Elektronisches musikinstrument

Legal Events

Date Code Title Description
OAR Request for search filed
OB Request for examination as to novelty
8110 Request for examination paragraph 44
8131 Rejection