DE3420742A1 - Elektronisches musikinstrument - Google Patents

Elektronisches musikinstrument

Info

Publication number
DE3420742A1
DE3420742A1 DE19843420742 DE3420742A DE3420742A1 DE 3420742 A1 DE3420742 A1 DE 3420742A1 DE 19843420742 DE19843420742 DE 19843420742 DE 3420742 A DE3420742 A DE 3420742A DE 3420742 A1 DE3420742 A1 DE 3420742A1
Authority
DE
Germany
Prior art keywords
data
date
melody
register
automatic
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.)
Granted
Application number
DE19843420742
Other languages
English (en)
Other versions
DE3420742C2 (de
Inventor
Naoaki Tachikawa Tokio/Tokyo Matsumoto
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
Publication of DE3420742A1 publication Critical patent/DE3420742A1/de
Application granted granted Critical
Publication of DE3420742C2 publication Critical patent/DE3420742C2/de
Granted 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
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B15/00Teaching music
    • G09B15/08Practice keyboards
    • 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/18Selecting circuits
    • G10H1/26Selecting circuits for automatically producing a series of tones
    • 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, 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, 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

Description

Die Erfindung betrifft ein elektronisches Musikinstrument nach dem Oberbegriff der Ansprüche 1 bzw. 5, und insbesondere ein elektronisches Musikinstrument mit einer Spielanleitungsfunktion.
Es sind verschiedene elektronische Musikinstrument bekannt, in welchen Daten für das automatische Spielen von Musikstücken in einem Speicher derart gespeichert sind, daß die Daten nacheinander aus dem Speicher in Übereinstimmung mit dem Fortschritt des Musikstückes ausgelesen werden, wenn es automatisch gespielt wird. Unter diesen elektronischen Musikinstrumenten gibt es welche, welche eine Speilanleitungsfunktion zur Übung für Anfänger aufweisen. Beispielsweise ist ein elektronisches Musikinstrument bekannt, welches automatisch gespielt werden kann, wobei die Auslesegeschwindigkeit der Daten aus dem Speicher an das manuelle Spielen eines
'Hiiw rriinklun/lr.inklurl Off Ii e-
u!cn,iner<iller u> rel (Mim/.KN)-I
) (ϊ )7O ()twrurse| I elex. n2tt547 p;iwii «1
Hiiro Murifhcn/Mnnii h Offirr
I)-HOf)O I
Tel OHUil/fUO'H
Iclcj4mmm.1clre.sse· IMW)IIiIiK i'o.si.s« he« k Mum hen y.mnr/A H02 IcIeI,ix OHUil/ii20U-(i IdI* 12+ :i) — I'cieiex HMtIH(M)*
Anfängers an dem Instrument angepaßt wird. Da jedoch die Tastenbetätigung bei einem Anfänger oft unrichtig und unpassend ist, wird auch das begleitende Automatikspiel-Tempo unrichtig und unpassend. In einem derartigen Fall kann ein Anfänger dem richtigen Tempo nicht langer folgen. Somit kann ein effektvolles üben der Handspielfunktion nicht erreicht werden und das Automatikspiel selbst ist sehr schwierig zu verstehen.
Aufgabe der vorliegenden Erfindung ist es somit, ein elektronisches Musikinstrument zu schaffen, welches es dem Anfänger erlaubt, das Handspiel wirksam auszunutzen und welches weiterhin in der Lage ist, ein einfach verständliches Automatikspiel zu ermöglichen, selbst dann, wenn die Spielanleitungsfunktion wirksam ist.
Die Lösung dieser Aufgabe erfolgt durch die kennzeichnenden Merkmale der Ansprüche 1 bzw. 5.
Die jeweiligen Unteransprüche haben vorteilhafte Weiterbildungen der Erfindung zum Inhalt.
Weitere Einzelheitne, Merkmale und Vorteile der vorliegenden Erfindung ergeben sich aus der nachfolgenden Beschreibung einer Ausführungsform anhand der Zeichnung.
Es zeigt:
Fig. 1 in Blockdiagrammdarstellung eine Ausführungsform eines erfindungsgemäßen elektronischen
Musikinstrumentes;
Fig. 2 eine Teilansicht einer Tastatur und einer LED-Reihe;
Fig.3A
und 3B zusammen einen LED-Reihentreiberschaltkreis;
Fig. 4 die Anordnung der Daten, welche in einem Automatikspiel-Daten ROM gespeichert sind;
Fig. 5 einen Speicherabschnitt in einer CPU; 5
Fig. 6 die Arbeitsweise eines Speichers COMFG;
Fig. 7 ein Flußdiagramm zur Darstellung des Programmes für Automatikspiel bei dem elektronischen Musikinstrument;
Fig. 8A
bis 8C ein Flußdiagramm zur Darstellung eines Automatikspiel-Programmes;
Fig. 9A
bis 9C ein Flußdiagramm zur Darstellung eines Unterprogrammes für Melodie-1-Automatikspiel;
Fig. 10 ein Flußdiagramm zur Darstellung eines Unterprogrammes für Melodie-2-Automatikspiel;
Fig. 11 ein Flußdiagramm zur Darstellung eines ünterprogrammes für Akkordautomatikspiel;
Fig. 12 ein Flußdiagramm zur Darstellung eines Unter-
programmes für LED-Blinken;
Fig. 13 eine Datenkonfiguration einer Note aus Melodie QQ und Melodie 2;
Fig. 14 Notendaten, Oktavendaten, Notendauerdaten, Pausendaten, etc. von Melodie 1 und Melodie 2;
Fig. 15 eine Datenkonfiguration eines Akkordes;
Fig. 16 Akkordartdaten und Grundtondaten;
Fig. 17A
bis 17C ein geschriebenes Beispiel eines Musikstückes für Automatikspiel·;
Fig. 18 Daten für das Automatikspiel des Musikstückes gemäß 17A bis 17C;
Fig. 19 ein Beispiel,in welchem das AutomatikspieI-Musikstück der Figuren 17A bis 17C manuell nachgespielt wird; und
Fig. 2OA
bis 2OF verschiedene Zustände der "ein"- und "blinken"-Zustände der LED-Reihe.
In Fig. 1 ist der Schaltkreisaufbau einer Ausführungsform eines erfindungsgemäßen elektronischen Musikinstrumentes dargestellt. Ein Schalterabschnitt 1 weist Schalter auf, welche betätigbar sind, um eines von 20 Automatikspiel-Musikstücken auszuwählen,die in einem Speicher gespeichert sind; Schalter, die betätigbar sind, um einen aus einer Vielzahl von verschiedenen Rhythmen, die ebenfalls in einem Speicher gespeichert sind, auszuwählen; Schalter, die betätigbar sind, um eines aus einer Vielzahl von verschiedenen Timbres auszuwählen; sowie einen Automatikspiel-Start/Stoppschalter. Weiterhin weist der Schalterabschnitt 1 einen Anleitungszustands-Schalter zum Ein- und Ausschalten einer Melodieanleitungsfunktion, so daß eine Note und die Dauer eines Tones erklingen, und daß der nächste Ton in der Melodie 1 eines ausgewählten Automatikspiel-Musik- · Stückes erklingt, welcher durch eine Anleitungs-LED-Reihe 3 angezeigt wird, wobei die LED-Reihe 3 aus LEDs besteht, welche für jede Taste einer Tastatur 2 vorgesehen
t * W
mm tr ·
sind. Weiterhin weist der Schalterabschnitt 1 zwei Schalter (d. h. erste und zweite Anleitungs-LED-Schalter) auf, welche später noch beschrieben werden und welche zusammen mit dem Anleitungs-Zustandsschalter verwendet werden und einen Nachspiel-Zustandsschalter, der verwendet wird, um einen Nachspielzustand, der später noch beschrieben wird, ein- und auszuschalten. Die einzelnen Schalter in dem Schalterabschnitt 1 werden durch ein Abtastsignal A abgetastet, welches von einer CPU (zentrale Steuereinheit) 4 abgegeben wird. Ein Ausgangssignal B von dem Abschnitt wird der CPU 4 zugeführt, um darin verarbeitet zu werden. Der Anleitungszustandsschalter und der erste Anleitungs-LED-Schalter sind zusammen ein- und ausschaltbar, um die Melodieanleitungsfunktion ein- und auszuschalten. Wenn ein zweiter Anleitungs-LED-Schalter eingeschaltet ist, veranlaßt er, daß die Anleitungs-LED-Funktion (die später noch beschrieben wird), welche durch Abschalten des ersten Anleitungs-LED-Schalters abgeschaltet wurde, wieder automatisch eingeschaltet wird. Diese Arbeitsweise wird von der CPU 4 gesteuert, wenn keine Tastenbetätigung innerhalb eines festgelegten Zeitraumes erfolgt ist.
Die Tastatur 2 weist 36 Tasten auf (welche drei Oktaven umfassen). Diese Tasten werden durch ein Abtastsignal C von der CPU 4 abgetastet und das Ausgangssignal B wird der CPU 4 zugeführt, um darin verarbeitet zu werden. Die Anleitungs-LED-Reihe 3 wird mit einem Anzeigesteuersignal E (wird später noch beschrieben), welches von der CPU 4 stammt für ein-aus und Blinkanzeige gesteuert.
Die CPU 4 steuert alle Arbeitsvorgänge in dem elektronischen Musikinstrument und weist einen Mikroprozessor und einen Speicherabschnitt 4 RG auf, der verschiedene Speicher, welche später noch beschrieben werden, aufweist..
Ein Automatikspiel-Daten-ROM 5 ist vorgesehen, um Daten
für 20 Automatikspiel-Musikstücke zu speichern. Wenn ein Atuomatikspiel-Musikstück für Automatikspiel ausgewählt wurde, liefert die CPU 4 Adressdaten F an das ROM 5 zum Auslesen der Melodiedaten G für das Stück, um die ausgelesenen Daten als Daten H in ein Automatikspiel-RAM 6 einzuschreiben. Die Adressen des RAM 6 werden durch Adressdaten I angewählt, welche von der CPU 4 stammen und das Lesen und Schreiben der Daten in das RAM 6 wird durch ein Lese/Schreibsteuersignal R/W gesteuert.
Ein Automatikspiel-Begleitmusterdaten-ROM 7 speichert Daten für eine Vielzahl von verschiedenen Automatikspiel-Begleitmustern. Wenn eines der Automatikspiel-Begleitmuster durch Betätigung eines Schalters in dem Schalterabschnitt 1 ausgewählt wurde, wird das entsprechende Datum J von dem ROM 7 ausgelesen und einem Automatik-. spiel-Begleitsteuerschaltkreis 8 zugeführt. Der Automatikspiel-Begleitsteuerkreis 8 liefert Adressdaten K an das ROM 7 unter Steuerung eines Steuerdatums L von der CPU 4.
Weiterhin liefert er ein Steuersignal an einen Automatikspiel-Begleittongeneratorschaltkreis 9. Der Schaltkreis 9 erzeugt ein Automatikspiel-Begleittonsignal entsprechend den ausgewähtlen Automatikspiel-Begleitmustern und das Automatikspiel-Begleittonsignal, das somit erzeugt wird, wird durch einen nicht dargestellten D/A-Wandler, einen Verstärker 10, einen Addierer 11, einen Verstärker 12 und einen Lautsprecher 13 geführt, wo das Tonsignal abgestrahlt wird.
Der Automatikspiel-Begleitsteuerschaltkreis 8 erhält weiterhin Akkorddaten, welche von dem ROM 5 während des ί Automatikspieles ausgelesen werden und führt diese Daten durch den Automatikspiel-Begleittongeneratorschaltkreis 9, um Klang zu erzeugen. Während dieses Zeitpunktes werden Melodie-1-Daten und Melodie-2-Daten, welche gleichzeitig
it « V *
von dem ROM 5 ausgelesen werden, als entsprechende Daten M und N von der CPU 4 dem Melodie-1-Tongeneratorschaltkreis 14 und dem Melodie-2-Tongeneratorschaltkreis 15 zugeführt, um Melodiesignale zu erzeugen. Diese MeIodiesignale werden entsprechenden Verstärkern 16 und 17, deren Ausgänge dann nicht dargestellten D/A-Wandlern zugeführt werden und dem Addierer 11 zugeführt. Was die Töne betrifft, die während der Betätigung der Tasten auf der Tastatur 2 erzeugt werden, so erzeugt der Melodie-1-Τοη-generatorschaltkreis 14 deren Melodiesignale.
Ein Timer 18 stellt einen Schaltkreis zum Festsetzen des Tempos dar. Wenn der Timer 18 beispielsweise jedesmal ein Zeitintervall zählt, welche 1/24 einer Viertelnote ist, erzeugt er ein Überlaufsignal P, welches der CPU 4 und dem Automatikspiel-Begleitsteuerschaltkreis 8 zugeführt wird. Die Zählgeschwindigkeit des Timers 18 kann durch Betätigung eines Temposteuerknopfes in dem Schalterabschnitt variiert werden.
Ein weiterer Timer 19 stellt einen Schaltkreis dar, welcher eine Blinkzeit für jede der LEDs in der Anleitungs-LED-Reihe 3 schafft. Jedesmal wenn der Timer 19 ein festgelegtes Zeitintervall gezählt hat, erzeugt er ein Überlaufsignal Q, welches der CPU 4 zugeführt wird.
Fig. 2 zeigt die Anordnung von Tasten 2A auf der Tastatur 2 und weiterhin die Anordnung von LEDs 3A-11 bis 3A-26 aus der Anleitungs-LED-Reihe 3.
Die Figuren 3A und 3B zeigen den Schaltkreisaufbau eines
Treiberschaltkreis für die LED-Reihe 3. Wie dargestellt sind 36 LED-Elemente 3A-1 bis 3A-36 für die entsprechenden 36 Tasten auf der Tastatur 2 vorgesehen. Diese LED-EIe-OK mente sind in sechs Gruppen mit je sechs Elementen aufge-
teilt. Haltekreise 21-1 bis 21-6 sind für die entsprechenden Gruppen der LED-Elemente vorgesehen. Haltekreistakte CLK-I bis CLK-6 werden nacheinander von der CPU 4 erzeugt und auf Takteingangsanschlüsse CLK der entsprechenden Haltekreise 2-1-1 bis 21-6 gelegt. Daten mit 6 Bits DOO bis D50 zur Steuerung der Arbeitsweise der LEDs werden von der CPU 4 den entsprechenden Dateneingangsanschlüssen DO bis D5 eines jeden Haltekreises zugeführt.
Jeder Haltekreis weist Datenausgangsanschlüsse QO bis Q5 auf, welche jeweils den entsprechenden Dateneingangsanschlüssen DO bis D5 entsprechen. Von jedem dieser Ausgangsanschlüsse wird ein Ausgangssignal mit dem binären logischen Zustand "1" für den "ein"-Zustand der entsprechenden LED, oder ein Signal "0" für den "aus"-Zustand der LED geliefert. Schalt-Schaltkreise 22-1 bis 22-36 sind mit den entpsrechenden Datenausgangsanschlüssen QO bis Q5 der Haltekreise 21-1 bis 21-6 verbunden. Jeder dieser Schalt-Schaltkreise 22-1 bis 22-36 weist hauptsächlich einen Transistor und einen Widerstand (nicht dargestellt) auf und wird eingeschaltet, wenn ein Signal "0" an der Basis des Transistors anliegt und wird abgeschaltet, wenn ein Signal "1" an der Basis des Transistors anliegt. Das Ausgangssignal wird auf die Anode des entsprechenden LED-Elementes 3A-1 bis 3A-36 geführt. Die Katode des LED-Elementes 3A-1 bis 3A-36 ist auf Masse gelegt.
Fig. 4 zeigt schematisch die Anordnung der Daten, die in dem Automatikspiel ROM 5 gespeichert sind. Wie dargestellt, ist ein Kopfabschnitt und Datenbereiche für das erste bis zwanzigste Musikstück von der ersten Adressenseite her vorgesehen. Wie in dem vergrößerten Ausschnitt dargestellt, weist der Kopfabschnitt Adressendatenbereiche auf, in welchen die Startadressen für die Daten des ersten bis zwanzigsten Musikstückes gespeichert sind. Jeder Musikstückdaten-
bereich wei.st den Aufbau auf, wie er in dem vergrößerten Abschnitt des Musikstückes 18 dargestellt ist. In diesem Bereich sind die Startadresse für Melodie 1, Startadresse für Melodie 2, Startadresse für Akkord, Melodie-1-Daten, Melodie-.2-Daten und Akkorddaten in der erwähnten Reihenfolge von der Startadresse W des Musikstückes Nummer 18 aus gespeichert.
Fig. 5 zeigt verschiedene Speicher, welche den Speicherbereich 4 RG in der CPU 4 bilden. 8-Bit Register MLlA, MLlB, MLlC, MLlD, MLl, NADL, MLlNADH, MLlSADL und MLlSADH werden verwendet, um die Melodie 1 automatisch zu spielen. Daten, welche Tonhöhe, Tondauer und Pausendauer des Tones vertreten, so wie er hörbar gemacht wird, sind in den Registern MLlA, MLlB und MLlC gespeichert. Daten, welche der Tonhöhe des nächsten hörbar zu machenden Tones entsprechen sind in dem Register MLlD gespeichert. Die unteren 8 Bits und die oberen 8 Bits der Adresse des Automatikspiels RAM 6, in welchem die Tonhöhe des nächsten zu verarbeitenden Tones gesetzt sind, sind in den entsprechenden Registern MLl, NADL und MLlNADH gespeichert. Die unteren 8 Bits und die oberen 8 Bits der ersten Adresse des RAM 6, in welchem Melodie-1-Daten gespeichert sind, sind in den entsprechenden Regisern MLlSADL und MLlSAH gesetzt.
Speicher oder Register ML2A,ML2B, ML2C, ML2D, ML2NADL, ML2NADH, ML2SADL und ML2SADH werden verwendet, um die Melodie 2 automatisch zu spielen, und Register CDA, CDB, CDC, CDD, CDNADL, CDNADH, CDSADL und CDSADH werden verwendet, um automatisch einen Akkord zu spielen. Diese Register haben Funktionen, die ähnlich den Funktionen der entsprechenden Register MLlA, MLlB, MLlC, MLlD, MLlNADL, MLlNADH, MLlSADL und MLlSADH sind.
Ein Register COMFG speichert verschiedene Flags während
//3
des Automatikspiels. Dieses Register COMFG wird später noch unter Bezugnahme auf Fig. 6 näher beschrieben. Ein Register WTCNT hat die Funktion des Zählens einer Wartezeit, während der der Beginn des Tones entsprechend des Automatikspielens der Melodie 2 und des Akkordes zurückgestellt wird, wenn eine Tastenbetätigung für einen Ton der Melodie 1 mehr als nötig verzögert wird oder während einer richtigen Tastenbetätigung während des Automatikspieles. In einem Register KYRG wird die Tonhöhe einer gedrückten Taste gesetzt.
Der Inhalt der Flags, die in den individuellen Bits des Registers COMFG gesetzt sind, wird nun unter Bezugnahme auf Fig. 6 beschrieben. In dem Bit mit der höchsten Stellen-Wertigkeit (MSB) wird das Datum "1" gehalten, wenn das Automatikspiel in Kraft ist und das Datum "0" wird gehalten, wenn das Automatikspiel nicht in Kraft ist. In dem siebten Bit wird das Datum "1" unmittelbar nach Beginn des Automatikspieles gesetzt und "0" wird gehalten, wenn der gegenteilige Fall in Kraft ist. Im sechsten Bit wird ein Datum "1" gehalten, wenn ein Nachspiel-Modus während des Automatikspiels vorhanden ist, bei welchem das Automatikspiel der Melodie 2 und Akkorde vorgesehen sind, der Betätigung der Taste für Melodie 1 zu folgen, und ein Datum "O" wird gehalten, wenn der gegenteilige Fall vorherrscht. In dem fünften Bit wird ein Datum "1" während der oben erwähnten Wartezeit gehalten, bzw. ein Datum "0" wird gehalten, wenn dies nicht der Fall ist. Im vierten Bit wird ein Datum "1" gesetzt, wenn die hörbare Melodie 2 und Akkord schnell
3Q vorgespielt werden, was der Fall ist, wenn das Timing der Tastenniederdrückung für den entsprechenden Ton der Melodie 1 fortschreitet, und ein Datum "0" wird gehalten, wenn dies nicht der Fall ist. Im dritten Bit wird ein Datum "1" gesetzt, wenn das Niederdrücken einer neuen Taste für die Melodie 1 während des Automatikspiels erkannt wird, bzw.
ein Datum "O" wird gehalten, wenn dies nicht der Fall ist. In dem zweiten Bit wird ein Datum "1" gehalten, wenn ein Melodieanleitungszustand vorherrscht, und ein Datum "0" wird gehalten, wenn dies nicht der Fall ist. In dem Bit mit der geringsten Stellenwertigkeit (LSB) wird ein Datum "1" gehalten, wenn der Schalter für Melodie-1-Anleitung "ein" ist und ein Datum "0" wird gehalten, wenn dieser Schalter abgeschaltet ist.
Die Arbeitsweise der Ausführungsform mit dem bisher beschriebenen Aufbau wird nun im folgenden beschrieben. Die Arbeitsweise wird in Verbindung mit dem Fall gemäß der Figuren 17A bis 17C beschrieben, wobei angenommen wird, daß das Automatikspiel des Musikstückes Nummer 18 in dem Automatikspiel-Daten-ROM 5 gespeichert ist. Fig. 18 zeigt eine spezielle Ausführungsform von Daten, mit denen das oben genannte Musikstück in dem ROM 5. gespeichert ist. Zunächst werden die Daten gemäß Fig. 18 beschrieben. Aus Gründen der Einfachheit sei angenommen, daß die erste Adresse des Bereiches, in welchem das oben genannte Musikstück gespeichert ist die Adresse 0 ist. Die Ziffern in Fig. 18 werden durch eine hexadezimale Notation vertreten. Von den entsprechenden Adressenbereichen hat jeder eine Speicherkapazität von einem Byte (8 Bits).
Eine 4-Bit Startadresse "0006" ist in den Adressen 1 und 0 gespeichert. Startadressdaten "0016" und "0026" für Melodie 2 und Akkord sind in den Adressen 3 und 2 bzw. in den Adressen 5 und 4 gespeichert. Daten für die Töne
QQ der Melodie 1 sind nacheinander in den Adressen nach der Adresse 6 gespeichert, wobei im allgemeinen drei Adressen verwendet werden. Dies wird nun genauer beschrieben. Der erste Ton der Melodie 1 ist beispielsweise ein Viertelnote G4, welche von einer Achtelpause gefolgt wird. Das Tondatum
3g wird zunächst als Tonhöhendatum gespeichert und danach als
Tondauerdatum und Pausendauerdatum, wie in Fig. 13 dargestellt. Das Tonhöhendatum mit 8 Bits besteht aus Oktavendaten, welche die oberen 4 Bits besetzen und Notendaten, welche die unteren 4 Bits besetzen. Die Notendaten, Oktavendaten, Tondauerdaten und Pausendauerdaten sind in Fig. 14 genauer dargestellt. Bei den Notendaten entspricht ein Datum "O" einer Pause; Daten "1" bis "C" entsprechen den Noten C bis B; Daten "D" und "E" entsprechen einem Nicht-Arbeits-Code; und ein Datum "F" entspricht einem Endezeichen, welches das Ende von Melodien und Akkord anzeigt. Das Datum "F" wird für gewöhnlich als "aus" mit 8 Bits vertreten.
Bei den Oktavendaten entsprechen Daten "O" bis "F" der nullten bis fünfzehnten Oktave. Frequenzen der Note A sind als Beispiel für die erste bis neunte Oktave in Fig. 14 dargestellt. Die erste Oktavenfrequenz (Al) beträgt 55 Hz, die zweite Oktavenfrequenz ist das Doppelte von 55 Hz, usw. bis zu 256mal der Frequenz von 55 Hz. Bezüglich der Ton- und Pausendauerdaten ist die kürzeste Ton- oder Pausendauer 1/24 einer Viertelnote bzw. einer Viertelpause und wird durch das Datum "01" vertreten; eine Achtelnote oder Achtelpause entspricht "OC"; eine Viertelnote oder Viertelpause entspricht "18", usw. und der längste Ton oder die längste Pausendauer entspricht dem Doppelten einer ganzen Note oder Pause und wird durch "CO" vertreten.
Bei der obigen Festlegung der Daten für Tonhöhe, Tondauer und Pausendauer entspricht das erste Tondatum der Melodie 1 "48" der Note G4, das Datum "18" entspricht einer Viertelnote Tondauer und das Datum "OG" entspricht einer viertel Pausendauer und diese Daten sind in den bezüglichen Adressen 6, 7 und 8 gemäß Fig. 18 gespeichert. Bezüglich des zweiten bis fünften Tones sind Daten auf
ähnliche Weise in einem Bereich gespeichert, der drei Adressen für jeden Ton in den Adressen 9 bis 14 überdeckt. Ein Endzeichendatum "OF" ist in Adresse 15 gespeichert.
Daten für die Töne der Melodie 2 sind auf die gleiche Weise wie für Melodie 1 in Adressen 16 bis 25 gespeichert. Ebenso sind Daten für die Akkordtöne in Adressen 26 bis 2E gespeichert. Jedes Akkordtondatum hat einen Aufbau gemäß Fig. 15. Genauer gesagt ist es ein 8-bit Datum,bestehend aus einem Datum für die Art des Akkordes in den oberen 4 Bits und ein Datum für den Grundton in den unteren 4 Bits. Die Daten für die Art des Akkordes und Daten für den Grundton sind genau in Fig. 16 dargestellt. Bei den Daten für die Art des Akkordes vertreten Daten "1" bis "8" die entsprechenden Arten von Akkorden von "Dur" bis "vermindertes Intervall". Daten "0" und "9" bis "F" sind Codes für keine Betätigung (NOP). Das Datum für den Grundton ist das gleiche wie das Datum für die Melodienote.
2Q Um zu beschreiben, wie das Automatikspiel des Automatikspiel-Musikstückes gemäß den Fig. 17A bis 17C, das in der oben beschriebenen Form in dem ROM 5 gespeichert ist, sei nun angenommen, daß beispielsweise der Melodieanleitungsmodus und der Anleitungs-LED-Modus eingeschaltet
2g sind, während der Nachspielmodus ausgeschaltet ist. In diesem Fall wird Melodie 1 nicht automatisch gespielt, aber die LEDs werden entsprechend den Tonhöhen- und Tondauerdaten der Melodie 1 in dem RAM 6 ein- und ausgeschaltet. Melodie 2 und der Akkord werden andererseits automa-
on tisch mit einem festgelegten Tempo gespielt. Weiterhin wird Rhythmus mit einem festgelegten Tempo erzeugt. Der Melodieanleitungsmodus und der Anleitungs-LED-Modus werden eingeschaltet, indem der Anleitungsmodusschalter und der erste und zweite Anleitungs-LED-Schalter eingeschaltet wer-
_,. den. Der Nachspielmodus wird durch Abschalten des Nachspielmodusschalters abgeschaltet. Die CPU 4 erkennt die
Schaltzustände dieser Schalter und schreibt ein Flag "O" in das sechste Bit des Registers COMFG und "1" in dessen zweites Bit und das LSB.
Wenn die Schalterbetätigung zur Auswahl des Automatikspielmusikstückes Nummer 18 ausgeführt wurde, adressiert die CPU 4 das Automatikspiel-Daten-ROM 5, liest die Daten für das Stück Nummer 18, d. h., die Daten in Fig. 18 aus und schreibt die ausgelesenen Daten in das Daten-RAM 6.
Danach wird durch Betätigung eines entsprechenden Timbre-Wahlschalters das gewünschte Timbre ausgewählt und weiterhin wird das gewünschte Tempo festgelegt, indem der Temposteuerregler betätigt wird und somit eine entsprechende Zählgeschwindigkeit für den Timer 18 gesetzt wird.. Danach wird der Automatikspiel-Start/Stoppschalter eingeschaltet, um einen Automatikspiel-Startbefehl zu koppeln. Dies hat zur Folge, daß das Automatikspiel des Stückes gemäß der Fig. 17A bis 17C begonnen wird. Der Spieler beginnt mit der Betätigung der Tastatur 2 während er auf die Töne der Melodie 1 des Automatikspiel-Musikstückes Nummer 18 hört.
Die gesamte Arbeitsweise des elektronischen Musikinstrumentes wird nun unter Bezugnahme auf das Flußdiagramm von Fig. 7 beschrieben.
Zunächst wird ein Vorprozeß-Schritt Gl ausgeführt, wenn die Spannung am Instrument eingeschaltet wird. Dieser Schritt ist ein Initialisierungsschritt, in welchem die einzelnen Register in dem Registerabschnitt 4 RG der CPU gelöscht werden und der Schaltkreis 14 für die Erzeugung von Melodie 1, der Schaltkreis 15 für Erzeugung der Melodie 2 und der Schaltkreis 19 für Automatikspielbegleittonerzeugung werden initialisiert. Wenn dieser Schritt vorbei ist, wird ein Schritt G2 ausgeführt, in welchem die Tasta-
tür abgetastet wird und die Flags gesetzt werden. Genauer gesagt, stellt die CPU 4 das Abtastsignal C zu der Tastatur 2 durch und erhält von den einzelnen Tasten ein Ausgangssignal D. Weiterhin bewirkt die CPU 4, daß die notwendigen Flags gesetzt werden, um die Befehle zur Erzeugung des Tones für die betätigte Taste mittels des Schaltkreises 14 zu ermöglichen. Wenn dieser Schritt des Prozesses bezüglich der Tastatur 2 vorüber ist, macht die CPU. einen ähnlichen Abtast- und Flagbetätigungsvorgang bezüglieh des Schalterabschnittes 1 (Schritt G3). Dies hat zur Folge, daß das Instrument entsprechend der Änderungen in den Ein-Auszuständen der Schalter gespielt wird.
In einem darauffolgenden Schritt G4 wird überprüft, ob ein Überlaufsignal P von dem Timer erzeugt wurde, um das Tempo zu setzen. Wenn kein Überlaufsignal vorliegt, wird ein Schritt G6 ausgeführt, in welchem überprüft wird, ob die Spannungsquelle abgeschaltet ist. Wenn in dem Schritt G4 erkannt wurde, daß ein Überlaufsignal P vorliegt, wird ein Schritt G5 ausgeführt, der ein Automatikspielprogramm ist und danach geht der Ablauf zu dem Schritt G6. In dem Automatikspielprogramm des Schri.ttes G5 werden die Daten für Melodie 1, Melodie 2 und Akkord für das Stück Nummer 18 in dem RAM 6 ein den entsprechenden Schaltkreisen 14 15 und 19 verarbeitet. Die Summe der erzeugten Tonsignale werden über die entsprechenden Verstärker 10, 16 und 17 auf den Addierer 11 zugeführt und dort gemischt. Das sich ergebende Signal wird durch den Verstärker 12 dem Lautsprecher 13 zugeführt und abgestrahlt.
Wenn in dem Schritt G6 erkannt wurde, daß die Spannungsquelle nicht abgeschaltet ist, geht der Vorgang zurück zu dem Schritt G2, d. h. die Schritt G2 bis G5 werden wiederholt ausgeführt. Wenn in dem Schritt G6 erkannt wurde,
gg daß die Spannungsquelle abgeschaltet ist, wird ein Schritt
/9
G7 als Nachprozeß ausgeführt. Im folgenden wird nun der Schritt G5 des Automatikspiels unter Bezugnahme auf die Flußdiagramme der Fig. 8A bis 12 beschrieben. Die Fig. 8A bis 8C zeigen das allgemeine Flußdiagramm des Automatikspielprogrammes. Die Fig. 9A bis 9C, 10 und 11 sind Flußdiagramme für Steuerung von Melodie 1, Steuerung von Melodie 2 und Steuerung des Akkordes. Fig. 12 ist ein Flußdiagramm, in welchem gezeigt wird, wie die Blinkbetätigung der Anleitung LED-Reihe 3 entsprechend einem Überlaufsignal Q von dem Timer 19 gesteuert wird.
Zu Beginn der Programmes der Fig. 8A bis 8C wird in einem Schritt Ml überprüft, ob das Automatikspiel in Kraft ist.
Für diese Überprüfung wird das 8-bit Datum in dem Register COMFG und ein Datum "80" (hexadezimales Datum) über eine Und-Logik verknüpft, d. h., es wird überprüft, ob das MSB des Datums in dem Register COMFG "1" ist oder nicht. Mit anderen Worten, es wird überprüft, ob das Ergebnis "0" ist (bedeutet,daß das Automatikspiel nicht in Kraft ist), oder es wird überprüft, ob das Ergebnis nicht "0" ist (bedeutet, daß das Automatikspiel in Kraft ist). Das vorhandene Datum in dem Register COMFG ist "llOOOOll". Wie aus Fig. 6 hervorgeht, zeigt das MSB "1" an, daß das Automatikspeil in Kraft ist, das siebte Bit mit "1" zeigt an, daß das Automatikspiel beginnt, das zweite Bit mit "1" zeigt an, daß der Anleitungsmodus ein ist und das LSB "1" zeigt an, daß der Schalter für Melodie-1-Anleitung ein ist. Die anderen Bits sind alle "0". Das Datum in dem Register COMFG entspricht dem hexadezimalen Datum "C3". Somit ist das Ergebnis der Und-Verknüpfung dieses Datums und des Datums "80" nicht "0", d. h., es wird festgestellt, daß das MSB "1" ist, so daß das Programm zu einem Schritt M2 weitergeht.
In dem Schritt M2 wird das Datum in dem Register COMFG und
ein Datum "40" und-verknüpft, d. h., es wird überprüft, ob das siebte Bit des Datums in dem Register COMFG "1" ist. Wenn das Ergebnis "0" ist, bedeutet dies, daß das Automatikspiel nicht startet. Wenn es "0" ist, bedeutet dies, daß das Automatikspiel beginnt. Da das siebte Bit "1" ist, und somit anzeigt, daß das Automatikspiel begonnen hat, geht das Programm weiter zu einem Schritt M3.
In dem Schritt M3 werden die Startadressen "0006", "0016" und "0026" für Melodie 1, Melodie 2 und Akkorddaten in den Registern MLl, SADL, MLlSADH, ML2SADL, ML2SADH, CDSADL und CDSADH (siehe Fig. 18) in die entsprechenden Register MLlNADL, MLlNADH, ML2NADL, ML2NADH, CDNADL und CDNADH geladen.
Danach geht das Programm in einen Schritt M4, in welchem die Daten des Register COMFG und ein Datum "A3" und-verknüpft werden und das Ergebnis wird in das Register COMFG geschrieben. Dies bedeutet, daß das Datum in dem Register COMFG durch ein neues Datum "10000011" erneuert wird (entspricht "83" in hexadezimaler Form). Das Automatikspiel-Startflag des siebten Bits wird somit auf "0" zurückgesetzt. Zusätzlich wird das Register WTCNT gelöscht.
Danach geht das Programm zu einem Schritt M5, in welchem
die CPU 4 ein Rhythmusstartsignal an den Schaltkreis 8 für die Steuerung der Automatikspiel-Begleitung liefert. Das Rhythmusstartsignal befiehlt den Start des Auslesens on eines Automatikspiel-Begleitmusters des gewünschten Rhythmus aus dem ROM 7.
Danach geht das Programm zu einem Schritt M6, in welchem die Register MLlA bis MLlD, ML2A bis ML2D und CDA bis ge CDC gelöscht werden. Danach geht das Programm zu einem
Schritt M7, der in Fig. 8B dargestellt ist, in welchem das Datum "83" in dem Register COMFG und ein Datum "1O" und-verknüpft werden, d. h., es wird überprüft, ob das Flag des fünften Bits, das einen Wartezustand anzeigt "1" ist. Da es "0" ist, wird festgelegt, daß der Wartezustand nicht vorliegt. Danach geht das Programm zu einem Schritt M8 der Steuerung der Melodie 1, der nun unter Bezugnahme auf das Flußdiagramm der Fig. 9A bis 9C im Detail beschrieben wird.
In dem Steuerprogramm für Melodie 1 wird zunächst ein Schritt Nl ausgeführt, in welchem überprüft wird, ob das Datum in dem Register MLlA dem Zustand "aus" entspricht. Da das Register MLlA in dem Schritt M6 gelöscht wurde und das Datum "00" beinhaltet, stimmen die beiden Stücke des Datums nicht überein, so daß das Programm zu einem Schritt N2 geht. In dem Schritt M2 wird überprüft, ob die Daten in dem Register MLlB alle "0" sind. Da dieses Register in dem Schritt M6 gelöscht wurde, ist das Ergebnis Ja und somit geht das Programm zu einem Schritt N3.
. In dem Schritt N3 wird das Datum "83" in dem Register COMFG und ein Datum "2" und-verknüpft, d. h., es wird überprüft, ob das Flag des zweiten Bit, das den Anleitungsmodus anzeigt "1" ist. Da dieses Bit "1" ist, wird festgelegt, daß der Anleitungsmodus "ein" ist, so daß das Programm zu einem Schritt N5 geht. In dem Schritt N5 wird die LED entsprechend dem Inhalt des Registers MLlA abgeschaltet. Dieser Moment ist immer noch zu Beginn des Automatikspiels, und die CPU 4 liefert Daten DOO bis D50, alle mit "1", (siehe Fig. 3) an die LED-Reihe 3. Diese Daten werden auf die Dateneinangsanschlüsse DO bis D5 der Haltekreise 21-1 bis 21-6 geführt, um alle LED-Elemente 3A-1 bis 3A-36 abzuschalten.
Danach geht das Programm zu einem Schritt N6, in welchem
34207Α2
überprüft wird, ob alle Daten in dem Register MLlC "0" sind. Da alle Daten "0" sind, ist das Ergebnis ja, so daß das Programm zu einem Schritt N8 geht. In dem Schritt N8, wird das Datum "83" in dem Register COMFG und ein Datum "2" und-verknüpft. Somit geht wie im Falle des Schritte N2 das Programm weiter zu einem Schritt N13. In dem Schritt N13 wird das Datum "83" in dem Register COMFG und ein Datum "20" und-verknüpft, d. h., es wird überprüft, ob das Ergebnis nicht "0" ist, was den Nachspielmodus anzeigt, oder ob es "0" ist, das das NichtVorhandensein des Nachspielmodus anzeigt. Da in dem gegenwärtigen Zustand der Nachspielmodus abgeschaltet ist und das sechste Bit des Datums in dem Register COMFG "0" ist, geht das Programm weiter zu einem Schritt N15.
In dem Schritt N15 wird aus der Adresse "0006" des RAM 6 4-byte Daten ausgelesen, wie durch die Daten in den Registern MLlNADL und MLlNAH angezeigt (d. h. Startadresse für Daten der Melodie 1), d. h. ein Datum "48" entsprechend der Note G4 des vorliegenden zu erzeugenden Tones, ein Datum "18" entsprechend der Viertelnotendauer, ein Datum "OC" entsprechend einer Achtelpausendauer und ein Datum "48" ensprechend der Note G4 des nächsten zu erzeugenden Tones werden von den entsprechenden Adressen 6, 7, 8 und 9 ausgelesen und diese Daten werden in die entsprechenden Register MLlA bis MLlD eingelesen. Danach werden die Adressendaten "O9" und "00" des nächsten Tones der Melodie 1 in den Registern MLlNADL und MLlNADH gesetzt. Danach geht das Programm in einen Schritt N16 in Fig. 9C, in welchem das Datum "83" in dem Register COMFG und ein Datum "2" und-verknüpft werden, d. h., es wird überprüft, ob das Ergebnis nicht "0" ist, was anzeigt, daß der Anleitungsmodus vorliegt. Da der Anleitungsmodus vorliegt, geht das Programm danach in einen Schritt N17,
O5 in welchem das Datum "83" in dem Register COMFG und ein Datum "1" und-verknüpft werden, d. h., es wird überprüft
a« 23
ob das Ergebnis nicht "O" ist, was anzeigt, ob die Anleitungs-LEDs vorgesehen sind oder nicht. Da die Anleitungs-LEDs für Melodie 1 vorgesehen sind, geht das Programm zu einem Schritt N18. In dem Schritt N18 werden die LED-Elemente eingeschaltet, welche dem Datum entsprechen, das in den Registern MLlA und MLlD gesetzt ist und das der Note G4 entspricht. Wenn das LED-Element 3A-2O (Fig. 3) der Note G4 entspricht, werden 6-bit Daten,in welchen nur das Bit DlO und den Bits DOO bis D5O "0" ist, von der CPU 4 zum Zeitpunkt des Taktes CLK-3 geliefert, um in dem Haltekreis 21-4 gespeichert zu werden. Dies hat zur Folge, daß nur der Schalt-Schaltkreis 22-20 eingeschaltet wird, um das LED-Element 3A-2O einzuschalten. Somit wird die Note G4 angezeigt. Bei dem gegenwärtigen Fall ist die Note des nächsten Tones ebenfalls G4, so daß nur ein einzelnes LED-Element eingeschaltet wird. Von den LED-Elementen, die auf diese Art und Weise eingeschaltet werden, blinkt dasjenige, das die Note des nächsten zu erzeugenden Tones anzeigt während der Ausführung der Anleitungs-LED-Reihen-Ein-Aussteuerung, was später noch unter Bezugnahme auf das Flußdiagramm von Fig. 12 näher erläutert wird, und zwar jedesmal dann, wenn ein Überlaufsignal Q von dem Timer 19 erzeugt wird.
Danach geht das Programm zu einem Schritt N19, in welchem überprüft wird, ob das Datum (d. h. das Tondauerdatum) in dem Register MLlB "0" ist. Das Datum ist "18" und nicht "O", so daß das Programm zur Steuerung der Melodie 1 beendet wird. In diesem Moment wird der Klang des ersten Tones durch Niederdrücken der Taste für die Note G4 in der Melodie 1 gestartet. Danach geht das Programm zu einem Schritt M9 in Fig. 8B, in welchem das Datum "83" in dem Register COMFG und ein Datum "10" und-verknüpft werden, d. h., es wird überprüft, ob das Ergebnis nicht "0" ist, was einen Wartenzustand anzeigen würde. Da das fünfte Bit "0" ist, wird festgelegt, daß der Wartezustand nicht vorliegt. Somit geht das Programm zu einem Schritt MlO der Steuerung der Melodie 2.
«r to w V * · *
Das Programm für die Steuerung der Melodie 2 ist in dem Flußdiagramm von Fig. 10 dargestellt. In diesem Programm wird zunächst ein Schritt Pl ausgeführt, in welchem überprüft wird, ob das Datum in dem Register ML2A (welches nun "00" als Ergebnis des Ausführens des Schrittes M6 in Fig. 8 ist) mit dem Datum "OF" übereinstimmt, welches ein Endzeichen anzeigt. Da diese beiden Daten nicht übereinstimmen, ist das Ergebnis nein, so daß das Programm zu einem Schritt P2 geht. In diesem Schritt P2 wird überprüft, ob das Datum in dem Register ML2B ein vollständiges 8-bit Nulldatum ist. Da alle Bits dieses Datums "0" sind, wird das Tondauerdatum als "0" festgelegt und das Programm geht zu einem Schritt P3. In dem Schritt P3 wird die Erzeugung des Tones der Melodie 2 gestoppt. Der nun vorliegende Zustand entspricht einem Zustand vor dem Hören des Klanges des ersten Tones.
Danach geht das Programm zu einem Schritt P4, in welchem überprüft wird, ob das Datum in dem Register ML2C ein 8-bit Datum ist, dessen Bits alle "0" sind. Da dies der Fall ist, ist das Ergebnis ja, so daß das Programm zu einem Schritt P5 geht. In dem Schritt P5 wird ein 4-byte Datum aus der Adresse des RAM 6 ausgelesen, das durch die Daten in den Registern ML2NADL und ML2NADH festgelegt wurde, d. h. aus der Adresse 16, welche die Startadresse der Melodie 2 bildet sowie aus den folgenden Adressen des RAM 6. Dies bedeutet, daß das Datum "00" in Adresse 16 den zu hörenden Ton vertritt, d. h. in diesem Fall eine Pause; das Datum "18" in Adresse 17 entspricht einer Viertelpausendauer; das Datum "00" in Adresse 18 entspricht einer Pause; und das Datum "45" in Adresse 19 entspricht der Note E4 des nächsten zu hörenden Tones. Wie in Fig. 18 dargestellt, werden alle diese Daten ausgelesen und in die entsprechenden Register ML2A bis ML2D eingelesen. Nach diesem Prozeß werden die Adressen
"19" und "00" des nächsten Tones der Melodie 2 in den Registern ML2NADL und ML2NADH gesetzt.
Danach geht das Programm zu einem Schritt P6, in welchem der Klang eines Tones entsprechend den Daten in dem Register ML2A zu hören ist, Da der erste Ton der Melodie 2 eine Viertelpause ist, wird in diesem Falle kein Ton gehört. Danach geht das Programm zu einem SchrLtt P7, in welchem überprüft wird, ob das Datum in dem Register ML2B "0" ist. Das Datum ist nicht 11O", und somit wird das Programm zur Steuerung der Melodie 2 beendet und das Programm geht zu einem Schritt MlI in Fig. 8B, der zu einem Programm zur Steuerung des Akkordes gehört.
Das Programm in dem Schritt MlI ist in dem Flußdiagramm von Fig. 11 genau dargestellt. In diesem Programm wird zunächst ein Schritt Sl ausgeführt, in welchem überprüft wird, ob das Datum in dem Register CDA gleich dem Datum "OF" ist, das einem Endzeichen entspricht. Da das Datum in dem Register CDA ein 8-bit Datum mit allen Bits "0" ist, da der Schritt M6 in Fig. 8A durchgeführt wurde, ist das Ergebnis dieser Überprüfung nein und das Programm geht zu einem Schritt S2. In dem Schritt S2 wird überprüft, ob das Datum in dem Register CDB ein 8-bit Datum ist, bei dem alle Bits "0" sind. Da dies der Fall ist, ist das Ergebnis dieser Überprüfung ja, so daß das Programm zu einem Schritt S3 geht. In dem Schritt S3 werden 2-byte Daten aus den Adressen RAM 6 ausgelesen, das in den Registern CDNADL und CDNADH gesetzt ist, d. h. eine
OQ Adresse 26, welche die Akkordstartadresse bildet sowie die folgenden Adressen in dem RAM 6, d. h., ein Datum "11" in Adresse 26 entspricht der Note C-Dur (CM) und ein Datum "30" in Adresse 27 entspricht einer Dauer von einer halben Note, wie in Fig. 18 dargestellt; diese
oc Daten werden ausgelesen und dann in den Registern CDA und CDB geschrieben. Danach geht das Programm zu einem
· «ι
Schritt S4r in welchem das Datum "11", das in dem Register CDA gesetzt ist, dem Schaltkreis 8 zur Steuerung der automatischen Begleitung zugeführt wird, wodurch der Klang des Akkordes C-Dur gehört wird. Durch die oben beschriebenen Prozesse werden Melodie 1, Melodie 2 und Akkorddaten des ersten Tones der Musik gleichzeitig gehört.
Danach geht das Programm zu einem Schritt S5, in welchem überprüft wird, ob das Datum in dem Register CDB "O" ist.
Dies ist nicht der Fall, so daß das Programm zur Steuerung des Akkordes beendet wird und danach geht das Programm zu einem Schritt M18 in Fig. 8C. Wenn festgestellt wird, daß in dem Register CDB das Datum "0" ist, bedeutet dies, daß der Akkord fortdauert. Am Ende des Schrittes S5 werden die Adressen "16" und "OC" des nächsten zu hörenden Akkordes, d. h. der Akkord F-Dur, in den Registern CDNADL und CDNADH gesetzt.
In dem Schritt M18 wird überprüft, ob das Datum in dem Register MLlA "OF" ist, was einem Endzeichen entspricht. Da es "48" ist, ist das Ergebnis dieser Überprüfung nein, so daß das Programm zu einem Schritt M21 geht. In diesem Schritt wird das Datum "83" in dem Register COMFG und ein Datum "8" und-verknüpft, d. h., es wird überprüft, ob der schnelle Vorlauf vorliegt. Im vorliegenden Fall ist das Ergebnis nein, so daß das vorliegende Automatikspielprogramm des Schrittes G5 beendet wird.
Wenn nach dem Beginn des Automatikspieles das Programm des Schrittes G5 durchlaufen ist und wenn im Schritt G4 des Flußdiagrammes von Fig. 7 festgestellt wurde, daß der Timer 18 zum Festlegen des Tempos ein Überlaufsignal aufgrund des Verstreichens einer·Zeit entsprechend 1/24 einer Viertelnote erzeugt hat, wird das zweite Automatikspielprogramm des Schrittes G5 ausgeführt. In diesem Falle wird
nach dem Schritt Ml in Fig. 8A der Schritt M2 ausgeführt und liefert das Ergebnis "O" aufgrund der und-Verknüpfung des Datums "83" in dem Register COMFG und des Datums "40", so daß das Programm zu dem Schritt M7 in Fig. 8B geht. In dem Schritt M7 wird festgestellt, daß der Wartezustand nicht in Kraft ist, so daß das Programm zu dem Schritt M8 geht, d. h., das Steuerprogramm für Melodie 1 wird wie oben beschrieben ausgeführt. Im darauffolgenden Schritt M9 wird bestimmt, daß der Wartezustand nicht in Kraft ist, so daß der Schritt MIO, d. h. das Steuerprogramm für die Melodie 2 ausgeführt wird. Danach wird der Schritt MlI ausgeführt, d. h., das Programm zur Steuerung der Akkorde. Danach geht das Programm zu dem Schritt M18 in Fig. 8C. Da die Melodie 1 noch nicht vorüber ist, geht das Programm zu dem Schritt M21 und beendet das Automatikspielprogramm.
Jedesmal,wenn der Timer 18 ein Überlaufsignal P erzeugt, werden die Schritte Ml, M7, M8, M9, MIO, MlI, M18 und M21 einmal ausgeführt. Dies hat zur Folge, daß Melodie 1, Melodie 2 und Akkord des Automatikspielmusikstückes in den Fig. 17A bis 17C automatisch gespielt werden und dabei dem Musiksatz vom ersten Ton ab folgen. Wenn in dem Schritt M18 festgestellt wird, daß die Melodie 1 zu Ende ist,
d. h., daß die und-verknüpften Daten das Endzeichendatum "OF" in Adresse 15 des RAM 6 bilden, wie in Fig. 18 dargestellt, wird ein Schritt Ml9 ausgeführt, um das Endzeichendatum "OF" bezüglich der Melodie 2 zu überprüfen. Wenn das Endzeichen erkannt wurde, wird das Endzeichendatum "OF" im nächsten Schritt M20 über den Akkord überprüft. Wenn das Endzeichen erkannt wurde, geht das Programm zu einem Schritt M22, in welchem die CPU 4 ein Rhythmusstoppsignal an den Schaltkreis 8 zur Steuerung der Automatikspielbegleitung liefert, um das automatische Abspielen des Rhythmus zu stoppen. In dem nächsten Schritt
M23 wird das Datum "83" in dem Register COMFG und ein Datum "22" und-verknüpft, und das Ergebnisdatum "02" wird dem Register COMFG zugeführt, um das Automatikspiel-Flag zurückzusetzen. Wenn dies geschehen ist, bringt die nachfolgende Ausführung des Schrittes Ml in Fig. 8A sofort ein Ende für das Automatikspielprogramm in dem Schritt G5, d. h., der Schritt G5 wird übersprungen und das Automatikspiel ist unterbrochen.
Im folgenden wird nun die Verarbeitung der Tondauerdaten in dem Programm zur Steuerung der Melodie 1 gemäß den Fig. 9A bis 9C beschrieben. Es sei angenommen, daß Daten für die Melodie 1 aus dem RAM 6 ausgelesen wurden und daß ein Viertelnotendatum "18" in dem Register MLlB gesetzt wurde. Somit ist das Ergebnis der Überprüfung in dem Schritt N2 nein, so daß das Programm zu einem Schritt NlO geht, in welchem das Datum in dem Register MLlB um 1 dekrementiert wird. In dem nächsten Schritt NlI wird überprüft, ob das Datum in dem Register MLlB zu "1" geworden ist. Im vorliegenden Fall ist das Ergebnis dieser Überprüfung nein, so daß das Programm zur Steuerung der Melodie 1 beendet wird. Die Schritte Nl, N2, NlO und NlI werden jedesmal dann ausgeführt, wenn ein Überlaufsignal P von dem Timer 18 erzeugt wird. Auf diese Weise wird das Datum in dem Register MLlB immer weiter um 1 dekrementiert. Wenn das Datum in dem Register MLlB auf "1" reduziert wurde, wird dies in dem Schritt NIl erkannt, so daß das Programm zu einem Schritt N12 geht. In dem Schritt N12 wird das LED-Element 3A-2O, das eingeschaltet war und somit die Note G4 entsprechend dem Datum "48" in dem Register MLlA anzeigte, abgeschaltet.
Nachdem das Datum in dem Register MLlB zu "0" gemacht wurde (im Schritt NlO) wird dies in dem Schritt N2 bei der nächsten Ausführung erkannt, so daß das Programm zu
Schritt N3 und dann zu dem Schritt N5 geht. In dem Schritt N5 wird das LED-Element 3A-2O, das der Note G4 entspricht fortlaufend im abgeschalteten Zustand gehalten. Im nächsten Schritt N6 wird überprüft, ob das Datum in dem Register MLlC "O" ist, und das Ergebnis ist nein, da das Datum das Achtelpausen-Dauerdatum "OC" ist, so daß das Programm zu dem Schritt N7 geht. In dem Schritt N7 wird das Datum "OC" des Registers MLlC um 1 dekrementiert und beendet somit das Programm der Steuerung der Melodie 1. In der Folge werden die Schritte Nl, N2, N3, N5, N6 und N7 in jedem Steuerprogramm für Melodie 1 ausgeführt, in jedem Programm wird das oben genannte Pausendauerdatum um 1 dekrementiert. Während der Formatierung der Achtelpausendauer für den ersten Ton erklingt kein Ton, da keine Taste betätigt wird. Wenn das Pausendauerdatum des Registers MLlC auf "0" dekrementiert wurde, wird dies in dem Schritt N6 erkannt, so daß das Programm zu dem Schritt N8 geht. Danach geht das Programm über den Schritt N13 zu dem Schritt N15, in welchem die Daten "48", "OC", "00" und "4A" in den entsprechenden Adressen 9, A, B und C des RAM 6 für den zweiten Ton der Melodie 1 in den Registern MLlA bis MLlD gesetzt. Danach werden wie im Falle des Programmes für den ersten Ton die Schritte N16, N17, N18 und N19 ausgeführt, so daß die LED-Elemente entsprechend den Noten G4 und A4, die in den Registern MLlA und MLlD gesetzt sind, eingeschaltet. Weiterhin wird der Klang des zweiten Tones durch Drücken der Taste für G4 begonnen. Das LED-Element entsprechend der Note G4, die erzeugt wird, bleibt eingeschaltet, wohingegen des LED-Element entsprechend der Note A4 des dritten Tones, der als nächster erzeugt wird, blinkt.
Die Verarbeitung der Tondauerdaten für Melodie 2 wird nun im folgenden unter Bezugnahme auf das Flußdiagramm gemäß Fig. 10 beschrieben. Nachdem das Viertelpausen-
Dauerdatum "18" des ersten Tones in dem Register ML2B gesetzt wurde, geht das Programm über einen Schritt Pl zu einem Schritt P2. In dem Schritt P2 wird festgelegt, daß das Datum in dem Register ML2B nicht "O" ist, so daß das Programm zu einem Schritt P9 geht, in welchem das Datum "18" um 1 dekrementiert wird. Danach werden die Schritte Pl, P2 und P9 in jedem folgenden Steuerprogramm für Melodie 2 ausgeführt. Wenn das Datum in dem Register ML2B zu "0" wird, werden die Schritte P3 bis P7 ausgeführt. Falls der erste Ton keine Pause sondern eine Note ist, ergibt sich im Schritt P4 das Ergebnis nein, so daß ein Schritt PlO ausgeführt wird, in welchem ein Dekrementierungsprozeß ähnlich wie in dem Schritt N7 für die Steuerung der Melodie 1 ausgeführt wird. Wenn festgestellt wird, daß das Tondauerdatum in dem Register ML2B "0" wird (Schritt P7), bedeutet dies einen Akkord. In diesem Fall geht das Programm zu einem Schritt P8, in welchem überprüft wird, ob das Pausendauerdatum in dem Register ML2B 11O" ist. Wenn dies nicht der -all ist, wird das danach folgende Programm für Akkordkontrolle gemäß Fig. ausgeführt. Wenn das Datum "0" ist, .geht das Programm zu einem Schritt Pll, in welchem das Erzeugen von Melodie 2 abgeschaltet wird.
Unter Bezugnahme auf das Flußdiagramm in Fig. 11 wird nun im folgenden das Programm zur Akkordsteuerung beschrieben. Im gegenwärtigen Fall wurde das Tondauerdatum "30" für den ersten Ton des Akkordes in dem Register CDB zu Beginn der Erzeugung geschrieben. Daher geht jedesmal, wenn das Programm zur Akkordsteuerung ausgeführt wird, dieses Programm durch die Schritte Sl und S2 zu einem Schritt S6, in welchem das Tondauerdatum in dem Register CDB dekrementiert wird. Wenn das Datum in dem Register CDB zu "0" wird, wird dies in einem Schritt S2 erkannt, so daß das Programm durch Schritt S3, S4 und S5 läuft,
in welchen der Klang für einen Akkord verarbeitet wird.
Im folgenden wird die Automatikspiel-Arbeitsweise in Verbindung mit einem Fall beschrieben, wenn das Musikstück gemäß den Fig. 17A bis 17C automatisch gespielt wird, wobei der Melodieanleitungsmodus, der Anleitungs-LED-Modus und der NachspieLmodus vorliegen. Als Beispiel für diese Arbeitsweise sei angenommen, daß das Handspiel der Melodie 1 durch Drücken der Tasten ausgeführt wird, wobei die Anleitung der "ein"-LED-Elemente bezüglich des Musikstückes gemäß den Fig. 17A bis 17C leicht vorläuft oder zurückliegt, so daß das Musikstück gemäß der Fig. 19 infolge des Nachspielmodus vorliegt. Der Anleitungsmodusschalter, der erste Anleitungs-LED-Schalter, der zweite Anleitungs-LED-Schalter und der Nachspielmodusschalter sind alle eingeschaltet. Zu Beginn des Automatikspiels wird ein Datum "11100011" (entspricht "E3"in hexadezimaler Form) in dem Register COMFG gesetzt.
Wenn das Programm der Fig. 8A bis 8C begonnen wird, werden die Schritte Ml bis M6 ausgeführt, um für den Beginn der Tonerzeugung vorbereitet zu sein. In dem Schritt M4 wird das Datum in dem Register COMFG auf "10100011" ("A3" in hexadezimaler Form) erneuert.
Danach geht das Programm durch den Schritt M7 zu dem Schritt M8 der Steuerung der Melodie 1, d. h., ein Programm gemäß den Fig. 9A bis 9C. Die Schritte Nl, N2, N3, N5, N6 und N8 werden somit ausgeführt wie bereits beschrieben.
In dem darauffolgenden Schritt N13 wird die Anwesenheit des Nachspielmodus erkannt, so daß das Programm zu dem Schritt N14 geht. In dem Schritt N14 werden das Datum "A3" des Registers COMFG und ein Datum "F7" und-verknüpft, was zur Folge hat, daß das Datum in dem Register COMFG auf "A3" geändert wird, d. h., das vierte Bit-Flag des
schnellen Vorlaufes wird zurückgesetzt. Danach wird das Datum "A3" in dem Register COMFG und ein Datum "10" undverknüpft, und das Datum wird zu "10110011" ("B3" in hexadezimaler Form) geändert, d. h., das fünfte Bit-Flag des Wartezustandes wird auf "1" gesetzt. Danach werden die Schritt N15, N16, N17, N18 und N19 ausgeführt, um das Steuerprogramm für Melodie 1 zu vervollständigen. Zu diesem Zeitpunkt wird nur das LED-Element, das G4 entspricht im eingeschalteten Zustand gehalten, da in diesem Fall der erste Ton (G4) und der nächste Ton gleich sind. Dieser Zustand der Anleitungs-LED-Reihe ist in Fig. 2OA dargestellt. Wenn danach das Programm zu dem Schritt M9 geht, wird das Flag "1" des Wartezustands erkannt, so daß das Programm sofort zu dem Schritt M18 geht. Danach geht es sofort weiter zu dem Schritt M21, in welchem erkannt wird, daß das schnelle Vorlauf-Flag "0" ist, so daß zu diesem Zeitpunkt das Automatikspiel-Programm beendet wird. Da der Wartezustand vorliegt, werden die Schritt MIO und MlI für die Steuerung von Melodie 2 und Akkord nicht ausgeführt. Dies deswegen, um zu bewirken, daß der Start der Erzeugung der Melodie 2 und Akkord durch Folgen der Verzögerung der Tastenbetätigung von Melodie 1 um einen Betrag entsprechend einer Sechzehntelpause von dem richtingen Timing ab bewirkt wird, wie mit (1) in Fig. 19 dargestellt.
Dieses Programm wird nun im folgenden genauer beschrieben. Wenn das nächste Automatikspiel-Programm begonnen wurde und die Schritt Ml und M2 in Fig. 8A bis zum Schritt M7 in Fig. 8B durchlaufen hat, wird erkannt, daß der Wartezustand vorliegt, so daß das Programm zu dem Schritt M12 geht. In dem Schritt M12 wird das Datum "B3" in dem Register COMFG und ein Datum "4" und-verknüpft, um zu überprüfen, ob das Ergebnis "0" ist. Dies wird getan, um zu überprüfen, ob die Taste für den ersten Ton G4 in Melodie 1 gedrückt wurde. Wenn die Taste gedrückt wurde, wird das
Tastengedrückt-FLag des dritten Bits in dem Register COMFG auf "1" gesetzt, so daß das Ergebnis der und-Verknüpfung nicht "O" ist. Da die Taste jedoch nicht gedrückt wurde, ist das Ergebnis "0", so daß das Programm.zu dem Schritt M15 geht, in welchem das Datum in dem Register WTCNT um 1 inkrementiert wird. Danach geht das Programm zu dem Schritt M16, in welchem überprüft wird, ob der Zählzustand des Registers WTCNT zu "60" geworden ist. Dieser Schritt ist deshalb vorgesehen, um den Anleitungs-LED-Modus in Kraft zu setzen, wenn dieses noch nicht geschehen ist, wenn keine Tastenbetätigung für Melodie 1 gemacht wurde, während der Zählzustand, der oben erwähnt wurde "60" ist, d. h., nach dem Verstreichen einer Zeit entsprechend einer vollständigen Notendauer (siehe Fig. 14). Wenn der Anleitungs-LED-Modus in Kraft gesetzt wurde, wird das LED-Element, das der nächsten zu drückenden Taste entspricht, eingeschaltet, so daß der Spieler veranlaßt wird, diese Taste zu drücken. Wenn der Zählzustand des Registers WTCNT zu "60" geworden ist, geht das Programm zu dem Schritt M17, in welchem das LED-Element, das dem Datum in dem Register MLlA entspricht, eingeschaltet wird, d. h., entsprechend der nächsten Taste des Tones in Melodie 1, wie oben beschrieben. Weiterhin wird das Datum in dem Register COMFG und ein Datum "1" und-verknüpft, und das Melodie-1-Anleitungsflag des ersten Bits des Datums in dem Register COMFG wird auf "1" gesetzt. Dies bedeutet, daß im Falle eines NichtVorhandenseins des Anleitungs-LED-Modus dieser Modus automatisch gesetzt wird, wenn die Tastenoperation für eine ganze Pause ausgelassen wurde. Diese Situation entspricht dem Fall, in welchem der Anleitungsmodusschalter und der erste Anleitungs-LED-Schalter eingeschaltet sind und der zweite Anleitungs-LED-Schalter für den Anleitungs-LED-Modus ausgeschaltet ist. Das in Kraft Setzen des Anleitungs-LED-Modus wird selbstverständlich derart realisiert, daß die LED abgeschaltet wird, indem die ent-
sprechende Taste gedrückt wird, wenn der zweite Anleitungs-LED-Schalter ausgeschaltet ist.
Wenn in dem Schritt M16 erkannt wird, daß das Ergebnis der Überprüfung nein ist, geht das Programm zu dem Schritt M21 und beendet zu diesem Zeitpunt das Programm für Automatikspiel .
Die Schritte Ml, M2, M7, M12, M15, M16, M18 und M21 werden wiederholt durchlaufen bis zu dem Zeitpunkt (2) in Fig. 19, d. h., bis die Taste für den ersten Ton G4 der Melodie nach dem Verstreichen einer Zeit entsprechend einer Sechzehntelpause gedrückt wurde. Während dieses Zeitpunkts wird der Klangerzeugungsprozeß bezüglich Melodie 1 und Akkord des ersten Tones nicht ausgeführt, d. h., der Wartezustand ist in Kraft und kein Klang wird erzeugt. Der Zählzustand des Registers WTCNT wird immer dann um 1 inkrementiert, wenn der Schritt M15 ausgeführt wird. Wenn der erste Ton G4 nachdem Verstreichen einer Zeit entsprechend einer Sechzehntelpause mit einer Taste angewählt wird, wird das Tastengedrückt-Flag in dem dritten Bit des Registers COMFG zu "1" gesetzt. Dies wird in dem Schritt M12 erkannt, so daß das Programm zu dem Schritt M13 geht. Im Schritt M13 wird überprüft, ob der Tastenbetätigungscode in dem Register KYRG mit dem Tastencode des ersten Tones G4 übereinstimmt, der in dem Register MLlA ist und erzeugt wird. Wenn diese beiden Codes übereinstimmen, d. h., wenn die richtige Taste betätigt wurde, geht das Programm zu dem Schritt M14. Im anderen Fall geht es zu dem Schirtt M15, wo das Datum in dem Register WTCNT kontinuierlich inkrementiert wird. In dem Schritt M14 wird das Datum "B7" in dem Register COMFG und ein Datum "EF" und-verknüpft, so daß das Wartezustands-Flag des fünften Bits auf "0" zurückgesetzt wird. Weiterhin wird der Zählzustand in dem Register WTCNT gelöscht. Danach wird der Schritt MIO, d. h.
Steuerung für Melodie 2 und der Schritt MIl, d. h. Steuerung des Akkordes ausgeführt, um den Klang des ersten Tones zu bearbeiten. Es ist hier vorteilhaft, daß das Bearbeiten des Klanges des ersten Tones bezüglich Melodie 2 und Akkord nach dem Verstreichen einer Zeit entsprechend einer Sechzehntelpause begonnen wird, um der Zeitverzögerung der Tastenbetätigung des ersten Tones von Melodie 1 zu folgen. Dies bedeutet, daß die Verarbeitung mit der Tastenbetätigung synchronisiert wird, was angenehm und vorteilhaft bei Handspiel ist.
In dem Beispiel gemäß Fig. 19 findet weder Warten noch schneller Vorlauf, sondern normales Spiel bis zu dem Zeitpunkt (3) statt. In diesem Beispiel wird die Tastenbetätigung für den zweiten Ton G4 zum Zeitpunkt (3) ausgeführt, d. h., während der Bearbeitung des ersten Tones mit einer und einer halben Zeit noch nicht vorbei ist, nach dem Hören des ersten Tones G4 von Melodie 1, d. h., während das Bearbeiten des Achtelpausendatums noch nicht vorüber ist. Mit anderen Worten, die Tastenbetatxgung für den zweiten Ton G4 wird eine Achtelpausedauer früher als der richtige Zeitpunkt ausgeführt.
In diesem Falle führt die CPU 4 einen Prozeß aus, in welchem das vierte Bit der Daten in dem Register COMFG gesetzt wird, d. h., das Flag für schnellen Vorlauf wird "1". Dies hat zur Folge, daß in dem nachfolgenden Programm für Automatikspiel das Flag für schnellen Vorlauf mit dem Zustand "1" in dem Schritt M21 erkannt wird, der im An-Schluß an die Schritte Ml, M2, M7, M8, M9, MlO, MIl und M13 ausgeführt wird. Somit kehrt das Programm zu dem Schritt M7 zurück und wiederholt die Schritte M8, M9, MIO, Mil, M18 M21 und danach den Schritt M7. Wenn das Datum in dem Register MLlC, welches das Pausendauerdatum für den ersten Ton von Melodie 1 ist,, zu "0" wird, wird in dem Schritt M14
das Flag für schnellen Vorlauf zurückgesetzt. Somit wird das Datum "O" in dem Schritt M21 erkannt, so daß das Programm für schnellen Vorlauf beendet wird und der normale Zustand für Automatikspiel wiederhergestellt ist. Zu diesem Zeitpunkt wurde die Achtelnoten-Dauer zum zweiten Ton G4 der Melodie 2 zusammengezogen, und zwar aufgrund des oben beschriebenen schnellen Vorlaufes. Ebenso wurde die Achtelnoten-Dauer für den Akkord C-Dur aufgrund des schnellen Vorlaufes zusammengezogen. Danach geht das Programm durch die Schritte Ml, M2 und M7 und in dem Schritt M7 wird erkannt, daß das Datum nicht "0" ist. Danach geht das Programm zu dem Schritt M12. Da die Taste für den zweiten Ton G4 von Melodie 1 gedrückt wurde, geht das Programm durch die Schritte M13 und M14 und danach durch die Schritte MIO, MlI, M18 und M21 und beendet somit das Progamm für Automatikspiel. Wenn der Timer 18 ein Überlaufsignal P wieder erzeugt, wird der Schritt Ml ausgeführt und das Programm geht durch die Schritte M2, M7, M8, M9, MIO, MIl, M18 und M21. Dieser Ablauf wird in der Folge wiederholt. Wenn das Datum in dem Register MLlB, welches die Tondauer des zweiten Tones G4 von Melodie 1 vertritt, zu "0" wird, wird das Wartezustands-Flag in dem fünften Bit des Registers COMFG gesetzt. Dies hat zur Folge, daß in dem darauffolgenden Schritt M9 erkannt wird, daß das Datum nicht "0" ist, wodurch die Ausführung der Schritte MIO und MlI zeitweise aufgehoben wird. Es sei nun angenommen, daß zu diesem Zeitpunkt, die Taste für den zweiten Ton G4 von Melodie 1 losgelassen wurde, aber die Taste für den dritten Ton A4 nicht sofort gedrückt
QQ wurde.
Dieser Zustand ist in Fig. 19 dargestellt. Hierbei wurde das Datum in dem Register ML2A, welches der Tondauer des zweiten Tones G4 in Melodie 2 entspricht, auf "0" in dem 3g Schritt P9 dekrementiert. Da die Ausführung des Schrittes
MIO ausgesetzt ist, wird der Klang des zweiten Tones E4 fortgesetzt. Eine ähnliche Arbeitsweise tritt ein für den Akkord C-Dur, so daß der Klang für den Akkord C-Dur aufrechterhalten wird.
Inzwischen wurde das Wartezustands-Flag in dem fünften Bit des Registers COMFG auf "1" gesetzt, und zwar zu dem Zeitpunkt des Loslassens der Taste für den zweiten Ton G4 in Melodie 1. In dem darauffolgenden Programm für Automatikspiel wird in dem Schritt M7 erkannt, daß das Datum nicht "0" ist und das Programm geht zu dem Schritt M12. Da die Taste für den dritten Ton A4 von Melodie 1 nicht sofort gedrückt wurde, wird das Register WTCNT in dem folgenden Schritt M15 inkrementiert. Somit ist das Ergebnis der Überprüfung in dem darauffolgenden Schritt M16 nein, so daß das Programm durch die Schritte M18 und M21 läuft und somit das Automatikspiel-Programm beendet. In der Folge werden die Schritte Ml, M2, M7, M12, M15, M16,
i
M18 und M21 wiederholt ausgeführt.
Nach dem Verstreichen einer Sechzehntelpause wird die Taste für den dritten Ton G4 von Melodie 1 gedrückt (siehe Zeitpunkt (4) in Fig. 19). Daraufhin wird in dem Schritt M12 erkannt, daß das Datum nicht "0" ist, so daß das Programm zu dem Schritt M13 und dann zu dem Schritt M14 geht, in welchem das Wartezustands-Flag des fünften Bits in dem Register COMFG zurückgesetzt wird und das Register WTCNT gelöscht wird. Danach geht das Programm zu dem Schritt MIO. Dieses Programm, das in Fig. 10 dargestellt ist, geht durch die Schritte Pl und P2 und in dem Schritt P2 wird erkannt, daß das Datum in dem Register ML2B "0" ist, so daß das Programm durch den Schritt P3 geht, in welchem die Klangerzeugung des Tones E4 abgeschaltet wird. Danach läuft das Programm durch die Schritte P4, P5 und P6, um den dritten Ton E4 hörbar zu erzeugen. Ein ähnlicher Ablauf
tritt auch für den Akkord F-Dur ein.
Eine ähnliche Arbeitsweise wird danach ausgeführt, und wenn die Taste für den vierten Ton B4 von Melodie 1 unmittelbar nach dem Drücken der Taste für den dritten Ton A4 gedrückt wird, und zwar für die festgesetzte Tondauer (siehe Zeitpunkt (5) in Fig. 19), wird die Note D4 für Melodie 2 und die Akkordnote G7 für den vierten Ton gleichzeitig mit der Tastenniederdrückung erzeugt. 10
Wenn die Taste für den fünten Ton C5 der Melodie 1 eine Sechzehntelnotendauer früher als zum richtigen Zeitpunkt gedrückt wurde, wie in (6) in Fig. 19 dargestellt, werden sowohl die Note G4 der Melodie 2 und der Akkord C-Dur des vierten Tones eine Sechzehntelnotendauer frührer erzeugt.
Wie gezeigt wurde, werden Daten für Melodie 2 und Akkorddaten der Töne dadurch erzeugt, daß der Zeitpunkt der Tastenbetätigung von Melodie 1 erkannt wird. Tondauerdaten von Melodie 2 und Akkorddaten werden derart geändert, daß sie der falschen Tastenbetätigung der Melodie 1 folgen. Die Fig. 2OB bis 2OF zeigen den Zustand der Anleitungs-LEDs zu den entsprechenden Zeitpunkten (2) bis (6) gemäß Fig. 19. Die LED-Elemente, die dunkel gezeichnet sind, sind eingeschaltet und diejenigen, die durchgestrichen dargestellt sind, blinken.
Im folgenden wird der Grund für das Blinken der LED-EIemente unter Bezugnahme auf Fig. 12 beschrieben. Diese Arbeitsweise wird mit einer konstanten Frequenz, beispielsweise alle halbe Senkunden ausgeführt, und zwar jedesmal dann, wenn der Timer 19 ein Überlaufsignal Q erzeugt. In diesem Programm wird zunächst ein Schritt Ll ausgeführt, in welchem überprüft wird, ob das Automatik-
spiel in Kraft ist. Wenn das Ergebnis dieser Überprüfung ja ist, geht das Programm zu einem Schritt L2,in welchem überprüft wird, ob der Anleitungs-LED-Modus in Kraft ist. Wenn das Ergebnis dieser Überprüfung "ja" ist, geht das Programm zu einem Schritt L3, in welchem der Zeitpunkt des Einschaltens überprüft wird. Diese Überprüfung wird vorgenommen, indem ein Flag für Einschalten in einem bestimmten Register gesetzt wird (d. h. "1") oder zurückgesetzt wird (d. h. 11O"). Wenn der Zeitpunkt des Einschaltens erkannt wird, geht das Programm zu einem Schritt L4, in welchem das Flag für Einschalten auf "0" zurückgesetzt wird. Dieses Flag "0" bildet den Einschaltzeitpunkt oder Nicht-Einschaltzeitpunkt für den nächsten Ablauf. Danach geht das Programm zu einem Schritt L5, in welchem das LED-Element entsprechend der Taste für das nächste Tondatum in dem Register MLlD eingeschaltet wird, so daß dieses Programm beendet wird. Wenn der Einschaltzeitpunkt nicht erkannt wurde, geht das Programm von dem Schritt L3 zu einem Schritt L6, in welchem das Einschalt-Flag auf "^" gesetzt wird, um den nächsten Einschaltzeitpunkt zu setzen. Dann geht das Programm zu einem Schritt L7, in welchem das LED-Element entsprechend der Taste für das nächste Tondatum in dem Register MLlD abgeschaltet wird. Da die Schritte L5 und L7 des Ein- und Ausschaltens der LED alternierend entsprechend dem Überprüfungsergebnis in Schritt L3 ausgeführt werden, blinkt das LED-Element LED 3 für die nächste zu drückende Taste.
Wenn in der oben beschriebenen Ausführungsform eine Taste früher als zum richtigen Zeitpunkt gedrückt wird, werden die zugehörigen Tondaten schnell vorgespielt. Dies ist jedoch nicht darauf begrenzt und es ist möglich, das Erzeugen der Tondaten zu unterdrücken, bis der Zeitpunkt der Tastendrückung richtig ist. In diesem Falle kann man so vorgehen, daß bei Erkennung des schnellen Vorlaufes im
Schritt M21 die verbleibenden Werte der Daten in den Registern MLlB und MLlC für Melodie 1 berechnet werden und die Werte der Einrichtung zum Auslesen der Vielzahl von verschiedenen Automatikspiel-Musikstücken kann dann aufgrund des Ergebnis dieser Berechnung gesetzt werden. Weiterhin kann so vorgegangen werden, daß das Programm zu dem Schritt M7 zurückkehrt, nachdem die Daten in den Registern MLlB und MLlC gelöscht wurden und neue Werte in diesen Registern entsprechend den Daten für Melodie 2 und Akkord gesetzt wurden.
Wie bisher beschrieben, werden, wenn der Zeitpunkt der Tastenbetätigung durch den Spieler nicht richtig ist, die folgenden Daten für Melodie und/oder Akkord zum richtigen Zeitpunkt schnell vorgespielt und somit wird die richtige Abspielgeschwindigkeit wieder erhalten. Wenn andererseits der Zeitpunkt der Tastenbetätigung durch den Spieler zu langsam ist, wird das Auslesen der folgenden Daten für Melodie und/oder Akkord zeitweise ausgesetzt und es wird auf die Betätigung der nächsten Taste gewartet. Selbst wenn somit der Zeitpunkt der Tastenbetätigung von den richtigen Zeitpunkten abweicht, ist es möglich, ein Automatikspiel auf der Grundlage der ursprünglichen Geschwindigkeit zu erhalten. Dies ist sehr angenehm für einen Anfänger und erlaubt, daß im manuellen Spiel schnelle Fortschritte erzielt werden.
Wenn weiterhin ein Spieler vergißt, eine Taste während des Spielens eines Musikstückes mit Baßbegleitung und Akkord zu drücken, ohne daß der Anleitungsmodus gesetzt ist, wird das LED-Element entsprechend der zu drückenden Taste zusammen mit der Anleitungsfunktion nach dem Verstreichen eines Zeitpunktes (beispielsweise Zeitdauer eines Taktes) eingeschaltet. Selbst in einem derartigen Fall muß sich daher der Spieler nicht auf das Musikstück
1 konzentrieren, er braucht sich vielmehr nur auf die Tastatur konzentrieren. Weiterhin wird durch Niederdrücken der Taste entsprechend dem eingeschalteten LED-Element die Anleitungsfunktion wieder abgeschaltet, so daß ein größerer
5 Übungseffekt eintritt.

Claims (6)

  1. Patentansprüche
    Elektronisches Musikinstrument mit wenigstens einer Speichereinrichtung zur Speicherung einer Vielzahl von verschiedenen Musikstückdaten, welche Melodiedaten und Begleitungsdaten wenigstens eines Musikstückes beinhalten, welche gleichzeitig und automatisch gespielt werden;
    mit einer Einrichtung zum nacheinander Auslesen der einzelnen Automatikspieldaten mit einer festgelegten Rate;
    mit einer Einrichtung zum Ausüben des Automatikspiels gemäß den ausgelesenen Automatikspieldaten; und mit einer Anleitungseinrichtung, um den Spieler darüber zu informieren, welche Spieloperation gemäß wenigstens einem aus der Vielzahl von verschiedenen ausgelesenen Automatikspieldaten auszuführen ist; gekennzeichnet durch
    eine Einrichtung (4, 4RG) zum Vergleich des Zeitpunk-
    Hiiro I r.inkfun'l MMkliin ΟΙΙΚτ
    iiTrdlcc K) IcI ..»To Ol x>ntrsc| IcIi
    r>J<>.">4? pilWil ti
    S( hHCK I)Hii.Mi
    Mm» hni/-Munir Ii (»tin«
    IcI uHKil'liJl lclc\ .">Ji>"i47
    lelcMr.imiiiiHlrcssc IMWiinnu l'(isis( he« K Mtin< heu I.XiO'.j H(i_· !«'lcliix ()HI«i|/(iJlKl-< > KiI' J 4.'Ji - 'li'lclcx HKjIH(H) = |mw,i\U (
    <i (I
    tes der Spieloperation, welche von dem Spieler ausgeführt wird, nachdem die Anweisung von der Anleitungseinrichtung (3) gegeben wurde und einem regulären Zeitpunkt, welcher durch die Automatikspieldaten festgelegt wird, welche aus der Speichereinrichtung (5, 6) ausgelesen werden;
    eine Einrichtung (4) zur Korrektur der Ausleserate der Vielzahl von verschiedenen Automatikspieldaten in Übereinstimmung mit dem Ausgangssignal der Vergleichseinrichtung (4, 4RG); und
    eine Steuereinrichtung (4), um die Ausleserate der korrigierten Daten für die Vielzahl von verschiedenen Automatikspieldaten auf die festgelegte Rate zurück zu korrigieren und um Daten kontinuierlich auszulesen.
  2. 2. Elektronisches Musikinstrument nach Anspruch 1, dadurch gekennzeichnet, daß die Korrigiereinrichtung (4) eine Einrichtung aufweist, welche, wenn das Timing der Spieloperation vorausläuft, die Vielzahl von verschiedenen Automatikspieldaten schneller ausliest als die festgelegte Rate, bis das reguläre Timing wieder erreicht ist.
  3. 3. Elektronisches Musikinstrument nach Anspruch 1, dadurch gekennzeichnet, daß die Korrigiereinrichtung (4) eine Einrichtung aufweist, welche, wenn das Timing der Spieloperation vorausläuft, die Klangerzeugung gemäß der Vielzahl von verschiedenen Automatikspieldaten aussetzt, bis das reguläre Timing wieder erreicht ist.
  4. 4. Elektronisches Musikinstrument nach Anspruch 1, dadurch
    gekennzeichnet, daß die Korrigiereinrichtung (4) eine Einrichtung aufweist, welche, wenn eine zu einem bestimmten Zeitpunkt zu drückende Taste nicht gedrückt wird, das Auslesen der Vielzahl von verschiedenen Auto-
    3
    matikspieldaten abbricht.
  5. 5. Elektronisches Musikinstrument mit einer Anleitungsfunktion zum nacheinander Auslesen von abgespeicherten Automatikspieldaten wenigstens eines Musikstückes und mit einer Anzeigefunktion wenigstens der Tonhöhe des nächsten zu erklingenden Tones gemäß den ausgelesenen Automatikspieldaten, gekennzeichnet durch
    eine Einrichtung (4) zum Abschalten der Anleitungsfunktion; und mit einer Anleitungssteuereinrichtung (4) zum Setzen eines Ein-Zustandes der Anleitungsfunktion, welche durch die Einrichtung zum Abschalten abgeschaltet wurde, wenn die Tastenbetätigung gemäß den Automatikspieldaten für einen festgelegten Zeitraum unterbrochen wurde.
  6. 6. Elektronisches Musikinstrument nach Anspruch 5, dadurch gekennzeichnet, daß die Anleitungssteuereinrichtung (4) eine Einrichtung aufweist, welche die Anleitungsfunktion wieder abschaltet, wenn eine Tastenbetätigung nach dem Einschalten der Anleitungsfunktion ausgeführt wurde.
DE19843420742 1983-06-03 1984-06-04 Elektronisches musikinstrument Granted DE3420742A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58098034A JPS59223492A (ja) 1983-06-03 1983-06-03 電子楽器

Publications (2)

Publication Number Publication Date
DE3420742A1 true DE3420742A1 (de) 1984-12-06
DE3420742C2 DE3420742C2 (de) 1990-04-19

Family

ID=14208743

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19843420742 Granted DE3420742A1 (de) 1983-06-03 1984-06-04 Elektronisches musikinstrument

Country Status (4)

Country Link
US (1) US4651612A (de)
JP (1) JPS59223492A (de)
DE (1) DE3420742A1 (de)
GB (1) GB2142461B (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0220423A2 (de) * 1985-08-29 1987-05-06 Josef Schörkmayr Elektronisches Musikinstrument mit Tastatur
EP0495203A2 (de) * 1991-01-15 1992-07-22 Wolfgang Ernst Elektronisches Lehr-,Begleit- und Übungsmusikgerät

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61176987A (ja) * 1985-01-31 1986-08-08 ヤマハ株式会社 電子楽器の押鍵表示装置
US4745836A (en) * 1985-10-18 1988-05-24 Dannenberg Roger B Method and apparatus for providing coordinated accompaniment for a performance
JP2764961B2 (ja) * 1988-11-18 1998-06-11 ヤマハ株式会社 電子楽器
JPH02128199U (de) * 1989-03-29 1990-10-23
US4919030A (en) * 1989-10-10 1990-04-24 Perron Iii Marius R Visual indicator of temporal accuracy of compared percussive transient signals
DE4041766C2 (de) * 1989-12-23 1997-02-27 Roman Koller Musiziereinrichtung
DE4100956A1 (de) * 1991-01-15 1992-07-16 Wolfgang Ernst Elektronisches lehr-, begleit- und uebungsmusikgeraet
JP2707853B2 (ja) * 1991-03-01 1998-02-04 ヤマハ株式会社 押鍵指示装置
GB2254954B (en) * 1991-03-11 1995-01-11 Clive Perryman A teaching device for musical instruments
US5394784A (en) * 1992-07-02 1995-03-07 Softronics, Inc. Electronic apparatus to assist teaching the playing of a musical instrument
US5521323A (en) * 1993-05-21 1996-05-28 Coda Music Technologies, Inc. Real-time performance score matching
US5585585A (en) * 1993-05-21 1996-12-17 Coda Music Technology, Inc. Automated accompaniment apparatus and method
US5513129A (en) * 1993-07-14 1996-04-30 Fakespace, Inc. Method and system for controlling computer-generated virtual environment in response to audio signals
US5529498A (en) * 1993-10-20 1996-06-25 Synaptec, Llc Method and apparatus for measuring and enhancing neuro-motor coordination
US5557055A (en) * 1994-05-17 1996-09-17 Breitweiser Music Technology Inc. Musical keyboard having an electronically controlled display and a method of keyboard display
US6211452B1 (en) * 1994-11-10 2001-04-03 Yamaha Corporation Electronic musical instrument having a function of dividing performance information into phrases and displaying keys to be operated for each phrase
DE19603001C2 (de) * 1996-01-27 2000-11-23 Egon Fred Warnke Vorrichtung zum unterstützten Trainieren und Lernen
US5693903A (en) * 1996-04-04 1997-12-02 Coda Music Technology, Inc. Apparatus and method for analyzing vocal audio data to provide accompaniment to a vocalist
US5952597A (en) * 1996-10-25 1999-09-14 Timewarp Technologies, Ltd. Method and apparatus for real-time correlation of a performance to a musical score
US6011210A (en) * 1997-01-06 2000-01-04 Yamaha Corporation Musical performance guiding device and method for musical instruments
US6166314A (en) * 1997-06-19 2000-12-26 Time Warp Technologies, Ltd. Method and apparatus for real-time correlation of a performance to a musical score
US5908996A (en) * 1997-10-24 1999-06-01 Timewarp Technologies Ltd Device for controlling a musical performance
JP3800867B2 (ja) * 1999-06-18 2006-07-26 カシオ計算機株式会社 演奏教習装置及び演奏教習処理プログラムを記録した記録媒体
US7122004B1 (en) 1999-08-13 2006-10-17 Interactive Metronome, Inc. Method and apparatus of enhancing learning capacity
JP2001075565A (ja) 1999-09-07 2001-03-23 Roland Corp 電子楽器
US6709273B2 (en) 1999-10-15 2004-03-23 Jeffrey Stark Electronic keyboard instructor
JP2001125568A (ja) 1999-10-28 2001-05-11 Roland Corp 電子楽器
JP5194541B2 (ja) * 2007-04-24 2013-05-08 カシオ計算機株式会社 演奏ガイド装置、及びプログラム
US8237042B2 (en) * 2009-02-18 2012-08-07 Spoonjack, Llc Electronic musical instruments
US8362347B1 (en) * 2009-04-08 2013-01-29 Spoonjack, Llc System and methods for guiding user interactions with musical instruments
US20120266738A1 (en) * 2009-06-01 2012-10-25 Starplayit Pty Ltd Music game improvements
US7893337B2 (en) * 2009-06-10 2011-02-22 Evan Lenz System and method for learning music in a computer game
CN102592577A (zh) * 2010-12-20 2012-07-18 雅马哈株式会社 电子乐器
US20150364122A1 (en) * 2014-06-13 2015-12-17 Bin Ye Music Note Indicating Method And System For Electronic Piano, Mobile Terminal And Electronic Piano
CN106205281A (zh) * 2016-08-30 2016-12-07 广州音乐猫乐器科技有限公司 钢琴学习指导系统
JP7143576B2 (ja) * 2017-09-26 2022-09-29 カシオ計算機株式会社 電子楽器、電子楽器の制御方法及びそのプログラム
US11087636B2 (en) * 2018-04-20 2021-08-10 Xingxin Liu Lights-guided piano learning and teaching apparatus, and method

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3121253A1 (de) * 1980-06-11 1982-06-16 Nippon Gakki Seizo K.K., Hamamatsu, Shizuoka "automatische spieleinrichtung fuer ein elektronisches musikinstrument"

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5635191A (en) * 1979-08-31 1981-04-07 Nippon Musical Instruments Mfg Electronic musical instrument
JPS5638097A (en) * 1979-09-06 1981-04-13 Nippon Musical Instruments Mfg Electronic musical instrument
JPS587193A (ja) * 1981-07-06 1983-01-14 ヤマハ株式会社 電子楽器

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3121253A1 (de) * 1980-06-11 1982-06-16 Nippon Gakki Seizo K.K., Hamamatsu, Shizuoka "automatische spieleinrichtung fuer ein elektronisches musikinstrument"

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0220423A2 (de) * 1985-08-29 1987-05-06 Josef Schörkmayr Elektronisches Musikinstrument mit Tastatur
EP0220423A3 (en) * 1985-08-29 1988-03-02 Josef Schorkmayr Electronic keyboard musical instrument
EP0495203A2 (de) * 1991-01-15 1992-07-22 Wolfgang Ernst Elektronisches Lehr-,Begleit- und Übungsmusikgerät
EP0495203A3 (de) * 1991-01-15 1994-02-02 Wolfgang Ernst

Also Published As

Publication number Publication date
GB8413920D0 (en) 1984-07-04
GB2142461A (en) 1985-01-16
JPH0518116B2 (de) 1993-03-11
GB2142461B (en) 1986-09-24
US4651612A (en) 1987-03-24
DE3420742C2 (de) 1990-04-19
JPS59223492A (ja) 1984-12-15

Similar Documents

Publication Publication Date Title
DE3420742A1 (de) Elektronisches musikinstrument
DE3049294A1 (de) Automatisches rhythmusbegleitsystem
DE3033534C2 (de)
DE3014403C2 (de) Elektronisches Musikinstrument
EP0379491B1 (de) Tonhöhensteuerung
DE3436645C2 (de)
DE2107409C3 (de) Elektronisches Musikinstrument
DE3221447C2 (de)
DE3121253A1 (de) &#34;automatische spieleinrichtung fuer ein elektronisches musikinstrument&#34;
DE3103801C2 (de) Elektronisches Musikinstrument mit Tastenfeld
DE2056509A1 (de) Elektrisches Tastenmusikinstrument
DE2539950C3 (de) Bassakkordautomatik
DE3237403C2 (de)
DE3135155A1 (de) Elektronischer apparat mit einem mehrere tasten aufweisendem keyboard
DE2111505A1 (de) Vorrichtung zur automatischen Rhythmusklangerzeugung
DE2737704B2 (de) BaOakkordautomatik für ein elektronisches Musikinstrument
DE3605122C2 (de)
DE3114910C2 (de) Elektronisches Musikinstrument
DE2915678C2 (de) Elektronisches Musikinstrument
DE3151607C2 (de) Elektronisches Musikinstrument
DE1949313C3 (de) Elektronische Orgel
DE3509474C2 (de)
DE2228053C2 (de) Einrichtung zur automatischen Baßbegleitung in einem elektronischen Musikinstrument
DE3150799C2 (de) Elektronische Vorrichtung mit einer Tonerzeugungsfunktion
DE3346475A1 (de) Vorrichtung zur automatischen musikerzeugung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8128 New person/name/address of the agent

Representative=s name: KUHNEN, R., DIPL.-ING. WACKER, P., DIPL.-ING. DIPL

D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee