DE69923752T2 - Vorrichtung zum Senden und Empfängen von Musikdaten und Speicherungsmittel - Google Patents

Vorrichtung zum Senden und Empfängen von Musikdaten und Speicherungsmittel Download PDF

Info

Publication number
DE69923752T2
DE69923752T2 DE69923752T DE69923752T DE69923752T2 DE 69923752 T2 DE69923752 T2 DE 69923752T2 DE 69923752 T DE69923752 T DE 69923752T DE 69923752 T DE69923752 T DE 69923752T DE 69923752 T2 DE69923752 T2 DE 69923752T2
Authority
DE
Germany
Prior art keywords
data
cpu
music
music information
time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69923752T
Other languages
English (en)
Other versions
DE69923752D1 (de
Inventor
Hiroyuki Hamura-shi Tokyo Sasaki
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Publication of DE69923752D1 publication Critical patent/DE69923752D1/de
Application granted granted Critical
Publication of DE69923752T2 publication Critical patent/DE69923752T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/0033Recording/reproducing or transmission of music for electrophonic musical instruments
    • G10H1/0041Recording/reproducing or transmission of music for electrophonic musical instruments in coded form
    • G10H1/0058Transmission between separate instruments or between individual components of a musical system

Landscapes

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

Description

  • 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 13021304 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 20032005, 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 27012703 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.

Claims (6)

  1. Musikinformations-Sende-und-Empfangs-Vorrichtung, die eine Musikinformations-Sendeeinrichtung (201212) zum Senden von Musikinformationen und eine Musikinformations-Empfangseinrichtung (501503) zum Empfangen von Musikinformationen umfasst, wobei die Musikinformations-Sendeeinrichtung umfasst: eine Ereignisdaten-Erfassungseinrichtung (303), die Ereignisdaten erfasst, die den Inhalt einer Darbietung anzeigen, die durch einen Benutzer bewirkt wird; eine Ereignisdaten-Sendeeinrichtung (304, 305, 403405), 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 (209, 210, 316, 317), die akustische Wellenformdaten erfasst; eine Wellenformdaten-Sendeeinrichtung (406411), die die durch die Wellenformdaten-Erfassungseinrichtung erfassten Musikinformationen zu der empfangenden Seite sendet; eine Zeitdaten-Sendeeinrichtung (413415), die als Musikinformationen zweite Zeitdaten, die einen Zeitpunkt angeben, zu dem die empfangende Seite die durch die Wellenformdaten-Sendeeinrichtung gesendeten Wellenformdaten verarbeiten sollte, sendet und wobei die Musikinformations-Empfangseinrichtung (501503) umfasst: eine Empfangseinrichtung (107) zum Empfangen von Musikinformationen; einen Musikdaten-Zwischenspeicher (104), 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 (104), der die Wellenformdaten speichert; eine Speicher-Steuereinrichtung (701709), 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 (901907), 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 (903), das die empfangenen zweiten Zeitdaten als eine Musikklang-Erzeugungszeit speichert; eine Inkrementiereinrichtung (601, 602), die die Musikklang-Erzeugungszeit, die in dem Musikklang-Erzeugungszeit-Register gespeichert ist, zu vorgegebenen Zeitpunkten inkrementiert; und eine Ereignis-Verarbeitungseinrichtung (603, 604), 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.
  2. Musikinformations-Sende-und-Empfangs-Vorrichtung nach Anspruch 1, wobei die Wellenform-Sendeeinrichtung (406411) die durch die Wellenformdaten-Erfassungseinrichtung erfassten Wellenformdaten zusammen mit Reihendaten sendet (408), die die Reihenfolge der gesendeten Wellenformdaten darstellen.
  3. Musikinformations-Sende-und-Empfangs-Vorrichtung nach Anspruch 1, wobei die Zeitdaten-Sendeeinrichtung (413415) Größendaten, die eine Größe der durch die Wellenformdaten-Sendeeinrichtung gesendeten Wellenformdaten darstellen, zusätzlich zu den zweiten Zeitdaten sendet.
  4. Musikinformations-Sende-und-Empfangs-Vorrichtung nach Anspruch 1, wobei die Speicher-Steuereinrichtung (701709) eine Speichereinrichtung (JSC) zum Speichern von Empfangs-Reihendaten umfasst, die die Reihenfolge empfangener Wellenformdaten darstellen, und wobei, wenn Sende-Reihendaten, die die Reihenfolge der gesendeten Wellenformdaten darstellen, zu den durch die Empfangseinrichtung empfangenen Wellenformdaten hinzugefügt werden, und nur wenn die Sende-Reihendaten mit den in der Speichereinrichtung gespeicherten Empfangs-Reihendaten übereinstimmen, die Speichereinrichtung die Wellenformdaten in dem Wellenform-Zwischenspeicher (701708) speichert.
  5. Musikinformations-Sende-und-Empfangs-Vorrichtung nach Anspruch 1, wobei die Wellenform-Verarbeitungseinrichtung (901907) eine Speichereinrichtung (HSSR) umfasst, die Empfangs-Größendaten speichert, die eine Größe der empfangenen Wellenformdaten darstellen, und wobei, wenn Sende-Größendaten (BC), die eine Größe der gesendeten Wellenformdaten darstellen, zu den durch die Empfangseinrichtung empfangenen zweiten Zeitdaten hinzugefügt werden, und nur, wenn die Sende-Größendaten mit den in der Speichereinrichtung gespeicherten Empfangs-Größendaten übereinstimmen, die Wellenform-Verarbeitungseinrichtung die Wellenformdaten zu einem Zeitpunkt verarbeitet, der durch die zweiten Zeitdaten (901906) angegeben wird.
  6. Aufzeichnungsmedium, das ein computerlesbares Programm zum Senden von Musikinformationen (201212) und zum Empfangen von Musikinformationen (501503) enthält, wobei das Programm zum Senden von Musikinformationen bewirkt, dass die folgenden Schritte ausgeführt werden, wenn es auf einem Computer läuft: Erfassen von Ereignisdaten, die den Inhalt einer Darbietung anzeigen, die durch einen Benutzer (303) bewirkt wird; Senden von Musikinformationen, die gewonnen werden, indem erste Zeitdaten, die einen Zeitpunkt anzeigen und die eine empfangene Seite verarbeiten sollte, zu den erfassten Ereignisdaten hinzugefügt werden (304, 305, 403405); Erfassen akustischer Wellenformdaten (209, 210, 316, 317); Senden der erfassten Musikinformationen (406411) zu der empfangenden Seite; Senden zweiter Zeitdaten, die einen Zeitpunkt angeben, zu dem die empfangende Seite die gesendeten Wellenformdaten (413415) verarbeiten sollte, als Musikinformationen, und wobei das Programm zum Empfangen von Musikinformationen umfasst: Empfangen von Musikinformationen (701, 705, 903); in Reaktion auf den Empfang der Ereignisdaten und erster Zeitdaten als die Musikinformationen, Speichern der empfangenen Ereignisdaten und der ersten Zeitdaten in einem Musikdaten-Zwischenspeicher (814); in Reaktion auf das Empfangen der Wellenformdaten als die Musikinformationen, Speichern der empfangenen Wellenformdaten in einem Wellenform-Zwischenspeicher (701709); in Reaktion auf das Empfangen der zweiten Zeitdaten als die Musikinformationen erneutes Verarbeiten der in dem Wellenform-Zwischenspeicher gespeicherten Wellenform-Daten zu einem durch die zweiten Zeitdaten angegebenen Zeitpunkt (904907); Speichern der empfangenen zweiten Zeitdaten als eine Musikklang-Erzeugungszeit in ein Musikklang-Erzeugungszeit-Register (903); Inkrementieren der Musikklang-Erzeugungszeit, die in dem Musikklang-Erzeugungszeit-Register gespeichert ist, zu vorgegebenen Zeitpunkten (601, 602); und erneutes Verarbeiten der in dem Musik-Zwischenspeicher gespeicherten Ereignisdaten zu einem Zeitpunkt, der auf Basis der Musikklang-Erzeugungszeit, die in dem Musikklang-Erzeugungszeit-Register gespeichert ist, und der ersten Zeitdaten, die in dem Musikdaten-Zwischenspeicher (603) gespeichert sind, bestimmt wird.
DE69923752T 1998-12-18 1999-12-09 Vorrichtung zum Senden und Empfängen von Musikdaten und Speicherungsmittel Expired - Lifetime DE69923752T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP36020798A JP3671274B2 (ja) 1998-12-18 1998-12-18 音楽情報送受信装置、受信装置及び記憶媒体
JP36020798 1998-12-18

Publications (2)

Publication Number Publication Date
DE69923752D1 DE69923752D1 (de) 2005-03-24
DE69923752T2 true DE69923752T2 (de) 2005-07-07

Family

ID=18468375

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69923752T Expired - Lifetime DE69923752T2 (de) 1998-12-18 1999-12-09 Vorrichtung zum Senden und Empfängen von Musikdaten und Speicherungsmittel

Country Status (5)

Country Link
US (1) US6248945B1 (de)
EP (1) EP1011089B1 (de)
JP (1) JP3671274B2 (de)
DE (1) DE69923752T2 (de)
HK (1) HK1029858A1 (de)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001093226A (ja) * 1999-09-21 2001-04-06 Sony Corp 情報通信システムおよび方法、ならびに、情報通信装置および方法
JP3552667B2 (ja) * 2000-12-19 2004-08-11 ヤマハ株式会社 通信システム及び通信プログラムを記録した記録媒体
US20070163428A1 (en) * 2006-01-13 2007-07-19 Salter Hal C System and method for network communication of music data
US8079907B2 (en) * 2006-11-15 2011-12-20 Harmonix Music Systems, Inc. Method and apparatus for facilitating group musical interaction over a network
JP5782677B2 (ja) 2010-03-31 2015-09-24 ヤマハ株式会社 コンテンツ再生装置および音声処理システム
JP5561263B2 (ja) * 2011-09-26 2014-07-30 ヤマハ株式会社 楽音再生装置及びプログラム
EP2573761B1 (de) 2011-09-25 2018-02-14 Yamaha Corporation Anzeigen von inhalt im verhältnis zur musikreproduktion mittels einer informationsverarbeitungsvorrichtung unabhängig von der musikreproduktionsvorrichtung
JP5494677B2 (ja) 2012-01-06 2014-05-21 ヤマハ株式会社 演奏装置及び演奏プログラム
JP5664581B2 (ja) * 2012-03-19 2015-02-04 カシオ計算機株式会社 楽音発生装置、楽音発生方法及びプログラム
CZ2012552A3 (cs) * 2012-08-15 2014-01-15 Univerzita Tomáše Bati ve Zlíně Univerzální jednočipové řídicí zařízení
US11663999B2 (en) * 2019-12-27 2023-05-30 Roland Corporation Wireless communication device, wireless communication method, and non-transitory computer-readable storage medium

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5512967A (en) 1978-07-15 1980-01-29 Nippon Marantz Automatic playing system
JPS5512969A (en) 1978-07-15 1980-01-29 Nippon Marantz Automatic playing system
JPS5512968A (en) 1978-07-15 1980-01-29 Nippon Marantz Automatic playing system
JPS5525049A (en) 1978-08-10 1980-02-22 Nippon Marantz Automatic play communication system
JP3149093B2 (ja) 1991-11-21 2001-03-26 カシオ計算機株式会社 自動演奏装置
JP3540344B2 (ja) 1993-07-27 2004-07-07 株式会社リコス カラオケ装置におけるバックコーラス再生装置
US5670732A (en) * 1994-05-26 1997-09-23 Kabushiki Kaisha Kawai Gakki Seisakusho Midi data transmitter, receiver, transmitter/receiver, and midi data processor, including control blocks for various operating conditions
GB2296123B (en) 1994-12-13 1998-08-12 Ibm Midi playback system
JP3087638B2 (ja) * 1995-11-30 2000-09-11 ヤマハ株式会社 音楽情報処理システム
US5913258A (en) * 1997-03-11 1999-06-15 Yamaha Corporation Music tone generating method by waveform synthesis with advance parameter computation
JP4013281B2 (ja) * 1997-04-18 2007-11-28 ヤマハ株式会社 カラオケデータ伝送方法、カラオケ装置およびカラオケデータ記録媒体

Also Published As

Publication number Publication date
JP3671274B2 (ja) 2005-07-13
JP2000181447A (ja) 2000-06-30
DE69923752D1 (de) 2005-03-24
EP1011089A1 (de) 2000-06-21
EP1011089B1 (de) 2005-02-16
US6248945B1 (en) 2001-06-19
HK1029858A1 (en) 2001-04-12

Similar Documents

Publication Publication Date Title
DE69818210T2 (de) Vorrichtung und Verfahren zur Erzeugung von Ton und Bild auf Basis von einer Aufführungsdatei.
DE60223433T2 (de) Synchronisiereinrichtung zum Liefern von Musikdaten, die gleichzeitig mit abweichend definierten Musikdatenkoden kodiert werden
DE69936801T2 (de) Aufzeichnungsvorrichtung
DE60220876T2 (de) Musikaufnahmegerät und Musikwiedergabegerät auf Basis von verschiedenen Musikdatensorten
DE69625693T2 (de) Verfahren und vorrichtung zur formatierung von digitalen, elektrischen daten
DE60222605T2 (de) Begleitsmusikgerät und Verfahren zum Anzeigen der Spielweise von Akkorden
DE10049841B4 (de) Aufzeichnungs- und Wiedergabegerät und Verfahren, Übertragungs-/Empfangsgerät und Übertragungs-/Empfangsverfahren
DE60223217T2 (de) Speichersystem für Musikdaten mit Serverrechner und elektronischen Musikvorrichtungen
DE60006845T2 (de) Verfahren und vorrichtung zur zusammenarbeit bei multimediaerzeugung über einem netzwerk
DE69637504T2 (de) Automatisches musikkomponierverfahren
DE69720706T2 (de) Interaktives system zur synchronisierung und zum simultanen spielen von vorbestimmten musiksequenzen
DE69923752T2 (de) Vorrichtung zum Senden und Empfängen von Musikdaten und Speicherungsmittel
DE60035320T2 (de) Kommunikationssystem und Verfahren, Kommunikationsgerät und Verfahren
DE69734404T2 (de) Echtzeitdurchgabe von Musiktoninformation
DE69732311T2 (de) Verfahren zur Erzeugung von Musiktönen
US7543021B2 (en) Network conference system
DE3346473C2 (de)
DE3413845A1 (de) Automatikspiel-vorrichtung
DE60110804T2 (de) Kommunikationssystem mit Programmerzeugungsmitteln
CN104636111A (zh) 信息处理方法及电子设备
DE69632351T2 (de) Verfahren und Vorrichtung zur Musiktonerzeugung
DE112018006004T5 (de) Informationsverarbeitungsvorrichtung, informationsverarbeitungsverfahren und programm
DE3023581C2 (de) Verfahren zur digitalen Hüllkurvensteuerung eines polyphonen Musiksyntheseinstruments und Schaltungsanordnung zur Durchführung des Verfahrens
DE69911129T2 (de) Vorrichtung und Verfahren zur Musiktonsynthetisierung
DE60318282T2 (de) Methoden und Vorrichtung zur Verarbeitung von Ausführungsdaten und zur Synthetisierung von Tonsignalen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition