-
Die
vorliegende Erfindung bezieht sich auf ein Tondatenerzeugungsverfahren,
eine entsprechende Vorrichtung und ein entsprechendes Aufzeichnungsmedium,
das in elektronischen Musikinstrumenten und dergleichen in geeigneter
Weise eingesetzt werden kann, um die Erzeugung einer qualitativ
hochwertigen Tonwellenform mit musikalischer "Artikulation" vorzusehen und die Steuerung der Tonwellenformerzeugung
zu ermöglichen.
Es wird erkannt werden, dass die vorliegende Erfindung auf vielfältige Weise
als eine Tonerzeugungsvorrichtung und ein entsprechendes Verfahren
zur Verwendung in verschiedensten Ton- oder Klangerzeugungsgeräten, die
keine elektronischen Musikinstrumente sind, wie zum Beispiel Spielmaschinen,
PCs und Multimediaeinrichtungen, eingesetzt werden kann.
-
Es
ist wichtig festzustellen, dass der Begriff "Ton",
der hier an verschiedenen Stellen in dieser Beschreibung auftritt,
in seiner weit gefassten Bedeutung verwendet wird und alle möglichen
Typen eines Klangs umfasst, so zum Beispiel menschliche Stimmen,
verschiedene Effektklänge
und in der Umwelt vorkommende Geräusche und ist nicht allein
auf musikalische Töne
eingeschränkt.
-
Bei
herkömmlichen
Tongeneratoren, wie zum Beispiel in der WO-A-97/07476, die auf dem
sogenannten Wellenformspeicherleseverfahren (PCM bzw. Pulsecode-Modulationsverfahren)
basieren, das heutzutage üblicherweise
in elektronischen Musikinstrumenten und dergleichen eingesetzt wird, werden
ein einziger oder mehrere Zyklen von Wellenformdaten, die einem
vorbestimmten Timbre oder einer Klangfarbe entsprechen, in einem
Speicher vorgespeichert und eine ausgehaltene Tonwellenform wird
durch Auslesen der vorgespeicherten Wellenformdaten mit einer Rate
erzeugt, die einer entsprechenden Tonhöhe des jeweiligen zu erzeugenden Tons
entspricht. Alternativ dazu werden Daten einer gesamten Wellenform,
vom Start bis zum Ende eines zu erzeugenden Tons in einem Speicher
vorgespeichert, so dass durch Auslesen der vorgespeicherten Wellenformdaten
mit einer Rate, die einer gewünschten
Tonhöhe
entspricht, ein einzelner Ton erzeugt wird.
-
Wenn
bei solchen PCM-Tongeneratoren ein Benutzer oder Spieler an der
vorgespeicherten Wellenform eine Modifikation vornehmen möchte, und die
Wellenform nicht nur genau so, wie sie gespeichert ist, auslesen
möchte,
um einem erzeugten Ton einen bestimmten Spielausdruck zu verleihen,
wurde herkömmlicherweise
eine Steuerung von drei hauptsächlichen
Tonfaktoren durchgeführt:
Tonhöhe,
Tonlautstärke,
und Timbre bzw. Klangfarbe. Insbesondere wird für die Tonhöhensteuerung die Wellenformdaten-Ausleserate
gemäß einer
optional ausgewählten Tonhöhenhüllkurve
entsprechend moduliert, um hierdurch einen Tonhöhenmodulationseffekt, wie zum Beispiel
ein Vibrato, eine Einschwingtonhöhe
oder dergleichen anzuwenden. Zur Tonlautstärkensteuerung wird den ausgelesenen
Wellenformdaten eine auf eine vorgegebenen Hüllkurvenwellenform basierende
Tonlautstärkenamplitudenhüllkurve
verliehen, oder es wird die Tonlautstärkenamplitude der ausgelesenen
Wellenformdaten zyklisch moduliert, um einen Tremoloeffekt oder
dergleichen anzuwenden. Außerdem
werden zur Klangfarbensteuerung die ausgelesenen Wellenformdaten
einem Filtervorgang unterzogen.
-
Außerdem sind
Mehrspursequenzer bekannt, die zum gemeinsamen Abtasten einer Abfolge von
live gespielten Tönen
(d. h. einer Musikphrase) angeordnet sind, um sie auf einer einzigen
Spur aufzuzeichnen, so dass auf diese Weise auf mehreren unterschiedlichen
Spuren aufgezeichnete einzelne Musikphrasenwellenformen in Kombination
mit automatischen Spieltönen
auf der Basis von Sequenzspieldaten wiedergegeben werden können, die
von den Musikphrasenwellenformen getrennt ausgezeichnet wurden.
-
Außerdem ist
das Aufzeichnen ganzer Tonwellenformdaten eines Musikstücks, das
live gespielt wird, in PCM-Daten und dann eine einfache Wiedergabe
der auf diese Weise aufgezeichneten PCM-Daten ein wohl bekanntes
Musikaufzeichnungsverfahren, das normalerweise zur Herstellung von
CDs (Compact Discs) verwendet wird.
-
Wenn
ein erfahrener Spieler eine musikalische Phrase auf einem natürlichen
akustischen Musikinstrument, wie zum Beispiel einem Klavier, einer Geige
oder einem Saxophon spielt, ist es allgemein so, dass einzelne Töne der Musikphrase
mit einer musikalischen "Artikulation" gespielt werden,
die während
der Phrase nicht gleichförmig
ist, sondern zwischen den einzelnen Tönen, zwischen Tonverbindungen
oder zwischen ansteigenden, unterstützten oder abfallenden Phasen
einiger der Töne
je nach einem allgemeinen Bild des Musikstücks oder der Feinfühligkeit
des Spielers subtil unterscheidet, auch wenn die musikalische Phrase
auf dem selben Musikinstrument gespielt wird. Die Anwesenheit einer solchen "Artikulation" gibt den Zuhörern möglicherweise
den Eindruck, dass die Töne
wirklich gut gespielt werden.
-
Das
oben erwähnte
Aufzeichnungsverfahren, bei dem die ganzen Tonwellenformdaten eines Musikstücks, das
von einem erfahrenen Spieler live aufgeführt wird, als PCM-Wellenformdaten
aufgezeichnet werden, das normalerweise bei der CD-Produktion angewendet
wird, würde
eine realistische Reproduktion der "Artikulation" in genau der Weise, wie sie vom Spieler
ausgeführt
wird, erlauben, da sie eine realistische und qualitativ hochwertige
Reproduktion der Liveaufführung
ermöglicht.
Aufgrund der Tatsache jedoch, dass dieses bekannte Aufzeichnungsverfahren
nur lediglich die Reproduktion eines festen Musikstücks (d.
h. eines Musikstücks,
nur wie es ursprünglich
aufgenommen wurde) erlaubt, kann es nicht als ein "interaktives" Tonherstellungsverfahren
dienen, das es den Benutzern erlaubt, Töne frei zu kreieren und die
auf diese Weise erzeugten Töne auf
einem elektronischen Musikinstrument, einer Multimediaeinrichtung
oder dergleichen frei zu editieren.
-
Im
Gegensatz dazu erlaubt das PCM-Tongeneratorverfahren, das auf dem
Gebiet der elektronischen Musikinstrumente und dergleichen bekannt
ist, dem Benutzer, gewünschte
Töne zu
erzeugen und den erzeugten Tönen
einen gewissen Grad eines Spielausdrucks zu verleihen. Das bekannte PCM-Tongeneratorverfahren
ist jedoch zum Erzielen einer solchen "Artikulation" nicht ausreichend, die sowohl bezüglich der
Tonqualität
als auch des Spielausdrucks natürlich
wäre. Zum
Beispiel besteht gemäß dem PCM-Tongeneratorverfahren
diesen Typs eine beträchtliche
Einschränkung
der Qualität
erzeugter Töne,
da in einem Speicher vorgespeicherte Wellenformdaten lediglich das
Ergebnis der Abtastung eines einzigen Tons sind, der auf einem natürlichen akustischen
Musikinstrument gespielt wurde. Insbesondere ist es beim PCM-Tongeneratorverfahren nicht
möglich,
eine Artikulation oder einen Wiedergabestil zu reproduzieren oder
auszudrücken,
der während
des tatsächlichen
Spiels angewendet wurde, um vorbestimmten Töne miteinander zu verbinden. Zum
Beispiel können
im Fall eines Bindebogenspiels, bei dem eine Gruppe von musikalischen
Noten aneinander gehängt
wird, die herkömmlichen elektronischen
Musikinstrumente und dergleichen auf der Grundlage des PCM-Tongeneratorverfahrens keine
Artikulation oder keinen Wiedergabestil reproduzieren, der eine
Klangqualität
liefern würde,
die mit derjenigen vergleichbar wäre, die durch ein Livespiel auf
natürlichen
akustischen Musikinstrumenten erzielt wird, weil es sich lediglich
auf das einfache Vorgehen eines glatten Übergangs bei der Variation
der Rate des Wellenformdaten-Auslesens aus dem Speicher oder des
Steuerns einer Tonlautstärkehüllkurve, die
auf die erzeugten Töne
angewendet wird, beschränkt.
Außerdem
haben Töne
einer selben Tonhöhe,
die vom selben Musikinstrument erzeugt werden, normalerweise eine
unterschiedliche oder nicht gleichförmige Artikulation in ihrer
Einschwingphase, je nach einer unterschiedlichen Musikphrase, zu
der sie gehören,
oder nach ihrem Spielanlass, auch wenn sie in der selben Musikphrase
vorkommen; ein solcher subtiler Unterschied in der Artikulation
kann jedoch durch das elektronische Musikinstrument oder dergleichen
unter der Verwendung des bekannten PCM-Tongeneratorverfahrens nicht
angemessen ausgedrückt
werden.
-
Außerdem ist
die bei herkömmlichen
elektronischen Musikinstrumenten und dergleichen ausgeführte Tonerzeugungssteuerung
für einen
gewünschten
Spielausdruck relativ eintönig
und kann niemals als ausreichend bezeichnet werden. Während es zum
Beispiel herkömmlicherweise
bekannt ist, eine Tonsteuerung in Reaktion auf einen Spielanschlag auf
eine Taste oder dergleichen auszuführen, kann das herkömmliche
Verfahren nur Tonlautstärkenvariationscharakteristiken
und Betriebscharakteristiken des verwendeten Klangfarbenfilters
steuern und niemals die Toncharakteristiken zum Beispiel für jede der
erklingenden Phrasen von der ansteigenden zur abfallenden Phase
eines Tons getrennt steuern. Außerdem
bietet zur Klangfarbensteuerung das herkömmliche Verfahren nicht genügend Klangfarbenvariationen,
die einem verschiedenartigen Spielausdruck entsprechen, da es lediglich
Wellenformdaten aus dem Speicher ausliest, die einer Klangfarbe
entsprechen, die vor dem Spiel ausgewählt wurde, und dann während der
Erzeugung der Töne
die entsprechenden Wellenformdaten über ein Filter oder sonst wie
in Reaktion auf den sich verändernden
Spielausdruck variabel steuert. Außerdem ist es aufgrund der Tatsache.
dass die Form und andere Charakteristiken der Hüllkurvenwellenformen, die beim
herkömmlichen
Verfahren zum Steuern der Tonhöhe,
der Lautstärke,
usw. angewendet werden, jeweils eingestellt und gesteuert werden,
während
die Gesamtheit einer durchgehenden Hüllkurve (von ihrem Ansteigen
bis zu ihrem Abfallen) als eine einzige Einheit behandelt werden,
es nicht möglich,
Operationen an den einzelnen Phasen oder Segmenten der Hüllkurve
in freier Weise durchzuführen,
wie zum Beispiel teilweise Ersetzen (d. h. das Ersetzen eines gewünschten
Segments) der Hüllkurve.
-
Außerdem kann
das oben erwähnte
Mehrspur-Sequenzerverfahren keinesfalls ein teilweises Editieren
(wie zum Beispiel teilweise Ersetzen oder Charakteristikensteuerung)
einer Musikphrasenwellenform ausführen, weil es lediglich Musikphrasen-Wellenformdaten
eines Livespiels aufzeichnet. Daher kann dieses Verfahren nicht
als ein interaktives Tonherstellungsverfahren eingesetzt werden, das
es den Benutzern erlaubt, Töne
auf einem elektronischen Musikinstrument, einer Multimediaeinrichtung
oder dergleichen frei zu erzeugen.
-
Außerdem enthalten
zwar in der natürlichen Umwelt
vorkommende gewöhnliche
Geräusche
sowie Musikspieltöne
allgemein eine sehr feine "Artikulation", die über die
Zeit variiert, doch sind die herkömmlichen Verfahren nicht fähig, die "Artikulation" in einer gekonnten
und angemessenen Art und Weise steuerbar zu reproduzieren.
-
Es
ist daher eine Aufgabe der vorliegenden Erfindung, ein interaktives
Verfahren zur Erzeugung qualitativ hochwertiger Töne vorzusehen,
bei dem ein Ton (der nicht nur ein musikalischer Ton, sondern, wie
oben erwähnt,
auch ein beliebiger anderer gewöhnlicher
Ton sein kann) unter der Verwendung eines elektronischen Musikinstrumentes
oder einer anderen elektronischen Vorrichtung eine realistische Reproduktion
einer Artikulation erzielt und eine Steuerung der Artikulationsreproduktion
ermöglicht,
um es dadurch Benutzern zu erlauben, einen Ton frei zu erzeugen
und den auf diese Weise erzeugten Ton auf einem elektronischen Musikinstrument,
einer Multimediaeinrichtung oder dergleichen zu editieren.
-
Es
ist eine weitere Aufgabe der vorliegenden Erfindung, eine neuartige
automatische Spielvorrichtung und ein auf diesem interaktiven Verfahren
zur Herstellung qualitativ hochwertiger Töne basierendes Verfahren vorzusehen.
-
Es
ist noch eine weitere Aufgabe der vorliegenden Erfindung, basierend
auf dem interaktiven Verfahren zur Herstellung qualitativ hochwertiger Töne eine
neuartige Tondaten-Editiervorrichtung und ein entsprechendes Verfahren
vorzusehen.
-
Es
ist noch eine weitere Aufgabe der vorliegenden Erfindung, ein neuartiges
Verfahren zum miteinander Verbinden von Wellenformdaten oder Steuerungsdaten
vorzusehen.
-
Es
ist noch eine weitere Aufgabe der vorliegenden Erfindung, eine neuartige
Vibrato-Klangerzeugungsvorrichtung vorzusehen.
-
Es
wird darauf hingewiesen, dass der Begriff "Artikulation" in der vorliegenden Beschreibung in seiner
allgemein gültigen
Bedeutung verwendet wird und so weit gefasst sein soll, dass er
auch "Silbe", "Zwischentonverbindung", "Block mehrerer Töne (Phrase)", "partielle Charakteristik
eines Tons", "Stil der Tonerzeugung", "Stil der Wiedergabe", "Spielausdruck" und so weiter umfasst.
-
Nach
einem Aspekt der vorliegenden Erfindung ist eine Datenbank nach
Anspruch 1, ein Verfahren nach den Ansprüchen 9 und 11; Speichermedien
wie in den Ansprüchen
14 und 15 dargelegt; eine Vorrichtung, wie im Anspruch 16 dargelegt;
ein Verfahren wie im Anspruch 49 dargelegt und ein Speichermedium
wie im Anspruch 82 dargelegt vorgesehen.
-
Kurz
gesagt, sind die erfindungsgemäßen Tondatenherstellungs-
und Tonsynthetisierungsverfahren durch das Analysieren der Artikulation
eines Klangs und die Ausführung
eines Toneditierens oder einer Tonsynthese einzeln für jedes
Artikulationselement gekennzeichnet, so dass die erfindungsgemäßen Verfahren
eine Tonsynthese durch Modellieren der Artikulation des Klangs ausführen. Aus
diesem Grund können
die Tondatenherstellungs- und Tonsynthetisierungsverfahren gemäß der vorliegenden Erfindung
auch als Klangartikulationselementmodellierungs (abgekürzt "SAEM")-Verfahren bezeichnet werden.
-
Es
ist verständlich,
dass das Prinzip der vorliegenden Erfindung nicht nur als ein erfindungsgemäßes Verfahren,
sondern auch als eine Vorrichtung oder ein entsprechendes Gerät realisiert
werden kann. Außerdem
kann die vorliegende Erfindung auch als ein Computerprogramm sowie
als ein Aufzeichnungsmedium vorliegen, das das Computerprogramm
enthält.
Außerdem
kann die vorliegende Erfindung als ein Aufzeichnungsmedium vorliegen,
das Wellenform- oder Tondaten enthält, die durch eine neuartige
Datenstruktur organisiert sind.
-
Zum
besseren Verständnis
der obigen und anderer Merkmale der vorliegenden Erfindung werden
die bevorzugten Ausführungsformen
der Erfindung im Einzelnen unten anhand der beiliegenden Zeichnungen
beschrieben.
-
Es
zeigt:
-
1 ein
Fließdiagramm,
das ein Beispiel einer Betriebssequenz zum Erzeugen einer Tondatenbank
durch ein Tondatenherstellungsverfahren gemäß einer bevorzugten Ausführungsform
der vorliegenden Erfindung zeigt;
-
2 ein
Diagramm, das eine Beispielmusikpartitur zeigt, die eine musikalische
Phase repräsentiert,
eine beispielartige Art und Weise zum Aufteilen der musikalischen
Phrase in Spielabschnitte auf der Basis von einer Artikulation zur
nächsten;
-
3 ist
ein Diagramm, das detaillierte Beispiele mehrerer Tonfaktoren zeigt,
die analytisch aus einer Wellenform bestimmt wurden, die einem einzigartigen
Artikulationselement entspricht;
-
4 ist
ein Diagramm, das eine beispielhafte Organisation der Datenbank
zeigt, die durch das erfindungsgemäße Verfahren erstellt wurde;
-
5A und 5B Diagramme,
die detaillierte Beispiele von Artikulationselementsequenzen und
Artikulationselementvektoren zeigen, die in einem Artikulationsdatenbankabschnitt
von 4 gespeichert sind;
-
6 ein
Diagramm, das detaillierte Beispiele der Artikulationselementvektoren
zeigt, die Attributinformation enthalten;
-
7 ein
Fließdiagramm,
das eine beispielhafte Operationssequenz zum Synthetisieren eines Tons
durch das Tondatenherstellungsverfahren gemäß der vorliegenden Erfindung
gliedert;
-
8A und 8B ein
Diagramm, das beispielhafte Organisationen automatischer Spielsequenzdaten
zeigt, die ein Tonsyntheseverfahren auf der Grundlage des erfindungsgemäßen Tondatenherstellungsverfahrens
verwenden;
-
9 ein
Diagramm, das beispielhafte Details einiger Wiedergabestilsequenzen
gemäß der vorliegenden
Erfindung zeigt;
-
10 ein Zeitabstimmungsdiagramm, das ein Beispiel
eines Vorgangs zum Verbinden aneinander angrenzender Artikulationselemente
in einer einzigen Wiedergabestilsequenz durch Überblendungs-Synthese zeigt;
-
11 ein Blockdiagramm, das eine beispielhafte Art
und Weise des Editierens einer Wiedergabestilsequenz (Artikulationselementsequenz) zeigt;
-
12 ein Fließdiagramm,
das Operationen zum Editieren einer Wiedergabestilsequenz (Artikulationselementsequenz)
zeigt;
-
13 ein Konzeptdiagramm, das einen partiellen Vektor
erläutert;
-
14 ein Fließdiagramm,
das einen Teil einer Operationssequenz zum Synthetisieren eines Tons
eines einen partiellen Vektor enthaltenden Artikulationselements
zeigt;
-
15 ein Diagramm, das ein Beispiel eines Vibratosynthetisierungsvorgangs
zeigt;
-
16 ein Diagramm, das ein weiteres Beispiel des
Vibratosynthetisierungsvorgangs zeigt;
-
17A bis 17E Diagramme,
die mehrere im Zusammenhang mit Wellenformschablonen verwendete
Regeln zeigen;
-
18A bis 18C Diagramme,
die mehrere im Zusammenhang mit einigen anderen Typen von Schablonendaten
(jede in der Form einer Hüllkurvenwellenform)
als den Wellenformschablonendaten verwendete Regeln zeigt;
-
19A bis 19C Diagramme,
die mehrere detaillierte Beispiele der in 18B gezeigten Verbindungsregel
zeigen;
-
20A bis 20C Diagramme,
die mehrere detaillierte Beispiele der in 18C gezeigten Verbindungsregel
zeigen;
-
21 ein Blockdiagramm, das eine Tonsyntheseverarbeitung
auf der Grundlage verschiedener Typen von Schablonendaten und Operationen zum
miteinander Verbinden der Schablonendaten zeigt;
-
22 ein Blockdiagramm, das einen beispielhaften
Hardwareaufbau eines Tonsynthetisierungsgeräts gemäß einer bevorzugten Ausführungsform
der vorliegenden Erfindung zeigt;
-
23 ein Blockdiagramm, das ein beispielhaftes Detail
einer Wellenformschnittstelle und eine beispielhafte Anordnung von
Wellenformpuffern innerhalb eines in 22 gezeigten
RAM zeigt;
-
24 ist ein Zeitdiagramm, das ein Beispiel einer
Tonerzeugungsverarbeitung zeigt, die auf der Basis von MIDI-Spieldaten
ausgeführt
wird;
-
25 ein Zeitdiagramm, das ein Beispiel eines erfindungsgemäßen Wiedergabestil-Spielvorgangs
(Artikulationselement-Tonsyntheseverarbeitung) zeigt, der auf der
Grundlage von Daten einer Wiedergabestilsequenz (Artikulationselementsequenz)
ausgeführt
wird;
-
26 ein Fließdiagramm,
das eine Hauptroutine der Tonsyntheseverarbeitung zeigt, die durch die
CPU von 22 ausgeführt wird;
-
27 ein Fließdiagramm,
das ein Beispiel eines automatischen Spielvorgangs zeigt, der in 26 gezeigt ist;
-
28 ein Fließdiagramm,
das ein Beispiel eines in 26 gezeigten
Tongeneratorvorgangs zeigt;
-
29 ein Fließdiagramm,
das ein Beispiel einer in 28 gezeigten
Ein-Rahmen-Wellenformdaten-Erzeugungsoperation
für ein
normales Spiel zeigt;
-
30 ein Fließdiagramm,
das ein Beispiel für
einen in 28 gezeigten Ein-Rahmen-Wellenformdaten-Erzeugungsvorgang
für ein
Wiedergabestilspiel zeigt;
-
31 ein Konzeptdiagramm, das eine Steuerung zur
Streckung/Komprimierung (TSC) entlang der Zeitachse zeigt, die bei
der vorliegenden Erfindung eingesetzt wird;
-
32 ein Diagramm, das eine hierarchische Organisation
der Wiedergabestilsequenz erläutert;
-
33 ein Diagramm, das eine beispielhafte Art und
Weise zeigt, in der Adressen über
die Zeit vorgerückt
werden, um eine gespeicherte Wellenform während der Steuerung zur Komprimierung
in der Zeitachse auszulesen; und
-
34 ein Diagramm, das eine beispielhafte Art und
Weise zeigt, in der Adressen über
die Zeit vorgerückt
werden, um eine gespeicherte Wellenform während der Steuerung zur Streckung
in der Zeitachse auszulesen.
-
Beispielhafte Art und
Weise zur Erstellung einer Tondatenbank
-
Wie
schon zuvor bemerkt, werden in Fällen, bei
denen ein erfahrener Spieler eine im Wesentlichen durchgehende musikalische
Phase auf einem natürlichen
akustischen Musikinstrument, wie zum Beispiel einem Klavier, einer
Geige oder einem Saxophon spielt, einzelne Töne der Phrase normalerweise mit
einer gewissen Art der musikalischen "Artikulation" gespielt, die je nach einem allgemeinen
Bild des Musikstücks
oder der Feinfühligkeit
des Spielers auf subtile Weise zwischen den einzelnen Tönen, zwischen
Tonverbindungen oder ansteigenden, unterstützten und abfallenden Abschnitten
von einigen der Töne
differenziert, und nicht über
die ganze Phrase hinweg gleichförmig
gespielt, auch wenn die Phrase auf dem selben Musikinstrument gespielt
wird. Die Anwesenheit einer solchen "Artikulation" kann den Zuhörern den Eindruck geben, dass
die Töne
wirklich gut gespielt werden.
-
Allgemein
würde sich
beim Spielen eines Musikinstruments die "Artikulation" als eine Widerspiegelung eines bestimmten
Wiedergabestils oder eines Spielausdrucks, der vom Spieler eingesetzt wird,
zeigen. Es sollte daher berücksichtigt
werden, dass die Begriffe "Wiedergabestil" oder "Spielausdruck" und "Artikulation", wie sie hier verwendet
werden, fast die selbe Bedeutung haben sollen. Unter verschiedenen
Beispielen des Wiedergabestils, sind Staccato, Tenuto, Bindebogen,
Vibrato, Tremolo, Crescendo und Decrescendo zu nennen. Wenn ein Spieler
auf einem natürlichen
akustischen Musikinstrument eine im Wesentlichen durchgehende musikalische
Phrase spielt, werden normalerweise verschiedene unterschiedliche
Wiedergabestile in verschiedenen musikalischen Phrasen verwendet,
wie das durch eine Musikpartitur oder die Feinfühligkeit des Spielers diktiert
wird, und als ein Ergebnis solcher unterschiedlicher vom Spieler
eingesetzter Wiedergabestile würden
dann verschiedene unterschiedliche Artikulationen entstehen.
-
1 ist
ein Fließdiagramm,
das ein Beispiel für
eine Art und Weise zeigt, mit der eine Tondatenbank gemäß dem Prinzip
der vorliegenden Erfindung erstellt wird. Beim ersten Schritt S1
wird eine Abfolge tatsächlich
gespielter Töne
(ein einziger Ton oder mehrere Töne)
abgetastet. Hier sei angenommen, dass ein erfahrener Spieler eines
bestimmten natürlichen
akustischen Musikinstruments eine vorbestimmte im Wesentlichen durchgehende
musikalische Phrase spielt. Die resultierende Reihe gespielter Töne wird über ein
Mikrofon aufgenommen und mit einer vorbestimmten Abtastfrequenz
abgetastet, um so für
die ganze gespielte Phrase PCM (Pulse Code Modulated) – Wellenformdaten
vorzusehen. Die auf diese Weise vorgesehenen PCM-Wellenformdaten
sind qualitativ hochwertige Daten, die auch im musikalischen Sinn
qualitativ hochwertig sein können.
-
Zu
Zwecken der Erläuterung
ist im Abschnitt (a) von 2 ein
Beispiel einer Musikpartitur gezeigt, die eine im Wesentlichen durchgehende
musikalische Phrase darstellt. Die Angabe "WIEDERGABESTILMARKIERUNG", die unmittelbar über den Noten
steht, zeigt veranschaulichend mehrere Wiedergabestile, nach denen
die in den Noten wiedergegebene Musikphrase zu spielen ist. Jedoch
sind solche Noten mit den Wiedergabemarkierungen für die Abtastungszwecke
bei Schritt S1 nicht immer notwendig; das heißt, dass alternativ dazu der
Spieler auch zuerst die Musikphrase nach einer gewöhnlichen
Musikpartitur spielen kann, und dann eine Musikpartitur mit Wiedergabestilmarkierungen
durch Analysieren der abgetasteten Wellenformdaten erstellt werden
kann, um die Wiedergabestile zu bestimmen, die tatsächlich in
den mit der Zeit variierenden Spielphasen der Phrase verwendet wurden.
Wie noch beschrieben werden wird, kann eine solche Musikpartitur
mit Wiedergabestilmarkierungen für
gewöhnliche
Benutzer sehr hilfreich sein, um gewünschte Daten aus einer Datenbank
zu extrahieren, die auf der Basis der abgetasteten Daten erstellt
wurde, und um die extrahierten Daten zum Erzeugen eines gewünschten
Spieltons zusammenzufügen,
als dass sie beim Abtasten in Schritt S1 hilfreich sind. Um jedoch
in anschaulicher Weise zu beschreiben, wie die auf der Musikpartitur
in Abschnitt (a) von 2 geschriebene musikalische
Phrase tatsächlich gespielt
wurde, erläutern
die folgenden Abschnitte die Bedeutungen der Wiedergabestilmarkierungen auf
der gezeigten Musikpartitur.
-
Die
Wiedergabestilmarkierungen in schwarzen Kreisen, die im Zusammenhang
mit den ersten drei Noten im ersten Takt geschrieben sind, repräsentieren
jeweils den Wiedergabestil "Staccato" und die Größe der schwarzen
Kreise repräsentiert
eine Tonlautstärke.
-
Die
Wiedergabestilmarkierungen in schwarzen Rechtecken, die im Zusammenhang
mit den nächsten
Noten zusammen mit dem Text "Attack-Mid,
No-Vib" geschrieben wurden,
repräsentieren
einen Wiedergabestil, bei dem eine mittlere Toneinschwingphase ohne
Vibratoeffekt einzusetzen ist.
-
Die
Wiedergabestilmarkierungen mit dem Text "Atk-Fast, Vib-Soon-Fast, Release-Smoothly", die im Zusammenhang
mit den Noten geschrieben sind, die in der zweiten Hälfte des
zweiten Taktes mit einem Bindebogen geschrieben sind, repräsentieren einen
Wiedergabestil, bei dem eine Einschwingphase schnell ansteigt, ein
Vibrato dann gleich schnell wird und der Ausklang glatt verläuft.
-
Die
Wiedergabestilmarkierungen in schwarzen Ovalen in einem dritten
Takt repräsentieren
einen Wiedergabestil "Tenuto". Im dritten Takt
in einem Abschnitt (a) von 2 sind
auch Wiedergabestilmarkierungen geschrieben, die anzeigen, dass die
Tonlautstärke
fortschreitend abnimmt, und eine Wiedergabestilmarkierung, die anzeigt,
dass am Ende eines Tons ein Vibratoeffekt zu verwenden ist.
-
Aus
der Musikpartitur in Abschnitt (a) von 2 ist
zu ersehen, dass verschiedene Wiedergabestile oder ein verschiedenartiger
Spielausdruck auch in der kurzen musikalischen Phrase angewendet
werden kann, die nur aus drei Takten besteht.
-
Es
wird darauf hingewiesen, dass diese Wiedergabestilmarkierungen natürlich auch
in einer beliebigen anderen Form erfolgen können, als sie im Abschnitt
(a) von 2 veranschaulicht sind, solange
sie bestimmte Wiedergabestile in einer entsprechenden Art und Weise
repräsentieren.
Während
bei der Herstellung herkömmlicher
Musikpartituren Markierungen verwendet wurden, die für verschiedene Wiedergabestile
mehr oder weniger repräsentativ sind,
wird vorgezogen, dass präzisere
oder spezifischere Wiedergabestilmarkierungen, die bisher noch nie
vorgeschlagen oder angetroffen wurden, zur wirkungsvollen Durchführung der
vorliegenden Erfindung verwendet werden.
-
Wieder
mit Bezug auf 1 teilt Schritt S2 eine Abfolge
gespielter Töne,
die bei Schritt S1 abgetastet wurden, gemäß entsprechender Charakteristiken
eines Spielausdrucks (nämlich
der Artikulation) in mehrere Zeitabschnitte variabler Länge auf.
Dieser Vorgang unterscheidet sich vollständig von der herkömmlichen
Vorgehensweise, bei der Wellenformdaten jeweils für regelmäßige, feststehende
Zeitrahmen aufgeteilt und analysiert wurden, wie das bei der Fourier-Analyse
bekannt ist. Weil nämlich
viele verschiedene Artikulationsarten in der abgetasteten Abfolge gespielter
Töne vorhanden
sind, würden
die Zeitbereiche der Töne,
welche der einzelnen Artikulation entsprechen, unterschiedliche
Längen
und nicht eine gleichmäßige Länge ergeben.
Daher hätten
auch die Zeitabschnitte, die aus einem Aufteilen der Abfolge gespielter
Töne gemäß den entsprechenden
Charakteristiken des Spielausdrucks (nämlich der Artikulation) resultieren,
auch unterschiedliche Längen.
-
Andere
Abschnitte (b), (c) und (d) von 2 zeigen
in hierarchischem Aufbau beispielhafte Arten und Weisen zum Aufteilen
der abgetasteten Abfolge gespielter Töne. Insbesondere zeigt Abschnitt
(b) von 2 eine exemplarische Art und
Weise, in der die Abfolge gespielter Töne in relativ große Artikulationsblöcke aufgeteilt
wird, die hiernach als "große Artikulationseinheiten" bezeichnet werden
und zur Verdeutlichung in der Figur durch die Bezugszeichen AL#1,
AL#2, AL#3 und AL#4 bezeichnet sind. Diese großen Artikulationseinheiten
können
durch Aufteilen der Abfolge gespielter Töne für jede Gruppe von Phrasierungsuntereinheiten
erhalten werden, die sich im allgemeinen Spielausdruck ähneln. Außerdem zeigt
der Abschnitt (c) von 2 eine beispielhafte Art und
Weise, in der jede der großen
Artikulationseinheiten (Einheit AL#3 in dem gezeigten Beispiel)
in Artikulationszwischeneinheiten aufgeteilt werden, die zur Verdeutlichung
in der Figur durch die Bezugszeichen AM#1 und AM#2 bezeichnet sind. Diese
Artikulationszwischeneinheiten können
durch ein grobes Aufteilen der großen Artikulationseinheit für jeden
der Töne
erhalten werden. Außerdem
zeigt der Abschnitt (d) von 2 eine
beispielhafte Art und Weise, in der jede der Artikulationszwischeneinheiten (Einheiten
AM#1 und AM#2 im gezeigten Beispiel) in kleinste Artikulationseinheiten
aufgeteilt werden, die zur Verdeutlichung in der Figur durch die
Bezugszeichen AS#1 bis AS#8 bezeichnet sind. Diese kleinsten Artikulationseinheiten
AS#1 bis AS#8 entsprechen verschiedenen Teilen des selben Tons,
die einen unterschiedlichen Spielausdruck haben, die typischerweise
aus dem Einschwingteil, dem Körperteil
(d. h. dem relativ stabilen Teil, der stabile Charakteristiken aufweist),
dem Ausklingteil des Tons und einer Verbindung oder einem Übergang
zwischen diesem Ton und einem benachbarten Ton bestehen.
-
Im
gezeigten Beispiel entsprechen die kleinsten Artikulationseinheiten
AS#1, AS#2 und AS#3 dem Einschwingteil und dem ersten bzw. dem zweiten
Körperteil
eines Tons (eines Vorangehenden von zwei mit einer Bindung verbundenen
Tönen), welche
die Artikulationszwischeneinheit AM#1 bilden, und die kleinsten
Artikulationseinheiten AS#5, AS#6, AS#7 und AS#8 entsprechen dem
ersten, dem zweiten und dem dritten Körperteil bzw. dem Ausklingteil
eines Tons (einem Folgenden von zwei mit einer Bindung verbundenen
Tönen),
welche die Artikulationszwischeneinheit AM#2 bilden. Der Grund, aus
dem ein einziger Ton mehrere Körperteile
hat, wie zum Beispiel einen ersten und einen zweiten Körperteil,
besteht darin, dass sogar der selbe Ton eine unterschiedliche Artikulation,
z. B. unterschiedliche Vibrato-Geschwindigkeiten aufweist, die mehrere Körperteile
ergeben. Die kleinste Artikulationseinheit AS#4 entspricht einem Verbindungsbereich,
der durch die Bindung zwischen nebeneinander liegenden Tönen vorgesehen
ist, und er kann aus einer der beiden kleinsten Artikulationseinheiten
AS#1 und AS#2 extrahiert werden (entweder aus einem Endteil der
Einheit AS#1 oder aus einem Startteil der Einheit AS#2), indem die
eine Einheit entsprechend aus der anderen geschnitten wird. Alternativ
dazu kann die kleinste Artikulationseinheit AS#4, welche der Verbindung
durch den Bindebogen zwischen den Tönen entspricht, als eine unabhängige Artikulationszwischeneinheit
vom ersten Anfang extrahiert werden, wobei in diesem Fall die große Artikulationseinheit AL#3
in drei Artikulationszwischeneinheiten aufgeteilt wird und die mittlerer
Artikulationszwischeneinheit von diesen, d. h. eine Verbindung zwischen
den beiden anderen Einheiten, als die kleinste Artikulationseinheit
AS#4 gesetzt wird. In einem solchen Fall, bei dem die kleinste Artikulationseinheit
AS#4, die der Verbindung durch den Bindebogen zwischen den Tönen entspricht,
als eine unabhängige
Artikulationszwischeneinheit von Anfang an extrahiert wird, kann sie
auch zwischen anderen Tönen
angewendet werden, die durch einen Bindebogen zu verbinden sind.
-
Die
kleinsten Artikulationseinheiten AS#1 bis AS#8, die in Abschnitt
(d) von 2 gezeigt sind, entsprechen
den mehreren bei Schritt S2 vorgesehen Zeitabschnitten. In der folgenden
Beschreibung werden diese kleinsten Artikulationseinheiten auch als "Artikulationselemente" oder in manchen
Fällen einfach
als "Elemente" bezeichnet. Die
Art und Weise des Vorsehens der kleinsten Artikulationseinheiten ist
nicht notwendigerweise auf die im oben beschriebenen Beispiel Angewendete
eingeschränkt,
und die kleinsten Artikulationseinheiten, d. h. Artikulationselemente,
entsprechen nicht notwendigerweise nur den Teilen oder Elementen
eines Tons.
-
Beim
nächsten
Schritt S3 von 1 werden Wellenformdaten eines
jeden der aufgeteilten Zeitabschnitte (der kleinsten Artikulationseinheiten
AS#1 bis AS#8, nämlich
der Artikulationselemente) in Bezug auf mehrere vorbestimmte Tonfaktoren
analysiert, um so Daten zu generieren, die entsprechende Charakteristiken
der einzelnen Tonfaktoren repräsentieren.
Unter den vorbestimmten Tonfaktoren, die hier zu beachten sind,
sind zum Beispiel Wellenform (Timbre oder Klangfarbe), Amplitude
(Tonlautstärke), Tonhöhe und Zeit
zu nennen. Diese Tonfaktoren sind nicht nur Komponenten (Artikulationselemente)
der Wellenformdaten im Zeitabschnitt, sondern auch Komponenten der
Artikulation (Artikulationselemente) im Zeitabschnitt.
-
Dann
werden beim folgenden Schritt S4 die entsprechende Charakteristiken
der einzelnen Tonfaktoren repräsentierenden
Daten, die auf diese Weise für
jeden der Zeitabschnitte generiert wurden, in der Datenbank abgelegt,
was es den auf diese Weise abgelegten Daten ermöglicht, in der folgenden Tonsyntheseverarbeitung
als Schablonendaten verwendet zu werden, wie unten noch vollständiger beschrieben
wird.
-
Die
folgenden Absätze
beschreiben eine beispielhafte Art und Weise, in der die Wellenformdaten eines
jeder der aufgeteilten Zeitabschnitte bezüglich der vorbestimmten Tonfaktoren
analysiert werden, und 3 zeigt Beispiele der Daten,
welche die entsprechenden Charakteristiken der einzelnen Tonfaktoren
repräsentieren
(Schablonendaten). In Abschnitt (e) von 2 sind
ebenfalls die verschiedenen Typen der Tonfaktoren gezeigt, die aus
einer einzigen kleinsten Artikulationseinheit analysiert wurden.
- (1) Für
den Wellenformfaktor (Klangfarbe) werden die ursprünglichen
PCM-Wellenformdaten
im betreffenden Zeitabschnitt (Artikulationselement) unverändert extrahiert
und dann als eine Wellenformschablone, die hiernach mit dem Etikett "Timbre" bezeichnet wird,
abgelegt.
- (2) Für
den Amplitudenfaktor (Tonlautstärke),
wird eine Lautstärkenhüllkurve
(Lautstärken-Amplitudenvariation über die
Zeit) der ursprünglichen PCM-Wellenformdaten im
betreffenden Zeitabschnitt (Artikulationselement) extrahiert, um
die Amplitudenhüllkurvendaten
zu liefern, und die Amplitudenhüllkurvendaten
werden dann in der Datenbank als eine Amplitudenschablone gespeichert,
die hiernach mit einem Etikett "Amp" bezeichnet wird,
das als Abkürzung
für den
Begriff "Amplitude" dient.
- (3) Für
den Tonhöhenfaktor
wird eine Tonhöhenhüllkurve
(Tonhöhenvariation über die
Zeit) der ursprünglichen
PCM-Wellenformdaten im betreffenden Zeitabschnitt (Artikulationselement)
extrahiert, um Tonhöhenhüllkurvendaten
vorzusehen, und die Tonhöhenhüllkurvendaten
werden dann in der Datenbank als eine Tonhöhenschablone gespeichert, die
hiernach mit dem Etikett "Pitch" bezeichnet wird.
- (4) Für
den Zeitfaktor wird die Zeitlänge
der ursprünglichen
PCM-Wellenformdaten
im betreffenden Zeitabschnitt (Artikulationselement) direkt verwendet.
In einer solchen Situation, wo die Zeitlänge (die einen variablen Wert
annimmt) der ursprünglichen
PCM-Wellenformdaten im betreffenden Zeitabschnitt (Artikulationselement)
durch einen Wert "1" repräsentiert
wird, gibt es keinen bestimmten Bedarf, die Zeitlänge während der
Erstellung der Datenbank zu messen. Da außerdem die Daten über den
Zeitfaktor, nämlich
die Zeitschablone (TSC-Schablone)
für alle
Zeitabschnitte (Artikulationselemente) einen gleichen Wert "1" repräsentieren, besteht kein bestimmter
Bedarf, sie in der Datenbank zu speichern. Diese Anordnung ist jedoch
natürlich
nur ein Beispiel, und es ist selbstverständlich eine Modifikation möglich, bei
der die tatsächliche
Zeitlänge
gemessen wird und als Zeitschablonendaten in der Datenbank abgelegt
wird.
-
Als
eine Möglichkeit
zum variablen Steuern der ursprünglichen
Zeitlänge
der Wellenformdaten hat der Rechtsnachfolger der vorliegenden Anmeldung
schon ein mit "Time
Stretch and Compress" (abgekürzt "TSC") bezeichnetes Steuerverfahren vorgeschlagen,
das zum Strecken und Komprimieren von Wellenformdaten in der Zeitachsenrichtung
gedacht ist, ohne dass dadurch die Tonhöhe der Wellenformdaten beeinflusst
wird, veröffentlicht
als europäische
Patentanmeldung EP-A-856 830. Die bevorzugte Ausführungsform
der vorliegenden Erfindung verwendet ein solches "Time Stretch and
Compress" – Steuerungsverfahren,
und das Etikett "TSC", das den oben erwähnten Zeitfaktor
repräsentiert,
ist eine Abkürzung
für "Time Stretch and
Compress". Bei der Tonsyntheseverarbeitung
kann die Zeitlänge
eines reproduzierten Wellenformsignals dadurch variabel gesteuert
werden, dass der TSC-Wert auf einen entsprechenden variablen Wert
und nicht fest auf "1" gesetzt wird. In
diesem Fall kann der TSC-Wert als ein zeitvariierender Wert (z.
B. eine Zeitfunktion, wie zum Beispiel eine Hüllkurve) gegeben werden. Hier
ist zu bemerken, dass diese TSC-Steuerung zum Beispiel zum freien
und variablen Steuern der Zeitlänge
eines bestimmten Teils der ursprünglichen
Wellenform sehr hilfreich sein kann, für die ein bestimmter Wiedergabestil,
wie zum Beispiel ein Vibrato oder ein Bindebogen verwendet wurde.
-
Gemäß der vorliegenden
Ausführungsform werden
die oben genannten Operationen auf verschiedenen natürlichen
akustischen Musikinstrumenten bezüglich vielfältiger Wiedergabestile, d.
h. bezüglich
verschiedenster Musikphrasen ausgeführt, so dass für jedes
der natürlichen
akustischen Musikinstrumente Schablonen für eine Anzahl von Artikulationselementen
bezüglich
eines jeden der Tonfaktoren erstellt werden. Die auf diese Weise
erstellten Schablonen werden in der Datenbank gespeichert. Die oben
beschriebenen Abtast- und Artikulations-Analyseoperationen können an verschiedenen in der
Umwelt vorkommenden Geräuschen
durchgeführt
werden, wie zum Beispiel menschliche Stimmen und Donner, sowie an
durch natürliche
akustische Musikinstrumente produzierten Tönen, und eine Vielzahl von
Schablonendaten, die als Ergebnis dieser Operationen für jeden
der Tonfaktoren geliefert werden, können in der Datenbank gespeichert
werden. Es sollte offensichtlich sein, dass die zu Abtastzwecken
live gespielte Phrase nicht auf diejenige eingeschränkt ist,
die aus ein paar Takten besteht, wie bei dem obigen Beispiel, sondern
sie kann eine kürzere Phrase
sein, die nur aus einer einzigen Phrasierungsuntereinheit besteht,
wie in Abschnitt (b) von 2 gezeigt,
oder sie kann ein ganzes Musikstück sein.
-
4 zeigt
eine beispielhafte Organisation der Datenbank DB, bei der diese
grob in einen Schablonen-Datenbankabschnitt TDB und einen Artikulations-Datenbankabschnitt
ADB aufgeteilt ist. Als Hardware für die Datenbank DB kann ein
Lese/Schreibspeichermedium, wie zum Beispiel eine Festplattenvorrichtung
oder eine magneto-optische Plattenvorrichtung (vorzugsweise mit
einer großen Kapazität) verwendet
werden, wie das auf diesem Gebiet wohl bekannt ist.
-
Der
Schablonen-Datenbankabschnitt TDB ist zum Speichern einer Anzahl
von Schablonendaten vorgesehen, die in der oben beschriebenen Art und
Weise entstanden sind. Es brauchen nicht alle in den Schablonen-Datenbankabschnitt
TDB zu speichernden Schablonendaten auf der Abtastung und Analyse
gespielter Töne
oder natürlicher
Geräusche zu
basieren, wie oben erwähnt
ist. Das Entscheidende hier ist, dass diese Schablonendaten als
vorgefertigte Daten im Voraus angeordnet werden; in diesem Sinn
können
all diese Schablonendaten gegebenenfalls auch durch entsprechende
Dateneditieroperationen künstlich
geschaffen werden. Weil zum Beispiel die TSC-Schablonen, die sich
auf den Zeitfaktor beziehen, in freien Variationsmustern (Hüllkurven)
erstellt werden können,
wenn sie auch normalerweise den Wert "1" haben,
solange sie auf der Abtastung gespielter Töne basieren, können selbstverständlich eine
Vielzahl von TSC-Werten oder Hüllkurvenwellenformen,
welche Zeitvariationen der TSC-Werte repräsentieren, als TSC-Schablonendaten
hergestellt werden, die dann in der Datenbank gespeichert werden.
Außerdem
sind die Typen der im Schablonen-Datenbankabschnitt TDB zu speichernden Schablonendaten
nicht notwendigerweise auf diejenigen eingeschränkt, die sich auf die Tonfaktoren
der ursprünglichen
Wellenform beziehen, sondern sie können auch andere Typen von
Tonfaktoren einschließen,
um eine größere Bequemlichkeit
bei der nachfolgenden Tonsyntheseverarbeitung zu bieten. Zum Beispiel
können
zur Durchführung
einer Klangfarbensteuerung unter der Verwendung eines Filters während der
Tonsyntheseverarbeitung eine Anzahl von Sätzen von Filterkoeffizienten
(einschließlich Sätzen zeitvariierender
Filterkoeffizienten) hergestellt und im Schablonen-Datenbankabschnitt
TDB gespeichert werden. Es sollte offensichtlich sein, dass diese
Filterkoeffizientensätze
entweder auf der Grundlage einer Analyse der ursprünglichen
Wellenform oder mit beliebigen anderen geeigneten Mitteln hergestellt
werden können.
-
Alle
in der Datenbank TDB gespeicherten Schablonendaten sind eine direkte
Beschreibung des Inhalts der Daten, wie beispielhaft in 3 gezeigt.
Zum Beispiel repräsentiert
die Wellenformschablone (Timbre) die PCM-Wellenformdaten selbst.
Die Hüllkurvenwellenform,
wie zum Beispiel eine Amplitudenhüllkurve, Tonhöhehüllkurve
und TSC-Hüllkurve,
können
durch Codieren ihrer entsprechenden Hüllkurvenformen durch das bekannte PCM-Verfahren
erhalten werden. Zum Komprimieren des Datenspeicherformats der Schablonendaten
in der Form einer Hüllkurvenwellenform
können
diese Schablonendaten im Schablonen-Datenbankabschnitt TDB als Parameterdaten
zum Erzielen einer Annäherung
in einer gestrichelten Linie ihrer entsprechenden Hüllkurvenwellenformen
gespeichert werden – wie
allgemein bekannt, umfassen alle Parameterdaten einen Datensatz,
der die Neigungsraten und Zielpegel, Zeitlängen oder dergleichen der einzelnen gestrichelten
Linien anzeigt.
-
Die
Wellenformschablone (Timbre) kann auch in einem entsprechend komprimierten
Format, das nicht aus PCM-Wellenformdaten besteht, gespeichert werden.
Die Wellenformschablonendaten (Timbre) können nämlich entweder in einem komprimierten
Codeformat, das nicht das PCM-Format ist, wie zum Beispiel als DPCM
oder ADPCM vorliegen, oder sie können
Wellenformsynthetisierungs-Parameterdaten
enthalten. Da verschiedene Typen der Wellenformsynthese auf der
Grundlage solcher Parameter bekannt sind, wie zum Beispiel die Fourier-Synthese,
FM (Frequenzmodulations)-Synthese, AM (Amplitudenmodulations)-Synthese
oder eine Synthese auf der Grundlage eines physikalischen Modelltongenerators,
können
Wellenformsynthetisierungsparameter für diese Zwecke als die Wellenformschablonendaten
(Timbre) in der Datenbank gespeichert werden. In diesem Fall wird
die Wellenformerzeugungsverarbeitung auf der Grundlage der Wellenformschablonendaten
(Timbre), d. h. den Wellenformsynthetisierungsparametern, durch
eine Wellenformsynthetisierungs-Arithmetik-Operationsvorrichtung,
ein Softwareprogramm oder dergleichen durchgeführt. In diesem Fall können mehrere
Sätze Wellenformsynthetisierungsparameter,
jeweils zum Generieren einer Wellenform einer gewünschten Form,
bezüglich
eines einzigen Artikulationselements, d. h. eines Zeitabschnitts,
vorgespeichert sein, so dass mit dem Verstreichen der Zeit innerhalb des
einzigen Artikulationselements durch Schalten des für die Wellenformsynthese
zu verwendenden Parametersatzes eine Zeitvariation der Wellenform erzielt
wird.
-
Auch
wenn die Wellenformschablone (Timbre) als PCM-Wellenformdaten gespeichert
ist und wenn das herkömmlicherweise
bekannte geschleifte Ausleseverfahren entsprechend eingesetzt werden kann,
z. B. wenn Wellenformdaten eines Teils, wie zum Beispiel eines Körperteils,
eine stabile Klangfarbenwellenform haben (und über die Zeit nicht so große Variationen
aufweisen), kann außerdem
nur ein Teil, nicht das Ganze, der Wellenform des betreffenden Zeitabschnitts
gespeichert werden. Wenn außerdem
die Schablonendaten für
unterschiedliche Zeitabschnitte oder Artikulationselemente, die
als ein Ergebnis des Abtastens und der Analyse erhalten wurden,
identisch oder einander ähnlich
sind, dann werden nur einzelne, und nicht alle, der Schablonendaten
in der Datenbank TDM gespeichert, so dass nur die so gespeicherten
Schablonendaten bei der Tonsyntheseverarbeitung gemeinsam genutzt
werden; diese Anordnung kann bei der eingeschränkten Speicherkapazität der Datenbank
TDB beträchtliche
Einsparungen bringen. In einer Implementierung kann der Schablonen-Datenbankabschnitt
TDB einen im Voraus gesetzten Bereich zum Speichern von Daten enthalten,
die durch einen Hersteller der Basis-Datenbank (z. B. der Hersteller
des elektronischen Musikinstruments) im Voraus erzeugt wurden, sowie
einen Benutzerbereich zum Speichern von Daten, die vom Benutzer
frei hinzugefügt
werden können.
-
Der
Artikulations-Datenbankabschnitt ADB enthält zum Durchführen eines
Spiels mit einem oder mehreren Artikulationsarten artikulationsbeschreibende
Daten (d. h. Daten, die ein im Wesentlichen kontinuierliches Spiel
durch eine Kombination von einem oder mehreren Artikulationselementen
beschreiben, und Daten, die die individuelle Artikulation beschreiben)
im Zusammenhang mit verschiedenen Fällen eines Spiels und Wiedergabestilen.
-
In 4 ist
ein Beispiel des Artikulations-Datenbankabschnitts für einen
vorgegebenen Instrumententon gezeigt, der mit dem Etikett "Instrument 1" versehen ist. Die
Artikulationselementsequenz AESEQ beschreibt eine Spielphrase (nämlich eine
Artikulationsspielphrase), die eines oder mehrere Artikulationsarten
enthält,
in der Form von Sequenzdaten, die eines oder mehrere Artikulationselemente
sequenziell bezeichnen. Diese Artikulationselementsequenz entspricht
zum Beispiel einer Zeitserie der kleinsten Artikulationseinheiten,
nämlich
der Artikulationselemente, die als Ergebnis der Abtastung und Analyse
erhalten wurden, wie sie im Abschnitt (d) von 2 gezeigt
sind. In der Praxis wird eine Anzahl von Artikulationselementsequenzen
AESEQ in der Datenbank gespeichert, um so verschiedene mögliche Wiedergabestile
abzudecken, die beim Spiel des Instrumententons auftreten können. Jede
der Artikulationselementsequenzen AESEQ kann eine oder mehrere der "Phrasierungsuntereinheiten" (große Artikulationseinheiten
AL#1 bis AL#4), die im Abschnitt (b) von 2 gezeigt
sind, oder eine oder mehrere der "Artikulationszwischeneinheiten AM#1
und AM#2 enthalten), wie sie im Abschnitt (c) von 2 gezeigt sind,
umfassen.
-
Der
Artikulationselementvektor AEVQ im Artikulations-Datenbankabschnitt
ADB enthält
Indizierungen auf tonfaktorspezifische Faktorschablonendaten für alle im
Schablonen-Datenbankabschnitt TDB in Beziehung auf einen Instrumententon
(Instrument 1) gespeicherte Artikulationselemente in der Form von
die einzelnen Schablonen bezeichnenden Vektordaten (z. B. in Adressdaten
zum Abrufen einer gewünschten
Schablone aus dem Schablonen-Datenbankabschnitt TDB). Wie in den
Beispielen der Abschnitte (d) und (e) von 2 zum
Beispiel zu sehen, enthält
der Artikulationselementvektor AEVQ Vektordaten, die insbesondere
vier Schablonen Timbre, Amp, Pitch und TSC für die einzelnen Tonfaktoren
(Wellenform, Amplitude, Tonhöhe
und Zeit) bezeichnen, aus denen ein partieller Ton besteht, der
einem vorgegebenen Artikulationselement AS#1 entspricht.
-
In
jeder Artikulationselementsequenz (Wiedergabestilsequenz) AESEQ
sind Indizes auf mehrere Artikulationselemente gemäß einer
vorbestimmten Spielreihenfolge beschrieben, und es kann ein Satz der
Schablonen, aus denen ein Gewünschtes
der Artikulationselemente besteht, durch Bezugnahme auf den Artikulationselementvektor
AEVQ abgerufen werden.
-
5A ist ein Diagramm, das veranschaulichend die
Artikulationselementsequenzen AESEQ#1 bis AESEQ#7 zeigt. Insbesondere
zeigt in 5A "AESEQ#1" = (ATT-Nor, BOD-Vib-nor, BOD-Vib-dep1,
BOD-Vib-dep2, REL-Nor)" an, dass die Nr.
1 der Artikulationselementsequenzen nämlich AESEQ#1 eine Sequenz
aus fünf
Artikulationselementen ist: ATT-Nor; BOD-Vib-nor; BOD-Vib-dep1; BOD-Vib-dep2;
und REL-Nor. Die Bedeutungen der Indexetiketten der einzelnen Artikulationselemente sind
die Folgenden.
-
Das
Etikett "ATT-Nor" repräsentiert
einen Wiedergabestil mit einer "normalen
Einschwingphase",
der bewirkt, dass der Einschwingteil in standardmäßiger oder
normaler Art und Weise ansteigt.
-
Das
Etikett "BOD-Vib-nor" repräsentiert
einen Wiedergabestil "Körper normales
Vibrato", der dem
Körperteil
ein normales Vibrato verleiht.
-
Das
Etikett "BOD-Vib-dep1" repräsentiert
einen Wiedergabestil "Körper Vibrato
Tiefe 1", der dem Körperteil
ein Vibrato verleiht, das um eine Stufe tiefer als das normale Vibrato
ist.
-
Das
Etikett "BOD-Vib-dep2" repräsentiert
einen Wiedergabestil "Körper Vibrato
Tiefe 2", der dem Körperteil
ein Vibrato verleiht, das zwei Stufen tiefer als das normale Vibrato
ist.
-
Das
Etikett "REL-Nor" repräsentiert
einen Wiedergabestil eines "normalen
Ausklangs", der
verursacht, dass der Ausklingteil in standardmäßiger oder normaler Art und
Weise abfällt.
-
Auf
diese Weise entspricht die Nr. 1 der Artikulationselementsequenz
AESEQ#1 einer derartigen Artikulation, dass der erzeugte Ton mit
einer normalen Einschwingphase beginnt, die von einem Körperteil
gefolgt wird, dem anfänglich
ein normales Vibrato verliehen wurde, gefolgt von einem tieferen
Vibrato und dann einem noch tieferen Vibrato, und der schließlich mit
einem Ausklingteil endet, der in standardmäßiger Weise abfällt.
-
In ähnlicher
Weise kann die Artikulation der anderen Artikulationselementsequenzen
AESEQ#2 bis AESEQ#6 aus den Etiketten ihrer Komponenten-Artikulationselemente
von 5A verstanden werden. Zum leichteren
Verständnis
sind jedoch unten die Bedeutungen der Indexetiketten einiger anderer
Artikulationselemente angegeben.
-
Das
Etikett "BOD-Vib-spd1" repräsentiert
einen Wiedergabestil "Körper Vibrato
Geschwindigkeit 1",
der dem Körperteil
ein Vibrato verleiht, das um eine Stufe schneller als das normale
Vibrato ist.
-
Das
Etikett "BOD-Vib-spd2" repräsentiert
einen Wiedergabestil "Körper Vibrato
Geschwindigkeit 2",
das dem Körperteil
ein Vibrato verleiht, das um zwei Stufen schneller als das normale
Vibrato ist.
-
Das
Etikett "BOD-Vib-d&s1" repräsentiert
einen Wiedergabestil "Körper Vibrato
Tiefe & Geschwindigkeit
1", der die Tiefe
und die Geschwindigkeit eines Vibratos, das den Körperteil
zu verleihen ist, gegenüber
ihren entsprechenden Normalwerten um eine Stufe erhöht.
-
Das
Etikett "BOD-Vib-bri" repräsentiert
einen Wiedergabestil "Körper Vibrato
brillant", der dem
Körperteil
ein Vibrato verleiht und die Klangfarbe aufhellt.
-
Das
Etikett "BOD-Vib-mld1" repräsentiert
einen Wiedergabestil "Körper Vibrato
sanft 1", der den Körperteil
ein Vibrato verleiht und die Klangfarbe etwas sanfter gestaltet.
-
Das
Etikett "BOD-Cre-nor" repräsentiert
einen Wiedergabestil "Körper Crescendo", der dem Körperteil
ein normales Crescendo verleiht.
-
Das
Etikett "BOD-Cre-vol1" repräsentiert
einen Wiedergabestil "Körper Crescendo
Lautstärke 1", der die Lautstärke eines
Crescendos, das dem Körperteil
zu verleihen ist, um eine Stufe erhöht.
-
Das
Etikett "ATT-Bup-nor" repräsentiert
einen Wiedergabestil "Einschwingen
Aufwärtsbeugung normal", der die Tonhöhe des Einschwingteils
mit normaler Tiefe und Geschwindigkeit nach oben beugt.
-
Das
Etikett "REL-Bdw-nor" repräsentiert
einen Wiedergabestil "Ausklang
Abwärtsbeugung
normal", der die
Tonhöhe
des Ausklingteils mit einer normalen Tiefe und Geschwindigkeit abwärts beugt.
-
Auf
diese Weise entspricht die Nummer 2 der Artikulationselementsequenzen
AESEQ#2 einer derartigen Artikulation, bei der der erzeugte Ton
mit einer normalen Einschwingphase beginnt, gefolgt von einem Körperteil
mit einem normalen Vibrato, worauf als Nächstes ein etwas schnelleres
Vibrato und dann ein noch schnelleres Vibrato kommt, und der schließlich mit
einem Ausklingteil endet, der in standardmäßiger Weise abfällt.
-
Die
Nummer 3 der Artikulationselementsequenzen AESEQ#3 entspricht einem
Artikulationstyp "Wiedergabestil" zum Verleihen eines
Vibratos, das fortschreitend tiefer und schneller wird. Die Nr.
4 der Artikulationselementsequenzen AESEQ#4 entspricht einem Artikulationstyp
(Wiedergabestil) zum Variieren der Tonqualität (Klangfarbe) einer Wellenform während eines
Vibratos. Die Nr. 5 der Artikulationselementsequenzen AESEQ#5 entspricht
einem Artikulationstyp (Wiedergabestil) zum Verleihen eines Crescendos.
Die Nr. 6 der Artikulationselementsequenzen AESEQ#6 entspricht einem
Artikulationstyp (Wiedergabestil), bei dem sich die Tonhöhe des Einschwingteils
nach oben beugen lässt
(allmählich
höher wird).
Die Nr. 7 der Artikulationselementsequenzen AESEQ#7 entspricht einem
Artikulationstyp (Wiedergabestil), bei dem man der Tonhöhe des Einschwingteils
erlaubt, sich nach unten zu beugen (allmählich tiefer zu werden).
-
Verschiedene
andere Artikulationselementsequenzen (Wiedergabestilsequenzen) als
die oben Erwähnten
sind im Artikulations-Datenbankabschnitt ADB
gespeichert, auch wenn sie in 5A nicht
spezifisch gezeigt sind.
-
5B ist ein Diagramm, das beispielhafte Organisationen
der Artikulationselementvektoren AEVQ zeigt, die sich auf manche
Artikulationselemente beziehen. Insbesondere bezeichnen in 5B Vektordaten jeweils in einem Klammernpaar den
einzelnen Tonfaktoren entsprechende Schablonen. In allen Vektordaten
repräsentiert
das führende Etikett
einen spezifischen Typ der Schablone; das bedeutet, das Etikett "Timb" zeigt eine Wellenformschablone
(Timbre) an, das Etikett "Amp" eine Amplitudenschablone
(Amp), das Etikett "Pit" eine Tonhöhenschablone
(Pitch), das Etikett "TSC" eine Zeitschablone
(TSC).
-
Zum
Beispiel zeigen die Daten "ATT-Nor
= (Timb-A-nor, Amp-A-nor, Pit-A-nor, TSC-A-nor)" an, dass das Artikulationselement "ATT-Nor", das einen Wiedergabestil "normale Einschwingphase" repräsentiert,
einer Wellenformsynthese unter der Verwendung von insgesamt vier
Schablonen unterzogen wird: "Timb-A-nor" (Wellenformschablone
mit einem normalen Einschwingteil); "Amp-A-nor" (Amplitudenschablone mit einem normalen
Einschwingteil); "Pit-A-nor" (Tonhöhenschablone
mit einem normalen Einschwingteil); und "TSC-A-nor" (TSC-Schablone mit einem normalen Einschwingteil).
-
Um
ein weiteres Beispiel zu geben, wird das Artikulationselement "BOD-Vib-dep1", das einen Wiedergabestil "Körper Vibrato Tiefe 1" repräsentiert, einer
Wellenformsynthese unter der Verwendung von insgesamt vier Schablonen
unterzogen: "Timb-B-vib" (Wellenformschablone,
um dem Körperteil
ein Vibrato zu verleihen); "Amp-B-dp3" (Amplitudenschablone,
um dem Körperteil
ein Vibrato der Tiefe 3 zu verleihen); "Pit-B-dp3" (Tonhöhenschablone, um dem Körperteil
ein Vibrato der Tiefe 3 zu verleihen); und "TSC-B-vib" (TSC-Schablone, um dem Körperteil
ein Vibrato zu verleihen).
-
Um
noch ein weiteres Beispiel zu geben, wird das Artikulationselement "REL-Bdw-nor", das einen Wiedergabestil "Ausklang Abwärtsbeugung
normal" repräsentiert,
einer Wellenformsynthese unter der Verwendung von insgesamt vier
Schablonen unterzogen: "Timb-R-bd" (Wellenformschablone
zum Abwärtsbeugen
des Ausklangteils); "Amp-R-bdw" (Amplitudenschablone
zum Abwärtsbeugen
des Ausklangteils); "Pit-R-bdw" (Tonhöhenschablone
zum Abwärtsbeugen
des Ausklangteils); und "TSC-R-bdw" (TSC-Schablone zum
Abwärtsbeugen des
Ausklangteils).
-
Um
ein Editieren der Artikulation zu ermöglichen, ist es vorzuziehen,
die Attributinformation ATR, die entsprechende Charakteristiken
der einzelnen Artikulationselementsequenzen angeben, im Zusammenhang
mit den Artikulationselementsequenzen AESEQ im Voraus zu speichern.
In ähnlicher
Weise ist es vorzuziehen, die Attributinformation ATR, die entsprechende
Charakteristiken der einzelnen Artikulationselementsequenzen angibt,
im Zusammenhang mit den Artikulationselementvektoren AEVQ im Voraus
zu speichern. Kurz gesagt, beschreibt diese Attributinformation
ATR die entsprechenden Charakteristiken der einzelnen Artikulationselemente,
d. h. der kleinsten Artikulationseinheiten, wie sie im Abschnitt
(d) von 2 gezeigt sind. 6 zeigt
beispielhafte Charakteristiken mehrerer einschwingteilbezogener
Artikulationselemente; insbesondere sind Etiketten oder Indizes
der Artikulationselemente und des Inhalts der Attributinformation
ATR der Artikulationselemente sowie Vektordaten gezeigt, die tonfaktorspezifische
Schablonen bezeichnen.
-
Gemäß dem in 6 gezeigten
Beispiel wird die Attributinformation ATR auch in hierarchischer Weise
organisiert und verwaltet. So wird nämlich allen einschwingteilbezogenen
Artikulationselementen die gemeinsame Attributinformation "Einschwingphase" gegeben, und es
wird jedem der Artikulationselemente, das standardmäßig bzw.
normal ist, die Attributinformation "normal" verliehen. Die weitere Attributinformation "Aufwärtsbeugung" wird jedem Artikulationselement
verliehen, auf das der Wiedergabestil einer Aufwärtsbeugung angewendet wird,
während jedem
Artikulationselement, auf das ein Wiedergabestil einer Abwärtsbeugung
angewendet wird, die Attributinformation "Abwärtsbeugung" hinzugefügt wird.
Außerdem
wird Artikulationselementen, auf die der Wiedergabestil einer Aufwärtsbeugung
angewendet wurde, die Attributinformation "normal" jeweils dann hinzugefügt, wenn
sie in ihrer Art normal sind, und die Attributinformation "geringe Tiefe" wird jedem dann
hinzugefügt,
wenn es eine geringere als eine normale Tiefe hat, während die
Attributinformation "große Tiefe" all jenen hinzugefügt wird,
die eine größere als
die normale Tiefe aufweisen. Außerdem wird
den Artikulationselementen, auf die der Wiedergabestil der Aufwärtsbeugung
angewendet wird, die Attributinformation "geringe Geschwindigkeit" jeweils dann hinzugefügt, wenn
sie eine geringere als die normale Geschwindigkeit haben, während die
Attributinformation "hohe
Geschwindigkeit" all
jenen hinzugefügt
wird, die eine größere als
die normale Geschwindigkeit aufweisen. Auch wenn das hier nicht spezifisch
gezeigt ist, wird eine ähnliche
unterteilte Attributinformation den Artikulationselementen hinzugefügt, auf
die ein Wiedergabestil einer Abwärtsbeugung
angewendet wird.
-
In 6 ist
auch gezeigt, dass die selbe Schablone manchmal von unterschiedlichen
Artikulationselementen gemeinsam genutzt wird. Im gezeigten Beispiel
von 6 bezeichnen Vektordaten der vier im Abschnitt "Index" angegebenen Schablonen (in
anderen Worten: Schablonenindizes) Schablonen zum Erzeugen eines
dem Artikulationselement entsprechenden partiellen Tons. Die Markierung "=", die einigen der Artikulationselemente,
die ein Aufwärtsbeugungs-Attribut besitzen,
angefügt
wurde, zeigt an, dass dieselbe Schablone wie für den normalen Wiedergabestil
im entsprechenden Wiedergabestil zu verwenden ist. Zum Beispiel
wird die Wellenformschablone (Timbre) für den normalen Aufwärtsbeugungs-Wiedergabestil
(Timb-A-bup) als die Wellenformenschablonen für alle anderen Aufwärtsbeugungs-Wiedergabestile
verwendet. In ähnlicher
Weise wird die Amplitudenschablone (Amp) für den normalen Aufwärtsbeugungs-Wiedergabestil (Amp-A-bup)
als die Amplitudenschablonen für
alle anderen Aufwärtsbeugungs-Wiedergabestile verwendet.
Dies deshalb, weil die selbe Wellenform- bzw. Amplitudenhüllkurve
auch ganz einfach verwendet werden kann, ohne dass sie die Tonqualität beeinflusst,
auch wenn es eine geringfügige
Variation des Aufwärtsbeugungs-Wiedergabestils
gibt. Im Gegensatz dazu muss je nach den unterschiedlichen Tiefen
eine unterschiedliche Tonhöhe
(Schablonen) im Aufwärtsbeugungs-Wiedergabestil
eingesetzt werden. Für
das Artikulationselement ATT-Bup-dp1 mit dem Attribut "geringe Tiefe" werden zum Beispiel Vektordaten
Pit- A-dp1 zum Bezeichnen
einer Tonhöhen-Hüllkurvenschablone
verwendet, die einer kleinen Aufwärtsbeugungs-Charakteristik
entspricht.
-
Eine
gemeinsame Nutzung der Schablonendaten in der oben erwähnten Art
und Weise kann Einsparungen bei der eingeschränkten Speicherkapazität des Schablonen-Datenbankabschnitts
TDB wirksam ermöglichen.
Außerdem
kann sich dadurch der Bedarf zum Aufzeichnen eines Live-Spiels für jeden möglichen
Wiedergabestil erübrigen.
-
Aus 6 ist
zu ersehen, dass die Geschwindigkeit der Aufwärtsbeugungs-Wiedergabestile durch die Verwendung
einer anderen Zeitschablone (TSC) einstellbar ist. Die Tonhöhen-Beugungsgeschwindigkeit
entspricht einer Zeit, welche die Tonhöhe zur Bewegung von einem vorbestimmten
Anfangswert zu einem Zielwert benötigt, und daher können, solange
die ursprünglichen
Wellenformdaten eine vorbestimmte Tonhöhenbeugecharakteristik haben,
bei der die Tonhöhe
von einem vorbestimmten Anfangswert innerhalb eines spezifischen
Zeitraums zu einem Zielwert gebeugt wird, die Wellenformdaten durch
variables Steuern der Zeitlänge
der ursprünglichen
Wellenformdaten durch das TSC-Steuerverfahren eingestellt werden.
Eine solche variable Steuerung der Wellenformzeitlänge unter
der Verwendung einer Zeitschablone (TSC) kann in geeigneter Weise zum
Einstellen von Geschwindigkeiten der verschiedenen Wiedergabestile,
wie zum Beispiel die Tonanstiegsgeschwindigkeit und die Geschwindigkeiten
eines Bindebogens und eines Vibratos verwendet werden. Auch wenn
eine Tonhöhenvariation
in einem Bindebogen durch eine Tonhöhenschablone (Pitch) vorgesehen
werden kann, ist es vorzuziehen, die TSC-Steuerung unter der Verwendung
einer Zeitschablone (TSC) durchzuführen, weil die TSC-Steuerung
einen natürlicheren
Bindebogen erzielt.
-
Es
sollte offensichtlich sein, dass jeder der Artikulationselementvektoren
AEVQ im Artikulations-Datenbankabschnitt ADB durch die Attributinformation
ATR sowie durch den Artikulationselementindex adressierbar ist.
Daher kann durch das Durchführen
einer Suche durch den Artikulations-Datenbankabschnitt ADB unter
der Verwendung der gewünschten
Attributinformation ATR als ein Schlüsselwort ein Artikulationselement
herausgefunden werden, dessen Attribut dem Schlüsselwort entspricht, was die
vom Benutzer vorgenommenen Dateneditieroperationen beträchtlich
vereinfachen würde.
Eine solche Attributinformation ATR kann an die Artikulationselementsequenz
AESEQ angehängt
werden. Durch das Durchführen
einer solchen Suche durch den Artikulations-Datenbankabschnitt ADB
unter der Verwendung der gewünschten
Attributsinformation ATR als ein Schlüsselwort ist es möglich, eine
beliebige Artikulationselementsequenz AESEQ herauszufinden, die
ein Artikulationselement enthält,
dessen Attribut dem Schlüsselwort
entspricht.
-
Es
sollte offensichtlich sein, dass der Artikulationselementindex zum
Adressieren eines gewünschten
Artikulationselementsvektors AEVQ im Artikulations-Datenbankabschnitt
ADB automatisch durch ein Auslesen der Artikulationselementsequenz AESEQ
gegeben wird; es kann jedoch eine Anordnung vorgenommen werden,
bei der zu dem Zweck des Editierens oder einer freien Echtzeittonproduktion
ein gewünschter
Artikulationselementsindex getrennt eingegeben wird.
-
Im
Artikulations-Datenbankabschnitt ADB gibt es auch einen Benutzerbereich
zum Speichern von optional vom Benutzer erzeugten Artikulationselementsequenzen.
Vom Benutzer optional erzeugte Artikulationselementvektordaten können ebenfalls
im Benutzerbereich gespeichert werden.
-
Der
Artikulations-Datenbankabschnitt ADB enthält auch partielle Vektoren
PVQ als Vektordaten einer niedrigeren Ebene für die Artikulationselementvektoren
AEVQ. Wo die durch einen derartigen Artikulationselementvektoren
AEVQ bezeichneten Schablonendaten als Daten von nur einigen und
nicht allen Zeitabschnitten des entsprechenden Artikulationselements
gespeichert werden, werden diese partiellen Schablonendaten in geschleifter
Art und Weise repetitiv ausgelesen, um die Daten des gesamten Zeitabschnitts
des Artikulationselements zu reproduzieren. Die für ein solches
geschleiftes Auslesen nötigen
Daten werden als der partielle Vektor PVQ gespeichert. In diesem
Fall sind die einen der partiellen Vektoren PVQ bezeichnenden Daten
zusammen mit den Schablonendaten im Artikulationselementvektor AEVQ
enthalten, so dass die Daten des partiellen Vektors PVQ gemäß den den
partiellen Vektor bezeichnenden Daten ausgelesen werden und ihr
geschleiftes Auslesen durch die Daten des partiellen Vektors PVQ
gesteuert werden. Zu diesem Zweck enthält jeder der partiellen Vektoren
PVQ Schleif- Anfangs-
und Schleif-Endadressen, die zum Steuern des geschleiften Auslesens
notwendig sind.
-
Im
Artikulations-Datenbankabschnitt ADB sind auch Regeldaten RULE gespeichert,
die für
verschiedene während
der Tonsyntheseverarbeitung anzuwendende Regeln beschreibend sind,
um Wellenformdaten von Artikulationselementen, die zeitlich nebeneinander
liegen, zusammenzufügen.
Zum Beispiel sind verschiedene Regeln, zum Beispiel darüber, wie
eine Wellenform-Überblendungs-Interpolation
für eine
glatte Wellenformverbindung zwischen beieinander liegenden Artikulationselementen
durchzuführen
ist, ob eine solche Wellenformverbindung direkt ohne die Überblendungs-Interpolation
durchzuführen
ist, und darüber,
welches Überblendungsverfahren
für die
Wellenform-Überblendungs-Interpolation
zu verwenden ist, in Zuordnung zu den einzelnen Sequenzen oder einzelnen
Artikulationselementen innerhalb der Sequenzen gespeichert. Diese Verbindungsregeln
können
auch vom Benutzer einer Dateneditierung unterzogen werden.
-
Der
Artikulations-Datenbankabschnitt ADB enthält nämlich verschiedene Artikulationsdatenbankbereiche,
die eine Organisation aufweisen, wie sie oben zur Veranschaulichung
beschrieben ist, für jedes
von verschiedenen Musikinstrumenten (d. h. Klangfarben natürlicher
akustischer Musikinstrumente), für
jede von verschiedenen menschlichen Stimmen (Mädchen- und Jungenstimmen, Bariton,
Sopran usw.), für
jeden von verschiedenen natürlichen Geräuschen (Donner,
Wellengeräusch
usw.).
-
Beschreibung der Tonsynthese
-
7 ist
ein Fließdiagramm,
das eine Abfolge von Operationen zum Synthetisieren eines Tons durch
die Verwendung der in der oben beschriebenen Weise organisierten
Datenbank DB gliedert.
-
Zuerst
wird beim Schritt S11 eine gewünschte
Wiedergabestilsequenz bezeichnet, die einem Tonspiel entspricht,
das aus einer Spielphrase bestehen kann, die aus mehreren Tönen oder
einem einzigen Ton besteht. Die Wiedergabestilsequenzbezeichnung
kann durch selektives Spezifizieren einer Artikulationselementsequenz
AESEQ oder URSEQ eines gewünschten
Instrumententons (oder der menschlichen Stimme oder eines natürlichen
Geräuschs)
aus denjenigen, die im Artikulations-Datenbankabschnitt ADB gespeichert
sind, implementiert werden.
-
In
manchen Implementierungen können
die Wiedergabestilsequenz bezeichnende Daten auf der Grundlage einer
Echtzeit-Spieloperation durch den Benutzer oder Spieler oder auf
der Grundlage automatischer Spieldaten erstellt werden. Im ersteren
Fall können
zum Beispiel unterschiedliche Wiedergabestilsequenzen Tasten auf
der Tastatur oder anderen Spieloperatoren zugeordnet werden, so
dass die Aktivierung eines der Operatoren durch den Spieler die
die Wiedergabesequenz bezeichnenden Daten, die dem Operator zugeordnet
sind, erzeugen können.
Im letzteren Fall kann eine Möglichkeit
darin bestehen, dass die einzelnen die Wiedergabestilsequenz bezeichnenden
Daten als Ereignisdaten in automatische Spielsequenzdaten im MIDI-Format,
die einem gewünschten
Musikstück
entsprechen, integriert sind, so dass sie an entsprechenden Ereignisreproduktionspunkten
während
der Reproduktion des automatischen Spiels ausgelesen werden, wie das
veranschaulichend in 8A gezeigt ist. In den 8A und 8B repräsentiert "DUR" Dauerdaten, die
einen Zeitraum bis zu einem nächsten
Ereignis angeben, "Event" repräsentiert
Ereignisdaten, "MIDI" zeigt an, dass die
den entsprechenden Ereignisdaten zugeordneten Spieldaten im MIDI-Format sind,
und "AESEQ" zeigt an, dass die
den entsprechenden Ereignisdaten zugeordneten Spieldaten eine Wiedergabestilsequenz
bezeichnende Daten sind. In diesem Fall ist es möglich, ein Ensemble-Spiel eines
automatischen Spiels auf der Grundlage der automatischen Spieldaten
im MIDI-Format und eines automatischen Spiels auf der Grundlage
der Wiedergabestilsequenz gemäß den Prinzipien
der vorliegenden Erfindung auszuführen. Dann kann das Hauptsolo
oder der Part des Melodieinstruments durch die Wiedergabestilsequenz,
d. h. die Artikulationselementsynthese, gemäß der vorliegenden Erfindung
gespielt werden, während
der Part des anderen Instruments durch ein automatisches Spiel auf
der Grundlage der MIDI-Daten gespielt wird.
-
Als
eine andere Möglichkeit
für den
letzteren Fall können
auch nur mehrere Wiedergabestilsequenz bezeichnende Daten AESEQ
in Zuordnung zu einem gewünschten
Musikstück
gespeichert werden, so dass sie an entsprechenden Ereignisreproduktionspunkten
während
der Reproduktion des Musikstücks
ausgelesen werden können.
Diese Anordnung kann automatisch die Artikulationssequenz des Musikstücks spielen,
das noch nie zuvor realisiert oder konzipiert worden war.
-
Bei
noch einer weiteren Möglichkeit
für den letzteren
Fall können
auch nur automatische Spielsequenzdaten, z. B. im MIDI-Format, die
einem gewünschten
Musikstück
entsprechen, gespeichert sein, so dass Wiedergabestilsequenz bestimmende Daten
als ein Ergebnis der Analyse der gespeicherten automatischen Spielsequenzdaten
erzeugt werden können
und dadurch automatisch ein Wiedergabestil bestimmt werden kann.
-
Als
eine weitere Möglichkeit
zum Bezeichnen eines Wiedergabestils kann der Benutzer oder Spieler
eines oder mehrere gewünschte
Stücke
einer Attributinformation eingeben, um unter der Verwendung der
eingegebenen Attributinformation als ein Schlüsselwort ein Durchsuchen des
Artikulations-Datenbankabschnitts
ADB durchzuführen,
so dass eine oder mehrere Artikulationselementsequenzen AESEQ automatisch
aufgelistet werden können,
um eine selektive Bezeichnung einer gewünschten der aufgelisteten Sequenzen
zu erlauben.
-
Noch
einmal mit Bezug auf 7 werden bei Schritt S12 gemäß einer
vorbestimmten Spielreihenfolge Artikulationselementindizes (AE)
aus der ausgewählten
Artikulationselementsequenz AESEQ oder URSEQ sequenziell ausgelesen.
Dann wird bei Schritt S13 ein Artikulationselementvektor (AEVQ) ausgelesen,
der den ausgelesenen Artikulationselementindizes (AE) entspricht.
Beim nächsten
Schritt S14 werden durch den ausgelesenen Artikulationselementvektor
bezeichnete einzelne Schablonendaten aus dem Schablonen-Datenbankabschnitt
TDB ausgelesen.
-
Hiernach
werden bei Schritt S15 Wellenformdaten (partielle Töne) eines
einzelnen Artikulationselements (AE) gemäß den ausgelesenen einzelnen Schablonendaten
synthetisch erzeugt. Im Grunde genommen wird diese Wellenformsynthese
durch das Auslesen der PCM-Wellenformdaten, welche den Wellenformschablonendaten
(Timbre) entsprechen, über
eine Zeitlänge,
die durch die Zeitschablone (TSC) angezeigt wird, und dann durch
das Steuern der Amplitudenhüllkurve
der ausgelesenen PCM-Wellenformdaten gemäß der Amplitudenschablone (AMP)
implementiert. In dieser Ausführungsform
wird von jeder Wellenformschablone (Timbre), die im Schablonen-Datenbankabschnitt
TDB gespeichert ist, angenommen, dass sie ihre Tonhöhe, Amplitudenhüllkurve
und Zeitlänge
der abgetasteten ursprünglichen
Wellenform beibehält,
und daher werden dann in einer Situation, bei der die Tonhöhenschablone
(Pitch), die Amplitudenschablone (Amp) und die Zeitschablone (TSC),
die gegenüber
denjenigen der abgetasteten ursprünglichen Wellenform nicht modifiziert
wurden, die PCM-Wellenformdaten, welche
den Wellenformschablonendaten (Timbre) entsprechen, vom Schablonen-Datenbankabschnitt TDB
ausgelesen werden, direkt als die Wellenformdaten für das betreffende
Artikulationselement verwendet. Wenn entweder die Tonhöhenschablone (Pitch),
die Amplitudenschablone (Amp) oder die Zeitschablone (TSC) gegenüber der
abgetasteten ursprünglichen
Wellenform über
das noch zu beschreibende Dateneditieren oder dergleichen verändert wurde,
wird die Rate zum Auslesen der Wellenformschablonendaten (Timbre)
aus dem Schablonen-Datenbankabschnitt TDB variabel gesteuert (wenn
die Tonhöhenschablone
modifiziert wurde), oder die Zeitlänge des Daten-Auslesens wird
variabel gesteuert (wenn die Zeitschablone modifiziert wurde), oder
es wird die Amplitudenhüllkurve
der ausgelesenen Wellenform variabel gesteuert (wenn die Amplitudenschablone
modifiziert wurde).
-
Es
ist zu erkennen, dass bei einer Anwendung des oben erwähnten partiellen
Vektors PVQ auf das betreffende Artikulationselement (AE) die Steuerung
ebenfalls auf das notwendige geschleifte Auslesen angewendet wird.
-
Dann
wird bei Schritt S16 von 7 eine Operation
zum sequenziellen Zusammenfügen
der synthetisch erzeugten Wellenformdaten der einzelnen Artikulationselemente
durchgeführt,
um so eine Abfolge von Spieltönen
zu erzeugen, die eine zeitserielle Kombination mehrerer Artikulationselemente enthält. Diese
Wellenformdaten-Zusammenfügungsoperation
wird gemäß den Regeldaten
RULE gesteuert, die im Artikulations-Datenbankabschnitt ADB gespeichert
sind. In einer Situation, bei der die Regeldaten RULE eine direkte
Verbindung befehlen, ist es dann lediglich nötig, die Wellenformdaten der
einzelnen Artikulationselemente, die synthetisch bei Schritt S15
erzeugt wurden, einfach sequenziell in der Reihenfolge ihrer Erzeugung
wiederzugeben. In einer anderen Situation, bei der die Regeldaten
RULE eine vorbestimmte Überblendungs-Interpolation
befehlen, werden die Wellenformdaten am Endteil eines Vorangehenden
von zwei aneinander liegenden Artikulationselementen (hiernach als
vorangehendes Artikulationselement bezeichnet) mit den Wellenformdaten am
Startteil eines folgenden Artikulationselements über eine Überblendungs-Interpolationssynthese
gemäß einem
bestimmten Interpolationsverfahren verbunden, um hierdurch einen
glatten Übergang
zwischen beieinander liegenden Elementen zu schaffen. Wenn zum Beispiel
die Wellenformdaten der beieinander liegenden Artikulationselemente
lediglich wie in der abgetasteten ursprünglichen Wellenform zu verbinden
sind, dann können
die Regeldaten RULE eine direkte Verbindung befehlen, weil eine
glatte Verbindung zwischen den Elementen in diesem Fall von Anfang
an gewährleistet
ist. In anderen Fällen
ist es vorzuziehen, eine gewisse Art einer Interpolationssynthese
durchzuführen,
weil ein glatter Übergang
zwischen beieinander liegenden Elementen sonst nicht gewährleistet
wäre. Wie
noch zu beschreiben ist, ist diese Ausführungsform so ausgelegt, das
dadurch eine Auswahl eines beliebigen Gewünschten einer Vielzahl von Überblendungs-Interpolationsverfahren
durch die Regeldaten RULE ermöglicht
ist.
-
Bei
Schritt S11 bis S16 wird eine Abfolge der Spielton-Synthetisierungsvorgänge in einem
einzigen Tonsynthetisierungskanal pro Instrumententon (menschliche
Stimme oder natürliches
Geräusch) durchgeführt. Wo
die Spielton-Synthetisierungsoperationen für mehrere Instrumententöne (menschliche Stimmen
oder natürliche
Geräusche)
gleichzeitig in paralleler Weise durchzuführen sind, ist es lediglich notwendig,
dass die Abfolge der Operationen der Schritte S11 bis S16 in mehreren
Kanälen
auf Zeitteilungsbasis durchgeführt
werden. Wo eine Tonwellenform unter der Verwendung des Überblendungs-Syntheseverfahrens
zu erzeugen ist, werden, wie noch zu beschreiben ist, zwei Wellenformerzeugungskanäle, d. h.
ein Kanal zum Erzeugen einer Ausblendungs-Wellenform und ein Kanal zum Erzeugen
einer Einblendungs-Wellenform, pro Tonsynthetisierungskanal verwendet.
-
Die 9A bis 9C sind
Diagramme, die beispielhafte Kombinationen von Artikulationselementen
in einigen der Wiedergabestilsequenzen zeigen. Die Wiedergabestilsequenz
#1, die in 9 gezeigt ist, repräsentiert
ein einfachstes Beispiel der Kombination, bei der Artikulationselemente
A#1, B#1 und R#1 des Einschwing-, des Körper- bzw. des Ausklingteils
sequenziell zusammengefügt
sind, wobei jeder Übergang
durch eine Überblendungs-Interpolation
hergestellt wird. Die Wiedergabestilsequenz #2, die in 9B gezeigt ist, repräsentiert ein komplexeres Beispiel
der Kombination, bei der vor einem Hauptton ein Verzierungston hinzugefügt wird;
insbesondere sind Artikulationselemente A#2 und B#2 des Einschwing-
und des Körperteils
des Verzierungstons und Artikulationselemente A#3, B#3 und R#3 des
Einschwing-, des Körper-
und des Ausklingteils des Haupttons sequentiell zusammengefügt, wobei jeder Übergang
durch eine Überblendungs-Interpolation
hergestellt wird. Außerdem
repräsentiert
die Wiedergabesequenz Nr. 3, die in 9C gezeigt
ist, ein weiteres Beispiel der Kombination, bei der ein beieinander
liegendes Paar von Artikulationselementen durch einen Bindebogen
verbunden ist; insbesondere sind die Artikulationselemente A#4 und
B#4 des Einschwing- und des Körperteils
des vorangehenden Tons, das Artikulationselement A#5 des Bindebogen-Körperteils und die Artikulationselemente B#5
und R#6 des Körper-
und des Ausklingteils des nachfolgenden Tons sequenziell zusammengefügt, wobei
jeder Übergang
durch eine Überblendungs-Interpolation
hergestellt wird. Während
partielle Tonwellenformen, die den Artikulationselementen entsprechen,
jeweils schematisch in einer Hüllkurvenform
in diesen Figuren allein dargestellt sind, umfasst jeder dieser
partiellen Tonwellenformen tatsächlich Wellenformdaten,
die, wie oben beschrieben, auf der Grundlage der Wellenform-(Timbre),
Amplituden-(Amp), Tonhöhen-(Pitch)
und Zeit-(TSC)-Schablone synthetisch erzeugt wurden.
-
10 ist ein Zeitdiagramm, das ein detailliertes
Beispiel des oben beschriebenen Vorgangs zum sequenziellen Erzeugen
partieller Tonwellenformen zeigt, die mehreren Artikulationselementen
entsprechen, wobei diese partiellen Tonwellenformen durch eine Überblendungs-Interpolation
in einem einzigen Tonsynthetisierungskanal zusammengefügt werden.
Insbesondere werden zur Überblendungs-Synthese
zwischen zwei Elementwellenformen zwei Wellenformerzeugungskanäle in Bezug
auf den einzigen Tonsynthetisierungskanal verwendet. Abschnitt (a)
von 10 dient der Erläuterung
einer beispielhaften Art und Weise, in der eine Wellenform im ersten
Wellenformerzeugungskanal erzeugt wird, weil der Abschnitt (b) von 10 zur Erläuterung
einer beispielhaften Art und Weise dient, in der eine Wellenform
im zweiten Wellenformerzeugungskanal erzeugt wird. Die Beschriftung "synthetisierte Wellenformdaten", die oben am jeweiligen
Abschnitt (A) und (B) erscheint, repräsentiert Wellenformdaten, die
als partielle Tonwellenform auf der Grundlage der Schablonen der
Wellenform (Timbre), der Amplitude (Amp), der Tonhöhe (Pitch)
und dergleichen synthetisch erzeugt wurden (z. B. die bei Schritt
S15 von 7 synthetisch erzeugten Wellenformdaten),
und die Beschriftung "Überblendungs-Steuerwellenform", die unten am jeweiligen
Abschnitt (A) und (B) erscheint, repräsentiert eine Steuerwellenform,
die für eine Überblendungs-Verbindung
partieller Tonwellenformen verwendet wird, die den Artikulationselementen
entsprechen, und die zum Beispiel während der Operation des Schritts
S16 im Fließdiagramm von 7 erzeugt
werden. Die Amplitude der Elementwellenformdaten, die oben gezeigt
ist, wird durch die unten im jeweiligen ersten und zweiten Wellenformerzeugungskanal
gezeigt Überblendungs-Steuerwellenform
gesteuert, und die entsprechenden Wellenformdaten mit durch das Überblendungs-Verfahren
gesteuerter Amplituden, die aus den beiden Wellenformerzeugungskanälen ausgegeben
werden, werden dann zusammen addiert, um hierdurch die Überblendungs-Synthese
abzuschließen.
-
Zum
Einleiten einer bestimmten Wiedergabestilsequenz wird ein Sequenzstart-Auslösesignal SST
gegeben, worauf die Erzeugung einer partiellen Tonwellenform, die
dem ersten Artikulationselement (z. B. dem Artikulationselement
A#1) der Sequenz entspricht. Insbesondere werden Wellenformdaten auf
der Grundlage verschiedener Schablonendaten erzeugt, wie zum Beispiel
der Wellenform- (Timbre), der Amplituden- (Amp), der Tonhöhen- (Pitch)
und der Zeitschablone (TSC), für
das Artikulationselement. Während
die "synthetisierten
Wellenformdaten" in
der Figur lediglich als rechteckiger Block gezeigt sind, enthalten
sie tatsächlich
eine den Wellenformschablonendaten (Timbre) entsprechende Wellenform,
eine den Amplitudenschablonendaten (Amp) entsprechende Amplitudenhüllkurve,
eine den Tonhöhenschablonendaten
(Pitch) entsprechende Tonhöhe
und Tonhöhenvariation,
und eine der Zeitschablone (TSC) entsprechende Zeitlänge.
-
Die Überblendungs-Steuerwellenform
für das
erste Artikulationselement in der Sequenz kann veranlasst werden,
wie gezeigt, sofort auf den vollen Pegel anzusteigen. Wenn die Wellenform
des ersten Artikulationselements in der Sequenz mit einem Endteil
eines Spieltons in einer vorhergehenden Sequenz durch eine Überblendungs-Synthese
zu kombinieren ist, ist es lediglich nötig, eine Einblendungs-Charakteristik
einer entsprechenden Neigung auf den ansteigenden Teil der ersten Überblendungs-Steuerwellenform
anzuwenden.
-
In
Zuordnung zu dem ersten Artikulationselement in der Sequenz wird
eine Einblendungs-Rate FIR#1, eine Nächst-Kanal-Startpunktinformation NCSP#1,
eine Ausblendungs-Startpunktinformation FOSP#1 und eine Ausblendungs-Rate
FOR#1 als Verbindungssteuerinformation im Voraus gespeichert. Die
Nächst-Kanal-Startpunktinformation NCSP#1
bezeichnet einen spezifischen Punkt, an dem die Wellenformerzeugung
des nächsten
Artikulationselements (z. B. B#1) einzuleiten ist. Die Ausblendungs-Startpunktinformation
FOSP#1 bezeichnet einen bestimmten Punkt, an dem ein Ausblenden der
zugeordneten Wellenform einzuleiten ist. Wie gezeigt, wird die Überblendungs-Steuerwellenform
mit dem vollen Pegel bis zum Ausblendungs-Startpunkt erhalten, nach
dem jedoch sein Pegel allmählich
mit einer Neigung gemäß der vorgeschriebenen
Ausblendungs-Rate FOR#1 abfällt.
Falls die Regeldaten RULE, die dem Artikulationselement A#1 entsprechen,
eine direkte Wellenformverbindung ohne Überblendungs-Synthese anweisen,
kann die Nächst-Kanal-Startpunktinformation
NCSP#1 und die Ausblendungs-Startpunktinformation FOSP#1 so gesetzt werden,
dass sie einen Endpunkt der entsprechend zugeordneten synthetisch
erzeugten Artikulationselementwellenform bezeichnet. Wenn jedoch
die entsprechenden Regeldaten RULE eine direkte Wellenformverbindung
mit einer Überblendungs-Synthese befehlen,
bezeichnen diese Informationen NCSP#1 und FOSP#1 entsprechende Punkte,
die vor dem Endpunkt der ihr zugeordneten synthetisch erzeugten
Artikulationselementwellenform in entsprechender Weise gesetzt wurden.
Daher kann mit Sicherheit angenommen werden, dass diese Einblendungs-Rate
FIR#1, die Nächst-Kanal-Startpunktinformation NCSP#1,
die Ausblendungs-Startpunktinformation FOSP#1
und die Ausblendungs-Rate FOR#1 in den Regeldaten RULE enthalten
sind, die dem betreffenden Artikulationselement A#1 entsprechen.
Es wird darauf hingewiesen, dass diese Wellenformverbindungs-Steuerinformation
für jedes
der Artikulationselemente vorgesehen ist.
-
Nachdem
der Vorgang zum Erzeugen der Artikulationselementwellenform A#1
im ersten Wellenformerzeugungskanal, der im Abschnitt (a) von 10 gezeigt ist, an dem durch die Nächst-Kanal-Startpunktinformation
NCSP#1 bezeichneten Punkt ankommt, wird ein Nächst-Kanal-Startauslösesignal
NCS#1 an den in Abschnitt (b) von 10 gezeigten
zweiten Wellenformerzeugungskanal gegeben, worauf die Erzeugung
einer partiellen Tonwellenform, die dem zweiten Artikulationselement
(z. B. Artikulationselement B#1) der Sequenz entspricht, im zweiten
Wellenformerzeugungskanal eingeleitet wird. Die Überblendungs-Steuerwellenform
des Artikulationselements B#1 führt
die Einblendung (d. h. ein allmähliches
Erhöhen)
mit einer Neigung durch, die durch die entsprechende Einblendungs-Rate FIR#2
festgelegt ist. Auf diese Weise überlagern
sich der Ausblendungs-Zeitraum der vorhergehenden Artikulationselementwellenform
A#1 und der Einblendungs-Zeitraum der folgenden Artikulationselementwellenform
B#1 und ein Addieren der beiden sich überlagernden Artikulationselemente
schließt
dann eine gewünschte Überblendungs-Synthese zwischen ihnen
ab.
-
Nachdem
die Wellenformdaten der vorhergehenden Artikulationselementwellenform
A#1 vollständig
ausgeblendet wurden, bleibt schließlich nur die folgende Artikulationselementwellenform
B#1 übrig.
Eine solche Überblendungs-Synthese
erzielt einen glatten Wellenformübergang
von der vorhergehenden Artikulationselementwellenform A#1 zur folgenden
Artikulationselementwellenform B#1.
-
Nachdem
außerdem
der Vorgang zum Erzeugen der Artikulationselementwellenform B#1
im in Abschnitt (b) von 10 gezeigten
zweiten Wellenformerzeugungskanal an dem durch die Ausblendungs-Startpunktinformation
FOSP#2 bezeichneten Punkt ankommt, fällt die Überblendungs-Steuerwellenform
für das
Artikulationselement B#1 allmählich mit
einer Neigung gemäß der entsprechenden
Ausblendungs-Rate FOR#2 ab. Nachdem dann der Vorgang zum Erzeugen
der Artikulationselementwellenform B#1 an dem durch das Nächst-Kanal-Startauslösesignal
NCS#2 bezeichneten Punkt ankommt, wird an den in Abschnitt (a) von 10 gezeigten ersten Wellenformerzeugungskanal
ein Nächst-Kanal-Startauslösesignal
NCS#2 gegeben, worauf im ersten Wellenformerzeugungskanal die Erzeugung einer
partiellen Tonwellenform, die dem dritten Artikulationselement (z.
B. Artikulationselement R#1) der Sequenz entspricht, eingeleitet
wird. Die Überblendungs-Steuerwellenform
für das
Artikulationselement R#1 führt
eine Einblendung (d. h. ein allmähliches Ansteigen)
mit einer Neigung durch, die durch die entsprechende Einblendungs-Rate
FIR#3 festgelegt ist. Auf diese Weise überlagern sich der Ausblendungs-Zeitraum
der vorhergehenden Artikulationselementwellenform B#1 und der Einblendungs-Zeitraum
der folgenden Artikulationselementwellenform R#1, und ein Addieren
der beiden sich überlagernden Elemente
schließt
dann eine gewünschte Überblendungs-Synthese
zwischen ihnen ab.
-
In
der oben beschriebenen Art und Weise werden die einzelnen Artikulationselemente
durch eine sequenzielle Überblendungs-Synthese
in der zeitseriellen Reihenfolge der Sequenz zusammengefügt.
-
Das
oben beschriebene Beispiel ist so ausgelegt, dass dabei die Überblendungs-Synthese
an jeder der auf der Grundlage der einzelnen Schablonen synthetisch
erzeugten Elementwellenformen durchgeführt wird, doch ist die vorliegende
Erfindung hierdurch nicht eingeschränkt; zum Beispiel kann die Überblendungs-Syntheseoperation
auch an allen Schablonendaten durchgeführt werden, so dass die einzelnen
Artikulationselementwellenformen auf der Grundlage der einer Überblendungs-Synthese
unterzogenen Schablonendaten synthetisch erzeugt werden. In einer
solchen Alternative kann auf jede der Schablonen eine andere Verbindungsregel
angewendet werden. Die oben erwähnte
Verbindungssteuerungsinformation (die Einblendungs-Rate FIR, Nächst-Kanal-Startpunkt NCSP,
Ausblendungs-Startpunkt FOSP und Ausblendungs-Rate FOR) wird für jede der
Schablonen entsprechend den Tonfaktoren, wie zum Beispiel der Wellenform
(Timbre), der Amplitude (Amp), der Tonhöhe (Pitch) und der Zeit (TSC)
der Wellenform dieses Elements geliefert. Diese alternative Anordnung
erlaubt eine Überblendungs-Verbindung
gemäß optimaler
Verbindungsregeln, die den einzelnen Schablonen entsprechen, was
einen höheren
Wirkungsgrad erlaubt.
-
Editieren
-
11 ist ein Blockdiagramm, das ein Beispiel des
Dateneditierungsvorgangs zeigt; insbesondere wird dieser beispielhafte
Editierungsvorgang auf der Grundlage von Daten einer Artikulationselementsequenz
AESEQ#x durchgeführt,
die ein Artikulationselement A#1 mit einem Attribut eines Einschwingteils,
ein Artikulationselement B#1 mit einem Attribut eines Körperteils
und ein Artikulationselement R#1 mit einem Attribut eines Ausklingteils
umfasst. Dieser Editierungsvorgang wird natürlich durch einen Computer
ausgeführt,
auf dem ein vorbestimmtes Editierungsprogramm läuft, wobei der Benutzer die
notwendigen Operationen an einer Tastatur oder einer Maus durchführt, während er
verschiedene auf einem Bildschirm visuell angezeigte Daten betrachtet.
-
Die
Artikulationselementsequenz AESEQ#x, welche die Grundlage des Editierungsvorgangs
bildet, kann aus einer Vielzahl von Artikulationselementsequenzen
AESEQ ausgewählt
werden, die im Artikulations-Datenbankabschnitt
ADB gespeichert sind (siehe zum Beispiel 5A).
Ungefähr
lässt sich
sagen, dass das Editieren der Artikulationsdaten aus dem Ersetzen,
dem Hinzufügen
oder dem Löschen
eines Artikulationselements innerhalb einer bestimmten Sequenz und
dem Schaffen einer neuen Schablone durch Ersetzen einer Schablone
oder der Datenwertmodifikation einer bestehenden Schablone innerhalb
eines bestimmten Artikulationselements besteht.
-
In
einem Abschnitt von 11, der mit "Editieren" bezeichnet ist,
ist ein Beispiel gezeigt, bei dem das Artikulationselement R#1 mit
dem Ausklingteilattribut, das eine Amplitudenhüllkurvencharakteristik aufweist,
die relativ allmählich
abfällt,
durch ein anderes Artikulationselement (ersetzendes Artikulationselement)
R#x ersetzt wird, das eine Amplitudenhüllkurvencharakteristik aufweist,
die relativ schnell abfällt.
Anstelle einer solchen Ersetzung kann ein gewünschtes Artikulationselement
hinzugefügt
werden (z. B. Hinzufügung
eines Körperteil-Artikulationselements
oder eines Artikulationselements für einen Verzierungston) oder
gelöscht
werden (z. B. wo mehrere Körperteile
vorhanden sind, kann ein beliebiger dieser Körperteile gelöscht werden).
Das Ersetzen des Artikulationselements R#x kann aus einer Vielzahl
der Artikulationselementvektoren AEVQ ausgewählt werden, die im Artikulations-Datenbankabschnitt
ADB gespeichert sind (siehe zum Beispiel 5B).
In diesem Fall kann ein gewünschtes
ersetzendes Artikulationselement R#x aus einer Gruppe der Artikulationselemente
eines gleichen Attributs bezüglich
der Attributinformation ART ausgewählt werden.
-
Hiernach
können
Schablonendaten, die gewünschten
Tonfaktoren in einem gewünschten
Artikulationselement (z. B. dem ersetzenden Artikulationselement
R#x) entsprechen, durch andere Schablonendaten ersetzt werden, die
denselben Tonfaktoren entsprechen. Im Beispiel von 11 ist gezeigt, dass die Tonhöhenschablone (Pitch) des ersetzenden
Artikulationselements R#x durch eine andere Tonhöhenschablone (Pitch') ersetzt wird, die
zum Beispiel eine Tonhöhenbeugungscharakteristik
hat. Ein neues Ausklingteil-Artikulationselement R#x', das auf diese Weise
hergestellt wurde, hat dann eine Amplitudenhüllkurvencharakteristik, die
relativ schnell ansteigt, sowie eine Tonhöhen-Abwärtsbeugungs-Charakteristik.
In diesem Fall kann eine gewünschte
ersetzende Schablone (Vektordaten) bezüglich der Attributsinformation
ART aus verschiedenen Schablonen (Vektordaten) in einer Gruppe der Artikulationselemente
eines selben Attributs in den mehreren Artikulationselementvektoren
AEVQ ausgewählt
werden (siehe zum Beispiel 5B).
-
Das
neue Artikulationselement R#x',
das auf diese Weise durch die partielle Schablonenersetzung hergestellt
wurde, kann zusätzlich
zusammen mit einer Index- und
Attributinformation, die ihm neu verliehen wurde, im Registrationsbereich
des Artikulations-Datenbankabschnitts ADB für die Artikulationselementvektoren
AEVQ registriert werden (siehe 4).
-
Gemäß der bevorzugten
Ausführungsform ist
es auch möglich,
einen spezifischen Inhalt einer gewünschten Schablone zu modifizieren.
In diesem Fall wird ein spezifischer Dateninhalt einer gewünschten
Schablone für
ein gerade editiert werdendes Artikulationselement aus dem Schablonen-Datenbankabschnitt
TDB ausgelesen und auf einem Bildschirm oder sonst wie visuell angezeigt,
um es dem Benutzer zu erlauben, den Dateninhalt durch Manipulation
der Tastatur oder der Maus zu modifizieren. Nach Abschluss der gewünschten
Datenmodifikation kann die modifizierte Schablone im Schablonen-Datenbankabschnitt
TDB zusammen mit einem ihm neu verliehenen Index zusätzlich registriert werden.
Außerdem
können
die neuen Vektordaten den modifizierten Schablonendaten zugewiesen
werden, und das neue Artikulationselement (z. B. R#x') kann zusammen mit
einer Index- und Attributinformation, die ihm neu verliehen wurde,
im Registrationsbereich des Artikulations-Datenbankabschnitts ADB für die Artikulationselementvektoren
AEVQ zusätzlich
registriert werden (siehe 4).
-
Wie
oben bemerkt, kann der Dateneditierungsvorgang ausgeführt werden,
der neue Sequenzdaten dadurch erzeugt, dass der Inhalt der grundlegenden
Artikulationselementsequenz AESEQ#x modifiziert wird. Die aus dem Dateneditierungsvorgang
hervorgehenden neuen Sequenzdaten werden im Artikulations-Datenbankabschnitt
ADB als eine Benutzer-Artikulationselementsequenz
URSEQ mit einer neuen Sequenznummer (z. B. URSEQ#x) und der ihr
verliehenen Attributsinformation registriert. In der nachfolgenden
Tonsyntheseverarbeitung können
die Daten der Benutzer-Artikulationselementsequenz
URSEQ durch die Verwendung der Sequenznummer URSEQ#x aus dem Artikulationsdatenbankabschnitt
ADB ausgelesen werden.
-
Die
Dateneditierung kann auf eine beliebige einer Vielzahl von Weisen
durchgeführt
werden, die nicht die oben anhand von 11 beschriebene
beispielhafte Art und Weise sind. Zum Beispiel ist es möglich, gewünschte Artikulationselemente
sequenziell aus dem Elementvektor AEVQ auszuwählen, um hierdurch eine Benutzer-Artikulationselementsequenz
URSEQ zu erzeugen, ohne dass die grundlegende arithmetische Elementsequenz
AESEQ ausgelesen wird.
-
12 ist ein Fließdiagramm, das ein Computerprogramm
zeigt, das zum Ausführen
des oben beschriebenen Dateneditierungsvorgangs fähig ist.
-
Beim
ersten Schritt S21 wird ein gewünschter
Wiedergabestil zum Beispiel durch die Verwendung der Computertastatur
oder der Maus bezeichnet, um direkt eine eindeutige Nummer einer
Artikulationselementsequenz AESEQ oder URSEQ einzugeben oder um
eine gewünschte
Instrumentenklangfarbe oder Attributinformation einzugeben.
-
Beim
nächsten
Schritt S22 wird überprüft, ob eine
dem bezeichneten Wiedergabestil entsprechende Artikulationselementsequenz
unter den verschiedenen Artikulationselementsequenzen AESEQ oder URSEQ
im Artikulations-Datenbankabschnitt ADB vorhanden ist, um solch
eine passende Artikulationselementsequenz AESEQ oder URSEQ auszuwählen. In
diesem Fall, wenn die Nummer der Artikulationselementsequenz AESEQ
oder URSEQ direkt im vorhergehenden Schritt S21 eingegeben wurde,
wird die entsprechende Sequenz AESEQ oder URSEQ direkt ausgelesen.
Wenn bei Schritt S21 die Attributinformation eingegeben wurde, wird
die Datenbank ADB nach einer Artikulationselementsequenz AESEQ oder
URSEQ durchsucht, die der eingegebenen Attributinformation entspricht.
Mehrere oder Stücke der
Attributinformation können
eingegeben werden, wobei in diesem Fall die Suche unter der Verwendung
der UND-Logik durchgeführt
wird. Alternativ dazu kann die ODER-Logik für Suchzwecke verwendet werden.
Das Suchergebnis wird visuell auf dem Computerbildschirm angezeigt,
so dass, wenn zwei oder mehr Artikulationselementsequenzen herausgesucht
wurden, der Benutzer eine Gewünschte
der herausgesuchten Sequenzen auswählen kann.
-
Nach
Schritt S22 wird bei Schritt S23 der Benutzer gefragt, ob er den
Editiervorgang fortführen möchte oder
nicht. Bei einer negativen Antwort (NEIN) verlässt der Vorgang den Editiervorgang. Wenn
der Inhalt der ausgewählten
oder herausgesuchten Artikulationselementsequenz so ist, wie vom Benutzer
gewünscht,
und daher keine Notwendigkeit besteht, ihn zu editieren, wird der
Editierungsvorgang abgeschlossen. Wenn auf der anderen Seite der
Benutzer mit dem Editiervorgang fortfahren möchte, dann wird bei Schritt
S23 positiv entschieden (JA), und der Vorgang geht zu Schritt S24
weiter. In ähnlicher
Weise wird, wenn keine der eingegebenen Attributsinformation entsprechende
Artikulationselementsequenz erfolgreich gefunden wurde, bei Schritt
S23 eine positive Entscheidung (JA) gefällt, und der Vorgang geht zu
Schritt S24 weiter.
-
Die
folgenden Absätze
beschreiben ein Beispiel der Suche auf der Grundlage von Attributsinformation
anhand eines Falls, bei dem die in den 5 und 6 gezeigten
Daten im Artikulations-Datenbankabschnitt ADB gespeichert sind.
Es sei nun angenommen, dass bei Schritt S21 als attributbasierte Suchbedingungen
zur Suche nach einer Artikulationssequenz "Einschwingen Aufwärtsbeugung normal", "Körper normal" und "Ausklang normal" eingegeben wurden. Weil in diesem Fall
die sechste Sequenz AESEQ#6, die in 5A gezeigt
ist, die Suchbedingungen erfüllt,
wird bei Schritt S22 die Sequenz AESEQ#6 ausgewählt. Wenn die ausgewählte Sequenz
AESEQ#6 zufriedenstellend ist, wird bei Schritt S23 eine negative
Entscheidung gefällt,
so dass der Editiervorgang abgeschlossen wird. Wenn der Editiervorgang
fortgeführt
werden soll, wird bei Schritt S23 eine positive Entscheidung gefällt, so dass
der Vorgang zu Schritt S24 weiter geht.
-
Wenn
die Sequenz, die dem bei Schritt S21 bezeichneten Wiedergabestil
exakt entspricht, bei Schritt S24 noch nicht ausgewählt wurde,
wählt der Vorgang
eine der gespeicherten Sequenzen aus, die dem bezeichneten Wiedergabestil
am ehesten entspricht. Es sei hier angenommen, dass "Einschwingen Aufwärtsbeugung normal", "Vibrato normal" und "Ausklang normal" bei Schritt S21
als attributbasierte Suchbedingungen zum Suchen nach einer Artikulationssequenz
eingegeben wurden. Unter der Annahme, dass es nur sieben unterschiedliche
Typen von Sequenzen AESEQ gibt, wie in 5A veranschaulicht,
dann ist es nicht möglich,
aus ihnen eine Sequenz herauszufinden, welche den Suchbedingungen
entspricht, so dass bei Schritt S24 eine Auswahl der Artikulationselementsequenz
AESEQ#6 getroffen wird, die den Suchbedingungen am ehesten entspricht.
-
Beim
dem Schritt S24 folgenden Schritt S25 wird ein Vorgang zum Ersetzen
von Vektordaten (Index) durchgeführt,
die ein gewünschtes
Artikulationselement (AE) in der ausgewählten Sequenz bezeichnen, durch
andere Vektordaten (Index), die ein anderes Artikulationselement
bezeichnen. Wenn zum Beispiel bei Schritt S24 die Sequenz AESEQ#6
ausgewählt
wurde, die den Suchbedingungen am ehesten entspricht und drei Elemente "ATT-Nor", "BOD-Nor" und "REL-Nor" (siehe 5A), kann das Körperteilelement BOD-Nor (normaler
Körper)
durch ein Körperteilelement
für Vibrato
ersetzt werden. Zu diesem Zweck werden Elementvektordaten (Index)
für "Körper normal Vibrato" (BOD-Vib-nor) zum
Ersetzen des Elements "BOD-nor" extrahiert.
-
Wo
nötig,
wird auch eine Hinzufügung
oder Löschung
eines Artikulationselements ebenfalls bei Schritt S25 durchgeführt. Durch
das Ersetzen, das Hinzufügen
und/oder die Löschung
der gewünschten Elementvektordaten
wird bei Schritt S26 die Herstellung der neuen Artikulationselementsequenz
abgeschlossen.
-
Nun,
da eine Gewährleistung
eines glatten Wellenformübergangs
zwischen den Elementen in der erzeugten Artikulationselementsequenz
aufgrund der Ersetzung, Hinzufügung
und/oder Löschung
verloren gegangen ist, werden beim nächsten Schritt S27 Verbindungsregeldaten
RULE gesetzt. Dann wird bei Schritt S28 geprüft, ob die frisch gesetzten Verbindungsregeldaten
RULE akzeptabel sind oder nicht. Wenn sie nicht akzeptabel sind,
kehrt der Vorgang zu Schritt S27 zurück, um die entsprechenden Verbindungsregeldaten
RULE rückzusetzen;
ansonsten geht der Vorgang zu Schritt S29 weiter.
-
Bei
Schritt S29 wird der Benutzer gefragt, ob er den Editiervorgang
fortsetzen möchte
oder nicht. Bei einer negativen Antwort (NEIN) geht der Vorgang weiter
zu Schritt S30, wo die erzeugte Artikulationselementsequenz im Artikulations-Datenbankabschnitt ADB
als eine Benutzersequenz URSEQ registriert wird. Wenn andererseits
der Benutzer mit dem Editiervorgang fortfahren möchte, wird bei Schritt S29 eine
positive Entscheidung (JA) getroffen, und der Vorgang geht zu Schritt
S24 oder S31 weiter. Wenn nämlich
der Benutzer zur Operation für
die Ersetzung, Hinzufügung
und/oder Löschung
zurückkehren möchte, kehrt
der Vorgang zu Schritt S24 zurück, während, wenn
der Benutzer zum Schablonendateneditieren weitergehen möchte, der
Vorgang zu Schritt S31 fortschreitet.
-
Bei
Schritt S31 wird eine Auswahl eines bestimmten Artikulationselements
(AE) vorgenommen, für
welches Schablonendaten zu editieren sind. Beim folgenden Schritt
S32 werden die einem gewünschten
Tonfaktor im ausgewählten
Artikulationselement (AE) entsprechenden Schablonendaten durch andere
Schablonendaten ersetzt.
-
Hier
sei angenommen, dass bei Schritt S21 als attributbasierte Suchbedingungen
zur Suche nach einer Artikulationssequenz "Einschwingen Aufwärtsbeugung normal", "leicht langsames
Vibrato" und "Ausklang normal" eingegeben wurde
und das bei Schritt S24 die Sequenz AESEQ#6 aus den Sequenzen der 5A als die den Suchbedingungen am ehesten entsprechende
Sequenz ausgewählt wurde.
Da das Körperteilelement
in der ausgewählten
Sequenz AESEQ#6 "normaler
Körper" (BOD-Nor) ist, wie
oben bemerkt, wird dieses Element durch ein Körperteilelement für ein Vibrato,
wie zum Beispiel "Körper normal
Vibrato" (BOD-Vib-nor) ersetzt.
Dann wird bei diesem Schritt S31 das Element "Körper
normal Vibrato" (BOD-Vib-nor)
als ein Editiergegenstand ausgewählt.
Zum Erzielen des "leicht
langsamen Vibratos" wird
ein Schablonenvektor TSC-B-vib aus den verschiedenen Schablonenvektoren
des "Körper normal
Vibrato" (BOD-Vib-nor) durch
einen anderen Zeitschablonenvektor (z. B. TSC-B-sp2) ersetzt, um
die Vibratogeschwindigkeit etwas zu verlangsamen.
-
Auf
diese Art und Weise wird bei Schritt S33 die Herstellung des neuen
Artikulationselements abgeschlossen, bei dem der Zeitschablonenvektor TSC-B-vib
aus den verschiedenen Schablonenvektoren des "Körper
normal Vibrato" (BOD-Vib- nor) durch den Zeitschablonenvektor
TSC-B-sp2 ersetzt wurde. Gleichzeitig wird eine neue Artikulationselementsequenz
geschaffen, bei der das Körperteilelement
in der Sequenz AESEQ#6 durch das neu geschaffene Artikulationselement
ersetzt wurde.
-
Die
folgenden Schritte S34, S35 und S36 sind den Schritten S27, S28
und S29 ähnlich,
die oben erörtert
wurden. Da nämlich
nun eine Gewährleistung
eines glatten Wellenformübergangs
zwischen den Elementen in der neu geschaffenen Artikulationselementsequenz
aufgrund der Schablonendatenersetzung verloren gegangen ist, werden
die entsprechenden Verbindungsregeldaten RULE, wie oben erwähnt, rückgesetzt.
-
Bei
Schritt S36 wird der Benutzer gefragt, ob er den Editiervorgang
fortsetzen möchte
oder nicht. Bei einer negativen Antwort (NEIN), geht der Vorgang
zu Schritt S37 weiter, wo das geschaffene Artikulationselement (AE)
als ein Benutzer-Artikulationselementvektor
AEVQ im Artikulations-Datenbankabschnitt ADB registriert wird. Wenn
andererseits der Benutzer mit dem Editiervorgang fortfahren möchte, dann
wird bei Schritt S36 eine positive Entscheidung (JA) gefällt, und
der Vorgang geht zu Schritt S31 oder S38 weiter. Wenn nämlich der
Benutzer zur Operation für
den Schablonenvektor zurückgehen
möchte, kehrt
der Vorgang zu Schritt S31 zurück,
während, wenn
der Benutzer mit dem Editieren eines spezifischen Inhalts der Schablonendaten
fortfährt,
der Vorgang zu Schritt S38 weitergeht.
-
Bei
Schritt S38 wird eine Auswahl einer Schablone in einem bestimmten
Artikulationselement (AE) vorgenommen, für die der Dateninhalt zu editieren
ist. Beim folgenden Schritt S39 wird der spezifische Dateninhalt
der ausgewählten
Schablone modifiziert, gegebenenfalls aus dem Schablonen-Datenbankabschnitt
TDB ausgelesen.
-
Es
sei hier angenommen, dass bei Schritt S21 als attributbasierte Suchbedingungen
zur Suche nach einer Artikulationssequenz "Einschwingen Aufwärtsbeugung normal", "erheblich langsames
Vibrato" und "Ausklang normal" eingegeben wurden
und dass bei Schritt S24 die Sequenz AESEQ#6 aus den Sequenzen der 5A als die den Suchbedingungen am ehesten entsprechende
Sequenz ausgewählt
wurde. Da das Körperteilelement
in der Sequenz AESEQ#6 "normaler
Körper" (BOD-Nor) ist, wird
dieses Element durch ein Körperteilelement
für Vibrato,
wie zum Beispiel "Körper normal
Vibrato" (BOD-Vib-nor)
ersetzt, wie oben erwähnt.
Dann wird bei Schritt S31 das Element "Körper
normal Vibrato" (BOD-Vib-nor) als ein Editiergegenstand
ausgewählt. Um
das "erheblich langsame
Vibrato" zu erzielen, wird
ein Zeitschablonenvektor TSC-B-vib aus den verschiedenen Schablonenvektoren
des "Körper normal
Vibrato" (BOD-Vib-nor)
durch einen anderen Zeitschablonenvektor (z. B. TSC-B-sp1) ersetzt,
um die Vibratogeschwindigkeit langsamer als irgendeinen der anderen
Zeitschablonenvektoren zu machen.
-
Wenn
jedoch das gewünschte "erheblich langsame
Vibrato" über die
durch den Zeitschablonenvektor TSC-B-sp1 bezeichnete Zeitschablone nicht
erzielt werden kann, wird dieser Schablonenvektor TSC-B-sp1 bei
Schritt S38 ausgewählt,
so dass der spezifische Dateninhalt des Schablonenvektors TSC-B-sp1
modifiziert wird, um ein noch langsameres Vibrato vorzusehen. Außerdem werden der
neuen durch die Dateninhaltsmodifikation hergestellten Zeitschablone
neue Vektordaten (z. B. TSC-B-sp0)
zugewiesen.
-
Auf
diese Weise wird bei Schritt S40 die Herstellung der neuen Zeitschablonendaten
und ihrer Vektordaten (z. B. TSC-B-sp0) abgeschlossen. Gleichzeitig
wird ein neues Artikulationselement (AE) geschaffen, bei dem der
Zeitschablonenvektor zu einem neuen Vektor modifiziert wurde, und
eine neue Artikulationselementsequenz wird geschaffen, bei der das
Körperteilelement
in der Sequenz AESEQ#6 durch das neu geschaffene Artikulationselement
(AE) ersetzt wurde.
-
Die
folgenden Schritte S41, S42 und S43 sind auch den obigen Schritten
S27, S28 und S29 ähnlich.
Da nun nämlich
die Gewährleistung
eines glatten Wellenformübergangs
zwischen den Elementen in der neu geschaffenen Artikulationselementsequenz
aufgrund der Schablonendatenmodifikation verloren gegangen ist,
werden, wie oben erwähnt,
die entsprechenden Verbindungsregeldaten RULE zurückgesetzt.
-
Bei
Schritt S43 wird der Benutzer gefragt, ob er den Editiervorgang
fortsetzen möchte
oder nicht. Bei einer negativen Antwort (NEIN) geht der Vorgang zu
Schritt S44 weiter, wo die erzeugten Schablonendaten im Schablonen-Datenbankabschnitt TDB
registriert werden. Wenn andererseits der Benutzer mit dem Editiervorgang
fortfahren möchte,
dann wird bei Schritt S43 eine positive Entscheidung (JA) gefällt, und
der Vorgang geht zu Schritt S38 zurück. Nach Schritt S44 geht der
Vorgang zu Schritt S37, bei dem das erzeugte Artikulationselement
(AE) im Artikulations-Datenbankabschnitt
ADB als ein Benutzer-Artikulationselementvektor AEVQ registriert
wird. Nach Schritt S37 geht der Vorgang zu Schritt S30, wo die geschaffene
Artikulationselementsequenz als eine Benutzersequenz URSEQ im Artikulations-Datenbankabschnitt
ADB registriert wird.
-
Der
Editiervorgang kann auch in einer beliebigen anderen Operationssequenz,
als diejenige, die in 12 gezeigt ist, ausgeführt werden.
Wie schon erwähnt,
ist es möglich,
ein gewünschtes
Artikulationselement aus dem Elementvektor AEVQ sequenziell auszuwählen, um
hierdurch eine Benutzer-Artikulationselementsequenz URSEQ herzustellen, ohne
die grundlegende arithmetische Elementsequenz AESEQ auszulesen.
Außerdem
kann, auch wenn das hier nicht spezifisch gezeigt ist, ein einer Wellenform
eines der Editierung unterzogenen Artikulationselements entsprechender
Ton hörbar
erzeugt werden, um dem Benutzer eine Überprüfung des Tons nach Höreindruck
zu erlauben.
-
Partieller Vektor
-
13 ist ein konzeptuelles Diagramm, das den partiellen
Vektor PVQ erläutert.
Im Abschnitt (a) von 13 ist symbolisch eine Abfolge
von Daten (normale Schablonendaten) gezeigt, die durch ein Analysieren
eines bestimmten Tonfaktors (z. B. Wellenform) eines Artikulationselements
in einem bestimmten Zeitabschnitt erhalten wurden. Im Abschnitt (b)
von 13 sind partielle Schablonendaten
PT1, PT2, PT3 und PT4 symbolisch gezeigt, die sporadisch oder verteilt
aus den Daten des gesamten in Abschnitt (a) gezeigten Abschnitts
extrahiert wurden. Diese partiellen Schablonendaten PT1, PT2, PT3 und
PT4 werden im Schablonen-Datenbankabschnitt TDB als Schablonendaten
für diesen
Tonfaktor gespeichert. Wie im normalen Fall, bei dem die Daten des
gesamten Zeitabschnitts direkt als Schablonendaten gespeichert werden,
wird den Schablonendaten ein einziger Schablonenvektor zugewiesen. Wenn
zum Beispiel der Schablonenvektor für die Schablonendaten "Tim-B-nor" ist, nutzen die
partiellen Schablonendaten PT1, PT2, PT3 und PT4 denselben Schablonenvektor "Tim-B-nor". Hier sei angenommen, dass
Identifikationsdaten, die angeben, dass der Schablonenvektor "Tim-B-nor" einen partiellen
Vektor PVQ hat, der an ihn angehängt
ist, an einem geeigneten Speicherplatz registriert werden.
-
Für jedes
der partiellen Schablonendaten PT1, PT2, PT3 und PT4 enthält der partielle
Vektor PVQ einen Speicherplatz der partiellen Schablonendaten im
Schablonen-Datenbankabschnitt TDB (wie zum Beispiel eine Schleifenstartadresse)
anzeigende Daten, eine Breite W der partiellen Schablonendaten (wie
zum Beispiel eine Schleifenendadresse) anzeigende Daten, und einen
Zeitraum LT, über
den die partiellen Schablonendaten zu wiederholen sind. Während die
Breite W und der Zeitraum LT in der Figur so dargestellt sind, dass
sie für
alle partiellen Schablonendaten PT1, PT2, PT3 und PT4 die gleichen
sind, können
sie auch auf einen beliebigen optional ausgewählten Wert für die jeweiligen
Daten PT1, PT2, PT3 und PT4 gesetzt werden. Außerdem kann die Anzahl der
partiellen Schablonendaten größer oder
kleiner als vier sein.
-
Die
Daten über
den gesamten Zeitabschnitt, wie er in Abschnitt (a) von 13 gezeigt ist, kann durch Auslesen der jeweiligen
partiellen Schablonendaten PT1, PT2, PT3 und PT4 in einer geschleiften Art
und Weise lediglich über
den Zeitraum LT und durch das Zusammenfügen der einzelnen ausgelesenen
Schleifen reproduziert werden. Dieser Datenreproduktionsvorgang
wird hiernach als ein "Decodiervorgang" bezeichnet. Ein
Beispiel des Decodiervorgangs kann so ausgelegt sein, dass er einfach
ein geschleiftes Auslesen der jeweiligen partiellen Schablonendaten
PT1, PT2, PT3 und PT4 für
den Zeitraum LT ausführt,
und ein weiteres Beispiel des Decodiervorgangs kann so ausgelegt
sein, dass er zwei beieinander liegende Wellenformen, die in einer
geschleiften Weise ausgelesen werden, überblendet. Das letztere Beispiel
ist deshalb eher vorzuziehen, weil es einen besseren Übergang
zwischen den Schleifen erzielt.
-
Im
Abschnitt (c) und (d) von 13 sind
Beispiele des Decodiervorgangs gezeigt: Insbesondere zeigt (c) ein
Beispiel einer Überblendungs-Steuerwellenform
im ersten Überblendungs-Synthetisierungskanal,
während
(d) ein Beispiel einer Überblendungs-Steuerwellenform
im zweiten Überblendungs-Synthetisierungskanal
zeigt. Die ersten partiellen Schablonendaten PT1 werden nämlich über den
Zeitraum LT mit einer im Abschnitt (c) gezeigten Ausblendungs-Steuerwellenform
CF11 gesteuert, und die zweiten partiellen Schablonendaten PT2 werden über den
Zeitraum LT mit einer im Abschnitt (d) gezeigten Einblendungs-Steuerwellenform
CF21 gesteuert. Dann werden die einer Ausblendungs-Steuerung unterzogenen
partiellen Schablonendaten PT1 mit den der Einblendungs-Steuerung
unterzogenen zweiten partiellen Schablonendaten PT2 addiert, um ein
geschleiftes Auslesen vorzusehen, das während des Zeitraums LT von
den ersten partiellen Schablonendaten PT1 zu den zweiten partiellen
Schablonendaten PT2 überblendet
wird. Hiernach wird die nächste Überblendungs-Synthese
nach dem Ersetzen der ersten partiellen Schablonendaten PT1 durch die
dritten partiellen Schablonendaten PT3, dem Ersetzen der Steuerwellenform
für die
Daten PT1 durch eine Einblendungs-Steuerwellenform CF12 und dem Ersetzen
der Steuerwellenform für
die zweiten partiellen Schablonendaten PT2 durch eine Ausblendungs-Wellenform
CF22 durchgeführt.
Hiernach wird eine ähnliche Überblendungs-Synthese
wiederholt, während
die partiellen Schablonendaten und die Steuerwellenformen, wie gezeigt,
sequenziell geschaltet werden. Es wird darauf hingewiesen, dass bei
jeder solchen Überblendungs-Synthese
die beiden in geschleifter Weise ausgelesenen Wellenformen so verarbeitet
werden, dass sie sowohl in ihrer Phase als auch in ihrer Tonhöhe miteinander übereinstimmen.
-
14 ist ein Fließdiagramm, das ein Beispiel
eines Schablonen-Auslesevorgangs
zeigt, bei dem der partielle Vektor PVQ berücksichtigt wird. Die Schritte
S13 bis S14c in diesem Schablonen-Auslesevorgang entsprechen den
Schritten S13 und S14 von 7. Bei
Schritt S13 werden entsprechende Vektordaten einzelner Schablonen
ausgelesen, die einem Artikulationselement entsprechen, das aus den
im Artikulationselementvektor AEVQ gespeicherten bezeichnet ist.
Bei Schritt S14a wird auf der Grundlage der Identifikationsdaten,
die die Anwesenheit eines partiellen Vektors PVQ anzeigen, bestimmt,
ob es einen partiellen Vektor PVQ gibt oder nicht. Wenn es keinen
partiellen Vektor PVQ gibt, geht der Vorgang zu Schritt S14b weiter,
um einzelne Schablonendaten aus dem Schablonen-Datenbankabschnitt
TDB auszulesen. Ansonsten geht der Vorgang zu Schritt S14c weiter,
wo der oben erwähnte "Decodiervorgang" auf der Grundlage
des partiellen Vektors PVQ ausgeführt wird, um hierdurch die Schablonendaten
im gesamten Abschnitt des Artikulationselements zu reproduzieren
(Decodieren).
-
Wenn
der partielle Vektor PVQ auf ein Artikulationselement anzuwenden
ist, besteht keine Notwendigkeit, die Schablonen für alle Tonfaktoren
dieses Artikulationselements durch partielle Schablonen zu ersetzen,
es ist lediglich notwendig eine partielle Schablone nur für einen
derartigen Typ eines Tonfaktors zu verwenden, der für ein geschleiftes
Auslesen als eine partielle Schablone ausgestattet ist. Es wird erkannt
werden, dass die Reproduktion der Schablonendaten über den
gesamten Abschnitt des Elements auf der Grundlage des partiellen
Vektors PVQ unter der Verwendung eines beliebigen anderen geeigneten
Verfahrens als des oben erwähnten
einfachen geschleiften Ausleseverfahrens ausgeführt werden kann. Zum Beispiel
kann eine partielle Schablone einer vorbestimmten Länge, die
einem partiellen Vektor PVQ entspricht, entlang der Zeitachse gedehnt
werden. Oder es kann eine eingeschränkte Mehrzahl partieller Schablonen
zufällig
oder in einer vorbestimmten Abfolge über den gesamten Abschnitt des
betreffenden Elements angeordnet werden.
-
Vibratosynthese
-
Die
folgenden Absätze
beschreiben mehrere neue Ideen darüber, wie die Vibratosynthese
in der vorliegenden Ausführungsform
durchzuführen
ist.
-
15 ist ein Diagramm, das Beispiele zeigt, bei
denen Wellenformdaten eines Körperteils mit
einer Vibratokomponente unter der Verwendung der neuartigen Idee
des partiellen Vektors PVQ komprimiert und die komprimierten Wellenformdaten
decodiert werden. Insbesondere ist in Abschnitt (a) von 15 in veranschaulichender Weise eine ursprüngliche
Wellenform A mit einem Vibratoeffekt gezeigt, bei dem die Wellenformtonhöhe und die
Amplitude über
eine Vibratoperiode variieren. Im Abschnitt (b) von 15 sind in veranschaulichender Weise mehrere Wellenformsegmente
a1, a2, a3 und a4 gezeigt, die verteilt aus der im Abschnitt (a)
gezeigten ursprünglichen
Wellenform A extrahiert wurden. Segmente der ursprünglichen
Wellenform A, die unterschiedliche Formen (Klangfarben) haben, werden
als diese Wellenformsegmente a1, a2, a3 und a4 in einer solchen
Art und Weise ausgesucht oder extrahiert, dass jedes der Segmente
eine oder mehrere Wellenformlängen
(Wellenformenperioden) hat, und die Wellenformlänge eines jeden der Segmente
bekommt die selbe Datengröße (die
selbe Anzahl von Speicheradressen). Diese selektiv extrahierten
Wellenformsegmente a1 bis a4 werden im Schablonen-Datenbankabschnitt
TDB als partielle Schablonendaten (d. h. geschleifte Wellenformdaten)
gespeichert und in geschleifter Weise sequenziell ausgelesen und
einer Überblendungs-Synthese
unterzogen.
-
Außerdem ist
in Abschnitt (c) von 15 eine Tonhöhenschablone
gezeigt, die eine Tonhöhenvariation
während
einer Vibratoperiode zeigt. Während
das Tonhöhenvariationsmuster
dieser Schablone hier so gezeigt ist, dass sie an einer hohen Tonhöhe beginnt,
dann zu einer tieferen Tonhöhe abfällt und
schließlich
wieder zu einer hohen Tonhöhe
zurückkehrt,
dient dieses Muster lediglich der Veranschaulichung, und die Schablone
kann ein beliebiges anderes Tonhöhenvariationsmuster
definieren, wie zum Beispiel eines, das bei einer niedrigen Tonhöhe beginnt,
dann zu einer hohen Tonhöhe
ansteigt und schließlich
zu einer niedrigen Tonhöhe
zurückkehrt,
oder eines, das bei einer Zwischentonhöhe beginnt, dann zu einer hohen
Tonhöhe
ansteigt, als nächstes
zu einer niedrigen Tonhöhe
abfällt
und schließlich
zu einer Zwischentonhöhe
zurückkehrt.
-
Außerdem ist
in Abschnitt (d) von 15 ein Beispiel einer Überblendungs-Wellenform gezeigt, die
den einzelnen Wellenformsegmenten a1 bis a4 entspricht, die in geschleifter
Weise ausgelesen werden. Die Wellenformsegmente a1 und a2 werden
zuerst repetitiv in geschleifter Weise mit einer Tonhöhe ausgelesen,
die durch die in Abschnitt (c) gezeigte Tonhöhenschablone festgelegt ist,
und diese ausgelesenen Wellenformsegmente a1 und a2 werden zusammen
synthetisiert, nachdem das Wellenformsegment a1 einer Ausblendungs-Amplitudensteuerung und
das Wellenformsegment einer Einblendungs-Amplitudensteuerung unterzogen
wurde. Auf diese Weise ändert
sich die Wellenform sequenziell, indem sie vom Wellenformsegment
a1 zum anderen Wellenformsegment a2 überblendet wird, und außerdem variiert
sequentiell die Tonhöhe
der überblendungssynthetisierten
Wellenform mit der durch die Schablone festgelegten Tonhöhe. Hiernach
wird die Überblendungs-Synthese
zwischen den Wellenfarmsegmenten a2 und a3, danach zwischen den
Wellenformen a3 und a4 und dann zwischen den Wellenformsegmenten
a4 und a1 durchgeführt,
indem die der Überblendungs-Synthese zu unterziehenden Wellenformen
sequenziell geschaltet werden.
-
Im
Abschnitt (e) von 15 sind synthetisierte Wellenformdaten
A' gezeigt, die
eine während einer
Vibratoperiode glatt vom Wellenformsegment a1 zum Wellenformsegment
a4 aufgrund der Überblendungs-Synthese
sequenziell variierende Form hat und deren Tonhöhe wie durch die Tonhöhenschablone
festgelegt variiert, um so einen Vibratoeffekt anzuwenden. Ein Wiederholen
der oben erwähnten Synthese
der Wellenformdaten A' für eine Vibratoperiode
kann über
mehrere Vibratoperioden Wellenformdaten synthetisieren. Zu diesem
Zweck ist es lediglich nötig,
dass die Tonhöhenschablone
für eine Vibratoperiode,
wie in Abschnitt (c) von 15 gezeigt, über die
notwendige Anzahl von Vibratoperioden geschleift wird, und die partiellen
Vektoren PVQ können
in einer hierarchischen Art und Weise organisiert werden. Dies bedeutet,
dass zur Wellenformsynthese für
eine Vibratoperiode die Wellenformsegmente a1 bis a4 in geschleifter
Weise einzeln ausgelesen werden können und die gesamte resultierende Wellenform
(für eine
Vibratoperiode) hierarchisch so organisiert werden kann, dass sie
gemäß der Schleifung
der Tonhöhenschablone
weiter wiederholt werden kann.
-
16 ist ein Diagramm, das ein weiteres Beispiel
einer Vibratosynthese zeigt, bei der mehrere Wellenformsegmente
a1 bis a4, b1 bis b4 und c1 bis c4 aus den Abschnitten A, B bzw.
C über
mehrere Vibratoperioden einer ursprünglichen Wellenform mit einem
Vibratoeffekt verteilt extrahiert werden. Wie schon zuvor anhand
von 15 bemerkt, werden diese Segmente
der ursprünglichen
Wellenform, die unterschiedliche Formen (Klangfarben) haben, als diese
Wellenformsegmente a1 bis a4, b1 bis b4 und c1 bis c4 in einer solchen
Weise selektiert oder extrahiert, dass jedes der Segmente einen
oder mehrere Wellenformzyklen (Wellenformzeiträume) hat und eine Wellenformlänge eines
jeden der Segmente die gleiche Datengröße (die gleiche Anzahl von
Speicheradressen) annimmt. Im Grunde genommen werden diese selektiv
extrahierten Wellenformsegmente a1 bis a4, b1 bis b4 und c1 bis
c4 als partielle Schablonendaten im Schablonen-Datenbankabschnitt TDB
gespeichert, und sie werden in geschleifter Weise sequenziell ausgelesen
und der Überblendungs-Synthese in einer ähnlichen
Weise zu der oben anhand von 15 Beschriebenen
unterzogen. Das gezeigte Beispiel von 16 unterscheidet sich
dahingehend von demjenigen von 15,
dass die Zeitpositionen der einzelnen Wellenformsegmente a1 bis
a4, b1 bis b4 und c1 bis c4 umgeordnet werden, um Paare von der Überblendungs-Synthese
zu unterziehenden Wellenformsegmenten in einer solchen Weise optional
zu wechseln, dass eine Vielzahl von Klangfarbenvariationen durch verschiedene
unterschiedliche Kombinationen der Wellenformsegmente vorgesehen
werden kann.
-
Zum
Beispiel kann durch eine Umordnung der Positionen von Sätzen der
Wellenformsegmente a1 bis a4, b1 bis b4 und c1 bis c4 ohne Änderung
ihrer relativen Zeitpositionen innerhalb einer Vibratoperiode, ein
umgeordnetes Muster der Wellenformsegmentpositionen vorgesehen werden,
wie zum Beispiel ein Muster "a1→b2→c3→a4→b1→c2→a3→b4→c1→a2→b3→c4". Durch das Ausführen eines
Vibrato-Synthesevorgangs auf der Grundlage der Überblendungs-Synthese, wie
sie in 15 gezeigt ist, ist es gemäß einem
solchen Umordnungsmuster der Wellenformsegmentpositionen möglich, ein
Vibrato vorzusehen, das eine Klangfarbenvariation enthält, die
sich von derjenigen unterscheidet, die durch eine Vibratosynthese
durch die Überblendungs-Synthese
auf der Grundlage eines ursprünglichen
Musters der Wellenformsegmentpositionen erzeugt wurde. Der Grund, warum
die Positionen der Wellenformsegmentsätze a1 bis a4, b1 bis b4 und
c1 bis c4 umgeordnet werden, ohne dass ihre relativen Zeitpositionen
innerhalb einer Vibratoperiode unverändert bleiben, ist die Vermeidung
einer Unnatürlichkeit,
die sich aus der Positionsanordnung ergeben würde.
-
Im
Fall der zwölf
Wellenformsegmente a1 bis a4, b1 bis b4 und c1 bis c4, wie sie in 16 gezeigt sind, sind 81 (34)
unterschiedliche Umordnungsmuster der Wellenformsegmentpositionen
pro Vibratoperiode und 813 unterschiedliche
Umordnungsmuster der Wellenformsegmentpositionen für drei Vibratoperioden
möglich,
so dass dieses Beispiel beträchtlich diversifizierte
Wellenformfarbenvariationen in einem Vibratospiel bieten kann. Ein
beliebiges der Umordnungs- oder Kombinationsmuster der Wellenformsegmentkombinationen
kann in zufälliger
Weise ausgewählt
werden.
-
Es
ist zu erkennen, dass die Wellenform mit einer Vibratocharakteristik,
die durch das Verfahren, das in 15 oder 16 gezeigt
ist (z. B. die Wellenform A',
die in Abschnitt (e) von 15 gezeigt
ist) oder durch ein anderes geeignetes Verfahren erzeugt wurde,
durch die Tonhöhenschablone
(Pitch), die Amplitudenschablone (Amp) und die Zeitschablone (TSC)
variabel gesteuert werden kann. Zum Beispiel kann die Tonhöhenschablone
(Pitch) die Vibratotiefe steuern, die Amplitudenschablone (Amp)
die Tiefe der Amplitudenmodulation steuern, die zusammen mit dem
Vibrato angewendet wird, und die Zeitschablone (TSC) die Zeitlänge der
Wellenform, die eine Vibratoperiode ausmacht, strecken oder komprimieren,
um dadurch die Vibratogeschwindigkeit (d. h. die Vibratoperiode)
zu steuern.
-
Im
veranschaulichten Beispiel von 15 kann
zum Beispiel die Zeitlänge
einer Vibratoperiode in streckender oder komprimierender Weise gesteuert
werden, indem die Zeitlänge
des jeweiligen Überblendungs-Zeitraums,
der in Abschnitt (d) gezeigt ist, gemäß einer gewünschten Zeitschablone (TSC)
zeitaxial gestreckt oder komprimiert wird (TSC-Steuerung), ohne
dass dabei eine Tonreproduktionstonhöhe (Variationsrate der Wellenform-Leseadressen)
geändert
wird. Auf diese Weise kann die Vibratofrequenz gesteuert werden.
Wo die TSC-Schablone in Entsprechung zu einer Vibratoperiode, genau
wie die im Abschnitt (c) von 15 gezeigte
Tonhöhenschablone,
erzeugt wird, ist es lediglich nötig,
dass die TSC-Schablone für
eine Vibratoperiode über
eine notwendige Anzahl von Vibratoperioden geschleift wird. Es wird
erkannt werden, dass die Tonhöhen- und
Amplitudenschablonen so gesteuert werden können, dass sie entlang der
Zeitachse in Reaktion auf eine zeitaxiale Streckungs- oder Komprimierungssteuerung
der Wellenform aufgrund der TSC-Schablone gestreckt oder komprimiert
werden, so dass diese Tonfaktoren so gesteuert werden können, dass
sie im Zusammenhang miteinander zeitaxial gestreckt oder komprimiert
werden.
-
Außerdem ist
es durch eine Aufwärts-
oder Abwärtsverschiebung
einer Tonhöhenvariations-Höhlkurvencharakteristik,
die durch die Tonhöhenschablone
festgelegt ist, möglich,
ihre Produktionstonhöhe
der Vibratowellenform variabel zu steuern. Wenn in diesem Fall eine
Anordnung vorgenommen wird, um die zeitaxiale Steuerung der Wellenform
aufgrund der TSC-Schablone wegzulassen, dann kann die Zeitlänge einer
Vibratoperiode so gesteuert werden, dass sie unabhängig von
der Reproduktionstonhöhe
konstant gehalten wird.
-
Verbindungsregel
-
Die
folgenden Absätze
beschreiben detaillierte Beispiele der Verbindungsregeldaten RULE, die
festlegen, wie Artikulationselemente miteinander zu verbinden sind.
-
Gemäß der bevorzugten
Ausführungsform sind
die folgenden Verbindungsregeln bezüglich der einzelnen Tonfaktoren
vorgesehen.
-
(1) Wellenform(Timbre)-Schablonen-Verbindungsregeln
-
Regel
1: Diese Regel definiert eine direkte Verbindung. Wo ein glatter Übergang
zwischen beieinander liegenden Artikulationselementen im Voraus
gewährleistet
ist, wie das bei einer im Voraus gesetzten Wiedergabestilsequenz
(Artikulationselementsequenz AESEQ) der Fall ist, würde eine
direkte Verbindung zwischen den Artikulationselementen ohne Interpolation
keine beträchtliche
Programmierung benötigen.
-
Regel
2: Diese Regel definiert einen Interpolationsvorgang, der auf einer
Ausdehnung des endenden Teils einer Wellenform A im vorhergehenden Element
beruht. Ein Beispiel eines solchen Interpolationsvorgangs ist in 17A gezeigt, wo der endende Teil der vorhergehenden
Elementwellenform A ausgedehnt wird, um ein Verbindungswellenformsegment
C1 vorzusehen, und die folgende Elementwellenform B direkt ohne
Veränderung
verwendet wird. Die Überblendungs-Synthese wird dadurch
ausgeführt,
dass das verbindende Wellenformsegment C1 am Ende der vorhergehenden
Elementwellenform A ausgeblendet wird und der beginnende Teil der
folgenden Elementwellenform B eingeblendet wird. Das verbindende
Wellenformsegment C1 wird typischerweise durch das Wiederholen eines
Auslesens eines oder mehrerer Zyklen im endenden Teil der vorhergehenden
Wellenform A über
eine notwendige Länge gebildet.
-
Regel
3: Diese Regel definiert einen Interpolationsvorgang, der auf einer
Ausdehnung des beginnenden Teils der folgenden Elementwellenform
B basiert. Ein Beispiel eines solchen Interpolationsvorgangs ist
in 17B gezeigt, wo der beginnende
Teil der folgenden Elementwellenform B ausgedehnt wird, um ein verbindendes
Wellenformsegment C2 bereitzustellen, und die vorhergehende Elementwellenform
A direkt ohne Veränderung
verwendet wird. Die Überblendungs-Synthese wird dadurch
ausgeführt,
dass der endende Teil der vorhergehenden Elementwellenform A ausgeblendet
und das verbindende Wellenformsegment C2 am Beginn der folgenden Elementwellenform
B eingeblendet wird. Ähnlich
wie oben erwähnt,
wird das verbindende Wellenformsegment C2 durch das Wiederholen
eines Auslesens einer oder mehrerer Zyklen im beginnenden Teil der folgenden
Elementwellenform B über
eine notwendige Länge
gebildet.
-
Regel
4: Diese Regel definiert einen Interpolationsvorgang, der auf einer
Erweiterung sowohl des endenden Teils der vorangehenden Elementwellenform
A als auch dem beginnenden Teil der folgenden Elementwellenform
B beruht. Ein Beispiel eines solchen Interpolationsvorgangs ist
in 17C gezeigt, wo der endende
Teil der vorangehenden Elementwellenform A erweitert ist, um ein
verbindendes Wellenformsegment C1 vorzusehen, und der beginnende
Teil der folgenden Elementwellenform B erweitert ist, um ein verbindendes
Wellenformsegment C2 vorzusehen, und wobei die Überblendungs-Synthese zwischen
den verbindenden Wellenformsegmenten C1 und C2 durchgeführt wird.
In diesem Fall wäre
die Gesamtzeitlänge
der synthetisierten Wellenform um eine Dauer verlängert, die
gleich der Länge
des Überblendungs-Synthesezeitraums
zwischen den verbindenden Wellenformsegmenten C1 und C2 ist, und
auf diese Weise wird die erhöhte
Zeitlänge
dann durch die TSC-Steuerung einer zeitaxialen Komprimierung unterzogen.
-
Regel
5: Diese Regel definiert ein Verfahren, das auf der Einfügung einer
im Voraus hergestellten Verbindungswellenform C zwischen der vorhergehenden
Elementwellenform A und der folgenden Elementwellenform B basiert,
wie das veranschaulichend in 17D gezeigt
ist. In diesem Fall werden der endende Teil der vorangehenden Elementwellenform
A und der beginnende Teil der folgenden Elementwellenform B teilweise
um eine Länge
gekürzt, die äquivalent
zur verbindenden Wellenform C ist. In einer Alternative kann die
verbindende Wellenform C zwischen der vorangehenden Element- und
der folgenden Element-Wellenform A und B eingefügt werden, ohne dass der endende
Teil der ersteren und der beginnende Teil der letzteren entfernt
wird, wobei in diesem Fall die Gesamtzeitlänge der synthetisierten Wellenform
jedoch um eine Dauer verlängert
würde, die
der eingefügten
verbindenden Wellenform C entspricht, weswegen dann die erhöhte Zeitlänge durch die
TSC-Steuerung einer zeitaxialen Komprimierung unterzogen wird.
-
Regel
6: Diese Regel definiert ein Verbindungsverfahren, das auf der Einfügung einer
im Voraus hergestellten Verbindungswellenform C zwischen der vorhergehenden
Elementwellenform A und der folgenden Elementwellenform B beruht,
wobei während
dieser Zeit eine Überblendungs-Synthese
zwischen dem endenden Teil der vorangehenden Elementwellenform A
und der ersten Hälfte
der verbindenden Wellenform C und zwischen dem beginnenden Teil
der folgenden Elementwellenform B und der zweiten Hälfte der
verbindenden Wellenform C durchgeführt wird, wie das veranschaulichend
in 17E gezeigt ist. Wenn die Gesamtzeitlänge der synthetisierten
Wellenform aufgrund der Einfügung der
verbindenden Wellenform C verlängert
oder verkürzt
wird, wird die erhöhte
oder verringerte Länge dann
durch die TSC-Steuerung einer zeitaxialen Komprimierung oder Streckung
unterzogen.
-
(2) Andere Verbindungsregeln
-
Weil
die Daten der anderen Schablonen (Amplituden-, Tonhöhen- und
Zeitschablone) als die Wellenformschablone (Timbre) eine einfache
Form einer Hüllkurvenwellenform
annehmen, kann ein glatter Übergang über einfache
Interpolationsvorgänge
erzielt werden, ohne dass auf komplexe Interpolationsoperationen
auf der Grundlage der 2-Kanal-Überblendungs-Steuerwellenformen
zurückgegriffen
werden muss. Daher ist es bei der Interpolationssynthese zwischen
den Schablonendaten, die jeweils die Form einer Hüllkurvenwellenform
annehmen, insbesondere vorzuziehen, wenn die Interpolationsergebnisse
als Differenzen (mit dem Vorzeichen plus oder minus) von den ursprünglichen
Schablonendatenwerten vorgesehen werden. Auf diese Weise werden
interpolierende arithmetische Operationen für einen glatten Übergang
lediglich dadurch erzielt, dass die interpolierten Ergebnisse oder
Differenzen (mit einem Vorzeichen plus oder minus) zu den ursprünglichen
Schablonendatenwerten addiert werden, was die notwendigen Operationen
auf diese Weise stark vereinfachen würde.
-
Regel
1: Diese Regel definiert eine direkte Verbindung, wie sie veranschaulichend
in 18A gezeigt ist. Bei diesem
Beispiel wird kein Interpolationsvorgang benötigt, weil der endende Pegel
einer ersten Elementschablone (Hüllkurvenwellenform) AE1
und ein beginnender Pegel einer zweiten Elementschablone (Hüllkurvenwellenform)
AE2-a und zwischen einem endenden Pegel der zweiten Elementschablone
(Hüllkurvenwellenform)
AE2-a und einem beginnenden Pegel einer dritten Elementschablone
(Hüllkurvenwellenform)
AE3 zusammenfallen.
-
Regel
2: Diese Regel definiert einen Glättungs-Interpolationsvorgang über einen
lokalen Bereich vor und nach jedem Verbindungspunkt, wie das veranschaulichend
in 18B gezeigt ist. In diesem Fall
wird ein Interpolationsvorgang durchgeführt, um einen glatten Übergang
von der ersten Elementschablone (Hüllkurvenwellenform) AE1 zur
zweiten Elementschablone (Hüllkurvenwellenform)
AE2-b in einem vorbestimmten Bereich CFT1 zwischen einem endenden
Teil der ersten Elementschablone AE1 und einem beginnenden Teil
der zweiten Elementschablone AE2-b zu ermöglichen. Außerdem wird ein Interpolationsvorgang
ausgeführt,
um einen glatten Übergang
von der ersten Elementschablone (Hüllkurvenwellenform) AE2-b zur
dritten Elementschablone (Hüllkurvenwellenform)
AE3 in einem vorbestimmten Bereich CFT2 zwischen einem endenden
Teil der zweiten Elementschablone und einem beginnenden Teil der
dritten Elementschablone zu ermöglichen.
-
Im
Fall der Regel 2 sei angenommen, dass die Daten E1', E2' und E3', die aus dem Interpolationsvorgang
hervorgehen, als Differenzen (mit einem Vorzeichen plus oder minus)
gegenüber
den entsprechenden ursprünglichen
Schablonendatenwerten (Hüllkurvenwerten)
E1, E2 und E3 angegeben sind. Auf diese Weise werden interpolierende
arithmetische Operationen für
glatte Übergänge lediglich
dadurch erzielt, dass die Interpolationsergebnisse bzw. Differenzen
E1', E2' und E3' zu den ursprünglichen Schablonendatenwerten
E1, E2 und E3, die in Echtzeit aus dem Schablonen-Datenbankabschnitt
TDB ausgelesen werden, addiert werden, und die notwendigen Operationen
für glatte Übergänge können stark vereinfacht
werden.
-
Insbesondere
kann der Interpolationsvorgang gemäß Regel 2 in einer beliebigen
von mehreren Weisen durchgeführt
werden, die in den 19A, 19B und 19C gezeigt sind.
-
Bei
dem Beispiel von 19A wird ein Zwischenpegel
MP zwischen einem Schablonendatenwert EP am Endpunkt eines vorhergehenden
Elements AEn und einem Schablonendatenwert
SP am Startpunkt eines folgenden Elements AEn+1 als
ein Zielwert gesetzt, und dann wird die Interpolation über einen
Interpolationsbereich RCFT in einem endenden Teil des vorhergehenden
Elements AEn ausgeführt, so dass der Schablonendatenwert
des vorhergehenden Elements AEn dazu gebracht
wird, sich allmählich
dem Zielwert MP anzunähern.
Als eine Folge verändert
sich der Verlauf der Schablonendaten des vorhergehenden Elements
AEn von der ursprünglichen Linie E1 zur Linie
E1'. Außerdem wird
in einem nächsten
Interpolationsbereich FCFT in einem beginnenden Teil des folgenden
Elements AEn+1 die Interpolation ausgeführt, so
dass die Schablonendaten des folgenden Elements AEn+1 dazu
gebracht werden, beim oben erwähnten
Zwischenpegel MP zu starten und sich allmählich dem Verlauf der ursprünglichen
Schablonendatenwerte anzunähern,
die durch die Linie E2 gekennzeichnet sind. Als eine Folge hieraus
nähert
sich der Verlauf der Schablonendaten des folgenden Elements AEn+1 im nächsten
Interpolationsbereich FCFT allmählich
dem ursprünglichen
Verlauf E2, wie durch die Linie E2' angegeben.
-
Außerdem wird
im Beispiel von 19B der Schablonendatenwert
SP am Startpunkt des folgenden Elements AEn+1 als
ein Zielwert gesetzt, und die Interpolation wird über den
Interpolationsbereich RCFT im endenden Teil des vorhergehenden Elements
AEn durchgeführt, so dass der Schablonendatenwert
des vorhergehenden Elements AEn dazu gebracht
wird, sich allmählich
dem Zielwert SP zu nähern.
Als eine Folge ändert
sich der Verlauf der Schablonendaten des vorhergehenden Elements
AEn von der ursprünglichen Linie E1 zur Linie
E1''. In diesem Fall
gibt es keinen Interpolationsbereich FCFT im beginnenden Teil des
folgenden Elements AEn+1.
-
Außerdem wird
im Beispiel von 19C die Interpolation über den
Interpolationsbereich FCFT im beginnenden Teil des folgenden Elements
AEn+1 ausgeführt, so dass die Schablonendaten
des folgenden Elements AEn+1 dazu gebracht
werden, mit dem Wert EP am Endpunkt des vorhergehenden Elements
AEn zu starten und sich allmählich dem
Verlauf der ursprünglichen
Schablonendatenwerte zu nähern,
der durch die Linie E2 angegeben ist. Als eine Folge nähert sich
der Verlauf der Schablonendaten des folgenden Elements AEn+1 im Interpolationsbereich RCFT allmählich dem
ursprünglichen
Verlauf E2, der durch die Linie E2'' angegeben
ist. In diesem Fall gibt es keinen Interpolationsbereich RCFT am
endenden Teil des vorhergehenden Elements AEn.
-
In
den 19A bis 19C sei
ebenfalls angenommen, dass Daten, die die einzelnen Verläufe E1', E2', E1'' und E2'' anzeigen,
die aus der Interpolation resultieren, als Differenzen von den entsprechenden
ursprünglichen
Schablonendatenwerten E1 und E2 gegeben sind.
-
Regel
3: Diese Regel definiert einen Glättungs-Interpolationsvorgang über einen
ganzen Abschnitt eines Artikulationselements, wovon ein Beispiel
in 18C gezeigt ist. In diesem
Beispiel werden zwar die Schablone (Hüllkurvenwellenform) eines ersten
Elements AE1 und die Schablone (Hüllkurvenwellenform) eines dritten
Elements AE3 unverändert
gelassen, doch wird eine Interpolation an allen Daten der Schablone
(Hüllkurvenwellenform) eines
zweiten Elements AE2-b zwischen den Elementen AE1 und AE3 in einer
solchen Art und Weise durchgeführt,
dass ein Startpegel der zweiten Elementschablone AE2-b mit einem
endenden Pegel der ersten Elementschablone AE1 zusammenfällt und
ein endender Pegel der zweiten Elementschablone AE2-b mit einem
startenden Pegel der dritten Elementschablone AE3 zusammenfällt. Auch
in diesem Fall sei angenommen, dass die Daten E2', die aus der Interpolation resultieren,
als eine Differenz (mit Vorzeichen plus oder minus) vom entsprechenden
ursprünglichen
Schablonendatenwert (Hüllkurvenwert)
E2 angegeben sind.
-
Insbesondere
kann der Interpolationsvorgang gemäß Regel 3 in einer beliebigen
von mehreren Arten und Weise durchgeführt werden, wie in den 20A, 20B und 20C gezeigt.
-
In 20A ist ein Beispiel gezeigt, bei dem die Interpolation
nur an einem Zwischenelement AEn zwischen zwei anderen Elementen
durchgeführt wird.
Das Bezugszeichen E1 repräsentiert
den ursprünglichen
Verlauf der Schablonendaten des Elements AEn. Der Schablonendatenwertverlauf
des Zwischenelements AEn wird gemäß einer Differenz zwischen
einem Schablonendatenwert EP0 am Endpunkt des Elements AEn–1,
das dem Element AEn vorausgeht, und einem ursprünglichen Schablonendatenwert
SP am Startpunkt des Zwischenelements AEn verschoben, um so Schablonendaten
zu erzeugen, die einem verschobenen Verlauf Ea über den gesamten Abschnitt
des Elements AEn folgen. Außerdem
wird der Schablonendatenwertverlauf des Zwischenelements AEn gemäß einer
Differenz zwischen einem ursprünglichen
Schablonendatenwert EP am Endpunkt des Zwischenelements AE und einem
Schablonendatenwert EP0 am Startpunkt des Elements AEn+1,
das dem Element AEn folgt, verschoben, um so Schablonendaten zu
erzeugen, die über
den gesamten Abschnitt des Elements AEn einem verschobenen Verlauf
Eb folgen. Hiernach werden die Schablonendaten der verschobenen
Verläufe Ea
und Eb einer Überblendungs-Interpolation
unterzogen, um einen glatten Übergang
vom Verlauf Ea zum Verlauf Eb zu schaffen, so dass interpolierte Schablonendaten
erhalten werden, die einem Verlauf E1' über
den gesamten Abschnitt des Elements AEn folgen.
-
In 20B ist ein weiteres Beispiel gezeigt, bei dem
eine Datenmodifikation über
den gesamten Abschnitt des Zwischenelements AEn durchgeführt wird,
und die Interpolation in einem vorbestimmten Interpolationsbereich
RCFT in einem endenden Teil des Zwischenelements AEn und
in einem vorbestimmten Interpolationsbereich FCFT in einem beginnenden
Teil des folgenden Elements AEn+1 durchgeführt wird.
Zuerst wird in ähnlicher
Weise wie oben erwähnt
der Schablonendatenwertverlauf E1 des Zwischenelements AEn gemäß einer
Differenz zwischen einem Schablonendatenwert EP0 am Endpunkt des Elements
AEn–1,
das dem Element AEn vorausgeht, und einem ursprünglichen Schablonendatenwert
SP am Startpunkt des Zwischenelements AEn verschoben, um so Schablonendaten
zu erzeugen, die über den
gesamten Abschnitt des Elements AEn einem verschobenen Verlauf Ea
folgen.
-
Hiernach
wird ein Zwischenpegel MPa zwischen einem Schablonendatenwert EP
am Endpunkt des Verlaufs Ea und ein Schablonendatenwert SP1 am Startpunkt
des folgenden Elements AEn+1 als ein Zielwert
gesetzt, und dann eine Interpolation über den Interpolationsbereich
RCFT im endenden Teil des Zwischenelements AEn durchgeführt, so
dass der Schablonendatenwert des vorhergehenden Elements AEn, der dem Verlauf Ea folgt, dazu gebracht wird,
sich allmählich
dem Zielwert MPa anzunähern. Als
eine Folge hiervon ändert
sich der Verlauf Ea der Schablonendaten des Elements AEn wie
bei Ea' angegeben.
Außerdem
wird im nächsten
Interpolationsbereich FCFT im beginnenden Teil des folgenden Elements
AEn+1 die Interpolation so ausgeführt, dass die
Schablonendaten des folgenden Elements AEn+1 dazu
gebracht werden, am oben erwähnten
Zwischenpegel MPa anzufangen und sich allmählich dem ursprünglichen
Schablonendatenwertverlauf anzunähern,
wie er durch die Linie E2 angegeben ist. Als eine Folge hiervon
nähert
sich der Verlauf der Schablonendaten des folgenden Elements AEn+1 im nächsten Interpolationsbereich
FCFT allmählich
dem ursprünglichen
Verlauf E2, wie bei der Linie E2' angegeben.
-
In 20C ist noch ein weiteres Beispiel gezeigt, bei
dem eine Datenmodifikation über
den gesamten Abschnitt des Zwischenelements AEn durchgeführt wird,
die Interpolation im Interpolationsbereich RCFT im endenden Bereich
des vorhergehenden Elements AEn–1 und
im Interpolationsbereich FCFT im beginnenden Teil des Zwischenelements AEn durchgeführt wird und auch die Interpolation
in den Interpolationsbereichen RCFT und FCFT im endenden Teil des
Zwischenelements AEn und im beginnenden
Teil des folgenden Elements AEn+1 durchgeführt wird.
Zuerst wird der ursprüngliche
Schablonendatenwertverlauf E1 des Zwischenelements AEn durch einen
entsprechenden Versatzwert OFST verschoben, um so Schablonendaten
zu erzeugen, die über
den gesamten Abschnitt des Elements AEn einem verschobenen Verlauf
Ec folgen.
-
Hiernach
wird die Interpolation in den Interpolationsbereichen RCFT und FCFT
im endenden Teil des vorhergehenden Elements AEn–1 und
dem beginnenden Teil des Zwischenelements AEn durchgeführt, um
einen glatten Übergang
zwischen den Schablonendatenverläufen
E0 und Ec zu schaffen, so dass in diesen Interpolationsbereichen
interpolierte Verläufe
E0' und Ec' erhalten werden.
In ähnlicher Weise
wird die Interpolation in den Interpolationsbereichen RCFT und FCFT
im endenden Teil des Zwischenelements AEn und
dem beginnenden Teil des folgenden Elements AEn+1 durchgeführt, um
zwischen den Schablonendatenverläufen
Ec und E2 einen glatten Übergang
zu schaffen, so dass die interpolierten Verläufe Ec'' und
E2'' in diesen Interpolationsbereichen
RCFT und FCFT erhalten werden.
-
Auch
in 20 sei angenommen, dass Daten, welche die einzelnen
Verläufe
E1', Ea, Ea', E2', Ec, Ec', Ec'' und E0', die aus der Interpolation resultieren,
als Differenzen von den entsprechenden ursprünglichen Schablonendatenwerten
E1, E2 und E0 angegeben sind.
-
Konzeptuelle Beschreibung
einer einen Verbindungsvorgang aufweisenden Tonsyntheseverarbeitung
-
21 ist ein konzeptuelles Blockdiagramm, das eine
allgemeine Struktur einer Tonsynthetisierungsvorrichtung gemäß einer
bevorzugten Ausführungsform
der vorliegenden Erfindung zeigt, die zum Durchführen des oben beschriebenen
Verbindungsvorgangs für
alle den Tonfaktoren entsprechenden Schablonendaten und dadurch
zum Ausführen
der Tonsyntheseverarbeitung auf der Grundlage der auf diese Weise
verbundenen Schablonendaten konstruiert ist.
-
In 21 liefern die Schablonendaten Versorgungsblöcke TB1,
TB2, TB3 und TB4 Wellenformschablonendaten Timb-Tn, Amplitudenschablonendaten
Amp-Tn, Tonhöhenschablonendaten
Pit-Tn bzw. Zeitschablonendaten TSC-Tn eines ersten von zwei beieinanderliegenden
Artikulationselementen (hiernach als vorhergehendes Artikulationselement bezeichnet),
sowie Schablonendaten Timb-Tn+1, Amplitudenschablonendaten
Amp-Tn+1, Tonhöhenschablonendaten Pit-Tn+1 bzw. Zeitschablonendaten TSC-Tn+1 des weiteren bzw. des zweiten der zwei beieinander
liegenden Artikulationselemente (hiernach als folgendes Artikulationselement
bezeichnet).
-
Die
Regeldecodierungsvorgangsblöcke RB1,
RB2, RB3 und RB4 decodieren Verbindungsregeln TimbRULE, AmpRULE,
PitRULE und TSCRULE, die den einzelnen Tonfaktoren des betreffenden
Artikulationselements entsprechen, und sie führen, wie vorher in Bezug auf
die 17–20 beschrieben,
den Verbindungsvorgang gemäß den entsprechenden
decodierten Verbindungsregeln durch. Zum Beispiel führt der
Regeldecodierungsvorgangsblock RB1 für die Wellenformschablone verschiedene
Operationen zum Ausführen
des Verbindungsvorgangs, wie er vorher anhand von 17 beschrieben wurde, aus (d. h. die direkte Verbindung
oder Überblendungs-Interpolation).
-
Der
Regeldecodierungsvorgangsblock RB2 für die Amplitudenschablone führt verschiedene Operationen
zum Ausführen
des Verbindungsvorgangs, wie er vorher anhand der 18–20 beschrieben
wurde, durch (d. h. die direkte Verbindung oder Interpolation).
In diesem Fall werden, weil die Interpolationsergebnisse als Differenzen
(mit dem Vorzeichen plus oder minus) von den ursprünglichen
Datenwerten angegeben sind, die jeweiligen interpolierten Daten
oder die Differenzwertausgabe aus dem Regeldecodierungsblock RB2 über einen
Addierer AD2 zum ursprünglichen
Schablonendatenwert addiert, der vom entsprechenden Schablonendatenversorgungsblock
TB2 geliefert wird. Aus einem ähnlichen
Grund sind Addierer AD3 und AD4 zum Addieren der Ausgaben aus den
anderen Regeldecodierungsvorgangsblöcken RB3 und RB4 mit den ursprünglichen
Schablonendatenwerten, die von den entsprechenden Schablonendatenversorgungsblöcken TB3
und TB4 geliefert werden, vorgesehen.
-
Auf
diese Weise geben die Addierer AD2, AD3 und AD4 Schablonendaten
Amp, Pitch bzw. TSC aus, die jeweils der vorbestimmten Verbindung zwischen
beieinander liegenden Elementen unterzogen wurden. Der Tonhöhensteuerblock
CB3 ist zum Steuern einer Wellenformausleserate gemäß den Tonhöhenschablonendaten
Pitch vorgesehen. Da die Wellenformschablone selbst Information
enthält,
die eine ursprüngliche
Tonhöhe
(ursprüngliche
Tonhöhenhüllkurve)
angibt, empfängt
der Tonhöhensteuerblock
CB3 über
eine Leitung L1 die ursprüngliche Tonhöheninformation
von der Datenbank und steuert die Wellenformausleserate auf der
Grundlage einer Differenz zwischen der ursprünglichen Tonhöhenhüllkurve
und den Tonhöhenschablonendaten
Pitch. Wenn die ursprüngliche
Tonhöhenhüllkurve
und die Tonhöhenschablonendaten
Pitch übereinstimmen,
ist es lediglich notwendig, dass die gewünschten Wellenformdaten mit
einer konstanten Rate ausgelesen werden, wenn sich die ursprüngliche
Tonhöhenhüllkurve
und die Tonhöhenschablonendaten
Pitch jedoch unterscheiden, ist es notwendig, dass der Tonhöhensteuerblock
CB3 die Wellenformausleserate um einen Grad variabel steuert, der
der dazwischen liegenden Differenz entspricht. Außerdem empfängt der
Tonhöhensteuerblock
CB3 Notenbezeichnungsdaten und steuert die Wellenformausleserate
gemäß den empfangenen
Notenbezeichnungsdaten. Angenommen, die ursprüngliche von den Wellenformschablonendaten
festgelegte Tonhöhe
ist im Wesentlichen eine Tonhöhe
der Note "C4" und ein Ton der Note
D4, der von den Notenbezeichnungsdaten festgelegt wurde, wird ebenfalls
unter der Verwendung derselben Wellenformschablonendaten mit der
ursprünglichen
Höhe der
Note C4 erzeugt, dann wird die Wellenformausleserate gemäß einer
Differenz zwischen der Tonhöhe
der "Note D4", die durch die Notenbezeichnungsdaten
festgelegt ist, und die Tonhöhe
der ursprünglichen "Note C4" gesteuert. Einzelheiten
einer solchen Tonhöhensteuerung
werden hier nicht beschrieben, da das auf diesem Gebiet der Technik
wohl bekannte herkömmliche
Verfahren für diese
Steuerung eingesetzt werden kann.
-
Der
Wellenformzugriffssteuerungsblock CB1 liest sequenziell einzelne
Abtastungen der Wellenformschablonendaten im Wesentlichen gemäß der Wellenform-Ausleserate-Steuerinformationsausgabe
aus dem Tonhöhensteuerblock
CB3 aus. Zu dieser Zeit wird die gesamte Wellenformauslesezeit gemäß der TSC-Steuerinformation
variabel gesteuert, während
die Wellenformauslesebetriebsart gemäß der TSC-Steuerinformation
gesteuert wird, die als Zeitschablonendaten gegeben sind, und die
Tonhöhe eines
erzeugten Tons wird gemäß der Wellenformschablonendaten-Steuerinformation
gesteuert. Wenn zum Beispiel die Zeitlänge der Tonerzeugung (des Erklingenlassens)
gestreckt werden soll oder länger
als die Zeitlänge
der ursprünglichen
Wellenformdaten gemacht werden soll, kann sie mit einer beibehaltenen
gewünschten
Tonhöhe
entsprechend gestreckt werden, indem ermöglicht wird, dass ein Teil
der Wellenform repetitiv ausgelesen wird, während die Wellenformausleserate
unverändert
bleibt. Wenn auf der anderen Seite die Tonerzeugungszeit komprimiert
oder kürzer
als die Zeitlänge
der ursprünglichen
Wellenformdaten gemacht werden soll, kann sie mit einer beibehaltenen
gewünschten
Tonhöhe
entsprechend komprimiert werden, indem ermöglicht wird, dass ein Teil
der Wellenform sporadisch ausgelesen wird, während die Wellenformausleserate
unverändert
bleibt.
-
Außerdem führen der
Wellenformzugriffssteuerblock CB1 und der Überblendungs-Steuerblock CB2
verschiedene Operationen zum Ausführen des Verbindungsvorgangs,
wie er vorher anhand von 17 beschrieben
wurde, durch (d. h. die direkte Verbindung oder Überblendungs-Interpolation)
gemäß der Ausgabe
aus dem Wellenformschablonenregeln-Decodierungs-Prozessblock RB1.
Der Überblendungs-Steuerblock
CB2 wird ebenfalls zum Ausführen
des Überblendungs-Vorgangs an einer
partiellen Wellenformschablone verwendet, die in einer geschleiften
Weise ausgelesen wird, gemäß dem partiellen
Vektor PVQ, sowie zum Glätten
eines Wellenformübergangs
während
der oben erwähnten TSC-Steuerung.
-
Außerdem verleiht
ein Amplitudensteuerblock CB4 den erzeugten Wellenformdaten eine
Amplitudenhüllkurve,
die durch die Amplitudenschablone Amp festgelegt ist. Da die Wellenformschablone selbst
ebenfalls eine ursprüngliche Amplitudenhüllkurve
anzeigende Information enthält,
empfängt
der Amplitudensteuerblock CB4 über
eine Leitung L2 die ursprüngliche
Amplitudenhüllkurveninformation
von der Datenbank und steuert die Wellenformdatenamplitude auf der
Grundlage einer Differenz zwischen der ursprünglichen Amplitudenhüllkurve
und den Amplitudenschablonendaten Amp. Wenn die ursprüngliche Amplitudenhüllkurve
und die Amplitudenschablonendaten Amp miteinander übereinstimmen,
ist es lediglich notwendig, dass der Amplitudensteuerblock CB4 den
Wellenformdaten ermöglicht,
hindurch zu gelangen, ohne dass an ihnen eine wesentliche Amplitudensteuerung
durchgeführt
wird. Wenn sich auf der anderen Seite die ursprüngliche Amplitudenhüllkurve und
die Amplitudenschablonendaten Amp voneinander unterscheiden, ist
es lediglich notwendig, das der Amplitudenpegel um einen der Differenz
entsprechenden Grad variabel gesteuert wird.
-
Detaillierte Beschreibung
der Tonsynthetisierungsvorrichtung
-
22 ist ein Blockdiagramm, das einen beispielhaften
Hardwareaufbau der Tonsynthetisierungsvorrichtung gemäß einer
bevorzugten Ausführungsform
der vorliegenden Erfindung zeigt, die auf eine Vielzahl elektronisch
betreibbarer Geräte,
wie zum Beispiel ein elektronisches Musikinstrument, ein Karaokegerät, eine
elektronische Spielmaschine, eine Multimediaeinrichtung oder einen
PC angewendet werden kann.
-
Die
Tonsynthetisierungsvorrichtung, die in 22 gezeigt
ist, führt
die Tonsynthetisierungsverarbeitung auf der Grundlage der erfindungsgemäßen Prinzipien
durch. Zu diesem Zweck wird ein Softwaresystem aufgebaut, um die
Tondatenherstellung und die Tonsyntheseverarbeitung gemäß der vorliegenden
Erfindung zu implementieren, und es wird auch eine vorgegebene Datenbank
DB in einem Speichergerät
aufgebaut, das mit der Tonsynthetisierungsvorrichtung verbunden
ist. Als Alternative hierzu kann die Tonsynthetisierungsvorrichtung
so ausgelegt sein, dass sie über
eine Kommunikationsleitung Zugriff auf eine Datenbank DB hat, die
sich außerhalb
der Tonsynthetisierungsvorrichtung befindet; die externe Datenbank
DB kann in einem Hostcomputer vorgesehen sein, der mit der Tonsynthetisierungsvorrichtung
verbunden ist.
-
Die
Tonsynthetisierungsvorrichtung von 22 enthält eine
CPU (Central Processing Unit) 10 als ihre Hauptsteuerung,
unter deren Steuerung die Softwareprogramme zum Durchführen der
Tondatenherstellung und der Tonsynthetisierungsverarbeitung gemäß der vorliegenden
Erfindung laufen, sowie ein Softwaretongeneratorprogramm. Es sollte ersichtlich
sein, dass die CPU 10 auch zum Ausführen jeglicher anderer notwendiger
Programme parallel zu den oben erwähnten Programmen fähig ist.
-
Mit
der CPU 10 sind über
einen Daten- und Adressbus 22 ein ROM (Read Only Memory) 11,
ein RAM (Random Access Memory) 12, eine Festplattenvorrichtung 13,
eine Wechselplattenvorrichtung (wie zum Beispiel ein CD-ROM-, oder MO-, d.
h. magnetooptisches, Laufwerk) 14, ein zweites Wechselplattenlaufwerk
(wie zum Beispiel ein Diskettenlaufwerk) 15, ein Bildschirm 16,
eine Eingabevorrichtung 17, wie zum Beispiel eine Tastatur
und eine Maus, eine Wellenformschnittstelle 18, eine Zeituhr 19,
eine Netzwerkschnittstelle 20, eine MIDI-Schnittstelle 21 und
so weiter, verbunden.
-
Außerdem ist 23 ein Blockdiagramm, das einen beispielhaften
detaillierten Aufbau einer Wellenformschnittstelle 18 und
eine beispielhafte Anordnung von im RAM 12 vorgesehenen
Wellenformpuffern zeigt. Die Wellenformschnittstelle 18,
die sowohl die Eingabe (Abtastung) als auch die Ausgabe von Wellenformdaten
in die Tonsynthetisierungsvorrichtung bzw. aus ihr heraus steuert,
enthält
einen Analog-Digital-Wandler
(ADC) 23 zum Abtasten der Wellenformdaten, die von einer
externen Quelle über ein
Mikrofon oder dergleichen eingegeben werden, zum Konvertieren der
Daten in eine digitale Darstellung, einen ersten DMAC (Direct Memory
Access Controller) 24 zum Abtasten der eingegebenen Wellenformdaten,
einen Abtasttaktpulsgenerator 25 zum Erzeugen eines Abtasttaktpulses
Fs mit einer vorbestimmten Frequenz, einen zweiten DMAC (Direct
Memory Access Controller) 26 zum Steuern der Wellenformdatenausgabe
und einen Digital-Analog-Wandler (DAC) 27 zum Konvertieren
der Ausgangswellenformdaten in eine analoge Darstellung. Hier sei
angenommen, dass der zweite DMAC auch zum Erzeugen einer absoluten
Zeitinformation auf der Grundlage der Abtasttaktpulse Fs und zum
Einspeisen der auf diese Weise erzeugten absoluten Zeitinformation in
den CPU-Bus 22 funktioniert.
-
Wie
gezeigt, enthält
der RAM 12 mehrere Wellenformpuffer W-BUF, von denen jeder
eine Speicherkapazität
(Anzahl von Adressen) zum kumulativen Speichern von bis zu einem
Rahmen der Wellenformabtastdaten hat. Angenommen, die Reproduktionsabtastfrequenz
auf der Grundlage der Abtasttaktpulse Fs ist 48 kHz und die Zeitlänge eines
Rahmens ist 10 ms und jeder der Wellenformpuffer W-BUF hat eine Speicherkapazität zum Speichern
von insgesamt bis zu 480 Wellenformabtastdaten. Mindestens zwei
der Wellenformpuffer W-BUF (A und B), werden in einer solchen Weise
eingesetzt, dass, wenn der eine Wellenformpuffer W-BUF in einen Lesemodus zum
Zugriff durch den zweiten DMAC 26 der Wellenformschnittstelle 18 versetzt
wird, der andere Wellenformpuffer W-BUF in einen Schreibmodus versetzt wird,
damit erzeugte Wellenformdaten in ihn geschrieben werden können. Gemäß dem in
dieser Ausführungsform
verwendeten Tonsynthese-Verarbeitungsprogramm wird ein Rahmen von
Wellenformabtastdaten kollektiv erzeugt und im Wellenformpuffer
W-BUF, der in den Schreibmodus versetzt wurde, für jeden der Tonsynthetisierungskanäle akkumulativ
gespeichert. Insbesondere werden in einem Fall, bei dem ein Rahmen
auf 480 Abtastungen gesetzt ist, 480 Wellenformabtastdaten arithmetisch
in kollektiver Weise für
den ersten Tonsynthetisierungskanal erzeugt und dann in entsprechenden
Abtastorten (Adressorten) im Wellenformpuffer W-BUF im Schreibmodus
gespeichert, und dann werden 480 Wellenformabtastdaten in kollektiver
Weise für
den zweiten Tonsynthetisierungskanal arithmetisch erzeugt und dann
zu entsprechenden Abtastorten (Adressorten) im selben Wellenformpuffer
W-BUF addiert oder in ihnen akkumuliert. Ähnliche Operationen werden
für jeden
anderen Tonsynthetisierungskanal wiederholt. Als Ergebnis hat, wenn
die arithmetische Erzeugung eines Rahmens von Wellenformabtastdaten
für alle
Tonsynthetisierungskanäle
abgeschlossen ist, jeder der Abtastorte (Adressorte) des Wellenformpuffers
W-BUF im Schreibmodus in sich eine Akkumulation der entsprechenden
Wellenformabtastdaten aller Tonsynthetisierungskanäle gespeichert.
Zum Beispiel wird zuerst ein Rahmen der akkumulierten Wellenformabtastdaten
in den Wellenformpuffer W-BUF "A" geschrieben und
dann ein weiterer Rahmen der akkumulierten Wellenformabtastdaten
in den Wellenformpuffer W-BUF "B" geschrieben. Nachdem
ein Rahmen der akkumulierten Wellenformabtastdaten vollständig geschrieben
wurde, wird der Wellenformpuffer W-BUF "A" am Beginn des nächsten Rahmens
in den Lesemodus geschaltet, so das die akkumulierten Wellenformdaten
mit einer vorbestimmten Abtastfrequenz auf der Grundlage der Abtasttaktimpulse
regelmäßig ausgelesen
werden. Daher ist es zwar im Grunde genommen ausreichend, wenn nur
zwei Wellenformpuffer W-BUF (A und B) verwendet werden und die beiden
alternierend zwischen dem Lese- und dem Schreibmodus hin- und hergeschaltet
werden, doch können
auch drei oder mehr Wellenformpuffer W-BUF (A, B, ...) verwendet
werden, wie das hier gezeigt ist, wenn gewünscht ist, einen Speicherplatz
bereitzustellen, der zum Schreiben mehrerer Rahmen im Voraus ausreicht.
-
Das
Softwareprogramm zum Implementieren der Tondatenerzeugung und der
Tonsyntheseverarbeitung der vorliegenden Erfindung kann unter der Steuerung
der CPU 10 entweder im ROM 11, im RAM 12,
auf der Festplatte 13 oder einem der Wechselmedien 14, 15 vorgespeichert
sein. In einer Alternative kann die Tonsynthetisierungsvorrichtung über die
Netzwerkschnittstelle 20 an ein Kommunikationsnetzwerk
angeschlossen sein, so dass die Softwareprogramme zum Implementieren
der Tondatenherstellung und der Tonsyntheseverarbeitung sowie die Daten
der Datenbank DB entweder im internen RAM 12, auf der Festplatte 13 oder
den Wechselmedien 14, 15 gespeichert sein kann.
-
Die
CPU 10 führt
die Softwareprogramme zum Implementieren der Tondatenherstellung
und der Tonsyntheseverarbeitung, das zum Beispiel im RAM 12 vorgespeichert
ist, zum Synthetisieren der Tonwellenformdaten entsprechend einer
bestimmten Wiedergabestilsequenz und zum vorübergehenden Speichern der auf
diese Weise erzeugten Tonwellenformdaten im Wellenformpuffer W-BUF
im RAM 12 aus. Dann werden unter der Steuerung des zweiten DMAC 26 die
Wellenformdaten im Wellenformspeicher W-BUF ausgelesen und zur notwendigen D/A-Konvertierung
an den Digital-Analog-Wandler (DAC) 27 geschickt. Die D/A-gewandelten
Tonwellenformdaten werden an ein (nicht gezeigtes) Soundsystem weitergeleitet, über das
sie hörbar
wiedergegeben bzw. zum Klingen gebracht werden.
-
Die
folgende Beschreibung basiert auf der Annahme, dass die Daten der
Wiedergabestilsequenz (Artikulationselementsequenz AESEQ) der vorliegenden
Erfindung in automatischen Sequenzdaten im MIDI-Format vorliegen,
wie in 8A gezeigt. Auch wenn im Zusammenhang
mit 8A oben nicht im Einzelnen
ausgeführt,
können
die Daten der Wiedergabestilsequenz (Artikulationselementsequenz
AESEQ) zum Beispiel als MIDI-Exklusiv-Daten im MIDI-Format vorliegen.
-
24 ist ein Zeitdiagramm, das eine Tonerzeugungsverarbeitung
zeigt, die durch den Softwaretongenerator auf der Grundlage der
MIDI-Format-Spieldaten durchgeführt
wird. "Spielzeit" in Abschnitt (a)
von 24 zeigt eine entsprechende
Zeit verschiedener Ereignisse #1 bis #4 an, wie zum Beispiel MIDI-Note-Ein,
-Note-Aus oder ein
anderes Ereignis ("EVENT
(MIDI)", das in 8A gezeigt ist) und ein Artikulationselementsequenzereignis ("EVENT (AESEQ)", das in 8A gezeigt ist). Im Abschnitt (b) von 24 ist ein Beispielverhältnis zwischen Zeitabstimmungen
für arithmetische
Operationen zum Erzeugen von Wellenformabtastdaten ("Wellenformerzeugung") und zur Zeitabstimmung für die Reproduktion
der erzeugten Wellenformabtastdaten ("Wellenformreproduktion") gezeigt. Die oberen "Wellenformerzeugungs"-Blöcke in Abschnitt (b)
zeigen jeweils die Zeitabstimmung zum Ausführen eines Vorgangs an, bei
dem ein Rahmen von Wellenformabtastdaten kollektiv für einen
der Tonsynthetisierungskanäle
erzeugt wird und die auf diese Weise erzeugten Wellenformabtastdaten
der einzelnen Kanäle
in den entsprechenden Abtastorten (Adressorten) eines der Wellenformpuffer
W-BUF addiert bzw. in ihnen akkumuliert werden, der in den Schreibmodus
versetzt ist. Die unteren "Wellenformreproduktions"-Blöcke im Abschnitt
(b) geben jeweils die Zeitabstimmung für die Ausführung eines Vorgangs an, bei
dem die akkumulierten Wellenformabtastdaten für den einen Rahmen umfassenden
Zeitraum für
den Wellenformpuffer W-BUF regelmäßig mit einer vorbestimmten
Abtastfrequenz auf der Grundlage der Abtasttaktimpulse ausgelesen
werden. Die Bezugszeichen "A" und "B", die an die einzelnen Blöcke in Abschnitt
(b) angehängt
sind, zeigen an, in welchen der Wellenformpuffer W-BUF die Wellenformabtastdaten
geschrieben und aus welchen sie ausgelesen werden, d. h. welche
der Wellenformpuffer W-BUF im Schreib- und welcher im Lesemodus
ist. "FR1", "FR2", "FR3", ... repräsentieren eindeutige
Nummern, die den einzelnen Rahmenzeiträumen zugewiesen werden. Zum
Beispiel wird ein im Rahmenzeitraum FR1 arithmetisch erzeugter vorgegebener
Rahmen von Wellenformabtastdaten in den Wellenformpuffer W-BUF "A" eingelesen und im nächsten Rahmenzeitraum FR2 aus
ihm ausgelesen. Hiernach wird ein nächster Rahmen von Wellenformabtastdaten
arithmetisch erzeugt und in den Wellenformpuffer W-BUF im Rahmenzeitraum
FR2 in den Wellenformpuffer W-BUF "B" geschrieben,
und dann im folgenden Rahmenzeitraum FR3 wieder aus dem Wellenformpuffer
W-BUF "B" ausgelesen.
-
Die
Ereignisse #1, #2 und #3, die Abschnitt (a) von 24 gezeigt sind, treten alle in einem einzigen
Rahmenzeitraum ein, und die arithmetische Erzeugung von Wellenformabtastdaten,
die diesen Ereignissen #1, #2 und #3 entspricht, wird im Rahmenzeitraum
FR3, der in Abschnitt (b) gezeigt ist, eingeleitet, so dass die
diesen Ereignissen #1, #2 und #3 entsprechenden Töne im Rahmenzeitraum
FR4, der dem Rahmenzeitraum FR3 folgt, zum Aufsteigen (Erklingen)
gebracht werden. Das Bezugszeichen "Δt" im Abschnitt (a)
repräsentiert
eine Zeitdifferenz oder -abweichung zwischen der vorbestimmten Eintretenszeit
der Ereignisse #1, #2 und #3, die als MIDI-Spieldaten gegeben sind,
und der Zeit des Erklingens bzw. des Tonerzeugungsstarts der entsprechenden
Töne. Eine
solche Zeitdifferenz oder -abweichung würde den Höreindruck der Zuhörer nicht beeinflussen,
da er nur so klein wie die Zeitlänge
eines bis mehrerer Rahmenzeiträume
entspricht. Es wird darauf hingewiesen, dass die Wellenformabtastdaten
am Beginn der Tonerzeugung an einem vorbestimmten zwischenplatzierten
bzw. auf dem Weg befindlichen Ort des Wellenformpuffers W-BUF geschrieben
werden, der in den Schreibmodus versetzt wurde, und nicht unmittelbar
am Beginn des Puffers W-BUF und unmittelbar danach.
-
Die
Art und Weise zum arithmetischen Erzeugen der Wellenformabtastdaten
in der "Wellenformerzeugungs"-Stufe ist für automatische
Spieltöne auf
der Grundlage normaler MIDI-Note-Ein-Ereignisse (hiernach als "normales Spiel" bezeichnet) und
für Spieltöne auf der
Grundlage von Ein-Ereignissen einer Artikulationselementsequenz
AESEQ (hiernach als "Wiedergabestilspiel" bezeichnet) nicht
die selbe. Das "normale
Spiel" auf der Grundlage
normaler MIDI-Note-Ein-Ereignisse
und das "Wiedergabestilspiel" auf der Grundlage
von Ein-Ereignissen einer Artikulationselementsequenz AESEQ werden
durch unterschiedliche Verarbeitungsroutinen ausgeführt, wie
das in den 29 und 30 gezeigt
ist. Wenn zum Beispiel ein Begleitungspart durch das "normale Spiel" auf der Grundlage
normaler MIDI-Noten-Ein-Ereignisse und ein bestimmter Solopart durch
das "Wiedergabestilspiel" auf der Grundlage von
Ein-Ereignissen einer Artikulationselementsequenz AESEQ gespielt
wird, ist das sehr effektiv.
-
25 ist ein Fließdiagramm, das die "Wiedergabestilspiel"-Verarbeitung auf
der Grundlage von Daten einer Wiedergabestilsequenz gemäß der vorliegenden
Erfindung (d. h. eine Tonsyntheseverarbeitung auf der Grundlage
von Artikulationselementen) zeigt. In 25 sind "Phrasenvorbereitungsbefehl" und "Phrasenstartbefehl" als "Artikulationselementsequenzereignis
EVENT (AESEQ)" in
den MIDI-Spieldaten, wie in 8A gezeigt,
enthalten. Ereignisdaten enthalten nämlich in einer einzigen Artikulationselementsequenz
AESEQ (in 25 als "Phrase" bezeichnet) den "Phrasenvorbereitungsbefehl" und den "Phrasenstatusbefehl". Der "Phrasenvorbereitungsbefehl", der dem "Phrasenstatusbefehl" vorausgeht, bezeichnet
eine bestimmte Artikulationselementsequenz AESEQ (d. h. eine Phrase),
die zu reproduzieren ist, und weist eine Vorbereitung zur Reproduktion
der bestimmten Sequenz an. Dieser Phrasenvorbereitungsbefehl wird
eine vorbestimmte Zeit vor einem vorbestimmten Erklingen Lassen
bzw. einem Tonerzeugungsstartpunkt der Artikulationselementsequenz
AESEQ gegeben. In einer durch den Block 30 angegebenen "Vorbereitungsoperation" werden in Reaktion
auf den Phrasenvorbereitungsbefehl alle notwendigen Daten zum Reproduzieren der
bestimmten Artikulationselementsequenz AESEQ aus der Datenbank DB
abgerufen und in einen vorbestimmten Pufferbereich des RAM 12 heruntergeladen,
so dass die notwendigen Vorbereitungen getroffen werden, um die
angewiesene Reproduktion der Sequenz AESEQ prompt auszuführen. Außerdem interpretiert
diese Vorbereitungsoperation die bestimmte Artikulationselementsequenz
AESEQ, wählt
oder setzt Regeln zum Verbinden beieinander liegender Artikulationselemente
und erzeugt weiter die nötigen
Verbindungssteuerdaten und dergleichen. Wenn zum Beispiel die bezeichnete
Artikulationselementsequenz AESEQ insgesamt fünf Artikulationselemente AE#1
bis AE#5 umfasst, werden entsprechende Verbindungsregeln für einzelne Übergangsbereiche
(die als "Verbindung
1"–"Verbindung 4" bezeichnet sind)
zwischen ihnen gesetzt und Verbindungssteuerdaten für die einzelnen
Verbindungsbereiche erzeugt. Außerdem
werden eine entsprechende Startzeit der fünf Artikulationselemente AE#1–AE#5 anzeigende
Daten in relativen Zeiten zum Beginn der Phrase vorbereitet.
-
Der "Phrasenstartbefehl", der dem "Phrasenvorbereitungsbefehl" folgt, weist einen
Start eines Erklingenlassens (einer Tonerzeugung) der bezeichneten Artikulationselementsequenz
AESEQ an. Die Artikulationselemente AE#1–AE#5, die in der oben erwähnten Vorbereitungsoperation
vorbereitet wurden, werden im Ansprechen auf diesen Phrasenstartbefehl
sequenziell reproduziert. Nachdem nämlich die Startzeit der jeweiligen
Artikulationselemente AE#1–AE#5
gekommen ist, wird die Reproduktion der Artikulationselemente eingeleitet
und ein vorbestimmter Verbindungsvorgang ausgeführt, je nach den im Voraus
erzeugten Verbindungssteuerdaten, um es den reproduzierten Artikulationselementen
zu ermöglichen,
mit dem vorhergehenden Artikulationselement AE#1–AE#4 am vorbestimmten Verbindungsbereich
(Verbindung 1–Verbindung
4) glatt verbunden zu werden.
-
26 ist ein Fließdiagramm, das eine Hauptroutine
der Tonsyntheseverarbeitung zeigt, die durch die CPU 10 von 22 ausgeführt
wird. In einem "automatischen
Spielvorgang" innerhalb
der Hauptroutine werden verschiedene Operationen auf der Grundlage
von Ereignissen ausgeführt,
die durch automatische Spielsequenzdaten festgelegt sind. Zuerst
werden bei Schritt S50 verschiedene notwendige Initialisierungsoperationen
durchgeführt,
wie zum Beispiel die Zuweisung verschiedener Pufferbereiche innerhalb
des RAM 12. Als nächstes überprüft Schritt
S51 die folgenden Auslösefaktoren.
-
Auslösefaktor
1: Empfang von MIDI-Spieldaten oder anderen Kommunikationseingabedaten über die
Schnittstelle 20 oder 21.
-
Auslösefaktor
2: Eintreffen einer automatischen Spielprozesszeit, die regelmäßig stattfindet, um
das Eintreten einer Zeit eines nächsten
Ereignisses während
eines automatischen Spiels zu überprüfen.
-
Auslösefaktor
3: Eintreffen einer Wellenformerzeugungszeit pro Rahmen, was jeden
Rahmenzeitraum auftritt (z. B. am Ende eines jeden Rahmenzeitraums),
um Wellenformabtastdaten kollektiv für jeden Rahmen zu erzeugen.
-
Auslösefaktor
4: Ausführen
einer Schaltoperation am Eingabegerät 17, wie zum Beispiel
der Tastatur oder Maus (ausschließlich der Operation zum Befehlen
der Beendigung der Hauptroutine).
-
Auslösefaktor
5: Empfang einer Unterbrechungsanforderung von einem der Plattenlaufwerke 13 bis 15 und
der Anzeige 16.
-
Auslöser 6: Ausführung der
Operation auf dem Eingabegerät 17 zum
Befehlen der Beendigung der Hauptroutine.
-
Bei
Schritt S52 wird eine Entscheidung darüber gefällt, ob einer der oben erwähnten Auslösefaktoren
eingetreten ist. Bei einer negativen Entscheidung (NEIN) wiederholt
die Tonsynthetisierungs-Hauptroutine die Operationen der Schritte
S51 und S52, bis eine positive Entscheidung (JA) bei Schritt S52
getroffen wird. Nachdem eine positive Entscheidung bei Schritt S52
getroffen wurde, wird außerdem
beim nächsten
Schritt S53 festgestellt, welcher der Auslösefaktoren eingetreten ist.
Wenn bei Schritt S53 festgestellt wird, dass der Auslösefaktor
1 eingetreten ist, wird bei Schritt S54 ein vorbestimmter "Kommunikations-Eingabevorgang" ausgeführt. Wenn
der Auslösefaktor
2 eingetreten ist, wird bei Schritt S55 ein vorbestimmter "automatischer Spielvorgang" (von dem ein Beispiel
in 27 gezeigt ist) ausgeführt. Wenn der Auslösefaktor
3 eingetreten ist, wird bei Schritt S56 ein vorbestimmter "Tongeneratorvorgang" (von dem ein Beispiel
in 28 gezeigt ist) ausgeführt. Wenn der Auslösefaktor
4 eingetreten ist, wird bei Schritt S57 ein vorbestimmter "Schalt(SW)-Vorgang" (d. h. ein einem
betätigten
Schalter entsprechender Vorgang) ausgeführt. Wenn der Auslösefaktor
5 eingetreten ist, wird bei Schritt S58 in Reaktion auf eine empfangene
Unterbrechungsanforderung ein vorbestimmter "anderer Vorgang" ausgeführt. Und wenn der Auslösefaktor
6 eingetreten ist, wird bei Schritt S59 ein vorbestimmter "Beendigungsvorgang" zum Beenden dieser
Hauptroutine ausgeführt.
-
Es
sei hier angenommen, dass, wenn der Schritt S53 feststellt, dass
zwei oder mehr Auslösefaktoren
1 bis 6 gleichzeitig eingetreten sind, diese gleichzeitigen Auslösefaktoren
nach einer vorbestimmten Prioritätsreihenfolge
abgearbeitet werden, wie zum Beispiel der Reihenfolge nach ansteigenden Auslösefaktornummern
(d. h. vom Auslösefaktor
1 bis zum Auslösefaktor
6). In einem solchen Fall kann einigen der gleichzeitigen Auslösefaktoren
eine gleiche Priorität
zugewiesen werden. Die Schritte S51 bis S53 in 26 zeigen nur veranschaulichend ein Aufgabenmanagement
in einer quasi Multi-Tasking-Verarbeitung.
In der Praxis kann jedoch, wenn einer der Vorgänge, der einem der Auslösefaktoren entspricht,
ausgeführt
wird, die Hauptroutine in Reaktion darauf, dass ein anderer Auslösefaktor
mit einer höheren
Priorität
eintritt, in unterbrechender Weise zu einem anderen Vorgang umschalten.
Wenn beispielsweise der Auslösefaktor
2 während
der Ausführung
eines Tongeneratorvorgangs auf der Grundlage des Auslösefaktors
3 auftritt, kann die Hauptroutine in unterbrechender Weise zur Ausführung des
automatischen Spielvorgangs umschalten.
-
Es
wird nun ein spezifisches Beispiel des automatischen Spielvorgangs
bei Schritt S55 von 26 im Einzelnen anhand von 27 beschrieben. Beim ersten Schritt S60 wird ein
Vorgang zum Vergleichen aktueller absoluter Zeitinformation aus dem
zweiten DMAC (23) mit der nächsten Ereigniszeit
der betreffenden Musikstückdaten
durchgeführt.
In den Musikstückdaten,
d. h. automatischen Spieldaten, gehen, wie in 8 gezeigt,
allen Ereignisdaten Dauerdaten DUR voraus. Zum Beispiel werden,
während
die Dauerdaten DUR ausgelesen werden, die durch die absolute Zeitinformation
und durch die Dauerdaten DUR spezifizierten Zeitwerte zusammenaddiert,
um eine neue absolute Zeitinformation zu schaffen, welche die Eintreffenszeit
des nächsten Ereignisses
anzeigt, und die auf diese Weise geschaffene absolute Zeitinformation
wird im Speicher abgelegt. Auf diese Weise vergleicht Schritt S60
die aktuelle absolute Zeitinformation mit derjenigen absoluten Zeitinformation,
welche die nächste
Ereigniseintreffenszeit anzeigt.
-
Beim
folgenden Schritt S61 wird eine Entscheidung darüber getroffen, ob die aktuelle
absolute Zeit größer oder
gleich der nächsten
Ereigniseintreffenszeit geworden ist. Wenn die aktuelle absolute Zeit
noch nicht die nächste
Ereigniseintreffenszeit erreicht hat, wird der automatische Spielvorgang
von 27 sofort beendet. Nachdem
die aktuelle absolute Zeit die nächste
Ereigniseintreffenszeit erreicht hat, geht der Vorgang zu Schritt
S62 weiter, um zu überprüfen, ob
das nächste
Ereignis (das nun das aktuelle Ereignis geworden ist) ein normales
Spielereignis (d. h. ein normales MIDI-Ereignis) oder ein Wiedergabestilereignis
(d. h. ein Artikulationselementsequenzereignis) ist. Wenn das aktuelle
Ereignis ein normales Spielereignis ist, geht der Vorgang zu Schritt
S63 weiter, wo ein normaler MIDI-Ereignisvorgang, der dem Ereignis
entspricht, zum Erzeugen von Tongenerator-Steuerdaten ausgeführt wird.
Der nächste
Schritt S64 wählt
oder identifiziert einen Tonsynthetisierungskanal (der in der Figur
als "T. G. ch" bezeichnet ist)
bezüglich
des Ereignisses und speichert seine eindeutige Kanalnummer im Register
i. Wenn zum Beispiel das Ereignis ein Note-Ein-Ereignis ist, wählt der
Schritt S64 einen bestimmten Tonsynthetisierungskanal, der zum Erzeugen
der bezeichneten Note zu verwenden ist, und speichert den ausgewählten Kanal
im Register i, und wenn das Ereignis ein Note-Aus-Ereignis ist,
identifiziert der Schritt S64 einen Tonsynthetisierungskanal, der
zur Erzeugung der bezeichneten Note verwendet wird, und speichert
den identifizierten Kanal im Register i. Beim nächsten Schritt S65 werden die
Tongeneratorsteuerdaten und die Steuerzeitdaten, die bei Schritt S63
erzeugt wurden, in einem Tonpuffer TBUF(i) gespeichert, der der
durch das Register i bezeichneten Kanalnummer entspricht. Die Steuerzeitdaten
geben die Zeit zum Ausführen
der Steuerung bezüglich
des Ereignisses an, welche die Tonerzeugungs-Startzeit des Note-Ein-Ereignisses
oder die Freigabestartzeit des Note-Aus-Ereignisses ist. Da in dieser
Ausführungsform
die Tonwellenform über
eine Softwareverarbeitung erzeugt wird, würde zwischen der Ereigniseintreffenszeit
der MIDI-Daten und der ihr tatsächlich entsprechenden
Verarbeitungszeit eine kleine Zeitdifferenz entstehen, so dass diese
Ausführungsform so
ausgelegt ist, dass die tatsächliche
Steuerzeit, wie zum Beispiel die Tonerzeugungsstartzeit eine solche Differenz
berücksichtigt.
-
Wenn
das Ereignis ein Wiedergabestilereignis ist, wie bei Schritt S62
festgestellt wird, zweigt der Vorgang zu Schritt S66 ab, wo eine
weitere Entscheidung darüber
gefällt
wird, ob das Wiedergabestilereignis ein "Phrasenvorbereitungsbefehl" oder ein "Phrasenstartbefehl" ist (siehe 25). Wenn das Wiedergabestilereignis ein Phrasenvorbereitungsbefehl
ist, dann führt
der Vorgang die Routinen der Schritte S67 bis S71 aus, die dem Vorbereitungsvorgang
entsprechen, der bei Block 30 in 25 benannt
ist. Zuerst wählt
der Schritt S67 einen Tonsynthetisierungskanal (der in der Figur
mit "T. G. ch" abgekürzt ist),
der zum Reproduzieren der betreffenden Phrase, d. h. Artikulationselementsequenz
AESEQ, zu verwenden ist, und speichert seine eindeutige Kanalnummer
im Register i. Der nächste
Schritt S68 analysiert die Wiedergabestilsequenz (in der Figur mit "Wiedergabestil SEQ" abgekürzt) der
Phrase (d. h. der Artikulationselementsequenz AESEQ). Das heißt, dass
die Artikulationselementsequenz AESEQ analysiert wird, nachdem sie
auf der Ebene der einzelnen Vektordaten aufgeschlüsselt wurde,
auf die getrennte Schablonen anwendbar sind, Verbindungsregeln gesetzt
werden, die auf die einzelnen Verbindungsbereiche (Verbindung 1–Verbindung
4) zwischen den Artikulationselementen (Elemente AE#1–AE#5 von 25) anzuwenden sind, und dann Verbindungssteuerdaten
zum Verbindungszweck erzeugt werden. Beim folgenden Schritt S69 wird überprüft, ob es
eine Subsequenz (in der Figur "Sub-SEQ") gibt, die an die
Artikulationselementsequenz AESEQ angehängt ist. Bei einer positiven
Antwort kehrt der Vorgang zu Schritt S68 zurück, um die Subsequenz noch
weiter auf die Ebene der einzelnen Vektordaten aufzuschlüsseln, auf
die getrennte Schablonen anwendbar sind.
-
32 ist ein Diagramm, das einen Fall zeigt, bei
dem eine Artikulationselementsequenz AESEQ eine Subsequenz enthält. Wie
in 32 gezeigt, kann die Artikulationselementsequenz
AESEQ hierarchisch aufgebaut sein. Wenn nämlich von der "Wiedergabestil SEQ#2" angenommen wird,
dass sie durch Daten der Artikulationselementsequenz AESEQ bezeichnet
wurde, die in der MIDI-Spielinformation
enthalten ist, kann die "Wiedergabestil
SEQ#2" durch eine
Kombination von "Wiedergabestil
SEQ#6" und "Elementvektor E-VEC#5" identifiziert werden.
In diesem Fall ist "Wiedergabestil
SEQ#6" eine Subsequenz.
Durch eine Analyse dieser Subsequenz kann "Wiedergabestil SEQ#6" als eine Kombination von "Elementvektor E-VEC#2" und "Elementvektor E-VEC#3" identifiziert werden.
Auf diese Weise wird die durch die Artikulationselementsequenz AESEQ
in der MIDI-Spielinformation
bezeichnete "Wiedergabestil
SEQ#2" aufgeschlüsselt, und
es wird analytisch festgestellt, dass sie durch eine Kombination der
Elementvektoren E-VEC#2,
E-VEC#3 und E-VEC#5 identifizierbar ist. Zur gleichen Zeit werden auch
gegebenenfalls die Verbindungssteuerdaten zum Zusammenfügen der
Artikulationselemente erzeugt, wie oben erwähnt. Es wird darauf hingewiesen,
dass der Elementvektor E-VEC in dieser Ausführungsform ein spezifischer
Identifikator eines Artikulationselements ist. In manchen Fällen können diese
Elementvektoren E-VEC#2,
E-VEC#3 und E-VEC#5 natürlich
auch so ausgelegt sein, dass sie von Anfang an über die durch die Artikulationselementsequenz
AESEQ in der MIDI-Spielinformation bezeichnete "Wiedergabestil SEQ#2" und nicht über die
Analyse der hierarchischen Struktur, wie oben angegeben, analysierbar
ist.
-
Wieder
mit Bezug auf das Fließdiagramm von 27 speichert der Schritt S70 die Daten der einzelnen
Elementvektoren (in der Figur mit "E-VEC" abgekürzt) zusammen mit Daten, die
ihre Steuerzeit in absoluten Zeiten angeben, in einem Tonpuffer TBUF(i),
der der durch das Register i bezeichneten Kanalnummer entspricht.
In diesem Fall ist die Steuerzeit die Startzeit der einzelnen Artikulationselemente,
wie in 25 gezeigt. Beim nächsten Schritt S71
werden die notwendigen Schablonendaten durch Bezugnahme auf den
Tonpuffer TBUF(i) von der Datenbank DB in den RAM 12 heruntergeladen.
-
Wenn
das aktuelle Ereignis ein "Phrasenstartbefehl" (siehe 25) ist, führt
der Prozess die Routinen der Schritte S72 bis S74 aus. Schritt S72 identifiziert
einen der Reproduktion des Phrasenspiels zugeordneten Kanal und
speichert seine eindeutige Kanalnummer im Register i. Beim folgenden Schritt
S73 werden alle im Tonpuffer TBUF(i) gespeicherten Daten, die der
durch das Register i bezeichneten Kanalnummer zugeordnet sind, in
eine absolute Zeitdarstellung umgewandelt. Jedes der Steuerzeitdaten
kann nämlich
dadurch in eine absolute Zeitdarstellung umgewandelt werden, dass
als ein Anfangswert die absolute Zeitinformation gesetzt wird, die
vom DMAC 26 in Reaktion auf das Auftreten des aktuellen
Phrasenstartbefehls gegeben wurde, sowie durch das Addieren des
auf diese Weise gesetzten Anfangswertes zum durch die Steuerzeitdaten
angegebenen relativen Zeitwert. Beim nächsten Schritt S74 wird der
aktuelle gespeicherte Inhalt des Tonpuffers TBUF(i) gemäß den absoluten
Zeitwerten der einzelnen Steuerzeit überschrieben. Das bedeutet, dass
Schritt S74 im Tonpuffer DBUF(i) die Start- und die Endzeit der
einzelnen Elementvektoren E-VEC, aus denen die Wiedergabestilsequenz
besteht, die Verbindungssteuerdaten, die zur Verbindung der Elementvektoren
zu verwenden sind, usw. speichert.
-
Die
folgenden Absätze
beschreiben ein spezifisches Beispiel des "Tongeneratorvorgangs" (Schritt S56 von 26), anhand von 28,
der, wie zuvor erwähnt,
für jeden
Rahmen ausgelöst
wird. Beim ersten Schritt S75 werden vorbestimmten Vorbereitungen
zum Erzeugen einer Wellenform getroffen. Zum Beispiel wird einer
der Wellenformpuffer W-BUF, der ein reproduzierendes Datenauslesen
im letzten Rahmenzeitraum abgeschlossen hat, geleert, um ein Schreiben
von Daten im Wellenformpuffer W-BUF im aktuellen Rahmenzeitraum
zu gestatten. Beim nächsten
Schritt S76 wird untersucht, ob es einen Kanal (ch) gibt, für den Tonerzeugungsoperationen
auszuführen
sind. Bei einer negativen Antwort (NEIN) springt der Vorgang zu
Schritt S83, da es nicht notwendig ist, den Vorgang fortzuführen. Wenn es
einen oder mehrere derartige Kanäle
gibt (JA), geht der Vorgang zu Schritt S77 weiter, um einen der Kanäle zu bestimmen
und die notwendigen Vorbereitungen zu treffen, um einen Wellenformabtastdatenerzeugungsvorgang
für den
festgelegten Kanal durchzuführen.
Beim nächsten
Schritt S78 wird außerdem überprüft, ob der
dem spezifizierten Kanal zugewiesene Ton ein "normaler Spielton" oder ein "Wiedergabestilspielton" ist. Wenn der bezeichnete Ton
ein normaler Spielton ist, geht der Vorgang zu Schritt S79 weiter,
wo ein Rahmen der Wellenformabtastdaten für den spezifizierten Kanal
als der normale Spielton erzeugt werden. Wenn auf der anderen Seite
der bezeichnete Ton ein Wiedergabestilspielton ist, geht der Vorgang
zu Schritt S80 weiter, wo ein Rahmen der Wellenformabtastdaten für den spezifizierten
Kanal als der Wiedergabestilspielton erzeugt wird.
-
Beim
nächsten
Schritt S61 wird weiter überprüft, ob es
einen anderen Kanal gibt, für
den die Tonerzeugungsoperationen auszuführen sind. Bei einer positiven
Antwort geht der Vorgang zu Schritt S82 weiter, um einen der Kanäle zu identifizieren,
der als Nächstes
zu verarbeiten ist, und um die notwendigen Vorbereitungen zu treffen,
um für
den identifizierten Kanal den Wellenformabtasterzeugungsvorgang durchzuführen. Dann
kehrt der Vorgang zu Schritt S78 zurück, um die oben beschriebenen
Operationen der Schritte S78 bis S80 zu wiederholen. Wenn die oben
beschriebenen Operationen der Schritte S78 bis S80 für alle Kanäle abgeschlossen
wurden, für
welche die Tonerzeugungsoperationen auszuführen sind, wird bei Schritt
S81 eine negative Entscheidung gefällt, so dass der Vorgang zu
Schritt S83 weitergeht. Zu dieser Zeit wurde für alle Kanäle, die zur Tonerzeugung eingeteilt
wurden, ein Rahmen von Wellenformabtastdaten vollständig erzeugt
und Abtastung für
Abtastung im Wellenformpuffer W-BUF akkumuliert. Bei Schritt S83
werden die derzeit im Wellenformpuffer W-BUF gespeicherten Daten
an einen Wellenform-Eingabe/Ausgabe
(I/O)-Treiber übertragen
und unter dessen Steuerung gestellt. Auf diese Weise wird im nächsten Rahmenzeitraum
der Wellenformpuffer W-BUF zum Zugriff für den zweiten DMAC 26 in
den Lesemodus versetzt, so dass die Wellenformabtastdaten mit einer
regelmäßigen Abtastfrequenz
gemäß den vorbestimmten
Abtasttaktimpulsen Fs reproduktiv ausgelesen werden.
-
Ein
spezifisches Beispiel der Operation von Schritt S79 ist in 29 gezeigt. 29 ist
nämlich ein
Fließdiagramm,
das ein eingehendes Beispiel des "Ein-Rahmen-Wellenformdatenerzeugungsvorgangs" für das "normale Spiel" zeigt, bei dem eine normale
Tonsynthese aufgrund von MIDI-Spieldaten durchgeführt wird.
Bei diesem Ein-Rahmen-Wellenformdatenerzeugungsvorgang wird eine
Einheit Wellenformabtastdaten für
jede Ausführung
der geschleiften Operationen der Schritte S90 bis S98 erzeugt. Auf
diese Weise wird eine Adresszeigerverwaltung durchgeführt, um
einen spezifischen Ort im Rahmen einer jeden aktuell verarbeitet
werdenden Abtastung anzuzeigen, auch wenn das hier nicht im Einzelnen
beschrieben ist. Zuerst überprüft Schritt S90,
ob eine vorbestimmte Steuerzeit gekommen ist oder nicht. Diese Steuerzeit
ist die von Schritt S65 von 27 angewiesene
Zeit, wie zum Beispiel die Tonerzeugungsstartzeit oder die Freigabestartzeit. Wenn
es eine Steuerzeit gibt, die im Zusammenhang mit dem aktuellen Rahmen
zu verarbeiten ist, wird bei Schritt S90 aufgrund eines Adresszeigerwerts,
der der Steuerzeit entspricht, eine positive Entscheidung (JA) getroffen.
In Reaktion auf die positive Entscheidung bei Schritt S90 geht der
Vorgang zu Schritt S91 weiter, um eine Operation zum Einleiten einer
nötigen Wellenformerzeugung
auf der Grundlage der Tongeneratorsteuerdaten durchzuführen. Wenn
der aktuelle Adresszeigerwert die Steuerzeit noch nicht erreicht hat, überspringt
der Vorgang den Schritt S91 zum Schritt S92, wo eine Operation ausgeführt wird,
um ein niederfrequentes Signal zu erzeugen ("LFO-Operation"), die für ein Vibrato
usw. nötig
ist. Beim folgenden Schritt S93 wird eine Operation ausgeführt, um ein
Tonhöhensteuerungs-Hüllkurvensignal
zu erzeugen ("Tonhöhen-EG-Operation").
-
Dann
werden bei Schritt S94 aus einem (nicht gezeigten) Normalspiel-Tonwellenformspeicher
mit einer der bezeichneten Tonhöhe
entsprechenden Rate auf der Grundlage der oben erwähnten Tongeneratorsteuerdaten
Wellenformabtastdaten einer vorbestimmten Klangfarbe ausgelesen,
und es wird eine Interpolation zwischen den ausgelesenen Wellenformabtastdatenwerten
(Zwischen-Abtastungsinterpolation) durchgeführt. Zu diesem Zweck kann ein
herkömmlicherweise
bekanntes Wellenformspeicher-Leseverfahren und Zwischen-Abtastungs-Interpolationsverfahren
eingesetzt werden. Die hier bezeichnete Tonhöhe wird durch ein variables Steuern
einer normalen Tonhöhe
einer Note gegeben, die dem Note-Ein-Ereignis entspricht, was gemäß dem Vibratosignal
und dem Tonhöhensteuerhüllkurvenwert
geschieht, die bei den vorhergehenden Schritten S92 und S93 erzeugt
wurden. Beim nächsten
Schritt S95 wird eine Operation ausgeführt, um eine Amplitudenhüllkurve
zu erzeugen ("Amplituden-EG-Operation"). Dann wird bei
Schritt S96 der Tonlautstärkepegel
bei Schritt S94 erzeugter Wellenformabtastdaten durch den bei Schritt
S95 erzeugten Amplitudenhüllkurvenwert
variabel gesteuert, und dann werden die in der Lautstärke gesteuerten
Daten den Wellenformabtastdaten zuaddiert, die schon am Adressort
des Wellenformpuffers W-BUF gespeichert sind, auf den der aktuelle
Adresszeiger zeigt. Die Wellenformabtastdaten werden nämlich den
entsprechenden Wellenformabtastdaten des anderen Kanals am gleichen
Abtastpunkt akkumulativ zuaddiert. Hiernach wird bei Schritt S97
geprüft,
ob die oben erwähnten
Operationen für
einen Rahmen abgeschlossen wurden. Wenn die Operationen für einen
Rahmen noch nicht abgeschlossen sind, geht der Vorgang zu Schritt
S98 weiter, um eine nächste
Abtastung vorzubereiten (Vorrücken
des Adresszeigers auf eine nächste
Adresse).
-
Wenn
bei der oben beschriebenen Anordnung die Tonerzeugung an einem Punkt
während
eines Rahmenzeitraums zu starten ist, werden die Wellenformabtastdaten
bei oder nach einer zwischengeordneten bzw. auf dem Weg gelegenen
Adresse des Wellenformpuffers W-BUF, die dem Tonerzeugungsstartpunkt
entspricht, gespeichert. Wenn natürlich die Tonerzeugung während eines
gesamten Rahmenzeitraums andauern soll, werden die Wellenformabtastdaten
an allen Adressen des Wellenformpuffers W-BUF gespeichert.
-
Es
ist leicht zu verstehen, dass die Hüllkurvenerzeugungsoperationen
der Schritte S93 und S95 durch das Auslesen von Daten aus einem
Hüllkurvenwellenformspeicher
oder durch das Bewerten einer vorbestimmten Hüllkurvenfunktion bewerkstelligt werden
können.
Im letzteren Fall kann eine wohlbekannte in gestrichelter Linie
angegebene Funktion der ersten Ordnung einer relativ einfachen Form
als die Hüllkurvenfunktion
ausgewertet werden. Im Gegensatz zum "Wiedergabestilspiel", das unten noch zu beschreiben ist,
erfordert dieses "normale
Spiel" keine komplexen
Operationen, wie zum Beispiel das Ersetzen einer zum Klingen zu
bringenden Wellenform, das Ersetzen einer Hüllkurve oder eine zeitaxiale
Streckungs- oder Komprimierungssteuerung einer Wellenform.
-
Ein
spezifisches Beispiel der Operation des Schritts S80 von 28 ist in 30 gezeigt. 30 ist nämlich
ein Fließdiagramm,
das ein Beispiel des "Ein-Rahmen-Wellenformdaten-Erzeugungsvorgangs" für das "Wiedergabestilspiel" zeigt, bei dem eine
Tonsynthese aufgrund von Artikulations(Wiedergabestil)-Sequenzdaten
ausgeführt
wird. Bei diesem Ein-Rahmen-Wellenformdaten-Erzeugungsvorgang von 30 werden auch verschiedene andere Operationen
durchgeführt,
wie zum Beispiel eine Artikulationselement-Tonwellenformoperation
auf der Grundlage verschiedener Schablonendaten und eine Operation
zum Verbinden von Elementwellenformen in der oben beschriebenen
Art und Weise. Auch bei diesem Ein-Rahmen-Wellenformdaten-Erzeugungsvorgang
werden Wellenformabtastdaten für
jede Ausführung
der geschleiften Operationen der Schritte S100 bis S108 erzeugt.
Auf diese Weise wird eine Adresszeigerverwaltung durchgeführt, um
den spezifischen Ort im Rahmen einer derzeit verarbeiteten Abtastung
anzuzeigen, auch wenn das hier nicht im Einzelnen beschrieben ist.
Außerdem
führt dieser Vorgang
eine Überblendungs-Synthese
zwischen zwei unterschiedlichen Schablonendaten (welche die Wellenformschablonendaten
einschließen)
für einen glatten Übergang
zwischen beieinander liegenden Artikulationselementen oder eine Überblendungs-Synthese zwischen
zwei unterschiedlichen Wellenformabtastdaten für eine zeitaxiale Streckungs-
oder Komprimierungssteuerung durch. Auf diese Weise werden bezüglich einer
jeden Abtastung verschiedene Datenverarbeitungsoperationen an zwei
unterschiedlichen Daten für
die Überblendungs-Synthesezwecke
durchgeführt.
-
Zuerst überprüft Schritt
S100, ob eine vorbestimmte Steuerzeit gekommen ist oder nicht. Diese Steuerzeit
ist diejenige, die bei Schritt S74 von 27 geschrieben
wurde, wie zum Beispiel die Startzeit der einzelnen Artikulationselemente
AE#1 bis AE#5 oder eine Startzeit des Verbindungsvorgangs. Wenn
es eine in Bezug auf den aktuellen Rahmen zu verarbeitende Steuerzeit
gibt, wird bei Schritt S100 eine positive Entscheidung (JA) aufgrund
dessen getroffen, dass der Adresszeigerwert der Steuerzeit entspricht.
In Reaktion auf die positive Entscheidung bei Schritt S100 geht
der Vorgang zu Schritt S101 weiter, um die erforderliche Steuerung auf
der Grundlage von Elementvektor E-VEC oder von Verbindungssteuerungsdaten,
die der Steuerzeit entsprechen, durchzuführen. Wenn der aktuelle Adresszeigerwert
zur Steuerzeit nicht erreicht wurde, überspringt der Vorgang den
Schritt S101 zum Schritt S102.
-
Beim
Schritt S102 wird eine Operation zum Erzeugen einer Zeitschablone
(in der Figur mit "TMP" abgekürzt) eines
bestimmten Artikulationselements ausgeführt, das durch den Elementvektor
E-VEC bezeichnet ist. Diese Schablone ist die Zeitschablone (TSC),
die in 3 gezeigt ist. Diese Ausführungsform
nimmt an, dass die Zeitschablone (TSC) als zeitvariierende Hüllkurvendaten
in der gleichen Weise wie die Amplitudenschablone und die Tonhöhenschablone
gegeben ist. Daher erzeugt dieser Schritt S102 eine Hüllkurve
der Zeitschablone.
-
Beim
nächsten
Schritt S103 wird eine Operation durchgeführt, um eine Tonhöhenschablone (Pitch)
des durch den Elementvektor E-VEC bezeichneten bestimmten Artikulationselements
zu erzeugen. Die Tonhöhenschablone
ist auch als zeitvariierende Hüllkurvendaten
gegeben, wie beispielhaft in 3 gezeigt
ist.
-
Bei
Schritt S105 wird eine Operation zum Erzeugen einer Amplitudenschablone
(Amp) des durch den Elementvektor E-VEC bezeichneten bestimmten Artikulationselements
durchgeführt.
Die Amplitudenschablone ist auch als zeitvariierende Hüllkurvendaten
gegeben, wie beispielhaft in 3 gezeigt
ist.
-
Jede
der Hüllkurvenerzeugungsoperationen der
Schritte S102, S103 und S105 kann in der oben beschriebenen Art
und Weise ausgeführt
werden, d. h. durch Lesen von Daten von einem Hüllkurven-Wellenformspeicher
oder durch Auswerten einer vorbestimmten Hüllkurvenfunktion. Im letzteren
Fall kann eine wohlbekannte in gestrichelter Linie angegebene Funktion
erster Ordnung einer relativ einfachen Form als die Hüllkurvenfunktion
ausgewertet werden. Weiter werden bei diesen Schritten S102, S103
und S105 auch andere Operationen ausgeführt, wie zum Beispiel Operationen
zum Bilden zweier unterschiedlicher Schablonen (d. h. Schablonen
für ein
Paar aus einem vorangehenden und einem folgenden Element) für jeden
vorbestimmten Elementverbindungsbereich und zum Zusammenfügen der
beiden Schablonen durch eine Überblendungs-Synthese
gemäß den Verbindungssteuerungsdaten
und einer Verschiebungsoperation. Welche der Verbindungsregeln beim
Verbindungsvorgang befolgt werden sollte, hängt von den entsprechenden
Verbindungssteuerungsdaten ab.
-
Bei
Schritt S104 wird eine Operation ausgeführt, um im Wesentlichen Daten
einer Wellenformschablone (Timbre) für das bestimmte Element, das durch
das bestimmte Artikulationselement bezeichnet ist, das durch den
Elementvektor E-VEC bezeichnet ist, mit einer Rate, die einer bezeichneten
Tonhöhe
entspricht, auszulesen. Die hier bezeichnete Tonhöhe wird
zum Beispiel durch die Tonhöhenschablone
(den Tonhöhen
steuernden Hüllkurvenwert)
gesteuert, die beim vorhergehenden Schritt S103 erzeugt wurde. Bei
diesem Schritt S104 wird auch eine TSC-Steuerung durchgeführt, welche
die Gesamtlänge
der Wellenformabtastdaten steuert, die gemäß der Zeitschablone (TSC) unabhängig von
der Tonhöhe
entlang der Zeitachse zu strecken oder zu komprimieren sind. Um
außerdem
zu verhindern, dass aufgrund der zeitaxialen Streckungs- oder Kompressionssteuerung
die Wellenformkontinuität
verloren geht, führt
dieser Schritt S104 auch eine Operation zum Auslesen zweier unterschiedlicher
Gruppen von Wellenformabtastdaten (die unterschiedlichen Zeitpunkten
innerhalb derselben Wellenformschablone entsprechen) aus und führt eine Überblendungs-Synthese
zwischen den ausgelesenen Wellenformabtastdaten durch. Dieser Schritt
S104 führt
auch eine Operation zum Auslesen zweier unterschiedlicher Wellenformenschablonen
(d. h. Wellenformschablonen eines Paars aus einem vorangehenden
und einem folgenden Artikulationselement) aus und führt eine Überblendungs-Synthese
zwischen den ausgelesenen Wellenformschablonen für jeden der vorbestimmten Elementverbindungsbereiche
durch. Außerdem
führt dieser
Schritt S104 eine Operation zum repetitiven Auslesen von Wellenformschablonen
in geschleifter Weise und eine Operation zum Durchführen einer Überblendungs-Synthese
zwischen zwei Schablonen durch, während diese ausgelesen werden.
-
Wenn
die zu verwendende Wellenformschablone (Timbre) eine zeitabhängige Tonhöhenvariationskomponente
der ursprünglichen
Wellenform beibehält,
können
Werte der Tonhöhenschablone
in Differenzen oder Verhältnissen
bezüglich
der ursprünglichen
Höhenvariation
angegeben werden. Wenn daher die ursprüngliche zeitabhängige Tonhöhenvariation
unverändert
bleibt, wird die Tonhöhenschablone auf
einem konstanten Wert (z. B. "1") gehalten.
-
Beim
nächsten
Schritt S105 wird eine Operation durchgeführt, um eine Amplitudenschablone
zu erzeugen. Dann wird bei Schritt S106 der Tonlautstärkepegel
der bei Schritt S104 erzeugten Wellenformabtastdaten durch den bei
Schritt S105 erzeugten Amplitudenhüllkurvenwert variabel gesteuert
und dann zu den schon im Adressort des Wellenformpuffers W-BUF gespeicherten Wellenformabtastdaten zuaddiert,
auf die der aktuelle Adresszeiger zeigt. Die Wellenformabtastdaten
werden nämlich
den entsprechenden Wellenformabtastdaten des anderen Kanals am selben
Abtastpunkt zuaddiert. Hiernach wird bei Schritt S107 überprüft, ob die
oben erwähnten Operationen
für einen
Rahmen abgeschlossen wurden. Wenn die Operationen für einen
Rahmen noch nicht abgeschlossen wurden, geht der Vorgang zu Schritt
S108 weiter, um eine nächste
Abtastung vorzubereiten (der Adresszeiger wird zu einer nächsten Adresse
vorgerückt).
-
Ähnlich wie
oben können,
falls die zu verwendende Wellenformschablone (Timbre) eine zeitabhängige Amplitudenvariationskomponente
der ursprünglichen
Wellenform beibehält,
Werte der Amplitudenschablone (Amp) als Differenzen oder ein Verhältnis im
Bezug auf die ursprüngliche
Amplitudenvariation angegeben werden. Wenn daher die ursprüngliche
Amplitudenvariation über
die Zeit unverändert
zu bleiben hat, wird die Amplitudenschablone auf einem konstanten
Wert (z. B. "1") gehalten.
-
Es
folgt eine Beschreibung eines Beispiels der in der Ausführungsform
verwendeten zeitaxialen Streckungs- und Komprimierungssteuerung.
-
Unter
der Verwendung der zeitaxialen Streckungs- und Komprimierungssteuerung
(TSC), die vom Rechtsnachfolger der vorliegenden Anmeldung in einer
gleichzeitig anhängenden
Patentanmeldung (z. B. der japanischen Patentanmeldung Nr. JP-A-10307586)
vorgeschlagen wurde, kann die zeitaxiale Länge der Wellenformdaten mehrerer
Wellenformzyklen mit einer hohen Qualität, d. h. mit Artikulationscharakteristiken
und einer vorgegebenen Datenquantität (einer vorgegebenen Anzahl
von Abtastungen oder Adressen) unabhängig von einer Reproduktionstonhöhe des entsprechenden
Tons und ohne Aufgabe der allgemeinen Charakteristiken der Wellenform
variabel nach Wunsch gesteuert werden. Kurz gesagt, dient die vorgeschlagene
TSC-Steuerung dem Strecken oder Komprimieren der zeitaxialen Länge einer
aus mehreren Zyklen bestehenden Wellenform mit einer vorgegebenen
Datenquantität, während eine
vorbestimmte Reproduktionsabtastfrequenz und Reproduktionstonhöhe beibehalten
wird. Insbesondere verursacht die TSC-Steuerung zum Komprimieren
der zeitaxialen Länge,
dass ein entsprechender Teil der Wellenformdaten sporadisch ausgelesen
wird, während
zum Strecken der zeitaxialen Länge
verursacht wird, dass ein entsprechender Teil der Wellenformdaten
in repetitiver bzw. geschleifter Art und Weise ausgelesen wird.
Außerdem
führt die
vorgeschlagene TSC-Steuerung auch eine Überblendungs-Synthese durch,
um eine unerwünschte Diskontinuität der Wellenformdaten
zu verhindern, die vom sporadischen oder repetitiven partiellen
Auslesen der Daten resultieren würde.
-
31 ist ein konzeptuelles Diagramm, das die Prinzipien
einer solchen zeitaxialen Streckungs- und Komprimierungssteuerung
(TSC) darlegt. Insbesondere zeigt der Abschnitt (e) von 31 ein Beispiel einer zeitvariierenden Zeitschablone,
die Daten enthält,
die ein zeitaxiales Streckungs/Komprimierungsverhältnis (CRate)
anzeigt. Im Abschnitt (a) repräsentiert
die vertikale Achse das zeitaxiale Streckungs/Komprimierungsverhältnis CRate,
während die
horizontale Achse die Zeitachse t repräsentiert. Das Streckungs/Komprimierungsverhältnis CRate basiert
auf einem Referenzwert "1". Wenn das Verhältnis CRate "1" ist, zeigt dies insbesondere an, dass
keine zeitaxiale Streckung/Komprimierung stattzufinden hat, wenn
das Verhältnis
CRate größer als
der Referenzwert "1" ist, zeigt dies
an, dass die Zeitachse zu komprimieren ist, und wenn das Verhältnis CRate
kleiner als der Referenzwert "1" ist, dann zeigt
dies an, dass die Zeitachse zu strecken ist. Die Abschnitte (b)
bis (d) von 31 zeigen Beispiele, bei denen
eine zeitaxiale Streckung/Komprimierung gemäß dem Streckungs/Komprimierungsverhältnis CRate
unter der Verwendung der virtuellen Leseadresse VAD und der tatsächlichen
Leseadresse RAD durchgeführt
wird, in denen jeweils die durchgezogene Linie einen Vorrückungspfad
der tatsächlichen
Leseadresse RAD und die gestrichelte Linie einen Vorrückungspfad
der virtuellen Leseadresse VAD repräsentiert. Insbesondere zeigt
der Abschnitt (b) von 31 ein Beispiel, bei dem die
zeitaxiale Komprimierungssteuerung so durchgeführt wird, wie das durch ein
zeitaxiales Streckungs/Komprimierungsverhältnis CRate am Punkt P1 der
in Abschnitt (a) gezeigten Zeitschablone diktiert wird (CRate > 1), Abschnitt (c)
von 31 zeigt ein weiteres Beispiel,
bei dem keine zeitaxiale Streckungs/Komprimierungssteuerung durchgeführt wird,
wie das durch ein zeitaxiales Streckungs/Komprimierungsverhältnis CRate
beim Punkt P2 der Zeitschablone diktiert wird (CRate = 1), und der
Abschnitt (d) von 31 zeigt noch ein weiteres
Beispiel, bei dem die zeitaxiale Streckungssteuerung durchgeführt wird,
wie durch ein zeitaxiales Streckungs/Komprimierungsverhältnis CRate
beim Punkt P3 der Zeitschablone diktiert wird (CRate < 1). Im Abschnitt
(c) repräsentiert
die durchgezogene Linie einen grundlegenden Adressvorrückungspfad,
der der bezeichneten Tonhöheninformation
entspricht, wobei der Vorrückungspfad
der tatsächlichen
Leseadresse RAD und der virtuellen Leseadresse VAD zusammenfallen.
-
Die
tatsächliche
Leseadresse RAD wird zum tatsächlichen
Auslesen von Wellenformabtastdaten von der Wellenformschablone verwendet
und variiert mit einer konstanten Rate, die der Information der
bezeichneten gewünschten
Tonhöhe
entspricht. Zum Beispiel können
durch regelmäßiges Akkumulieren einer
Frequenzzahl, die der gewünschten
Tonhöhe entspricht,
tatsächliche
Leseadressen RAD mit einer vorgegebenen Neigung oder Fortschreitungssteigung
auf der Grundlage der gewünschten
Tonhöhe erhalten
werden. Die virtuelle Leseadresse VAD ist eine Adresse, die einen
spezifischen Ort der Wellenformschablone anzeigt, von der Wellenformabtastdaten
aktuell auszulesen sind, um die gewünschte zeitaxiale Streckung
oder Komprimierung zu erhalten. Zu diesem Zweck werden Adressdaten
berechnet, die mit einer Fortschreitungssteigung variieren, die durch
ein Modifizieren der Steigung auf der Grundlage der gewünschten
Tonhöhe
mit dem zeitaxialen Streckungs/Komprimierungsverhältnis CRate
erhalten wurde, und die auf diese Weise berechneten Adressdaten
werden als die virtuellen Leseadressen VAD erzeugt. Es wird ständig ein
Vergleich gezogen zwischen der tatsächlichen Leseadresse RAD und den
virtuellen Leseadressen VAD, so dass, sollte eine Differenz oder
Abweichung zwischen den Adressen RAD und VAD einen vorbestimmten
Wert übersteigen,
ein Befehl gegeben wird, um den Wert der tatsächlichen Leseadresse RAD zu
verschieben. Gemäß einem
solchen Befehl wird eine Steuerung zum Verschieben des Werts der
tatsächlichen
Leseadresse RAD um eine solche Zahl von Adressen durchgeführt, dass
die Differenz der tatsächlichen Leseadresse
RAD gegenüber
den virtuellen Leseadressen VAD verschwindet.
-
33 ist ein Diagramm, das in einem vergrößerten Maßstab ein
Beispiel einer zeitaxialen Komprimierungssteuerung in ähnlicher
Weise zum Beispiel in Abschnitt (b) von 31 zeigt,
bei dem eine strichpunktierte Linie ein Beispiel eines grundlegenden
Adressenfortschreitungspfads auf der Grundlage einer Tonhöheninformation
repräsentiert und
der durchgezogenen Linie in Abschnitt (c) von 31 entspricht. Die dicke gestrichelte Linie in 33 repräsentiert
einen beispielhaften Fortschreitungspfad der virtuellen Leseadresse
VAD. Wenn die Streckungs/Komprimierungsverhältnisdaten CRate einen Wert "1" haben, fällt das Fortschreiten der virtuellen
Leseadresse VAD mit dem grundlegenden Adressfortschreiten zusammen,
das durch die strichpunktierte Linie repräsentiert ist, und es geschieht keine
Zeitachsenvariation. Wenn die Zeitachse zu komprimieren ist, nehmen
die Streckungs/Komprimierungsverhältnisdaten CRate einen entsprechenden
Wert an, der größer oder
gleich "1" ist, so dass die
Fortschreitungssteigung der virtuellen Leseadresse VAD, wie gezeigt,
relativ groß bzw.
steil wird. Die dicke gestrichelte Linie in 33 repräsentiert ein
Beispiel eines Fortschreitungspfads der tatsächlichen Leseadressen RAD.
Die Fortschreitungssteigung der tatsächlichen Leseadresse RAD fällt mit
der grundlegenden Adressfortschreitung zusammen, die durch die strichpunktierte
Linie repräsentiert
ist. Weil in diesem Fall die Fortschreitungssteigung der virtuellen
Leseadresse VAD relativ groß ist,
wird das Fortschreiten der tatsächlichen
Leseadresse RAD langsamer und mit der Zeit langsamer als diejenige
der virtuellen Leseadressen VAD. Nachdem die Differenz bzw. die
Abweichung der tatsächlichen
Leseadresse RAD von der virtuellen Leseadresse VAD einen vorbestimmten
Wert überstiegen
hat, wird ein Verschiebungsbefehl gegeben (wie durch einen Pfeil
angezeigt), so dass die tatsächliche
Leseadresse RAD entsprechend in einer solchen Richtung verschoben wird,
dass die Differenz aufgehoben wird. Auf diese Weise wird das Fortschreiten
der tatsächlichen
Leseadressen RAD in Abhängigkeit
von demjenigen der virtuellen Leseadressen VAD variiert, während die Fortschreitungssteigung,
wie durch die Tonhöheninformation
diktiert, beibehalten wird, und Charakteristiken hat, die in der
Zeitachsenrichtung komprimiert wurden. Daher ist es durch Auslesen
der Wellenformdaten aus der Wellenformschablone gemäß diesen tatsächlichen
Leseadressen RAD möglich,
ein Wellenformsignal zu erhalten, das eine Wellenform aufweist,
die in der Zeitachsenrichtung komprimiert wurde, ohne dass dabei
die Tonhöhe
des zu reproduzierenden Tons variiert wird.
-
Weiter
ist 34 ein Diagramm, das in einem
vergrößerten Maßstab ein
Beispiel einer zeitaxialen Streckungssteuerung ähnlich dem Beispiel in Abschnitt
(d) von 31 zeigt, bei der die Fortschreitungssteigung
der virtuellen Leseadressen VAD, die durch die dicke durchgezogene
Linie repräsentiert ist,
relativ gering ist. Auf diese Weise wird das Fortschreiten der tatsächlichen
Leseadressen RAD schneller und mit der Zeit schneller als dasjenige
der virtuellen Leseadressen VAD. Nachdem die Differenz der tatsächlichen
Leseadresse RAD gegenüber
der virtuellen Leseadresse VAD einen vorbestimmten Wert überstiegen
hat, wird ein Verschiebungsbefehl gegeben (wie durch einen Pfeil
angezeigt), so dass die tatsächliche
Leseadresse RAD entsprechend in einer Richtung verschoben wird,
um die Differenz aufzuheben. Auf diese Weise wird das Fortschreiten der
tatsächlichen
Leseadressen RAD in Abhängigkeit
von den virtuellen Leseadressen VAD variiert, während die Fortschreitungssteigung,
wie sie durch die Tonhöheninformation
diktiert wird, beibehalten wird, und Charakteristiken aufweist,
die in der Zeitachsenrichtung gestreckt wurden. Auf diese Weise ist
es durch Auslesen der Wellenformdaten aus der Wellenformschablone
gemäß solcher
tatsächlicher Leseadressen
RAD möglich,
ein Wellenformsignal zu erhalten, das eine in der Zeitachsenrichtung
gestreckte Wellenform anzeigt, ohne dass dabei die Tonhöhe des zu
reproduzierenden Tons verändert wird.
-
Vorzugsweise
wird die Verschiebung der tatsächlichen
Leseadresse RAD in der Richtung zum Aufheben der Differenz gegenüber der
virtuellen Leseadresse VAD in einer solchen Weise durchgeführt, dass
ein glatter Übergang
zwischen den unmittelbar vor der Verschiebung und den unmittelbar
nach der Verschiebung ausgelesenen Wellenformdaten erzielt wird.
Außerdem
ist es vorzuziehen, wenn eine Überblendungs-Synthese
an einem entsprechenden Zeitraum während der Verschiebung durchgeführt wird, wie
das durch geschlängelte
Linien angezeigt ist. Jede der geschlängelten Linien repräsentiert
einen Fortschreitungspfad der tatsächlichen Leseadressen RAD2
in einem untergeordneten Überblendungs-Kanal.
Außerdem
werden, wie gezeigt, in Reaktion auf den Verschiebebefehl, die tatsächlichen
Leseadressen RAD2 im untergeordneten Überblendungs-Kanal entlang
einer Verlängerung
des Fortschreitungspfads der nicht verschobenen tatsächlichen
Leseadressen RAD mit der gleichen Rate (Fortschreitungssteigung) wie
die tatsächlichen
Leseadressen RAD erzeugt. In einem geeigneten Überblendungs-Zeitraum wird eine Überblendungs-Synthese
in einer solchen Weise durchgeführt,
dass ein glatter Wellenformtransfer von einer gemäß den tatsächlichen
Leseadressen RAD2 im untergeordneten Überblendungs-Kanal ausgelesenen
Wellenform zur anderen Wellenformdaten W1 erzielt werden, die gemäß den tatsächlichen
Leseadressen RAD in einem primären Überblendungs-Kanal ausgelesen
werden. In diesem Fall ist es lediglich nötig, dass die tatsächlichen
Leseadressen RAD2 im untergeordneten Überblendungs-Kanal über einen
vorgegebenen Überblendungs-Zeitraum
erzeugt werden.
-
Es
wird darauf hingewiesen, dass die in der vorliegenden Erfindung
verwendete TSC-Steuerung nicht auf das oben erwähnte Beispiel eingeschränkt ist,
bei dem die Überblendungs-Synthese
nur für
ausgewählte
Zeiträume
durchgeführt
wird, sondern sie kann natürlich
auch eine andere Form der TSC-Steuerung verwenden, bei der die Überblendungs-Synthese
durchgehend gemäß dem Wert
der Streckungs/Komprimierungsverhältnisdaten CRate durchgeführt wird.
-
Wenn
die Wellenformabtastdaten durch ein repetitives Auslesen von Wellenformschablonen
eines partiellen Vektors PVQ (d. h. einer geschleiften Wellenform)
erzeugt werden, wie das in den 13 bis 15 gezeigt
ist, kann die Zeitlänge
der ganzen repetitiv ausgelesenen Wellenform unabhängig von einer
Reproduktionshöhe
relativ leicht dadurch gesteuert werden, dass im Grunde genommen
die Anzahl geschleifter Ausleseoperationen variiert wird. Es wird
nämlich
eine Überblendungs-Zeitraumlänge (Zeitlänge oder
Anzahl geschleiften Auslesens oder "Looping") bestimmt, während eine bestimmte Überblendungs-Kurve
durch eine solche Länge
anzeigende Daten bestimmt wird. Zu dieser Zeit kann die Überblendungs-Geschwindigkeit
bzw. Rate durch ein variables Steuern der Neigung der Überblendungs-Kurve
gemäß einem
zeitaxialen Streckungs/Komprimierungsverhältnis, das durch eine Zeitschablone
festgelegt ist, variabel gesteuert werden, weshalb auch die Überblendungs-Zeitraumlänge variabel
gesteuert werden kann. Da die Tonreproduktionstonhöhe auch
während
der Überblendungs-Synthese
nicht beeinflusst wird, wird die variable Steuerung der Anzahl der
Schleifungen schließlich
zu einer variablen Steuerung der Überblendungs-Zeitraumlänge führen. Es
wird darauf hingewiesen, dass in dem Fall, wo die zeitaxiale Länge der reproduzierten
Wellenformdaten durch die zeitaxiale Streckungs/Komprimierungssteuerung
zu strecken oder zu komprimieren ist, es wünschenswert ist, dass die Zeitlänge der
Tonhöhen-
und Amplitudenschablonen auch einer Streckungs/Komprimierungssteuerung
unterzogen wird. Es sei also angenommen, dass die Schritte S103
und S105 von 30 so ausgelegt sind, dass
sie die Zeitlänge
der Tonhöhen-
und Amplitudenschablonen, die bei diesen Schritten erzeugt werden,
so steuert, dass sie gemäß der bei Schritt
S102 erzeugten Zeitschablone gestreckt oder komprimiert werden.
-
Außerdem können die
Tonsynthetisierungsfunktionen durch einen Hybridtongenerator ausgeführt werden,
der eine Kombination aus einem Software- und einem Hardware-Tongenerator enthält, anstatt
dass alle Funktionen durch den Softwaretongenerator allein ausgeführt werden.
Alternativ dazu kann die Tonsyntheseverarbeitung der vorliegenden Erfindung
auch durch ein Hardware-Tongeneratorgerät allein
oder durch die Verwendung eines DSP (Digital Signal Processor) ausgeführt werden.
-
Die
in der oben beschriebenen Art und Weise ausgelegte vorliegende Erfindung
erlaubt eine freie Tonsynthese und ein Editieren, das verschiedene
Wiedergabestile (Artikulationen) wiederspiegelt. Daher erleichtert
die vorliegende Erfindung beim Erzeugen von Tönen unter der Verwendung eines
elektronischen Musikinstruments oder eines anderen elektronischen
Geräts
weitgehend die realistische Reproduktion der Artikulationen (Wiedergabestile) und
die Steuerung dieser Reproduktion und erzielt ein qualitativ hochwertiges
interaktives Tonerzeugungsverfahren, das einem Benutzer freie Klangerzeugungs-
und Editierungsoperationen erlaubt.