-
Die
vorliegende Erfindung bezieht sich auf eine Technik, die bewirkt,
dass ein Empfängerende einen
musikalischen Klang erzeugt und eine Melodie auf der Basis von Senden
und Empfangen von Musikinformationen spielt.
-
Derzeit
ist MIDI (Musical Instrument Digital Interface) weit verbreitet,
wobei die Erzeugung musikalischer Töne an Empfängerenden auf der Basis der empfangenen
Musikinformationen vielfach angewendet wird. Zu diesem Zweck enthält ein Musikton-Erzeugungsgerät, wie etwa
ein elektronisches Musikinstrument, eine Klangquelle und ein Synthesizer,
im allgemeinen eine Musikinformations-Sende-Empfangs-Vorrichtung (oder entweder
eine Musikinformations-Sendevorrichtung oder eine Musikinformations-Empfangsvorrichtung).
-
Die
oben genannten Musikinformationen enthalten unterschiedliche Arten
von Musikinformationen. Die meisten Musikinformationen, die tatsächlich zwischen
dem Sende- und dem Empfängerende übertragen
werden, sind Daten über
einen Vorfall, wie etwa "Note
ein und aus", wobei
die Datenmenge vergleichsweise gering ist, wie etwa 2 oder 3 Bytes. Bisweilen
können
große
Datenmengen, wie etwa musikalischen Wellenformdaten gesendet werden.
-
Die
Sendung von Daten, wie etwa Musikinformationen, nimmt sehr viel
Zeit in Anspruch. Die Sendezeit variiert in Abhängigkeit der Erzeugung eines
Fehlers und des Zustandes des Sendeweges. Daher besteht das Problem,
dass sich, wenn Wellenformdaten vom Senderende zum Empfängerende gesendet
und unmittelbar am Empfängerende
wiedergegeben werden, die Zeitabstimmung der Wiedergabe der Wellenform
(Musikklang-Erzeugungszeitabstimmung) in Abhängigkeit der erforderlichen Sendezeit
unerwünscht ändert.
-
Eine
Diskrepanz der Darbietung oder der Erzeugungszeitabstimmung zwischen Melodien
oder musikalischen Tönen
hat sehr oft einen derart großen musikalischen
Einfluss, dass sich ein Eindruck, den man von der Darbietung der
Melodie hat, in großem Maße ändert. Daher
wurden in der Vergangenheit Wellenformdaten zuerst und Befehle zum
Verarbeiten der Wellenformdaten je nach Bedarf gesendet, was der
Verwendung der Wellenformdaten starke Einschränkungen auferlegte. Daher wird
sehr stark nach der effektiven Nutzung der Wellenformdaten verlangt.
-
Die
Verbreitung von MIDI hat Art und Weise, in der ein Musikinstrument
gespielt wird, das Musikerzeugungsverfahren und den musikalischen
Stil geändert.
Es besteht seit langem ein fortwährender
Bedarf an der Erweiterung des Umfangs der Benutzung eines musikalischen
Klanggenerators sowie an der Verbesserung der Möglichkeiten, die den Benutzern zur
Verfügung
stehen.
-
US-A-5300725
beschreibt ein automatisches Abspielgerät für Audio- und Sequenzdaten zur
selben Zeit unter Verwendung einer Zeitabstimmungstabelle für die Wiedergabe
sowohl der Audio- als auch der Sequenzdaten als Ereignisse in einer
vorbestimmten Reihenfolge und gemäß einem vorbestimmten Zeitablauf.
-
Ein
Ziel der vorliegenden Erfindung besteht darin, einen Umfang der
Verwendung von Wellenformdaten, die gesendet und empfangen werden
sollen, zu erweitern, während
musikalische Schwierigkeiten, wie sie oben erwähnt wurden, vermieden werden,
und zudem einen Umfang des Verfahrens zur Verwendung eines musikalischen
Klangerzeugungsgerätes
durch den Sendeempfang von Musikinformationen zu erweitern.
-
Gemäß der vorliegenden
Erfindung werden eine Vorrichtung gemäß Anspruch 1 und ein Speichermedium
gemäß Anspruch
6 angegeben.
-
Es
kann eine Musikinformations-Sendevorrichtung angegeben werden, die
enthält:
eine
Ereignisdaten-Erfassungseinrichtung, die Ereignisdaten erfasst,
die die Inhalte einer Darbietung anzeigen, die durch einen Benutzer
bewirkt wird;
eine Ereignisdaten-Sendeeinrichtung, die Musikinformationen
sendet, die gewonnen werden, indem erste Zeitdaten, die einen Zeitpunkt
anzeigen und die eine empfangende Seite verarbeiten sollte, zu den
durch die Ereignisdaten-Erfassungseinrichtung
gewonnenen Ereignisdaten hinzugefügt werden;
eine Wellenformdaten-Erfassungseinrichtung,
die akustische Wellenformdaten erfasst;
eine Wellenformdaten-Sendeeinrichtung,
die die durch die Wellenformdaten-Erfassungseinrichtung erfassten
Musikinformationen zu der empfangenden Seite sendet; und
eine
Zeitdaten-Sendeeinrichtung, die als Musikinformationen zweite Zeitdaten,
die einen Zeitpunkt angeben, zu dem die empfangende Seite die durch
die Wellenformdaten-Sendeeinrichtung gesendeten Wellenformdaten
verarbeiten sollte, sendet.
-
Es
kann weiterhin eine Musikinformations-Empfangsvorrichtung angegeben
werden, die enthält:
eine
Empfangseinrichtung zum Empfangen von Musikinformationen;
einen
Musikdaten-Zwischenspeicher, der in Reaktion darauf, dass die Empfangseinrichtung
die Ereignisdaten und erste Zeitdaten als die Musikinformationen empfängt, die
empfangenen Ereignisdaten und die ersten Zeitdaten speichert;
einen
Wellenform-Zwischenspeicher, der Wellenformdaten speichert;
eine
Speicher-Steuereinrichtung, die in Reaktion darauf, dass die Empfangseinrichtung
die Wellenformdaten als die Musikinformationen empfängt, die
empfangenen Wellenformdaten in dem Wellenform-Zwischenspeicher speichert;
eine
Wellenform-Verarbeitungseinrichtung, die in Reaktion darauf, dass
die Empfangseinrichtung die zweiten Zeitdaten als die Musikinformationen
empfängt,
die in dem Wellenform-Zwischenspeicher gespeicherten Wellenformdaten
zu einem Zeitpunkt verarbeitet, der durch die zweiten Zeitdaten
angegeben wird;
ein Musikklang-Erzeugungszeit-Register, das
die empfangenen zweiten Zeitdaten als eine Musikklang-Erzeugungszeit
speichert;
eine Inkrementiereinrichtung, die die Musikklang-Erzeugungszeit,
die in dem Musikklang-Erzeugungszeit-Register gespeichert ist, zu
vorgegebenen Zeitpunkten inkrementiert; und
eine Ereignis-Verarbeitungseinrichtung,
die die in dem Musik-Zwischenspeicher gespeicherten Ereignisdaten
zu einem Zeitpunkt verarbeitet, der auf Basis der Musikklang-Erzeugungszeit,
die in dem Musikklang-Erzeugungszeit-Register gespeichert ist, und den ersten
Zeitdaten, die in dem Musikdaten-Zwischenspeicher gespeichert sind,
bestimmt wird.
-
Gemäß diesem
Aufbau ist das Empfängerende
in der Lage, beispielsweise eine große Menge von Wellenformdaten
oder dergleichen zu einem geeigneten Zeitpunkt unabhängig von
einem Sendeweg zu verarbeiten.
-
Es
kann zudem eine Musikinformations-Editiervorrichtung angegeben werden,
die enthält:
eine
Sendeanfrageeinrichtung, die eine Sendeanfrage zu mehreren externen
Vorrichtungen sendet;
eine Empfangseinrichtung, die in Abhängigkeit
der Sendeanfrage, die von der Sendeanfrageeinrichtung gesendet wird,
von den zahlreichen externen Vorrichtungen Musikinformationen empfängt, die
Ereignisdaten enthalten, die die Inhalte eines Ereignisses bei einer
Darbietung repräsentieren,
sowie Zeitdaten, die einen Zeitpunkt zum Verarbeiten der Ereignisdaten repräsentieren,
die den Ereignisdaten hinzugefügt sind;
eine
Musikinformations-Speichereinrichtung, die Musikinformationen speichert,
die von der Empfangseinrichtung empfangen werden; und
eine
Musikinformations-Editiereinrichtung, die die Musikinformationen,
die in der Musikinformations-Speichereinrichtung gespeichert sind,
gemäß einer
Verarbeitungssequenz neuordnet, die durch die Zeitdaten der Musikinformationen
festgelegt ist.
-
Gemäß diesem
Aufbau ist der Benutzer in der Lage, unterschiedliche Musikinformations-Datenfolgen
frei zu kombinieren, worauf eine Musik auf unterschiedliche Weise
genossen werden kann.
-
Weiterhin
kann eine Musikinformations-Sendevorrichtung angegeben werden, die
enthält:
eine
Musikinformations-Speichereinrichtung, die Musikinformationen spei chert,
die Ereignisdaten, die die Inhalte eines Ereignisses in einer Darbietung
repräsentieren,
und erste Zeitdaten enthalten, die einen Zeitpunkt zum Verarbeiten
der Ereignisdaten repräsentieren,
die den Ereignisdaten hinzugefügt
sind;
eine Musikinformations-Verarbeitungseinrichtung, die
ein Ereignis der Musikinformationen verarbeitet und wiedergibt,
die in der Musikinformations-Speichereinrichtung
gespeichert sind.
eine Ereignisdaten-Erfassungseinrichtung,
die Ereignisdaten erfasst, die die Inhalte einer Darbietung repräsentieren,
die von einem Benutzer in der Zeit ausgeführt werden, in der die Musikinformationen,
die in der Musikinformations-Speichereinrichtung
gespeichert sind, von der Musikinformations-Verarbeitungseinrichtung verarbeitet
werden;
eine Zeitdaten-Addiereinrichtung, die zweite Zeitdaten
erzeugt, die einen Zeitpunkt zum Verarbeiten der Ereignisdaten,
die von der Ereignisdaten-Erfassungseinrichtung
erfasst wurden, auf der Basis der ersten Zeitdaten der Musikinformationen
kennzeichnen, die in der Musikinformations-Speichereinrichtung gespeichert
sind, und zum Addieren der erzeugten zweiten Zeitdaten zu den Ereignisdaten,
die von der Ereignisdaten-Erfassungseinrichtung erfasst wurden;
eine
erste Sendeeinrichtung, die als Musikinformationen die Ereignisdaten
und die zweiten Zeitdaten, die zu den Ereignisdaten durch die Zeitdaten-Addiereinrichtung
addiert wurden, sendet; und
eine zweite Sendeeinrichtung, die
die Musikinformationen, die in der Musikinformations-Speichereinrichtung
gespeichert sind, zu einem Zeitpunkt auf der Basis der zweiten Zeitdaten
sendet, die zu den Ereignisdaten addiert wurden, die durch die erste
Sendeeinrichtung gesendet wurden.
-
Gemäß diesem
Aufbau ist der Benutzer in der Lage, ein Zusammenspiel mit einem
weiteren Darbieter an einem entfernten Ort durchzuführen.
-
Schließlich kann
zudem eine Musikinformations-Sende-Empfangs-Vorrichtung angegeben
werden, die enthält:
eine
Empfangseinrichtung, die Musikinformationen empfängt, die von zahlreichen externen
Vorrichtungen gesendet werden;
eine Musikinformations-Speichereinrichtung
mit mehreren Speicherbereichen entsprechend der zahlreichen externen
Vorrichtungen;
eine Speichersteuereinrichtung, die in Abhängigkeit des
Empfangs von Musikinformationen durch die Empfangseinrichtung die
empfangenen Musikinformationen ein einem entsprechenden Speicherebreich
der Musikinformations-Speichereinrichtung speichert;
eine
Musikinformations-Verarbeitungseinrichtung, die ein Ereignis der
Musikinformationen, die in der Musikinformations-Speichereinrichtung
gespeichert sind, verarbeitet und wiedergibt;
eine Ereignisdaten-Erfassungseinrichtung,
die Ereignisdaten, die den Inhalt einer Darbietung anzeigen, die
durch eine Benutzer bewirkt wird, zu einem Zeitpunkt erfasst, zu
dem die Musikinformationen, die in der Musikinformations-Speichereinrichtung
gespeichert sind, durch die Musikinformations-Verarbeitungseinrichtung verarbeitet
werden; und
eine Sendeeinrichtung, die die Ereignisdaten, die
von der Ereignisdaten-Ermittlungseinrichtung
ermittelt werden, zu den zahlreichen externen Vorrichtungen sendet.
-
Gemäß dieser
Anordnung ist der Benutzer in der Lage, ein Zusammenspiel mit einem
weiteren Darbieter an einem entfernten Ort durchzuführen.
-
Darüber hinaus
können
die oben erwähnten Anordnungen
durch entsprechende Programme ersetzt werden, die von einem Computer
ausgeführt werden.
-
1 zeigt
den Schaltungsaufbau einer Musikklang-Erzeugungsvorrichtung, die
eine Musikinformations-Sende-Empfangs-Vorrichtung gemäß einer ersten
Ausführungsform
der Erfindung enthält.
-
2 ist
ein Flussdiagramm eines Musikinformations-Sendevorgangs.
-
3 ist
ein Flussdiagramm eines Kennzeichen-1-Vorgangs.
-
4 ist
ein Flussdiagramm eines Kennzeichen-2-Vorgangs.
-
5 ist
eine Flussdiagramm eines Musikinformations-Empfangsvorgangs.
-
6 ist
ein Flussdiagramm eines Kennzeichen-6-Vorgangs.
-
7 ist
ein Flussdiagramm eines Kennzeichen-4-Vorgangs.
-
8 ist
ein Flussdiagramm eines Kennzeichen-8-Vorgangs.
-
9 ist
ein Flussdiagramm eines Kennzeichen-5-Vorgangs.
-
10 ist
ein Flussdiagramm eines Kennzeichen-9-Vorgangs.
-
11 ist
ein Flussdiagramm eines Kennzeichen-6-Vorgangs.
-
12 ist
ein Flussdiagramm eines Kennzeichen-7-Vorgangs.
-
13 stellt
ein Verfahren der Verwendung einer Musikklang-Erzeugungsvorrichtung dar, die eine
Musikinformations-Sende-Empfangs-Vorrichtung
als zweite Ausführungsform
der vorliegenden Erfindung enthält.
-
14 ist
ein Flussdiagramm eines Musikinformations-Sendevorgangs, der in
der zweiten Ausführungsform
ausgeführt
wird.
-
15 ist
ein Flussdiagramm eines Kennzeichen-1-Vorgangs in der zweiten Ausführungsform.
-
16 ist
ein Flussdiagramm eines Musikinformations-Empfangsvorgangs in der
zweiten Ausführungsform.
-
17 ist
ein Flussdiagramm eines Kennzeichen-2-Vorgangs in der zweiten Ausführungsform.
-
18 ist
ein Flussdiagramm eines Kennzeichen-3-Vorgangs in der zweiten Ausführungsform.
-
19 ist
ein Flussdiagramm eines Kennzeichen-4-Vorgangs in der zweiten Ausführungsform.
-
20 zeigt
ein Verfahren der Verwendung einer Musikklang-Erzeugungsvorrichtung, die eine Musikinformations-Sende-Empfangs-Vorrichtung
als eine dritte Ausführungsform
der vorliegenden Erfindung enthält.
-
21 ist
ein Flussdiagramm des Musikinformations-Sende-Empfangsvorgangs, der von einer Ausführungsvorrichtung
in der dritten Ausführungsform
ausgeführt
wird.
-
22 ist
ein Flussdiagramm eines Kennzeichen-1-Vorgangs in der dritten Ausführungsform.
-
23 ist
ein Flussdiagramm eines Musikinformations-Sende-Empfangs-Vorgangs, der von
einer Datenbankvorrichtung in der dritten Ausführungsform ausgeführt wird.
-
24 ist
ein Flussdiagramm eines Kennzeichen-2-Vorgangs in der dritten Ausführungsform.
-
25 ist
ein Flussdiagramm eines Musikinformations-Empfangsvorgangs, der von einer Empfangsvorrichtung
in der dritten Ausführungsform
ausgeführt
wird.
-
26 ist
ein Flussdiagramm eines Kennzeichen-3-Vorgangs in der dritten Ausführungsform.
-
27 zeigt
ein Verfahren der Verwendung einer Musikklang-Erzeugungsvorrichtung, die eine Musikinformations-Sende-Empfangs-Vorrichtung
als eine vierte Ausführungsform
der vorliegenden Erfindung enthält.
-
28 ist ein Flussdiagramm eines Musikinformations-Sende-Empfangs-Vorgangs in der vierten Ausführungsform.
-
29 ist ein Flussdiagramm eines Kennzeichen-1-Vorgangs
in der vierten Ausführungsform.
-
30 ist ein Flussdiagramm eines Kennzeichen-2-Vorgangs
in der vierten Ausführungsform.
-
31 ist ein Flussdiagramm eines Kennzeichen-3-Vorgangs
in der vierten Ausführungsform.
-
32 ist ein Flussdiagramm eines Kennzeichen-4-Vorgangs
in der vierten Ausführungsform.
-
33 ist ein Flussdiagramm eines Kennzeichen-5-Vorgangs
in der vierten Ausführungsform.
-
Ausführungsformen
der vorliegenden Erfindung werden im folgenden detailliert unter
Bezugnahme auf die beiliegenden Zeichnungen beschrieben.
-
Erste Ausführungsform
-
1 zeigt
einen Schaltungsaufbau einer Musikklang-Erzeugungsvorrichtung, die
eine Musikinformations-Sende-Empfangs-Vorrichtung enthält, als
eine erste Ausführungsform
der vorliegenden Erfindung.
-
Wein 1 gezeigt,
enthält
die Musikklang-Erzeugungsvorrichtung 100 eine CPU 101,
die die gesamte Vorrichtung 100 steuert, einen Zeitzähler 102,
der die Zeit zählt,
einen ROM 103, der Programme, Darbietungsdaten sowie unterschiedliche Steuerdaten
enthält,
einen RAM 104, der verwendet werden soll, um Daten bei
Betrieb der CPU 101 aufzuzeichnen, einen Cursorzeiger 105,
um die Position eines Cursors zu kennzeichnen, der auf einem Anzeigeschirm
einer Flüssigkristall anzeigeeinrichtung 106 angezeigt
wird, einen Empfänger 107,
der Musikinformationen empfängt,
die von einer externen Vorrichtung über einen vorbestimmten Sendeweg
gesendet werden, einen Sender 108, der Musikinformationen
zur externen Vorrichtung auf dem Sendeweg sendet, einen D/A-Wandler 109,
der digitale Wellenformdaten, die von der CPU 101 empfangen
werden, in analoge Daten umwandelt, einen Lautsprecher 110,
der einen Klang auf der Basis des analogen Wellenformsignals ausgibt,
das vom Wandler 109 ausgegeben wird, ein Mikrofon 111,
das Umgebungsklänge
aufnimmt und ein analoges Klangsignal ausgibt, einen A/D-Wandler 112,
der das analoge Klangsignal, das vom Mikrofon 111 ausgegeben
wird, in digitale Wellenformdaten umwandelt, einen MIDI-OUT-Anschluss 113,
der MIDI-Daten, die von der CPU 101 empfangen werden, an
eine Klangquelle 120 ausgibt, einen MIDI-IN-Anschluss 114,
der die MIDI-Daten empfängt,
die von einer Klaviatur 130 ausgegeben werden, sowie eine
Schaltergruppe 115 unterschiedlicher Schalter.
-
Der
oben erwähnte
Sendeweg umfasst beispielsweise ein LAN, WAN oder ein öffentliches
Netzwerk. Bei der Musikerzeugungsvorrichtung 100 der ersten
Ausführungsform,
sendet und empfängt
die Musikinformations-Sende-Empfangs-Vorrichtung MIDI-Daten zu bzw. von den
externen Vorrichtungen über
den MIDI-IN-Anschluss 114 bzw.
den MIDI-OUT-Anschluss 113, und sendet und empfängt zudem
Musikinformationen zu bzw. von Knoten (Vorrichtungen), die mit dem
Netzwerk durch den Empfänger 107 und
den Sender 108 verbunden sind.
-
Aus
Gründen
des besseren Verständnisses wird
davon ausgegangen, dass der Empfänger 107 und
der Sender 108 Daten von und zu anderen Vorrichtungen durch
das LAN senden bzw. empfangen. Gemäß dieser Annahme bestehen der
Sender 108 und der Empfänger 107 aus
einer einzelnen Vorrichtung, wobei diese Begriffe unverändert verwendet werden,
um die Unterscheidung zwischen der Sendung und dem Empfang von Daten
zu vereinfachen. Es gibt zahlreiche Verfahren zum Senden und Empfangen
von Daten über
das LAN. Aus Gründen
der Einfachheit wird hier davon ausgegangen, dass Daten über einen
Server (nicht gezeigt) empfangen und gesendet werden.
-
Die
externen Vorrichtungen, die mit dem MIDI-OUT-Anschluss 113 und
dem MIDI- IN-Anschluss 114 verbunden
sind, sollten nicht auf die Klangquellenvorrichtung 120 oder
die Klaviatur 130 beschränkt sein und können mit
einem automatischen Darbieter, elektronischen Musikinstrumenten
oder Vorrichtungen mit einem MIDI-Anschluss, wie etwa einem Controller,
frei verbunden sein.
-
Wenn
während
des Betriebs eine elektrische Stromquelle eingeschaltet wird, liest
die CPU 101 aus dem ROM 103 ein Programm aus und
führt dieses
aus, wodurch die Steuerung der gesamten Vorrichtung 100 begonnen
wird. Zu diesem Zeitpunkt kann beispielsweise der Zeitzähler 102 betätigt werden,
um den Zeitzählbetrieb
zu beginnen. Anschließend
wird der RAM 104 für
einen Arbeitsbereich verwendet, während die CPU 101 die
Steuerung auf der Basis von Informationen ausführt, die man von den entsprechenden
Eingangsvorrichtungen der Schaltergruppe 115, dem MIDI-IN-Anschluss 114 (Klaviatur 130),
dem A/D-Wandler 112 und dem Empfänger 107 erhält.
-
Wenngleich
es hier nicht detailliert dargestellt ist, enthält die Schaltergruppe 115 Schalter
(die im folgenden Typenwahlschalter genannt werden) zum Festlegen
eines Typs, der Klangqualität,
und der Bestimmungsvorrichtung für
die anzuzeigenden Informationen, wie etwa auf der Flüssigkristallanzeigeeinrichtung 106,
unterschiedliche Schalter 106 (die im folgenden als Allzweck-Schaltergruppe
bezeichnet werden) mit einer Vielzahl von Tastern zum Festlegen
einer Bestimmungsvorrichtung, der Klangqualität und der Melodie, die als
Musikstück
auf der Flüssigkristallanzeigevorrichtung 106 angezeigt
werden soll, sowie eine Erfassungsschaltung, die ihre entsprechenden
Betriebszustände
erfasst. Die Erfassungsvorrichtung tastet jene Schalter beispielsweise gemäß einem
Befehl von der CPU 101 ab und sendet ein Ergebnis der Abtastung
als Betriebsinformationen zur CPU 101.
-
Die
CPU 101 analysiert die Betriebsinformationen, die von der
Schaltergruppe 115 empfangen werden, und spezifiziert einen
Schalter, der von einem Benutzer betätigt wird, sowie dessen Betriebsinhalte.
Auf diese Weise erkennt die CPU 101 die Inhalte der Anweisungen
des Benutzers, führt
unterschiedliche Einstellungen gemäß einem Ergebnis der Erkennung
aus und steuert die gesamte Vorrichtung 100 gemäß diesen
Einstellungen. Wenn der Benutzer beispielsweise die Vor richtung
anweist, ein Musikstück
anzuzeigen, liest die CPU 101 dessen Bilddaten aus dem
ROM 103 und überträgt sie zum VRAM
(nicht gezeigt) der Flüssigkristallanzeigevorrichtung 106,
wodurch das Musikstück,
das durch den Benutzer gewählt
wurde, auf der Flüssigkristallanzeigevorrichtung 106 angezeigt
wird. Wenn andererseits der Benutzer einen geeigneten Taster der
Allzweck-Tastergruppe drückt,
nachdem eine Bestimmungsvorrichtung mit dem Typenschalter ausgewählt worden
ist, Stellt die CPU 101 eine Bestimmungsvorrichtung gemäß dem Drücken des
geeigneten Tasters ein. im allgemeinen beeinflusst das Neuschreiben
der Werte von Variablen, die für
die entsprechenden Typen vorbereitet sind, die unterschiedlichen
Einstellungen.
-
Die
Klaviaturvorrichtung 130 gibt die Inhalte der Betätigung durch
den Benutzer auf der Klaviatur und unterschiedliche Schaltungen
in Gestalt von MIDI-Daten aus. Wenn die CPU 101 MIDI-Daten
durch den MIDI-IN-Anschluss 114 empfängt, reicht die CPU 101 diese
an den MIDI-OUT-Anschluss 113 weiter, wodurch bewirkt wird,
das die Klangquelle 120 einen musikalischen Klang erzeugt.
Ist eine Bestimmungsvorrichtung festgelegt, zu der die Musikinformationen gesendet
werden, addiert die CPU 101 einen Identifikator, der die
Sendung der MIDI-Daten anzeigt, und Zeitdaten, die einen Zeitpunkt
zur Verarbeitung des Identifikators markieren, zu den MIDI-Daten,
die durch den MIDI-IN-Anschluss 114 empfangen werden, und
bewirkt, dass der Sender 108 die resultierenden Daten als
Musikinformationen sendet. Die Zeitdaten sind ein Wert einer Variablen
(Gegenwartszeit-Register), die beispielsweise in Übereinstimmung
mit einem Wert des Zeitgebers 102 aktualisiert werden.
-
Wenn
ein Mikrofon 111 mit einem Anschluss in einer Buchse (nicht
gezeigt) verbunden ist, tastete der A/D-Wandler 112 ein
Stimmsignal, das vom Mikrofon 11 ausgegeben wird, ab und
gibt digitale Wellenformdaten aus.
-
Die
CPU 101 übergibt
die Wellenformdaten, die vom A/D-Wandler 112 empfangen
werden, an den D/A-Wandler 109 aus. Auf dieses Weise gibt
der Lautsprecher 110 hörbar
Klänge,
die vom Mikrofon 111 eingefangen werden, in Echtzeit aus.
Ist eine Bestimmungsvorrichtung festgelegt, werden zwei Bereiche
zum Speichern der Wellenformdaten im RAM 104 gesichert.
Die Wellenformdaten werden alter nativ in den beiden Bereichen gespeichert
(PCM-Aufzeichnung), wobei die Wellenformdaten, die in einem der
Bereiche gespeichert sind, als Musikinformationen vom Sender 108 sequentiell
gesendet werden. Der Identifikator, der die Sendung der Wellenformdaten
kennzeichnet, wird zu den Wellenformdaten bei deren Sendung addiert.
-
Wie
es oben erwähnt
wurde, werden gemäß der vorliegenden
Erfindung die Wellenformdaten in Einheiten einer Kapazität der beiden
gesicherten Bereiche geteilt und gesendet, damit die Wellenformdaten
intermittierend derart gesendet werden können, dass andere Musikinformationen
(wie etwa MIDI-Daten) zwischen Perioden der Wellenformdaten gesendet
werden können – mit anderen
Worten, damit, selbst wenn ein Sendeweg in Verwendung ist, unterschiedliche
Arten von Musikinformationen parallel gesendet werden können.
-
Die
beiden Bereiche die für
die Speicherung (und die Sendung) der Wellenformdaten gesichert sind,
werden im folgenden aus Gründen
der Einfachheit als Wellenform-Zwischenspeicher A und B bezeichnet.
Wenn es nicht erforderlich ist, dass die beiden Bereiche nicht deutlich
voneinander unterschieden werden, werden sie im folgenden lediglich
als Wellenform-Zwischenspeicher bezeichnet. Bei der vorliegenden
Ausführungsform
beträgt
die Kapazität jedes
Wellenform-Zwischenspeichers
256 Bytes.
-
Jedesmal
wenn Wellenformdaten in Einheiten der Kapazität der Wellenform-Zwischenspeicher gesendet
werden, wird ein Befehl für
die Wiedergabe der Wellenformdaten (im folgenden Wiedergabebefehl
genannt) gesendet. Wenn das Empfangsende die Wellenformdaten nicht
normal empfangen kann, kann infolge dessen unerwünscht Rauschen erzeugt werden.
Unter diesen Umständen
sendet der Sender 108 zum Empfangsende den Befehl zusammen
mit zusätzlichen
Daten, mit Hilfe derer das Empfangsende ermitteln kann, ob die Datenmenge,
die soweit gesendet wurde, normal empfangen wurde oder nicht, und
weiterhin zusammen mit Zeitdaten, die einen Zeitpunkt zum Beginnen
der Wiedergabe der Wellenformdaten markieren. Jene Daten bilden
Musikinformationen. Die Zeitdaten sind ein Wert einer Variablen (im
Aufzeichnungszeit-Register), die beispielsweise auf der Basis des
Wertes des Zeitzählers 102 aktualisiert
wird.
-
Durch
Festlegen der Zeitgabedaten für
die Wiedergabe der Wellenformdaten, die zum Wiedergabebefehl für die Bestimmungsvorrichtung
addiert werden, wie es oben beschrieben wurde, kann das Empfangsende
mögliche
Schwankungen den Sendezeiten für
die entsprechenden Wellenformen absorbieren. Selbst wenn ein Sendeweg
in Verwendung ist, auf dem die erforderliche Sendezeit schwankt,
kann somit das Empfangsende die Wellenformdaten in einer geeigneten
Zeitfolge wiedergeben. Daher werden musikalische Schwierigkeiten
infolge des Sendeweges, der Situation und dergleichen vermieden
und können
die Wellenformdaten in geeigneter Weise für eine Darbietung verwendet
werden. Somit vergrößerst sich
der Einsatzbereich der Wellenformdaten.
-
Bei
Empfang der Wellenformdaten kann das Empfangsende unterschiedliche
Klänge
ohne Einschränkung
erzeugen. Auf diese Weise vergrößert sich
die Bandbreite musikalischer Ausdruckmöglichkeiten, was zur Erschaffung
eines neuen Musikstils beiträgt.
-
Nun
wird die Datenstruktur der Musikinformationen erläutert, die
in der oben beschriebenen Art und Weise gesendet werden. Aus Gründen der
Einfachheit wird vorausgesetzt, dass es fünf unterschiedliche Arten von
Musikinformationen gibt; d.h. MIDI-Daten, Wellenformdaten, Wiedergabebefehle, Bild-
(oder Bitmap-) Daten eines Musikstückes und Zeigedaten, die eine
Darbietungsposition im Musikstück
kennzeichnen.
-
Die
MIDI-Daten enthalten in diesem Fall beispielsweise keine exklusive
Nachricht. Diese MIDI-Daten haben eine variable Länge von
1 bis 3 Bytes. Um jedoch die Verarbeitung zu vereinfachen, wird
angenommen, dass die MIDI-Daten eine unveränderliche Länge von 4 Bytes bei der vorliegenden Ausführungsform
haben. Es wird davon ausgegangen, dass die Zeitdaten, die zu den
MIDI-Daten addiert werden sollen, 4 Bytes haben, die beispielsweise
eine Zeit mit einer Einheit von Millisekunden darstellen. Wenn MIDI-Daten
als Musikinformationen gesendet werden, ist die gesamte Datenmenge
8 Bytes.
-
Wenn
Daten, die die MIDI-Daten ausschließen, als Musikinformationen
gesendet werden, werden Zwei-Byte-Daten zum Speichern eines Identifikators
(entsprechend einem Befehl, der an die Bestimmungsvorrichtung ausgegeben
wird), die die Art der Musikinformationen kennzeichnen, anstelle
der MIDI-Daten und der Zeitdaten zugewiesen. Wenn die Inhalte der
Identifikatoren in Form von (ein erstes Bytes, ein zweites Bytes)
ausgedrückt
werden, steht (0,0) für
die Welleformdaten; (1,0) für
den Wiedergabebefehl; (2,0) für
die Bilddaten und (3,0) für
die Zeigedaten. Die Datenstruktur der Musikinformationen mit diesen
Identifikatoren sieht stellt sich wie folgt dar.
-
Zunächst wird
in den Wellenformdaten, denen der Identifikator (0,0) zugeordnet
ist, der Identifikator von der Gesamtzahl von Bytes der Wellenformdaten,
einer Reihennummer der Wellenformdaten und den Wellenformdaten in
dieser Reihenfolge begleitet. Die Einheiten der Daten (die beispielsweise Bytezahl
des Identifikators und die Wellenformdaten kennzeichnen), die Musikinformationen
bilden, werden hier jeweils als Wort bezeichnet.
-
Im
Wiedergabebefehl, dem der Identifikator (1,0) zugeordnet ist, kennzeichnet
der Identifikator an sich den Wiedergabebefehl. Der Identifikator,
der sich zudem als Befehl verhält,
wird von der Gesamtbytezahl der Wellenformdaten und einem Wiedergabezeitpunkt
begleitet. Das zweite Wort wird für einen Empfänger verwendet,
um zu ermitteln, ob die zweiten Daten wie auch die Wellenformdaten
normal empfangen wurden.
-
In
den Bilddaten, denen der Identifikator (2,0) zugeordnet ist, sind
die Bilddaten dem Identifikator angefügt und keine Zeitdaten angefügt. Der
Grund dafür
ist, dass davon ausgegangen wird, dass ein Musikstück als Bilddaten
gesendet wird und das Musikstück
vor dem Beginn der Darbietung gesendet werden muss.
-
In
den Zeigedaten, denen der Identifikator (3,0) zugeordnet ist, wird
der Identifikator von x-Koordinaten-Daten zum Festlegen einer Position
auf der x-Achse und von y-Koordinaten-Daten zum Festlegen einer
Position auf der y-Achse begleitet. Es sind ebenfalls keine Zeitdaten
angefügt.
Der Grund dafür ist,
dass die Präzision
einer Zeit für
das Umschalten der Anzeigevorrichtung der Bilddaten im Vergleich zur
Erzeugung eines musikalischen Klangs gering ist.
-
Die
CPU 101 bewirkt, dass der Sender 108 die Musikinformationen
in der oben beschriebenen Form sendet. Derartige Musikinformationen
werden vom Empfänger 107 empfangen,
wenn die Musikklang-Erzeugungsvorrichtung 100 als Bestimmungsvorrichtung
für die
Musikinformationen durch einen weiteren Knoten festgelegt wurde.
-
Tatsächlich werden
die Musikinformationen zusammen mit einem Header gesendet, der Steuerdaten
enthält,
die sich auf eine Sendung beziehen, wie etwa die Sendequelle und
eine Bestimmungsvorrichtung. Die gesendeten Musikinformationen befinden
sich im Server. Die Bestimmungsvorrichtung für die Musikinformationen ruft
vom Server ab, ob es für den
Empfänger
Empfangsdaten gibt oder nicht. Wird festgestellt, dass es neue Empfangsdaten
gibt, erhält infolge
dessen der Empfänger
die Daten vom Server durch Herunterladen. Wie es oben erwähnt wurde, werden
die Musikinformationen durch den Server übertragen.
-
Wenn
der Empfänger 107 die
Musikinformationen empfängt,
setzt der Empfänger 107 die
CPU 101 über
diese Tatsache in Kenntnis und sendet anschließend die empfangenen Musikinformationen
zur CPU 101.
-
Bei
Empfang der Musikinformationen vom Empfänger 107 ermittelt
die CPU 101 die Art der Musikinformationen aus einem Wert
der Zwei-Byte-Daten, die sich in deren Datenkopf befinden. Anschließend verarbeitet
die CPU 101 die Musikinformationen auf der Basis der Ergebnisse
der Ermittlung.
-
Darüber hinaus
ist im Fall von MIDI-Daten der Wert ihrer ersten Bytedaten gleich
oder größer FOH
(H ist durch eine Hexadezimalnotierung dargestellt), wobei der Identifikator
Daten aus Zwei-Byte-Daten besteht. Wie daraus ersichtlich wird,
kann die Art der Musikinformationen aus dem Wert des Datenkopfes
der Zwei-Byte-Daten
ermittelt werden.
-
Wenn
die Musikinformationen als MIDI-Daten sichergestellt worden sind,
sendet die CPU 101 die MIDI-Daten zur Klangquellenvorrichtung 120 durch
den MIDI-OUT-Anschluss
zu einem Zeitpunkt, der durch die Zeitdaten festgelegt ist, die
den MIDI-Daten angefügt
sind.
-
Wie
bei der Sendung der Wellenformdaten, werden zwei Bereiche für die Speicherung
der empfangenen Wellenformdaten im RAM 104 gesichert. Sind
die Musikinformationen als Wellenformdaten bestätigt, speichert die CPU 101 die
Wellenformdaten alternierend in den beiden Bereichen immer dann,
wenn die Wellenformdaten empfangen werden. Andererseits berechnet
die CPU 101 die Bytegesamtzahl der bis dahin empfangenen
Wellenformdaten und setzt das Ergebnis der Berechnung in eine Variable
HSSR ein. Die beiden Bereiche werden im folgenden als Empfangswellenform-Zwischenspeicher
A bzw. B bezeichnet. Sofern sie nicht voneinander unterschieden
werden müssen,
werden sie lediglich als Empfangswellenform-Zwischenspeicher bezeichnet.
Bei der vorliegenden Ausführungsform
ist die Kapazität
des Empfangswellenform-Zwischenspeichers auf 256 Bytes gleich jener
des Sendewellenform-Zwischenspeichers eingestellt.
-
Wenn
die Musikinformationen als Wiedergabebefehl bestätigt wurden, ermittelt die
CPU 101, ob der Wert eines zweiten Wortes aus dem Datenkopf der
Musikinformationen mit dem Wert der Variablen HSSR übereinstimmt
oder nicht. Sofern die bis dahin gesendeten Daten normal empfangen
wurden, stimmen diese Werte überein.
In diesem Fall beginnt die Wiedergabe der Wellenformdaten, die im
Empfangswellenform-Zwischenspeicher gespeichert sind, wenn ein Zeitpunkt
erreicht ist, der durch die Zeitdaten der Musikinformationen festgelegt
ist. Stimmen beide Werte nicht überein,
stoppt die CPU 101 die Wiedergabe der Wellenformdaten,
da ein Fehler beim Empfang der Wellenformdaten enthalten ist, um dadurch
die Wiedergabe eines Klangs zu verhindern, der die Darbietung beeinträchtigen
kann. Die CPU 101 verhält
sich so, dass die CPU 101 Einfach-Abtastungs-Wellenformdaten nacheinander
aus dem Empfangswellenform-Zwischenspeicher
in Abtastperioden ausliest und sie nacheinander zum D/A-Wandler 109 sendet,
der die Wiedergabe der Wellenformdaten ausführt.
-
Sofern
die Musikinformationen als Bilddaten bestätigt sind, speichert die CPU 101 die
Bilddaten, gefolgt vom Identifikator, der diese Tatsache kennzeichnet,
im VRAM (nicht gezeigt), der sich in der Flüssigkristallanzeigevorrichtung 106 befindet.
Die CPU 101 stellt im Cursorzeiger einen Ausgangswert ein,
der kennzeichnet, dass die Bilddaten von ihrem Datenkopf aus angezeigt
werden sollen, und zeigt somit den Datenkopf des gesendeten Musikstückes als
Bilddaten auf dem Bild der Flüssigkristallanzeigevorrichtung 106 an.
-
Wenngleich
es hier nicht ausführlich
beschrieben ist, sind mehrere derartiger Bilddaten im ROM 103 gespeichert,
wobei eine Einheit der Bilddaten vom Benutzer mit der Schaltergruppe 115 gewählt wird.
Somit sendet die CPU 101 die Bilddaten, die vom Benutzer
gewählt
wurden, als Musikinformationen.
-
Der
Cursorzeiger 105 legt eine Anzeigeposition des Cursors
(nicht dargestellt) im xy-Koordinatensystem fest. Ein Register,
das einen Wert speichert, der eine Position auf der x-Koordinatenachse kennzeichnet,
wird im folgenden Cursor-x-Register genannt,
und ein Register, das einen Wert speichert, der eine Position auf
der y-Koordinatenachse kennzeichnet, wird im folgenden als y-Register
bezeichnet. Die CPU 101 aktualisiert die Werte gemäß dem Fortschritt
der Darbietung, wie etwa auf der Basis der Inhalte eines Musikstückes (Abspieldaten),
die auf der Anzeigevorrichtung 106 angezeigt werden, der Zeit,
die vom Zeitzähler 102 gezählt wird
und eines eingestellten Tempowertes. Somit bewegt die CPU 101 die
Position des Cursors auf dem Musikstück gemäß dem Fortschritt der Darbietung
und aktualisiert die angezeigten Inhalte des Musikstücks (z.B.
durch Scrollen). Natürlich
können
die Register jeweils veränderbar
sein.
-
Bei
Empfang der Bilddaten und anschließend der Zeigedaten als Musikinformationen
speichert die CPU 101 die zweiten und dritten Daten der Musikinformationen
in den Cursor-x- bzw. y-Registern, immer dann, wenn Musikinformationen
empfangen werden, die als Zeigedaten bestimmt sind. Somit bewegt
die CPU 101 die Position des Cursors, der auf dem Bild
der Flüssigkristallanzeigevorrichtung 106 angezeigt
wird, in eine Position, die durch die empfangenen Zeigedaten festgelegt
ist.
-
Unter
Bezugnahme auf 2 bis 12 wird
nun der Betrieb der CPU 101 mit der Steuerung, wie sie
oben erläutert
wurde, detaillierter beschrieben. Da sich die vorliegende Erfindung
auf den Sendeempfang von Musikinformationen bezieht, werden die
Sendung und der Empfang der Musikinformationen hier hauptsächlich aus
Gründen
des besseren Verständnisses
beschrieben.
-
2 ist
ein Flussdiagramm eines Musikinformations-Sendevorgangs, der das
Extrahieren eines Flusses des Verarbeitens der Musikinformationen
bei deren Sendung beinhaltet. Aus Gründen der Einfachheit wird davon
ausgegangen, die Wellenformdaten, Bilddaten (Musikstück) und
Zeigedaten als Musikinformationen zu senden. Zu Beginn wird der
Betrieb der CPU 101 einschließlich der Sendung der Musikinformationen
im Detail unter Bezugnahme auf 2 bis 4 beschrieben.
-
Die
Musikinformations-Sendevorgang, der in 2 dargestellt
ist (einschließlich
der Subroutinen-Vorgänge,
wie sie in 3 und 4 zu sehen sind),
wird realisiert, sobald der Benutzer eine Bestimmungsvorrichtung
durch Betätigen
der Schaltergruppe 115 festgelegt hat, und somit führt die
CPU 101 ein entsprechendes Programm aus, das im ROM 103 gespeichert
ist.
-
Zunächst setzt
in Schritt 201 die CPU 101 zudem Nullen in Variable
FX und FY ein. In Schritt 201 setzt die CPU 101 darüber hinaus
Nullen in die Variablen x und y ein, worauf ihre Steuerung zu Schritt 203 fortschreitet.
-
Die
Variablen FX und FY werden für
die CPU 101 verwendet, um die Anzeigeposition des Cursors zu
handhaben. Die Variablen x und x weiden zum Aktualisieren der Variablen
FX und FY benutzt.
-
In
Schritt 203 sendet die CPU 101 eine Konstante
(2,0) aus zwei Bytes, wobei 2 ein Wert eines ersten Bytes und 0
ein Wert eines zweiten Bytes ist. Dies trifft in ähnlicher
Weise im folgenden zu. Die Konstante (2,0) ist ein Identifikator,
der die Sendung der Bilddaten (Bitmapdaten des Musikstückes bei dieser
Ausführungsform)
als Musikinformation kennzeichnet.
-
In
Schritt 204, der Schritt 203 folgt, liest die CPU 101 die
Bilddaten, die vom Benutzer mit der Schaltergruppe 115 gewählt wurden,
aus dem ROM 103 aus, reicht sie an den Sender 108 weiter
und bewirkt, dass der Sender 108 diese sendet. Im nächsten Schritt 205 ermittelt
die CPU 101, ob die Sendung der Bilddaten abgeschlossen
ist oder nicht. Ist die Sendung nicht abgeschlossen, ist das Ergebnis NEIN,
worauf die CPU 101 mit ihrer Steuerung zu Schritt 204 zurückkehrt,
bei dem die CPU 101 bewirkt, dass der Sender 108 mit
seiner Sendung fortfährt.
Sofern die Sendung abgeschlossen ist, ist das Ergebnis JA, worauf
die CPU 101 mit ihrer Steuerung zu Schritt 206 fortschreitet.
-
Wie
oben beschrieben wurde, führt
die CPU 101 in den Schritten 201 bis 205 die
Anfangseinstellung der Anzeigeposition des Cursors und die Sendung
der Bilddaten aus. Bei der vorliegende Ausführungsform überträgt die CPU 101 in
Schritt 204 die erforderlichen Bilddaten zum VRAM der Flüssigkristallanzeigevorrichtung 106,
wodurch das Musikstück auf
deren Anzeigeschirm angezeigt wird, da davon ausgegangen wird, dass
der Sender 108 als Musikinformationen die Inhalte der Darbietung
des Benutzers sendet, die durch Sehen des Musikstückes ausgeführt wird.
-
In
Schritt 206 setzt die CPU 101 Null in eine Variable
SC, die die Zahl der Sendung dividierter Wellenformdaten zählt. Im
nächsten
Schritt 207 setzt die CPU 101 Null in eine Variable
BC ein, die die Bytegesamtzahl der gesendeten Wellenformdaten festhält. Anschließend schreitet
die CPU 101 mit ihrer Steuerung zu Schritt 208 fort,
in dem die CPU 101 einen Wert A oder B, der den Sendewellenform-Zwischenspeicher
A oder B kennzeichnet, in eine Variable RHBF einsetzt, die den Bereich
verwaltet, der die Wellenformdaten speichert. Anschließend schreitet die
CPU 101 mit ihrer Steuerung zu Schritt 209 fort.
-
In
Schritt 209 werden Stimmdaten in den A/D-Wandler 112 eingegeben,
der die entsprechenden Wellenformdaten ausgibt. Im folgenden Schritt 210 speichert
die CPU 101 die Welfenformdaten im Sendeweilenform-Zwischenspeicher,
der durch die Variable RHBF zugewiesen ist. Dann fährt die
CPU 101 mit der Steuerung zu Schritt 211 fort.
Der A/D-Wandler 112 konvertiert ein analoges Klangsignal,
das vom Mikrofon 11 ausgegeben wird, in ein Digitalsignal
und gibt dieses aus. Daher werden die Wellenformdaten im folgenden
als Klangdaten bezeichnet.
-
In
Schritt 211 führt
die CPU 101 einen Kennzeichen-1-Vorgang zum Senden der
Musikinformationen in Übereinstimmung
mit einer Zustandsänderung
aus. Anschließend
ermittelt die CPU 101 in Schritt 212, ob die Vervollständigung
der Sendung der Musikinformationen festgelegt ist oder nicht. Hat der
Benutzer die Vervollständigung
der Sendung der Musikinformationen durch Betätigung eines vorbestimmten
Schalters der Schaltergruppe 115 festgelegt, ist das Ergebnis
JA, wodurch die CPU 101 den Vorgang beendet. Andernfalls
ist in Schritt 212 das Ergebnis NEIN, und die CPU 102 kehrt
mit der Steuerung zu Schritt 211 zurück. Somit wiederholt die CPU 101 den
Kennzeichen-1-Vorgang in Schritt 211 so lange, bis der
Benutzer die Vervollständigung
der Sendung festgelegt hat.
-
Die
oben erwähnten
Schritte 201 bis 210 werden als Ausgangseinstellvorgang
zum Starten der Sendung der Musikinformationen und eines Vorgangs
ausgeführt,
der dem Ausgangseinstellvorgang folgt. Zustandsänderungen, wie etwa dem Empfang von
MIDI-Daten und dem Verlust eines leeren Bereiches des Sendewellenform-Zwischenspeichers,
der Klangdaten speichert, werden durch Ausführung des Kennzeichen-1-Vorgangs
in Schritt 211 begegnet.
-
3 ist
ein Flussdiagramm des Kennzeichen-1-Vorgangs aus Schritt 211.
Unter Bezugnahme auf 3 wird im folgenden der Subroutinenvorgang
beschrieben, der beim Senden der Musikinformationen ausgeführt werden
muss.
-
Wie
es oben erwähnt
wurde, ist eine Einheit der Zeitdaten, die eine Zeitgabe kennzeichnen,
Millisekunden. Der Zeitzähler 102 zählt die
Zeit in Zeiteinheiten, die kleiner sind als eine Millisekunde. Demzufolge
ist gemäß der vorliegenden
Ausführungsform eine
Variable zum festhaften der Gegenwartszeit vorbereitet, wobei ein
Wert der Variablen in Übereinstimmung
mit dem Vergehen einer Zeit aktualisiert wird, die vom Zeitzähler 102 gezählt wird.
Die Variable wird im folgenden als Gegenwartszeit-Register bezeichnet.
-
Zunächst ermittelt
in Schritt 301 die CPU 101, ob eine Millisekunde
seit der Aktualisierung des Wertes des Registers vergangen ist oder
nicht, um den Wert des Gegenwartszeit-Registers immer dann zu aktualisieren,
wenn eine Millisekunde vergangen ist. Wenn der voreingestellte Wert
des Zeitzählers 102 um
einen Wert, der wenigstens eine Millisekunde entspricht, größer ist
als der letzte aktualisierte Wert des Gegenwartszeit-Registers,
ist das Ergebnis JA. Anschließend
schreitet die CPU 101 mit ihrer Steuerung zu Schritt 302,
um den Wert des Registers zu erhöhen,
und anschließend
zu Schritt 303 fort. Andernfalls ist das Ergebnis in Schritt
NEIN, und die CPU 101 fährt
mit der Steuerung zu Schritt 303 fort.
-
in
Schritt 303 ermittelt die CPU 101, ob der MIDI-IN-Anschluss 114 die
MIDI-Daten empfangen hat oder nicht. Hat der Benutzer die Klaviatur 130 bedient,
gibt die Klaviatur 130 MIDI-Daten aus. Daher ist das Ergebnis
JA, worauf die CPU 101 mit ihrer Steuerung zu Schritt 304 fortfährt. Betätigt der
Benutzer die Klaviatur 130 nicht, ist das Ergebnis NEIN
und die CPU schreitet mit der Steuerung zu Schritt 306 fort.
-
In
Schritt 304 leitet die CPU 101 die MIDI-Daten,
die vom MIDI-IN-Eingang 114 empfangen wurden, zum Sender 108 weiter,
um zu bewirken, dass der Sender 108 diese Sendet. Anschließend führt in Schritt 305 die
CPU 101 den Wert des Gegenwartszeit-Registers dem Sender 108 zu,
um zu bewirken, dass der Sender 108 diesen als Zeitdaten
sendet. Anschließend
schreitet die CPU 101 mit der Steuerung zu Schritt 306 fort.
Tatsächlich
werden die MIDI-Daten und die Zeitdaten vom Sender 108 als
ein Paket gesendet.
-
In
Schritt 306 liest die CPU 101 die Werte der Cursor-X-
und Y-Register aus dem Cursorzeiger 105 aus und setzt diese
in die Variablen X bzw. Y ein. Anschließend ermittelt die CPU 101 in
Schritt 101, ob der Wert der Variablen FX gleich dem Wert
der Variablen X ist oder nicht und ob der Wert der Variablen FY
gleich dem Wert der Variablen Y ist oder nicht. Wenn sich die Anzeigeposition
des Cursors, die durch den Cursorzeiger 105 angezeigt wird,
aus ihrer vorherigen Position ändert,
unterscheidet sich der Wert der Variablen FX vom Wert der Variablen
X oder der Wert der Variablen FY vom Wert der Variablen Y. Daher
ist das Ergebnis NEIN und die CPU 101 schreitet mit der
Steuerung zu Schritt 308 fort. Andernfalls schreitet die
CPU 101 in Schritt 307 mit der Steuerung zu Schritt 311 fort.
-
Eine Änderung
der Anzeigeposition des Cursors bedeutet die Notwendigkeit der Änderung
der Anzeigeposition des Cursors auf der Empfangsseite. Somit führt in Schritt 308 die
CPU 101 einen Vorgang des Sendens der Zeigedaten als Musikinformationen aus.
-
Zunächst setzt
die CPU 101 in Schritt 101 den Wert der Variablen
X und Y in die Variablen FX bzw. XY ein, wodurch die Werte der Variablen
FX und FY aktualisiert werden. Im folgenden Schritt 309 bewirkt
die CPU 101, dass der Sender 108 eine Konstante
(3,0) sendet, die die Sendung der Zeigedaten als Musikinformationen
kennzeichnet. Nach der Sendung fährt
die CPU 101 mit der Steuerung zu Schritt 310 fort,
in dem die CPU 101 den Sender 108 veranlasst,
die Werte der Variablen X und Y zu senden. Anschließend fährt die
CPU 101 mit der Steuerung zu Schritt 311 fort.
Der Sender sendet den Identifikator und die Variablen als ein Paket.
-
In
Schritt 311 und den nachfolgenden Schritten speichert die
CPU 101 die Klangdaten im Sendewellenform-Zwischenspeicher
in einem anderen, wählt
den anderen Sendewellenform-Zwischenspeicher und sendet die Klangdaten,
die im Sendewellenform-Zwischenspeicher gespeichert sind.
-
Zunächst ermittelt
die CPU 101 in Schritt 311, ob die Aufzeichnung
des Sendewellenform-Zwischenspeichers in Kapazitätseinheiten abgeschlossen ist
oder nicht. Ist ein Freiraum im Sendewellenform-Zwischenspeicher,
der durch den Wert der Variablen RHBF festgelegt ist, verloren,
ist das Ergebnis JA und die CPU 101 schreitet mit der Steuerung
zu Schritt 312 fort. Andernfalls ist das Ergebnis in Schritt 311 NEIN
und die CPU 101 schreitet mit ihrer Steuerung zu Schritt 316 fort.
-
In
Schritt 312 ersetzt die Steuerung 101 den Wert
des Gegenwartszeit-Registers in das Aufzeichnungszeit-Register ein.
Im folgenden Schritt 313 setzt die CPU 101 den
Wert der Variablen RHBF in die Variable SHBF ein, die den Sendewellenform-Zwischenspeicher
verwaltet, in dem die Klangdaten gespeichert sind, die gesendet
werden sollen. Anschließend
fährt die
CPU 101 mit ihrer Steuerung zu Schritt 314 fort.
-
In
Schritt 314 kehrt die CPU 101 den Wert der Variablen
RHBF um. Genauer gesagt wird, wenn der Wert von RHBF A gewesen ist,
dieser mit B neugeschrieben und umgekehrt. Ist das Neuschreiben abgeschlossen,
fährt die
CPU 101 mit der Steuerung zu Schritt 315 fort,
in dem die CPU 101 einen Kennzieichen-2-Vorgang zum Senden
der Musikinformationen einschließlich der Klangdaten ausführt.
-
Anschließend schreitet
die CPU 101 mit der Steuerung zu Schritt 316 fort,
in dem die CPU 101 ermittelt, ob der Zeitpunkt zum Eingeben
des Klangdaten gekommen ist, oder nicht. Die CPU 101 erhält die Klangdaten,
die vom A/D-Wandler 112 ausgegeben werden in vorbestimmten
Abtastperioden. Wenn eine Zeit entsprechend einer Abtastperiode
seit dem letzten Erhalt der Ausgabe aus dem A/D-Wandler 112 vergangen
ist, ist somit das Ergebnis JA und die CPU 101 fährt mit
ihrer Steuerung zu Schritt 317 fort. Andernfalls ist das
Ergebnis in Schritt 316 NEIN, wodurch die CPU 101 den
Vorgang beendet.
-
Wie
es oben beschrieben wurde, wird bei der vorliegenden Ausführungsform
jedesmal, wenn die Aufzeichnung der Klangdaten mit einer Kapazitätseinheit
des Sendewellenform-Zwischenspeichers abgeschlossen ist, der Sendewellenform-Zwischenspeicher,
der die Klangdaten speichert, zum anderen umgeschaltet, um mit der
Aufzeichnung der Klangdaten (Speicherung) fortzufahren. Die Klangdaten,
die bis dahin im nicht umgeschalteten Sendewellenform-Zwischenspeicher
gespeichert wurden, werden gesendet, wenn der Kennzeichen-2-Vorgang
ausgeführt
wird, der im folgenden beschrieben wird. Somit wird vermieden, dass
der Wellenform-Zwischenspeicher, der die Klangdaten speichert, derselbe
Wellenform-Zwischenspeicher ist, der die Klangdaten sendet.
-
4 ist
ein Flussdiagramm eines Kennzeichen-2-Vorgangs, der in Schritt 315 ausgeführt werden
soll. Unter Bezugnahme auf 4 wird als nächstes der
Kennzeichen-2-Vorgang detailliert beschrieben. Das Gegenwartszeit-Register
und das Aufzeichnungszeit-Register werden als Argumente vom Kennzeichen1-Vorgang
zum Kennzeichen-2-Vorgang überführt.
-
In 401 ermittelt die CPU 101 ob
eine Millisekunde vergangen ist, seit der Wert des Gegenwartszeit-Register
aktualisiert wurde, oder nicht, um den Wert des Gegenwartszeit-Registers
jede Millisekunde zu aktualisieren. Ist der vorliegende Wert des Zeitzählers 102 um
einen Wert entsprechend wenigstens einer Millisekunde größer als,
der vorhergehende aktualisierte Wert des Gegenwartszeit-Registers, wird das
Ergebnis zu JA, worauf die CPU 101 mit ihrer Steuerung
zu Schritt 402, in dem sie den Wert des Gegenwartszeitregisters
erhöht,
und anschließend zu
Schritt 403 fortschreitet. Andernfalls schreitet die CPU 101 in
Schritt 401 mit der Steuerung zu Schritt 406 fort.
-
In
Schritt 403 bestimmt die CPU 101, ob der MIDI-IN-Eingang 114 MIDI-Daten
empfangen hat. Sofern der Benutzer die Klaviatur 130 betätigt, gibt die
Klaviatur MIDI-Daten aus. Somit wird das Ergebnis JA, worauf die
CPU 101 mit der Steuerung zu Schritt 404 fortfährt. Andernfalls
ist das Ergebnis in Schritt 403 NEIN, worauf die CPU 101 mit
der Steuerung zu Schritt 406 übergeht.
-
In
Schritt 404 führt
die CPU 101 die Midi-Daten, die vom MIDI-IN-Anschluss 114 empfangen
wurden, dem Sender 108 zu, der diese dann sendet. Im folgenden
Schritt 405 führt
die CPU 101 den Wert des Gegenwartszeit-Registers dem Sender 108 zu, der
diesen dann als Zeitdaten sendet. Dann geht die CPU 101 mit
ihrer Steuerung zu Schritt 406 über. Wie es oben erwähnt wurde,
werden die Midi-Daten
und die Zeitdaten zusammen als ein Paket gesendet.
-
In
den Schritten 406 bis 411 führt die CPU 101 Vorgänge zum
Senden der Klangdaten (Wellenformdaten) als Musikinformation aus.
-
Zunächst bewirkt
die CPU 101 in Schritt 406, dass der Sender 108 eine
Konstante (0,0), die die Sendung von Klangdaten kennzeichnet, als
Klanginformationen sendet. In ähnlicher
Weise bewirkt die CPU 101, dass der Sender 108 "256", was die Bytezahl
ist, die die Kapazität
des Wellenform-Zwischenspeichers kennzeichnet, als Bytezahl der
Klangdaten und anschließend
den Wert einer Variablen SC als Reihennummer (Schritt 407 und 408)
sendet. Anschließend
erhöht
die CPU 101 den Wert der Variablen SC in Schritt 409,
worauf die CPU 101 mit der Steuerung zu Schritt 410 fortfährt.
-
In
Schritt 410 führt
die CPU 101 die Wellenformdaten, die im Wellenform-Zwischenspeicher
gespeichert sind, der durch den Wert der Variablen SHBF festgelegt
ist, dem Sender 108 zu, der diese anschließend sendet.
Daraufhin fährt
die CPU 101 mit ihrer Steuerung zu Schritt 411 fort,
in dem die CPU 101 den Wert der Variablen BC aktualisiert.
Da in diesem Fall 256 Bytes Akustikdaten gesendet werden,
wird ein Wert, den man durch Addieren von 256 Bytes der gesendeten
Klangdaten zum letzten Wert der Variablen BC erhält, erneut in die Variable
BC eingesetzt. Die Klangdaten werden tatsächlich als ein Paket, beginnend
mit der Konstanten (0,0), als Identifikator gesendet.
-
Anschließend wartet
die CPU 101 in Schritt 412 auf den Verstärker 108,
dass dieser die Sendung der Klangdaten vervollständigt, die in Schritt 410 zugeführt wurden.
Daraufhin geht die CPU 101 mit der Steuerung zu Schritt 413 über.
-
Die
Sendung sämtlicher
Klangdaten bedeutet die Vervollständigung der Sendung der Musikinformationen.
Somit führt
die CPU 101 in Schritt 413 und den nachfolgenden
Schritten einen Vorgang des Sendens eines Befehls zu Wiedergabe
der gesendeten Klangdaten als Musikinformation aus.
-
Zunächst bewirkt
in Schritt 413 die CPU 101, dass der Sender 108 eine
Konstante (1,0), die die Sendung eines Widergabebefehls kennzeichnet,
als Musikinformation sendet. Anschließend veranlasst die CPU 101 den
Sender 101, den Wert der Variablen BC als Gesamtbytezahl
der Klangdaten und anschließend
den Wert des Aufzeichnungszeit-Registers als Zeitdaten (Schritte 414 und 415)
zu senden. Daraufhin beendet die CPU 101 den Vorgang. Die Zeitdaten
werden als ein Paket beginnend mit der Konstanten (1,0) gesendet,
die zudem den Wiedergabebefehl kennzeichnet.
-
Somit
werden bei der vorliegenden Ausführungsform
die Bilddaten (Bitmapdaten eines Musikstücks) vor der Sendung von Musikinformationen
für eine
tatsächliche
Darbietung gesendet, die Midi-Daten immer beim Empfang von Musikdaten,
die Zeigedaten je nach Anfrage, die Klangdaten immer dann, wenn
ein Leerraum im Wellenform-Zwischenspeicher verloren ist, und der
Wiedergabefehl immer dann gesendet, wenn die Klangdaten gesendet
werden.
-
Wenngleich
bei der vorliegenden Ausführungsform
die Klangdaten aus Gründen
der Einfachheit derart dargestellt sind, dass sie getrennt vom Wiedergabebefehl
gesendet werden, kann darüber hinaus
der Wiedergabebefehl nicht gesendet werden. Die Klangdaten können zusammen
mit den Zeitdaten und unterschiedlichen anderen Daten gesendet werden,
die bestimmen, ob die Klang- und Zeitdaten wiedergegeben werden
sollen oder nicht.
-
Unter
Bezugnahme auf 5 wird der Betrieb der CPU 101 bei
Empfang der Musikinformationen detailliert beschrieben. 5 ist
ein Flussdiagramm eines Musikinformations-Empfangsvorgangs.
-
Es
ist für
den Benutzer unmöglich,
im voraus zu wissen, wann Daten für den Benutzer empfangen werden.
Wenn der Empfänger 107 mit
einem Netzwerk (in diesem Fall ein LAN) verbunden ist, wird demzufolge
der Musikinformations-Empfangsvorgang
ausgeführt,
wenn die CPU 101 ein Programm ausführt, das im ROM 103 gespeichert
ist, nachdem die Stromquelle eingeschaltet wurde.
-
Die
Musikinformationen, die in der oben beschriebenen Weise gesendet
werden, befinden sich im Server und können demzufolge durch Herunterladen
vom Server empfangen werden. Der Benutzer kann erfahren, ob es gesendete
Daten für
den Benutzer gibt, indem er den Server diesbezüglich abfragt.
-
Zunächst führt die
CPU 101 in Schritt 501 einen Initialisierungsvorgang
aus, der das Einsetzen von Ausgangswerten in unterschiedliche Variable
in Vorbereitung des Beginns eines Empfangs der Musikinformationen
beinhaltet. Das Einsetzen der Ausgangswerte in die Variablen umfasst
das Einsetzen von Nullen in die Variable JBC zum Festhalten der Bytezahl
der empfangenen Klangdaten, in die Variable JSC zur Verwaltung der
Reihennummer der Klangdaten und in die Variable HSSR zur Verwaltung
der Bytegesamtzahl der empfangenen Klangdaten; das Sichern eines
Empfangswellenform-Zwischenspeichers zum Speichern der empfangenen
Klangdaten; und das Einsetzen eines Zeichens "A",
der den Empfangswellenform-Zwischenspeicher A kennzeichnet, in die
Variable JHBF zum Verwalten eines Bereiches, der die empfangenen
Klangdaten speichert. Somit ist die Initialisierung abgeschlossen,
und die CPU 101 schreitet mit ihrer Steuerung zum nächsten Schritt 502 fort.
-
In
Schritt 502 führt
die CPU 101 einen Kennzeichen-3-Vorgang aus, der das Ermitteln
der Inhalte der Musikinformationen, die vom Empfänger empfangen werden, und
das Ausführen
eines entsprechenden Vorgangs beinhaltet. Im nächsten Schritt 503 ermittelt
die CPU 101, ob der Empfänger 107 vom Server
getrennt ist. Trennt der Benutzer den Empfänger vom Server, ist das Ergebnis
JA, wobei der Empfang der Musikinformationen als abgeschlossen angesehen
wird, worauf die CPU 101 den Vorgang beendet. Andernfalls
ist in Schritt 503 das Ergebnis NEIN, worauf die CPU 101 mit
ihrer Steuerung zu Schritt 502 zurückkehrt und dadurch den Kennzeichen-3-Vorgang
ausführt.
Somit wiederholt die CPU 101 den Kennzeichen-3-Vorgang
in Schritt 502, bis der Empfang der Musikinformationen
abgeschlossen ist.
-
6 ist
ein Flussdiagramm des Kennzeichen-3-Vorgangs, der in Schritt 502 ausgeführt und im
folgenden detaillierter beschrieben wird. Die Sendequelle sendet
Musikinformationen zusammen mit Zeitdaten, die in Abhängigkeit
der Art der Musikinformationen hinzugefügt werden. Die Zeitdaten stehen für eine Zeit,
die von der Sendequelle in Einheiten einer Millisekunde gezählt wird.
Somit wird bei der vorliegenden Ausführungsform eine Variable, die
zum Verarbeiten der Musikinformationen vorbereitet ist, verwendet,
um eine Zeit zu zählen,
diese gezählte Zeit
mit der Zeit verglichen, die durch die empfangenen Zeitdaten dargestellt
wird, und werden die Musikinformationen mit einer Zeitgabe verarbeitet,
die durch das Vergleichsergebnis festgelegt ist. Aus Gründen der
Einfachheit wird die Variable im folgenden als Musikklangerzeugungszeit-Register
bezeichnet.
-
Zunächst ermittelt
die CPU 101 in Schritt 601 unter Verwendung des
Zeitgebers 102, ob eine Millisekunde vergangen ist, seit
der Wert des Musikklangerzeugungszeit-Registers zuletzt aktualisiert wurde,
oder nicht. Wenn die vorliegende Zeit des Zeitgebers 102 um
einen Wert entsprechend wenigstens einer Millisekunde größer ist
als der zuletzt aktualisierte Wert des Registers, ist das Ergebnis
JA, worauf die CPU 101 den Wert des Registers in Schritt 602 erhöht und mit
der Steuerung zu Schritt 602 fortschreitet. Andernfalls
ist die Entscheidung in Schritt 601 NEIN, worauf die CPU 101 mit
der Steuerung zu Schritt 603 übergeht.
-
Bei
der vorliegenden Ausführungsform
ist ein Bereich zum Speichern der MIDI-Daten, die als Musikinformationen empfangen
werden (im folgenden Musikdaten-Zwischenspeicher
genannt), im RAM 104 vorgesehen. Die MIDI-Daten werden
zusammen mit ihren empfangenen Zeitdaten im Zwischenspeicher immer
dann gespeichert, wenn MIDI-Daten empfangen werden, wobei die MIDI-Daten
zu ei nem Zeitpunkt verarbeitet werden, der durch die Zeitdaten festgelegt
ist. In Schritt 603 ermittelt die CPU 101, ob es
unverarbeitete MIDI-Daten gibt, die im Musikdaten-Zwischenspeicher
gespeichert sind, und welche Verarbeitungszeit gekommen ist. Wenn
MIDI-Daten, bei denen die Zeit, die durch die hinzugefügten Zeitdaten
gekennzeichnet ist, früher
ist als die Zeit, die durch den Wert des Musikklangerzeugungszeit-Register
gekennzeichnet ist, im Musikdaten-Zwischenspeicher gespeichert sind, ist
das Ergebnis JA. Somit verarbeitet die CPU 101 die MIDI-Daten
in Schritt 604 und schreitet mit der Steuerung zu Schritt 605 fort. Andernfalls
ist das Ergebnis in Schritt 603 NEIN, worauf die CPU 101 mit
der Steuerung zu Schritt 605 übergeht. Das Verarbeiten der
MIDI-Daten wird durch die CPU 101 derart ausgeführt, dass
die CPU 101 die MIDI-Daten aus dem Musikdaten-Zwischenspeicher
des RAM 104 ausliest und sie zur Klangquellenvorrichtung 120 durch
den MIDI-OUT-Anschluss 113 sendet.
-
In
Schritt 605 fragt der Benutzer den Server durch den Empfänger 107 ab,
ob gesendete Daten für
den Benutzer vorhanden sind. Ist dies der Fall, empfängt der
Benutzer die Daten durch herunterladen. Die CPU 101 ruft
einen Datenkopf einer Zwei-Worteinheit aus den Daten ab. Die Zwei-Worteinheit
enthält
eine Einheit von MIDI-Daten und Zeitdaten, sofern die Musikinformationen
MIDI-Daten sind, und einen Identifikator von Zwei-Byte-Daten, wenn
es andere Musikinformationen als MIDI-Daten sind. Der Schritt 606 sowie
nachfolgende Schritte werden in Abhängigkeit der Art der Musikinformationen
ausgeführt,
die durch die Daten festgelegt sind.
-
Zunächst ermittelt
die CPU 101 in Schritt 606, ob der Wert, der durch
die Daten dargestellt ist (0,0) ist oder nicht. Wenn der Empfänger 107 die Klangdaten
als Musikinformationen empfangen hat (vom Server heruntergeladen
hat), ist das Ergebnis JA. Somit führt die CPU 101 in
Schritt 607 einen Kennzeichen-4-Vorgang aus, der das Empfangen der
Klangdaten beinhaltet, und beendet anschließend den Vorgang. Andernfalls,
d.h. wenn der Empfänger
andere Musikinformationen als Klangdaten empfangen hat, ist das
Ergebnis NEIN, worauf die CPU 101 mit der Steuerung zu
Schritt 806 fortfährt.
-
In
Schritt 608 ermittelt die CPU 101, ob der Wert,
der durch die Zwei-Wort-Daten dargestellt ist, (1,0) ist oder nicht.
Hat der Empfänger 107 einen Wiedergabebefehl
als Musikinformationen empfangen, ist das Ergebnis JA und die CPU 101 führt in Schritt 609 einen
Kennzeichen-5-Vorgang aus, der den Empfang des Wiedergabebefehls
beinhaltet, und beendet anschließend den Vorgang. Wurden andere Klangdaten
und Musikinformationen als der Wiedergabebefehl empfangen, ist das
Ergebnis NEIN, worauf die CPU 1012 mit der Steuerung zu
Schritt 610 fortfährt.
-
In
Schritt 610 ermittelt die CPU 101, ob der Wert,
der durch die Zwei-Wort-Daten dargestellt wird, (2,0) ist oder nicht.
Werden Bilddaten als Musikinformationen vom Empfänger 107 empfangen,
ist das Ergebnis JA, worauf die CPU 101 in Schritt 611 einen Vorgang
ausführt,
der den Empfang der Bilddaten beinhaltet, und anschließend den
Vorgang beendet. Andernfalls, d.h. wenn andere Klangdaten, Wiedergabebefehle
und Musikinformationen empfangen werden, als die Bilddaten, ist
das Ergebnis in Schritt 610 NEIN, worauf die CPU 101 mit
der Steuerung zu Schritt 612 fortfährt.
-
In
Schritt 612 ermittelt die CPU 101, ob der Wert,
der durch die Zwei-Wort-Daten dargestellt wird, (3,0) ist oder nicht.
Wenn die empfangenen Zeigedaten als Musikinformationen vom Empfänger 107 empfangen
werden, ist das Ergebnis JA, worauf die CPU 101 in Schritt 613 einen
Kennzeichen-7-Vorgang ausführt,
der den Empfang des Wiedergabebefehls beinhaltet, und anschließend den
Vorgang beendet. Andernfalls, d.h. wenn MIDI-Daten als Musikinformationen
empfangen werden, ist das Ergebnis NEIN, und die CPU 101 geht
mit ihrer Steuerung zu Schritt 614 über.
-
In
Schritt 614 speichert die CPU 101 die MIDI-Daten,
die als Musikinformationen empfangen wurden, zusammen mit den Zeitdaten
im Musikdaten-Zwischenspeicher im RAM 104. Anschließend beendet
die CPU 101 den Vorgang.
-
Wie
es oben beschrieben wurde verarbeitet die CPU 101 beim
Kennzeichen-3-Vorgang
die Musikinformationen und führt
einen Vorgang aus, der den Empfang der Musikinformationen beinhaltet, während sie
prüft,
ob der Zeitpunkt erreicht ist, der durch die Zeitdaten festgelegt
ist. Verschiedene Subroutinen, die beim Kenn zeichen-3-Vorgang ausgeführt werden
sollen, werden im folgenden beschrieben.
-
7 ist
ein Flussdiagramm des Kennzeichen-4-Vorgangs, der in Schritt 607 ausgeführt werden
soll. Der Kennzeichen-4-Vorgang wird im Detail unter Bezugnahme
auf 7 erläutert.
Der Kennzeichen-4-Vorgang umfasst den Empfang von Musikinformationen,
die einen Identifikator zum Kennzeichnen der Klangdaten, die Bytezahl
der Klangdaten, die Reihennummer und Klangdaten in dieser Reihenfolge
enthalten.
-
Zunächst ruft
die CPU 101 in Schritt 701 die Zahl der Bytes,
die am dichtesten an einer Konstante angeordnet sind, die der Identifikator
ist, von den Daten ab, die vom Empfänger 107 empfangen
wurden, und setzt sie in die Variable JBC in Schritt 702 ein. Anschließend ruft
die CPU 101 in Schritt 703 die Reihennummer aus
den empfangenen Daten ab und fährt
mit der Steuerung zu Schritt 704 fort, wo sie ermittelt,
ob die empfangene Reihennummer gleich dem Wert der Variablen JSC
ist, die zum Zählen
der Zahl der Empfänge
der Klangdaten vorbereitet wurde. Wenn sämtliche Klangdaten, die von
der Sendequelle gesendet wurden, normal empfangen sind, stimmen
beide Werte überein.
Somit ist das Ergebnis JA, und die CPU 101 setzt ihre Steuerung
mit Schritt 705 fort. Ist das Ergebnis andernfalls in Schritt 704 NEIN,
geht die CPU 101 mit der Steuerung zu Schritt 709 über.
-
In
Schritt 705 ruft die CPU 101 256 Byte Klangdaten,
die als nächstes
zur Reihennummer angeordnet sind, aus den empfangenen Daten ab.
In Schritt 706 speichert die CPU 101 die Klangdaten
im Empfangswellenform-Zwischenspeicher, der durch den Wert der Variablen
JHBF festgelegt ist. Anschließend
erhöht
die CPU 101 den Wert der Variablen JSC in Schritt 707,
aktualisiert den Wert der Variablen HSSR in Schritt 708 und
beendet anschließend
den Vorgang.
-
Das
Ergebnis NEIN in Schritt 704 bedeutet, dass es Klangdaten
gibt, die aus den Klangdaten, die von der Klangquelle gesendet werden,
nicht normal empfangen werden, d.h. ein Fehler beim Empfang der
Klangdaten aufgetreten ist. Daher führt die CPU 101 einen
Kennzeichen-8-Vorgang in Schritt 709 aus, um diesem Fehler
zu begegnen. Anschließend beendet
die CPU 101 diesen Vorgang.
-
8 ist
ein Flussdiagramm des Kennzeichen-8-Vorgangs, der oben erwähnt wurde.
-
Wenn
ein Fehler beim Empfang der Klangdaten aufgetreten ist, besteht
eine Wahrscheinlichkeit, das ein abnormaler Klang infolge dieses
Fehlers erzeugt wird. Daher führt
die CPU 101 beim Kennzeichen-8-Vorgang einen Vorgang zum
Verwerfen der empfangenen Klangdaten in Schritt 801 aus.
Anschließend
beendet die CPU 101 den Vorgang.
-
9 ist
ein Flussdiagramm des Kennzeichen-5-Vorgangs, der als Schritt 609 des
Musikinformations-Empfangsvorgangs ausgeführt werden soll. Der Kennzeichen-5-Vorgang
wird im Detail unter Bezugnahme auf 9 beschrieben.
-
Der
Kennzeichen-5-Vorgang umfasst den Empfang des Wiedergabebefehls.
Die Sendequelle sendet einen Identifikator, der einen Musiklang-Wiedergabebefehl
kennzeichnet, eine Bytegesamtzahl der Klangdaten, die bislang gesendet
wurden, sowie Zeitdaten als Musikinformationen in dieser Reihenfolge.
Die Gesamtbytezahl der Musikinformationen ist durch den Wert der
Variablen BC dargestellt.
-
Zunächst ruft
die CPU 101 in Schritt 901 die Gesamtbytezahl
der Musikinformationen, die als nächstes zu einer Konstanten
angeordnet sind, die den Identifikator kennzeichnet, aus den Daten
ab, die vom Empfänger 107 empfangen
wurden. In Schritt 902 ermittelt die CPU 101,
ob die Gesamtzahl der Bytes gleich dem Wert der Variablen HSSR ist,
oder nicht. Wenn der Wert der Variablen BC in der Sendequelle, die
bei der Sendung des Widergabebefehls vorhanden ist, mit dem Wert
der Variablen HSSR übereinstimmt,
ist das Ergebnis JA, worauf die CPU 101 mit der Steuerung
zu Schritt 903 fortschreitet. Ist das Ergebnis in Schritt 902 andernfalls
NEIN, schreitet die CPU 101 mit der Steuerung zu Schritt 907 fort.
-
In
Schritt 903 ruft die CPU 101 die Zeitdaten, die
als nächstes
zur Gesamtzahl der Bytes angeordnet sind, aus den empfangenen Daten
ab und setzt sie in das Musikklangerzeugungszeit-Register ein. Anschließend fährt die
CPU 101 mit der Steuerung zu Schritt 904 fort.
-
Die
Klangdaten, die vor dem Wiedergabebefehl gesendet werden, sind Daten,
die den Klang kennzeichnen, der vom Mikrofon 111 aufgenommen wird,
und werden zur CPU 101 vom A/D-Wandler 112 je
nach Erfordernis gesendet. Somit werden die Klangdaten im allgemeinen
zu Musikinformationen der Art, die zunächst vom Verstärker 107 empfangen wird.
Die Klangdaten haben eine größere Bytezahl
im Vergleich zu den anderen Daten. Daher wird davon ausgegangen,
dass die Sendezeit stark schwankt. Somit werden bei der vorliegenden
Ausführungsform die
Zeitdaten, die zum Wiedergabefehl addiert sind, in das Musikklangerzeugungszeit-Register
eingesetzt. Auf diese Weise wird die Darbietung der Musikinformationen
ausgeführt,
die am Empfangsende empfangen werden, wobei die Wiedergabe der Wellenformdaten
als Referenzzeitpunkt verwendet wird. Durch Einsetzen der Zeitdaten,
die dem Wiedergabebefehl hinzugefügt sind, in das Musikklangerzeugungszeit-Register,
wird der Zeitpunkt zur Verarbeitung der MIDI-Daten lediglich durch
Vergleichen der Zeitdaten, die den MIDI-Daten hinzugefügt sind,
mit dem Wert des Musikklangerzeugungszeit-Register festgelegt, wie
es bei Schritt 603 des Kennzeichen-3-Vorgangs von 6 erwähnt wurde.
-
In
Schritt 904 wird der Wert der Variablen JHBF, die einen
Empfangswellenform-Zwischenspeicher
kennzeichnet, in dem die letzten empfangenen Klangdaten gespeichert
sind, in eine Variable OHBF eingesetzt, die den Empfangswellenform-Zwischenspeicher
verwaltet, in dem die wiederzugebenden Klangdaten gespeichert sind.
In Schritt 905 kehrt die CPU 101 den Wert der
Variablen JHBF um. Ist der Wert der Variablen JHBF bislang beispielsweise
A, wird er mit B neugeschrieben, und umgekehrt. Anschließend schreitet
die CPU 101 mit der Steuerung zu Schritt 906 fort
und beginnt die Wiedergabe der Klangdaten, die im Empfangswellenform-Zwischenspeicher
gespeichert sind, der durch den Wert der Variablen OHBF festgelegt
ist. Anschließend
beendet die CPU 101 den Vorgang.
-
Wenngleich
es nicht detailliert dargestellt ist, gibt die CPU 101 die
Klangdaten wieder, indem sie nacheinander die Klangdaten, die im
Empfangswellenform-Zwischenspeicher
gespeichert sind, in Einheiten einer Abtastung beim Abtastzyklus
ausliest und sie nacheinander dem D/A-Wandler 109 zuführt.
-
Wie
es oben erwähnt
wurde bedeutet das Ergebnis NEIN in Schritt 902, dass die Wahrscheinlichkeit
besteht, dass ein Fehler beim Empfang der Klangdaten aufgetreten
ist. Somit führt
die CPU 101 einen Kennzeichen-9-Vorgang, der diesem Fehler begegnet,
in Schritt 907 aus, um die Wiedergabe der Klangdaten zu
stoppen. Anschließend
beendet die CPU 101 den Vorgang.
-
10 ist
ein Flussdiagramm des Kennzeichen-9-Vorgangs. Bei diesem Vorgang
ruft, wie in 10 gezeigt, die CPU Zeitdaten,
die in den Empfangsdaten enthalten sind, in Schritt 1001 ab
und löscht
anschließend
die Werte der Variablen JBC und HSSR auf 0 (Schritt 1002 und 1003).
Anschließend beendet
die CPU 101 den Vorgang. Durch Löschen des Wertes der Variablen
HSSR ist anschließend
das Ergebnis in Schritt 902 immer NEIN. Somit wird die Wiedergabe
der Klangdaten, die normal empfangen wurden, beendet und nicht länger ausgeführt. Auf diese
Weise wird die Erzeugung eines abnormalen Klangs infolge des Auftretens
eines Fehlers vermieden.
-
11 ist
ein Flussdiagramm eines Kennzeichen-6-Vorgangs, der als Schritt 611 beim
Kennzeichen-3-Vorgang in 6 ausgeführt werden soll. Beim Kennzeichen-6-Vorgang,
der den Empfang der Bilddaten beinhaltet (hier angenommen als die Bitmapdaten
des Musikstücks),
ruft die CPU 101 Bilddaten, die als nächstes zum Identifikator (2,0)
angeordnet sind, aus den empfangenen Daten ab und überträgt sie anschließend in
Schritt 1101 zum VRAM, der in der Flüssigkristallanzeigevorrichtung 106 vorgesehen
ist. Somit zeigt die CPU 101 ein Musikstück auf der
Flüssigkristallanzeigevorrichtung 106 an
und beendet den Vorgang.
-
12 ist
ein Flussdiagramm eines Kennzeichen-7-Vorgangs, der als Schritt 613 bei
Kennzeichen-3-Vorgang von 6 ausgeführt werden
soll. Dieser Kennzeichen-7-Vorgang beinhaltet den Empfang der Zeigedaten
(die die Anzeigeposition des Cursors festlegen, der eine Darbietungsposition
im Musikstück
kennzeichnet). Bei diesem Vorgang ruft die CPU 101 X-Koordinatendaten,
die als nächstes zum
Identifikator (3,0) angeordnet sind, aus den Empfangsdaten ab, speichert
die X-Koordinate im Cursor-X-Register des Cursorzeigers (Schritte 1201, 1202),
ruft in ähnlicher
Weise Y-Koordinatendaten aus den Empfangsdaten ab und speichert
sie im Cursor-Y-Register (Schritte 1203, 1204).
Auf diese Weise ändert
die CPU 101 die Anzeigeposition des Cursors und beendet
anschließend
den Vorgang.
-
Bei
der ersten Ausführungsform
wird davon ausgegangen, dass fünf
Arten von Ereignisdaten, d.h. MIDI-Daten, Klangdaten, Wiedergabebefehle, Bilddaten
und Zeigedaten, gesendet und empfangen werden. Natürlich sollten
die Inhalte der zu sendenden Musikinformationen nicht auf diese
Daten beschränkt
sein. Es können
mehr oder weniger als fünf sein,
wobei weiterhin der Typ der Sendung der Musikinformationen je nach
Erfordernis geändert
werden kann.
-
Wenngleich
bei der vorliegenden Ausführungsform
die Klangdaten derart dargestellt sind, dass sie unverändert in
der Sendebetriebsart gesendet werden, muss dies nicht notwendigerweise
in dieser Art erfolgen. Die Klangdaten können beispielsweise in ihrer
ursprünglichen
Form oder in einem komprimierten Zustand lediglich dann gesendet
werden, wenn das Mikrofon 111 Klänge mit einem Lautstärkepegel
aufnimmt, der höher
ist als ein eingestellter Lautstärkepegel.
Wenn das Senderende nur Daten sendet, deren Wiedergabe sich am Empfangsende
lohnt, oder die Menge der Klangdaten verringert, die gesendet werden
soll, kann das Senderende eine entsprechende Menge von Musikinformationen
anderer Arten senden. Wenn ein Fehler beim Empfang der Klangdaten
aufgetreten ist, kann der musikalische Klang überblendet. werden, damit der
Fehler nicht wahrgenommen wird, ohne den musikalischen Klang unverzüglich auszublenden.
-
Obwohl
bei der ersten Ausführungsform
das Senden und Empfangen der Musikinformationen dargestellt sind,
kann nur entweder das Senden oder das Empfangen der Musikinformationen
ausgeführt werden.
In diesem Fall ist es vorzuziehen, dass die Möglichkeit besteht, optional
die Art der Musikinformationen zu wählen die gesendet/empfangen
werden sollen.
-
Zweite Ausführungsform
-
Seit
kurzem haben Sequenzer, die für
eine automatische Darbietung (einschließlich einer automatischen Begleitung)
bestimmt sind, sowie andere unterschiedliche Geräte eine automatische Darbietungsfunktion.
Der Benutzer kann ein Zusammenspiel durch Verwendung dieser Funktion
ausführen.
-
Die
Verarbeitung der Darbietungsdaten (Sequenzdaten) beeinflußt somit
die automatische Darbietung. Die Darbietungsdaten bestehen aus mehreren
Paaren von Ereignisdaten, die die Inhalte eines Ereignisses bei
der Darbietung kennzeichnen (z.B. MIDI-Daten), und Zeitdaten, die
einen Zeitpunkt zum Verarbeiten der Ereignisdaten kennzeichnen,
wobei jedes Paar eine zu verarbeitende Einheit darstellt, die in
der Reihenfolge der Verarbeitung angeordnet sind. Auf diese Weise
ist es möglich,
die Darbietung eines Teils zu verhindern, der aus den Darbietungsdaten gewählt ist,
jedoch unmöglich,
einen externen zusätzlichen
Teil zu den ursprünglichen
Darbietungsdaten hinzuzufügen
und anschließend
die resultierenden Darbietungsdaten darzubieten. Unter diesen Umständen ermöglicht die
zweite Ausführungsform, dass
die Inhalte von Musikdaten, die automatisch dargeboten werden können, den
Darbietungsdaten hinzugefügt
werden.
-
Zu
diesem Zweck enthält
die zweite Ausführungsform
eine Kombination aus der Musikinformations-Editiervorrichtung, die
die Funktion des Hinzufügens
der Inhalte der automatischen Darbietung hat, und der MusikinformationsEmpfangsvorrichtung
der ersten Ausführungsform.
Die zweite Ausführungsform
hat im wesentlichen denselben Aufbau wie die erste Ausführungsform
(1). Daher wird die zweite Ausführungsform im folgenden unter
Verwendung der Bezugszeichen der ersten Ausführungsform, die unter Bezugnahme
auf 1 verwendet wurden, beschrieben.
-
13 zeigt
ein Verfahren der Verwendung einer Musikklang-Erzeugungsvorrichtung, die die Musikinformations-Sende-Empfangs-Vorrichtung
der zweiten Ausführungsform
enthält.
Das Verfahren wird als nächstes
zusammen mit dem Betrieb der Musikklang-Erzeugungsvorrichtung unter
Bezugnahme auf 13 beschrieben.
-
In 13 haben
die Musikklang-Erzeugungsvorrichtungen 1301 bis 1304 jeweils
den Aufbau von 1. 13 zeigt
mit Pfeilen, dass die jede der Musikklang-Erzeugungsvorrichtungen 1302 bis 1304 Musikinformationen
zu einer Musikklang-Erzeugungsvorrichtung 1301 sendet.
-
Jede
der Musikklang-Erzeugungsvorrichtungen 1302 bis 1304 sendet
Darbietungsdaten, die mit der Schaltergruppe 115 gewählt werden,
zu einer Bestimmungsvorrichtung, die durch die Schaltergruppe 115 festgelegt
ist. Zu diesem Zweck liest die CPU 101 die gewählten Darbietungsdaten
aus dem ROM 103 und führt
sie dem Sender 108 zu.
-
Die
Darbietungsdaten, die von jenen Vorrichtungen 1302 bis 1304 gesendet
werden, werden von der Musikklang-Erzeugungsvorrichtung 1301 empfangen.
Die CPU 101 der Vorrichtung 1301 speichert die
Darbietungsdaten, die vom Empfänger 107 empfangen
werden, in einem Bereich von dessen RAM 104 (aus Gründen der
Einfachheit wird dieser im folgenden Musikdaten-Zwischenspeicher
genannt). Bei der vorliegenden Ausführungsform wird der Empfang der
Darbietungsdaten durch jede der Vorrichtungen 1302 bis 1304 im
Quittungsbetrieb ausgeführt.
-
Wenn
der Empfang der Darbietungsdaten von jeder der Vorrichtungen 1302 bis 1304 abgeschlossen
ist, sortiert die CPU 101 der Vorrichtung 1301 die
Ereignisdaten (in diesem Fall MIDI-Daten) in der Reihenfolge ihrer
Darbietungszeitpunkte, die durch die Zeitdaten festgelegt sind,
die den Ereignisdaten hinzugefügt
sind. Das heißt,
die Paare der Ereignisdaten und der Zeitdaten werden in der Reihenfolge
der Verarbeitung neugeordnet. Anschließend beginnt die Wiedergabe
der Darbietungsdaten.
-
Dieses
Verfahren der Verwaltung der Zeitpunkte auf der Basis der Zeitdaten
ist im wesentlichen zweigeteilt: d.h. ein Absolutzeitfolgen-Verwaltungsverfahren
der Kennzeichnung des Zeitpunkts mit einer Zeit, die ab einem Bezugszeitpunkt
vergangen ist, und ein Relativzeitfolgen-Verwaltungsverfahren der
Kennzeichnung des Zeitpunkts mit einer Zeit, die seit dem letzten
Ereignis vergangen ist. Das erstgenannte Verfahren findet bei der
vorliegenden Ausführungsform
Anwendung.
-
Da,
wie es oben erwähnt
wurde, die Ereignisdaten auf der Basis der Zeitdaten gespeichert
werden, werden die Zeitpunkte zum Verarbeiten der Ereignisdaten,
die entsprechende Darbietungsdaten bilden, beibehalten, während die
Darbietungsdaten als eine Einheit in geeigneter Form angeordnet
werden. Somit kann der Benutzer wahlweise unterschiedliche Darbietungsdaten
kombinieren und in geeigneter Weise entsprechende Darbietungsdaten wiedergeben.
Auf diese Weise kann der Benutzer einen Rahmen des musikalischen
Ausdrucks, den er verwenden kann, erweitern und Musik auf unterschiedliche
Art genießen,
wodurch sich die Möglichkeiten
verbessern, die dem Benutzer zur Verfügung gestellt werden. Da darüber hinaus
die Darbietungsdaten in einem geteilten Zustand gespeichert werden können, wird
vermieden, dass sämtliche
Darbietungsdaten zu einer Zeit gestohlen oder gelöscht werden,
wodurch sich die Sicherheit erhöht.
-
Wenngleich
bei der vorliegenden Ausführungsform
die Darbietungsdaten, die kombiniert werden sollen, derart dargestellt
sind, dass sie von externen Vorrichtungen empfangen werden, kann
man sie auch auf andere Art und Weise erhalten. Man kann sie erwerben,
indem man auf ein Aufzeichnungsmedium, wie etwa eine Floppy-Diskette,
ein CD-ROM oder eine IC-Karte zugreift. Natürlich ist es ebenfalls möglich, mehrere
Darbietungsdaten, die im ROM 103 oder auf dem Aufzeichnungsmedium
gespeichert sind, zu wählen
und die gewählten
Darbietungsdaten zu kombinieren.
-
Unter
Bezugnahme auf 14 bis 19 wird
der Betrieb der CPU 101, die die oben beschriebene Steuerung
bereitstellt, detailliert hinsichtlich des Sendens, des Empfangens
und des Editierens von Musikinformationen aus Gründen der Einfachheit beschrieben.
-
14 ist
ein Flussdiagramm eines Musikinformations-Sendevorgangs, der die
Sendung von Musikinformationen (d.h. Darbietungsdaten) verwaltet.
Unter Bezugnahme auf 14 und 15 wird im
folgenden der Betrieb der CPU 101 bei der Sendung der Darbietungsdaten
im Detail beschrieben.
-
Der
Vorgang von 14 (einschließlich ihres
Subroutinen-Vorgangs 15) beginnt, wenn der Benutzer
mit der Schaltergruppe 115 Darbietungsdaten festlegt, die
gesendet werden sollen, worauf die CPU 101 ein entsprechendes
Programm ausführt,
das im ROM 103 gespeichert ist.
-
Zunächst initialisiert
die CPU 101 in Schritt 1401 einen Musikdaten-Zwischenspeicher
im RAM 104. In Schritt 1402 liest die CPU 101 die
Darbie tungsdaten, die vom Benutzer festgelegt wurden, aus dem ROM 13 und
speichert sie im Zwischenspeicher. Anschließend schreitet die CPU 101 mit
der Steuerung zu Schritt 1403 fort.
-
Bei
der vorliegenden Ausführungsform
werden die Darbietungsdaten, die editiert werden sollen, erst dann
zu einer Bestimmungsvorrichtung gesendet, wenn die Bestimmungsvorrichtung
eine Anfrage zur Sendung der Darbietungsdaten stellt. Somit ermittelt
in Schritt 1403 die CPU 101, ob die Anfrage empfangen
wurde, oder nicht. Wurde sie empfangen, ist das Ergebnis JA, und
die CPU 101 führt
den Kennzeichen-1-Vorgang in Schritt 1404 aus, der das
Senden der Darbietungsdaten beinhaltet, worauf sie mit der Steuerung
zu Schritt 1405 fortfährt.
Ist das Ergebnis andernfalls in Schritt 1403 NEIN, schreitet
die CPU 101 mit der Steuerung zu Schritt 1405 fort.
-
In
Schritt 1405 ermittelt die CPU 101, ob die Sendung
der Darbietungsdaten abgeschlossen ist, oder nicht. Sind sämtliche
erforderlichen Darbietungsdaten zum Empfänger gesendet, oder wurde die
Sendung der Darbietungsdaten durch eine Anweisung des Benutzers
mit der Schaltergruppe 115 gestoppt, ist das Ergebnis JA
und die CPU 101 beendet den Vorgang. Ist andernfalls in
Schritt 1405 das Ergebnis NEIN, kehrt die CPU 101 mit
der Steuerung zu Schritt 1403 zurück, in dem sie ermittelt, ob
es erforderlich ist, mit der Sendung der Darbietungsdaten fortzufahren.
Somit werden sämtliche
Darbietungsdaten, die gesendet werden sollen, zu allen Bestimmungsvorrichtungen
gesendet.
-
15 ist
ein Flussdiagramm des Kennzeichen-1-Vorgangs, der in Schritt 1404 ausgeführt werden
soll. Bei diesem Vorgang sendet die CPU 101 zunächst die
Darbietungsdaten, die im Musikdaten-Zwischenspeicher gespeichert
sind, in Schritt 1501. In Schritt 1502 ermittelt
die CPU, ob es weitere Daten im Zwischenspeicher gibt, die gesendet
werden sollen. Sind sämtliche
Daten gesendet, ist das Ergebnis NEIN. Dann sendet die CPU 101 zur
Bestimmungsvorrichtung eines Nachricht, dass sämtliche Daten gesendet wurden,
und beendet den Vorgang. Gibt es in Schritt 1502 weitere
Daten, ist das Ergebnis JA und die CPU kehrt mit ihrer Steuerung
zu Schritt 1501 zurück,
in dem sie zur Bestimmungsvorrichtung die Daten sendet, die noch
nicht gesendet wurden.
-
Wie
es oben erwähnt
wurde, bilden beim Kennzeichen-1-Vorgang die Schritte 1501 und 1502 eine
Verarbeitungskreislauf, dessen Kreislaufbetrieb solange wiederholt
wird, so lange nicht gesendete Daten vorhanden sind, um somit die
Darbietungsdaten in Einheiten einer vorbestimmten Menge zu senden.
In diesem Fall addiert die CPU 101 einen Header zu den
Daten, die aus dem Musikdaten-Zwischenspeicher
gelesen wurden, und sendet die resultierenden Daten zum Sender 108.
-
16 ist
ein Flussdiagramm eines Musikinformations-Empfangsvorgangs. Unter
Bezugnahme auf 16 bis 19 wird
der Steuervorgang der CPU 101 für den Empfang der Darbietungsdaten
im Detail beschrieben.
-
Der
Benutzer empfängt
die Darbietungsdaten von einer Sendequelle, die mit der Schaltergruppe 115 festgelegt
ist. Der Musikinformations-Empfangsvorgang wird derart ausgeführt, dass,
wenn der Empfang der Darbietungsdaten vom Benutzer mit der Schaltergruppe 115 nach
Festlegung der Sendequelle bestimmt ist, die CPU 101 ein
entsprechendes Programm ausführt,
das im ROM 113 gespeichert ist.
-
Zunächst führt die
CPU 101 die Initialisierung zur Vorbereitung des Empfangs
der Darbietungsdaten aus. Somit löscht die CPU 101 den
Wert einer Variablen SAR zum Verwalten einer Sendequelle der Darbietungsdaten
oder setzt Null in die Variable SAR ein und erzeugt einen Bereich
zum Speichern der empfangenen Darbietungsdaten. Anschließend schreitet
die CPU 101 mit der Steuerung zu Schritt 1602 fort.
Der Bereich wird im folgenden aus Gründen der Einfachheit Empfangsmusikdaten-Zwischenspeicher
genannt.
-
In
Schritt 1602 führt
die CPU 101 den Kennzeichen-2-Vorgang aus, um die Sendung
der Darbietungsdaten von der Sendequelle abzufragen und die Darbietungsdaten
zu empfangen. In Schritt 1603 ermittelt die CPU 101,
ob die Verarbeitung der Darbietungsdaten vollständig abgeschlossen ist, oder
nicht. Die empfangenen Darbietungsdaten werden editiert und anschließend wiedergegeben.
Wenn die Wiedergabe abgeschlossen ist oder der Benutzer deren Wiedergabe mit
der Schaltergruppe 115 stoppt, ist somit das Ergebnis JA,
worauf die CPU 101 den Vorgang beendet. Andernfalls ist
das Ergebnis in Schritt 1403 NEIN, und die CPU 1010 kehrt
mit ihrer Steuerung zu Schritt 1602 zurück, wo sie den Kennzeichen-2-Vorgang
ausführt.
-
17 ist
ein Flussdiagramm des Kennzeichen-2-Vorgangs, der in Schritt 1602 ausgeführt werden
soll. Unter Bezugnahme auf 17 wird
nun der Kennzeichen-2-Vorgang
detailliert beschrieben.
-
Es
besteht die Möglichkeit,
mehrere Darbietungsdaten-Sendequellen festzulegen. Wenn die CPU 101 Daten über die
Sendequellen (Adressen), die vom Benutzer mit der Schaltergruppe 115 eingegeben
werden, im RAM 104 gespeichert hat, empfängt sie
Darbietungsdaten durch sequentielles Wählen der Sendequellen, während sie
sich auf die gespeicherten Daten bezieht. Die Variable SAR wird verwendet,
um eine derartige Sendequelle für
die Darbietungsdaten zu wählen.
-
Zunächst fragt
die CPU 101 in Schritt 1701 die Sendung der Darbietungsdaten
aus der Sendequelle ab, die durch den Wert der Variablen SAR festgelegt
ist. In Schritt 1702 fragt die CPU 101 den Server
durch den Empfänger 107 ab,
ob die Darbietungsdaten gesendet wurden. Hat die Sendequelle die
Darbietungsdaten gesendet, ist das Ergebnis JA und die CPU fährt mit
der Steuerung zu Schritt 1703 fort. Andernfalls ist das
Ergebnis in Schritt 1702 NEIN und die CPU 101 kehrt
mit der Steuerung zu Schritt 1701 zurück. Anschließend wartet
die CPU 101 in Schritt 1702 die Sendung der Darbietungsdaten
in Schritt 1702 ab.
-
In
Schritt 1703 ermittelt die CPU 101, ob die Darbietungsdaten
vom Server durch den Empfänger 107 empfangen
wurden und ob dieselben Darbietungsdaten wie die empfangenen im
Empfangsmusikdaten-Zwischenspeicher gespeichert sind. Sofern die
MIDI-Daten der empfangenen Darbietungsdaten und die Zeitdaten, die
den MIDI-Daten hinzugefügt sind,
nicht mit jenen der Darbietungsdaten übereinstimmen, die im Empfangsmusikdaten-Zwischenspeicher
gespeichert sind, ist das Ergebnis NEIN, worauf die CPU 101 die
Darbietungsdaten speichert, die in Schritt 1704 empfangen
werden, und mit der Steuerung zu Schritt 1705 fortschreitet.
Wenn andernfalls das Ergebnis in Schritt 1703 NEIN ist,
fragt die CPU 101 die Sendung der Darbietungsdaten vom Server
ab.
-
In
Schritt 1705 ermittelt die CPU 101, ob es weitere
zu empfangende Daten gibt. Enthalten die empfangenen Daten einen
Identifikator, der die Vervollständigung
der Sendung der Darbietungsdaten anzeigt, ist das Ergebnis NEIN,
worauf die CPU 101 den Wert der Variablen SAR in Schritt 1706 erhöht und anschließend mit
der Steuerung zu Schritt 1707 fortschreitet. Sind in Schritt 1705 Daten
vorhanden, ist das Ergebnis JA und die CPU 101 kehrt mit
der Steuerung zu Schritt 1701 zurück.
-
In
Schritt 1707 ermittelt die CPU 101, ob es weitere
Sendequellen gibt, von denen Darbietungsdaten empfangen werden sollen.
Gibt es eine Sendequelle entsprechend dem Wert der Variablen SAR,
ist das Ergebnis NEIN und die CPU 101 schreitet mit der Steuerung
zu Schritt 1708 fort. Ist die Entscheidung in Schritt 1707 JA,
kehrt die CPU 101 mit der Steuerung zu Schritt 1701 zurück.
-
Das
Ergebnis NEIN in Schritt 1707 bedeutet den Abschluß des Empfangs
der Darbietungsdaten von sämtlichen
Sendequellen, die durch den Benutzer festgelegt sind. Somit führt die
CPU 101 in Schritt 1708 den Kennzeichen-3-Vorgang
aus, um die empfangenen Darbietungsdaten zu editieren und wiederzugeben.
Anschließend
beendet die CPU 101 den Vorgang.
-
18 ist
ein Flussdiagramm der Kennzeichen-3-Vorgangs, der in Schritt 1708 auszuführen ist. Unter
Bezugnahme auf 18 wird im folgenden der Kennzeichen-3-Vorgang
im Detail beschrieben.
-
Bei
der Ausführung
des Kennzeichen-3-Vorgangs sind die empfangenen Darbietungsdaten
entsprechend den Sendequellen im Empfangsmusikdaten-Zwischenspeicher
gespeichert. Der Kennzeichen-3-Vorgang wird an diesen Darbietungsdaten ausgeführt.
-
Zunächst bezieht
sich die CPU 101 auf die Zeitdaten, die den MIDI-Daten
hinzugefügt
sind, ruft die Zeitdaten zur Verarbeitung der MIDI-Daten von den
entsprechenden Darbietungsdaten ab und ordnet sie in der Reihenfolge
ihrer früheren Darbietungszeitpunkte
an, um dadurch die zahlreichen Darbietungsdaten als eine Einheit
zu sammeln, während
sie die Verarbeitungszeitpunkte der MIDI-Daten beibehält.
-
In
Schritt 1802 setzt die CPU 101 die Zeitdaten,
die den frühesten
Zeitpunkt kennzeichnen, der unter den Zeitdaten festzulegen ist,
in das Darbietungszeit-Register ein. Mit anderen Worten setzt die CPU 101 die
Zeitdaten, die den MIDI-Daten hinzugefügt sind, die als erstes verarbeitet
werden sollen, in das Darbietungszeit-Register ein. Das Darbietungszeit-Register
ist eine Variable, die zum Verarbeiten der MIDI-Daten gemäß den Zeitdaten
verwendet wird, wobei der Wert des Darbietungszeit-Registers immer
dann erhöht
wird, wenn eine Millisekunde vergeht, indem man sich beispielsweise
auf den Zeitzähler 102 bezieht.
-
Der
Schritt 1802 beinhaltet die Initialisierung zum Starten
der Wiedergabe der Darbietungsdaten. In Schritt 1803 führt die
CPU 101 den Kennzeichen-4-Vorgang für die Wiedergabe der Darbietungsdaten
aus. Die Abfolge der Schritte, die den Kennzeichen-3-Vorgang bilden,
ist nach Abschluß des
Kennzeichen-4-Vorgangs beendet.
-
19 ist
ein Flussdiagramm des Kenzeichen-4-Vorgangs, der in Schritt 1803 ausgeführt wird.
Dieser Vorgang wird im folgenden detailliert beschrieben, wobei
er an den Darbietungsdaten nach dem Editieren ausgeführt wird.
-
Zunächst ermittelt
die CPU 1010 in Schritt 1901, ob eine Millisekunde
vergangen ist, seit der Wert des Darbietungszeit-Registers zuletzt
erhöht wurde.
Gibt es einen Unterschied eines Wertes entsprechend wenigstens einer
Millisekunde zwischen dem Wert des Zeitzählers 102 zu der Zeit,
zu der der Wert des Darbietungszeit-Registers zuletzt aktualisiert wurde,
und dem vorliegenden Wert des Zeitzählers 102, ist das
Ergebnis JA. Somit erhöht
die CPU 101 den Wert des Zeitzählers 1902 und schreitet
mit der Steuerung zu Schritt 1903 fort. Andernfalls ist
das Ergebnis in Schritt 1901 NEIN, und die CPU 101 geht mit
der Steuerung zu Schritt 1903 über.
-
In
Schritt 1903 ermittelt die CPU 101, ob der Zeitpunkt
zum Verarbeiten der näch sten
MIDI-Daten, die aus den Darbietungsdaten gewählt sind, gekommen ist. Wenn
der Wert der Zeitdaten, die den MIDI-Daten hinzugefügt sind,
nicht größer ist
als der Wert des Darbietungszeit-Registers, ist das Ergebnis JA.
Die CPU 101 verarbeitet anschließend die MIDI-Daten in Schritt 1904 und
schreitet mit ihrer Steuerung zu Schritt 1905 fort. Andernfalls
ist das Ergebnis in Schritt 1903 NEIN und die CPU 101 kehrt
mit der Steuerung zu Schritt 1901 zurück. Die Verarbeitung des MIDI-Daten
wird nach der Sendung der MIDI-Daten durch die CPU 101 zum
MIDI-OUT-Anschluss 113 ausgeführt.
-
In
Schritt 1905 ermittelt die CPU 101, ob es unter
den Darbietungsdaten unverarbeitete MIDI-Daten gibt, oder nicht.
Wurden sämtliche
MIDI-Daten nicht verarbeitet, ist das Ergebnis JA. Die CPU 101 wählt die
MIDI-Daten, die zu verarbeiten sind, im nächsten Schritt 1906 und
kehrt mit der Steuerung zu Schritt 1901 zurück. Im anderen
Fall, nämlich
dann, wenn die Wiedergabe der Darbietungsdaten abgeschlossen ist,
ist das Ergebnis NEIN und die CPU 101 beendet den Vorgang.
Die Auswahl der zu verarbeitenden Daten erfolgt als nächstes beispielsweise dadurch,
dass der Wert einer Adresse, an der die MIDI-Daten gespeichert sind,
die als nächstes
verarbeitet werden sollen, in die Variable eingesetzt wird, die die
zu verarbeitenden MIDI-Daten verwaltet.
-
Wie
es oben erwähnt
wurde, wird der Kennzeichen-4-Vorgang derart ausgeführt, dass
der Wert des Darbietungszeit-Registers je nach Erfordernis aktualisiert
wird und dass die MIDI-Daten zu einem Zeitpunkt verarbeitet werden,
der durch die Zeitdaten festgelegt ist.
-
Wenngleich
bei der zweiten Ausführungsform
das Editieren dargestellt ist, mit dem mehrere Darbietungsdaten
zu einer Einheit gesammelt werden, ist die vorliegende Erfindung
nicht auf diesen speziellen Fall beschränkt. Anstelle des Editierens kann
beispielsweise jedesmal, wenn eine Einheit von MIDI-Daten verarbeitet
wird, eine weitere Einheit von zu verarbeitenden MIDI-Daten aus
den zahlreichen Darbietungsdaten gesucht werden. Wird dieser Vorgang
verwendet, wenn das Relativzeitfolge-Verwaltungsverfahren angewandt
wird, muss jedoch eine komplexe Operation zum Festlegen des Zeitpunktes parallel
mit der Wiedergabe der Darbietungsdaten ausgeführt werden. Somit werden nach
dem Editieren vor zugsweise die Darbietungsdaten erzeugt.
-
Wenngleich
in der zweiten Ausführungsform dargestellt
wurde, wie Darbietungsdaten editiert werden, die MIDI-Daten enthalten,
können
es andere Daten als die MIDI-Daten, wie etwa Klangdaten sein. Die
Darbietungsdaten werden im voraus in der Sendequelle gespeichert.
Musikinformationen, die gemäß Anfrage
erzeugt und gesendet werden sollen, können ein Objekt sein, das editiert
werden soll, wenn zuvor jede Sendequelle als Referenz eine Zeit zur
Zeitzählung
festgelegt hat, wie etwa durch Hinzufügen von Zeitdaten zu den Darbietungsdaten,
die eine Zeit kennzeichnen, zu der die Darbietung beginnt.
-
Wenngleich
bestimmte Benutzer der Vorrichtungen 1302–1304 dargestellt
sind, die das Senden der Darbietungsdaten festlegen, können die
Vorrichtungen, die die Sendung der Darbietungsdaten abfragen, die
Darbietungsdaten festlegen.
-
Obwohl
darüber
hinaus bei der vorliegenden Ausführungsform
gezeigt ist, dass die Darbietungsdaten editiert werden, können anstelle
dessen Darbietungsdaten, die in einem Aufzeichnungsmedium gespeichert
sind, editiert werden. Wie daraus hervorgeht, kann die Musikinformations-Editiervorrichtung an
einer Vorrichtung, die in der Lage ist, Musikinformationen zu empfangen,
wie auch an unterschiedlichen anderen Vorrichtungen vorgesehen sein.
-
Dritte Ausführungsform
-
Da
sich MIDI verbreitet hat und Musikinformationen auf einfache Art
gesendet und empfangen werden können,
hat sich der Nutzungsbereich von Vorrichtungen derart erweitert,
dass sie beispielsweise bei entsprechenden speziellen Verwendungszecken
benutzt werden. Somit hat es sich weit verbreitet, dass ein Benutzer
mehrere Vorrichtungen zu einem einzigen System kombiniert, dass
sich für
den Musikgenuß des
Benutzers eignet. Die dritte Ausführungsform soll den Umfang
der Verwendungsmöglichkeiten
der Vorrichtungen erweitern, indem die Möglichkeit berücksichtigt
wird, dass neue Musik auf der Basis des Sendens und Empfangens von
Musikinformationen geschaffen wird.
-
Der
Musikklanggenerator, der eine Musikinformations-Sende-Empfangs-Vorrichtung der dritten Ausführungsform
enthält,
hat im wesentlichen den gleichen Aufbau wie bei der ersten Ausführungsform (1).
Somit wird die dritte Ausführungsform
im Prinzip unter Verwendung der Bezugszeichen erläutert, die
für die
Beschreibung der ersten Ausführungsform
unter Bezugnahme auf 1 verwendet wurden.
-
20 ist
ein Verfahren zur Verwendung des Musikklangenerators und dessen
Betrieb. Die Bezugszeichen 2001 bis 2005 von 20 kennzeichnen
jeweils den Musikklanggenerator, der beispielsweise den Aufbau von 1 hat.
Der Musikklangenerator 2001 sendet/empfängt Musikinformationen zum/vom
Musikklangenerator 2002, der seinerseits Musikinformationen
zu den Musikklangeneratoren 2003 bis 2005 sendet.
Wie bei der ersten und der zweiten Ausführungsform sind die Generatoren 2001 bis 2005 durch
ein LAN verbunden.
-
Beim
System von 20 wird davon ausgegangen, dass
der Musikklangenerator 2001 für
eine Darbietung verwendet wird. Der Musikklangenerator 2002 soll
Musikinformationen für
die Musikklangeneratoren 2001 und 2003 bis 2005 bereitstellen.
Die Musikklangeneratoren 2003 bis 2005 sollen
empfangene Musikinformationen wiedergeben. Somit wird aus Gründen der
Einfachheit der Musikklangenerator 2001 im folgenden als
Darbietervorrichtung, der Musikklangenerator 2002 als Datenbank
und werden die Musikklangeneratoren 2003 bis 2005 als
Empfangsvorrichtungen bezeichnet.
-
Die
Vorrichtungen 2001 bis 2005, die das System von 20 bilden,
arbeiten wie folgt. Die entsprechenden Vorrichtungen 2001 bis 2005 werden beispielsweise
betätigt,
wenn der Benutzer die jeweiligen Schaltergruppen 115 bedient,
um die Vorrichtungen in die entsprechenden Betriebsarten zu versetzen.
Wenn beispielsweise eine Betriebsart eingestellt wird, die festlegt,
dass die Vorrichtung 2002 als Datenbank arbeiten soll,
und der Benutzer an der Vorrichtung 2002 mit der Schaltergruppe 115 die
Vorrichtung 2001 als Darbietervorrichtung und die Vorrichtungen 2003 bis 2005 als
Empfangsvorrichtungen festlegt, werden diese Vorrichtungen derart
verbunden, dass sie die jeweiligen festgelegten Funktionen ausführen. Die
Datenbank 2002 liest aus dem ROM 103 Darbietungsdaten
aus, die der Benutzer mit der Schaltergruppe 115 festlegt,
und führt
die Darbietungsdaten als Musikinformationen den entsprechenden Vorrichtungen 2001 sowie 2003 bis 2005 wie
folgt zu.
-
Die
Datenbank 2002 bezieht sich auf Zeitdaten, die den MIDI-Daten
hinzugefügt
sind, die einen Teil der Darbietungsdaten bilden, und sendet die
MIDI-Daten zusammen mit den Zeitdaten zu einem Zeitpunkt, der durch
die Zeitdaten festgelegt ist, je nach Erfordernis zur Darbietungsvorrichtung 2001.
-
Die
Darbietungsvorrichtung 2001 empfängt die Darbietungsdaten von
der Datenbank und verarbeitet die MIDI-Daten auf der Basis der Zeitdaten,
um dadurch die Darbietungsdaten wiederzugeben. Die Darbietungsvorrichtung 2001 sendet
zur Datenbank 2002 die Inhalte eines Ensembles, das der
Benutzer ausführt,
auf der Basis der Wiedergabe der Darbietungsdaten. Insbesondere
fügt die
Darbietungsvorrichtung 2001 Zeitdaten zu den MIDI-Daten
hinzu, die die Inhalte der Betätigung
des Benutzers auf der Klaviatur 130 kennzeichnen, und sendet
die resultierenden Daten zur Datenbank 2002. Die Zeitdaten
werden auf der Basis von Zeitdaten erzeugt, die von der Datenbank 2002 empfangen
werden.
-
Bei
der vorliegenden Ausführungsform
sendet die Darbietungsvorrichtung 2001 lediglich die Inhalte
der Darbietung, die der Benutzer ausführt, da die Darbietungsdaten,
die von der Darbietungsvorrichtung 2001 empfangen werden,
der Datenbank 2002 zueigen sind. Diese verhindert das mögliche Auftreten
von einer Fehlfunktion der Datenbank 2002, wenn die Darbietungsvorrichtung 2001 nicht die
Darbietungsdaten zur Datenbank sendet. Dadurch, dass, wie oben beschrieben,
zur Datenbank 2002 keine Darbietungsdaten, die von der
Datenbank empfangen werden, zurückgesendet
werden, wird die Datenmenge, die zwischen der Datenbank 2002 und
der Darbietungsvorrichtung 2001 ausgetauscht wird, als
Ganzes verringert, wodurch die Effizienz der Nutzung des Sendeweges
verbessert wird, der diese Vorrichtungen verbindet.
-
Die
Datenbank 2002 sendet zu den entsprechenden Empfangsvorrichtungen 2003 bis 2005 dieselben
Darbietungsdaten, die zur Darbietungsvorrichtung 2001 gesendet
wurden, sowie die Darbietungsdaten, die von der Darbietungsvorrichtung 2001 empfangen
wurden. Die Sendung erfolgt auf Basis der Zeitdaten, die von der
Darbietungsvorrichtung 2001 empfangen werden, weil die
Datensendung zwischen der Darbietungsvorrichtung 2001 und
der Datenbank 2002 eine gewisse Zeit in Anspruch nimmt,
um dadurch das Auftreten einer möglichen Diskrepanz
zwischen den Zeitpunkten zu vermeiden, wenn diese Darbietungsdaten
wiedergegeben werden.
-
Wie
die Darbietungsvorrichtung 2001 empfangen die entsprechenden
Empfangsvorrichtungen 2003 bis 2005 die Darbietungsdaten
und verarbeiten die MIDI-Daten
auf der Basis von Zeitdaten, um ein Ensemble wiederzugeben, das
aus einer Darbietung besteht, die auf den Wiedergabedaten, über die
die Datenbank 2002 selbst verfügt, und der Darbietung basiert,
die vom Benutzer an der Klaviatur 130 der Darbietungsvorrichtung 2001 ausgeführt wird.
-
Wie
es oben beschrieben wurde, ist die Datenbank 2002 in der
Lage, Darbietungsdaten (Musikinformationen) unterschiedlicher Inhalte
zu den entsprechenden Bestimmungsvorrichtungen zu senden. Die bedeutet,
dass unterschiedliche Rollen auf einfache Weise den entsprechenden
Bestimmungsvorrichtungen zugewiesen werden können und/oder die Inhalte ihrer
Rollen auf einfache Weise genauer festgelegt werden können. Somit
können
die jeweiligen Rollen dieser Vorrichtungen derart präzise eingestellt werden,
dass beispielsweise einige der Vorrichtungen für die Darbietung verwendet
werden und andere Vorrichtungen jeweils zur Erzeugung unterschiedlicher
musikalischer Klänge
verwendet werden. Auf diese Weise werden diese Vorrichtungen wahlweise für eine größere Zahl
unterschiedlicher Zwecke verwendbar, um deren Möglichkeiten zu verbessern, wobei
der Benutzer diese Vorrichtungen verwenden kann, die das System
bilden, das den gewünschten Vorstellungen
besser entspricht. Die Verbesserung ihrer Möglichkeiten dient der Erweiterung
des musikalischen Ausdrucks des Benutzers und trägt somit zur Schaffung neuer
Musik bei.
-
Ein
Steuervorgang der CPU 101 jeder der Vorrichtungen 2001 bis 2005 zur
Umsetzung ihrer jeweils beabsichtigten Funktionen wird im Detail
unter Bezugnahme auf 21 bis 26 beschrieben.
-
21 ist
ein Flussdiagramm eines Sende-/Empfangsvorgangs, der von der CPU 101 der Darbietungsvorrichtung 2001 ausgeführt wird.
Unter Bezugnahme auf 21 wird zunächst der Betrieb der CPU 101 im
Detail beschrieben. Wenn der Benutzer mit der Schaltergruppe 115 festlegt,
dass der Musikklanggenerator als Darbietungsvorrichtung fungieren
soll, führt
die CPU 101 ein Programm aus, das im ROM 103 gespeichert
ist, um den Musikinformations-Sende-Empfangs-Vorgang auszuführen.
-
Zunächst führt die
CPU 1010 die Initialisierung aus, um dadurch unterschiedliche
Variable zu löschen,
voreingestellte Werte in erforderliche Variable einzusetzen und
im RAM 104 einen Bereich zu erzeugen, der vorübergehend
die empfangenen Darbietungsdaten speichert (im folgenden Empfangsmusikdaten-Zwischenspeicher
genannt). Anschließend führt die
CPU 101 in Schritt 2102 den Kennzeichen-1-Vorgang
aus, um Musikinformationen (hier Darbietungsdaten, die in Einheiten
von MIDI-Daten gesendet/empfangen weiden) zur und von der Datenbank 2002 zu
senden/empfangen.
-
Anschließend fährt die
CPU 101 mit der Steuerung zu Schritt 2103 fort,
bei dem sie ermittelt, ob die Sendung/der Empfang der Musikinformationen
abgeschlossen ist. Wenn beispielsweise für eine vorbestimmte Zeit keine
Darbietungsdaten von der Datenbank 2002 gesendet wurden,
oder der Benutzer die Darbietungsvorrichtung 2001 mit der
Schaltergruppe 115 anweist, die Sendung/das Empfangen der
Darbietungsdaten zu stoppen, ist das Ergebnis in Schritt 2103 JA,
worauf die CPU 101 den Vorgang beendet. Andernfalls ist
das Ergebnis in Schritt 2103 NEIN und die CPU 101 kehrt
mit der Steuerung zu Schritt 2102 zurück, wo sie den Kennzeichen-1-Vorgang
erneut ausführt.
-
Die
Schritte 2102 und 2103 bilden einen Verarbeitungskreislauf,
dessen Kreislaufbetrieb solange andauert, bis das Ergebnis in Schritt 2103 JA
ist. Somit führt
die CPU 101 eine automatische Darbietung aus, die das sequentielle
Empfangen und Verarbeiten von MIDI-Daten aus der Datenbank 2002 beinhaltet,
und sendet zur Datenbank 2002 die Inhalte der Darbietung,
die vom Benutzer durch Betätigen
der Klaviatur 130 ausgeführt wird, in Gestalt von MIDI-Daten.
-
22 ist
ein Flussdiagramm des Kennzeichen-1-Vorgangs, der in Schritt 2102 ausgeführt und als
nächstes
beschrieben wird. Die Datenbank 2002 fügt den MIDI-Daten Zeitdaten
hinzu und sendet die resultierenden Daten zur Darbietungsvorrichtung 2001.
Um die MIDI-Daten zu einem Zeitpunkt zu verarbeiten, der durch die
Zeitdaten festgelegt ist, wird eine Variable (Gegenwartszeit-Register)
vorbereitet, die ihren Wert immer dann aktualisiert, wenn eine vorbestimmte
Zeit vergeht, wobei der Wert der Variablen mit dem Wert der Zeitdaten
verglichen wird.
-
Zunächst ermittelt
die CPU 101 in Schritt 2201, ob eine Millisekunde
vergangen ist, seit der Wert des Gegenwartszeit-Registers zuletzt
aktualisiert wurde. Gibt es einen Unterschied eines Wertes entsprechend
wenigstens einer Millisekunde zwischen dem vorausgehenden aktualisierten
Wert des Zeitzählers 102 und
dem vorliegenden Wert des Zeitzählers 102,
ist das Ergebnis JA. Somit erhöht
die CPU 101 den Wert des Gegenwartszeit-Registers in Schritt 2202 und
schreitet mit der Steuerung zu Schritt 2203 fort. Wenn
andernfalls das Ergebnis in Schritt 2202 NEIN ist, fährt die
CPU 101 mit der Steuerung zu Schritt 2203 fort.
-
In
Schritt 2203 ermittelt die CPU 101, ob ein Zeitpunkt
erreicht ist, zu dem die nächsten
MIDI-Daten der MIDI-Daten verarbeitet werden sollen, die im Empfangsmusikdaten-Zwischenspeicher
gespeichert sind. Wenn der Wert der Zeitdaten, die zu diesen MIDI-Daten
hinzugefügt
sind, kleiner wird als der Wert des Gegenwartszeit-Registers, ist
das Ergebnis JA. Somit gibt die CPU 101 in Schritt 2204 die
MIDI-Daten an MIDI-OUT aus und schreitet mit der Steuerung zu Schritt 2205 fort.
Ist das Ergebnis in Schritt 2203 andernfalls NEIN, geht
die CPU 101 mit der Steuerung zu Schritt 2205 über.
-
In
Schritt 2205 fragt die CPU 101 den Server durch
den Empfänger 107 ab,
ob es neue Empfangsdaten für
die CPU 101 gibt. Ist dies der Fall, lädt sie die Daten herunter.
In Schritt 2206 speichert die CPU 101 die MIDI-Daten
und die Zeitdaten, der Daten, die vom Empfänger 107 empfangen
wurden, im Empfangsmusikdaten-Zwischenspeicher.
-
Anschließend fährt die
CPU 101 mit der Steuerung zu Schritt 2207 fort,
in dem sie ermittelt, ob die MIDI-Daten, die in Schritt 2005 empfangen wurden,
erste Daten sind, die als Musikinformationen von der Datenbank 2002 empfangen
wurden. Wenn die Datenbank 2002 die MIDI-Daten gesendet
hat, die sich am Kopf der Darbietungsdaten befinden, ist das Ergebnis
JA. Somit setzt die CPU 101 in das Gegenwartszeit-Register
die Zeitdaten, die zu den MIDI-Daten hinzugefügt sind, in Schritt 2208 ein
und schreitet mit der Steuerung zu Schritt 2209 fort. Ist andernfalls
das Ergebnis in Schritt 2207 NEIN, geht die CPU 101 mit
der Steuerung direkt zu Schritt 2209 über.
-
Wie
es oben beschrieben wurde, setzt die Darbietungsvorrichtung 2001 in
das Gegenwartszeit-Register die Zeitdaten ein, die als erstes von
der Datenbank 2002 empfangen werden. Somit ist die Darbietungsvorrichtung 2001 lediglich
durch Vergleichen des Wertes der Zeitdaten, die den empfangenen
MIDI-Daten hinzugefügt
sind, mit dem Wert des Gegenwartszeit-Registers in der Lage, die
MIDI-Daten zu dem
Zeitpunkt zu verarbeiten, der durch die Zeitdaten festgelegt ist.
-
In
Schritt 2209 ermittelt die CPU 101, ob der MIDI-IN-Anschluss 114 die
MIDI-Daten von der
Klaviatur 130 empfangen hat. Hat der Benutzer die Klaviatur 130 betätigt, ist
das Ergebnis JA, worauf die CPU 101 mit der Steuerung zu
Schritt 2210 fortfährt. Ist
das Ergebnis andernfalls in Schritt 2209 NEIN, beendet
die CPU 101 den Vorgang.
-
In
Schritt 2210 empfängt
die CPU 101 die MIDI-Daten, die vom MIDI-IN-Anschluss 114 empfangen
wurden, führt
sie dem MIDI-OUT-Anschluss 113 zu, um eine Verarbeitung
durch die Klangquelle 120 zu bewirken, fügt den Wert
des Gegenwartszeit-Registers als Zeitdaten zu den MIDI-Daten hinzu,
leitet die resultierenden Daten zum Sender 108 weiter,
bewirkt eine Sendung der Daten zur Datenbank 2002 durch
den Sender und beendet anschließend
den Vorgang.
-
Wie
es oben beschrieben wurde, verarbeitet die Darbietungsvorrichtung 2001 die
Darbietungsdaten, die von der Datenbank 2002 empfangen
wurden, und sendet die Darbietungsdaten zur Vorrichtung 2002,
wodurch die oben erwähnten
Vorgange ausgeführt
sind.
-
23 ist
ein Flussdiagramm eines Musikinformations-Sende-Empfangs-Vorgangs der Datenbank 2002,
bewirkt durch die CPU 101. Unter Bezugnahme auf 23 und 24 wird
als nächstes
der Steuervorgang der CPU 101 beschrieben.
-
Der
Musikinformations-Sende-Empfangs-Vorgang wird in der Datenbank 2002 ausgeführt, wenn
der Benutzer die Schaltergruppe 115 betätigt, um zu bewirken, dass
der Musikklanggenerator als Datenbank fungiert, um festzulegen,
dass Darbietungsdaten zu den Bestimmungsvorrichtungen gesendet werden
sollen, sowie die Bestimmungsvorrichtungen, wie etwa die Darbietungsvorrichtung 2001 und
die Empfangsvorrichtungen 2003 bis 2005, und um
dann die Datenbank 2002 anzuweisen, mit der Sendung der
Darbietungsdaten zu beginnen, um dadurch die CPU 101 zu
veranlassen, ein geeignetes Programm auszuführen, das im ROM 103 gespeichert
ist.
-
Zunächst führt die
CPU 101 in Schritt 2301 eine Initialisierung durch,
um dadurch die Werte von Variablen im Gegenwartszeit-Register und
im Darbietungszeit-Register
zu löschen,
das zum Senden der Darbietungsdaten verwendet wird, und um Ausgangswerte
in diese Variablen einzusetzen und dadurch einen Bereich im RAM 104 (im
folgenden Musikdaten-Zwischenspeicher genannt) zu erzeugen, der
zum Speichern der zu sendenden Darbietungsdaten verwendet wird.
-
Anschließend schreitet
die CPU 101 mit der Steuerung zu Schritt 2302 fort,
bei dem die CPU 101 die Darbietungsdaten, die vom Benutzer
festgelegt wurden, aus dem ROM 103 liest, worauf sie diese
im Musikdaten-Zwischenspeicher speichert. In Schritt 2303 führt die
CPU 101 den Kennzeichen-2-Vorgang aus, der die Sendung
und den Empfang von Darbietungsdaten zu/von einer festgelegten Bestimmungsvorrichtung
beinhaltet, oder sendet Darbietungsdaten zu einer festgelegten Bestimmungsvorrichtung.
-
Anschließend schreitet
die CPU 101 mit der Steuerung zu Schritt 2304 fort,
bei dem sie ermittelt, ob die Sendung/der Empfang der Musikinformationen
abgeschlossen ist. Da die Darbietungsvorrichtung 2001 zur
Datenbank 2002 und zu den Empfangsvorrichtung 2003 bis 2005 Daten über ein
Ensemble sendet, das die Inhalte der Darbietung des Benutzers und
eine Darbietung auf der Basis der Darbietungsdaten enthält, die
von der Datenbank 2002 empfangen werden, trifft die Beendigung
der Sendung der Darbietungsdaten, die durch den Benutzer festgelegt
werden, früher
in der Datenbankvorrichtung 2002 ein, als in den entsprechenden Empfangsvorrichtungen 2003 bis 2005,
da die Beendigung der Sendung der Darbietungsdaten von der Datenbank 2002 zu
den Empfangsvorrichtungen über
die Datenbank 2002 ausgeführt wird. Wenn die jeweiligen
Empfangsvorrichtungen 2003 bis 2005 keine Darbietungsdaten
von der Darbietungsvorrichtung 2001 länger als eine vorbestimmte
Zeit nach der Sendung der Darbietungsdaten von der Darbietungsvorrichtung 2001 zu
den entsprechenden Empfangsvorrichtungen 2003 bis 2005 empfangen,
oder wenn der Benutzer die Darbietungsvorrichtung mit der Schaltergruppe 115 anweist,
die Sendung der Darbietungsdaten zu stoppen, ist somit das Ergebnis
in Schritt 2304 JA, worauf die CPU 101 den Vorgang beendet.
Ist das Ergebnis andernfalls in Schritt 2304 NEIN, kehrt
die CPU 101 mit der Steuerung zu Schritt 2303 zurück, wo sie
den Kennzeichen-2-Vorgang
erneut ausführt.
-
Die
Schritte 2303 und 2304 bilden einen Verarbeitungskreislauf,
dessen Kreislaufvorgang solange anhält, bis das Ergebnis in Schritt 2304 JA
ist. Somit werden die Darbietungsdaten zwischen der Datenbank 2002 und
der Darbietungsvorrichtung 2001 gesendet/empfangen und
zu den entsprechenden Empfangsvorrichtungen 2003 bis 2005 gesendet.
-
24 ist
ein Flussdiagramm des Kennzeichen-2-Vorgangs, der in Schritt 2303 ausgeführt und im
folgenden detailliert beschrieben wird. Wie es oben erläutert wurde,
sendet die Datenbank 2002 dieselben Darbietungsdaten in
Einheiten von MIDI-Daten zur Darbietungsvorrichtung 2001 und
zu den entsprechenden Empfangsvorrichtungen 2003–2005,
wobei jedoch die Zeitpunkte, zu denen die Darbietungsdaten von der
Darbietungsvorrichtung 2001 und den Empfangsvorrichtungen 2003 bis 2005 empfangen
werden, unterschiedlich sind, da unterschiedliche Zeiten für die jeweiligen
Sendungen der Darbietungsdaten erforderlich sind. Es werden dieselben
MIDI-Daten zu einem früheren
Zeitpunkt zur Darbietungsvorrichtung 2001 als zu den Empfangsvorrichtungen 2003 bis 2005 gesendet.
Das Gegenwartszeit-Register und das Darbietungszeit-Register sind
Variable, die vor bereitet sind, um getrennt die Zeitpunkte des Sendens
der MIDI-Daten zur Darbietungsvorrichtung 2001 und zu den
jeweiligen Empfangsvorrichtungen 2003 bis 2005 zu
steuern.
-
Zunächst ermittelt
die CPU 101 in Schritt 2401, ob eine Millisekunde
im Gegenwartszeit-Register vergangen ist, seit dessen Wert zuletzt
aktualisiert wurde. Gibt es einen Unterschied eines Wertes entsprechend
wenigstens einer Millisekunde zwischen dem Wert des Zeitzählers 102 der
zuletzt aktualisiert wurde, und dem vorliegenden Wert des Zeitgebers 102,
ist das Ergebnis JA. Somit erhöht
die CPU 101 die entsprechenden Werte des Gegenwartszeit-Registers
und des Darbietungszeit-Registers (Schritte 2402 und 2403)
und schreitet mit der Steuerung zu Schritt 2404 fort. Wenn
andernfalls das Ergebnis in Schritt 2401 NEIN ist, schreitet
die CPU 101 mit der Steuerung zu Schritt 2404 fort.
-
In
Schritt 2404 ermittelt die CPU 101, ob ein Zeitpunkt
erreicht ist, zu dem zur Darbietungsvorrichtung 2001 die
nächsten
MIDI-Daten gesendet werden sollen, die aus den MIDI-Daten gewählt werden, die
im Musikdaten-Zwischenspeicher gespeichert sind. Ist der Wert der
Zeitdaten, die den gewählten MIDI-Daten
hinzugefügt
sind, geringer als der Wert des Gegenwartszeit-Registers, ist das
Ergebnis JA. Somit bewirkt die CPU 101 in Schritt 2405,
dass der Sender 108 die MIDI-Daten und die Zeitdaten zur Darbietungsvorrichtung 2001 sendet.
Anschließend schreitet
die CPU 101 mit der Steuerung zu Schritt 2406 fort.
Ist im anderen Fall das Ergebnis in Schritt 2404 NEIN,
fährt die
CPU 101 mit der Steuerung zu Schritt 2406 fort.
-
In
Schritt 2406 fragt die Datenbank den Server durch den Empfänger 107 ab,
ob es Empfangsdaten für
die Datenbank gibt. Sind Daten vorhanden, lädt die Datenbank die Daten
herunter, worauf die CPU 101 ermittelt, ob die Daten MIDI-Daten
sind, die von der Darbietungsvorrichtung 2001 empfangen wurden.
Kennzeichnen die Daten über
die Sendequelle, die den Empfangsdaten hinzugefügt sind, die Darbietungsvorrichtung 2001,
ist das Ergebnis JA und die CPU 101 geht mit ihrer Steuerung
zu Schritt 2407 über.
Ist andernfalls das Ergebnis in Schritt 2406 NEIN, schreitet
die CPU 101 mit der Steuerung zu Schritt 2410 fort.
-
In
Schritt 2407 ermittelt die CPU 101, ob die MIDI-Daten,
die vom Empfänger 107 empfangen wurden,
die ersten Daten sind, die als Musikinformationen von der Darbietungsvorrichtung 2001 empfangen
wurden. Wenn die Datenbank mit der Sendung der Darbietungsdaten
zur Darbietungsvorrichtung 2001 beginnt und der Benutzer
anschließend
beginnt, die Klaviatur 130 der Darbietungsvorrichtung 2001 zu
betätigen,
empfängt
die Datenbank 2002 MIDI-Daten. Somit ist das Ergebnis JA.
Daher setzt die CPU 101 in Schritt 2408 die Zeitdaten,
die zu den MIDI-Daten
hinzugefügt
sind, in das Darbietungszeit-Register ein und fährt mit der Steuerung zu Schritt 2409 fort.
Ist andernfalls das Ergebnis in Schritt 2407 NEIN, geht
die CPU 101 mit der Steuerung zu Schritt 2409 über, bei
dem die CPU 101 bewirkt, dass der Sender 108 die
MIDI-Daten und die Zeitdaten, die von der Darbietungsvorrichtung 2001 empfangen
wurden, zu den entsprechenden Empfangsvorrichtungen 2003 bis 2005 sendet.
-
Wie
es oben beschrieben wurde, setzt die Datenbank 2002 die
Zeitdaten, die als erstes von der Darbietungsvorrichtung 2001 empfangen
werden, in des Darbietungszeit-Register ein. Die Zeitdaten kennzeichnen
die gezählte
Zeit unter Verwendung eines Ausgangswertes der Zeitdaten, die von
der Datenbank 2002 empfangen werden. Wie es später erläutert wird,
wird lediglich durch Vergleichen des Wertes des Darbietungszeit-Registers
und der Zeitdaten sowie anschließendes Festlegen eines Zeitpunktes
zum Senden des Wertes des Darbietungszeit-Registers auf der Basis des Vergleichsergebnisses
somit eine mögliche
Diskrepanz des Zeitpunkt zwischen der Sendung der Darbietungsdaten,
die durch den Benutzer festgelegt sind, und der Darbietungsdaten,
die von der Darbietungsvorrichtung 2001 empfangen werden,
in Einheiten von MIDI-Daten zu den entsprechenden Empfangsvorrichtungen 2003 bis 2005 vermieden.
Somit geben die jeweiligen Empfangsvorrichtungen 2003 bis 2005 diese
Darbietungsdaten gleichzeitig wieder.
-
Anschließend ermittelt
die CPU 101 in Schritt 2410, ob ein Zeitpunkt
erreicht ist, zu dem zu den jeweiligen Empfangsvorrichtungen 2003 bis 2005 die nächsten MIDI-Daten gesendet werden
sollen, die aus den MIDI-Daten gewählt werden, die im Musikdaten-Zwischenspeicher
gespeichert sind. Wenn der Wert der Zeitdaten, die den MIDI-Daten
hinzugefügt sind,
kleiner wird, als der Wert des Darbietungszeit registers, ist das
Ergebnis JA. Somit bewirkt die CPU 101 in Schritt 2411,
dass der Sender 108 die MIDI-Daten und die Zeitdaten zu
den entsprechenden Empfangsvorrichtungen 2003 bis 2005 sendet,
worauf sie den Vorgang beendet. Wenn andernfalls das Ergebnis NEIN
ist, beendet die CPU 101 den Vorgang.
-
25 ist
ein Flussdiagramm eines Musikinformations-Empfangsvorgangs der Empfangsvorrichtungen 2003 bis 2005,
ausgeführt
von der CPU 101, der im folgenden beschrieben wird. Wenn
der Benutzer mit der Schaltergruppe 115 festlegt, dass die
Musikinformations-Sende-Empfangs-Vorrichtung als Empfangsvorrichtung
arbeiten soll, führt
die CPU 101 ein entsprechendes Programm aus, das im ROM 103 gespeichert
ist, um den Musikinformations-Empfangsvorgang durchzuführen.
-
Zunächst führt die
CPU 101 in Schritt 2501 eine Initialisierung aus,
die das Löschen
der Werte, die in den entsprechenden Variablen eingestellt sind, und
das Einsetzen von voreingestellten Werten in die Variablen, sowie
das Sichern eines Bereiches im RAM 104 (im folgenden Empfangsmusikdaten-Zwischenspeicher
genannt) beinhaltet, der vorübergehend
die empfangenen Darbietungsdaten speichert. Anschließend führt die
CPU 101 in Schritt 2502 den Kennzeichen-3-Vorgang aus, der
das Empfangen von Darbietungsdaten, die von der Datenbank 2002 empfangen
werden, und deren Widergabe beinhaltet.
-
Anschließend schreitet
die CPU 101 mit der Steuerung zu Schritt 2503 fort,
bei dem sie ermittelt, ob der Empfang von Musikinformationen abgeschlossen
ist. Wenn der Empfänger
länger
als eine vorbestimmte Zeit keine Darbietungsdaten von der Datenbank 2002 empfangen
hat, oder wenn der Benutzer die Schaltergruppe 115 betätigt, um
den Empfänger
anzuweisen, den Empfang der Darbietungsdaten zu stoppen, ist das
Ergebnis in Schritt 2503 JA, worauf die CPU 101 den
Vorgang beendet. Ist andernfalls das Ergebnis in Schritt 2503 NEIN,
kehrt die CPU 101 mit der Steuerung zu Schritt 2503 zurück, bei
dem sie den Kennzeichen-3-Vorgang
ausführt.
-
Die
Schritte 2502 und 2503 bilden einen Verarbeitungskreislauf,
dessen Betrieb solange fortwährt,
bis das Ergebnis in Schritt 2503 JA ist. Somit empfängt der Empfänger nacheinander
MIDI-Daten aus der Datenbank 2002 und verarbeitet diese,
um dadurch eine automatische Darbietung auszuführen.
-
26 ist
ein Flussdiagramm des Kennzeichen-3-Vorgangs, der in Schritt 2502 ausgeführt wird.
Unter Bezugnahme auf 26 wird der Kennzeichen-3-Vorgang
detailliert beschrieben.
-
Zunächst ermittelt
die CPU 101 in Schritt 2601, ob eine Millisekunde
vergangen ist, seit der Wert des Gegenwartszeit-Registers zuletzt
aktualisiert wurde. Gibt es einen Unterschied eines Wertes entsprechend
wenigstens einer Millisekunde zwischen dem Wert des Zeitzählers 102,
der zuletzt aktualisiert wurde, und dem vorliegenden Wert des Zeitzählers 102,
ist das Ergebnis JA. Somit erhöht
die CPU 101 den Wert des Gegenwartszeit-Registers in Schritt 2602 und
geht mit der Steuerung anschließend
zu Schritt 2603 über.
Ist andernfalls das Ergebnis in Schritt 2601 NEIN, geht
die CPU 101 mit der Steuerung zu Schritt 2603 über.
-
In
Schritt 2603 ermittelt die CPU 101, ob der Zeitpunkt
erreicht ist, zu dem nächste
MIDI-Daten verarbeitet werden sollen, die aus den MIDI-Daten gewählt werden,
die im Empfangsmusikdaten-Zwischenspeicher gespeichert sind. Wenn
der Wert der Zeitdaten, die den MIDI-Daten hinzugefügt sind,
kleiner wird als der Wert des Gegenwartszeit-Registers, ist das
Ergebnis JA. Somit führt
die CPU 101 die Einheit der MIDI-Daten dem MIDI-OUT-Anschluss 113 in Schritt 2604 zu
und schreitet anschließend
mit der Steuerung zu Schritt 2605 fort. Ist andernfalls
das Ergebnis in Schritt 2603 NEIN, geht die CPU 101 mit der
Steuerung zu Schritt 2605 über.
-
In
Schritt 2605 fragt die CPU 101 den Server durch
den Empfänger 107 ab,
ob es gesendete Daten für
ihre Empfangsvorrichtung gibt. Hat die Datenbank 2002 MIDI-Daten zur Empfangsvorrichtung
gesendet, ist das Ergebnis JA. Somit lädt die CPU 101 sie
in Schritt 2606 herunter, empfängt die Daten vom Empfänger 107,
speichert sie im Empfangsmusikdaten-Zwischenspeicher und schreitet
mit der Steuerung zu Schritt 2607 fort. Wenn andernfalls
in Schritt 2605 das Ergebnis NEIN ist, beendet die CPU 101 den
Vorgang.
-
In
Schritt 2607 ermittelt die CPU 101, ob die Daten,
die zuletzt im Empfangsmu sikdaten-Zwischenspeicher in Schritt 2606 gespeichert
wurden, die ersten Daten sind, die als Musikinformationen (MIDI-Daten)
von der Datenbank 2002 empfangen wurden. Ist dies der Fall,
ist das Ergebnis JA. Somit setzt die CPU 101 die Zeitdaten,
die den Empfangsdaten hinzugefügt
sind, in Schritt 2608 in das Gegenwartszeit-Register ein
und beendet anschließend den
Vorgang. Ist andernfalls das Ergebnis in Schritt 2607 NEIN,
beendet die CPU 101 den Vorgang.
-
Wie
es oben beschrieben wurde, setzen die jeweiligen Empfangsvorrichtungen 2003 bis 2005 die Zeitdaten,
die von der ersten Datenbank 2002 empfangen wurden, in
die entsprechenden Gegenwartszeit-Register ein. Somit werden lediglich
durch Vergleichen der Zeitdaten, die den empfangenen MIDI-Daten
hinzugefügt
sind, mit dem Wert des Gegenwartszeit-Registers die MIDI-Daten zu
einem geeigneten Zeitpunkt auf der Basis des Vergleichs verarbeitet,
ob die MIDI-Daten die Darbietungsdaten, die durch den Benutzer festgelegt
sind, oder die Darbietungsdaten sind, die durch die Darbietungsvorrichtung 2001 erzeugt
werden. Infolge dessen geben die entsprechenden Empfangsvorrichtungen 2003 bis 2005 ein
Ensemble wieder, das von der Darbietungsvorrichtung 2001 erzeugt
wurde.
-
Wenngleich
in der dritten Ausführungsform die
Datenbank 2002 derart dargestellt ist, dass sie zwei unterschiedliche
Einheiten von Musikinformationen zur Darbietungsvorrichtung 2001 bzw.
zur Gruppe der Empfangsvorrichtungen 2003 bis 2005 sendet,
können
die Musikinformationen weiterhin in mehrere Einheiten unterteilt
werden, die anschließend
zur Darbietungsvorrichtung 2001 und zu den anderen Empfangsvorrichtungen 2003 bis 2005 gesendet
werden.
-
Obwohl
die Datenbank 2002 so dargestellt ist, dass sie Musikinformationen
von der Darbietungsvorrichtung 2001 empfängt, kann
sie lediglich zum Senden von Musikinformationen zu externen Vorrichtungen
verwendet werden, ohne Musik von den externen Vorrichtungen zu empfangen.
In diesem Fall ist kein Empfänger 107 erforderlich.
-
Vierte Ausführungsform
-
Ein
Ensemble oder ein Wettstreit (beide werden als Zusammenspiel dargestellt)
können
nicht abgehalten werden, solange sich nicht mehrere Darbieter an
einem Ort treffen – Platzbeschränkungen.
Die vierte Ausführungsform
beabsichtigt, derartige Einschränkungen
zu beseitigen und gestattet es mehreren Darbietern, selbst dann
an einem Zusammenspiel teilzunehmen, wenn sie nicht an einem Ort
versammelt sind.
-
Ein
Musikklanggenerator, der die Musikklang-Sende-Empfangs-Vorrichtung
gemäß der vierten
Ausführungsform
enthält,
hat im wesentlichen denselben Aufbau wie jener der ersten Ausführungsform
(1). Daher werden auch in der vierten Ausführungsform
die Bezugszeichen, die für
die Beschreibung der ersten Ausführungsform
verwendet wurden, im Grunde so verwendet, wie bei der zweiten und
dritten Ausführungsform.
Nun wird die vierte Ausführungsform
unter Bezugnahme auf 1 beschrieben.
-
27 zeigt
ein Verfahren zur Verwendung des Musikklanggenerators der vierten
Ausführungsform.
Zunächst
wird unter Bezugnahme auf 27 das
Verfahren zur Verwendung des Musikklanggenerators und der Betriebs
des Generators beschrieben, mit dem die Verwendung des Musikklanggenerators ermöglicht wird.
-
Die
Bezugszeichen 2701–2703 von 27 kennzeichnen
Musikklanggeneratoren, die jeweils denselben Aufbau haben, wie jener
aus 1. Pfeife zeigen, dass der Musikklanggenerator 2701 Musikinformationen
zu den Musikklanggeneratoren 2702 und 2703 sendet
und von diesen empfängt,
und dass der Musikklanggenerator 2702 Musikinformationen zu
den Musikklanggeneratoren 2701 und 2703 sendet
und von diesen empfängt.
Wie bei der ersten Ausführungsform
sind die Vorrichtungen 2701 und 2703 durch ein
LAN verbunden.
-
Wenn
Musikinformationen zu einem Darbieter an einem relativ entfernten
Ort gesendet werden, tritt eine gewisse Verzögerung auf. Somit kann bei der
Echtzeitverarbeitung eine Diskrepanz des Darbietungszeitpunktes
zwischen den Darbietern prinzipiell nicht verhindert werden. Das
heißt,
ein Darbieter wird unweigerlich durch Hören der Darbietung eines weiteren
Darbieters feststellen, dass es eine Abweichung der Zeitpunkte zwischen
dem erstgenannten und dem letztgenannten Darbieter gibt.
-
Bei
einem tatsächlichen
Zusammenspiel kann, um eine derartige Abweichung zu vermeiden, dieselbe
Melodie wiederholt derart dargeboten werden, dass jedesmal, wenn
ein Darbieter eine Probe wiederholt und mit einer Darbietung gemäß einem Musikstück beginnt,
die Inhalte der jeweiligen Darbietungen abgestimmt werden. Da bei
der vierten Ausführungsform
eine Diskrepanz zwischen den Darbietungen der Darbieter bei der
Echtzeitverarbeitung nicht vermieden werden kann und bei einem Zusammenspiel
Proben wiederholt werden, werden die entsprechenden Proben in geeigneter
Weise wie folgt dargeboten. Hier wird aus Gründen der Einfachheit in 27 ein
Zusammenspiel als Beispiel dargestellt, das mit Melodien erfolgt,
die Darbietungsdaten entsprechen, die sich in den entsprechenden
Vorrichtungen 2701 bis 2703 befinden. Da die Funktionsweisen der
entsprechenden Vorrichtungen 2701 bis 2703 im wesentlichen
gleich sind, wird die Vorrichtung 2701 als Beispiel beschrieben.
-
Die
Darbietungsdaten enthalten nicht die Intentionen der Darbietung
der entsprechenden Darbieter und bestehen aus mehreren Teilen. Wenn
die Darbietungsdaten durch den Benutzer (Darbieter) des Musikklanggenerators 2701 mit
der Schaltergruppe 115 festgelegt sind, werden sie mit
der CPU 101 aus dem ROM 103 gelesen und anschließend in einem
Bereich gespeichert, der im RAM 104 eingerichtet ist (im
folgenden Musiktitel-Zwischenspeicher genannt).
-
Der
Benutzer (Darbieter) des Musikklanggenerators 2701 legt
beispielsweise eine Ausblendung für einen Klang eines Teils fest,
der vom Benutzer dargeboten wird, um die Darbietungsdaten (ohne eine
Darbietung) wiederzugeben, und bietet einen gewünschten Teil der Darbietung
dar. Die CPU 101 empfängt
MIDI-Daten, die die Darbietungsinhalte des Teils kennzeichnen, vom
MIDI-IN-Anschluss 114, addiert zu den MIDI-Daten Zeitdaten,
die die Zeitpunkte der Verarbeitung oder der Wiedergabe der MIDI-Daten
in den Empfangsvorrichtungen kennzeichnen, und sendet die resultierenden
Daten als Musikinformationen zu den entsprechenden Vorrichtungen 2702 und 2703 je
nach Bedarf.
-
Zeitdaten,
die einen Verarbeitungszeitpunkt kennzeichnen, dessen Bezugspunkt der
Beginn der Darbietung ist, werden den MIDI-Daten der Darbietungsdaten
hinzugefügt.
Somit wird eine Zeit, die seit dem Beginn der Wiedergabe der Darbietungsdaten aufgezeichnet
ist, als Referenz in Form von Zeitdaten den MIDI-Daten hinzugefügt, die
gesendet werden sollen. Um die Zeit aufzuzeichnen, wird ein Darbietungszeit-Register
als Variable verwendet.
-
In ähnlicher
Weise senden die Musikklanggeneratoren 2702 und 2703 die
Musikinformationen, die die Inhalte der Darbietungen kennzeichnen,
die von den entsprechenden Benutzern ausgeführt werden, zu den anderen
Vorrichtungen. Wenn der Musikklanggenerator 2701 die Musikinformationen
empfängt,
die von den Musikklanggeneratoren 2702 und 2703 empfangen
werden, speichert er die empfangenen Musikinformationen für jeden
Generator (entsprechend einem Teil (Titel)) in einem Bereich, der
im RAM 104 (im folgenden Empfangsmusikdaten-Zwischenspeicher
genannt) eingerichtet ist.
-
Die
Darbietungsdaten, die im Empfangsmusikdaten-Zwischenspeicher gespeichert
sind, werden über
Daten entsprechend dem Teil der Darbietungsdaten, die irrt Musiktitel-Zwischenspeicher
gespeichert sind, nach Beendigung der Darbietung des Benutzers geschrieben.
Die Darbietungsdaten, die im Musikstück-Zwischenspeicher gespeichert sind, werden
mit Inhalten der Darbietungen aktualisiert, die zuletzt von den
entsprechenden Darbietern (hier zwei) durchgeführt wurden. Somit kann der
Benutzer des Musikklanggenerators 2701 ein Ensemble mit
den Darbietungen ausführen,
die die entsprechenden Benutzer der Musikklanggeneratoren 2702 und 2703 zuletzt
ausgeführt
haben. Die Vorrichtungen 2702 und 2703 fügen Zeitdaten
zu den entsprechenden MIDI-Daten hinzu und senden diese anschließend. Selbst
wenn die aktualisierten Darbietungsdaten wiedergegeben werden und
ein zugehöriges
Ensemble durchgeführt
wird, wird somit eine Diskrepanz des Zeitpunktes zwischen der Darbietung,
die von der Vorrichtung 2701 ausgeführt wird, und den Darbietungen
vermieden, die zuletzt von den Vorrichtungen 2702 und 2703 ausgeführt wurden.
Infolge dessen kann der Benutzer des Musikklanggenerators 2701 eine
Probe bequem wiederholen, wobei er das Gefühl hat, als wäre der Benutzer
mit anderen Darbietern (die Benutzer der Vorrichtungen 2702 und 2703) an
einem Ort.
-
Die
Sendung/der Empfang und die Aktualisierung der Darbietungsdaten,
werden, wie es oben beschrieben wurde, ausgeführt, wenn der Benutzer eine
bestimmte Betriebsart (im folgenden der Einfachheit halber Zusammenspiel-Betriebsart)
mit der Schaltergruppe 115 einstellt. Um die Aktualisierung der
Darbietungsdaten zu erleichtern, werden bei der vorliegenden Ausführungsform
Darbietungsdaten, die in Einheiten eines Teils editiert sind, verwendet und
im ROM 103 gespeichert.
-
Der
Steuerbetrieb der CPU 101, mit dem der Betrieb der Musikklanggeneratoren 2701 bis 2703 realisiert
wird, wird im folgenden unter Bezugname auf 28 bis 33 detailliert
beschrieben. Die Betriebe der Vorrichtungen 2701 bis 2703 sind
im wesentlichen dieselben, weshalb lediglich der Betrieb der Vorrichtung 2701 beschrieben
wird.
-
28 ist ein Flussdiagramm des Musikinformations-Sende-Empfangs-Vorgangs des Musikklanggenerators 2701,
ausgeführt
von der CPU 101. Zunächst
werden unter Bezugnahme auf 28 die Inhalte
der Verarbeitung durch die CPU 101 detailliert beschrieben.
-
Der
Musikinformations-Sende-Empfangs-Vorgang wird ausgeführt, wenn
der Benutzer des Musikklanggenerators 2701 die Schaltergruppe 115 betätigt, um
die Zusammenspiel-Betriebsart einzustellen und Bestimmungsvorrichtungen
für Darbietungsdaten
festzulegen, die wiedergegeben werden sollen, und somit führt die
CPU 101 ein zugehöriges Programm
aus, das im ROM 103 gespeichert ist. Die Darbietungsdaten,
die festgelegt werden sollen, können
als Einheit von den Darbietern (Benutzern) an den Vorrichtungen 2701 bis 2703 vorbestimmt
werden, die das Zusammenspiel abhalten.
-
Zunächst führt die
CPU 101 in Schritt 2801 eine Initialisierung aus,
die das Löschen
des Wertes im Darbietungszeit-Register, das Einsetzen vorbestimmter
Werte in die entsprechenden Variablen und das Sichern im RAM 104 von
Musiktitel-Zwischenspeichern, die zum vorübergehenden Speichern der Darbietungsdaten
verwendet werden, die aus dem ROM 103 gelesen werden, und
eines Empfangsmusikdaten-Zwischenspeichers beinhaltet, der vorübergehend
die empfangenen Darbietungsdaten festhält. Anschließend liest
die CPU 101 in Schritt 2802 die Darbietungsdaten,
die vom Benutzer festgelegt sind, aus dem ROM 103 und speichert
diese im Musikdaten-Zwischenspeicher.
-
Anschließend aktualisiert
die CPU 101 in Schritt 2803 den Wert des Darbietungszeit-Zwischenspeichers,
wie dies erforderlich ist, und führt den
Kennzeichen-1-Vorgang
aus, der die Sendung/den Empfang der Darbietungsdaten zu/von anderen
Vorrichtungen 2702 und 2703 sowie die Aktualisierung
und Wiedergabe der Darbietungsdaten beinhaltet.
-
Anschließend ermittelt
die CPU 101 in Schritt 2804, ob der Benutzer die
Vorrichtung 2701 angewiesen hat, das Zusammenspiel zu beenden.
Wenn der Benutzer die Schaltergruppe 115 betätigt, um
die Vorrichtung 2701 anzuweisen, die Zusammenspiel-Betriebsart
aufzugeben oder die Wiedergabe der Darbietungsdaten zu beenden,
ist das Ergebnis JA, worauf die CPU 101 den Vorgang beendet.
Ist Ergebnis in Schritt 2804 andernfalls NEIN, kehrt die CPU 101 mit
der Steuerung zu Schritt 2803 zurück, um den Kennzeichen-1-Vorgang
auszuführen.
-
Wie
es oben beschrieben wurde, bilden die Schritte 2803 und 2804 einen
Verarbeitungskreislauf, dessen Kreislaufbetrieb solange anhält, bis
das Ergebnis in Schritt 2804 JA ist. Somit führt die
Vorrichtung 2701 eine Sendung/einen Empfang von Darbietungsdaten
zu/von den anderen Vorrichtungen 2702 und 2703 sowie
eine Aktualisierung und Widergabe der Darbietungsdaten aus.
-
29 ist ein Flussdiagramm des Kennzeichen-1-Vorgangs,
der in Schritt 2803 ausgeführt wird. Unter Bezugnahme
auf 29 wird als nächstes der
Kennzeichen-1-Vorgang detailliert beschrieben.
-
Zunächst ermittelt
die CPU 101 in Schritt 2901, ob eine Millisekunde
vergangen ist, seit der Wert des Darbietungszeit-Registers zuletzt
aktualisiert (erhöht)
wurde. Gibt es einen Unterschied eines Wertes entsprechend wenigstens
einer Millisekunde zwischen dem Wert des zuletzt aktualisierten
Zeitzählers 102 und
dem momentanen Wert des Zeitzählers,
ist das Ergebnis JA. Somit erhöht
die CPU 101 in Schritt 2902 den Wert des Darbietungszeit-Registers
und setzt die Steuerung mit Schritt 2903 fort. Ist andernfalls
in Schritt 2901 das Ergebnis NEIN, geht die CPU 101 mit
der Steuerung zu Schritt 2903 über.
-
In
Schritt 2903 führt
die CPU den Kennzeichen-2-Vorgang aus, der das Senden/Empfangen von
Darbietungsdaten zu/von den anderen Vorrichtungen 2702 und 2703 sowie
die Aktualisierung und Wiedergabe der Darbietungsdaten beinhaltet.
Anschließend
beendet die CPU 101 den Vorgang.
-
30 ist ein Flussdiagramm des Kennzeichen-2-Vorgangs,
der in Schritt 2803 ausgeführt wird. Unter Bezugnahme
auf 30 wird im folgenden der Kennzeichen-2-Vorgang
detailliert beschrieben.
-
Daten
werden durch den Server zwischen den Musikklanggeneratoren 22701 bis 2703 gesendet/empfangen.
Zunächst
fragt die Vorrichtung 2701 in Schritt 3001 den
Server ab, ob es Empfangsdaten für
die Vorrichtung 2701 von der Vorrichtung 2702 oder 2703 gibt.
Ist dies der Fall, ist das Ergebnis JA. Die CPU 101 schreitet
anschließend
mit der Steuerung zu Schritt 3002 fort. Ist andernfalls
das Ergebnis NEIN, dann schreitet die CPU 101 mit der Steuerung zu
Schritt 3005 fort.
-
In
Schritt 3002 lädt
die CPU 101 Daten vom Server durch den Empfänger 107 herunter.
Anschließend
speichert die CPU 101 in Schritt 3003 die heruntergeladenen
Daten in einem Bereich im Empfangsmusikdaten-Zwischenspeicher, der
von der Sendequelle festgelegt ist. Anschließend fragt die CPU 101 in
Schritt 3004 den Server ab, ob es weitere Daten gibt, die
vom Server herunterzuladen sind. Wenn die CPU 101 bestätigt, dass
es keine weiteren Daten herunterzuladen gibt, ist das Ergebnis NEIN. Der
Schritt 3005 folgt als nächstes. Ist andernfalls das
Ergebnis in Schritt 3004 JA, kehrt die CPU 101 mit
der Steuerung zu Schritt 3002 zurück und lädt die erforderlichen Daten
herunter.
-
Nach
dem Empfangen der Daten von der anderen Vorrichtung 2702 oder 2703,
führt die
CPU 101 in Schritt 3005 den Kennzeichen-3-Vorgang
aus, der das Wiedergeben der Darbietungsdaten, die im Musikstück-Zwischenspeicher
gespeichert sind und das Senden der MIDI-Daten, die die Inhalte
der Darbietungen kennzeichnen, die die Benutzer ausführen, zu den
Vorrichtungen 2072 und 2073 je nach Erfordernis beinhaltet.
Anschließend
beendet die CPU 101 den Vorgang.
-
31 ist ein Flussdiagramm des Kennzeichen-3-Vorgangs,
der in Schritt 3005 ausgeführt wird. Unter Bezugnahme
auf 31 wird als nächstes der
Kennzeichen-3-Vorgang detailliert beschrieben.
-
Wie
es oben beschrieben wurde, werden bei der vorliegenden Ausführungsform
Darbietungsdaten verwendet, die nach Titeln entsprechend Teilen getrennt
sind, damit die Darbietungsdaten, die im Musikstück-Zwischenspeicher gespeichert
sind, auf einfache Weise aktualisiert werden können. Die Titel, die wiedergegeben
werden sollen, werden vom Titeladress-Register veraltet, das eine
Variable ist. Die Wiedergabe von Darbietungsdaten, die auf diese Weise
durchgeführt
wird, erfolgt durch Ausführen
der Schritte 3101 bis 3106.
-
Zunächst ermittelt
die CPU 101 in Schritt 3101, ob der Wert der Zeitdaten
die zu einer Einheit der MIDI-Daten hinzugefügt sind, die als nächstes aus
den Darbietungsdaten in einem Titel verarbeitet werden sollen, der
durch den Wert des Titeladress-Registers festgelegt ist, größer ist
als der Wert des DarbietungszeitRegisters. Wenn ein Verarbeitungszeitpunkt
erreicht ist, der durch die Zeitdaten festgelegt ist, ist das Ergebnis
JA, worauf die CPU 101 mit der Steuerung zu Schritt 3102 fortfährt, bei dem
sie die MIDI-Daten mit den hinzugefügten Zeitdaten dem MIDI-OUT-Anschluss 1113 zuführt, als nächstes MIDI-Daten
wählt,
die am nächsten
zu den zugeführten
MIDI-Daten angeordnet sind, und anschließend mit der Steuerung zu Schritt 3101 übergeht.
Ist andernfalls das Ergebnis in Schritt 3101 NEIN, fährt die
CPU 101 mit der Steuerung zu Schritt 3103 fort.
-
In
Schritt 3103 ermittelt die CPU, ob es weiterhin MIDI-Daten
im betreffenden Titel gibt, die verarbeitet werden sollen. Ist as
Ergebnis in Schritt 3103 NEIN, sind sämtliche MIDI-Daten der Darbietungsdaten
im Titel verarbeitet worden. Die CPU 101 erhöht den Wert
des Titeladress-Registers in Schritt 3104 und fährt mit
der Steuerung zu Schritt 3105 fort. Andernfalls, wenn das
Ergebnis JA ist, kehrt die CPU 101 mit der Steuerung zu
Schritt 3101 zurück,
in dem sie eine Bestimmung über
den Verarbeitungszeitpunkt der MIDI-Daten ausführt, die als nächstes verarbeitet
werden sollen.
-
In
Schritt 3105 prüft
die CPU 101, ob es weitere MIDI-Daten im Titel gibt, die
erzeugt werden sollen. Wenn der Wert des Titeladress-Registers größer ist
als ein Maximum eines der Titelnummern, wenn mit anderen Worten
die Darbietungsdaten in sämtlichen
Titeln zur vorliegenden Zeit verarbeitet sind, ist das Ergebnis
NEIN. Somit löscht
die CPU 101 in Schritt 3106 das Titeladress-Register
(setz in dieses Null ein) und schreitet mit der Steuerung zu Schritt 3107 fort.
Andernfalls, wenn das Ergebnis in Schritt 3105 JA ist,
kehrt die CPU 101 mit der Steuerung zu Schritt 3101 zurück, in dem
sie einen Vorgang zum Wiedergeben der Darbietungsdaten in einem
Titel als Objekt ausführt.
-
In
Schritt 3107 bestimmt die CPU, ob der MIDI-IN-Anschluss 114 MIDI-Daten
von der Klaviatur 130 empfangen hat. Hat der MIDI-IN-Anschluss 114 ein
Signal ausgegeben, das den Empfang von MIDI-Daten kennzeichnet,
ist das Ergebnis JA. Somit empfängt
die CPU 101 in Schritt 3108 MIDI-Daten vom MIDI-IN-Anschluss 114,
speichert diese in einem temporären
Zwischenspeicher, führt
sie dem MIDI-OUT-Anschluss 113 zu
und fährt
mit der Steuerung zu Schritt 3109 fort. Ist andernfalls
das Ergebnis in Schritt 3107 NEIN, kehrt die CPU 101 mit
der Steuerung zu Schritt 3109 zurück. Ein temporärer Zwischenspeicher
ist ein Bereich, der im RAM 104 vorgesehen ist, um vorübergehend
die MIDI-Daten festzuhalten, die von der Klaviatur 130 ausgegeben
werden.
-
In
Schritt 3109 führt
die CPU 101 den Kennzeichen-4-Vorgang aus, der die Sendung
der MIDI-Daten, die im temporären
Zwischenspeicher in Schritt 3108 gespeichert wurden, und
die Vervollständigung
der Wiedergabe der Darbietungsdaten beinhaltet. Anschließend beendet
die CPU 101 den Vorgang.
-
32 ist ein Flussdiagramm des Kennzeichen-4-Vorgangs,
der in Schritt 3109 ausgeführt werden soll. Unter Bezugnahme
auf 32 wird als nächstes der
Kennzeichen-4-Vorgang detailliert beschrieben.
-
Die
CPU 101 speichert im RAM 104 eine Liste von Bestimmungsvorrichtungen
(deren Adressen), die der Benutzer mit der Schaltergruppe 115 eingegeben
oder festgelegt hat (im folgenden wird diese auch Bestimmungsvorrichtungsliste
genannt). Die CPU 101 sendet MIDI-Daten, die durch die
Klaviatur 130 eingegeben werden, unter Bezugnahme auf die Liste.
Die Bestimmungsvorrichtung der Liste wird von einem Sendeadress-Register
verwaltet, das eine Variable enthält.
-
Zunächst liest
die CPU 101 in Schritt 3201 die MIDI-Daten aus,
die im temporären
Zwischenspeicher gespeichert sind, fügt einen Wert des Darbietungszeit-Registers als Zeitdaten
zu den MIDI-Daten hinzu und sendet anschließend die resultierenden Daten
zu einer Bestimmungsvorrichtung der Liste, die durch den Wert des
Sendeadress-Registers festgelegt ist, indem sie zu den Daten (MIDI-Daten und Zeitdaten)
einen Header hinzufügt,
der die Adresse der Bestimmungsvorrichtung enthält, und diese dem Sender 108 zuführt.
-
Das
Darbietungszeit-Register enthält
eine Variable, die zum Aufzeichnen der Zeit verwendet wird, um einen
Zeitpunkt für
die Verarbeitung der MIDI-Daten der Darbietungsdaten festzulegen.
Durch hinzufügen
des Wertes des Registers als Zeitdaten zu den MIDI-Daten, wird die
Darbietung eines Teils, der durch den Musikklanggenerator bewirkt
wird, zeitgleich mit der Darbietung eines weiteren Teils wiedergegeben,
der in der Bestimmungsvorrichtung bewirkt wird. Selbst wenn die
jeweiligen Darbieter an unterschiedlichen Orten sind, können sie
somit wiederholt proben (zusammen spielen), während sie das Gefühl haben,
zusammen an einem Ort zu sein.
-
Anschließend erhöht die CPU 101 in
Schritt 3202 den Wert des Sendeadress-Registers. Daraufhin ermittelt die CPU 1101 in
Schritt 3203, ob Daten zur sämtlichen Bestimmungsvorrichtungen
gesendet wurden. Wenn der Wert des Sendeadress-Registers größer ist
als ein Maximum der Zahl der Bestimmungsvorrichtungen der Liste,
bedeutet dies, dass die Daten zu allen Bestimmungsvorrichtungen
der Liste gesendet wurden. Somit ist das Ergebnis JA. Daher löscht die
CPU 101 in Schritt 3204 sämtliche MIDI-Daten im temporären Zwischenspeicher,
löscht die
Sendeadress-Register (setzt dort Null ein) und schreitet mit der
Steuerung zu Schritt 3205 fort. Andernfalls ist das Ergebnis
in Schritt 3202 NEIN. Somit kehrt die CPU 101 mit
der Steuerung zu Schritt 3201 zurück, bei dem sie Daten zur nächsten Bestimmungsvorrichtung
sendet.
-
Es
kann den Fall geben, bei dem keine MIDI-Daten im temporären Zwischenspei cher
bei der Ausführung
des Kennzeichen-4-Vorgangs gespeichert sind. In diesem Fall führt die
CPU 101 die Schritte 3201 bis 3204 nicht
aus, sondern geht mit der Steuerung zu Schritt 3205 über.
-
In
Schritt 3205 ermittelt die CPU 101, ob es unverarbeitete
MIDI-Daten in den Darbietungsdaten gibt, die im Musiktitel-Zwischenspeicher
gespeichert sind. Ist dies der Fall, ist das Ergebnis JA und die CPU 101 beendet
den Vorgang. Andernfalls ist das Ergebnis NEIN und die CPU 101 fährt mit
der Steuerung zu Schritt 3206 fort.
-
In
Schritt 3206 führt
die CPU 101 den Kennzeichen-5-Vorgang aus, der das Kopieren
der Darbietungsdaten, die von den anderen Vorrichtungen 3207 und 3203 empfangen
werden, in die Darbietungsdaten beinhaltet, die je nach Erfordernis
im Musiktitel-Zwischenspeicher gespeichert sind. Anschließend beendet
die CPU 101 den Vorgang.
-
Wie
es oben beschrieben wurde, wird bei der vorliegenden Erfindung davon
ausgegangen, dass der Benutzer ein Ensemble mit einer Darbietung
ausführt,
das die Wiedergabe von Darbietungsdaten beinhaltet. Somit aktualisiert
die CPU 101 die Darbietungsdaten, wenn die Wiedergabe der
Darbietungsdaten abgeschlossen ist. Auf diese Weise sind die jeweiligen
Darbieter in der Lage, ihre entsprechenden Darbietungen auf die
anderen Darbietungen abzustimmen.
-
33 ist ein Flussdiagramm des Kennzeichen-3-Vorgangs,
der in Schritt 3206 ausgeführt wird. Unter Bezugnahme
auf 33 wird der Kennzeichen-5-Vorgang
detailliert beschrieben. Wie es oben erläutert wurde speichert die CPU 101 des
Generators 2701 die Darbietungsdaten, die von den anderen
Musikklanggeneratoren 2702 und 2703 empfangen
werden, getrennt für
die entsprechenden Generatoren (Teile) im Empfangsmusikdaten-Zwischenspeicher.
Somit werden die empfangenen Darbietungsdaten nacheinander in Einheiten
eines Generators (Teils) in die Darbietungsdaten kopiert, die im Musiktitel-Zwischenspeicher
gespeichert sind. Die Darbietungsdaten, die kopiert werden sollen,
werden vom Sendeadress-Register verwaltet, da davon ausgegangen
wird, dass die Darbietungsdaten von den entsprechenden Bestimmungsvorrichtungen
der Liste emp fangen werden.
-
Zunächst schreibt
die CPU 101 in Schritt 3301 über einen Titel, der durch
den Wert des Sendeadress-Registers festgelegt ist, Darbietungsdaten im
Empfangsmusikdaten-Zwischenspeicher entsprechend dem Titel aus den
Darbietungsdaten des Musiktitel-Zwischenspeichers. Auf diese Weise
werden die Darbietungsdaten für
einen Teil kopiert. Natürlich kann
dieser Kopiervorgang nicht ausgeführt werden, wenn es keine Darbietungsdaten
gibt, die in den Empfangsmusikdaten-Zwischenspeicher kopiert werden
sollen.
-
Anschließend erhöht die CPU 101 in
Schritt 3302 den Wert des Sendeadress-Registers. Daraufhin schreitet die CPU 101 mit
der Steuerung zu Schritt 3303 fort, in dem sie ermittelt,
ob sämtliche Darbietungsdaten,
die im Empfangsmusikdaten-Zwischenspeicher gespeichert sind, kopiert
wurden. Wenn der Wert des Sendeadress-Registers größer ist
als ein Maximum der Zahl der Bestimmungsvorrichtungen der Liste,
bedeutet dies, das sämtliche Darbietungsdaten
kopiert wurden, die von den Bestimmungsvorrichtungen der Liste empfangen
wurden. Somit ist das Ergebnis JA, und die CPU 101 fährt mit
der Steuerung zu Schritt 3304 fort. Ist andernfalls das
Ergebnis in Schritt 3303 NEIN, kehrt die CPU 101 mit
der Steuerung zu Schritt 3301 zurück, in dem sie weitere Darbietungsdaten
im Empfangsmusikdaten-Zwischenspeicher in die Empfangsdaten des
Musiktitel-Zwischenspeichers
kopiert.
-
Wie
es oben beschrieben wurde, bilden die Schritte 3301 bis 3303 einen
Verarbeitungskreislauf, dessen Kreislaufbetrieb die Darbietungsdaten
aktualisiert, die im Musiktitel-Zwischenspeicher in Einheiten eines
Teils (Vorrichtung) gespeichert sind.
-
Nach
dem Ergebnis JA in Schritt 3303 löscht die CPU 101 die
Werte des Sendeadress-Registers und des Darbietungszeit-Registers
(Schritt 3304, 3305). Anschließend beendet die CPU 101 den
Vorgang.
-
Wenn
der Kennzeichen-5-Vorgang beendet ist, ist der Kennzeichen-1-Vorgang
in Schritt 2803 des Musikinformations-Sende-Empfangs-Vorgangs von 28 ebenfalls beendet. Ist das Ergebnis in Schritt 2804 NEIN,
das heißt,
der Benutzer weist die Vorrichtung nicht an, die Darbietung zu stoppen,
wird der Benutzer aufgefordert, die nächste Darbietung unmittelbar
zu beginnen, nachdem die vorliegende Darbietung ausgeführt ist.
Dies ist jedoch nicht wünschenswert,
da die jeweiligen Umstände
bei den Darbietern ignoriert werden. Wenn die Wiedergabe der Darbietungsdaten
abgeschlossen ist, schreitet die CPU 101 somit mit der
Steuerung von Schritt 2804 zu 2893 fort, nachdem
bestimmte Bedingungen erfüllt sind,
wie etwa eine bestimmte Zeit nachdem die Wiedergabe der Darbietungsdaten
beendet worden ist, oder wenn sämtliche
Darbieter manuell ausgedrückt haben,
dass sie zur nächsten
Verarbeitung bereit sind. In diesem Fall können die entsprechenden Darbieter
eine Probe (Zusammenspiel) wiederholen, als ob sie zusammen an einem
Ort wären.
-
Wenngleich
bei der vierten Ausführungsform das
Zusammenspiel, das von drei Darbietern abgehalten wird, als Beispiel
dargestellt ist, ist natürlich die
Zahl der Darbieter nicht darauf beschränkt. Obwohl dargestellt ist,
dass die Darbietungsdaten bei jedem Zusammenspiel aktualisiert werden,
können
die Darbietungsdaten gemäß einem
anderen Kriterium aktualisiert werden, wie etwa in vorbestimmten
Zeitintervallen. In diesem Fall kann jedem der Darbieter eine Übungszeit
zur Verfügung
stehen, in der sie ihre jeweiligen Darbietungen abstimmen können.
-
Obwohl
in der vierten Ausführungsform
eine Vorrichtung dargestellt ist, die Musikinformationen zu/von
mehreren anderen Vorrichtungen sendet/empfängt, kann sie die Musikinformationen zu/von
einer Vorrichtung senden/empfangen. Darüber hinaus kann entweder das
Senden oder Empfangen von Musikinformationen gemäß den Möglichkeiten jedes Darbieters
gewählt
werden.
-
Obwohl
die erste bis vierte Ausführungsform als
Vorrichtungen ausgeführt
sind, die in den Musikklanggeneratoren untergebracht sind, sind
die Vorrichtungen, in denen die erste bis vierte Ausführungsform
enthalten sind, nicht auf elektronische Musikinstrumente und andere
Musikklanggeneratoren, wie etwa unterschiedliche Controller oder
Sequenzer beschränkt.
Sie können
Bestandteil von Computern sein. Natürlich müssen die Geräte, in denen
die jeweiligen Vorrichtungen der Er findung enthalten sind, nicht
notwendigerweise sämtliche
Funktionen des Sendens/Empfangens der Musikinformationen haben,
sondern können
eine der Funktionen von Senden und Empfangen der Musikinformationen
haben, abhängig
von den jeweiligen Umgebungen, in denen sie verwendet werden sollen.
-
Die
Unterbringung der Vorrichtungen der Erfindung in Computern erfolgt
durch Laden von Programmen auf die Computer, die die oben beschriebenen
Operationen auf den Computern ausführen. Die Programme können auf
tragbaren Aufzeichnungsmedien, wie etwa CD-ROM und Floppy-Disketten
gespeichert sein und mit diesen vertrieben werden, oder über Telekommunikationsleitungen
von externen Vorrichtungen erworben werden.