-
Die
vorliegende Erfindung betrifft eine Vorrichtung zur Spielübung von
Melodien sowie Aufzeichnungsmedien, die ein Melodiespiel-Übungsprogramm
aufzeichnen.
-
Eine
Spielübungsvorrichtung,
die über
eine Navigationsfunktion verfügt,
um die Darbietung eines Spielers zu lenken, ist herkömmlich bekannt.
Zum Beispiel werden bei einem elektronischen Keyboard-Instrument,
das über
die Navigationsfunktion verfügt,
lichtemittierende Elemente, z.B. lichtemittierende Dioden, in Entsprechung
mit den Tasten einer Tastatur bereitgestellt. Während die Darbietung einer im
Voraus gespeicherten Melodie voranschreitet, wird der Spieler veranlasst,
eine zu drückende
Taste und einen Zeitpunkt des Drückens
der Taste zu erkennen, indem ein lichtemittierendes Element veranlasst
wird, Licht zu emittieren. Wenn der Spieler die Taste nicht drückt, selbst
wenn der Zeitpunkt des Drückens
der Taste gekommen ist, wird die Darbietung der Melodie angehalten,
um dadurch die Darbietung des Spielers mit dem Fortgang der Darbietung der
Melodie zu synchronisieren.
-
Dokument
EP-A-192974 beschreibt eine Tastendruck-Anzeigevorrichtung für ein elektronisches
Musikinstrument, die imstande ist, sichtbar anzuzeigen, welche Tasten
auf einer Tastatur zu drücken
sind. Die Vorrichtung enthält
eine Vielzahl von Anzeigern, die entsprechend einer Vielzahl von
Tasten der Tastatur bereitgestellt werden. Die Beleuchtung jedes
Anzeigers wird durch eine Beleuchtungs-Steuereinrichtung gesteuert,
die eine ausreichende Vorbereitungszeit für jede Note einräumt (Länge einer
1/4 Note), sodass der Spieler des Instruments in der Lage ist, einen
sanften Tastendruckvorgang entsprechend den durch die Vorrichtung
gegebenen Tastdruckangaben durchzuführen.
-
Wenn
die Taste vor dem Zeitpunkt des Drückens der Taste gedrückt wird,
kann jedoch keine geeignete Maßnahme
ergriffen werden, und ein auf dem Drücken der Taste basierender
Musikton wird erzeugt. Die Erzeugung dieses Musiktones kann jedoch
nicht mit der Erzeugung eines Musiktones eines anderen Teils, z.B.
ein in den Melodiedaten enthaltener Begleitton, synchronisiert werden.
Einige andere herkömmliche
Vorrichtungen sind so eingerichtet, dass, wenn eine Taste vor einem
passenden Zeitpunkt, zu dem die Taste zu drücken ist, gedrückt wird, zu
diesem Zeitpunkt kein Musikton erzeugt wird, und dass, wenn der
richtige Zeitpunkt gekommen ist, der Musikton erzeugt wird. Da jedoch
beim Drücken
der Taste kein Musikton erzeugt wird, wird der Spieler das Gefühl haben,
dass etwas nicht in Ordnung ist.
-
Es
ist daher eine Aufgabe der vorliegenden Erfindung, als Reaktion
auf eine Taste, die ge drückt wird,
bevor ein passender Zeitpunkt des Drückens der Taste gekommen ist,
die Erzeugung eines Musiktones einer Melodie, der auf dem Drücken der
Taste basiert, mit dem Erzeugen eines Musiktones eines anderen Teils
der Melodie zu synchronisieren, ohne dem Spieler irgendein Gefühl der Unrichtigkeit
zu geben, um so die Darbietung des Spielers geeignet zu führen.
-
Diese
Aufgabe wird durch die in den unabhängigen Ansprüchen dargelegten
Merkmale erfüllt.
-
1 veranschaulicht
den Aufbau eines Systems als eine Ausführung der vorliegenden Erfindung.
-
2 ist
ein Blockschaltbild einer Keyboard-Vorrichtung der Ausführung.
-
3A und 3B veranschaulichen
ein Format von MIDI-Daten und die Zusammensetzung von Musikdaten
für jeden
Kanal.
-
4 veranschaulicht
ein Format von Melodiedaten der MIDI-Daten.
-
5 ist
ein Flussdiagramm eines von einer CPU von 2 ausgeführten Programms.
-
6 ist
ein Flussdiagramm eines Schalterprozesses von 5.
-
7 ist
ein Flussdiagramm eines Modusauswahl-Schalterprozesses als ein Teil
des Schalterprozesses von 6.
-
8 ist
ein Flussdiagramm eines Startschalterprozesses als ein Teil des
Schalterprozesses von 6.
-
9 ist
ein Flussdiagramm eines Empfangsschalterprozesses als ein Teil des
Schalterprozesses von 6.
-
10 ist
ein Flussdiagramm eines Tastenführungsprozesses
als ein Teil des Flussdiagramms von 5.
-
11 ist
ein Flussdiagramm eines Teils eines Führung-A-Prozesses als ein Teil
des Tastenführungsprozesses
von 10.
-
12 ist
ein Flussdiagramm eines Teils des Führung-A-Prozesses fortgesetzt
von 11.
-
13 ist
ein Flussdiagramm des restlichen Teils des Führung-A-Prozesses fortgesetzt
von 11.
-
14 ist
ein Flussdiagramm eines Teils eines Führung-B-Prozesses als ein Teil
des Tastenführungsprozesses
von 10.
-
15 ist
ein Flussdiagramm des restlichen Teils des Führung-B-Prozesses fortgesetzt
von 14.
-
16 ist
ein Flussdiagramm eines Teils eines Tastendruckprozesses des Flussdiagramms
von 5.
-
17 ist
ein Flussdiagramm des restlichen Teils des Tastendruckprozesses
fortgesetzt von 16.
-
18 ist
ein Flussdiagramm eines Ausgabeprozesses des Flussdiagramms von 5.
-
19 ist
ein Flussdiagramm eines Empfangsprozesses des Flussdiagramms von 5.
-
20 veranschaulicht
den Aufbau eines Systems als eine andere Ausführung.
-
21 veranschaulicht
den Aufbau eines Systems als noch eine andere Ausführung.
-
22 veranschaulicht
den Aufbau eines Systems als eine wertere Ausführung.
-
Eine
Melodiespiel-Übungsvorrichtung
als eine bevorzugte Ausführung
der vorliegenden Erfindung wird als Nächstes mit Verweis auf die
begleitenden Zeichnungen beschrieben, wobei eine Keyboard-Vorrichtung
als ein Beispiel genommen wird. 1 veranschaulicht
den Aufbau eines Systems, das die Keyboard-Vorrichtung 1 entählt, die
eine FD (Floppydisk) 2 als Speichereinrichtung treibt,
die Melodiedaten speichert, um MIDI-Daten für eine MIDI-Tonquelle 3 bereitzustellen.
Die Melodiedaten werden von einem Melodiedaten-Server 5 über ein Netzwerk
(Fernmeldeleitungen) 4 des Internet empfangen.
-
2 ist
ein Blockschaltbild der Keyboard-Vorrichtung. Eine CPU 11 der
Keyboard-Vorrichtung ist über
einen Systembus mit einem ROM 12, einem RAM 13,
einer Tastenabtast-Schnittstelle 14,
einer LEDC (LED-Steuerung) 15, einer FDDC (Floppydisk-Treibersteuerung) 16,
einem Modem 17 und einer MIDI-Schnittstelle 18 verbunden.
-
Das
ROM 12 enthält
ein Melodiespiel-Übungsprogramm,
das von der CPU 11 ausgeführt wird. Das RAM 13 speichert
vorübergehend
verschiedene von der CPU 11 verarbeitete Daten. Die Tastenabtast-Schnittstelle 14 ist
mit einer optischen Keyboard- und Schaltergruppe 19 verbunden,
um den Betriebszustand der Gruppe 19 abzutasten, und liefert
ein entsprechendes Signal an die CPU 11. Die LEDC 15 steuert
das Ein- und Ausschalten einer LED 20 als lichtemittierende
Einrichtung, die in Entsprechung mit jeder Taste bereitgestellt
wird, die hierin als ein zu betätigendes
Element bezeichnet werden kann. Die FDDC 16 steuert einen
FDD (Floppydisk-Treiber) 21.
-
Der
Modem 17 als Kommunikationssteuereinrichtung enthält eine
Netzwerksteuereinheit (NCU) (nicht gezeigt), die die Verbindung
des Modems mit der Fernmeldeleitung oder dem Netzwerk 4 steuert
und Melodiedaten von dem Melodiedaten-Server 5 entsprechend
einer Empfangsanweisung von der CPU 11 empfängt und
demoduliert. Die FDDC 16 und der FDD 21 zeichnen
empfangene Melodiedaten in der Floppydisk 2 auf. Die MIDI-Schnittstelle 18 liefert
die von der CPU 11 erzeugten MIDI-Daten an die MIDI-Tonquelle 3.
-
3A zeigt
ein Format von MIDI-Daten, die aus einem Einbyte Statusbyte (Kopfbit
= 1) und einem Ein- oder Zweibyte Datenbyte (Kopfbit = 0) besteht
und als eine Kanalnachricht oder eine Systemnachricht, abhängig von
einem Objekt ihres Gebrauchs, verwendet wird. Das Statusbyte besteht
aus drei Bits, die die Art der Nachricht darstellen, und vier Bits,
die eine Kanalnummer n darstellen. Zum Beispiel stellen "000", "001" und "100" "Note-Ein"-Daten, "Note-Aus"-Daten bzw. einen Programmänderungsbefehl
dar, der eine Änderung
der Tonqualität
einer betreffenden Melodie als die Art von Kanalnachricht umfasst.
-
3B veranschaulicht
eine Vielzahl von Teilen von Melodiedaten, z.B. einen Melodieteil,
einen Trommelteil, einen Bassteil und drei Codeteilen, spezifiziert
für jeden
Kanal. In der Navigationsfunktion wird der Melodieteil im Allgemeinen
als ein Teil zur Darbietungsführung
spezifiziert.
-
Wie
in 4 gezeigt, besteht der Melodieteil aus abwechselnd
angeordneten Zeitdaten und Ereignisdaten für jede der Adressen in einem
Adressregister AD. Die Ereignisdaten bestehen aus Note-Ein- oder
Note-Aus-Daten und einer Kanalnummer als Statusbytes und Notendaten
(die eine Tastennummer darstellen) und Geschwindigkeitsdaten als
Datenbytes. Eine Endadresse des Melodieteils enthält END-Daten.
-
Die
Arbeitsweise der Spielübungsvorrichtung
der Ausführung
wird basierend auf einem Flussdiagramm beschrieben, das ein durch
die CPU 11 ausgeführtes
Programm darstellt.
-
5 zeigt
einen Hauptfluss der Flussdiagramms, der eine Schleifenoperation,
die sich nach einem vorbestimmten Initialisierungsprozess (Schritt A1)
wiederholt, einen Schalterprozess (Schritt A2), einen Tastenführungsprozess
(Schritt A3), einen Tastendruckprozess (Schritt A4, einen Zeitzählungsprozess
(Schritt A5), einen Ausgabeprozess (Schritt A6), einen Empfangsprozess
(Schritt A7) sowie einen anderen Prozess umfasst.
-
6 ist
ein Flussdiagramm des Schalterprozesses (Schritt A2) des Hauptflusses
von 5. In diesem Schritt tastet die CPU 11 die
Schaltergruppe von 2 ab und führt einen Modusauswahlschalterprozess
(Schritt B1), einen Startschalterprozess (Schritt B2), einen Empfangsprozess
(Schritt B3) und einen anderen Schalterprozess (Schritt B4) durch
und gibt dann die Steuerung an den Hauptfluss von 5 zurück.
-
7 zeigt
ein Flussdiagramm des Modusauswahlschalterprozesses (Schritt B1)
von 6. In diesem Prozess stellt die CPU 11 fest,
ob einer der Modusauswahlschalter, die einen Normalschalter, einen
Lektion-1-Schalter, einen Lektion-2-Schalter und einen Lektion-3-Schalter umfassen,
eingeschaltet ist (Schritt C1). Wenn nicht, beendet die CPU 11 diesen Prozess.
Wenn einer der Schalter eingeschaltet ist, führt die CPU 11 einen
Prozess entsprechend dem Einschalten des Modusauswahlschalters durch.
-
Dann
stellt die CPU 11 fest, ob der Normalschalter eingeschaltet
wurde (Schritt C2). Wenn er eingeschaltet wurde, setzt die CPU 11 ein
Modusregister MODE auf "0" (Schritt C3). Dann
stellt die CPU 11 fest, ob der Lektion-1-Schalter eingeschaltet
wurde (Schritt C4). Wenn er eingeschaltet wurde, setzt die CPU 11 das
Modusregister MODE auf "1" Schritt C5). Dann
stellt die CPU 11 fest, ob der Lektion-2-Schalter eingeschaltet
wurde (Schritt C6). Wenn er eingeschaltet wurde, setzt die CPU 11 das Modusregister
MODE auf "2" (Schritt C7). Dann
stellt die CPU 11 fest, ob der Lektion-3-Schalter eingeschaltet
wurde (Schritt C8). Wenn er eingeschaltet wurde, setzt die CPU 11 das
Modusregister MODE auf " 3" (Schritt C9).
-
Wenn
das Modusregister MODE "0" ist, wird ein allgemeiner
Normaldarbietungsmodus eingestellt, bei dem ein Musikklang nur durch
eine Darbietung auf dem Keyboard erzeugt wird. Die Werte "1" "3" des Modusregisters
MODE geben jeweils einen Darbietungsmodus basierend auf der Navigationsfunktion
an, die die Darbietung von Melodiedaten in einer Floppydisk führt. Der
Wert "1" des Modusregisters
MODE bezeichnet einen "ANY
key"-Modus, bei dem
ein Musikklang von Melodiedaten erzeugt wird, wenn irgendeine Taste
ungeachtet einer Tonlage der Melodiedaten gedrückt wird. Der Wert "2 des Modusregisters
MODE bezeichnet einen Darbietungsmodus, bei dem ein Musikklang erzeugt
wird, wenn eine (lichtemittierende) Taste, die der Tonlage von Melodiedaten
entspricht, richtig gedrückt
wird. Der Wert "3" des Modusregisters
MODE bezeichnet einen Modus, bei dem Melodiedaten ungeachtet der
Darbietung automatisch gelesen werden, und bei dem ein Musikklang
der Melo diedaten erzeugt wird, wenn eine entsprechende geführte Taste
gedrückt
wird. Wenn ein Wert, der jedem der Modusauswahlschalter entspricht,
in dem Modusregister MODE gesetzt ist, beendet die CPU 11 diesen
Prozess und gibt die Steuerung an die Schalterprozess von 6 zurück.
-
8 ist
ein Flussdiagramm, das den Startschalterprozess (Schritt S2) als
Teil des Schalterprozesses von 6 veranschaulicht.
In diesem Prozess stellt die CPU 11 fest, ob der Startschalter
eingeschaltet wurde (Schritt D1). Wenn nicht, beendet die CPU 11 diesen
Prozess. Wenn er gedrückt
wurde, invertiert die CPU 11 ein Startflag STF (Schritt D2)
und stellt dann fest, ob das STF "1" ist
(Schritt D3).
-
Wenn
das Startflag STF "1" ist, setzt die CPU 11 ein
Adressregister AD oder eine Kopfadresse der Melodiedaten auf "0" und ein Register STATUS auf "1" (Schritt D4). Der Wert des Registers
STATUS wird in dem später
zu beschreibenden Tastendruckprozess gesetzt. Wenn der Wert des
Registers STATUS "1" ist, ist gemeint,
dass ein Zeitpunkt des Drückens einer
Taste mit einem Zeitpunkt des Startens des Erzeugens eines Musikklangs
der betreffenden Melodiedaten zusammenfällt. Wenn der Wert des Registers
STATUS "2" ist, ist gemeint,
dass keine Taste gedrückt
wird, selbst nachdem der Zeitpunkt des Startens des Erzeugens eines
Musikklangs der Melodiedaten verstrichen ist, oder dass der Zeitpunkt
des Drückens
der Taste verzögert
wird. Wenn der Wert des Registers STATUS auf "3" gesetzt
ist, ist gemeint, dass die Taste gedrückt wurde, bevor der Zeitpunkt
des Beginns der Erzeugung eines Musikklangs der Melodiedaten kommt,
oder dass der Zeitpunkt des Drückens
der Taste zu früh
ist.
-
Nach
Schritt D4 speichert die CPU 11 Daten, die die gegenwärtige Zeit
darstellen, in einem Register ST (Schritt D5) und stellt dann "0" in ein Zeitregister T (Schritt D6).
Dann stellt die CPU 11 fest, ob ein Wert an einer Adresse,
die durch einen Wert (=0) eines Adressregisters AD in einem Melodiedaten-Speicherbereich
des RAM 13 angegeben wird, Ereignisdaten sind (Schritt
D7), oder ob der Kopf der Melodiedaten Ereignisdaten oder Zeitdaten
sind. Wenn es Ereignisdaten sind, setzt die CPU 11 eine
in den MIDI-Daten enthaltene Mindestzeit in ein Register ΔT (Schritt
D8), dekrementiert den Wert des Adressregisters AD um "1" (Schritt D9), um die um eins verminderte
Adresse zurückzugeben.
Dieser Dekrementierungsschritt ist für den später zu beschreibenden Tastenführungsprozess
erforderlich. Wenn in Schritt D7 der Kopf der Melodiedaten keine Ereignisdaten,
sondern Zeitdaten sind, stellt die CPU 11 die Zeitdaten
in das Register ΔT
(Schritt D10).
-
Nach
Dekrementiern der Adresse AD in Schritt D9 oder Stellen der Zeitdaten
in das Register ΔT
(Schritt D10) addiert die CPU 11 zu Aktualisierungszwecken
den Wert des Registers ΔT
zu dem Wert des Zeitregisters T (Schritt D11). Dann hebt die CPU 11 die
Sperre der Timer-Unterbrechung
auf (Schritt D12).
-
Wenn
das Startflag STF in Schritt D3 null ist, weist die CPU 11 alle
Kanäle,
ausschließlich
eines Melodiekanals, an, die Musikklänge zu dämpfen (Schritt D13), und unterbindet
die Timer-Unterbrechung (Schritt D14).
-
Nach
Aufheben der Sperre der Timer-Unterbrechung in Schritt D12 oder
Unterbinden der Timer-Unterbrechung in Schritt D14 beendet die CPU 11 diesen
Prozess und gibt dann die Steuerung an den Schalterprozess von 6 zurück.
-
9 zeigt
ein Flussdiagramm des Empfangsschalterprozesses (Schritt B3) als
ein Teil des Schalterprozesses, in dem die CPU 11 feststellt,
ob der Empfangsschalter eingeschaltet wurde (Schritt E1). Wenn nicht,
beendet die CPU 11 diesen Prozess. Wenn er eingeschaltet
ist, setzt die CPU 11 ein Empfangsflag ZF auf "1" (Schritt E2), beendet diesen Prozess
und gibt die Steuerung an den Schalterschritt von 6 zurück.
-
10 zeigt
ein Flussdiagramm des Tastenführungsprozesses
(Schritt A3) des Hauptflusses von 5. In diesem
Prozess führt
die CPU 11 den Tastenführungsprozess
abhängig
von einem Wert des Modusregisters MODE durch, wobei die CPU 11 feststellt,
ob der Wert des Modusregisters MODE 1 ist (Schritt F1). Wenn er
1 ist, führt
die CPU 11 einen Führung-A-Prozess aus (Schritt
F2). Wenn der Wert des Modusregisters MODE weder 1 noch 2 ist, stellt die
CPU 11 fest, ob der Wert des Modusregisters MODE 3 ist
(Schritt F3). Wenn er 3 ist, führt
die CPU 11 einen Führung-B-Prozess
aus (Schritt F4) aus.
-
11-13 zeigen
ein Flussdiagramm des Führung-A-Prozesses
(Schritt F2) von 10, in dem die CPU 11 feststellt,
ob das Startflag STF 1 ist (Schritt G1). Wenn es null ist, was anzeigt,
dass die Darbietung auf einem Halt ist, beendet die CPU 11 diesen
Prozess. Wenn das Startflag 1 ist, stellt die CPU 11 fest,
ob der Wert des Registers STATUS 2 ist (Schritt G2). Wenn er 2 ist,
ist gemeint, dass keine Taste gedrückt ist, obwohl der Zeitpunkt
des Beginnens des Erzeugens eines betreffenden Musikklangs gekommen
ist. In diesem Fall wird ein Warte-Modus eingestellt, der das Abwarten
eines Tastendruck einschließt,
und die CPU 11 beendet dann diesen Prozess.
-
Wenn
der Wert des Registers STATUS in Schritt G2 nicht 2 ist, vergleicht
die CPU 11 die aktuelle Zeit und die Summe der Zeitwerte
in den Registern ST und T oder den Zeitpunkt, wenn der Musikklang
zu erzeugen begonnen wird (Schritt G3). Wenn die aktuelle Zeit den
Zeitpunkt nicht erreicht, wenn der Musikklang zu erzeugen begonnen
wird, beendet die CPU 11 diesen Prozess.
-
Wenn
die aktuelle Zeit den Zeitpunkt, wenn der Musikklang zu erzeugen
begonnen wird, erreicht, inkrementiert die CPU 11 den Wert
des Adressregisters AD (Schritt G4). Dann stellt die CPU 11 fest,
ob der Wert des Adressregisters AD END ist (Schritt G5). Wenn nicht,
stellt die CPU 11 fest, ob Daten an einer Adresse, die
durch einen Wert im Adressregister AD im Melodiedaten-Speicherbereich
des RAM 13 angegeben wird, Zeitdaten sind (Schritt G6). Wenn
es Zeitdaten sind, stellt die CPU 11 fest, ob der Wert
des Modusregisters MODE 1 ist, was bedeutet, dass ein Musikklang
auch dann erzeugt wird, wenn irgendeine Modustaste gedrückt wird
(Schritt G7). Wenn nicht, beendet die CPU 11 diesen Prozess.
-
Wenn
der Wert des Registers MODE 1 ist, stellt die CPU 11 fest,
ob der Wert des Registers STATUS 3 oder 1 ist (Schritt G8). Wenn
der Wert des Registers STATUS 3 ist, stellt die CPU 11 eine
in den MIDI-Daten enthaltene Mindestzeit in dem Register ΔT ein (Schritt
G9). Wenn der Wert des Registers STATUS 1 ist, stellt die CPU 11 Daten
an der durch den Wert im Adressregister AD angegebenen Adresse in das
Register ΔT
(Schritt G10). Nach Schritt G9 oder G10 addiert die CPU 11 den
Wert des Zeitregisters T zu dem Wert des Registers ΔT, beendet
diesen Prozess und gibt dann die Steuerung an den Tastenführungsprozess
von 10 zurück.
-
Wenn
der Wert des Adressregisters AD in Schritt G5 END ist, weist die
CPU 11 die Klangquelle 3 und die LEDC 15 an,
den Musikklang zu dämpfen bzw.
die Lichtemission anzuhalten (Schritt G12). Die CPU 11 unterbindet
dann die Timer-Unterbrechung (Schritt G13), setzt das Startflag
STF auf null zurück (Schritt
G14) und beendet dann diesen Prozess.
-
Wenn
in Schritt G6 Daten an der durch den Wert im Adressregister AD angegebenen
Adresse nicht Zeitdaten, sondern Ereignisdaten sind, stellt die CPU 11 in
dem Fluss von 12 fest, ob die gelesenen Daten
Notenereignisdaten sind (Schritt G15). Wenn es Notenereignisdaten
sind, stellt die CPU 11 fest, ob es "Note-Ein"-Daten sind (Schritt G16). Wenn es "Note-Ein"-Daten sind, stellt
die CPU 11 Pitch-Daten der MIDI-Daten in ein Register NOTE
(Schritt G17) und veranlasst dann eine LED einer Taste, die dem
Wert des Registers NOTE entspricht, Licht zu emittieren (Schritt
G18).
-
Dann
stellt die CPU 11 fest, ob der Wert des Registers STATUS
3 ist (Schritt G19). Wenn er nicht 3, sondern 1 ist, ändert die
CPU 11 den Wert des Registers STATUS auf 2 (Schritt G20)
und beendet dann diesen Prozess. Das heißt, nach Veranlassen der LED,
Licht zu emittieren, um das Drücken
einer entsprechenden Taste zu führen,
und wenn der Wert des Registers STATUS 1 ist, ändert die CPU 11 den
Wert des Registers STATUS auf 2 und hält das Auslesen der Melodiedaten
an, bis die Taste gedrückt
wird.
-
Wenn
in Schritt G19 der Wert des Registers STATUS 3 ist, ändert die
CPU 11 den Wert des Registers STATUS auf 1 (Schritt G21)
und erzeugt MIDI-Daten basierend auf einem Wert eines Registers VOLUME
(Schritt G22). Das heißt,
nach Veranlassen der LED, Licht zu emittieren, um das Drücken einer entsprechenden
Taste zu führen,
und wenn der Wert des Registers STATUS 3 ist, ist ein Lautstärkewert der
MIDI-Daten Minimum. Die CPU 11 stellt den ursprünglichen
Lautstärkewert
wieder her und erzeugt entsprechende MIDI-Daten.
-
Wenn
in Schritt G16 die MIDI-Daten nicht "Note-Ein"-Daten sind, stellt die CPU 11 fest,
ob es "Note-Aus"-Daten sind (Schritt
G23). Wenn es "Note-Aus"-Daten sind, stellt
die CPU 11 Pitch-Daten der MIDI-Daten in das Register NOTE
(Schritt G24), schaltet eine LED für eine Taste, die dem Wert
in dem Register NOTE entspricht, aus (Schritt G25) gibt die Steuerung
an Schritt G4 von 11 zurück, wo die CPU 11 den
Wert des Adressregisters AD inkrementiert, und wiederholt dann die
betreffenden vorerwähnten
Schritte.
-
Wenn
in Schritt G15 von 12 die gelesenen Daten keine
Ereignisdaten sind oder nachdem die CPU 11 den ursprünglichen
Lautstärkewert
wiederhergestellt und die entsprechenden MIDI-Daten in Schritt G22
erzeugt hat, stellt die CPU 11 fest, ob die gelesenen Daten
Lautstärke-Ereignisdaten
(Geschwindigkeitsdaten) der MIDI-Daten sind (Schritt G26). Wenn
es Lautstärke-Ereignisdaten
sind, stellt die CPU 11 den Lautstärkewert der MIDI-Daten in das
Register VOLUME (Schritt G27).
-
Dann
stellt die CPU 11 fest, ob der Wert des Registers STATUS
1 oder 3 ist (Schritt G28). Wenn er 1 ist, ändert die CPU 11 den
Lautstärkewert
der MIDI-Daten in den Wert des Registers VOLUME (Schritt G29) oder
bringt den Lautstärkewert
der MIDI-Daten auf seinen ursprünglichen
Wert zurück
(tatsächlich impliziert
Schritt G29 NOP). Wenn der Wert des Registers STATUS 3 ist, setzt
die CPU 11 den Lautstärkewert
der MIDI-Daten auf einen Minimalwert (Schritt G30). Der Minimalwert
ist ein sehr kleiner Lautstärkewert,
der kaum zu hören
ist oder alternativ null sein kann.
-
Nachdem
der Lautstärkewert
in Schritt G30 auf den Minimalwert gesetzt ist, oder der Laut stärkewert
in Schritt G29 wiederhergestellt ist oder die in Schritt G26 ausgelesenen
Daten keine Lautstärke-Ereignisdaten
der MIDI-Daten, d.h. Taste-Ein/Aus-Ereignisdaten sind, bereitet
die CPU 11 das Liefern der MIDI-Daten an die Klangquelle 3 vor. In
diesem Fall setzt die CPU 11 einen Zeiger n auf null, der
einen Kanal von einem von MIDI OUT Puffern und somit MIDI OUT (n)
spezifiziert (Schritt G31), und inkrementiert dann den Wert des
Zeigers n, während
MIDI-Daten in den MIDI OUT Puffer (n) geschrieben werden, der den
MIDI OUT Puffer für den
durch den Wert des Zeigers n spezifizierten Kanal darstellt. In
diesem Fall stellt die CPU 11 fest, ob ein durch den Zeiger
n spezifizierter MIDI OUT Puffer (n) leer ist (Schritt G32). Wenn
er nicht leer ist, inkrementiert die CPU 11 den Wert des
Zeigers n (Schritt G33) und stellt fest, ob n eine vorbestimmte
Zahl überschritten
hat (Schritt G34). Wenn der Wert des Zeigers n die vorbestimmte
Zahl nicht überschritten hat,
stellt die CPU 11 in Schritt G32 fest, ob der MIDI OUT
Puffer (n) leer ist.
-
Wenn
er leer ist, speichert die CPU 11 die MIDI-Daten in einem
Ereignisbereich des MIDI OUT Puffers (n) (Schritt G35). Die CPU 11 speichert
auch Daten, die der aktuellen Zeit entsprechen, in einem Register
WTIME (Schritt G36) und auch Zeitdaten in dem Register WTIME oder
die aktuelle Zeit in einem Zeitbereich des MIDI OUT Puffers (n)
(Schritt G37). Dann oder wenn der Wert des Zeigers n die vorbestimmte
Zahl in Schritt G34 überschritten
hat, gibt die CPU 11 die Steuerung an Schritt G4 von 11 zurück, wo sie
den Wert des Adressregisters AD inkrementiert.
-
14 und 15 bilden
gemeinsam ein Flussdiagramm des Führen-B-Prozesses (Schritt F4) in
dem Tastenführungsprozess
von 10. In diesem Prozess stellt die CPU 11 fest,
ob das Startflag STF 1 ist (Schritt H1). Wenn es null ist,
was einen Darbietungsstoppzustand angibt, beendet die CPU 11 diesen
Prozess. Wenn das Flag STF 1 ist, stellt die CPU 11 fest,
ob die aktuelle Zeit mit der Summe der Zeitwerte der Register ST
und T oder dem Zeitpunkt übereinstimmt,
wenn ein Musikklang erzeugt zu werden beginnt (Schritt H2). Wenn
nicht, beendet die CPU 11 diesen Prozess.
-
Wenn
die aktuelle Zeit mit dem Zeitpunkt, wenn der Musikklang erzeugt
zu werden beginnt, übereinstimmt,
inkrementiert die CPU 11 den Wert des Adressregisters AD
(Schritt H3) und stellt dann fest, ob der Wert der Adresse AD END
ist (Schritt H4). Wenn nicht, stellt die CPU 11 fest, ob
Daten an der durch den Wert im Adressregister AD angegebenen Adresse
Zeitdaten sind (Schritt H5). Wenn es Zeitdaten sind, stellt die
CPU 11 die Daten an der durch den Wert des Adressregisters
AD im RAM 13 angegebenen Adresse in das Register ΔT (Schritt H6).
Die CPU 11 addiert dann den Wert des Registers ΔT zu dem
Wert des Regis ters T (Schritt G7), beendet diesen Prozess und gibt
dann die Steuerung an den Tastenführungsprozess von 10 zurück.
-
Wenn
in Schritt H4 die Daten an der durch den Wert des Adressregisters
AD angegebenen Adresse END sind, weist die CPU 11 die Klangquelle und
die LEDC 15 an, die Musikklänge zu dämpfen bzw. die Lichtemission
anzuhalten (Schritt H8). Die CPU 11 unterbindet dann die
Timer-Unterbrechung (Schritt H9), setzt das Startflag STF auf null
zurück (Schritt
H10), beendet diesen Prozess und gibt dann die Steuerung an den
Tastenführungsprozess
von 10 zurück.
-
Wenn
die Daten an der durch den Wert des Adressregisters AD angegebenen
Adresse keine Zeitdaten, sondern Ereignisdaten in Schritt H5 sind, stellt
die CPU 11 fest, ob die gelesenen Daten Notenereignisdaten
der MIDI-Daten sind (Schritt H11). Wenn es Notenereignisdaten sind,
stellt die CPU 11 fest, ob es "Note-Ein"-Daten sind (Schritt H12). Wenn es "Note-Ein"-Daten sind, stellt die CPU 11 Pitch-Daten
der MIDI-Daten in das Register NOTE (Schritt H13) und veranlasst
dann eine LED einer Taste, die dem Wert des Registers NOTE entspricht,
Licht zu emittieren (Schritt H14).
-
Wenn
die MIDI-Daten keine "Note-Ein"-Daten sind, sondern "Note-Aus"-Daten in Schritt
H12 sind, stellt die CPU 11 die Pitch-Daten der MIDI-Daten
in das Register NOTE (Schritt H15) und schaltet dann eine LED für eine Taste,
die den Pitch-Daten der MIDI-Daten im Register NOTE entspricht,
aus (Schritt H16).
-
Nach
Ein- oder Ausschalten der entsprechenden LED in Schritt H14 oder
H16 gibt die CPU 11 die Steuerung an Schritt H3 zurück, wo sie
den Wert des Registers AD inkrementiert, und wiederholt dann die
betreffenden vorerwähnten
Schritte.
-
Nachdem
die in Schritt H1 ausgelesenen Daten keine Notenereignisdaten der
MIDI-Daten sind, d.h. "Key
on Event"-Daten
sind, setzt die CPU 11 den Wert eines Zeigers n auf null,
der einen Kanal eines MIDI OUT Puffers spezifiziert (Schritt H17
von 15), inkrementiert den Zeiger n, während MIDI-Daten
in den MIDI OUT Puffer (n) geschrieben werden. In diesem Fall stellt
die CPU 11 fest, ob der durch den Wert des Zeigers n spezifizierte
MIDI OUT Puffer (n) leer ist (Schritt H18). Wenn er nicht leer ist, inkrementiert
die CPU den Wert des Zeigers n (Schritt H19) und stellt fest, ob
der Wert des Zeigers n eine vorbestimmte Zahl überschritten hat (Schritt H20).
Wenn der Wert des Zeigers n die vorbestimmte Zahl nicht überschritten
hat, stellt die CPU 11 in Schritt H18 fest, ob der MIDI
OUT Puffer (n) leer ist.
-
Wenn
er leer ist, speichert die CPU 11 die MIDI-Daten in dem
Ereignisbereich des MIDI OUT Puffers (n) (Schritt H21). Die CPU 11 speichert
auch die aktuelle Zeit in einem Register WTIME (Schritt H22) und
auch Zeitdaten in dem Register WTIME (oder die aktuelle Zeit) im
Zeitbereich des MIDI OUT Puffers (n) (Schritt H29). Dann oder wenn
der Wert des Zeigers n die vorbestimmte Zahl in Schritt H29 überschritten
hat, gibt die CPU 11 die Steuerung an Schritt H3 von 11 zurück, wo sie
den Wert des Adressregisters AD inkrementiert.
-
16 und 17 bilden
gemeinsam ein Flussdiagramm eines Tastendruckschrittes A4 des Hauptflusses
von 5. Zuerst stellt die CPU 11 fest, ob
sich der Status irgendeiner Taste geändert hat (Schritt J1). Wenn
nicht, gibt die CPU 11 die Steuerung an den Hauptfluss
zurück.
Wenn eine Taste gedrückt
wurde, speichert die CPU 11 Pitch-Daten der Taste in einem
Register KEY (Schritt J2) und auch Geschwindigkeitsdaten, die die
Stärke
des Drückens der
Taste darstellen, in einem Register VELOCITY (Schritt J3).
-
Die
CPU 11 stellt dann fest, ob der Wert des Modusregisters
MODE 1 oder 2 ist (Schritt J4), oder ob der eingestellte
Modus ein Tastendruck-Wartemodus ist. Wenn der Wert des Registers
MODE 1 oder 2 ist, stellt die CPU 11 weiter
fest, ob der Wert des Modusregisters MODE 2 ist (Schritt
J5), oder ob der eingestellte Modus ein Modus ist, bei dem eine
richtige Taste, die geführt
ist, um gedrückt
zu werden, erwartet wird. Wenn der Wert des Modusregisters MODE 2 ist,
stellt die CPU 11 fest, ob die Nummer der Taste, die zu
drücken
ist und durch das Register KEY dargestellt wird, mit Notendaten
der durch das Register NOTE dargestellten MIDI-Daten übereinstimmt
(Schritt J6).
-
Wenn
der Wert des Registers KEY mit dem Wert des Registers NOTE übereinstimmt,
oder wenn der Wert des Registers MODE in Schritt J5 1 ist, ein "ANY key"-Modus eingestellt
ist, wo ein Musikklang durch Drücken
irgendeiner Taste erzeugt wird, stellt die CPU 11 fest,
ob die aktuelle Zeit die Summe der Zeitdaten der Register ST und
T nicht erreicht hat (Schritt J7), oder ob die aktuelle Zeit den
Zeitpunkt, wenn der Musikklang erzeugt zu werden beginnt, nicht
erreicht hat.
-
Wenn
die aktuelle Zeit den Zeitpunkt erreicht hat, setzt die CPU 11 den
Wert des Registers STATUS auf 1, subtrahiert die Summe der Zeitdaten
der Register ST und T von der aktuellen Zeit, speichert die Differenz
in einem Differenzregister S (Schritt J9) und addiert den Wert des
Registers S zu den Zeitdaten des Registers ST (Schritt J10), um
den Wert des Registers ST zu aktualisieren, und erzeugt dann MIDI-Daten
für einen
beteiligten Melodiekanal (Schritt J11).
-
Wenn
andernfalls in Schritt J7, stellt die CPU 11 fest, ob der
Wert des Registers MODE 1 ist (Schritt J12), oder ob der "ANY key"-Modus eingestellt
ist. Wenn der Wert des Registers MODE 1 ist, setzt die CPU 11 den
Wert des Registers STATUS auf 3 (Schritt J13). Das heißt, wenn
eine Taste gedrückt wird,
bevor der Zeitpunkt, wenn ein entsprechender Musikklang erzeugt
zu werden beginnt, kommt, stellt die CPU 11 einen Modus
ein, bei dem der relevante Abschnitt der Melodiedaten, die in einem
Zeitraum zwischen der Zeit, wenn die Taste gedrückt wurde, und dem Zeitpunkt
zu dem der Musikklang erzeugt zu werden beginnt, zu lesen und zuzuführen sind, schnell
gelesen und zugeführt
werden, und erzeugt dann MIDI-Daten einer Melodie (Schritt J11).
-
Wenn
die in Schritt J1 gedrückte
Taste losgelassen wird, speichert die CPU 11 im Register
KEY Daten, die den Pitch des Musikklangs darstellen, der zuletzt
durch Drücken
der Taste, bevor die Taste losgelassen wurd, erzeugt wurde, setzt
den Wert des Registers VELOCITY auf null (Schritt J15) und erzeugt
MIDI-Daten der Melodie (Schritt J11).
-
Wenn
der Wert des Registers MODE in Schritt J4 weder 1 noch 2, sondern
3 ist, oder wenn der Wert des Registers KEY in Schritt J6 nicht
mit dem Wert des Registers NOTE übereinstimmt,
d.h., wenn eine Taste anders als die Taste, zu derem Drücken der
Benutzer geführt
wurde, gedrückt
wurde, oder der Wert des Registers MODE in Schritt J12 nicht 1 ist,
erzeugt die CPU 11 MIDI-Daten der Melodie (Schritt J11).
-
Dann
setzt in 17 die CPU 11 den Wert des
Zeigers n, der den MIDI OUT Puffer spezifiziert, auf null (Schritt
J16), inkrementiert den Wert des Zeigers n, während die MIDI-Daten in den
MIDI OUT Puffer (n) gestellt werden. Das heißt, die CPU 11 stellt
fest, ob der MIDI OUT Puffer (n) leer ist (Schritt J17). Wenn nicht,
inkrementiert die CPU 11 den Wert des Zeigers n (Schritt
J18) und stellt dann fest, ob der Wert des Zeigers n eine vorbestimmte
Zahl überschritten
hat (Schritt J19). Wenn nicht, gibt die CPU 11 die Steuerung
an Schritt J17 zurück,
wo sie feststellt, ob der MIDI OUT Puffer (n) leer ist.
-
Wenn
der MIDI OUT Puffer (n) leer ist, speichert die CPU 11 die
MIDI-Daten in einem Ereignisbereich des MIDI OUT Puffers (n) (Schritt
J20). Die CPU 11 speichert die aktuellen Zeitdaten im Register WTIME
(Schritt J21) und speichert auch die aktuellen Zeitdaten im Register
WTIME im Zeitbereich des MIDI OUT Puffers (n) (Schritt J22). Dann
oder wenn der Wert des Zeigers n in Schritt J19 die vorbestimmte
Zahl überschritten
hat, stellt die CPU 11 fest, ob der Wert des Registers
STATUS 3 ist (Schritt J23). Wenn nicht, beendet die CPU 11 diesen
Prozess. Dass der Wert des Registers STATUS 3 ist, bedeutet, dass
eine Taste gedrückt
wurde, bevor die Zeit, wenn der Musikklang für die MIDI-Daten erzeugt zu
werden be ginnt, gekommen ist. Die CPU 11 führt daher
einen Prozess durch, um die MIDI-Daten schnell zuzuführen.
-
In
diesem Fall erzeugt die CPU 11 MIDI-Daten, in denen der
Lautstärkewert
Minimum ist (Schritt J24), setzt den Wert des Zeigers n auf null,
der einen MIDI OUT Puffer (n) spezifiziert (Schritt J25), und inkrementiert
dann den Wert des Zeigers n, während die
erzeugten MIDI-Daten im MIDI OUT Puffer (n) gespeichert werden.
Dann stellt die CPU 11 fest, ob der durch den Wert des
Zeigers n spezifizierte MIDIOUT Puffer (n) leer ist (Schritt J26).
Wenn nicht, inkrementiert die CPU 11 den Wert des Zeigers
n (Schritt J27) und stellt fest, ob der Wert des Zeigers n die vorbestimmte
Zahl überschritten
hat (Schritt J28). Wenn nicht, stellt die CPU 11 in Schritt
J26 fest, ob der MIDI OUT Puffer (n) leer ist.
-
Wenn
der MIDI OUT Puffer (n) leer ist, speichert die CPU 11 die
MIDI-Daten im Ereignisbereich des MIDI OUT Puffers (n) (Schritt
J29). Die CPU 11 speichert weiter die aktuellen Zeitdaten
im Register WTIME (Schritt J30) und speichert auch die aktuellen Zeitdaten
im Register WTIME im Zeitbereich des MIDI OUT Puffers (n) (Schritt
J31). Dann oder wenn der Wert des Zeigers n in Schritt J28 den vorbestimmten
Wert überschritten
hat, beendet die CPU 11 diesen Prozess und gibt die Steuerung
an den Fluss von 5 zurück.
-
18 ist
ein Flussdiagramm des Ausgabeprozesses (Schritt A6) des Flusses
von 5. In diesem Prozess setzt die CPU 11 den
Zeiger, der einen MIDI OUT Puffer spezifiziert, auf null, was die
Kopfadresse des Puffers darstellt (Schritt K1), und inkrementiert
den Wert des Zeigers n, während
der folgende Ausgabeprozess durchgeführt wird. Das heißt, die CPU 11 liest
MIDI-Daten aus dem durch den Wert des Zeigers n spezifizierten MIDI
OUT Puffer (n) (Schritt K2) und stellt dann fest, ob die gelesenen
Daten "Notenereignis"-Daten der MIDI-Daten sind (Schritt
K3).
-
Wenn
es "Notenereignis"-Daten sind, liest die
CPU 11 Zeitdaten im Register WTIME für die "Notenereignis"-Daten aus dem MIDI OUT Puffer (n) Schritt
K4), subtrahiert die Zeit im Register WTIME von der aktuellen Zeit,
stellt eine Zeitdifferenz als das Ergebnis der Subtraktion in ein
Register D (Schritt K5) und stellt dann fest, ob der Wert des Registers
D den vorbestimmten Wert überschritten
hat (Schritt K6).
-
Wenn
der Wert des Registers D den vorbestimmten Wert überschritten hat, oder wenn
die in Schritt K3 ausgelesenen MIDI-Daten keine "Notenereignis"-Daten, sondern Lautstärkedaten
sind, liefert die CPU 11 die MIDI-Daten an die MIDI OUT
Vorrichtung (die MIDI-Klangquelle 3 von 1)
(Schritt K7) und leert dann den MIDI OUT Puffer (n) (Schritt K8). Dann oder
wenn der Wert des Registers D in Schritt K6 kleiner als der vorbestimmte
Wert ist, inkrementiert die CPU 11 den Wert des Zeigers
n (Schritt K9) und stellt dann fest, ob der Wert des Zeigers n den vorbestimmten
Wert überschritten
hat (Schritt K10). Wenn nicht, gibt die die CPU 11 die
Steuerung an Schritt K2 zurück,
wo sie einen Schleifenprozess, der die Schritte K2–K10 umfasst,
wiederholt. Wenn der Wert des Zeigers n den vorbestimmten Wert überschritten
hat, beendet die CPU 11 diesen Prozess und gibt die Steuerung
an an den Anfang des Hauptflusses von 5 zurück.
-
19 ist
ein Flussdiagramm des Empfangsprozesses (Schritt A7) des Hauptflusses.
In diesem Prozess stellt die CPU 11 fest, ob das Empfangsflag
ZF 1 ist (Schritt L1), Wenn das Flag ZF null ist, beendet die CPU 11 diesen
Prozess. Wenn das Flag ZF 1 ist, was eine Anforderung nach einem
Zugriff auf den Melodiedaten-Server 5 darstellt, setzt
die CPU 11 den Wert des Adressregisters AD auf null (Schritt
L2) und inkrementiert dann den Wert des Adressregisters AD, während der
folgende Schleifenprozess durchgeführt wird.
-
Die
CPU 11 stellt durch den Modem 17 fest, ob MIDI-Daten
empfangen wurden (Schritt L3). Wenn sie empfangen wurden, speichert
die CPU 11 die MIDI-Daten an einer durch den Wert des Adressregisters
AD spezifizierten Stelle (Schritt L4), inkrementiert den Wert des
Adressregisters AD und spezifiziert dann die nächste Stelle (Schritt L5).
Dann stellt die CPU 11 fest, ob der Empfang von MIDI-Daten
abgeschlossen ist (Schritt L6). Wenn nicht, gibt die CPU 11 die
Steuerung an Schritt L3 zurück,
wo sie feststellt, ob MIDI-Daten empfangen wurden.
-
Wenn
der Empfang der MIDI-Daten in Schritt L6 abgeschlossen ist, stellt
die CPU 11 den Wert des Adressregisters AD in ein Register
END (Schritt L7), setzt das Empfangsflag ZF auf null zurück (Schritt
L8) und gibt dann die Steuerung an den Anfang des Hauptflusses von 5 zurück.
-
Wie
oben beschrieben, wird erfindungsgemäß, wenn eine Taste, die zu
drücken
ist, um eine Melodie darzubieten, nicht gedrückt wird, nachdem der Zeitpunkt,
zu dem ein Musikklang von betreffenden Ereignisdaten erzeugt zu
werden beginnt, verstrichen ist, das Lesen der Melodiedaten angehalten, bis
die Taste gedrückt
ist. Wenn die Taste gedrückt wird,
bevor der Zeitpunkt, zu dem der Musikklang erzeugt zu werden beginnt,
gekommen ist, werden relevante Melodiedaten, die in einem Zeitraum
zwischen der Zeit, wenn die Taste gedrückt wurde, und der Zeit, wenn
der Zeitpunkt, zu dem der Musikklang erzeugt zu werden beginnt,
gekommen ist, zuzuführen
und zu lesen sind, schnell zugeführt
und ausgelesen. Selbst wenn ein Tastendrücken für eine Darbietung durchgeführt wird,
bevor der Zeitpunkt, wenn der Musikklang erzeugt zu werden beginnt,
kommt, kann daher in der Navigations funktion des Führens des
Tastendrückens
für die
Darbietung der Spieler die Melodie mit einem passenden Tempo darbieten, ohne
das Gefühl
zu haben, dass etwas falsch ist, und kann seine Darbietung der Melodie
mit der Darbietung eines anderen Teils der Melodie synchronisieren.
-
Wenn
in diesem Fall die CPU 11 die Musikklang-Erzeugungsbedingungen
basierend auf Steuerdaten steuert, die in den Melodiedaten enthalten sind
und zu der Zeit, wenn der Zeitpunkt kommt, schnell zugeführt und
ausgelesen werden, verarbeitet sie die Steuerdaten wie Steuerdaten,
die in einer allgemeinen Leseweise ausgelesen werden. Wenn die schnell
zugeführten
und ausgelesenen Melodiedaten einen Programmänderungsbefehl enthalten, der
eine Tonqualität
des betreffenden Musikklangs währen
der Zeitperiode ändert,
wenn die Melodiedaten schnell zugeführt und ausgelesen wurden, ändert daher
die CPU 11 die Tonqualität des Musikklangs entsprechend
den MIDI-Daten, nachdem die Zeitperiode beendet ist.
-
Wie
oben beschrieben, ändert
die CPU 11 die Lautstärke
des Musikklangs auf ein Minimum, der in der Periode erzeugt wird,
wenn die Melodiedaten schnell zugeführt und gelesen werden, um
einen lauten Klang in der Periode zu unterdrücken.
-
Während in
der Ausführung
die Keyboard-Vorrichtung, die den Modem 17, die FDDC 16 und
den FDD 21, wie in 1 und 2 gezeigt, umfasst,
veranschaulicht wurde, ist die vorliegende Erfindung nicht auf die
Ausführung
begrenzt. Ein System einer anderen Ausführung wird in 20 und 21 gezeigt.
-
In 20 ist
eine Tastatur 101 mit einem FD-Spieler 102, der
eine FD (Floppydisk) 2 treibt, über eine serielle Schnittstelle 103 verbunden,
die eine RS232C enthält.
Der FD-Spieler 102 ist mit einem Modem 104 verbunden,
der eingerichtet ist, mit einem Netzwerk 4 verbunden zu
werden, um MIDI-Daten von einem Melodiedaten-Server 5 zu
empfangen und sie in der FD 2 zu speichern. Die Tastatur-Vorrichtung 101 sendet/empfängt Befehle
und MIDI-Daten an
den bzw. von dem FD-Spieler 102. Wie in der obigen Ausführung hält, wenn
keine Zieltaste gedrückt
wird, wenn ein Zeitpunkt, wenn ein Musikklang von Ereignisdaten
erzeugt zu werden beginnt, verstrichen ist, die CPU 11 das
Lesen von Melodiedaten an, bis die Taste gedrückt ist. Wenn die Zieltaste gedrückt wird,
bevor der Zeitpunkt, wenn der Musikklang erzeugt zu werden beginnt,
kommt, veranlasst die CPU 11, dass die relevanten Melodiedaten,
die in einem Zeitraum zwischen der Zeit, wenn die Taste gedrückt wurde,
und der Zeit, wenn der Zeitpunkt, zu dem der Musikklang erzeugt
zu werden beginnt, kommt, schnell zuzuführen und zu lesen sind, schnell zugeführt und
ausgelesen werden.
-
In
der Anordnung von 21 enthält der FD-Spieler 104 einen
eingebauten Modem (nicht gezeigt). Wie bei der obigen Ausführung sendet/empfängt die
Tastatur-Vorrichtung 101 Befehle und MIDI-Daten an den
bzw. von dem FD-Spieler 102. Wie in der obigen Ausführung stoppt,
wenn keine Zieltaste nach dem Zeitpunkt, wenn der Kusikklang erzeugt zu
werden beginnt, verstrichen ist, gedrückt wird, die CPU 11 das
Lesen von Melodiedaten, bis die Taste gedrückt ist. Wenn eine Zieltaste
gedrückt
wird, bevor der Zeitpunkt, wenn der Musikklang erzeugt zu werden
beginnt, kommt, veranlasst die CPU 11, dass die relevanten
Melodiedaten, die in einem Zeitraum zwischen der Zeit, wenn die
Taste gedrückt
wurde, und der Zeit, wenn der Zeitpunkt, zu dem der Musikklang erzeugt
zu werden beginnt, kommt, schnell zuzuführen und zu lesen sind, schnell
zugeführt
und ausgelesen werden.
-
Während in
der vorliegenden Ausführung das
ROM 12 der Tastatur-Vorrichtung 1 als ein Medodiespiel-Übungsprogramm
enthaltend dargestellt wird, um dadurch einen Melodiespiel-Übungsprozess auszuführen, kann
eine Floppydisk, eine CD oder ein anderes Aufzeichnungsmedium ein
Melodiespiel-Übungsprogramm
enthalten, um einen Informationsprozessor, z.B. einen gewöhnlichen
Personal Computer zu veranlassen, das Programm auszuführen.
-
Zum
Beispiel enthält
in der Anordnung von 22 eine FD 107 ein
Melodiespiel-Übungsprogramm.
Ein Personal Computer 106 treibt die FD 107, um
das Melodiespiel-Übungsprogramm
auszuführen.
Der Personal Computer 106 enthält einen Modem (nicht gezeigt),
um mit einem Netzwerk 4 zu kommunizieren, und empfängt MIDI-Daten
von einem Melodiedaten-Server 5. Der Personal Computer 106 sendet/empfängt außerdem Befehle/MIDI-Datenan
eine bzw. von einer Tastatur-Vorrichtung 101 über eine
serielle Schnittstelle 103.
-
In
diesem Fall ist die FD 107 über eine Fernmeldeleitung mit
einer externen Vorrichtung verbunden und enthält ein Spielübungsprogramm,
das die folgenden Schritte umfasst: Empfangen von Melodiedaten,
die Ereignisdaten zur Erzeugung eines Musikklangs und Zeitdaten
enthalten, die einen Zeitpunkt angegeben, zu dem der Musikklang
der Ereignisdaten erzeugt zu werden beginnt; Speichern der empfangenen
Melodiedaten in einer vorbestimmten Speichervorrichtung; Lesen der
in der Speichervorrichtung gespeicherten Melodiedaten; Führen einer
Taste, um die durch den Datenleseschritt ausgelesenen Ereignisadaten
auszuführen,
basierend auf den Ereignisdaten; Anhalten des Lesens der Melodiedaten, bis
eine Taste gedrückt
wird, wenn die Taste nicht gedrückt
wird, nachdem der Zeitpunkt, zu dem ein Musikklang der Ereignisdaten
erzeugt zu werden beginnt, verstrichen ist; und wenn die Taste betätigt wird,
bevor der Zeitpunkt, zu dem der Musikklang erzeugt zu werden beginnt,
kommt, schnell Zuführen der
relevanten Melodiedaten, die in einem Zeitraum zwischen der Zeit, wenn
die Taste gedrückt
wurde, und der Zeit, wenn der Zeitpunkt, zu dem der Musikklang erzeugt
zu werden beginnt, kommt, zuzuführen und
zu lesen sind.
-
Wenn
Melodiedaten im Voraus in der FD 107 aufgezeichnet sind,
liest der Personal Computer direkt die Melodiedaten. In diesem Fall
enthält
die FD 107 ein Programm, das die folgenden Schritt umfasst:
Lesen aus einer vorbestimmten Speichervorrichtung Melodiedaten,
die Ereignisdaten über
die Erzeugung eines Musikklangs und Zeitdaten enthalten, die einen
Zeitpunkt angegeben, zu dem der Musikklang der Ereignisdaten erzeugt
zu werden beginnt; Führen
einer Taste, um die durch den Datenleseschritt ausgelesenen Ereignisadaten
auszuführen, basierend
auf den Ereignisdaten; Anhalten des Lesens der Melodiedaten, bis
eine Taste gedrückt
wird, wenn die Taste nicht gedrückt
wird, nachdem der Zeitpunkt, zu dem der Musikklang der Ereignisdaten erzeugt
zu werden beginnt, verstrichen ist; und wenn die Taste betägt wird,
bevor der Zeitpunkt, zu dem der Musikklang erzeugt zu werden beginnt,
kommt, schnell Zuführen
der relevanten Melodiedaten, die in einem Zeitraum zwischen der
Zeit, wenn die Taste gedrückt
wurde, und der Zeit, wenn der Zeitpunkt, zu dem der Musikklang erzeugt
zu werden beginnt, kommt, zuzuführen
und zu lesen sind.