DE60020416T2 - Vorrichtung zur Spielübung von Melodien - Google Patents

Vorrichtung zur Spielübung von Melodien Download PDF

Info

Publication number
DE60020416T2
DE60020416T2 DE60020416T DE60020416T DE60020416T2 DE 60020416 T2 DE60020416 T2 DE 60020416T2 DE 60020416 T DE60020416 T DE 60020416T DE 60020416 T DE60020416 T DE 60020416T DE 60020416 T2 DE60020416 T2 DE 60020416T2
Authority
DE
Germany
Prior art keywords
data
time
cpu
melody
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60020416T
Other languages
English (en)
Other versions
DE60020416D1 (de
Inventor
Shiro 3-chome Tokyo Ishiguro
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Application granted granted Critical
Publication of DE60020416D1 publication Critical patent/DE60020416D1/de
Publication of DE60020416T2 publication Critical patent/DE60020416T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/0008Associated control or indicating means
    • G10H1/0016Means for indicating which keys, frets or strings are to be actuated, e.g. using lights or leds
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2220/00Input/output interfacing specifically adapted for electrophonic musical tools or instruments
    • G10H2220/021Indicator, i.e. non-screen output user interfacing, e.g. visual or tactile instrument status or guidance information using lights, LEDs or seven segments displays
    • G10H2220/026Indicator, i.e. non-screen output user interfacing, e.g. visual or tactile instrument status or guidance information using lights, LEDs or seven segments displays associated with a key or other user input device, e.g. key indicator lights
    • G10H2220/061LED, i.e. using a light-emitting diode as indicator
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2240/00Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
    • G10H2240/171Transmission of musical instrument data, control or status information; Transmission, remote access or control of music data for electrophonic musical instruments
    • G10H2240/281Protocol or standard connector for transmission of analog or digital data to or from an electrophonic musical instrument
    • G10H2240/311MIDI transmission

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Electrophonic Musical Instruments (AREA)
  • Auxiliary Devices For Music (AREA)

Description

  • 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.

Claims (2)

  1. Melodiespiel-Übungsvorrichtung, die umfasst: eine Vielzahl von Elementen (19), die zum Spielen einer Melodie zu betätigen sind; eine Speichereinrichtung (13), die Melodiedaten enthält, die eine Vielzahl von Paaren von Ereignisdaten, die eines der Vielzahl zu betätigender Elemente darstellen, und entsprechenden Zeitdaten enthalten, die einen Zeitpunkt darstellen, wenn das durch die Ereignisdaten dargestellte Element zu betätigen ist, und die weiter Lautstärkeregel-Ereignisdaten zum Regeln einer Lautstärke eines zu erzeugenden Musikklangs enthalten; eine Datenleseeinrichtung (11) zum sequenziellen Lesen der in der Speichereinrichtung gespeicherten Vielzahl von Paaren von Ereignisdaten und entsprechenden Zeitdaten; eine Spiel-Spezifizierungseinrichtung (20), die darauf anspricht, dass die Datenleseeinrichtung Ereignisdaten von einem der Vielzahl von Paaren von Melodiedaten, die ein bestimmtes der Vielzahl zu betätigender Elemente darstellen, liest, um das den Ereignisdaten entsprechende bestimmte Element zu spezifizieren, und eine Lesesteuereinrichtung (Schritte F2, A4), die darauf anspricht, dass das bestimmte Element nicht betätigt wird, selbst wenn der Zeitpunkt, zu dem das bestimmte Element zu betätigen ist, gekommen ist, wobei der Zeitpunkt durch die Zeitdaten, die den durch die Datenleseeinrichtung ausgelesenen Ereignisdaten entsprechen, dargestellt wird, um die Datenleseeinrichtung (11) am Lesen des übrig gebliebenen Abschnitts der Medodiedaten zu hindern, bis das bestimmte Element betätigt wird, und darauf anspricht, dass das bestimmte Element betätigt wird, bevor der Zeitpunkt, wenn das bestimmte Element zu betätigen ist, kommt, um die Leseeinrichtung zu veranlassen, einen in einer Zeitperiode zwischen der Zeit, wenn das bestimmte Element betätigt wurde, und der Zeit, zu der das bestimmte Element zu betätigen ist, zu lesenden relevanten Abschnitt der Melodiedaten schnell zu lesen, dadurch gekennzeichnet, dass die Melodiespiel-Übungsvorrichtung des Weiteren eine Lautstärke-Regeleinrichtung (CPU 11; Schritte G26-G30) umfasst, die darauf anspricht, dass die Datenleseeinrichtung (11) die Lautstärkeregel-Ereignisdaten in einer Zeitperiode zwischen der Zeit, wenn das bestimmte Element betätigt wurde, und der Zeit, zu der das bestimmte Element zu betätigen ist, liest, um den Inhalt der gelesenen Lautstärkeregel-Ereignisdaten so zu ändern, dass eine Lautstärke des zu erzeugenden Musikklangs minimiert wird.
  2. Aufzeichnungsmedium, das ein computerlesbares Programm enthält, das einen Computer veranlasst, einen Prozess durchzuführen, der die folgenden Schritte umfasst: sequenziell Lesen einer Vielzahl von Paaren von Ereignisdaten, die eines einer Vielzahl zu betätigender Elemente darstellen, um eine Melodie zu spielen, und entsprechenden Zeitdaten, die einen Zeitpunkt darstellen, wenn das durch die Ereignisdaten dargestellte Element zu betätigen ist, wobei die Vielzahl von Paaren von Ereignisdaten und entsprechenden Zeitdaten Melodiedaten bilden, aus einer Speichereinrichtung (13), die die Melodiedaten enthält (Schritte A4, F2); weiter sequenziell Lesen von Lautstärkeregel-Ereignisdaten zur Steuerung einer Lautstärke des zu erzeugenden Musikklangs; als Reaktion auf den Datenleseschritt (Schritte A4, F2), Lesen von Ereignisdaten, die ein bestimmtes der Vielzahl zu betätigender Elemente darstellen, um das bestimmte Element zu spezifizieren (Schritte G16–G18); als Reaktion darauf, dass das bestimmte Element nicht betätigt wird, selbst wenn ein Zeitpunkt, zu dem das bestimmte Element zu betätigen ist, gekommen ist, wobei der Zeitpunkt durch die Zeitdaten, die den in dem Datenleseschritt ausgelesenen Ereignisdaten entsprechen, dargestellt wird, Hindern des Leseschrittes am Lesen des übrig gebliebenen Abschnitts der Melodiedaten, bis das bestimmte Element betätigt wird, und als Reaktion darauf, dass das bestimmte Element vor dem Zeitpunkt betätigt wird, wenn das bestimmte Element zu betätigen ist, Veranlassen der Leseeinrichtung, einen in einer Zeitperiode zwischen der Zeit, wenn das bestimmte Element betätigt wurde, und der Zeit, zu der das bestimmte Element zu betätigen ist, zu lesenden relevanten Abschnitt der Melodiedaten schnell zuzuführen (Schritte G2, G7–G11, G26–G30), dadurch gekennzeichnet, dass der Prozess des Werteren einen Schritt umfasst, der als Reaktion darauf, dass der Leseschritt (Schritte A4, F2) die Lautstärkeregel-Ereignisdaten liest, die Leseeinrichtung veranlasst, einen in einer Zeitperiode zwischen der Zeit, wenn das bestimmte Element betätigt wurde, und der Zeit, zu der das bestimmte Element zu betätigen ist, zu lesenden relevanten Abschnitt der Melodiedaten schnell zuzuführen, um den Inhalt der gelesenen Lautstärkeregel-Ereignisdaten so zu ändern, dass eine Lautstärke des zu erzeugenden Musikklangs minimiert wird.
DE60020416T 1999-01-19 2000-01-13 Vorrichtung zur Spielübung von Melodien Expired - Lifetime DE60020416T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP01106799A JP3788085B2 (ja) 1999-01-19 1999-01-19 演奏教習装置及び演奏教習処理プログラムを記録した記録媒体
JP1106799 1999-01-19

Publications (2)

Publication Number Publication Date
DE60020416D1 DE60020416D1 (de) 2005-07-07
DE60020416T2 true DE60020416T2 (de) 2005-11-10

Family

ID=11767654

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60020416T Expired - Lifetime DE60020416T2 (de) 1999-01-19 2000-01-13 Vorrichtung zur Spielübung von Melodien

Country Status (5)

Country Link
US (1) US6180865B1 (de)
EP (1) EP1022720B1 (de)
JP (1) JP3788085B2 (de)
DE (1) DE60020416T2 (de)
HK (1) HK1030829A1 (de)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6372975B1 (en) * 1995-08-28 2002-04-16 Jeff K. Shinsky Fixed-location method of musical performance and a musical instrument
US6342663B1 (en) * 1999-10-27 2002-01-29 Casio Computer Co., Ltd. Musical performance training apparatus and record medium with musical performance training program
JP4052029B2 (ja) * 2002-06-17 2008-02-27 ヤマハ株式会社 楽音発生装置、撥弦楽器、演奏システム、楽音発生制御方法及び楽音発生制御プログラム
US7665019B2 (en) * 2003-09-26 2010-02-16 Nbor Corporation Method for recording and replaying operations in a computer environment using initial conditions
JP4320782B2 (ja) * 2006-03-23 2009-08-26 ヤマハ株式会社 演奏制御装置、およびプログラム
US7579541B2 (en) * 2006-12-28 2009-08-25 Texas Instruments Incorporated Automatic page sequencing and other feedback action based on analysis of audio performance data
US8502057B2 (en) * 2010-12-20 2013-08-06 Yamaha Corporation Electronic musical instrument
JP5742592B2 (ja) * 2011-08-29 2015-07-01 カシオ計算機株式会社 楽音生成装置、楽音生成プログラム及び電子楽器
JP5732982B2 (ja) * 2011-04-06 2015-06-10 カシオ計算機株式会社 楽音生成装置および楽音生成プログラム
US8723011B2 (en) 2011-04-06 2014-05-13 Casio Computer Co., Ltd. Musical sound generation instrument and computer readable medium
CN102663900B (zh) * 2012-03-13 2014-01-08 深圳市迪瑞德科技有限公司 早教输入设备、早教显示设备及引导学习方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3744366A (en) 1972-02-29 1973-07-10 J Delcastillo Indicating head for use with a keyboard instrument teaching device
US3885490A (en) 1973-02-01 1975-05-27 Cecil F Gullickson Single track sight and sound musical instrument instruction device
US3958487A (en) 1975-02-18 1976-05-25 Abraham Goldman Teaching device for musical instruments
US4040324A (en) 1976-04-12 1977-08-09 Harry Green Chord indicator for instruments having organ and piano-type keyboards
IT1113061B (it) 1978-02-21 1986-01-20 S I El Spa Soc Ind Elettronich Apparecchiatura elettronica per l'insegnamento e la letture della musica
US4314499A (en) 1978-04-24 1982-02-09 Donald Olsen Musical instruments facilitating teaching, composing and improvisation
US4331062A (en) 1980-06-02 1982-05-25 Rogers Allen E Visual note display apparatus
US4366741A (en) 1980-09-08 1983-01-04 Musitronic, Inc. Method and apparatus for displaying musical notations
US4437378A (en) 1981-03-30 1984-03-20 Casio Computer Co., Ltd. Electronic musical instrument
JPS61176987A (ja) 1985-01-31 1986-08-08 ヤマハ株式会社 電子楽器の押鍵表示装置
JP2623809B2 (ja) 1989-01-19 1997-06-25 ヤマハ株式会社 自動押鍵指示装置
JP2707853B2 (ja) 1991-03-01 1998-02-04 ヤマハ株式会社 押鍵指示装置

Also Published As

Publication number Publication date
JP2000206965A (ja) 2000-07-28
JP3788085B2 (ja) 2006-06-21
US6180865B1 (en) 2001-01-30
EP1022720A3 (de) 2000-08-09
HK1030829A1 (en) 2001-05-18
EP1022720A2 (de) 2000-07-26
EP1022720B1 (de) 2005-06-01
DE60020416D1 (de) 2005-07-07

Similar Documents

Publication Publication Date Title
DE60020416T2 (de) Vorrichtung zur Spielübung von Melodien
US6495747B2 (en) Apparatus and method for evaluating musical performance and client/server system therefor
US4539882A (en) Automatic accompaniment generating apparatus
US4969384A (en) Musical score duration modification apparatus
US5386081A (en) Automatic performance device capable of successive performance of plural music pieces
DE3420742A1 (de) Elektronisches musikinstrument
US7385132B2 (en) Electronic music apparatus and music-related data display method
US4662261A (en) Electronic musical instrument with autoplay function
DE19615607A1 (de) Tasteninstrument, das dem Spieler gestattet, ein Zusammenspiel mit einem elektronischen Geräuschsystem zu spielen
US4545281A (en) Device for string instruments for adjusting chords
JPH0259474B2 (de)
US4887503A (en) Automatic accompaniment apparatus for electronic musical instrument
GB2064851A (en) Automatic music writer
JP2000206968A (ja) 電子楽器の設定制御装置
JPH06342290A (ja) 自動伴奏装置
JPH05173561A (ja) 電子楽器
US5177313A (en) Rhythm performance apparatus
JPS647392B2 (de)
EP0725354B1 (de) Spielmaschine mit spielsituationsabhängigen Ansagen
US5260509A (en) Auto-accompaniment instrument with switched generation of various phrase tones
US6313389B1 (en) Automatic accompaniment apparatus adjusting sound levels for each part of a plurality of patterns when one pattern is switched to another pattern
JP4172335B2 (ja) 自動伴奏生成装置及びプログラム
JP4214845B2 (ja) 自動アルペジオ装置および同装置に適用されるコンピュータプログラム
EP2161714A2 (de) Vorrichtung zur Spielsimulation von Begleitmusikinstrumenten
JP2000056669A (ja) 楽器演奏動作検出と楽器演奏動作指導のための装置および方法、並びにそのプログラムを記録した記録媒体

Legal Events

Date Code Title Description
8364 No opposition during term of opposition