DE69018858T2 - Vorrichtung zum Erzeugen eines Musiktonsignals. - Google Patents
Vorrichtung zum Erzeugen eines Musiktonsignals.Info
- Publication number
- DE69018858T2 DE69018858T2 DE69018858T DE69018858T DE69018858T2 DE 69018858 T2 DE69018858 T2 DE 69018858T2 DE 69018858 T DE69018858 T DE 69018858T DE 69018858 T DE69018858 T DE 69018858T DE 69018858 T2 DE69018858 T2 DE 69018858T2
- Authority
- DE
- Germany
- Prior art keywords
- waveform
- musical tone
- signal
- waveform data
- 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.)
- Expired - Fee Related
Links
- 230000000295 complement effect Effects 0.000 claims description 49
- 238000013500 data storage Methods 0.000 claims description 32
- 230000004044 response Effects 0.000 claims description 22
- 238000006243 chemical reaction Methods 0.000 claims description 20
- 239000011295 pitch Substances 0.000 description 94
- 230000015654 memory Effects 0.000 description 52
- 238000000034 method Methods 0.000 description 39
- 239000002131 composite material Substances 0.000 description 19
- 238000001514 detection method Methods 0.000 description 19
- 238000013459 approach Methods 0.000 description 16
- 102220473585 Putative ankyrin repeat domain-containing protein 26-like protein_S51A_mutation Human genes 0.000 description 13
- 238000010586 diagram Methods 0.000 description 11
- 102100025800 E3 SUMO-protein ligase ZBED1 Human genes 0.000 description 10
- 101000786317 Homo sapiens E3 SUMO-protein ligase ZBED1 Proteins 0.000 description 10
- 238000007726 management method Methods 0.000 description 9
- 238000005070 sampling Methods 0.000 description 9
- 239000000203 mixture Substances 0.000 description 8
- 230000000694 effects Effects 0.000 description 6
- BWSIKGOGLDNQBZ-LURJTMIESA-N (2s)-2-(methoxymethyl)pyrrolidin-1-amine Chemical compound COC[C@@H]1CCCN1N BWSIKGOGLDNQBZ-LURJTMIESA-N 0.000 description 5
- 102100021568 B-cell scaffold protein with ankyrin repeats Human genes 0.000 description 5
- 101000971155 Homo sapiens B-cell scaffold protein with ankyrin repeats Proteins 0.000 description 5
- 230000003111 delayed effect Effects 0.000 description 4
- 101710114762 50S ribosomal protein L11, chloroplastic Proteins 0.000 description 3
- 239000003086 colorant Substances 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000000994 depressogenic effect Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000033764 rhythmic process Effects 0.000 description 1
- 102220051100 rs199575734 Human genes 0.000 description 1
- 102220034435 rs886041035 Human genes 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H7/00—Instruments in which the tones are synthesised from a data store, e.g. computer organs
- G10H7/02—Instruments in which the tones are synthesised from a data store, e.g. computer organs in which amplitudes at successive sample points of a tone waveform are stored in one or more memories
- G10H7/04—Instruments in which the tones are synthesised from a data store, e.g. computer organs in which amplitudes at successive sample points of a tone waveform are stored in one or more memories in which amplitudes are read at varying rates, e.g. according to pitch
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Electrophonic Musical Instruments (AREA)
Description
- Die vorliegende Erfindung betrifft eine Vorrichtung zum Erzeugen eines Musiktonsignals und im besonderen eine Vorrichtung zum Erzeugen eines Musiktonsignals, die ein Musiktonsignal auf der Grundlage gespeicherter Wellenformdaten erzeugt.
- Die offengelegte japanische Gebrauchsmusterveröffentlichung Nr. 55-60191 offenbart die herkömmliche Vorrichtung zum Erzeugen eines Musiktonsignals, die das Musiktonsignal mit Hilfe mehrerer Musiktonsteuerparameter zusammensetzt.
- Im speziellen sieht diese herkömmliche Vorrichtung zwei Wellenformspeicher vor, die jeweils unterschiedliche Wellenformdaten speichern. Zwei Wellenformdatenwerte werden mit dem Musiktonsteuerparameter, d. h. einem Notenskalierungsparameter multipliziert. Somit bildet die herkömmliche Vorrichtung zwei Zwischenwellenformdatenwerte, deren Amplituden im Ansprechen auf die Tonhöhe variieren. Dann werden zwei Zwischenwellenformdatenwerte addiert, was zum Ergebnis hat, daß ein Wellenformdatenwert zusammengesetzt wird. Der zusammengesetzte Wellenformdatenwert hat die Wellenform, die sich von den ursprünglich in zwei Wellenformspeichern gespeicherten Wellenformen unterscheidet.
- Diese herkömmliche Vorrichtung ist jedoch insofern nachteilig, als das zusammengesetzte Musiktonwellenformsignal nur eine eintönige Variation bieten kann, weil die herkömmliche Vorrichtung lediglich zwei Wellenformen interpolieren kann. Aus diesem Grund kann die herkömmliche Vorrichtung nicht den Musikton erzeugen, der verschiedene Darstellungen hat.
- Die herkömmliche Vorrichtung kann tatsächlich nur einen Musiktonsteuerparameter, d. h. Notenskalierungsparameter benutzen. Als Ergebnis kann das zusammengesetzte Musiktonwellenformsignal nicht die komplizierte Variation in der Tonfarbe bieten, wodurch die herkömmliche Vorrichtung verschiedene Musikszenen nicht darstellen kann.
- Die offengelegte japanische Patentveröffentlichung Nr. 60-147793 offenbart unterdessen eine weitere herkömmliche Vorrichtung zum Erzeugen eines Musiktonsignals, die die Tonfarbe im Laufe der Zeit ändern kann.
- In dieser Vorrichtung werden kontinuierliche Musiktonwellenformen einiger Zeitperioden dem Abtastprozeß unterzogen und dann im Wellenformspeicher als die Musiktonwellenform eines Einschwingteils gespeichert. Ferner werden als die dem Einschwingteil folgende Musiktonwellenform mehrere Segmentwellenformen, die jeweils einer Zeitperiode entsprechen, dem Abtastprozeß unterzogen und dann im Wellenformspeicher gespeichert. Danach wird ein Paar von zwei Segmentwellenformen ausgelesen, und die gelesene Wellenform wird durch jedes vorgegebene Zeitintervall mit Hilfe des sogenannten "cross-fade"-Verfahrens geändert. Somit wird die zu erklingende Tonfarbe variiert.
- Die oben erwähnte herkömmliche Vorrichtung ist jedoch dafür ausgelegt, lediglich die Wellenformdaten aus dem Wellenformspeicher entsprechend dem vorgegebenen Programm zu lesen, das die Tonfarbenvariation eintönig macht.
- Diese herkömmliche Vorrichtung ändert ferner die Wellenform mittels des cross- fade-Verfahrens durch jedes vorgegebene Zeitintervall, was keine empfindliche Tonfarbenvariation des zu spielenden elektronischen Musikinstruments bietet.
- Des weiteren wird beim Spielen des nichtelektronischen Musikinstruments der Intensitätspegel des Musiktons (d. h. der Hüllkurvenpegel des Musiktons) im Laufe der Zeit variiert. Ferner wird die Tonfarbe im Ansprechen auf die Variation im Intensitätspegel des Musiktons leicht variiert. Dies ist die Bedingung, durch die das nichtelektronische Musikinstrument beträchtliche Darstellungen bieten kann.
- Außerdem wird die Tonhöhenvariation gemacht, um dem Musikton musikalische Effekte wie etwa Initialanschlags- und Anschlagsnachdruckeffekte aufzuprägen. In diesem Fall, wenn die Tonhöhenvariation und Tonfarbenvariation dem Musikton gleichzeitig verliehen werden können, ist es möglich, den Musikton mit beträchtlichen Darstellungen zu erhalten. Wenn die Tonhöhe variiert wird, wird beim nichtelektronischen Musikinstrument tatsächlich auch die Tonfarbe leicht variiert. Deshalb wird verlangt, daß das elektronische Musikinstrument die oben erwähnte Eigenschaft des nichtelektronischen Musikinstruments simulieren kann.
- EP-A-0 235 768 betrifft eine Parameterversorgungsvorrichtung zum Speichern von Parametern, die Charakteristika eines Tons wie etwa Wellenformdaten in einem Speicher eines elektronischen Musikinstruments bestimmen, und zum Auslesen dieser Parameter entsprechend mehreren parameterbestimmenden Faktoren und offenbart ein Adressensystem zum Ansprechen des Speichers.
- Es ist entsprechend ein erstes Ziel der vorliegenden Erfindung, eine Vorrichtung zum Erzeugen eines Musiktonsignals vorzusehen, die das Musiktonwellenformsignal erzeugen kann, das verschiedene Variationen im Ansprechen auf eine Vielzahl von Musiktonsteuerparametern bietet.
- Es ist ein weiteres Ziel der vorliegenden Erfindung, eine Vorrichtung zum Erzeugen eines Musiktonsignals vorzusehen, die die Tonfarbe im Ansprechen auf die Variation des Musiktonpegels in Abhängigkeit von Hüllkurveninformation, Expressionsinformation, Anschlagsinformation etc. variieren kann.
- Es ist ferner ein weiteres Ziel der vorliegenden Erfindung, eine Vorrichtung zum Erzeugen eines Musiktonsignals vorzusehen, die die Tonfarbenvariation im Ansprechen auf die Tonhöhenvariation bewirken kann.
- Diese Ziele werden erreicht mit einer Vorrichtung, wie sie in den beiliegenden Patentansprüchen aufgeführt ist.
- Weitere Ziele und Vorteile der vorliegenden Erfindung werden aus der folgenden Beschreibung unter Bezugnahme auf die begleitenden Zeichnungen deutlich, wobei bevorzugte Ausführungsformen der vorliegenden Erfindung deutlich gezeigt werden.
- In den Zeichnungen:
- Fig. 1 ist ein Blockdiagramm, das eine elektrische Konfiguration eines elektronischen Musikinstruments zeigt, das die Vorrichtung zum Erzeugen eines Musiktonsignals gemäß einer ersten Ausführungsform der vorliegenden Erfindung verwendet;
- Fig. 2 ist ein konzeptuelles Diagramm, das eine schematische Konfiguration eines in Fig. 1 gezeigten Wellenformspeichers zeigt;
- Fig. 3 zeigt eine Signalwellenform von Grundsegmentwellenformdaten;
- Fig. 4 und 5 sind Tabellen, die einige Arten von in einem Wellenformbankdatenteil gespeicherten Daten zeigen;
- Fig. 6 ist eine Tabelle, die einen Auswahlbedingungsdatensatzverwaltungsdatenteil zeigt;
- Fig. 7 ist eine Tabelle, die einen Wellenformbankadressenkonvertierungstabellendatenteil zeigt;
- Fig. 8 bis 11 sind Zeichnungen, die zur Erklärung der gewichteten Koeffizienten aw, bu, cv der k-Koordinatenachse, i-Koordinatenachse, j-Koordinatenachse verwendet werden;
- Fig. 12 und 13 sind konzeptuelle Zeichnungen, die zur Erklärung der Interpolationszusammensetzungsoperation verwendet werden, die an den Grundwellenformdaten im dreidimensionalen Koordinatenadressensystem ausgeführt wird;
- Fig. 14 ist ein Blockdiagramm, das eine detaillierte Konfiguration des in Fig. 1 gezeigten Wellenformspeichers zeigt;
- Fig. 15 ist ein Blockdiagramm, das eine detaillierte Konfiguration einer in Fig. 14 gezeigten Interpolationsschaltung zeigt;
- Fig. 16 ist eine Tabelle, die zur Erklärung der Operation der Interpolationsschaltung verwendet wird;
- Fig. 17 ist ein Blockdiagramm, das eine detaillierte Konfiguration des Wellenformspeichers gemäß einem modifizierten Beispiel der ersten Ausführungsform zeigt;
- Fig. 18 ist ein Blockdiagramm, das eine detaillierte Konfiguration einer in Fig. 17 gezeigten Koeffizientenerzeug ungsschaltung zeigt;
- Fig. 19 ist eine Tabelle, die zur Erklärung der Interpolationszusammensetzungsoperation verwendet wird;
- Fig. 20 ist ein Blockdiagramm, das ein elektronisches Musikinstrument gemäß einer zweiten Ausführungsform der vorliegenden Erfindung zeigt;
- Fig. 21 ist ein konzeptuelles Diagramm, das einen in Fig. 20 gezeigten Wellenformdatenspeicherteil zeigt;
- Fig. 22 zeigt eine Signalwellenform der in der zweiten Ausführungsform verwendeten Grundwellenformdaten, wie in Fig. 21 gezeigt;
- Fig. 23 zeigt eine Signalwellenform, die zur Erklärung einer Pegelerfassungsoperation der zweiten Ausführungsform verwendet wird;
- Fig. 24 ist ein Blockdiagramm, das ein elektronisches Musikinstrument gemäß einer dritten Ausführungsform der vorliegenden Erfindung zeigt;
- Fig. 25 zeigt Signalwellenformen, die zur Erklärung eines in der dritten Ausführungsform, wie in Fig. 24 gezeigt, verwendeten Interpolationskoeffizienten verwendet werden;
- Fig. 26 ist ein Blockdiagramm, das eine detaillierte Konfiguration einer in Fig. 24 gezeigten Interpolationsschaltung zeigt; und
- Fig. 27 zeigt eine Signalwellenform, die zur Erklärung der Operation der dritten Ausführungsform verwendet wird.
- Als nächstes werden bevorzugte Ausführungsformen der vorliegenden Erfindung unter Bezugnahme auf die Zeichnungen beschrieben.
- Unter Bezugnahme auf die Zeichnungen, in denen gleiche Bezugszeichen gleiche oder entsprechende Teile in den verschiedenen Ansichten bezeichnen, ist Fig. 1 ein Blockdiagramm, das eine elektrische Konfiguration eines einstimmigen elektronischen Musikinstruments 1 gemäß der ersten Ausführungsform der vorliegenden Erfindung zeigt. In Fig. 1 weist das elektronische Musikinstrument 1 einen Wellenformspeicher 2 auf, der eine Vielzahl von Grundsegmentwellenformdatenwerten (d. h. Wellenformdatenwerten einer Zeitperiode) fijk speichert. Einer der Grundsegmentwellenformdatenwerte fijk wird ausgewählt und dann wiederholt aus dem Wellenformspeicher 2 durch ein Wellenformlesesignal READ gelesen, das von einem Adressenzähler 3 erhalten wird. Der gelesene Grundsegmentwellenformdatenwert wird vom Wellenformspeicher 2 als ein Musiktonwellenformsignal WDATA ausgegeben.
- Der Wellenformspeicher 2 enthält M Speicherbankgruppen BANKm (wobei m= 1, 2, ..., M), von denen jede ferner K Wellenformbanken WBk (wobei k= 1, 2 ..., K) enthält.
- In der ersten Ausführungsform wird die Zahl K der in jeder Bankgruppe BANKm enthaltenen Wellenformbanken als eine beliebige ganze Zahl gesetzt.
- In bezug auf die der durch ein Bankgruppenauswahlsignal SWLBANK ausgewählten Bankgruppe BANKm zugeordnete Tonfarbe werden die Grundsegmentwellenformdatenwerte fijk, die repräsentativ für den Musikton entsprechend dem Tonbereich einschließlich der Tonhöhe von jedem Tastenkode sind, sequentiell in Speicherbereichen gespeichert, von denen jeder die vorgegebene Koordinatenadresse hat.
- Hierbei zeigt Fig. 2 im Detail die Koordinatenadressen der Grundsegmentwellenformdatenwerte fijk, die in den in der Bankgruppe BANK1 (wobei m=1) enthaltenen Wellenformbanken WBk (wobei k= 1, 2, ..., K) gespeichert werden. Diese in Fig. 2 gezeigten Koordinatenadressen können durch ein dreidimensionales Koordinatenadressensystem bezeichnet werden, das eine i-Koordinatenachse, eine j- Koordinatenachse und eine k-Koordinatenachse enthält. Durch Bestimmen der Koordinatenadresse k (wobei k= 1, 2, ..., K) (, die als Tonlagenadresse bezeichnet wird,) entlang der k-Koordinatenachse kann jede der Wellenformbanken WB&sub1;, WB&sub2;, ..., WBK ausgewählt werden. Durch Bestimmen der Koordinatenadresse i (wobei i= 1, 2, ..., I) (, die als Tonhöhenadresse bezeichnet wird,) entlang der i-Koordinatenachse kann jede der Koordinatenadressen von Nr.1, Nr.2, ..., Nr.I Speicherbereichen, die in Nr.k Wellenformbank WBk enthalten sind, bestimmt werden. Des weiteren kann durch Bestimmen der Koordinatenadresse j (wobei j= 1, 2, ..., J) (, die als Pegeladresse bezeichnet wird,) jede der Koordinatenadressen von Nr.1, Nr.2, ..., Nr.J Speicherbereichen, die in Nr.i Speicherbereich enthalten sind, bezeichnet werden.
- Hierbei werden die Zahlen I, J der in jeder Wellenformbank enthaltenen Speicherbereiche jeweils als beliebige ganze Zahlen gesetzt.
- Wenn der Spieler eine Taste eines Tastaturteils 4 anschlägt, erzeugt eine Tastenanschlagserfassungsschaltung 5 ein den Tastenkode der angeschlagenen Taste kennzeichnendes Tastenkodesignal KC und ein Taste-An-Signal KON, das anzeigt, daß die Taste angeschlagen ist. Eine Frequenzinformationkonvertierungsschaltung 6, in der ein F-Zahl-Datenwert FN als Frequenzinformation entsprechend der Tonlage des Tastenkodesignals KC erzeugt wird, wird mit dem Tastenkodesignal KC beaufschlagt. Der Adressenzähler 3 wird mit dem F-Zahl-Datenwert FN beaufschlagt.
- Der Adressenzähler 3 akkumuliert die F-Zahl-Datenwerte FN mit jedem vorgegebenen Arbeitstakt. Dann wird der ganzzahlige Teil des Akkumulationsergebnisses als das Wellenformlesesignal READ verwendet. Mit Hilfe eines solchen Wellenformlesesignals READ kann der Grundsegmentwellenformdatenwert fijk, der eine aus Nr.0-Nr.1023 Abtastdatenwerten SAMP bestehende Grundsegmentwellenform DREF hat, durch die Geschwindigkeit entsprechend der Tonlage der angeschlagenen Taste ausgelesen werden, wie in Fig. 3 gezeigt.
- Der durch das Wellenformlesesignal READ auszulesende Grundsegmentwellenformdatenwert fijk wird auf der Grundlage einer Wellenformauswahlbedingung ausgewählt, die durch vier Stücke von Spielinformation bestimmt ist, die eine Variation bei der Grundsegmentwellenform DREF verursachen.
- Hierbei ist die erste Spielinformation die Tonfarbe. Wenn der Spieler einen (in Fig. 1 gezeigten,) an einem (nicht gezeigten) Bedienungsfeld vorgesehenen Tonfarbenwähler 11 betätigt, gibt eine Tonfarbenauswahlsignalerzeugungsschaltung 12 ein Tonfarbenauswahlsignal TC an eine Bankgruppenauswahlschaltung 13 aus. Die Bankgruppenauswahlschaltung 13 beaufschlagt den Wellenformspeicher 2 mit einem Bankgruppenauswahlsignal SELBANK.
- Ferner ist die zweite Spielinformation die Tonlage. Wenn der Wellenformspeicher 2 mit dem Tastenkodesignal KC als einem Wellenformbankauswahlsignal SELWB beaufschlagt wird, wird die entsprechende Wellenformbank WBK selektiv bestimmt. Somit ist es möglich, selektiv die Wellenformbank WBk zu bestimmen, die die Wellenformdaten entsprechend dem Tonbereich einschließlich der Tonlage der angeschlagenen Taste speichert.
- In der ersten Ausführungsform wird die Zahl K der Wellenformbanken WBk kleiner gesetzt als die Zahl der Tastenkodes, die im Tastaturteil 4 bestimmt werden können. Beispielsweise wird diese Zahl K auf "128" gesetzt. Die Wellenformdatenwerte, die die Grundsegmentwellenform DREF entsprechend dem durch das Musikspiel bestimmten Tastenkode haben, werden tatsächlich durch Ausführen der Interpolation auf der Grundlage des Grundsegmentwellenformdatenwerts fijk erzeugt.
- Der Grundsegmentwellenformdatenwert fijk wird durch ein Tonhöhenbestimmungssignal PICH und ein Pegelbestimmungssignal LEVL bestimmt (, die als dritte bzw. vierte Spielinformation verwendet werden). Hierbei wird das Tonhöhenbestimmungssignal PICH von einer Tonhöhenvariationswellenformerzeugungsschaltung 15 erzeugt, während das Pegelbestimmungssignal LEVL ein von einer Hüllkurvenwellenformerzeugungsschaltung 16 erzeugtes Hüllkurvensignal ENV ist.
- Die Tonhöhenvariationswellenformerzeugungsschaltung 15 empfängt ein Initialanschlagssignal INTL und ein Anschlagsnachdrucksignal AFTR, die von einer Initialanschlagserfassungsschaltung 21 bzw. einer Anschlagsnachdruckerfassungsschaltung 22 erhalten werden. Diese Schaltungen 21, 22 sind für jede Taste des Tastaturteils 4 vorgesehen. Ferner empfängt die Tonhöhenvariationswellenformerzeugungsschaltung 15 des weiteren das Tastenkodesignal KC, das Taste-An-Signal KON und das Tonfarbenauswahlsignal TC. Das Tonhöhenbestimmungssignal PICH besteht beispielsweise aus Daten von sieben Bit, die die Tonhöhenvariationswellenform anzeigen, die durch Initialanschlagsoperation und Anschlagsnachdruckoperation auf der Grundlage des Tastenkodes und der Tonfarbe der angeschlagenen Taste ermittelt wird, während die Taste angeschlagen wird.
- Die Hüllkurvenwellenformerzeugungsschaltung 16 empfängt das Initialanschlagssignal INTL, das Anschlagsnachdrucksignal AFTR, den Tastenkode KC, das Taste-An-Signal KON und das Tonfarbenauswahlsignal TC. Dann erzeugt die Hüllkurvenwellenformerzeugungsschaltung 16 das Hüllkurvensignal ENV als das Pegelbestimmungssignal LEVL, wobei das Hüllkurvensignal ENV durch die Hüllkurvenwellenform gebildet wird, die die Pegelvariation entsprechend der Initialanschlagsoperation und Anschlagsnachdruckoperation auf der Grundlage des Tastenkodes und der Tonfarbe der betätigten Taste während einer Zeitspanne zwischen einem Taste-An-Zeitpunkt und einem Taste- Aus-Zeitpunkt anzeigt.
- Als Ergebnis gibt der Wellenformspeicher 2 ein Musiktonwellenformsignal WDATA aus, das mit dem Hüllkurvensignal ENV in einer Hüllkurvenaufprägeschaltung 25 multipliziert wird, die als ein Multiplizierer konstruiert ist. Danach wird die Multiplikationsausgabe der Hüllkurvenaufprägeschaltung 25 in einem Digital/Analog (D/A)-Wandler 26 in ein Analogsignal umgewandelt. Ein Klangsystem 27 wird mit diesem Analogsignal als ein Musiktonsignal SOND beaufschlagt.
- Wie in Fig. 2 gezeigt, werden in einer Bankgruppe BANKm enthaltene Daten (d. h. alle der Grundsegmentwellenformdatenwerte fijk, die repräsentativ für dieselbe Tonfarbe sind) als die Daten verwaltet, die Koordinatenadressen (i, j, k) im dreidimensionalen Koordinatenadressensystem haben.
- Wenn der Spieler die Tonhöhe des zu erzeugenden Musiktons variiert, wird somit die Koordinatenadresse i für den auszulesenden Grundsegmentwellenformdatenwert fijk im Ansprechen auf die Tonhöhenvariation variiert. Wenn der Spieler den Hüllkurvenpegel des zu erzeugenden Musiktons variiert, wird die Koordinatenadresse j für den auszulesenden Grundsegmentwellenformdatenwert fijk im Ansprechen auf eine solche Pegelvariation variiert. Wenn der Spieler die zu betätigende Taste wechselt, wird des weiteren die Koordinatenadresse k für den auszulesenden Grundsegmentwellenformdatenwert fijk im Ansprechen auf den Wechsel des Tastenkodes variiert, der infolge des Tastenwechsels erfolgte.
- Hierbei enthält jede der Nr.1 Bankgruppe BANK1, Nr.2 Bankgruppe BANK2, ..., Nr.M Bankgruppe BANKM km Wellenformbanken WB&sub1;-WBkm. Wie in Fig. 4 gezeigt, sind die vorgegebenen Koordinatenadressen kontinuierlich den Wellenformbanken zugeordnet. Deshalb ist es durch Bestimmen der Koordinatenadresse für jede Wellenformbank WBk (wobei k= 1 - km) möglich, den in einem Wellenformbankdatenteil [DATA] des Wellenformspeichers 2 gespeicherten Grundsegmentwellenformdatenwert fijk zu bestimmen.
- Im speziellen werden Koordinatenadressen ADRWBI11, ..., ADRWBK1, ..., ADRWBK11 als die in Nr.1 Bankgruppe BANK&sub1; enthaltenen Kopfadressen der Wellenformbanken WB&sub1;, ..., WBK, ..., WBK1 gegeben. Ferner werden Koordinatenadressen ADRWB12, ..., ADRWBK2, ..., ADRWBK22 jeweils in Nr.2 Bankgruppe BANK&sub2; enthaltenen Wellenformbanken WB&sub1;, ..., WBK, ..., WBK2 zugeordnet. Auf ähnliche Weise werden Koordinatenadressen ADRWB1M, ..., ADRWBKM, ..., ADRWBKMM jeweils in Nr.M Bankgruppe BANKM enthaltenen Wellenformbanken WB&sub1;, ..., WBK, ..., WBKM zugeordnet.
- Im Wellenformbankdatenteil [DATA] speichert jeder Speicherbereich, dem die Wellenformbankadresse ADRWBkm (wobei k= 1 bis Km, m= 1 bis M) gegeben ist, Tonhöhenzahlkonvertierungskoeffizientendatenwerte PCkm, Pegelzahlkonvertierungskoeffizientendatenwerte LCkm und Tonhöhenadressenverschiebungsdatenwerte PAOkm als die Wellenformdatenwerte DATA, wie in Fig. 5 gezeigt. Diese drei Datenwerte PCkm, LCkm, PAOkm werden als Verwaltungsdatenwerte verwendet, die ublicherweise in bezug auf alle zur entsprechenden Wellenformbank gehorenden Grundsegmentwellenformdatenwerte fijk verwendet werden. Ferner speichert jeder Speicherbereich auch Abtastwellenformdatenwerte f(ijk)m (wobei i= 1 bis Ikm, j= 1 bis Jkm, k= 1 bis Km), was den Grundsegmentwellenformdatenwert fijk erzeugt.
- Hierbei zeigt die Wellenformbankadresse ADRWBkm die Koordinatenadresse des Speicherbereichs zum Speichern des Wellenformdatenwerts DATA der in Nr.m Bankgruppe BANKm enthaltenen Nr.k Wellenformbank WBk an. Fig. 2 zeigt eine detaillierte Tabelle der Adressen der Nr.1 Wellenformbank WB&sub1; innerhalb Nr.1 Bankgruppe BANK&sub1;. Wie in Fig. 1 gezeigt, kann die Kopfadresse des Grundsegmentwellenformdatenwerts fijk durch die Tonhöhenadresse i (wobei i= 1 bis I&sub1;&sub1;) und Pegeladresse j (wobei j= 1 bis J&sub1;&sub1;) bestimmt werden.
- In der ersten Ausführungsform sind ein in Fig. 6 gezeigter Auswahlbedingungsdatensatzverwaltungsdatenteil [FILE] und ein in Fig. 7 gezeigter Wellenformbankadressenkonvertierungstabellendatenteil [TABLE] für jede Tonfarbe vorgesehen. Unterdessen wird die Wellenformbankadresse ADRWBkm benötigt, um den Wellenformdatenwert DATA des Wellenformbankdatenteils [DATA] auszulesen, wie in den Fig. 4, 5 beschrieben. Eine solche Wellenformbankadresse ADRWBkm wird in den oben erwähnten zwei Datenteilen [FILE], [TABLE] entsprechend den folgenden Abläufen gebildet.
- Das Wellenformbankauswahlsignal SELWB (siehe Fig. 1), das durch das von der Tastenanschlagserfassungsschaltung 5 erhaltene Tastenkodesignal KC erzeugt wird, wird dem Auswahlbedingungsdatensatzverwaltungsdatenteil [FILE] als Tastenkodeverzeichnis aufgeprägt.
- Hierbei ist eine Tastenkodezahl "w" gleich "1", "2", ..., "128". Der Auswahlbedingungsdatensatzverwaltungsdatenteil [FILE] speichert Satzdaten von 16 Bit in bezug auf die Tastenkodezahl w (wobei w= 1, 2, ..., 128). Die höheren neun Bit (d. h. linkesten neun Bit) der Satzdaten bezeichnen einen gewichteten Koeffizienten aw (wobei w= 1, 2, ..., 128), während die niedrigeren sieben Bit (d. h. rechtesten sieben Bit) der Satzdaten einen Datenwert WBSELw (wobei w= 1, 2, ..., 128) bezeichnen, der eine der Wellenformbankzahlen WBK (wobei k= 1, 2, ..., Km) bestimmt.
- Der spezifische gewichtete Koeffizient aw wird einer entsprechenden der Tastenkodezahlen w zugeordnet, während jede beliebige der Wellenformbankzahlen WBk als der Datenwert WBSELw gesetzt wird. Somit wird die Interpolationsoperation an den Grundsegmentwellenformdaten entsprechend mehreren, in benachbarten Wellenformbanken WBK und WBK+1 gespeicherten Tastenkodezahlen durch Auswählen der gewünschten gewichteten Koeffizienten "a" ausgeführt, wobei benachbarte Tonhöhenadressen k, k+1 jeweils benachbarten Wellenformbanken WBk, WBk+1 gegeben sind.
- Fig. 8 zeigt den Fall, in dem Tastenkodes KCw, KCw+1, KCw+2, denen jeweils Tastenkodezahlen w, w+1, w+2 zugeordnet sind, innerhalb des Tonhöhenbereichs zwischen den Wellenformbankzahlen WBk und WBk+1 enthalten sind. In diesem Fall werden gewichteter Koeffizient aw & Wellenformbank WBk, gewichteter Koeffizient aw+1 & Wellenformbank WBk+1, gewichteter Koeffizient aw+2 & Wellenformbank WBk+2 jeweils drei Satzdatenwerten entsprechend den Tastenkodes KCw, KCw+1, KCw+2 zugeordnet.
- Somit wird die Interpolationsoperation an den Grundsegmentwellenformdatenwerten fijk, fij(k+1) mit Hilfe von gewichteten Koeffizienten aw, aw+1, aw+2 in den folgenden Formeln (1), (2), (3), ausgeführt, so daß interpolierte Grundsegmentwellenformdatenwerte Fw(ωt), Fw+1(ωt), Fw+2(ωt) berechnet werden. Deshalb haben die interpolierten Grundsegmentwellenformdatenwerte entsprechende Tonfarben zwischen den Tonfarben der Grundsegmentwellenformdatenwerte fijk, fij(k+1).
- Fw(ωt)= awfijk + (1-aw)fij(k+1) ... (1)
- Fw(ωt)= aw+1 fijk + (1-aw+1)fij(k+1) ... (2)
- Fw(ωt)= aw+2fijk + (1-aw+2)fij(k+1) ... (3)
- Unter diesen interpolierten Grundsegmentwellenformdatenwerten zeigt Fig. 9 Wellenformen in bezug auf den interpolierten Grundsegmentwellenformdatenwert Fw(ωt). Wie in Fig. 9 gezeigt, wird der Wert des interpolierten Grundsegmentwellenformdatenwerts Fw(ωt) durch Ausführen einer inneren Divisionsoperation an den Grundsegmentwellenformdatenwerten fijk, fij(k+1) berechnet, die in den Wellenformbanken WBK, WBk+1 entsprechend den Tonlagen gespeichert werden, die um den bestimmten Tastenkode KCW herum liegen. Im speziellen wird dieser Wert von Fw(ωt) durch Ausführen der inneren Divisionsoperation an der Abweichung zwischen fijk und fij(k+1) in der k-Koordinatenachsenrichtung mit einem Verhältnis von aw:(1-aw) berechnet. Die oben erwähnte Berechnung wird in bezug auf jeden von Nr.0-Nr.1023 Abtastdatenwerten ausgeführt.
- Deshalb zeigt die (für die Tonfarbe repräsentative) Wellenform des interpolierten Grundsegmentwellenformdatenwerts Fw(ωt) eine Ähnlichkeit mit den (für die Tonfarben repräsentativen) Wellenformen der Grundsegmentwellenformdatenwerte fijk, fij(k+1), wobei diese Ähnlichkeit vom gewichteten Koeffizienten aw abhängt. Wenn sich der gewichtete Koeffizient aw der "1" annähert, wird hierbei die Tonfarbenwellenform des interpolierten Grundsegmentwellenformdatenwerts Fw(ωt) der des Grundsegmentwellenformdatenwerts fijk ähnlich. Wenn sich der gewichtete Koeffizient aw der "0" annähert, wird andererseits die Tonfarbenwellenform von Fw(ωt) der von fij(k+1) ähnlich.
- Hierbei bezeichnet die Notation (ωt) eine Phasensignalkomponente, die durch Lesen der Abtastdaten SAMP einer Zeitperiode mit dem Wellenformlesesignal READ im Laufe der Zeit gebildet wird, wie in Fig. 3 gezeigt.
- Unterdessen wird das von der (in Fig. 1 gezeigten) Tonhöhenvariationswellenformerzeugungsschaltung 15 ausgegebene Tonhöhenbestimmungssignal PICH dem Auswahlbedingungsdatensatzverwaltungsdatenteil [FILE] als ein Tonhöhenverzeichnis gegeben, das eine von bestimmten Tonhöhenzahlen u (wobei u= 1, 2, ..., 128) bestimmt. Auf der Grundlage des Tonhöhenverzeichnisses ist es möglich, den aus einem virtuellen gewichteten Koeffizienten bux bestehenden Satzdatenwert und den eine der Tonhöhenzahlen PN (wobei PN= 1, 2, ..., Im) kennzeichnenden Datenwert PNSELu (wobei u= 1, 2, ..., 128) zu bestimmen.
- Fig. 10 zeigt den Fall, in dem drei Variationstonhöhen PICHu, PICHu+1, PICHu+2 zwischen den Grundsegmentwellenformdatenwerten fijk und f(i+1)jk entsprechend den in der i-Koordinatenachsenrichtung angeordneten Tonhöhenadressen i, i+1 enthalten sind. In diesem Fall werden gewichteter Koeffizient bu & Tonhöhenzahl PNi, gewichteter Koeffizient bu+1 & Tonhöhenzahl PNi, gewichteter Koeffizient bu+2 & Tonhöhenzahl PNi jeweils als die Satzdatenwerte dreier Variationstonhöhen PICHu, PICHu+1, PICHu+2 gespeichert. Entsprechend den folgenden Formeln (4), (5), (6) konnen drei interpolierte Grundsegmentwellenformdatenwerte Fu(ωt), Fu+1(ωt), Fu+2(ωt) durch Ausfuhren der Interpolationsoperation an den in Tonhohenadressen i, i+1 geschriebenen Grundsegmentwellenformdatenwerten fijk, f(i+1)jk berechnet werden.
- Fu(ωt)= bufijk + (1-bu)f(i+1)jk ... (4)
- Fu+1(ωt)= bu+1fijk + (1-bu+1)f(i+1)jk ... (5)
- Fu+2(ωt)= bu+2fijk + (1-bu+2)f(i+1)jk ... (6)
- Die oben erwähnten interpolierten Grundsegmentwellenformdatenwerte Fu(ωt), Fu+1(ωt), Fu+2(ωt) haben jeweilige Werte ähnlich dem Wert des vorangehenden interpolierten Grundsegmentwellenformdatenwerts Fw(ωt), wie in Fig. 9 gezeigt. Beispielsweise wird der Wert von Fu(ωt) durch Ausführen der Interpolationsoperation an den Grundsegmentwellenformdatenwerten fijk, f(i+1)jk berechnet, die in Tonhöhenadressen i, i+1 entsprechend den Tonhöhen geschrieben werden, die um die Tonhöhe entsprechend der bestimmten Tonhöhenzahl u herum liegen. Im speziellen wird der Wert von Fu(ωt) durch Ausführen der inneren Divisionsoperation an der Abweichung zwischen fijk und f(i+1)jk in der i-Koordinatenachsenrichtung mit einem Verhältnis von bu:(1-bu) berechnet. Die oben erwähnte Operation wird an jedem von Nr.0-Nr.1023 Abtastdatenwerten ausgeführt.
- Deshalb zeigt die Tonfarbenwellenform des interpolierten Grundsegmentwellenformdatenwerts Fu(ωt) die Ähnlichkeit mit denen der Grundsegmentwellenformdatenwerte fijk, f(i+1)jk, wobei die Ähnlichkeit vom virtuellen gewichteten Koeffizienten bu abhängt. Wenn sich der gewichtete Koeffizient bu der "1" annähert, wird folglich die Tonfarbenwellenform des interpolierten Grundsegmentwellenformdatenwerts Fu(ωt) ähnlich dem des Grundsegmentwellenformdatenwerts fijk. Wenn sich der gewichtete Koeffizient bu der "0" annähert, wird andererseits die Tonfarbenwellenform von Fu(ωt) ähnlich der von f(i+1)jk.
- Unterdessen empfängt der Wellenformspeicher 2 das von der Hüllkurvenwellenformerzeugungsschaltung 16 (siehe Fig. 1) erzeugte Hüllkurvensignal ENV als das Pegelbestimmungssignal LEVL. Dann wird das Auswahlbedingungsdatensatzverwaltungsdatenteil [FILE] mit dem Pegelbestimmungssignal LEVL als einem eine bestimmte Pegelzahl "v" (wobei v= 1, 2, ..., 128) kennzeichnendes Hüllkurvenverzeichnis beaufschlagt. Auf der Grundlage dieses Hüllkurvenverzeichnisses ist es möglich, den aus einem virtuellen gewichteten Koeffizienten cvx bestehenden Satzdatenwert und den eine der Pegelzahlen LN (wobei LN= 1, 2, ..., Jm) kennzeichnenden Datenwert LNSELv (wobei v= 1, 2, ..., 128) zu bestimmen. Mit Hilfe des Satzdatenwerts kann der der Pegelzahl u (wobei u= 1, 2, ..., 128) entsprechende interpolierte Grundsegmentwellenformdatenwert Fv(ωt) durch die Interpolationoperation erhalten werden.
- Fig. 11 zeigt den Fall, in dem drei bestimmte Variationspegel LEVLv, LEVLv+1, LEVLv+2 zwischen Grundsegmentwellenformdatenwerten fijk, fi(j+1)k eingefügt werden, die jeweilige Pegeladressen j, j+1 haben, die in der j-Koordinatenachsenrichtung angeordnete, benachbarte Adressen sind. In diesem Fall werden interpolierte Grundsegmentwellenformdatenwerte Fv(ωt), Fv+1(ωt), Fv+2(ωt) entsprechend den folgenden Formeln (7), (8), (9) als Zwischendatenwerte zwischen den Grundsegmentwellenformdatenwerten fijk und fi(j+1)k berechnet.
- Fv(ωt)= cvfijk + (1-cv)fi(j+1)k ... (7)
- Fv+1(ωt)= cv+1fijk + (1-cv+1)fi(j+1)k ... (8)
- Fv+2(ωt)= cv+2fijk + (1-cv+2)fi(j+1)k ... (9)
- Ähnlich dem in Fig. 9 gezeigten Fw(ωt) kann jeder der interpolierten Grundsegmentwellenformdatenwerte Fv(ωt), Fv+1(ωt), Fv+2(ωt) durch Ausführen einer bestimmten Operation an den Grundsegmentwellenformdatenwerten fijk, fi(j+1)k entsprechend den Pegeladressen j, j+1 erhalten werden, die des weiteren den um den bestimmten Variationspegel LEVLv herum liegenden Pegeln entsprechen. Im speziellen wird jeder der interpolierten Grundsegmentwellenformdatenwerte durch Ausführen der inneren Divisionsoperation an der Abweichung zwischen fijk, fi(j+1)k in der j- Koordinatenachse mit einem Verhältnis von cv:(1-cv) berechnet. Eine solche Operation wird bei jedem von Nr.0-Nr.1023 Abtastdatenwerten ausgeführt.
- Deshalb zeigt die Tonfarbenwellenform des interpolierten Grundsegmentwellenformdatenwerts Fv(ωt) Ähnlichkeit mit denen des Grundsegmentwellenformdatenwerts Fv(ωt), wobei die Ähnlichkeit durch den gewichteten Koeffizienten cv bestimmt ist. Wenn sich der gewichtete Koeffizient cv der "1" annähert, wird die Tonfarbenwellenform des interpolierten Grundsegmentwellenformdatenwerts Fv(ωt) der des Grundsegmentwellenformdatenwerts fijk ähnlich. Wenn sich cv der "0" annähert, wird im Gegensatz dazu die Tonfarbenwellenform von Fv(ωt) der von fi(j+1)k ähnlich.
- Wenn die für die Interpolationsoperation zu verwendende Wellenformbank WBk durch das Tastenkodeverzeichnis so bestimmt ist, daß der die bestimmte Wellenformbank WBk kennzeichnende Satzdatenwert WBSELw ausgelesen wird, wird im Auswahlbedingungsdatensatzverwaltungsdatenteil [FILE] (siehe Fig. 6) der gelesene Satzdatenwert WBSELw in eine Wellenformbankadresse ADRWBkm im Wellenformbankadressenkonvertierungstabellensatzteil [TABLE] (siehe Fig. 7) konvertiert.
- Hierbei werden M Bänke BANKm (wobei m= 1 bis M) durch das Bankgruppenauswahlsignal SELBANK ausgewählt. In bezug auf M Banken wird der Wellenformbankauswahldatenwert WBSELm (wobei m= 1 bis K) in den Wellenformbankadressendatenwert ADRWBkm (wobei k= 1 bis K, m= 1 bis M) von 26 Bit im Wellenformbankadressenkonvertierungstabellendatenteil [TABLE] konvertiert.
- Die vorliegende Ausführungsform sieht einen 26 Bit-Speicherbereich für jede Adresse des Speichers vor, der den Wellenformbankadressendatenwert ADRWBkm speichert. Dieser 26 Bit-Speicherbereich ist in zwei Teile unterteilt, von denen der erstere Teil die höheren 16 Bit von ADRWBkm und der letztere Teil die niedrigeren zehn Bit von ADRWBKM speichert.
- Wie zuvor beschrieben, bestimmt das Bankgruppenauswahlsignal SELBANK die Tonfarbe entsprechend Nr.m Tonfarbenbankgruppe BANKm. In diesem Zustand, wenn das Tastenkodesignal KC zum Auslesen der Nr.k Wellenformbankzahl durch das Tastenkodeverzeichnis erzeugt wird, gibt der Wellenformbankadressenkonvertierungstabellendatenteil [TABLE] den Wellenformbankadressendatenwert ADRWBkm aus.
- Der Wellenformbankdatenteil [DATA] wird mit dem oben erwähnten Wellenformbankadressendatenwert ADRWBkm als dem Adressendatenwert beaufschlagt, was zur Folge hat, daß der Wellenformbankdatenteil [DATA] in den Zustand gesetzt wird, in dem der Tonhöhenzahlkonvertierungskoeffizientendatenwert PCkm, der Pegelzahlkonvertierungskoeffizientendatenwert LCkm, der Tonhöhenadressenverschiebungsdatenwert PAOkm und die Abtastwellenformdatenwerte f(11K) m bis f(IJK)m ausgelesen werden können.
- Dann kann durch Bestimmen der Tonhöhen-und Pegeladressen (i,j) (wobei i= 1 bis Ikm, j= 1 bis JKm) einer der Abtastwellenformdatenwerte f(11K)m bis f(IJK)m ausgelesen werden.
- Unterdessen werden die Tonhöhen- und Pegeladressen (i,j) sowie die Interpolationskoeffizienten (b,c) jeweils aus den folgenden Formeln (10), (11) auf der Grundlage des Tonhöhenzahlauswahldatenwerts PNSELu, des Pegelzahlauswahldatenwerts LNSELv und der virtuellen Interpolationskoeffizienten bx, cx erhalten, die durch das Tonhöhenverzeichnis und das Hüllkurvenverzeichnis (siehe Fig. 6) bestimmt werden.
- [i, b]= [0, PCkm] × [PNSELu, bx] ... (10)
- [j, b]= [0, LCkm] × [LNSELv, cx] ... (11)
- Hierbei werden der Tonhöhenzahlkonvertierungskoeffizientendatenwert PCkm und der Pegelzahlkonvertierungskoeffizientendatenwert LCkm im Wellenformbankdatenteil [DATA] als die gewöhnlichen Datenwerte gespeichert. In den oben erwähnten Formeln (10), (11) kennzeichnet die Notation [x, y] den verknüpften Operator, wobei x dem ganzen Teil entspricht und y dem Dezimalteil entspricht.
- Sowohl der Tonhöhenzahlkonvertierungskoeffizientendatenwert PCkm als auch der Pegelzahlkonvertierungskoeffizientendatenwert LCkm kennzeichnen die gültigen Speicherbereiche in Verbindung mit jeder Wellenformbankzahl WBk (wobei k= 1 bis K). Die Wertebereiche von PCkm, LCkm sind beschränkt durch PCkm= 0 bis 1, LCkm= 0 bis 1. Aus diesem Grund gibt die Wellenformbankzahl WBk zum Speichern des Tonhöhenzahlkonvertierungskoeffizientendatenwerts PCkm=1 an, daß die Grundsegmentwellenformdatenwerte fijk (i= 1 bis IKm) in alle Tonhöhenadressen i (wobei i= 1 bis Im) in der i-Koordinatenachse geschrieben werden. Wenn die Tonhöhenzahl PNi durch das Tonhöhenverzeichnis (siehe Fig. 6) bestimmt wird, werden somit die Grundsegmentwellenformdatenwerte fijk (wobei i= 1 bis Im) in der Tonhöhenadresse i (wobei i= PNi) als die momentan bestimmte Wellenform ausgelesen werden.
- Wenn der Tonhöhenzahlkonvertierungskoeffizientendatenwert PCkm bei 0.5 ist (d. h. PCkm=0.5), wird andererseits angegeben, daß die Grundsegmentwellenformdatenwerte fijk (wobei i= 1 bis Im/2) in der Hälfte der Maximalzahl von Adressen gespeichert werden. In diesem Fall, wenn der Tonhöhenzahlauswahldatenwert PNSELu und der virtuelle Interpolationskoeffizient bx durch das Tonhöhenverzeichnis bestimmt werden, wird der Grundsegmentwellenformdatenwert fijk in Adresse i (siehe folgende Formel (12)) als der momentan bestimmte Wellenformdatenwert ausgelesen.
- i= INT([PNSELu, bx]/2) ... (12)
- wobei die Notation INT(x) den Operator kennzeichnet, der den ganzen Teil von "x" extrahiert.
- Ähnlich dem zuvor beschriebenen Tonhöhenzahlkonvertierungskoeffizientendatenwert PCkm wird der Pegelzahlkonvertierungskoeffizientendatenwert LCkm auf den für den gültigen Speicherbereich repräsentativen Wert gesetzt, bei dem die Grundsegmentwellenformdatenwerte fijk tatsächlich in jeder Wellenformbank WBk gespeichert werden.
- Somit können die Tonhöhenzahl PNi und die Pegelzahl LNj sogar dann, wenn die Zahl der Grundsegmentwellenformdatenwerte fijk in bezug auf die Tonfarbe oder den Tonbereich verschieden ist, so gesetzt werden, daß alle der Wellenformbanken WBkm denselben gültigen Speicherbereich haben werden. Hierbei entspricht die Zahl von fijk dem Speicherbereich, der die Grundsegmentwellenformdatenwerte fijk speichert. In diesem Fall kann die Tonhöhen- und Pegelbestimmung erheblich vereinfacht werden.
- In der vorliegenden Ausführungsform wird ein Adressenteil einer absoluten Adresse [AD(f(ijk)m)], die, wie in der folgenden Formel (13) gezeigt, ihren Werl einfach steigert, jeder der Bankgruppen BANK&sub1; bis BANKM im Wellenformspeicher 2, jeder der Wellenformbanken WB&sub1; bis WBK in jeder Bankgruppe, jeder der Adressen (i=1, j=1 bis J), (i=2, j=1 bis J), ..., (i=I, j= 1bis J) in jeder Wellenformbank und jedem der in jeder Adresse gespeicherten Nr.1-Nr.1023 Abtastdatenwerte SAMP zugeordnet.
- [AD(f(ijk)m)]=ADRWBKm+(PAOkm*i)+(1024*j)+ AD(ωt) ... (13)
- In der oben erwähnten Formel (13) ist der erste Adressenteil AD(ωt) die absolute Adresse, die jedem Abtastdatenwert SAMP (= fijk) der Grundsegmentwellenform DREF (siehe Fig. 3) zugeordnet ist. Hierbei nimmt die Koordinatenadresse (d. h. Tonhöhenadresse) um "1024" zu, was die absolute Adresse entsprechend den Nr.1- Nr.1023 Abtastdatenwerten SAMP durch jeden Speicherbereich kennzeichnet.
- Der zweite Adressenteil AD(1024*j) kennzeichnet den Adressenzunahmewert in der j-Koordinatenachsenrichtung. Wenn die Tonhöhenadresse i in der i-Koordinatenachsenrichtung wie i= 1, 2, ..., I zunimmt, nimmt in jeder der Wellenformbanken WB&sub1; bis WBK jede der absoluten Adressen der Koordinatenadressen (i=1, j=1, 2, ..., J), (i=2, j=1, 2, ..., J) (i=I, j=1, 2, ..., J) um "1024" zu.
- Der dritte Adressenteil PAOkm*i kennzeichnet den Adressenzunahmewert in der i- Koordinatenachsenrichtung. Wenn die Tonhöhenadresse in der i-Koordinatenachsenrichtung wie i= 1, 2, ..., I zunimmt, wird die entsprechende absolute Adresse durch den Tonhöhenadressenverschiebungsdatenwert PAOkm (siehe Fig. 4) verschoben, der im Wellenformbankdatenteil [DATA] vorgespeichert ist.
- Der vierte Adressenteil ADBANKm(WBk) kennzeichnet die Kopfadresse der Wellenformbank WBK innerhalb der Nr.m Wellenformbankgruppe BANKm.
- Die vorliegende Ausführungsform führt die Interpolationszusammensetzungsoperation wie folgt aus. Zunächst wird der im dreidimensionalen Koordinatenadressensystem (i,j,k) gespeicherte Grundsegmentwellenformdatenwert fijk aus jeder Bankgruppe im Wellenformspeicher 2 durch die diskrete Tonhöhenadresse i, die Pegeladresse j und die Tonlagenadresse k ausgelesen, die als die Kopfadressen verwendet werden. Auf der Grundlage der acht Grundsegmentwellenformdatenwerte, die in die die Adressen i, j, k umgebenden Adressen geschrieben werden, werden dann die gelesenen Grundsegmentwellenformdatenwerte fijk zu einem zusammengesetzten Wellenformsignal Fuvw(ωt) zusammengesetzt, das die Tonhöhenvariation, den Pegel und die Tonlage entsprechend den Zwischenadressen der Adressen i, j, k hat.
- Beispielsweise werden, wie in Verbindung mit den Fig. 8 bis 11 beschrieben, die gewichteten Koeffizienten bu, cv, aw für die Satzdaten durch das Tastenkodeverzeichnis, das Tonhöhenverzeichnis und das Hüllkurvenverzeichnis (siehe Fig. 6) bestimmt, wenn die vorliegende Ausführungsform die Variationstonhöhe PICHu, den Variationspegel LEVLv und den Tastenkode KCw entsprechend den Adressenwerten zwischen den diskreten Adressen in k-Koordinatenachsen- bzw. i-Koordinatenachsen- bzw. j-Koordinatenachsenrichtung bestimmt. Mit Hilfe der gewichteten Koeffizienten bu, cv, aw und der acht Grundsegmentwellenformdatenwerte fijk, f(i+1)jk, f(i+1)j(k+1), fij(k+1), fi(j+1)k, f(i+1)(j+1)k, f(i+1)(j+1)(k+1), fi(j+1)(k+1) (siehe Fig. 13) mit Kopfadressen (i, j, k), (i+1, j, k), (i+1, j, k+1), (i, j, k+1), (i, j+1, k), (i+1, j+1, k), (i+1, j+1, k+1), (i, j+1, k+1), die jeweils den umgebenden acht Koordinaten entsprechen, wie in Fig. 12 gezeigt, wird die Interpolationsoperation an den Wellenformdaten entsprechend der Koordinate [(i+bu), (j+cv), (k+aw)] im dreidimensionalen Koordinatensystem ausgeführt, so daß der zusammengesetzte Wellenformdatenwert Fuvw(ωt) durch die Berechnung entsprechend der folgenden Formel (14) erhalten wird, wobei die Tonhöhenvariation, der Pegel und die Tonlage des zu erzeugenden Musiktons erhalten werden können.
- Fuvw(ωt)= awbucvfijk
- + awbu(1-cv)fi(j+1)k
- + aw(1-bu)cvf(i+1)jk
- + aw(1-bu)(1-cv)f(i+1)(j+1)k
- + (1-aw)bucvfij(k+1)
- + (1-aw)bu(1-cv)fi(j+1)(k+1)
- + (1-aw)(1-bu)cvf(i+1)j(k+1)
- + (1-aw)(1-bu)(1-cv)f(i+1)(j+1)(k+1) ... (14)
- In der oben erwähnten Formel (14) sind fijk, f(i+1)jk, f(i+1)j(k+1), fij(k+1), fi(j+1)k, f(i+1)(j+1)k, f(i+1)(j+1)(k+1), fi(j+1)(k+1) Abtastdatenwerte der Grundsegmentwellenformdatenwerte, die jeweils in den Koordinatenadressen (i, j, k), (i+1, j, k), (i+1, j, k+1), (i, j, k+1), (i, j+1, k), (i+1, j+1, k), (i+1, j+1, k+1), (i, j+1, k+1) (siehe Fig. 13) gespeichert sind.
- Wie zuvor in Verbindung mit den Fig. 8 bis 10 beschrieben, entspricht das zusammengesetzte Wellenformsignal Fuvw(ωt) der Koordinatenposition (d. h. interpolierten Adresse) (i+bu, j+cv, k+aw), die durch Ausführen der inneren Divisionsoperation bei acht Koordinatenpunkten mit einem Verhältnis von bu:cv:aw erhalten wird. Ferner kann jeder Term in der vorangehenden Formel (14) so umgerechnet werden, daß jeder Grundsegmentwellenformdatenwert in den zusammengesetzten Wellenformdatenwert Fuwv(ωt) als seine zusammengesetzte Wellenformkomponente im Ansprechen auf den Abstand zwischen der oben erwähnten interpolierten Adresse und jedem von acht Koordinatenpunkten aufgenommen werden kann.
- Wenn sich alle der gewichteten Koeffizienten bu, cv, aw der "1" annähern, nähert sich die interpolierte Adresse (i+bu, j+cv, k+aw) der Adresse (i+1, j+1, k+1) an. Ferner nähert sich unter allen der Signalkomponenten des zusammengesetzten Wellenformsignals Fuvw(ωt) (siehe vorangehende Formel (14)) die Koeffizientenkomponente awbucv für den Grundsegmentwellenformdatenwert fijk der "1" an. Andererseits nähern sich andere Koeffizientenkomponenten awbu(1-cv) bis (1-aw)(1-bu)(1-cv) für fi(j+1)k bis f(i+1)(j+1)(k+1) der "0" an. Somit wird die Wellenform des zusammengesetzten Wellenformsignals Fuvw(ωt) ähnlich der des in Adresse (i,j,k) gespeicherten Grundsegmentwellenformdatenwerts fijk.
- Wenn sich alle der gewichteten Koeffizienten bu, cv, aw der "0" annähern, nähert sich im Gegensatz dazu die Koordinatenadressenposition (i+bu, j+cv, k+aw) der Adresse (i,j,k) an. Ferner nähert sich unter allen Signalkomponenten von Fuvw(ωt) die Koeffizientenkomponente (1-aw)(1-bu)(1-cv) für f(i+1)(j+1)(k+1) der "1" an. Andererseits nähern sich andere Koeffizientenkomponenten (1-aw) (1-bu)cv bis awbucv für f(i+1)j(k+1) bis fijk der "0" an. Somit wird die Wellenform des zusammengesetzten Wellenformsignals Fuvw(ωt) der des in Adresse (i+1, j+1, k+1) gespeicherten Grundsegmentwellenformdatenwerts f(i+1)(j+1)(k+1) ähnlich.
- Wenn sich der gewichtete Koeffizient aw der "0" annähert, wird auf ähnliche Weise die Wellenform des zusammengesetzten Wellenformsignals Fuvw(ωt) den Wellenformen der Grundsegmentwellenformdatenwerte fij(k+1), fi(j+1)(k+1), f(i+1)j(k+1), f(i+1)(j+1)(k+1) ähnlich, die jeweils in vier Adressen (i, j, k+1), (i, j+1, k+1), (i+1, j, k+1), (i+1, j+1, k+1) gespeichert werden. Wenn sich aw der "1" annähert, wird andererseits die Wellenform des zusammengesetzten Wellenformsignals Fuvw(ωt) den Wellenformen der Grundsegmentwellenformdatenwerte fijk fi(j+1)k, f(i+1)jk, f(i+1)(j+1)k ähnlich, die in Adressen (i,j,k), (i, j+1, k), (i+1, j, k), (i+1, j+1, k) gespeichert werden.
- Durch Auswählen des vorgegebenen Werts als dem gewichteten Koeffizient aw gemäß zuvor beschriebenen Erfordernissen ist es möglich, die interpolierte Adresse in der k-Koordinatenachsenrichtung in jeder Wellenformbankgruppe BANKm (wobei m= 1, 2, ..., M) zu erhalten. Auf der Grundlage der interpolierten Adresse ist es möglich, das die für die Tonlage des Musiktons repräsentative Wellenform kennzeichnende, zusammengesetzte Wellenformsignal Fuvw(ωt) entsprechend dem Tastenkodesignal KC durch Ausführen der Interpolationszusammensetzungsoperation zu erhalten.
- Wie oben beschrieben, wählt die vorliegende Ausführungsform in bezug auf die interpolierte Grundsegmentwellenform entsprechend jedem Tastenkodesignal KC, das zusammengesetzt werden kann, den gewichteten Koeffizienten bu in der i-Koordinatenachsenrichtung und einen weiteren gewichteten Koeffizienten cv in der j- Koordinatenachsenrichtung aus. Somit ist es möglich, die Musiktonwellenform durch Ausführen der Interpolationsoperation zusammenzusetzen, wenn die Tonhöhenvariation und/oder Pegelvariation am Musikton erfolgt.
- Sogar wenn die Zahl K der in jeder Bankgruppe BANKm (wobei m= 1 bis M) enthaltenen Wellenformbanken WBk (wobei k= 1 bis K) kleiner als die Zahl der Tastenkodes (d. h. 128 Tastenkodes in der vorliegenden Ausführungsform) ist, die durch das Tastenkodesignal KC bestimmt werden können, kann die vorliegende Ausführungsform als Ergebnis einen oder mehrere gewichtete Koeffizienten aw für die Wellenformbank WBk setzen, so daß die vorliegende Ausführungsform die interpolierten Grundsegmentwellenformdaten erhalten kann, die in den Wellenformbanken entsprechend allen Tastenkodes durch Ausführen der Interpolationsoperation gespeichert werden.
- In dem Fall, in dem die vorliegende Ausführungsform eine Vielzahl von Tonhöhenvariationsstufen benötigt, deren Zahl größer als die maximale Adressenzahl I in der i- Koordinatenachsenrichtung in bezug auf jede Wellenformbank WBk ist, werden auf ähnliche Weise ein oder mehrere gewichtete Koeffizienten bu für die benachbarten Grundsegmentwellenformdatenwerte fijk, f(i+1)jk in der i-Koordinatenachsenrichtung gesetzt. In diesem Fall kann die vorliegende Ausführungsform deshalb Grundsegmentwellenformdatenwerte erhalten, deren Wellenformen sich voneinander im Ansprechen auf eine Vielzahl von Tonhöhenvariationsstufen unterscheiden.
- In dem Fall, in dem die vorliegende Ausführungsform eine Vielzahl von Pegelvariationsstufen benötigt, deren Zahl größer als die maximale Adressenzahl J in der j-Koordinatenachsenrichtung in bezug auf jede Wellenformbank WBk ist, werden des weiteren ein oder mehrere gewichtete Koeffizienten cv für die benachbarten Grundsegmentwellenformdatenwerte fijk, fi(j+1)k in der j-Koordinatenachsenrichtung gesetzt. In diesem Fall kann die vorliegende Ausführungsform die interpolierten Grundsegmentwellenformdatenwerte in Verbindung mit einer Vielzahl von Pegelvariationsstufen erhalten.
- Als nächstes wird eine Beschreibung in bezug auf die detaillierte Konfiguration des Wellenformspeichers 2 unter Bezugnahme auf Fig. 14 gegeben, wobei die Wellenformzusammensetzungsoperation ausgeführt wird, wie zuvor beschrieben.
- In Fig. 14 weist der Wellenformspeicher 2 einen Wellenformdatenspeicherteil 31 auf, der die Wellenformdaten des Wellenformbankdatenteils [DATA] (siehe Fig. 4, 5) speichert, und einen Steuerteil 32. Der Steuerteil 32 bildet ein Auslesesignal S1, mit dem der Wellenformdatenspeicherteil 31 beaufschlagt wird. Auf der Grundlage des Auslesesignals S1 wird ein Grundsegmentwellenformdatensignal S2 aus dem Wellenformdatenspeicherteil 31 gelesen, und dann wird ein Interpolationszusammensetzungsoperationsteil 33 mit dem gelesenen Signal S2 beaufschlagt.
- Der Interpolationszusammensetzungsoperationsteil 33 enthält eine Erststufeninterpolationsschaltung 33A, eine Zweitstufeninterpolationsschaltung 33B und eine Drittstufeninterpolationsschaltung 33C darin. Die Erststufeninterpolationsschaltung 33A empfängt das Grundsegmentwellenformdatensignal S2. Unter der Steuerung eines Steuersignals CL1 vom Steuerteil 32 führt die Erststufeninterpolationsschaltung 33A die Interpolationsoperation entsprechend der Pegelvariation in der j-Koordinatenachsenrichtung mit Hilfe des Koeffizientendatenwerts cv aus, wobei ein Operationsdatensignal S3 an die Zweitstufeninterpolationsschaltung 33B ausgegeben wird.
- Als nächstes führt die Zweitstufeninterpolationsschaltung 33B unter der Steuerung eines Steuersignals CL2 vom Steuerteil 32 die Interpolationsoperation entsprechend der Tonhöhenvariation in der i-Koordinatenachsenrichtung mit Hilfe des Koeffizientendatenwerts bu aus, wobei ein Operationsdatensignal S4 an die Drittstufeninterpolationsschaltung 33C ausgegeben wird.
- Unter der Steuerung eines Steuersignals CL3 vom Steuerteil 32 führt des weiteren die Drittstufeninterpolationsschaltung 33C die Interpolationsoperation entsprechend dem Tastenkodesignal in der k-Koordinatenachsenrichtung mit Hilfe des Koeffizientendatenwerts aw aus, wobei ein Operationsdatensignal S5 an die Hüllkurvenaufprägeschaltung 25 (siehe Fig. 1) als das Musiktonwellenformsignal WDATA ausgegeben wird.
- Wie zuvor in Verbindung mit Fig. 1 beschrieben, empfängt der Steuerteil 32 das Bankgruppenauswahlsignal SELBANK, das Wellenformbankauswahlsignal SELWB, das Tonhöhenbestimmungssignal PICH und das Pegelbestimmungssignal LEVL als die Wellenformlesebedingungen, und der Steuerteil 32 empfängt auch das Wellenformlesesignal READ als das Taktsignal zum Lesen der Abtastdaten.
- In der vorliegenden Ausführungsform werden Daten im Auswahlbedingungsdatensatzverwaltungsdatenteil [FILE] und im Wellenformbankadressenkonvertierungstabellendatenteil [TABLE] (siehe Fig. 7) in einem Steuerdatenspeicherteil 34 als Steuerdaten S6 gespeichert. Der Steuerteil 32 liest die Steuerdaten S6 im Ansprechen auf die bestimmte Steuerbedingung aus, um dadurch das Auslesesignal S1 zu bilden, mit dem der Wellenformdatenspeicherteil 31 zu beaufschlagen ist. Ferner bildet der Steuerteil 32 auch die Steuersignale CL1, CL2, CL3 und Koeffizientendatenwerte bu, cv, aw, mit denen jeweils die Interpolationsschaltungen 33A, 33B, 33C zu beaufschlagen sind.
- Somit werden unter der Steuerung des Steuerteil 32 die Grundsegmentwellenformdatenwerte fijk bis f(i+1)(j+1)(k+1) sequentiell aus dem Wellenformdatenspeicherteil 31 in Form des Grundsegmentwellenformdatensignals S2 gelesen, wobei fijk bis f(i+1)(j+1)(k+1) beim Ausführen der Interpolationsoperation am in der vorangehenden Formel (14) beschriebenen zusammengesetzten Wellenformsignal Fuvw(ωt) benötigt werden. Synchron mit dem Lesen von fijk etc. sendet der Steuerteil 32 die Koeffizientendatenwerte cv, bu, aw jeweils an die Interpolationsschaltungen 33A, 33B, 33C. Der Interpolationszusammensetzungsoperationsteil 33 bildet und gibt somit das Operationsdatensignal S3 entsprechend dem in der vorangehenden Formel (14) beschriebenen zusammengesetzten Wellenformsignal Fuvw(ωt) aus.
- Alle der Interpolationsschaltungen 33A, 33B, 33C haben dieselbe Konfiguration, wie in Fig. 15 gezeigt. Im speziellen wird in der in Fig. 15 gezeigten Erststufeninterpolationsschaltung 33A ein Multiplizierer 35, in dem das Signal S2 mit einem von einer Koeffizienteneingangsschaltung 36 beaufschlagten Koeffizientensignal S11 multipliziert wird, mit dem Grundsegmentwellenformdatensignal S2 beaufschlagt.
- Unterdessen verriegelt eine Koeffizientenverriegelungsschaltung 37 den Koeffizientendatenwert cv durch ein Verriegelungssignal φ&sub1;, wobei ein Verriegelungsausgangssignal S12 ausgegeben wird. Die Koeffizienteneingangsschaltung 36 wird mit diesem Verriegelungsausgangssignal S12 beaufschlagt. Im Ansprechen auf ein Komplement-/Nichtkomplementauswahlsignal φ&sub2; bildet die Koeffizienteneingangsschaltung 36 das Koeffizientensignal S11, dessen Inhalt dem Komplement oder Nichtkomplement des Verriegelungsausgangssignals S12 entspricht.
- Wenn das Komplement-/Nichtkomplementauswahlsignal φ&sub2; auf "0"-Pegel ist, bildet in der vorliegenden Ausführungsform die Koeffizienteneingangsschaltung 36 das Komplement (1-cv) von cv auf der Grundlage des Verriegelungsausgangssignals S12 (d. h. Koeffizientendatenwerts cv). Dann wird der Multiplizierer 35 mit einem solchen Komplement (1-cv) als dem Koeffizientensignal S11 beaufschlagt. Wenn das Komplement-/Nichtkomplementauswahlsignal φ&sub2; auf "1"-Pegel ist, beaufschlagt die Koeffizienteneingangsschaltung 36 andererseits direkt den Multiplizierer 35 mit dem Koeffizientendatenwert cv als dem Koeffizientensignal S11.
- Danach wird ein Addierer 38, in dem S13 mit einem Verschiebungsausgangssignal S14 von einem Schieberegister 39 addiert wird, mit einem Multiplikationsausgangssignal S13 vom Multiplizierer 35 beaufschlagt. Dann wird sowohl eine Ausgangsverriegelungsschaltung 40 als auch das Schieberegister 39 mit einem Additionsausgangssignal S15 vom Addierer 38 beaufschlagt.
- Bei Beaufschlagung mit einem Verriegelungssignal φ&sub3; verriegelt die Ausgangsverriegelungsschaltung 40 das Additionsausgangssignal S15 und gibt dieses Signal S15 dann als das interpolierte Ausgangssignal S3 aus. Die Zweitstufeninterpolationsschaltung 33B ist mit einem solchen interpolierten Ausgangssignal S3 von der Erststufeninterpolationsschaltung 33A zu beaufschlagen, wie in Fig. 14 gezeigt.
- Bei Beaufschlagung mit einem Ladesignal φ&sub4; speichert das Schieberegister 39 zeitweise das Additionsausgangssignal S15. Dann gibt das Schieberegister 39 infolge eines Verschiebungspulssignals φ&sub5; sequentiell das gespeicherte Additionsausgangssignal S15 an den Addierer 38 als das Verschiebungsausgangssignal S14 aus.
- Wie in Verbindung mit den Fig. 12, 13 beschrieben, wird das Grundsegmentwellenformdatensignal S2 vom Wellenformdatenspeicherteil 31 durch acht Grundsegmentwellenformdatenwerte fijk bis f(i+1)(j+1)(k+1) gebildet, die aus jeweiligen acht Koordinatenadressen (i, j, k) bis (i+1, j+1, k+1) gelesen werden, die die interpolierte Adresse umgeben entsprechend der Tonhöhenvariation und der Pegelvariation auf der Grundlage des Tastenkodes des Musiktons, an dem die Interpolationsoperation auszuführen ist. Wie zuvor bei Fig. 13 beschrieben, besteht jeder von acht Grundsegmentwellenformdatenwerten aus Nr.0 bis Nr.1023 Abtastdatenwerten. In der Erststufeninterpolationsschaltung 33A wird jeder der Nr.0-Nr. 1023 Abtastdatenwerte der Interpolationsoperation durch den Multiplizierer 35, den Addierer 38, die Ausgangsverriegelungsschaltung 40 und das Schieberegister 39 unterzogen.
- Sowohl die Zweitstufeninterpolationsschaltung 33B als auch die Drittstufeninterpolationsschaltung 33C sind ähnlich der Erststufeninterpolationsschaltung 33A konstruiert, wie oben beschrieben. In der Interpolationsschaltung 33B (oder 33C) wird der Multiplizierer 35 mit dem Wellenformdatensignal S3 (oder S4) beaufschlagt; die Koeffizientenverriegelungsschaltung 37 wird mit einem Verriegelungssignal φ&sub1;&sub1; (oder φ&sub2;&sub1;) beaufschlagt, so daß die Koeffizientenverriegelungsschaltung 37 den Koeffizientendatenwert bu (oder aw) verriegelt; und die Koeffizienteneingangsschaltung 36 wird mit einem Komplement-/Nichtkomplementauswahlsignal φ&sub1;&sub2; (oder φ&sub2;&sub2;) beaufschlagt. Deshalb multipliziert der Multiplizierer 35 das Wellenformdatensignal S3 (oder S4) mit dem Koeffizientendatenwert bu (oder aw) oder seinem Komplement, um dadurch das Multiplikationsausgangssignal S13 zu erhalten, mit dem der Addierer 38 beaufschlagt wird. Danach wird das Additionsausgangssignal S15 vom Addierer 38 in der Ausgangsverriegelungsschaltung 40 durch ein Verriegelungssignal φ&sub1;&sub3; (oder φ&sub2;&sub3;) verriegelt, so daß ein interpoliertes Ausgangssignal S4 (oder S5) gebildet wird. Unterdessen wird das Additionsausgangssignal S15 im Schieberegister 39 durch ein Ladesignal φ&sub1;&sub4; (oder φ&sub2;&sub4;) gespeichert. Dann gibt das Schieberegister 39 sein gespeichertes Signal durch ein Verschiebungspulssignal φ&sub1;&sub5; (oder φ&sub2;&sub5;) an den Addierer 38 als das Verschiebungsausgangssignal S14 aus.
- Im übrigen entsprechen die Steuersignale CL1, CL2, CL3 jeweils den oben erwahnten Signalen (φ&sub1; bis φ&sub5;), (φ&sub1;&sub1; bis φ&sub1;&sub5;), (φ&sub2;&sub1; bis φ&sub2;&sub5;).
- Unter der Steuerung des Steuerteil 32 im Wellenformspeicher 2 führen die Interpolationsschaltungen 33A, 33B, 33C die Interpolationsoperationen synchron miteinander in jeder der Operationsperioden SY1, SY2, ... aus, von denen jede Prozeßperioden T&sub0; bis T&sub1;&sub1; hat, wie in Fig. 16 gezeigt. Kurz gesagt führt der Steuerteil 32 in jeder Operationsperiode die Operation des zusammengesetzten Wellenformsignals Fuvw(ωt) aus, wie in der vorangehenden Formel (14) beschrieben.
- Hierbei wird jede der Prozeßperioden T&sub0; bis T&sub1;&sub1; auf die Zeit gesetzt, die zur Verarbeitung der Abtastdaten einer Wellenform benötigt wird, wie durch die Grundsegmentwellenform DREF (siehe Fig. 3) gezeigt. Beispielsweise wird jede Prozeßperiode auf die einer Frequenz von 50 kHz entsprechende Zeitperiode gesetzt. Mit anderen Worten entspricht jede Operationsperiode wie etwa SY1, SY2, ... einer Frequenz von 600 kHz.
- In der Prozeßperiode T&sub0; innerhalb der in Fig. 16 gezeigten Operationsperiode SY1 steuert der Steuerteil 32 die Erststufeninterpolationsschaltung 33A so, daß der Koeffizientendatenwert cv in der Koeffizientenverriegelungsschaltung 37 verriegelt und das Schieberegister 39 gelöscht wird.
- Zu diesem Zeitpunkt wird die Koeffizienteneingangsschaltung 36 in der Erststufeninterpolationsschaltung 33A mit dem Komplement-/Nichtkomplementauswahlsignal φ&sub2; auf "0"-Pegel beaufschlagt. Somit wird die Koeffizienteneingangsschaltung 36 auf den Nichtkomplementauswahlzustand gesetzt, wobei der Multiplizierer 35 mit dem Koeffizientendatenwert cv als dem Koeffizientensignal S11 beaufschlagt wird. Die Erststufeninterpolationsschaltung 33A wird folglich am Anfang auf den Operationsprozeßstartzustand gesetzt.
- Dann wird in der nächsten Prozeßperiode T&sub1; unter der Steuerung des Steuerteils 32 der Grundsegmentwellenformdatenwert fijk aus dem Wellenformdatenspeicherteil 31 als das Grundsegmentwellenformdatensignal S2 gelesen, und dann wird der Multiplizierer 35 mit fijk beaufschlagt; die Koeffizienteneingangsschaltung 36 wird in den Komplementauswahlzustand gesetzt und das Schieberegister 39 wird durch das Ladesignal φ&sub4; in den Ladezustand aktiviert.
- Als Ergebnis wird das Multiplikationsausgangssignal S13 durch den Addierer 38 geleitet und dann in das Schieberegister 39 als das Additionsausgangssignal S15 geladen. Somit hält das Schieberegister Operationsdatenwerte S14A1, wie in der folgenden Formel (15) beschrieben.
- S14A1 = (1-cv)fijk ... (15)
- In dieser Prozeßperiode T&sub1; steuert der Steuerteil 32 auch die Zweitstufeninterpolationsschaltung 33B so, daß der Koeffizientendatenwert bu in der Koeffizientenverriegelungsschaltung 37 durch das Verriegelungssignal φ&sub1;&sub1; verriegelt und das Schieberegister 39 im Operationsstartzustand gelöscht wird.
- Als nächstes wird unter der Steuerung des Steuerteil 32 in der Prozeßperiode T&sub2; der Multiplizierer 35 in der Erststufeninterpolationsschaltung 33A mit dem Grundsegmentwellenformdatenwert fi(j+1)k in Form des Grundsegmentwellenformdatensignals S2 beaufschlagt. Ferner wird die Koeffizienteneingangsschaltung 36 durch das Komplement-/Nichtkomplementauswahlsignal φ&sub2; in den Nichtkomplementauswahlzustand gesetzt, so daß die Koeffizienteneingangsschaltung 36 den Multiplizierer 35 direkt mit dem Koeffizientendatenwert cv als dem Koeffizientensignal S11 beaufschlagt. Des weiteren wird die Ausgangsverriegelungsschaltung 40 durch das Verriegelungssignal φ&sub3; aktiviert.
- Zu dieser Zeit addiert der Addierer 38 das Verschiebungsausgangssignal S14 zum Multiplikationsausgangssignal S13, wobei ein Operationsdatenwert S15A1 gebildet wird, wie in der folgenden Formel (16) angegeben. Dann wird der Operationsdatenwert S15A1 durch die Ausgangsverriegelungsschaltung 40 als das Additionsausgangssignal S15 verriegelt.
- S15A1 = (1-cv)fijk + cvfi(j+1)k ... (16)
- Somit beaufschlagt die erste Interpolationsschaltung 33A die Zweitstufeninterpolationsschaltung 33B mit dem oben erwähnten Operationsdatenwert S15A1, wie in der Formel (16) beschrieben, als dem interpolierten Ausgangssignal S3.
- Zusätzlich zu den oben erwähnten Operationen steuert der Steuerteil 32 des weiteren die Drittstufeninterpolationsschaltung 33C in der laufenden Prozeßperiode T&sub2; so, daß der Koeffizientendatenwert aw in der Koeffizientenverriegelungsschaltung 37 verriegelt wird und das Schieberegister 39 im Anfangszustand gelöscht wird, in dem die Interpolationsoperation gestartet werden kann.
- In der nächsten Prozeßperiode T3 steuert der Steuerteil 32 die Zweitstufeninterpolationsschaltung 33B so, daß die Koeffizienteneingangsschaltung 36 in den Komplementauswahlzustand gesetzt wird, in dem das Komplement (1-bu) des Koeffizientendatenwerts bu als das Koeffizientensignal S11 ausgegeben wird. Ferner wird das Schieberegister 39 in den Ladezustand gesetzt. Zu dieser Zeit wird der Multiplizierer 35 in der Zweitstufeninterpolationsschaltung 33B mit dem Operationsdatenwert S15A1, wie in der Formel (16) beschrieben, beaufschlagt. Deshalb stellt das Multiplikationsausgangssignal S13 das Multiplikationsergebnis des Multiplizierens von S15A1 mit (1-bu) dar. Somit gibt der Addierer 38 das Additionsausgangssignal S15 an das Schieberegister 39 aus, wobei S15 dem Operationsdatenwert S14B1 gleicht, wie durch die folgende Formel (17) angegeben.
- S14B1 = (1-bu)(1-cv)fijk + (1-bu)cvfi(j+1)k ... (17)
- Zur selben Zeit steuert der Steuerteil 32 auch die Erststufeninterpolationsschaltung 33A so, daß das Schieberegister 39 in dem Zustand gelöscht wird, in dem das Schieberegister 39 auf den Empfang eines neuen Grundsegmentwellenformdatensignals S2 wartet.
- In der nächsten Prozeßperiode T&sub4; steuert der Steuerteil 32 die Erststufeninterpolationsschaltung 33A so, daß der Grundsegmentwellenformdatenwert f(i+1)jk in den Multiplizierer 35 als neues Grundsegmentwellenformdatensignal S2 eingegeben wird. Ferner wird unter der Steuerung des Steuerteils 32 die Koeffizienteneingangsschaltung 36 auf den Komplementauswahlzüstand geändert, und das Schieberegister 39 wird in den Ladezustand gesetzt.
- Als Ergebnis wird das Schieberegister 39 über den Addierer 38 mit dem Multiplikationsausgangssignal S13, d. h. dem Operationsdatenwert S14A2, wie in der folgenden Formel (18) angegeben, beaufschlagt, und dieses wird darin gehalten.
- S14A2 = (1-cv)f(i+1)jk ... (18)
- In der nächsten Prozeßperiode T&sub5; steuert der Steuerteil 32 die Erststufeninterpolationsschaltung 33A so, daß der Multiplizierer 35 mit dem Grundsegmentwellenformdatenwert f(i+1)(j+1)k als neuem Grundsegmentwellenformdatensignal S2 beaufschlagt, die Koeffizienteneingangsschaltung 3 in den Nichtkomplementauswahlzustand gesetzt und die Ausgangsverriegelungsschaltung 40 in den Verriegelungszustand gesetzt wird.
- In dieser Zeitperiode bildet der Addierer 38 einen Operationsdatenwert S15A2, wie in der folgenden Formel (19) angegeben, auf der Grundlage des Operationsdatenwerts S14A2, wie in der vorangehenden Formel (18) angegeben.
- S15A2 = (1-cv)f(i+1)jk + cvf(i+1)(j+1)k ... (19)
- Die Ausgangsverriegelungsschaltung 40 verriegelt und gibt dann diesen Operationsdatenwert S15A2 an die Zweitstufeninterpolationsschaltung 33B als das interpolierte Ausgangssignal S3 aus.
- In der nächsten Prozeßperiode T&sub6; steuert der Steuerteil 32 die Zweitstufeninterpolationsschaltung 33B so, daß die Koeffizienteneingangsschaltung 36 in den Nichtkomplementauswahlzustand geändert und die Ausgangsverriegelungsschaltung 40 in den Verriegelungszustand gesetzt wird. In diesem Fall lud und hielt das Schieberegister den Operationsdatenwert S14B1 (siehe Formel (17)) in der vorangehenden Prozeßperiode T3. Deshalb addiert der Addierer 38 diesen Operationsdatenwert S14B1 zum Multiplikationsausgangssignal S13, um dadurch einen Operationsdatenwert S15B1 zu bilden, wie in der folgenden Formel (20) angegeben.
- S15B1 = (1-bu)(1-cv)fijk
- + (1-bu)cvfi(j+1)k
- + bu(1-cv)f(i+1)jk
- + bucvf(i+1)(j+1)k ... (20)
- Der oben erwähnte Operationsdatenwert S15B1 wird in der Ausgangsverriegelungsschaltung 40 verriegelt.
- Unter der Steuerung des Steuerteils 32 in der laufenden Prozeßperiode T&sub6; wird das Schieberegister 39 in der Erststufeninterpolationsschaltung 33A in dem Zustand gelöscht, in dem eine neue Interpolationsoperation ausgeführt werden kann.
- In der nächsten Prozeßperiode T&sub7; ändert der Steuerteil 32 den logischen Pegel des Komplement-/Nichtkomplementauswahlsignals φ&sub2;&sub2; so von "1" auf "0", daß die Koeffizienteneingangsschaltung 36 in den Komplementauswahlzustand gesetzt wird. Ferner wird das Schieberegister 39 durch das Ladesignal φ&sub2;&sub4; in den Ladezustand aktiviert.
- Zu dieser Zeit wird der Multiplizierer 35 in der Drittstufeninterpolationsschaltung 33C mit dem Operationsdatenwert S15B1 (siehe Formel (20)) beaufschlagt, der in der Ausgangsverriegelungsschaltung 40 in der Zweitstufeninterpolationsschaltung 33B in der vorangehenden Prozeßperiode T&sub6; verriegelt wurde. Somit hält das Schieberegister 39 in der Drittstufeninterpolationsschaltung 33C einen Operationsdatenwert S14C1, wie in der folgenden Formel (21) angegeben.
- S14C1 = (1-aw)(1-bu)(1-cv)fijk
- + (1-aw)(1-bu)cvfi(j+1)k
- + (1-aw)bu(1-cv)f(i+1)jk
- + (1-aw)bucvf(i+1)(j+1)k ... (21)
- Ferner steuert der Steuerteil 32 auch die Erststufeninterpolationsschaltung 33A in der laufenden Prozeßperiode T&sub7; so, daß der Multiplizierer 35 mit dem Grundsegmentwellenformdatenwert fij(k+1) als neuem Grundsegmentwellenformdatensignal S2 beaufschlagt, die Koeffizienteneingangsschaltung 36 in den Komplementauswahlzustand gesetzt und das Schieberegister 39 in den Ladezustand aktiviert wird.
- Als Ergebnis hält das Schieberegister 39 einen Operationsdatenwert S14A3, wie in der folgenden Formel (22) angegeben.
- S14A3 = (1-cv)fij(k+1) ... (22)
- Des weiteren steuert der Steuerteil 32 die Zweitstufeninterpolationsschaltung 33B in der laufenden Prozeßperiode T&sub7; so, daß das Schieberegister 39 in dem Zustand gelöscht wird, in dem seine Operation gestartet werden kann.
- In der nächsten Prozeßperiode T&sub8; wird unter der Steuerung des Steuerteils 32 der Multiplizierer 35 in der Erststufeninterpolationsschaltung 33A mit dem Grundsegmentwellenformdatenwert fi(j+1)(k+1) als neuem Grundsegmentwellenformdatensignal S2 beaufschlagt. Ferner wird die Koeffizienteneingangsschaltung 36 in den Nichtkomplementauswahlzustand gesetzt, und die Ausgangsverriegelungsschaltung 40 wird in den Verriegelungszustand aktiviert.
- Als Ergebnis verriegelt die Ausgangsverriegelungsschaltung 42 in der Erststufeninterpolationsschaltung 33A einen Operationsdatenwert S15A3, wie in der folgenden Formel (23) angegeben, und dann wird die Zweitstufeninterpolationsschaltung 33B mit diesem Operationsdatenwert S15A3 beaufschlagt.
- S15A3 = (1-cv)fij(k+1) + cvfi(j+1)(k+1) ... (23)
- In der nächsten Prozeßperiode T&sub9; steuert der Steuerteil 32 die Erststufeninterpolationsschaltung 33A so, daß das Schieberegister 39 in dem Zustand gelöscht wird, in dem seine neue Operation gestartet werden kann.
- In der nächsten Prozeßperiode T&sub1;&sub0; steuert der Steuerteil 32 die Erststufeninterpolationsschaltung 33A so, daß der Multiplizierer 35 mit dem Grundsegmentwellenformdatenwert f(i+1)j(k+1) als neuem Grundsegmentwellenformdatensignal S2 beaufschlagt, die Koeffizienteneingangsschaltung 36 in den Komplementauswahlzustand gesetzt und das Schieberegister 39 in den Ladezustand gesetzt wird.
- Als Ergebnis hält das Schieberegister 39 einen Operationsdatenwert S14A4, wie in der folgenden Formel (25) angegeben.
- S14A4 = (1-cv)f(i+1)j(k+1) ... (25)
- In der nächsten Prozeßperiode T&sub1;&sub1; steuert der Steuerteil 32 die Erststufeninterpolationsschaltung 33A so, daß der Multiplizierer 35 mit dem Grundsegmentwellenformdatenwert f(i+1)(j+1)(k+1) als neuem Grundsegmentwellenformdatensignal S2 beaufschlagt, die Koeffizienteneingangsschaltung 36 in den Nichtkomplementauswahlzustand gesetzt und die Ausgangsverriegelungsschaltung 40 in den Verriegelungszustand gesetzt wird.
- Als Ergebnis verriegelt die Ausgangsverriegelungsschaltung 40 einen Operationsdatenwert S15A4, wie in der folgenden Formel (26) angegeben, einschließlich des im Schieberegister 39 gehaltenen Operationsdatenwerts (siehe Formel (25)).
- S15A4 = (1-cv)f(i+1)j(k+1) + cvf(i+1)(j+1)(k+1) ... (26)
- Die Zweitstufeninterpolationsschaltung 33B wird mit diesem Operationsdatenwert S15A4 beaufschlagt.
- Wie zuvor beschrieben, ist die erste Operationsperiode SY1 vollendet, und der Steuerteil 32 tritt dann in die zweite Operationsperiode SY2 ein. In den Prozeßperioden T&sub0;, T&sub1; der zweiten Operationsperiode SY2 setzen die Zweitstufeninterpolationsschaltung 33B und die Drittstufeninterpolationsschaltung 33C die Ausführung der Interpolationsoperationen an den Grundsegmentwellenformdatenwerten fort, die aus dem Wellenformdatenspeicherteil 31 in der ersten Operationsperiode SY1 gelesen werden.
- Im speziellen steuert in der ersten Prozeßperiode T&sub0; der zweiten Operationsperiode SY2 der Steuerteil 32 die Zweitstufeninterpolationsschaltung 33B so, daß die Koeffizienteneingangsschaltung 36 in den Nichtkomplementauswahlzustand und die Ausgangsverriegelungsschaltung 40 in den Verriegelungszustand gesetzt wird. Somit hält die Ausgangsverriegelungsschaltung 40 in der Zweitstufeninterpolationsschaltung 33B mit Hilfe des Operationsdatenwerts S15A4 (siehe Formel (26)), mit dem die Ausgangsverriegelungsschaltung 40 in der Erststufeninterpolationsschaltung 33A beaufschlagt wird, einen Operationsdatenwert S15B2, wie in der folgenden Formel (27) angegeben.
- S15B2 = (1-bu)(1-cv)fij(k+1)
- + (1-bu)cvfi(j+1)(k+1)
- + bu(1-cv)f(i+1)j(k+1)
- + bucvf(j+1)(j+1)(k+1) ... (27)
- In der nächsten Prozeßperiode T&sub1; der zweiten Operationsperiode SY2 steuert der Steuerteil 32 die Drittstufeninterpolationsschaltung 33C so, daß die Koeffizienteneingangsschaltung 36 in den Nichtkomplementenauswahlzustand und die Ausgangsverriegelungsschaltung 40 in den Verriegelungszustand gesetzt wird.
- Somit veriegelt die Ausgangsverriegelungsschaltung 40 der Drittstufeninterpolationsschaltung 33C den Operationsdatenwert S15C1, wie in der folgenden Formel (28) angegeben, einschließlich des im Schieberegister 39 gehaltenen Operationsdatenwerts S14C1 (siehe Formel (21)).
- S15C1 = (1-aw)(1-bu)(1-cv)fijk
- + (1-aw)(1-bu)cvfi(j+1)k
- + (1-aw)bu(1-cv)f(i+1)jk
- + (1-aw)bucvf(i+1)(j+1)k
- + aw(1-bu)(1-cv)fij(k+1)
- + aw(1-bu)cvfi(j+1)(k+1)
- + awbu(1-cv)f(i+1)j(k+1)
- + awbucvf(i+1)(j+1)(k+1) ... (28)
- Ein solcher Operationsdatenwert wird von der Drittstufeninterpolationsschaltung 33C als das interpolierte Wellenformdatensignal S5 ausgegeben.
- Beim Vergleich dieser Formel (28) mit der vorangehenden Formel (14) wird deutlich, daß das interpolierte Wellenformdatensignal S5 denselben Inhalt des zusammengesetzten Wellenformsignals Fuvw(ωt) hat. Auf der Grundlage dieses Signals S5 ist es möglich, das Musiktonwellenformsignal WDATA des Wellenformspeichers 2 zu erhalten.
- Fig. 17 zeigt die Konfiguration des Wellenformspeichers 2 gemäß einem modifizierten Beispiel der ersten Ausführungsform, wobei Teile, die mit den in Fig. 14 gezeigten identisch sind, durch dieselben Bezugszeichen bezeichnet werden und auf ihre Beschreibung Teile verzichtet wird. In Fig. 17 werden auf der Grundlage des Lesesignals S1 die Grundsegmentwellenformdatenwerte fijk bis f(i+1)(j+1)(k+1), die dazu verwendet werden, den Wellenformdatenwert Fuvw((ot) in der vorangehenden Formel (14) zusammenzusetzen, sequentiell aus dem Wellenformdatenspeicherteil 31 in Operationsperioden SY11, SY12, ... gelesen, von denen jede Prozeßperioden T&sub2;&sub0; bis T&sub2;&sub7; hat, wie in Fig. 19 gezeigt. Dann multipliziert ein Multiplizierer 51 das gelesene Grundsegmentwellenformsignal S2 mit einem Koeffizientendatensignal S31, um dadurch ein Multiplikationsausgangssignal S32 zu bilden, mit dem ein Addierer 52 beaufschlagt wird.
- Der Steuerteil 32 beaufschlagt eine Koeffizientenerzeugungsschaltung 53, in der Koeffizientensignale S33 erzeugt werden, mit den Koeffizientendatenwerten aw, bu, cv. Das Koeffizientensignal S33 entspricht einem Koeffiziententeil in jedem Term der Formel (14). Dann wählt und gibt ein Wähler 54 eines der Koeffizientensignale S33 als das Koeffizientendatensignal S31 aus.
- Hierbei ist die Koeffizientenerzeugungsschaltung 53 aufgebaut, wie in Fig. 18 gezeigt. In Fig. 18 wird eine Koeffizienteneingangsschaltung 55 mit dem Koeffizientendatenwert aw beaufschlagt. Im Ansprechen auf ein Komplement- /Nichtkomplementauswahlsignalen φ&sub3;&sub1;, das vom Steuerteil (siehe Fig. 17) als ein Teil seines Steuersignals CL11 übermittelt wird, wird die Koeffizienteneingangsschaltung 55 dem Komplement- oder Nichtkomplementauswahlzustand unterzogen. Im speziellen gibt die Koeffizienteneingangsschaltung 55 den Koeffizientendatenwert aw aus, wenn sie im Nichtkomplementauswahlzustand ist, während die Koeffizienteneingangsschaltung 55 das Komplement (1-aw) ausgibt, wenn sie im Komplementauswahlzustand ist. Ein solcher Ausgangsdatenwert der Koeffizienteneingangsschaltung 55 wird als ein Koeffizientenauswahlsignal S41 übermittelt.
- Ein Multiplizierer 56, in dem S41 mit dem Koeffizientendatenwert bu multipliziert wird, wird mit dem Koeffizientenauswahlsignal S41 beaufschlagt. Somit gibt der Multiplizierer 56 ein Multiplikationsausgangssignal S42 aus, dessen Inhalt awbu oder (1-aw)bu ist.
- Ein Subtrahierer 57, in dem S42 von S41 subtrahiert wird, wird mit den oben erwähnten Signalen S41, S42 beaufschlagt. Deshalb bildet der Subtrahierer 57 ein Subtraktionsausgangssignal S43, dessen Inhalt aw(1-bu) oder (1-aw)(1-bu) ist.
- Das Subtraktionsausgangssignal S43 wird mit dem Koeffizientendatenwert cv in einem Multiplizierer 58 multipliziert, der deshalb ein Multiplikationsausgangssignal S44 bildet, dessen Inhalt aw(1-bu)cv oder (1-aw)(1-bu)cv ist.
- Ein Subtrahierer 59, in dem S44 von S43 subtrahiert wird, wird mit den Signalen S43, S44 beaufschlagt. Deshalb bildet der Subtrahierer 59 ein Subtraktionsausgangssignal S45, dessen Inhalt aw(1-bu)(1-cv) oder (1-aw)(1-bu)(1-cv) ist.
- Unterdessen multipliziert ein Multiplizierer 60 das vorangehende Multiplikationsausgangssignal S42 vom Multiplizierer 56 mit dem Koeffizientendatenwert cv, um dadurch ein Multiplikationsausgangssignal S46 zu bilden, dessen Inhalt awbucv oder (1-aw)bucv ist.
- Ein Subtrahierer 61, in dem S46 von S42 subtrahiert wird, wird mit zwei Multiplikationsausgangssignalen S42, S46 beaufschlagt. Deshalb bildet der Subtrahierer 61 ein Subtraktionsausgangssignal S47, dessen Inhalt awbu(1-cv) oder (1-aw)bu(1-cv) ist.
- Auf der Grundlage des Komplement- oder Nichtkomplementauswahlzustands der Koeffizienteneingangsschaltung 55, die durch das Komplement-/Nichtkomplementauswahlsignal φ&sub3;&sub1; gesteuert wird, erzeugt die Koeffizientenerzeugungsschaltung 53 vier Signale S45, S44, S47, S46 als die vorangehenden Koeffizientensignale S33, mit denen der Wähler 54 beaufschlagt wird.
- Im Ansprechen auf das Koeffizientenauswahlsignal φ&sub3;&sub2;, das vom Steuerteil 32 als ein Teil seines Steuersignals CL11 übermittelt wird, wählt der Wähler 54 sequentiell die Signale S45, S44, S47, S46 in den Prozeßperioden T&sub2;&sub0;, T&sub2;&sub1;, T&sub2;&sub2;, T&sub2;&sub3; aus. Mit anderen Worten übermittelt der Wähler 54 sequentiell die Koeffizientendatenwerte (1-aw)(1-bu)(1-cv), (1-aw)(1-bu)cv, (1-aw)bu(1 -cv), (1-aw)bucv als das Koeffizientendatensignal S31. Somit kann der Multiplizierer 51 das Multiplikationsausgangssignal S32 bilden, wie in Fig. 19 gezeigt.
- Während der Prozeßperioden T&sub2;&sub4;, T&sub2;&sub5;, T&sub2;&sub6;, T&sub2;&sub7; wird die Koeffizienteneingangsschaltung 55 durch das Komplement-/Nichtkomplementauswahlsignal φ&sub3;&sub1; in den Nichtkomplementauswahlzustand gesetzt. Deshalb wählt der Wähler 54 sequentiell die Signale S45, S44, S47, S46 aus, die von der Koeffizientenerzeugungsschaltung 53 während dieser Perioden T&sub2;&sub4;-T&sub2;&sub7; erzeugt werden. Somit gibt der Wähler 54 sequentiell die Koeffizientendatenwerte aw(1-bu)(1-cv), aw(1 -bu)cv, awbu(1-cv), awbwcv als das Koeffizientendatensignal S31 aus. Somit kann der Multiplizierer 51 das Multiplikationsausgangssignal S32, wie in Fig. 19 gezeigt, während der Prozeßperioden T&sub2;&sub4;-T&sub2;&sub7; bilden.
- Wie zuvor beschrieben, empfängt der Addierer 52 sequentiell acht Arten der Multiplikationsausgangssignale S32 vom Multiplizierer 51 in den Prozeßperioden T&sub2;&sub0; bis T&sub2;&sub7;. Dann wird ein Schieberegister 65 durch ein Verschiebungssteuersignal φ&sub3;&sub3;, das im vorangehenden Steuersignal CL11 enthalten ist, mit einem vom Addierer 52 erhaltenen Additionsausgangssignal S51 beaufschlagt, und dieses wird darin gehalten. Dann koppelt das Schieberegister 65 sein Verschiebungsausgangssignal S52 an den Addierer 52 zurück.
- Somit sammelt der Addierer 52 sequentiell die Multiplikationsausgangssignale S32, die vom Multiplizierer 51 während der Prozeßperioden T&sub2;&sub0; bis T&sub2;&sub7; in jeder der Operationsperioden SY11, SY12 ..., übermittelt werden, und sein angesammeltes Signal wird dann als das Additionsausgangssignal S51 ausgegeben. Ein solches Additionsausgangssignal S51 wird durch eine Ausgangsverriegelungsschaltung 66 durch ein Verriegelungssteuersignal φ&sub3;&sub4; verriegelt.
- In der vorliegenden Ausführungsform aktiviert das Verriegelungssteuersignal φ&sub3;&sub4; in der letzten Prozeßperiode T&sub2;&sub7; in jeder der Operationsperioden SY11, SY12, ... die Ausgangsverriegelungsschaltung 66, und das Verschiebungssteuersignal φ&sub3;&sub3; löscht das Schieberegister 65. Somit kann die Ausgangsverriegelungsschaltung 66 ein interpoliertes Wellenformdatensignal S53 ausgeben, das repräsentativ für das Ansammlungsergebnis des Addierers 52 in jeder der Operationsperioden SY11, SY12, ..., d. h. das zusammengesetzte Wellenformsignal Fuvw(ωt) ist, wie in der vorangehenden Formal (14) angegeben. Dieses Signal S53 wird vom Wellenformspeicher 2 als das Musiktonwellenformsignal WDATA ausgegeben.
- Wie zuvor beschrieben, kann der Wellenformspeicher 2 gemäß dem modifizierten Beispiel der ersten Ausführungsform, wie in den Fig. 17 bis 19 gezeigt, auch die Interpolationsoperation ähnlich dem Wellenformspeicher 2 gemäß der ersten Ausführungsform, wie in den Fig. 14 bis 16 gezeigt, ausführen.
- Als nächstes wird die zweite Ausführungsform der vorliegenden Erfindung unter Bezugnahme auf die Fig. 20 bis 23 beschrieben. In Fig. 20 werden Teile, die mit den in Fig. 1 gezeigten identisch sind, durch dieselben Bezugszeichen bezeichnet, und folglich wird auf ihre Beschreibung verzichtet. Das elektronische Musikinstrument 1 gemäß der zweiten Ausführungsform, wie in Fig. 20 gezeigt, variiert die Tonfarbe, die der Hüllkurvenvariation des Musiktons folgen soll. Bemerkenswerterweise ist die zweite Ausführungsform gekennzeichnet durch die Verhinderung der Erzeugung von Geräuschen, indem die Grundsegmentwellenformen DREF glatt miteinander verbunden werden.
- Der Wellenformspeicher 2 der zweiten Ausführungsform enthält einen Wellenformdatenspeicherteil 71, der mehrere Wellenformbanken WBk (wobei k= 1 bis K) entsprechend den Tastenkodes bereitstellt, wie in Fig. 21 gezeigt. Durch Bestimmen der Wellenformbankzahl k in der k-Koordinatenachsenrichtung ist es möglich, die Wellenformbank WBk entsprechend dem Tastenkode der gespielten Taste auszuwählen.
- Entsprechend der Hüllkurvenvariation speichert jede Wellenformbank WBk J Grundsegmentwellenformdatenwerte fjk, von denen jeder jede der Koordinatenadressen j (wobei j= 1 bis J) in der j-Koordinatenachsenrichtung hat. Deshalb ist es durch Ändern der Koordinatenadresse j in der j-Koordinatenachsenrichtung möglich, die Grundsegmentwellenformdatenwerte mit jeweils unterschiedlicher Wellenform (d. h. unterschiedlicher Tonfarbe) auszulesen.
- Wie in Fig. 22 gezeigt, enthält jeder Grundsegmentwellenformdatenwert fjk Nr.0 Abtastdatenwerte LV&sub0; bis Nr.1023 Abtastdatenwerte LV&sub1;&sub0;&sub2;&sub3;. Sowohl der erste Abtastdatenwert LV&sub0; als auch der letzte Abtastdatenwert LV&sub1;&sub0;&sub2;&sub3; werden auf denselben vorbestimmten Pegel der Grundsegmentwellenform DREF, z. B. Nullpegel gesetzt.
- Aus dem oben angegebenen Grund kann ein erster, den Pegel des letzten Abtastdatenwerts in bestimmten Grundsegmentwellenformdatenwerten kennzeichnende Wellenformdatenpegel mit einem zweiten, den Pegel des ersten Abtastdatenwerts im nächsten Grundsegmentwellenformdatenwert kennzeichnenden Wellenformdatenpegel zusammenfallen. Deshalb ist es möglich, zwei Wellenformen an ihrem Verbindungspunkt glatt zu verbinden.
- Unterdessen wird der Wellenformdatenspeicherteil 71 über einen Addierer 72 mit dem Lesesignal READ vom Adressenzähler 3 beaufschlagt, während auch eine Wiederholungsenderfassungsschaltung 73 mit READ beaufschlagt wird. Wenn der Inhalt des Lesesignals READ der letzten Abtastzahl (d. h. SMP=1023) entspricht, erzeugt und gibt die Wiederholungsenderfassungsschaltung 73 ein Wiederholungsenderfassungssignal S41 an einen Adressenrückgabesignaleingang des Adressenzählers 3 aus.
- Wenn das Lesesignal READ der letzten Abtastzahl der Grundsegmentwellenform DREF entspricht, wird somit der Zählwert des Adressenzählers identisch einem Lesestartadressenwert (d. h. einer Abtastzahl "0") zurückgegeben. Durch das Lesesignal READ, das wiederholt die Abtastzahlen "0" bis "1023" bestimmt, ist es deshalb möglich, den Grundsegmentwellenformdatenwert fjk wiederholt aus dem Wellenformdatenspeicherteil 71 zu lesen.
- Ferner enthält der Wellenformspeicher 2 auch eine Wellenformänderungspegelerfassungsschaltung 74, die ein Hüllkurvensignal ENV von einer Hüllkurvenwellenformerzeugungsschaltung 16 als das Pegelbestimmungssignal LEVL empfängt.
- Wie in Fig. 23 gezeigt, gibt die Wellenformänderungspegelerfassungsschaltung 74 ein Wellenformänderungssignal S42 an eine Wellenformauswahlschaltung 75 aus, wenn erfaßt wird, daß der Signalpegel des Hüllkurvensignals ENV im Einschwingteil den vorgegebenen Signalpegel, d. h. ENV&sub1;, ENV&sub2;, ENV&sub3; erreicht.
- In dem Zustand, in dem die Wellenformänderungspegelerfassungsschaltung 74 das Wellenformänderungssignal S42 nicht ausgibt, gibt die Wellenformauswahlschaltung 75 ein Adressenverschiebungssignal S43 aus, durch das ein Adressenverschiebungswert auf "0" gesetzt wird. Der Addierer 72 wird mit einem solchen Adressenverschiebungssignal S43 beaufschlagt. Somit bestimmt der Wellenformdatenspeicherteil 71 die Adresse, die durch das Lesesignal READ nur vom Adressenzähler 3 bestimmt wird, so daß der Grundsegmentwellenformdatenwert f1k aus dem Speicherbereich entsprechend der Referenzkoordinatenadresse j=1 beispielsweise gelesen werden kann.
- In einem solchen Zustand, wenn das Hüllkurvensignal ENV von der Hüllkurvenwellenformerzeugungsschaltung 16 den in Fig. 23 gezeigten Signalpegel ENV&sub1; überschreitet, aktiviert das erzeugte Wellenformänderungssignal S42 die Wellenformauswahlschaltung 75, von der der Addierer 72 mit dem für den vorgegebenen Adressenverschiebungswert repräsentativen Adressenverschiebungssignal S43 beaufschlagt wird.
- Als Ergebnis wird der Wellenformdatenspeicherteil 71 mit einem die Summe des Adressenverschiebungssignals S43 kennzeichnenden Adressensignal ADRSX und dem Lesesignal READ beaufschlagt. Somit ändert sich der Lesezustand des vorliegenden Systems in den Zustand, in dem das vorliegende System zum Lesen der Grundwellenformdatenwerte aus dem Speicherbereich entsprechend der durch den Adressenverschiebungswert verschobenen Adressenposition bereit ist.
- Im oben erwähnten Zustand wird jedesmal, wenn der Signalpegel des Hüllkurvensignals ENV ansteigt und dann die Änderungspegel ENV&sub2;, ENV&sub3; überschreitet, das Wellenformänderungssignal S42 von der Wellenformänderungspegelerfassungsschaltung 74 ausgegeben. Im Ansprechen auf dieses Wellenformänderungssignal S42 erzeugt die Wellenformauswahlschaltung 75 das Adressenverschiebungssignal S43, dessen Adressenwert durch den vorgegebenen Verschiebungswert verschoben wird. Auf der Grundlage dieses Adressenverschiebungssignals S43 wird die Tonfarbe des aus dem Wellenformdatenspeicherteil 71 gelesenen Musiktonwellenformsignals WDATA geändert.
- Die Wellenformauswahlschaltung 75 empfängt das Wiederholungsenderfassungssignal S41 von der Wiederholungsenderfassungsschaltung 73 an ihrem Änderungszeitsignaleingang. Zu einer Zeit, zu der das Wiederholungsenderfassungssignal S41 erzeugt wird, ändert die Wellenformauswahlschaltung 75 das Adressenverschiebungssignal S43.
- In dem Fall, in dem die Wellenformänderungspegelerfassungsschaltung 74 das Wellenformänderungssignal S42 zum mittleren Zeitpunkt des Lesens des Grundsegmentwellenformdatenwerts fjk einer Zeitperiode aus dem Wellenformdatenspeicherteil 71 erzeugt, wartet das vorliegende System somit auf die Variation des Adressenverschiebungssignals S43, die bis zu der Zeit zu erfolgen hat, zu der das Wiederholungsenderfassungssignal S41 erzeugt wird. Deshalb kann die Wellenformänderungsoperation im Musiktonwellenformsignal WDATA stets zu der Zeit ausgeführt werden, zu der der Signalpegel mit dem Bezugspegel (d. h. Nullpegel) der Grundsegmentwellenform DREF zusammenfällt. Nach allem ist es möglich, das Musiktonwellenformsignal WDATA zu bilden, dessen Tonfarbe glatt variiert werden kann.
- Fig. 24 zeigt das elektronische Musikinstrument 1 gemäß der vierten Ausführungsform der vorliegenden Erfindung, wobei Teile, die mit den in Fig. 20 gezeigten identisch sind, durch dieselben Bezugszeichen bezeichnet werden und auf ihre Beschreibung verzichtet wird. Diese vierte Ausführungsform kann eine bestimmte Wellenform glatt in eine nächste Wellenform ändern, sogar wenn die Grundsegmentwellenform DREF an einem beliebigen Signalpegel am Wellenformänderungspunkt ist.
- Anders als die in Fig. 20 gezeigte Wellenformauswahlschaltung 75 ist die in Fig. 24 gezeigte Wellenformauswahlschaltung 75 dazu bestimmt, das Adressenverschiebungssignal S43 an den Addierer 72 unmittelbar nach Empfang des Wellenformänderungssignals S42 von der Wellenformänderungspegelerfassungsschaltung 74 auszugeben.
- Ferner wird ein Wellenformdatensignal S51 aus dem in Fig. 24 gezeigten Wellenformdatenspeicher 71 gelesen, mit dem dann eine Interpolationsschaltung 81 beaufschlagt wird. Auf der Grundlage eines Interpolationskoeffizienten "d" von einer Interpolationskoeffizientensteuerschaltung 82 führt die Interpolationsschaltung 81 die Interpolationsoperation am Wellenformdatensignal S51 aus, um dadurch das Musiktonwellenformsignal WDATA zu erzeugen.
- Bevor das Wellenformänderungserfassungssignals S51 von der Wellenformänderungspegelerfassungsschaltung 74 zu einer in Fig. 25(A) gezeigten Zeit tCHS erhalten wird, beaufschlagt die Interpolationskoeffizientensteuerschaltung 82 die Interpolationsschaltung 81 mit einem Interpolationskoeffizientendatenwert d mit "1"-Pegel. Zur Zeit tCHS, zu der die Wellenform geändert wird, setzt die Interpolationskoeffizientensteuerschaltung 82 den Interpolationskoeffizientendatenwert d auf "0"-Pegel. Dann steigt der Interpolationskoeffizientendatenwert d im Laufe der Zeit t schrittweise auf "1"-Pegel unter der Steuerung der Interpolationskoeffizientensteuerschaltung 82 an. Nach einer Zeit tCHE, wenn der Interpolationskoeffizientendatenwert d den "1"-Pegel erreicht, wird der Interpolationskoeffizientendatenwert d auf "1"-Pegel gehalten.
- Die Interpolationsschaltung 81 ist aufgebaut, wie in Fig. 26 gezeigt. Im speziellen wird ein Subtrahierer 85 an seinem Plus-Anschluß mit dem Wellenformdatensignal S51 beaufschlagt. Dann gibt der Subtrahierer 85 ein Subtraktionsausgangssignal S61 an einen Koeffizientenmultiplizierer 86 aus, in dem 561 mit dem Interpolationskoeffizientendatenwert d multipliziert wird. Somit gibt der Koeffizientenmultiplizierer 86 ein Multiplikationsausgangssignal S62 an einen Addierer 87 aus, von dem S62 direkt als ein Additionsausgangssignal S63 an eine Verzögerungsschaltung 88 einer Wellenformperiode ausgegeben wird, die eine Verzögerungszeit entsprechend einer Wellenformperiode hat.
- Die Verzögerungsschaltung 88 ist durch ein Schieberegister aufgebaut, das zeitweise die Abtastdaten speichert, mit denen es sequentiell für eine Wellenformperiode beaufschlagt wird. Dann gibt die Verzögerungsschaltung 88 ein verzögertes Wellenformdatensignal S64 an den Subtrahierer 85 an seinem Minus-Anschluß und den Addierer 87 aus.
- Der Wellenformdatenspeicherteil 71 gibt jetzt, vor der in Fig. 25(A) gezeigten Zeit tchs, ein erstes Wellenformdatensignal S51 A, wie in Fig. 25(B) gezeigt, durch das Adressenverschiebungssignal S43 von der Wellenformauswahlschaltung 75 aus. Dann gibt die Wellenformänderungspegelerfassungsschaltung 74 zur Zeit tCHS das Wellenformänderungssignal S42 aus, durch das die Wellenformauswahlschaltung 75 in den Zustand gesetzt wird, in dem ein zweites Wellenformdatensignal S51B anstelle von S51A auszulesen ist. In einem solchen Fall führt die Interpolationsschaltung 81 die Interpolationsoperation auf der Grundlage einer Abweichung zwischen den Wellenformdatensignalen S51A, S51B aus.
- Im speziellen wird der Subtrahierer 85 in der Interpolationsschaltung 81 vor der Zeit tCHS mit dem ersten Wellenformdatensignal S51A beaufschlagt, so daß dieses Signal S51A verzögert und dann vom Verzögerungskreis 88 als das verzögerte Wellenformdatensignal S64 ausgegeben wird. Zu dieser Zeit erfaßt der Subtrahierer 85 keine Abweichung zwischen seinen zwei Eingangssignalen (d. h. S51A), weil S51A- S51A=0. Somit multipliziert der Koeffizientenmultiplizierer 86 das Subtraktionsausgangssignal S61 (beim "0"-Pegel) mit dem Interpolationskoeffizientendatenwert d (="1"), so daß das Multiplikationsausgangssignal S62 gleich "0" ist.
- In diesem Fall wird das verzögerte Wellenformdatensignal S64 direkt an die Verzögerungsschaltung 88 über den Addierer 87 zurückgekoppelt, so daß die Verzögerungsschaltung 88 weiterhin das erste Wellenformdatensignal S51A hält, das vom Addierer 87 als das Musiktonwellenformsignal WDATA ausgegeben wird.
- Danach wird zur Zeit tCHS das Eingangssignal der Interpolationsschaltung 81 von S51A zu S51B geändert. Zu dieser Zeit gibt der Subtrahierer 85 das für die Abweichung zwischen S51A und S51B repräsentative Subtraktionsausgangssignal S61 aus, so daß S61=S51B-S51A. Ein solches Subtraktionsausgangssignal S61 wird mit dem Interpolationskoeffizientendatenwert d im Koeffizientenmultiplizierer 86 multipliziert. In diesem Fall steuert die Interpolationskoeffizientensteuerschaltung 82 die Variation des Interpolationskoeffizientendatenwerts d von "0" bis "1". Deshalb wird das Multiplikationsausgangssignal S62 vom Koeffizientenmultiplizierer 86 so gesteuert, daß es schrittweise entsprechend der Gleichung "S62=d(S51B-S51A)" gesteigert wird. Ein solches Signal S62 wird mit dem ersten Wellenformdatensignal S51A im Addierer 87 addiert.
- Wenn der Interpolationskoeffizientendatenwert d den "1"-Pegel zur Zeit tCHE erreicht, erreicht das oben erwähnte Signal S62 danach (S51B-S51A), was mit S51A im Addierer 87 addiert wird. Im kurzen erreicht das Additionsausgangssignal S63 zur Zeit tCHE S51B.
- Das oben erwähnte Additionsausgangssignal S63 wird vom Wellenformspeicher 2 als das Musiktonwellenformsignal WDATA ausgegeben, und die Verzögerungsschaltung 88 wird auch mit S63 beaufschlagt. Danach wird das zweite Wellenformdatensignal S51B in der Verzögerungsschaltung 88 gehalten.
- Wie zuvor beschrieben, wird in dem Fall, in dem zwei Wellenformdatensignale S51A, S51B mit jeweils den unterschiedlichen Wellenformen vom Wellenformdatenspeicherteil 71 wechselweise gelesen werden, das Musiktonwellenformsignal WDATA schrittweise und glatt von S51A auf S51B während der Zeitperiode zwischen der Änderungsstartzeit tchs und Änderungsendzeit tCHE variiert. Nach der Änderungsendzeit tCHE wird das zweite Wellenformdatensignal S51B vom Wellenformspeicher 2 als das Musiktonwellenformsignal WDATA ausgegeben.
- Entsprechend der zweiten Ausführungsform, wie in den Fig. 24 bis 26 gezeigt, kann die Wellenform des Musiktonwellenformsignals WDATA jedesmal, wenn das Hüllkurvensignal ENV die Wellenformänderungspegel ENV&sub1;, ENV&sub2;, ENV&sub3; zu beliebigen Zeiten überschreitet, glatt geändert werden.
- Die vorliegende Erfindung, wie in den vorangehenden ersten und zweiten Ausführungsformen beschrieben, kann wie folgt modifiziert werden.
- (1) Die zuvor beschriebenen Ausführungsformen verwenden die Abtastdaten einer Zeitperiode. Anstelle dessen ist es möglich, die Abtastdaten mehrerer Zeitperioden oder anderer Wellenformdaten zu verwenden, bei denen es sich um komprimierte Abtastdaten einer Zeitperiode oder mehrerer Zeitperioden handelt.
- Anstelle der Abtastdaten ist es möglich, Parameterdaten zu verwenden, die den Parameter kennzeichnen, der zur Zusammensetzung einer frequenzmodulierten (FM) Wellenform oder einer höheren harmonischen Wellenform verwendet wird. In diesem Fall wird die Interpolationsoperation an mehreren Parametern entsprechend mehreren Musiktonwellenformen ausgeführt.
- (2) Die vorangehende erste Ausführungsform, wie in den Fig. 1 bis 19 gezeigt, führt die Interpolationsoperation an den im Wellenformspeicher 2 gespeicherten Grundwellenformdaten aus, um dadurch das Musiktonsignal zu bilden. Es ist jedoch möglich, die erste Ausführungsform so auszugestalten, daß die Grundwellenformdaten direkt in das Musiktonsignal konvertiert werden, ohne die Interpolationsoperation auszuführen. In diesem Fall ist es möglich, die Effekte ähnlich denen der vorangehenden Ausführungsformen zu erhalten.
- Im Unterschied konvertieren die vorangehende zweite Ausführungsform, wie in den Fig. 20 bis 23 gezeigt, und die vorangehende dritte Ausführungsform, wie in den Fig. 24 bis 26 gezeigt, die im Wellenformspeicher 2 gespeicherten Grundwellenformdaten direkt in das Musiktonsignal, ohne die Interpolationsoperation auszuführen. Es ist jedoch möglich, diese Ausführungsformen so auszugestalten, daß die Grundwellenformdaten durch Ausführen der Interpolationsoperation in das Musiktonsignal konvertiert werden.
- (3) In den vorangehenden Ausführungsformen wird die Ausgabe LEVL der Hüllkurvenwellenformerzeugungsschaltung 16 durch das Initialanschlagssignal INTL und das Anschlagsnachdrucksignal AFTR gesteuert, so daß die Pegelvariation zu bewirken ist. Es ist jedoch nicht notwendig, die Ausgabe LEVL durch das Anschlagssignal zu steuern. In diesem Fall erfolgt die Pegelvariation lediglich auf der Grundlage des Hüllkurvensignals ENV. Oder es ist möglich, die Pegelvariation nur durch die Anschlagsinformation zu bewirken.
- Ferner ist es möglich, das Pegelbestimmungssignal LEVL durch Ausgaben von Operatoren wie etwa der Expression, dem Atemkontrolleur, dem Modulationsrad etc. zu steuern, die in der Mitte des Spiels durch den Spieler betätigt werden können.
- (4) In den vorangehenden Ausführungsformen wird der aus dem Wellenformspeicher 2 gelesene Grundwellenformdatenwert geändert, wenn das Pegelbestimmungssignal LEVL oder das Tonhöhenbestimmungssignal PICH den vorgegebenen Änderungssignalpegel überschreitet. In diesem Fall ist es möglich, einen solchen Änderungssignalpegel im Laufe der Zeit zu variieren.
- In dem Fall, in dem das Pegelbestimmungssignal LEVL den Pegel LV&sub0; überschreitet, kann das Pegelbestimmungssignal LEVL deshalb als die in Fig. 27 gezeigte Wellenform gesteuert werden, die einen Einschwingwellenformteil WA, einen Sustainwellenformteil WB und einen Ausklingwellenformteil WC enthält. In diesem Fall unterscheidet sich der zur Zeit tx1 gelesene Grundwellenformdatenwert im Einschwingwellenformteil WA vom zur Zeit tx2 gelesenen im Ausklingwellenformteil WC.
- Unter der Steuerung von LEVL, wie in Fig. 27 gezeigt, ist es möglich, den Musikton zu erzeugen, dessen Expression weiter verbessert werden kann.
- (5) In den vorangehenden Ausführungsformen wird die Tonhöhenvariation des Tonhöhenbestimmungssignals PICH auf der Grundlage des Initialanschlags INTL und des Anschlagsnachdrucksignals AFTR erzeugt. Anstelle dessen ist es möglich, die Tonhöhenvariation mit Hilfe eines Tonhöhensteueroperators wie etwa einer Tonhöhenschleifung, einer Tonhöhenbeugung, etc. zu bewirken.
- (6) Die zuvor beschriebene erste Ausführungsform verwendet die Pegelinformation, die Tonhöheninformation und die Tastenkodeinformation als drei Musiktonsteuerparameter entsprechend der dreidimensionalen Adresseninformation im dreidimensionalen Koordinatenadressensystem des Wellenformspeichers 2. Es ist jedoch möglich, die Zahl der Musiktonsteuerparameter auf "n" (wobei n > 3) zu steigern, einschließlich Zeitinformation, Operatorausgangsinformation entsprechend den bereitzustellenden Operatoren. In diesem Fall wird ein n-dimensionales Koordinatenadressensystem im Wellenformspeicher aufgebaut, wobei jeder von n Musiktonsteuerparametern jeder von n Koordinatenachsen zugeordnet ist. Somit wird auf der Grundlage von n Musiktonsteuerparametern der Grundwellenformdatenwert bestimmt und dann aus dem Wellenformspeicher 2 gelesen.
- (7) Die vorangehenden Ausführungsformen offenbaren die Vorrichtung zum Erzeugen eines Musiktonsignals, die auf das einstimmige elektronische Musikinstrument angewendet wird. Es ist jedoch möglich, die vorliegende Erfindung auf das mehrstimmige elektronische Musikinstrument anzuwenden.
- (8) In den vorangehenden Ausführungsformen wird das durch Betätigen des Tastaturteils 4 erhaltene Tastenkodesignal KC als der die Tonlage kennzeichnende Musiktonsteuerparameter verwendet, durch den die Koordinatenadresse in der k-Koordinatenachsenrichtung ausgewählt wird. Die vorliegende Erfindung ist jedoch nicht auf solche Ausführungsformen beschränkt. Deshalb ist es möglich, die vorliegende Erfindung auf einen anderen Typ von elektronischem Musikinstrument anzuwenden, das den Tastaturteil nicht aufweist, sondern die Tonquelleneinheit, Rhythmusmaschine etc.
- (9) Im Wellenformspeicher 2, wie in Fig. 14 gezeigt, werden die Interpolationsoperationen sequentiell an den Grundsegmentwellenformdatenwerten 52 mit Hilfe des gewichteten Koeffizienten cv in der j-Koordinatenachsenrichtung, bu in der i- Koordinatenachsenrichtung und aw in der k-Koordinatenachsenrichtung wechselweise ausgeführt. Es ist jedoch möglich, eine solche Reihenfolge des Ausführens der Interpolationsoperation zu ändern.
- (10) In der zweiten Ausführungsform, wie in den Fig. 20 bis 23 gezeigt, werden die Grundsegmentwellenformdatenwerte fijk entsprechend den Koordinatenadressen in der j-Koordinatenachsen- und der k-Koordinatenachsenrichtung angeordnet, so daß der gewünschte Grundsegmentwellenformdatenwert auf der Grundlage der Pegelvariation des Pegelbestimmungssignals LEVL ausgewählt wird. Anstelle dessen oder ferner ist es möglich, den Grundsegmentwellenformdatenwert in der Koordinatenadresse in der i- Koordinatenachsenrichtung anzuordnen, so daß der gewünschte Grundsegmentwellenformdatenwert auf der Grundlage der Tonhöhenvariation des Tonhöhenbestimmungssignals PICH ausgewählt wird. Somit ist es möglich, die Grundsegmentwellenformen glatt zu verbinden, wenn die Wellenformen in der i-Koordinatenachsenrichtung geändert werden.
- (11) Die vorangehenden Ausführungsformen führen die vorliegende Erfindung durch die Hardware-Konstruktion aus. Anstelle dessen ist es möglich, die Signale mit Hilfe von Software zu verarbeiten.
- (12) Wie in den Fig. 8 bis 13 gezeigt, wird die Interpolationszusammensetzungsoperation zwischen Koordinatenadressen i & i+1, j & j+1, k & k+1 ausgeführt, um dadurch die eingefügte Adressenposition (i+bu, j+cv, k+aw) auf der Grundlage der Koordinatenadresse (i, j, k) zu erhalten. Anstelle einer solchen eingefügten Adressenposition ist es möglich, eine andere eingefügte Adressenposition (i+(1-bu), j+ (1-cv), k+(1-aw)) zu erhalten. In diesem Fall ist es auch möglich, dieselben Effekte wie die vorangehenden Ausführungsformen zu erhalten.
- Wie zuvor beschrieben, kann diese Erfindung auch in anderen Weisen verwirklicht oder ausgeführt werden. Deshalb sind die hierin beschriebenen bevorzugten Ausführungsformen illustrativ und nicht beschränkend, wobei der Schutzumfang der Erfindung durch die beiliegenden Patentansprüche gekennzeichnet wird und alle Variationen, die sich innerhalb der Bedeutung der Patentansprüche bewegen, ebenfalls darin umfaßt werden sollen.
Claims (8)
1. Vorrichtung zum Erzeugen eines Musiktonsignals, die folgendes aufweist:
(a) Wellenformdatenspeichermittel (31) zur Speicherung von
Grundwellenformdaten, wobei die Wellenformdatenspeichermittel (31) eine Vielzahl von
Speicherbereichen enthalten und jeder Speicherbereich eine Adresse
aufweist, die einer Koordinatenposition in einem n-dimensionalen
Koordinatenadressensystem entspricht, bei dem jede Koordinatenachse
jeweils jedem der n Musiktonsteuerparameter entspricht, wobei n eine ganze
Zahl mit einem Wert von 2 oder größer bedeutet;
(b) Musiktonbestimmungsmittel (4) zur Erzeugung einer
Musiktonbestimmungsinformation, die für einen zu erzeugenden bestimmten Musikton
kennzeichnend ist;
(c) Erzeugungsmittel (15, 16) zur Erzeugung von
Musiktonsteuerparameterinformation, die für die Musiktonsteuerparameter repräsentativ
ist, im Ansprechen auf die Musiktonbestimmungsinformation, in der
wenigstens ein Teil der Musiktonsteuerparameterinformation im Ansprechen
auf die Musiktonbestimmungsinformation während der Zeitperiode, in der ein
Ton erklingt, zeitlich variiert;
(d) Lesemittel (32) zum Lesen der Grundwellenformdaten aus den
Wellenformdatenspeichermitteln (31) unter Verwendung der
Musiktonsteuerparameterinformation, die deren zeitlich variierenden Teil enthält, um eine
Koordinatenposition entlang der nKoordinatenachsen in dem n-dimensionalen
Koordinatenadressensystem entsprechend zu variieren, um die
Grundwellenformdaten zu lesen, und die gelesenen Grundwellenformdaten als ein
Musiktonwellenformsignal vorzusehen;
(e) Konvertierungsmittel (25, 26) zur Konvertierung des
Musiktonwellenformsignals in ein Musiktonsignal; und
(f) Mittel zur Erzeugung eines Musiktons entsprechend dem Musiktonsignal, das
im Ansprechen auf die Musiktonbestimmungsinformation zeitlich variiert.
2. Vorrichtung zum Erzeugen eines Musiktonsignals nach Anspruch 1, bei der
das n-dimensionale Koordinatenadressensystem ein dreidimensionales
Koordinatenadressensystem ist, und jeder der jedem der drei
Koordinatenachsen zugeordneten Musiktonsteuerparameter wenigsten einen
Musiktonsteuerparameter enthält, der eine Hüllkurve des Musiktones kennzeichnet.
3. Vorrichtung zum Erzeugen eines Musiktonsignals nach Anspruch 1, bei der
das n-dimensionale Koordinatenadressensystem ein dreidimensionales
Koordinatenadressensystem ist, und jeder der jedem der drei
Koordinatenachsen zugeordneten Musiktonsteuerparameter jeweils einen Tastenkode,
eine Tonhöhenvariation und eine Hüllkurve des Musiktones kennzeichnet.
4. Vorrichtung zum Erzeugen eines Musiktonsignals nach Anspruch 1, die
folgendes aufweist:
(a) Extrahierungsmittel (32) zur Herleitung von Adressen in den
Welleformdatenspeichermitteln (31) aus der Musiktonsteuerparameterinformation und
zur Extrahierung gewünschter Grundwellenformdaten, die der
Musiktonbestimmungsinformation entsprechen, aus den Grundwellenformdaten mit
Hilfe dieser Adressen und zur Erstellung eines von den extrahierten
Grundwellenformdaten gebildeten Musiktonwellenformsignals;
(b) Gewichtungskoeffizientenerzeugungsmittel (32) zur Erzeugung eines oder
mehrerer gewichteter Koeffizienten im Bezug auf die extrahierten
Grundwellenformdaten auf der Grundlage der
Musiktonsteuerparameterinformation, die deren zeitlich variierenden Teil enthält; und
(c) Interpolationsmittel (33) zur Ausübung einer Interpolationsoperation auf die
extrahierten Grundwellenformdaten in dem Musiktonwellenformsignal durch
Multiplikation jedes Grundwellenformdatenwertes mit dem gewichteten
Koeffizienten und darauffolgende Zusammensetzung seines
Multiplikationsergebnisses, um dabei ein interpoliertes Musiktonwellenformsignal zu bilden.
5. Vorrichtung zum Erzeugen eines Musiktonsignals nach Anspruch 4, bei der
erste und zweite gewichtete Koeffizienten, die für einen bestimmten Wert
und sein Komplement repräsentativ sind, im Bezug auf jeden
Musiktonsteuerparameter
gesetzt werden, wobei die Interpolationsoperation durch
Multiplikation erster und zweiter Grundwellenformdaten mit jeweils dem
ersten und zweiten gewichteten Koeffizienten und durch Zusammensetzung
ihres Multiplikationsergebnisses durchgeführt wird, so daß das interpolierte
Musiktonwellenformsignal, das für eine Musiktonwellenform kennzeichnend
ist, die zwischen den Wellenformen der ersten und zweiten
Grundwellenformdaten liegt, gebildet wird.
6. Vorrichtung zum Erzeugen eines Musiktonsignals nach Anspruch 1, die
folgendes aufweist:
(a) Wellenformdatenspeichermittel (71) zur Speicherung von
Grundwellenformdaten, die Pegelvariationen entsprechen, wobei die
Wellenformdatenspeichermittel (71) eine Vielzahl von Speicherbereichen, jeder mit einer
vorgegebenen Adresse, aufweisen;
(b) Pegelinformationserzeugungsmittel (16) zur Erzeugung zeitlich variabler
Pegelinformation im Ansprechen auf die Musiktonbestimmungsinformation,
wobei die zeitlich variable Pegelinformation ein Pegelvariationsereignis in der
Musiktonwellenform während der Zeitperiode anzeigt, in der ein Ton erklingt;
und
(c) Extrahierungsmittel (74, 75) zur Adressenherleitung in den
Wellenformdatenspeichermitteln (71) aus der zeitlich variablen Pegelinformation und
zur Extrahierung gewünschter Grundwellenformdaten, die der
Musiktonbestimmungsinformation entsprechen, aus den Grundwellenformdaten mit
Hilfe der Adressen und zur Erstellung eines Musiktonwellenformsignals, das
aus den extrahierten Grundwellenformdaten gebildet wird.
7. Vorrichtung zum Erzeugen eines Musiktonsignals nach Anspruch 1, die
folgendes aufweist:
(a) Wellenformdatenspeichermittel (2) zur Speicherung von
Grundwellenformdaten, die Tonhöhenvariationen entsprechen, wobei die
Wellenformdatenspeichermittel (2) eine Vielzahl von Speicherbereichen, jeder mit einer
vorgegebenen Adresse, aufweisen;
(b) Tonhöheninformationserzeugungsmittel (15) zur Erzeugung zeitlich
variabler Tonhöheninformation im Ansprechen auf die
Musiktonbestimmungsinformation, wobei die zeitlich variable Tonhöheninformation ein
Tonhöhenvariationsereignis in der Musiktonwellenform während einer
Zeitperiode kennzeichnet, in der ein Ton erklingt; und
(c) Extrahierungsmittel (3) zur Adressenherleitung in den
Wellenformdatenspeichermitteln (2) aus der zeitlich variablen Tonhöheninformation und zur
Extrahierung gewünschter Grundwellenformdaten, die der
Musiktonbestimmungsinformation entsprechen, aus den Grundwellenformdaten mit
Hilfe der Adressen und zur Erstellung eines Musiktonwellenformsignals, das
von den extrahierten Grundwellenformdaten gebildet wird.
8. Vorrichtung zum Erzeugen eines Musiktonsignals nach Anspruch 4, die
folgendes aufweist:
(a) Wellenformdatenspeichermittel (31; 71) zur Speicherung von eine Vielzahl
von Grundwellenformen repräsentierenden Grundwellenformdaten, wobei die
Grundwellenformdaten für jede Grundwellenform in einem entsprechenden
Speicherbereich gespeichert sind;
(b) Konvertierungsmittel zur Erzeugung einer Wellenformzahl und wenigstens
eines gewichteten Koeffizienten, so daß die Wellenformzahl einer
Grundwellenform aus der Vielzahl der Grundwellenformen entspricht, und
zwar derart, daß jeder erzeugte gewichtete Koeffizient sich auf die
Grundwellenform bezieht, der die erzeugte Wellenformzahl entspricht; und
(c) Extrahierungsmittel (3) zur Extrahierung ausgewählter
Grundwellenformdaten, die den Musiktonbestimmungsdaten entsprechen, aus der
Vielzahl der Grundwellenformdaten, so daß das ausgewählte
Wellenformdatum aus den Wellenformdatenspeichermitteln auf der
Grundlage von Speicheradressen, die im Ansprechen auf die Wellenformzahl
ermittelt werden, extrahiert wird, und zur Bildung eines
Musiktonwellenformsignals auf der Grundlage der extrahierten
Grundwellenformdaten.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1051266A JP2929199B2 (ja) | 1989-03-02 | 1989-03-02 | 楽音信号発生装置 |
JP1051267A JPH02230195A (ja) | 1989-03-02 | 1989-03-02 | 楽音信号発生装置 |
JP1051265A JP2580761B2 (ja) | 1989-03-02 | 1989-03-02 | 楽音信号発生装置 |
JP1051268A JPH0320799A (ja) | 1989-03-02 | 1989-03-02 | 楽音信号発生装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69018858D1 DE69018858D1 (de) | 1995-06-01 |
DE69018858T2 true DE69018858T2 (de) | 1995-12-14 |
Family
ID=27462609
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69018858T Expired - Fee Related DE69018858T2 (de) | 1989-03-02 | 1990-02-28 | Vorrichtung zum Erzeugen eines Musiktonsignals. |
Country Status (4)
Country | Link |
---|---|
US (1) | US5140886A (de) |
EP (1) | EP0385444B1 (de) |
DE (1) | DE69018858T2 (de) |
HK (1) | HK4696A (de) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03269586A (ja) * | 1990-03-20 | 1991-12-02 | Yamaha Corp | エンベロープ波形発生装置 |
JP2623942B2 (ja) * | 1990-09-05 | 1997-06-25 | ヤマハ株式会社 | 楽音信号発生装置 |
US5579004A (en) * | 1994-11-02 | 1996-11-26 | Advanced Micro Devices, Inc. | Digital interpolation circuit for a digital-to-analog converter circuit |
US5644098A (en) * | 1995-06-30 | 1997-07-01 | Crystal Semiconductor Corporation | Tone signal generator for producing multioperator tone signals |
US5920024A (en) * | 1996-01-02 | 1999-07-06 | Moore; Steven Jerome | Apparatus and method for coupling sound to motion |
GB9600774D0 (en) * | 1996-01-15 | 1996-03-20 | British Telecomm | Waveform synthesis |
US5917917A (en) * | 1996-09-13 | 1999-06-29 | Crystal Semiconductor Corporation | Reduced-memory reverberation simulator in a sound synthesizer |
US5824936A (en) * | 1997-01-17 | 1998-10-20 | Crystal Semiconductor Corporation | Apparatus and method for approximating an exponential decay in a sound synthesizer |
US6088461A (en) * | 1997-09-26 | 2000-07-11 | Crystal Semiconductor Corporation | Dynamic volume control system |
US6091824A (en) * | 1997-09-26 | 2000-07-18 | Crystal Semiconductor Corporation | Reduced-memory early reflection and reverberation simulator and method |
JP3407626B2 (ja) | 1997-12-02 | 2003-05-19 | ヤマハ株式会社 | 演奏練習装置、演奏練習方法及び記録媒体 |
US6124544A (en) * | 1999-07-30 | 2000-09-26 | Lyrrus Inc. | Electronic music system for detecting pitch |
JP2007011217A (ja) * | 2005-07-04 | 2007-01-18 | Yamaha Corp | 楽音合成装置及びプログラム |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2846581A1 (de) * | 1978-10-26 | 1980-05-08 | Ght Hochtemperaturreak Tech | Waermetauscher fuer gase von hoher temperatur |
US4566364A (en) * | 1983-06-14 | 1986-01-28 | Nippon Gakki Seizo Kabushiki Kaisha | Electronic musical instrument controlling a tone waveshape by key scaling |
US4779505A (en) * | 1983-09-07 | 1988-10-25 | Nippon Gakki Seizo Kabushiki Kaisha | Electronic musical instrument of full-wave readout system |
JPS60147793A (ja) * | 1984-01-12 | 1985-08-03 | ヤマハ株式会社 | 楽音信号発生装置 |
US4633749A (en) * | 1984-01-12 | 1987-01-06 | Nippon Gakki Seizo Kabushiki Kaisha | Tone signal generation device for an electronic musical instrument |
JPS616689A (ja) * | 1984-06-20 | 1986-01-13 | 松下電器産業株式会社 | 電子楽器 |
JPH079588B2 (ja) * | 1984-08-31 | 1995-02-01 | ヤマハ株式会社 | 楽音発生装置 |
JPH0772829B2 (ja) * | 1986-02-28 | 1995-08-02 | ヤマハ株式会社 | 電子楽器におけるパラメ−タ供給装置 |
US4907484A (en) * | 1986-11-02 | 1990-03-13 | Yamaha Corporation | Tone signal processing device using a digital filter |
-
1990
- 1990-02-27 US US07/486,051 patent/US5140886A/en not_active Expired - Lifetime
- 1990-02-28 EP EP90103914A patent/EP0385444B1/de not_active Expired - Lifetime
- 1990-02-28 DE DE69018858T patent/DE69018858T2/de not_active Expired - Fee Related
-
1996
- 1996-01-11 HK HK4696A patent/HK4696A/xx not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
EP0385444A2 (de) | 1990-09-05 |
US5140886A (en) | 1992-08-25 |
DE69018858D1 (de) | 1995-06-01 |
EP0385444B1 (de) | 1995-04-26 |
EP0385444A3 (de) | 1991-02-13 |
HK4696A (en) | 1996-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3889051T2 (de) | Vorrichtung zur Tonsignalerzeugung. | |
DE69018858T2 (de) | Vorrichtung zum Erzeugen eines Musiktonsignals. | |
DE2711511C2 (de) | Polyphones elektronisches Musikinstrument | |
DE2404431A1 (de) | Elektronisches musikinstrument | |
DE3887809T2 (de) | Elektronisches Musikinstrument. | |
DE69325336T2 (de) | Gerät zum Beaufschlagen eines Signals mit einem Klangeffekt | |
DE102007034356A1 (de) | Vorrichtung zur Tempobestimmung und Computerprogramm zur Tempobestimmung | |
DE3750186T2 (de) | Liefervorrichtung für Parameter in einem elektronischen Musikinstrument. | |
DE2920298A1 (de) | Binaere interpolatorschaltung fuer ein elektronisches musikinstrument | |
DE3221447A1 (de) | Verfahren und geraet zur automatischen tonuntermalung | |
DE2500720C3 (de) | Elektronisches Musikinstrument | |
DE3146292A1 (de) | Elektronisches musikinstrument von wellenformspeicher auslesender bauart | |
DE3013250A1 (de) | Digitalsignalgenerator | |
DE69431013T2 (de) | Elektronische Vorrichtung zum Musikvortrag | |
DE2828919A1 (de) | Polyphone syntheseschaltung fuer periodische signale und damit ausgestattetes elektronisches musikinstrument | |
DE3222576C2 (de) | Elektronisches Musikinstrument | |
DE69321650T2 (de) | In elektronischen Musikinstrumenten verwendete Vorrichtung zur Verarbeitung von digitalen Signalen | |
DE2853209C2 (de) | Digitaltechnik verwendendes elektronisches Musikinstrument | |
EP0036074A1 (de) | Syntheseschaltung für periodische Signale, insbesondere als Teil eines Musikinstruments | |
DE3047801A1 (de) | Elektronisches musikinstrument mit tastenfeld | |
DE3509474C2 (de) | ||
DE3220099A1 (de) | Elektronisches musikinstrument, bei dem die tonsynthese unter verwendung der frequensmodulation erfolgt | |
DE3226619A1 (de) | Modulationseffektvorrichtung | |
DE3402673C2 (de) | Wellenformdaten-Erzeugungsschaltung | |
EP1758096A1 (de) | Verfahren und Vorrichtung zur Mustererkennung in akustischen Aufnahmen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |