DE69738543T2 - Echtzeitdurchgabe von Musiktoninformation - Google Patents

Echtzeitdurchgabe von Musiktoninformation Download PDF

Info

Publication number
DE69738543T2
DE69738543T2 DE69738543T DE69738543T DE69738543T2 DE 69738543 T2 DE69738543 T2 DE 69738543T2 DE 69738543 T DE69738543 T DE 69738543T DE 69738543 T DE69738543 T DE 69738543T DE 69738543 T2 DE69738543 T2 DE 69738543T2
Authority
DE
Germany
Prior art keywords
data
time
real
key
transmission device
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
DE69738543T
Other languages
English (en)
Other versions
DE69738543D1 (de
Inventor
Shigeo Tsunoda
Satoru Motoyama
Yutaka Hazegawa
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.)
Yamaha Corp
Original Assignee
Yamaha Corp
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 Yamaha Corp filed Critical Yamaha Corp
Application granted granted Critical
Publication of DE69738543D1 publication Critical patent/DE69738543D1/de
Publication of DE69738543T2 publication Critical patent/DE69738543T2/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
    • G10H1/0066Transmission between separate instruments or between individual components of a musical system using a MIDI interface
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2240/00Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
    • G10H2240/171Transmission of musical instrument data, control or status information; Transmission, remote access or control of music data for electrophonic musical instruments
    • G10H2240/185Error prevention, detection or correction in files or streams for electrophonic musical instruments
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2240/00Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
    • G10H2240/171Transmission of musical instrument data, control or status information; Transmission, remote access or control of music data for electrophonic musical instruments
    • G10H2240/281Protocol or standard connector for transmission of analog or digital data to or from an electrophonic musical instrument
    • G10H2240/295Packet switched network, e.g. token ring
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2240/00Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
    • G10H2240/171Transmission of musical instrument data, control or status information; Transmission, remote access or control of music data for electrophonic musical instruments
    • G10H2240/281Protocol or standard connector for transmission of analog or digital data to or from an electrophonic musical instrument
    • G10H2240/295Packet switched network, e.g. token ring
    • G10H2240/305Internet or TCP/IP protocol use for any electrophonic musical instrument data or musical parameter transmission purposes

Description

  • Dieser Anmeldung hegen die am 27. Dezember 1996 angemeldete Japanische Patentanmeldung Nr. 8-349939 und die am 13 März 1997 angemeldete Japanische Patentanmeldung Nr. 9-059600 zugrunde
  • HINTERGRUND DER ERFINDUNG
  • a) Gebiet der Erfindung
  • Die vorliegende Erfindung bezieht sich auf Datenkommunikations-Techniken und insbesondere auf Echtzeit-Datenkommunkations-Techniken. Eine "Echtzeit"-Antwort auf ein Ereignis findet im wesentlichen simultan zu dem Ereignis selbst statt. Bei Nachrichtenübertragungen bedeutet jedoch, wegen der Zeitverzögerung für Übertragungszeit, Signalsynchronisation, anderer erforderlicher Signalprozesse oder dergleichen, dass "Echtzeit" nicht genau simultan ist.
  • b) Beschreibung von verwandtem Stand der Technik
  • Als Standard-Spezifikation für Nachrichtenübertragungen zwischen elektronischen Musikinstrumenten ist eine digitale Schnittstelle für Musikinstrumente (music instrumental digital interface = MIDI) bekannt. Elektronische Musikinstrumente, die mit Schnittstellen der MIDI-Spezifikation ausgerüstet sind, können miteinander durch Übertragen von MIDI-Daten über eine MIDI-Leitung kommunizieren.
  • Ein elektronisches Musikinstrument überträgt zum Beispiel MIDI-Daten eines Musikspiels von einem Spieler und ein anderes Musikinstrument empfängt dieses, um es wiederzugeben. Wenn ein elektronisches Musikinstrument gespielt wird, kann ein anderes elektronisches Musikinstrument in Echtzeit gespielt werden.
  • In einem Kommunikations-Netzwerk, das eine Vielzahl von Universal-Computern verbindet, werden verschiedene Arten von Daten übertragen. Zum Beispiel können Live-Musiktondaten oder andere MIDI-Daten von einem Computer, welcher die Daten einmal in seiner Speichervorrichtung, wie beispielsweise einer Festplatte, speichert, über das Kommunikations-Netzwerk auf einen anderen Computer übertragen werden, welcher die empfangenen Daten in seiner Speichervorrichtung speichert. Dies ist beispielsweise offenbart in Foss et al., „Routing MIDI messages over Ethernet" (Zuleiten von Nachrichten über Ethernet) A. E. S. Journal, Vol. 44 No. 5, Mai 1996, Seiten 406–415. Ein allgemeines Kommunikations-Netzwerk ist jedoch ausgelegt, um nur allgemeine Datenkommunikation durchzuführen, und ist nicht ausgelegt, um MIDI-Daten richtig zu bearbeiten.
  • Obgleich die MIDI-Spezifikation gestattet, dass die "Echtzeit"-Nachrichtenübertragung zwischen elektronischen Musikinstrumenten durchgeführt wird, ist sie speziell für Nachrichtenübertragung über eine weite Entfernung und Kommunikation über eine Anzahl von Knoten nicht geeignet. Das allgemeine Kommunikations-Netzwerk ist im wesentlichen so ausgelegt, einen Betrieb für Fernkommunikation und Vielfachknoten-Kommunikation bereitzustellen, trägt aber nicht einer "Echtzeit"-Kommunikation zwischen elektronischen Musikinstrumenten Rechnung.
  • Echtzeit-Kommunikation von Musikinformation braucht eine große Informationsmenge pro Zeiteinheit und der Verkehr der Kommunikationsleitung wird stark. Im Vergleich mit Punkt zu Punkt-Kommunikation ist es wahrscheinlicher, dass die Punkt zu Mehrfachpunkt-Kommunikation von Musiktondaten den starken Verkehr von Kommunikationleitungen hervorruft. Der starke Verkehr von Kommunikationsleitungen erzeugt eine Übertragungsverzögerung und behindert ein Echtzeit-Musikspiel.
  • KERN DER ERFINDUNG
  • Es ist daher ein Ziel der vorliegenden Erfindung, Techniken von Musiktondaten-Kommunikation zu schaffen, die ein Echtzeitmusikspiel bei Mehrfachknoten ausführen können.
  • Es ist ein weiteres Ziel der vorliegenden Erfindung, Techniken zur Daten-Kommunikation zu schaffen, die einen starken Verkehr von Kommunikationsleitungen vermeiden können.
  • Gemäß der Erfindung werden eine Vorrichtung wie in Anspruch 1, ein Verfahren wie in Anspruch 16 und ein Speichermedium wie in Anspruch 17 beansprucht.
  • Es wird ein Musiktondaten-Kommunikationssystem bereitgestellt, das Sendemittel, zum Übertragen von eingegebenen MIDI-Daten in Echtzeit über ein Kommunikationsnetzwerk aufweist.
  • Es wird ein Daten-Kommunikationssystem bereitgestellt, aufweisend: Empfangsmittel zum Empfangen von Daten; Zugriffsprüfmittel zum Prüfen der Anzahl der extern beanspruchten Kommunikationslinien; und Übertragungsmittel, die in der Lage sind, die Menge der Daten, die von den Empfangsmitteln empfangen werden entsprechend der Zahl der extern beanspruchten Kommunikationslinien zu reduzieren und die reduzierten Daten an die extern beanspruchte Kommunikationslinie zu übertragen.
  • Wenn die Zahl der beanspruchten Kommunikationslinien groß ist, wird die Menge der empfangenen Daten reduziert, um den Verkehrsstau abzumildern; wenn jedoch die Zahl der Kommunikationslinien, auf die zugegriffen wird, klein ist, ist es nicht immer erforderlich, die Datenmenge zu reduzieren.
  • Ferner wird ein Kommunikationssystem bereitgestellt, das eine Vielzahl von Kommunikationsgeräten aufweist, von denen jedes Empfangsmittel und Sendemittel aufweist, wobei: die Empfangsmittel der Vielzahl von Kommunikationsgeräten die gleichen Daten empfangen; die Sendemittel der Vielzahl von Kommunikationsgeräten die Menge von Daten, die von den Empfangsmittel empfangen werden, reduzieren können und die reduzierten Daten übertragen können; und die Daten, die durch eine der Kommunikationsvorrichtungen reduziert wurde, sich unterscheidet von den Daten die von einem anderen der Kommunikationsgeräte reduziert worden ist.
  • Da die Daten, die von einem und einem anderen der Kommunikationsvorrichtungen reduziert worden sind, unterschiedlich sind, ist die Qualität der von dem jeweiligen Gerät übertragenen Daten unterschiedlich. Beispielsweise kann der Datentyp oder der Reduktionsfaktor der reduzierten Daten bei jeder Kommunikationsvorrichtung unterschiedlich sein. Deswegen kann ein Benutzer Daten einer gewünschten Qualität dadurch erhalten, dass er auf eine geeignete Kommunikationsvorrichtung zugreift.
  • Ferner wird ein Musiktondatenkommunikationsverfahren bereitgestellt, das die Schritte aufweist: (a) Übertragen von MIDI-Daten über ein Kommunikationsnetzwerk; und (b) Empfangen der übertragenen MIDI-Daten und Weiterleitung der empfangenen MIDI-Daten an einen Tongenerator in Echtzeit.
  • MIDI Daten können zu einer Anzahl Knoten unter Verwendung des Kommunikationsnetzwerks übertragen werden. Bei jedem Knoten werden die MIDI-Daten in Echtzeit reproduziert, um Musiktöne zu erzeugen.
  • Es wird auch ein Musiktondatenkommunikationsverfahren bereitgestellt, aufweisend die Schritte: (a) Übertragen von MIDI-Daten; und (b) Übertragen von Wiederherstellungsdaten nachdem die MIDI-Daten übertragen worden sind, wobei die Wiederherstellungsdaten anzeigen, dass die Übertragung der MIDI-Daten fortgesetzt wird.
  • Wenn es keinen Übertragungsfehler gibt, können die übertragenen MIDI-Daten korrekt bei einer Partner-Kommunikationsvorrichtung empfangen werden. Wenn es einen Übertragungsfehler gibt, können die übertragenen MIDI-Daten nicht korrekt bei einer Partner-Kommunikationsvorrichtung empfangen werden. Auch in einem solchen Fall kann der Kommunikationsfehler durch Übertragung der Wiederherstellungsdaten repariert werden.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist eine schematische Abbildung, die ein Musiktondaten-Kommunikations-Netzwerk zeigt.
  • 2 ist ein Blockschaltbild, das die Hardware-Struktur einer Kodiereinheit und eines Homecomputers zeigt.
  • 3 ist ein Ablaufdiagramm, das ein Verfahren zeigt, welches MIDI-Daten-Kommunikationsfehler behandelt.
  • 4 zeigt das Format eines Kommunikationspakets.
  • 5 ist ein Flußdiagramm, das die Operation eines durch eine Kodiereinheit auszuführenden Übertragungsprozesses veranschaulicht.
  • 6A und 6B sind Flußdiagramme, die die Operation eines durch die Dekodiereinheit auszuführenden Unterbrechungsprozesses zeigt, wobei das Flußdiagramm von 6A einen Übertragungsprozess von Rückgewinnungs-Tastendaten und das Flußdiagram von 6B einen Übertragungsprozess von Rückgewinnungs-Tongenerator-Einstellungsdaten veranschaulicht.
  • 7 ist ein Flußdiagramm, das die Operation eines durch einen Homecomputer auszuführenden Empfangsprozesses veranschaulicht.
  • 8 ist ein Flußdiagramm, das Details eines Ereignisprozesses von Schritt SD6 aus 7 zeigt.
  • 9 ist ein Flußdiagramm, das die Operation eines durch einen Homecomputer auszuführenden Unterbrechungsprozesses zeigt.
  • 10 ist eine schematische Abbildung, die die Struktur eines Speichers eines Proxy-Servers zeigt.
  • 11 ist eine graphische Darstellung, die das Verhältnis von Anzahl von Zugriffen zu einem Ausdünnungsindex zeigt.
  • 12 ist ein Flußdiagramm, das die Operation eines Prozesses zeigt, der durch einen Proxy-Server auszuführen ist, wenn ein Anwender auf den Proxy-Server zugreift.
  • 13 ist ein Flußdiagramm, das die Operation eines Prozesses zeigt, der durch einen Proxy-Server auszuführen ist, wenn ein Anwender einen Zugriff auf den Proxy-Server freigibt.
  • 14 ist ein Flußdiagramm, das die Operation eines Prozesses zeigt, der durch einen Proxy-Server auszuführen ist, wenn dieser Daten von einem Haupt-Server empfängt.
  • 15 ist ein Flußdiagramm, das die Operation eines Prozesses zeigt, der durch einen Proxy-Server auszuführen ist, wenn dieser Rückgewinnungsdaten ausdünnt.
  • 16 ist ein Flußdiagramm, das die Operation eines Prozesses zeigt, der durch einen Proxy-Server auszuführen ist, wenn dieser vorzugsweise Taste-AUS-Ereignisdaten überträgt.
  • 17 ist ein Flußdiagramm, das die Operation eines Prozesses zeigt, der durch einen Proxy-Server auszuführen ist, wenn dieser Daten durch Löschen von Bilddaten überträgt.
  • 18 ist ein Flußdiagramm, das die Operation eines Prozesses zeigt, der durch einen Proxy-Server auszuführen ist, wenn dieser Daten durch Herabsetzen einer Auflösung der Daten überträgt.
  • DETAILLIERTE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • 1 zeigt ein Musiktondaten-Kommunikations-Netzwerk.
  • In einem Konzertsaal 1 sind ein MIDI-Musikinstrument 2, eine Kamera 4, Kodiereinheiten 3 und 5 und ein Router 6 installiert. Das MIDI-Instrument 2 wird von einem Spieler in dem Konzertsaal 1 gespielt. Das MIDI-Musikinstrument 2 ist ein elektronisches Musikinstrument mit einer MIDI-Schnittstelle, es erzeugt MIDI-Daten in Echtzeit in Entsprechung zu dem Spiel durch den Spieler und liefert diese zu der Kodiereinheit 3. Die Kodiereinheit 3 überträgt ein Paket von MIDI-Daten eines vorgegebenen Formats in Echtzeit in das Internet über den Router 6. Das Datenformat wird nachfolgend bezugnehmend auf 4 beschrieben.
  • Die Kamera 4 nimmt ein Bild eines Spielers auf und liefert es als Bilddaten zu der Kodiereinheit 5. Die Kodiereinheit 5 überträgt jedes Paket von Bilddaten eines vorgegebenen Formats in das Internet über den Router 6. Ein Mikrofon 13 tastet Töne eines Gesangs (Stimmendaten), eines akustischen Musikinstrumentes (zum Beispiel eines Klaviers) oder eines elektronischen Musikinstruments ab und liefert diese Abtastdaten zu einer Kodiereinheit 14 als Tondaten. Die Kodiereinheit 14 überträgt jedes Paket von Tondaten eines vorgegebenen Formats in das Internet über den Router 6. Das Datenformat wird nachfolgend bezugnehmend auf 4 beschrieben.
  • Der Router 6 überträgt MIDI-Daten und Bilddaten in das Internet, was nachfolgend zu beschreiben ist. Die Daten werden von dem Router 6 an den Haupt-Server 7 über eine öffenliche Telefonleitung oder eine geleaste Telefonleitung und zu einer Vielzahl von Proxy-Servern 12a, 12b, 12c, ... und weiter zu einem world wide web (WWW)-Server 8 geliefert, welcher Provider genannt wird.
  • Die Proxy-Server 12a, 12b, 12c, ... werden hier nachfolgend einzeln oder zusammengefaßt als ein Proxy-Server 12 bezeichnet. Der Proxy-Server 12 wirkt so, dass die Verkehrsüberlastung der Kommunikationsleitungen vermieden wird. Der Proxy-Server 12 steuert die Menge von Daten, die von dem Haupt-Server 7 entsprechend den Verkehrsbedingungen der Kommunikationsleitungen geliefert werden und liefert reduzierte Daten an den WWW-Server 8. Wenn zum Beispiel die Anzahl der Benutzer (Leitungen) groß ist, wird entschieden, dass die Kommunikationsleitungen überlastet sind und die Daten werden ausgedünnt, um die Datenmenge zu reduzieren und die Verkehrüberlastung zu vermeiden.
  • Eine Vielzahl von Proxy-Servern 12a, 12b, 12c, ... kann unterschiedliche Datenreduktionsmengen oder unterschiedliche Datenreduzierungs-Verfahren haben. Die Datenreduktionsmenge beeinflußt die Ton- und Bildqualitäten. Je größer die Datenreduktionsmenge ist, desto geringer sind die Ton- und Bildqualitäten.
  • Der Proxy-Server 12a kann beispielsweise die Anzahl von zugreifenden Benutzern einschränken, um die Ton- und Bildqualitäten zu verbessern, wogegen ein anderer Proxy-Server 12c die Ton- und Bildqualitäten herabsetzen kann, um die Anzahl zugreifender Benutzer zu erhöhen. Eine solche Funktion des Proxy-Servers 12 kann die Verkehrsüberlastung der Kommunikationsleitungen mindern.
  • Ein Benutzer kann auf das Internet durch Verbinden seines Homecomputers 9 mit dem WWW-Server 8 zugreifen, um MIDI-Daten und Bilddaten in Echtzeit zu empfangen. Der hier verwendete Ausdruck "Homecomputer" (Heimcomputer) soll für irgendeinen Computer gelten, der für ein "home = Heim"-Konzert entgegengesetzt zu einem entfernter liegenden Konzertsaal verwendet wird. Der Homecomputer 9 weist ein Anzeigegerät zum Anzeigen von Bilddaten und einen externen oder eingebauten MIDI-Tongenerator (Tonquelle) zum Erzeugen von Musiktonsignalen auf. Der MIDI-Tongenerator erzeugt Musiktonsignale entsprechend den MIDI-Daten und liefert die Tonsignale zu einer Tonausgabevorrichtung 11. Die Tonausgabevorrichtung 11 weist einen D/A-Wandler, einen Verstärker und einen Lautsprecher auf, um die Töne in Entsprechung zu den gelieferten Tonsignalen wiederzugeben. Tondaten werden wiedergegeben, wobei sie von einer analogen Form in eine digitale Form konvertiert, durch einen Verstärker verstärkt und als Töne von einem Lautsprecher wiedergegeben werden. Töne, die denen in dem Konzertsaal 1 gleich sind, können von der Tonausgabevorrichtung 11 in Echtzeit wiedergegeben werden.
  • Wenn ein externer MIDI-Tongenerator 10 verwendet wird, veranlaßt der Homecomputer 9, dass der MIDI-Generator 10 Musiktonsignale erzeugt, und die Tonausgabevorrichtung 11 gibt Töne wieder.
  • Da die MIDI-Daten und Tondaten für einen Anwender wichtiger sind als Bilddaten, werden die MIDI-Daten und Tondaten mit einer Priorität vor den Bilddaten verarbeitet. Obwohl ein Anwender sich über die Bilddaten mit schlechter Bildqualität und geringer Bildfolge nicht beeinträchtigt fühlt, ist es erforderlich; dass Toninformation und Musiktoninformation von MIDI-Daten eine hohe Qualität aufweisen.
  • Ein Anwender kann dem Musikspiel in Echtzeit zuhören, durch Verbinden des Homecomputers 9 mit dem Internet, während er jede Szene des Konzertsaals 1 auf der Anzeigevorrichtung zu Haus betrachtet, ohne in den Konzertsaal 1 zu gehen. Eine Anzahl von Benutzern können zu Hause die in dem weiter entfernten Konzertsaal gespielte Musikaufführung genießen. MIDI-Daten werden von dem Konzertsaal 1 zu jedem Benutzer so übertragen, dass jeder Benutzer die Situation des Konzertsaals 1 gemeinsam nutzen kann, als wenn der Spieler das elektronische Musikinstrument zu Hause bei dem Benutzer spielte.
  • Der Veranstalter eines Konzerts setzt eine vorgeschriebene Zahl des Konzerts fest und verkauft Karten an die Anwender. Karten können Ränge aufweisen, wie beispielsweise Rang A (Spezialplatz), Rang B (gewöhnlicher Platz) und Rang C (Gallerie). Ein Anwender mit einer Rang A-Karte kann beispielsweise auf den Proxy-Server 12a für einen Empfang mit hoch qualitativer Ton- und Bildinformation zugreifen, ein Anwender mit einer Rang B-Karte kann auf den Proxy-Server 12b für einen Empfang von Ton- und Bildinformation mit einer reduzierten Datenmenge zugreifen und ein Anwender mit einer Rang C-Karte kann auf den Proxy-Server 12c für einen Empfang nur von Toninformation mit einer reduzierten Datenmenge zugreifen.
  • Da nicht eine Live-Musiktoninformation, sondern MIDI-Daten über das Internet übertragen werden, wird die Tonqualität durch Geräusche nicht herabgesetzt. Da jedoch eine Fern-Kommunikation über eine Anzahl von Kommunikationsorte durch das Internet durchgeführt wird, wird das folgende Verfahren, das sich mit Kommunikationsfehlern befaßt, erforderlich, wenn Daten von der Kodiereinheit 3 und 5 übertragen werden und wenn Daten durch den Homecomputer 9 empfangen werden. Kommunikationsfehler sind beispielsweise unter anderem eine Datenänderung, einen Datenverlust, eine Datenverdoppelung, eine Datensequenzänderung und dergleichen.
  • 2 zeigt die Hardware-Struktur der Kodiereinheit 3 und 5 und des Homecomputers 9, welcher ein Universalcomputer sein kann.
  • Mit einem Bus 31 sind eine Eingabevorrichtung 26, wie beispielsweise eine Tastatur und eine Maus, eine Anzeigevorrichtung 27, ein MIDI-Tongenerator 28, eine Kommunikations-Schnittstelle 29 zur Verbindung mit dem Internet, eine MIDI-Schnittstelle 30, ein RAM 21, ein ROM 22, eine CPU 23 und eine externe Speichervorrichtung 25 verbunden.
  • Verschiedene Befehle können von der Eingabevorrichtung 26 eingegeben werden. Bei dem Homecomputer 9 zeigt die Anzeigevorrichtung 27 jede Szene eines Konzertsaals an und der MIDI-Tongenerator 28 erzeugt Musiktonsignale entsprechend den empfangenen MIDI-Daten und überträgt diese zu einem externen Schaltkreis.
  • Die Kommunikations-Schnittstelle 29 wird zur Übertragung von MIDI-Daten und Bilddaten zu und von dem Internet verwendet. Die MIDI-Schnittstelle 30 wird zur Übertragung von MIDI-Daten zu und von einem externen Schaltkreis verwendet.
  • Die externe Speichervorrichtung 25 kann ein Festplattenlaufwerk, ein Floppy Disk-Laufwerk, ein CD-ROM-Laufwerk, ein magnetooptisches Disk-Laufwerk oder dergleichen sein und kann dort MIDI-Daten, Bilddaten, Computerprogramme und dergleichen speichern.
  • Der ROM 22 kann Computerprogramme, verschiedene Parameter und dergleichen gespeichert haben. Ein RAM 21 weist einen Taste-EIN-Puffer 21a und einen Tongenerator-Einstellpuffer 21b auf. Der Taste-EIN-Puffer 21a speichert ein in MIDI-Daten enthaltenes Taste-EIN-Ereignis, und der Tongenerator-Einstellpuffer 21b speichert in MIDI-Daten enthaltene Tongenerator-Einstelldaten.
  • Der RAM 21 weist auch Arbeitsbereiche, wie beispielsweise Puffer und Register auf, um Daten in den ROM 22 und die externe Speichervorrichtung 25 zu kopieren und zu speichern. In Entsprechung zu den in dem ROM 22 oder RAM 21 gespeicherten Computerprogrammen führt die CPU 23 verschiedene Berechnungen und Signalbearbeitungen durch. Die CPU 23 kann Zeittaktbefehle von einem Zeitgeber 24 holen.
  • Die externe Speichervorrichtung 25 kann ein Festplattenlaufwerk (hard disk drive = HDD) sein. Das HDD 25 kann verschiedene Daten speichern, wie beispielsweise ein Anwendungsprogramm und MIDI-Daten. Wenn es erforderlich ist, wird das Anwendungsprogramm nicht in dem ROM 22, sondern auf einer in das HDD geladenen Festplatte gespeichert, dieses Programm wird in den RAM 21 eingelesen, so dass die CPU 23 dieses Anwendungsprogramm auf die gleiche Weise abarbeiten kann, als wenn das Programm in dem ROM 22 gespeichert ist. Zusätzlich wird in diesem Fall ein Aktualisieren und dergleichen eines Anwendungsprogramms einfacher. Die externe Speichervorrichtung 25 enthält ein HDD und eine CD-ROM (compakt-disk-read-only-memory)-Laufwerk, welches verschiedene Daten lesen kann, wie beispielsweise ein auf einer CD-ROM gespeichertes Anwendungsprogramm. Die gelesenen Daten, wie beispielsweise ein Anwendungsprogramm, werden auf einem in dem HDD geladenen Festplatte gespeichert. Installieren, Aktualisieren und dergleichen eines Anwendungsprogramms werden einfacher. Andere Arten von Laufwerken, wie beispielsweise ein Floppy Disk-Laufwerk, ein magnetooptische (MO) Disk-Laufwerk, können als externe Speichervorrichtung 25 verwendet werden.
  • Die Kommunikations-Schnittstelle 29 ist mit einem Kommunikations-Netzwerk 32, wie beispielsweise dem Internet, einem lokalen Netz (lokal area network (LAN)) und einer Telefonleitung, und über das Kommunikations-Netzwerk 32 mit einem Server-Computer 33 verbunden. Wenn Anwendungsprogramme und Daten nicht auf einer in dem HDD 25 geladenen Festplatte gespeichert sind, können diese Programme und Daten von dem Server-Computer 33 heruntergeladen werden. In diesem Fall überträgt ein Client, wie beispielsweise die Kodiereinheit 3, 5 und der Homecomputer 9, einen Befehl zum Herunterladen eines Anwendungsprogramms oder von Daten an den Server-Computer 33 über die Kommunikations-Schnittstelle 29 und das Kommunikations-Netzwerk 32. Nach Empfang dieses Befehls liefert der Server-Computer 33 das angeforderte Anwendungsprogramm oder Daten an den Client über das Kommunikations-Netzwerk 32, wobei der Client diese über die Kommunikations-Schnittstelle 29 empfängt und auf der in dem HDD 25 geladenen Festplatte speichert.
  • Diese Ausführungsform kann in der Praxis auf einen kommerziell erhältlichen Personalcomputer reduziert sein, in welchen Anwendungsprogramme und verschiedene Daten installiert sind, die die Funktionen der Ausführungsform realisieren. Die Anwendungsprogramme und verschiedene Daten können einem Anwender in Form eines Speichermediums, wie beispielsweise einer CD-ROM und einer Floppy Disk, welche der Personalcomputer lesen kann, zugeführt werden. Wenn der Personalcomputer mit dem Kommunikations-Netzwerk verbunden ist, wie beispielsweise dem Internet, einem LAN und einer Telefonleitung, können die Anwendungsprogramme und verschiedene Daten dem Personalcomputer über das Kommunikations-Netzwerk zugeführt werden.
  • 3 ist eine schematische Abbildung, die ein Verfahren zum Behandeln von Kommunikationsfehlern von MIDI-Daten zeigt, wobei ein Taste-EIN-Ereignis bei einem hohen Pegel und ein Taste-AUS-Ereignis bei einem niedrigen Pegel beispielhaft gezeigt sind.
  • In diesem Beispiel wird ein Taste-EIN-Ereignis zu einem Zeitpunkt t1 übertragen und ein Taste-AUS-Ereignis wird zu einem Zeitpunkt t4 übertragen. Das zu dem Zeitpunkt t1 übertragene Taste-EIN-Ereignis kann manchmal durch Kommunikationsfehler verlorengehen. In einem solchen Fall kann der Homecomputer 9 auf der Empfängerseite das Taste-EIN-Ereignis nicht empfangen und empfängt nur das Taste-AUS-Ereignis, so dass ein richtiges Musikspiel nicht wiedergegeben werden kann. Der Empfang von nur dem Taste-AUS-Ereignis ohne das Taste-EIN-Ereignis entspricht nicht der Musikspielvorschrift.
  • Zur Vermeidung eines solchen Falls während der Periode nach der Übertragung des Taste-EIN-Ereignisses zu dem Zeitpunkt t1 und vor der Übertragung des Taste-AUS-Ereignisses zu dem Zeitpunkt t4 werden Rückgewinnungsdaten in einem vorgegebenen Zeitintervall in diesem Beispiel zu den Zeitpunkten t2 und t3 periodisch übertragen.
  • Die Rückgewinnungsdaten sind Bestätigungsdaten, welche die Empfängerseite von einer Fortsetzung eines Taste-EIN-Zustands in Kenntnis setzen. Sogar wenn das Taste- EIN-Ereignis zu dem Zeitpunkt t1 nicht empfangen werden konnte, wird das Taste-EIN-Ereignis aktiviert, wenn die Rückgewinnungsdaten zu dem Zeitpunkt t2 empfangen werden, obgleich es eine geringe Verzögerung von Zeitpunkt t1 gibt. Sogar wenn das Taste-EIN-Ereignis sowohl zu den Zeitpunkten t1 als auch t2 nicht empfangen werden kann, wird es in ähnlicher Weise bei dem Zeitpunkt t3 aktiviert, wenn die Rückgewinnungsdaten empfangen werden.
  • Im allgemein schwächt sich ein Musiktonsignal mit der Zeit ab. Es wird daher bevorzugt, die Rückgewinnungs-Tastendaten mit der Information einer herabgesetzten Geschwindigkeit (Lautstärke), die dem Zeitverlauf entspricht, zu übertragen. Die Geschwindigkeitsinformation ist immer in dem Taste-EIN-Ereignis enthalten und wird zusammen mit dem Taste-EIN-Ereignis übertragen. In diesem Beispiel werden Taste-EIN-Ereignisse (Rückgewinnungs-Tastendaten) mit allmählich herabgesetzten Geschwindigkeiten in der Reihenfolge der Zeitpunkte t1, t2 und t3 übertragen.
  • Ein Kommunikationsfehler eines Taste-EIN-Ereignisses kann daher durch die Rückgewinnungs-Tastendaten beseitigt werden. Ein Rückgewinnungs-Verfahren, das zu verwenden ist, wenn das Taste-AUS-Ereignis zu dem Zeitpunkt t4 verlorengeht, wird nachfolgend beschrieben.
  • Es ist möglich, Taste-AUS-Rückgewinnungsdaten nach dem Taste-AUS-Ereignis ähnlich dem Rückgewinnungs-Verfahren für das Taste-EIN-Ereignis zu übertragen. Die Zeitdauer eines Taste-AUS ist jedoch viel länger als die eines Taste-EIN jeder Taste der Tastatur. Wenn die Rückgewinnungs-Tastendaten nach dem Taste-AUS-Ereignis übertragen werden, bis das nächste Taste-EIN-Ereignis auftritt, wird die Menge dieser Rückgewinnungsdaten übermäßig.
  • Die Rückgewinnungs-Tastendaten für das Taste-EIN-Ereignis werden während der Periode nach dem Taste-EIN-Zeitpunkt t1 und vor dem Taste-AUS-Zeitpunkt t4 übertragen und werden nicht nach dem Taste-AUS-Zeitpunkt t4 übertragen. Dass die Rückgewinnungs-Tastendaten nicht übertragen werden, bedeutet, dass eine Taste-AUS-Ereignis bereits stattgefunden hat. Wenn daher der Homecomputer 9 kein Taste-AUS-Ereignis zu dem Zeitpunkt t4 empfangen kann, aber detektieren kann, dass die Rückgewinnungs-Tastendaten nicht periodisch übertragen werden, wird entschieden, dass der Tasten-Zustand gegenwärtig ein Taste-AUS ist.
  • Wenn die Rückgewinnungs-Tastendaten nicht periodisch empfangen werden können während des Taste-EIN, kann der Homecomputer 9 entscheiden, dass es einen Kommunikationsfehler gegeben hat und aktiviert das Taste-AUS so, dass eine falsche Fortsetzung der Tonwiedergabe vermieden werden kann. Die Beurteilung wird durch Bezug auf den in 2 gezeigten Taste-EIN-Puffer 21a durchgeführt und diesbezügliche Details werden nachfolgend bezugnehmend auf das Flußdiagramm beschrieben.
  • Ähnlich zu der Taste-EIN und Taste-AUS-Rückgewinnung können die Rückgewinnungs-Tongenerator-Einstelldaten zur Rückgewinnung von verlorengegangenen Rückgewinnungs-Tongenerator-Einstelldaten bezugnehmend auf den in 2 gezeigten Torgenerator-Einstellpuffer 21b erhalten werden.
  • 4 zeigt das Format eines Kommunikations-Pakets. Ein Kommunikations-Paket wird von der in 1 gezeigten Kodiereinheit 3, 5 übertragen oder von dem in 1 gezeigten Homecomputer 9 empfangen.
  • Das Paket besteht aus einem Kopffeld 41 und einem Datenfeld 42. Das Kopffeld 41 enthält Kontrollsummen 43 von zwei Wörtern (ein Wort ist 16 Bits), Daten ID 44 von vier Wörtern, eine Sequenznummer 45 von vier Wörtern, Zeitdaten 46 von vier Wörtern und eine Ereignisdatenlänge 47 von zwei Wörtern.
  • Die Kontrollsummen 43 sind repräsentative Werte aller Daten in dem Kopffeld 41 mit Ausnahme der Kontrollsummen und in dem Datenfeld 42. Die Übertragungsseite berechnet diese repräsentativen Werte und überträgt ein Paket, das den Kontrollsummen 43 hinzugefügt ist. Die Empfangsseite berechnet die repräsentativen Werte von Daten in dem Paket wieder und prüft, ob die wieder berechneten repräsentativen Werte sich mit den übertragenen Kontrollsummen 43 decken. Wenn sie sich decken, wird entschieden, dass es keinen Kommunikationsfehler gibt.
  • Das Datum ID 44 ist eine Zahl zur Identifizierung der Art des Datenfelds 42. Die Zahlen "0", "1" und "2" kennzeichnen MIDI-Daten und die Zahl "3" kennzeichnet Bilddaten. Die Zahl "0" kennzeichnet reale Ereignisdaten (gewöhnliche MDI-Daten), die Zahl "1" kennzeichnet die Rückgewinnungs-Tastendaten (3) und die Zahl "2" kennzeichnet die Rückgewinnungs-Tongenerator-Einstelldaten.
  • Die Sequenznummer 45 ist eine Nummer, die jedem Paket in der sequentiellen Reihenfolge zugewiesen wird. Durch überprüfen der Sequenznummer 45 kann die Empfangsseite die Pakete zurückgewinnen oder neu ordnen, sogar wenn die Reihenfolge der Pakete sich durch Kommunikationsfehler geändert hat.
  • Die Zeitdaten 46 kennzeichen eine Wiedergabezeit, wobei 1 ms durch ein Bit repräsentiert wird. Da diese Daten 46 vier Wörter aufweisen, kann die Zeitinformation von 100 Stunden oder länger gegeben werden. Die Verwendung dieser Zeitinformation 46 ermöglicht einen simultanen Besuch einer Vielzahl von Konzertsälen. Einem simultanen Musikspiel kann zu Hause zugehört werden, durch das Zuweisen der Zeitinformation 46 als einer Musikspielzeit in jedem Konzertsaal und durch Schaffen einer Synchronisation zwischen einer Vielzahl von Konzertsälen. Obgleich die Zeitinformation 46 vorzugsweise eine absolute Zeit ist, kann sie eine relative Zeit sein, die von allen Konzertsälen gemeinsam verwendet wird.
  • Die Ereignisdatenlänge 47 kennzeichnet die Länge von Daten in dem Datenfeld 42.
  • Das Datenfeld 42 enthält reale Daten 48, welche MIDI-Daten oder Bilddaten sind. Die MIDI-Daten enthalten die Rückgewinnungs-Tastendaten und die Rückgewinnungs-Tongenerator-Einstelldaten.
  • Eine hohe Kommunikationsgeschwindigkeit wird bevorzugt, zum Beispiel 64 kBits/s (ISDN). Die Datenlänge eines Pakets ist nicht eingeschränkt. Es sind vorzugsweise etwa 1 KBytes oder 512 Bytes unter dem Gesichtspunkt der Kommunikationseffizienz.
  • 5 ist ein Flußdiagramm, das die Operation eines durch die Kodiereinheit 3 auszuführenden Übertragungsprozesses veranschaulicht.
  • In Schritt SA1 werden MIDI-Daten von dem MIDI-Musikinstrument 2 empfangen. In Schritt SA2 werden die empfangenen Daten im RAM 21 zwischengespeichert.
  • In Schritt SA3 wird die Art eines Ereignisses der empfangenen Daten geprüft. Die Art eines Ereignisses schließt ein Tast-EIN-Ereignis, ein Taste-AUS-Ereignis und ein Tongenerator-Einstelldaten-Ereignis ein. Wenn die Art ein Taste-EIN ist, schreitet der Programmfluß zu Schritt SA6 fort, in welchem das Taste-EIN-Ereignis in dem Taste- EIN-Puffer 21a (2) registriert wird, worauf der Schritt SA7 folgt.
  • Wenn die Art ein Taste-AUS ist, schreitet der Programmfluß zu Schritt SA4 fort, in welchem der Taste-EIN-Puffer 21a gesucht wird. Wenn dort der gleiche Tastenkode (Tonhöhe) ist, wird das entsprechende Taste-EIN-Ereignis aus dem Taste-EIN-Puffer 21a gelöscht, worauf der Schritt SA7 folgt.
  • Wenn die Art Tongenerator-Einstelldaten sind, schreitet der Programmfluß zu Schritt SA5 fort, in welchem die Tongenerator-Einstelldaten in dem Tongenerator-Einstellpuffer 21b (2) registriert werden, worauf der Schritt SA7 folgt. Die Tongenerator-Einstelldaten enthalten Programmänderungsdaten, Steuerdaten, Exklusiv-Nachrichtendaten und dergleichen.
  • In Schritt SA7 werden, wie in 4 gezeigt ist, die empfangenen MIDI-Daten zu Kontrollsummen 43, Daten ID (Nr. 0) 44, die reale Ereignisdaten bezeichnen, einer Sequenznummer 45, Zeitddaten 46 des Zeitgebers 24 (2) und einer Ereignislänge 47 addiert. In diesem Fall können eine Vielzahl von Ereignissen der gleichen Art, die zu im allgemeinen der gleichen Zeit erzeugt werden, erfaßt werden und in einem zu übertragendes Paket angeordnet werden. Nach Schritt SA7 wird der Übertragungsprozeß beendet.
  • Mittels Verwendung des gleichen Prozesses überträgt die Kodiereinheit 4 Bilddaten. In diesem Fall ist das Datum ID 44 Nr. 3.
  • 6A und 6B sind Flußdiagramme, die den Unterbrechungsprozeß zeigen, der von der Kodiereinheit 3 auszuführen ist. Dieser Unterbrechungsprozeß wird bei einem vorgegebenen Intervall im Ansprechen auf den von dem Zeitgeber 24 zugeführten Zeittakt durchgeführt. Der Unterbrechungsprozeß wird beispielsweise in einem Intervall von 100 bis 200 μs durchgeführt.
  • 6A ist ein Flußdiagramm, das den Übertragungsprozeß der Rückgewinnungs-Tastendaten veranschaulicht.
  • In Schritt SB1 wird der Taste-EIN-Puffer 21a (2) gesucht. In Schritt SB2 werden die Taste-EIN-Ereignisdaten in den Taste-EIN-Puffer 21a paketiert, wie in 4 gezeigt, und als Rückgewinnungsdaten übertragen. In diesem Fall wird eine Geschwindigkeit (Tonlautstärke), die geringer ist als die, die in den Taste-EIN-Puffer 21a gespeicherten Taste-EIN-Ereignisdaten enthalten ist, auf die Rückgewinnungsdaten eingestellt, wobei die Geschwindigkeit um eine Größe geringer eingestellt wird, die der verstrichenen Zeit vom Beginn des Taste-EIN-Ereignissses entspricht.
  • Das Datum ID 44 in dem Paket ist Nr. 1, wodurch die Rückgewinnungs-Tastendaten bezeichnet sind. Die Sequenznummer 45 dieses Paket ist die gleiche, wie die der realen Ereignisdaten (5). Nachdem die Rückgewinnungs-Tastendaten übertragen sind, wird der Prozeß vor diesem Unterbrechungsprozeß wiederaufgenommen.
  • 6B ist ein Flußdiagramm, das den Übertragungsprozeß der Rückgewinnungs-Tongeneratordaten veranschaulicht. Eine relativ geringe Zeitgenauigkeit wird für diesen Übertragungsprozeß benötigt, so dass der Prozeß in einem Intervall durchgeführt werden kann, das länger ist als das des Rückgewinnungs-Tastendaten-Übertragungsprozesses (6A).
  • In Schritt SC1 wird der Tongenerator-Einstell-Puffer 21b (2) gesucht. In Schritt SC2 werden die Ereignisdaten in den Tongenerator-Einstell-Puffer 21b paketiert, wie in 4 gezeigt, und als Rückgewinnungs-Tongenerator-Einstellinformation übertragen.
  • Das Datum ID 44 in dem Paket ist Nr. 2, wodurch die Rückgewinnungs-Tongenerator-Einstelldaten bezeichnet sind. Die Sequenznummer 45 dieses Paket ist die gleiche, wie die der realen Ereignisdaten (5) und Rückgewinnungs-Tastendaten (6A). Nachdem die Rückgewinnungs-Tongenerator-Einstelldaten übertragen sind, wird der Prozeß vor diesem Unterbrechungsprozeß wiederaufgenommen.
  • 7 ist ein Flußdiagramm, das den durch den Homecomputer 9 auszuführenden Empfangsprozeß zeigt.
  • In Schritt SD1 werden Daten aus dem Internet empfangen. In Schritt SD2 werden die Kontrolllsummen 43 (4) in dem empfangenen Paket überprüft. Wenn sie sich nicht decken, liegt(liegen) ein Datenfehler oder Fehler vor.
  • In Schritt SD3 wird überprüft, ob das Überprüfungsergebnis der Kontrollsummen normal oder fehlerhaft ist. Wenn ein Fehler vorliegt, bedeutet dies, dass die Daten in dem Paket einen Fehler oder mehrere haben, so dass der Programmfluß zu Schritt SD9 fortschreitet, um den Prozeß zu beenden, ohne irgendeine Operation durchzuführen. Ein Nichtdurchführen einer Operation und Verwerfen der Daten mit geringer Zuverlässigkeit ist effektiv, da keine falsche Tonwiedergabe und Einstellung durchgeführt werden.
  • Wenn die Kontrollsummen normal sind, sind die Daten in dem Paket zuverlässig, so dass der Programmfluß zu Schritt SD4 fortschreitet, in welchem die Sequenznummer 45 (4) in dem Paket überprüft wird. Bei normaler Kommunikation nimmt die Sequenznummer 45 jedesmal zu, wenn ein Paket empfangen wird. Die Reihenfolge von Sequenznummern der empfangenen Pakete ändert sich jedoch, wenn es einen Kommunikationsfehler oder mehrere gibt.
  • In Schritt SD5 wird geprüft, ob die empfangenen Daten die richtige Sequenznummer 45 aufweisen und die aktuelle Zeit des Homecomputers 9 die gleiche ist oder eine spätere als die Wiedergabezeit 46 (4). Bei einem simultanen Besuch einer Vielzahl von Konzertsälen, kann es bei einem Konzertsaal vorkommen, dass dessen Zeitdaten 46 noch nicht die Wiedergabezeit sind. Wenn die aktuelle Zeit die gleiche wird wie die der Zeitdaten 46, ist eine der vorherigen Überprüfungsbedingungen erfüllt.
  • Wenn die aktuelle Zeit vor der Wiedergabezeit 46 liegt, schreitet der Programmfluß zu Schritt SD10 fort, in welchem die empfangenen Daten im RAM zur Vorbereitung auf einen späteren Prozeß zum richtigen Zeitpunkt gepuffert oder zwischengespeichert werden. Nach Schritt SD10 wird der Empfangsprozeß beendet.
  • Wenn es erforderlich ist, die empfangenen Daten wiederzugeben, schreitet der Programmfluß zu Schritt SD6, in welchem ein Ereignisprozeß ausgeführt wird. Der Ereignisprozeß wird für MIDI-Daten und Bilddaten durchgeführt, die Details desselben werden nachfolgend bezugnehmend auf das Flußdiagramm aus 8 beschrieben.
  • In Schritt SD7 wird die Sequenznummer vorwärtsgezählt. In Schritt SD8 wird überprüft, ob Daten in dem Puffer in Schritt SD10 zwischengespeichert vorliegen, ob die Daten die richtige Sequenznummer 45 aufweisen, und ob die aktuelle Zeit des Homecomputers 9 die gleiche ist oder eine spätere als die Wiedergabezeit 46.
  • Wenn keine wiederzugebenden Daten vorhanden sind, wird der Wiedergabeprozeß beendet, wogegen wenn wiederzugebende Daten vorliegen, der Programmfluß zu Schritt SD6 zurückkehrt, um die vorhergehenden Prozesse bei Schritt SD6 und SD7 durchzuführen. Die empfangenen Daten, deren Reihenfolge durch einen Kommunikations-Fehler geändert wurde, können in der vorhergehenden Weise geeignet bearbeitet werden. Wenn der Puffer keine wiederzugebenden Daten hat, wird der Empfangsprozeß beendet.
  • Wenn Daten einer vorgegebenen Menge oder mehr in dem Puffer gespeichert sind, wird entschieden, dass die Daten mit der am nächsten zu bearbeiteten Sequenznummer verlorengegangen sind, der Prozeß für diese Daten wird übersprungen und der Prozeß für die Daten mit der nächsten Sequenznummer wird durchgeführt.
  • 8 ist ein Flußdiagramm, das eine detaillierte Operation des Ereignisprozesses in Schritt SD6 aus 7 zeigt.
  • In Schritt SE1 wird die Nummer der Daten ID 44 (4) geprüft. Wenn die Nummer "0" ist, bedeutet das reale Ereignisdaten und der Programmfluß schreitet zu Schritt SE2 fort, in welchem die Art des Ereignisses geprüft wird. Die Art eines Ereignisses schließt ein Taste-EIN-Ereignis, ein Taste-AUS-Ereignis und ein Tongenerator-Einstelldaten-Ereignis ein.
  • Wenn die Art des Ereignisses ein Taste-EIN ist, schreitet der Programmfluß zu Schritt SE3, in welchem das Taste-EIN-Ereignis in dem Taste-EIN-Puffer 21a (2) registriert und zu dem Tongenerator übertragen wird. Nach Empfang des Taste-EIN-Ereignisses führt der Tongenerator einen Prozeß zum Starten einer Tonwiedergabe durch. Danach kehrt der Prozeß zu dem in 7 gezeigten Schritt SD7 zurück.
  • Wenn die Art des Ereignisses eine Taste-AUS ist, schreitet der Programmfluß zu Schritt SE4, in welchem der Taste-EIN-Puffer 21 gesucht wird. Wenn der gleiche Tastenkode (Tonhöhe) vorhanden ist, wird das Taste-EIN-Ereignis in dem Taste-EIN-Puffer 21a gelöscht und das Taste-AUS-Ereignis wird zu dem Tongenerator übertragen. Nach Empfang des Taste-AUS-Ereignisses führt der Tongenerator einen Prozeß zum Stoppen einer Tonwiedergabe durch. Danach kehrt der Prozeß zu dem in 7 gezeigten Schritt SD7 zurück.
  • Wenn die Art des Ereignisses Tongenerator-Einstelldaten sind, schreitet der Programmfluß zu Schritt SE5, in welchem die Tongenerator-Einstelldaten in dem Tongenerator-Einstell-Puffer 21b (2) registriert und zu dem Tongenerator übertragen werden. Nach Empfang der Tongenerator-Einstelldaten stellt der Tongenerator eine Klangfarbe, eine Tonlautstärke und dergleichen ein. Danach kehrt der Prozeß zu dem in 7 gezeigten Schritt SD7 zurück.
  • Wenn die Nummer der Daten ID "1" ist, bedeutet das, dass die empfangenen Daten Rückgewinnungs-Tastendaten sind und der Programmfluß schreitet zu Schritt SE6 fort, in welchem die Rückgewinnungs-Tastendaten mit dem entsprechenden Taste-EIN-Ereignis in dem Taste-EIN-Puffer 21a verglichen werden und verschiedene Punkte zwischen diesen werden als ein neues Taste-EIN-Ereignis verwendet, welches in dem Taste-EIN-Puffer 21a registriert und zu dem Tongenerator übertragen wird. Auf diese Weise kann ein durch einen Kommunikationsfehler verlorengegangenes Taste-EIN-Ereignis wiedergewonnen werden.
  • In Schritt SE7 wird ein Empfang von Rückgewinnungs-Tastendaten registriert. Diese Registrierung ermöglicht, dass der Taste-EIN-Status bestätigt wird, bis die Rückgewinnungs-Tastendaten nach dem Taste-AUS nicht periodisch übertragen werden. Wenn die Rückgewinnungs-Tastendaten nicht periodisch übertragen werden, sogar wenn ein Taste-EIN-Ereignis in dem Taste-EIN-Puffer vorhanden ist, bedeutet dies, dass das Taste-AUS-Ereignis verlorengegangen ist. Danach kehrt der Prozeß zu dem in 7 gezeigten Schritt SD7 zurück.
  • Wenn die Nummer der Daten ID "2" ist, bedeutet das, dass die empfangenen Daten Tongenerator-Einstelldaten sind und der Programmfluß schreitet zu Schritt SE8 fort, in welchem die Rückgewinnungs-Tongenerator-Einstelldaten mit den entsprechenden Tongenerator-Einstelldaten in dem Tongenerator-Einstell-Puffer 21b verglichen werden und verschiedene Punkte zwischen diesen werden als ein neues Tongenerator-Einstelldaten-Ereignis verwendet, welches in dem Tongenerator-Einstell-Puffer 21b registriert und zu dem Tongenerator übertragen wird. Auf diese Weise können durch einen Kommunikationsfehler verlorengegangene Tongenerator-Einstelldaten wiedergewonnen werden. Danach kehrt der Prozeß zu dem in 7 gezeigten Schritt SD7 zurück.
  • Wenn die Nummer der Daten ID "3" ist, bedeutet das, dass die empfangenen Daten Bilddaten sind und der Programmfluß schreitet zu Schritt SE9 fort, in welchem ein Prozeß zum Anzeigen der Bilddaten auf der Anzeigevorrichtung durchgeführt wird. Die Bilddaten werden mit einer niedrigeren Priorität als die MIDI-Daten bearbeitet. Grundsätzlich wird ein Anzeigebild in der Einheit eines Rahmens bearbeitet. Um den MIDI-Daten eine Priorität vor den Bilddaten zu geben, kann das Anzeigebild ein stehendes Bild sein. Danach kehrt der Prozeß zu dem in 7 gezeigten Schritt SD7 zurück. Wenn die Nummer der Daten ID "4" ist, bedeutet das, dass die empfangenen Daten Tondaten sind und der Programmfluß schreitet zu Schritt SE10 fort, in welchem ein Prozeß zur Wiedergabe der Tondaten durchgeführt wird.
  • 9 ist ein Flußdiagramm, das die Operation eines Unterbrechungsprozesses zeigt, der von dem Homecomputer 9 auszuführen ist. Dieser Unterbrechungsprozeß wird in vorgebenen Intervallen im Ansprechen auf einen von dem Zeitgeben 24 zugeführten Zeittakt durchgeführt. Der Unterbrechungsprozeß wird beispielsweise in einem Zeitintervall von 100 bis 200 μs durchgeführt.
  • In Schritt SF1 wird der Taste-EIN-Puffer 21a (2) gesucht. In Schritt SF2 wird von in dem Taste-EIN-Puffer 21a (2) gespeicherten Taste-EIN-Ereignissen dasjenige Taste-EIN-Ereignis, dem Rückgewinnungs-Tastendaten für eine vorgegebene Periode nicht übertragen wurden, gelöscht und ein Taste-AUS-Ereignis wird dem Tongenerator übertragen. Nachdem das Taste-AUS-Ereignis übertragen ist, kehrt der Prozeß zu dem Prozeß zurück, welcher vor diesem Unterbrechungsprozeß ausgeführt wurde. Die vorgegebene Periode kann ein Zeitdauer sein, die zum Empfangen der Rückgewinnungs-Tastendaten wenigstens zweimal ausreicht.
  • Bei dem vorhergehenden Rückgewinnungsprozeß kann eine fehlerhafte Fortsetzung einer Tonwiedergabe vermieden werden, sogar wenn ein Taste-AUS-Ereignis durch einen Kommunikationsfehler verlorengegangen ist. Die Beurteilung, dass Rückgewinnungs-Tastendaten für die vorgegebene Periode nicht empfangen werden, wird möglich, weil der Empfang der Rückgewinnungsdaten in Schritt SE7 in 8 registriert wird.
  • Da die Rückgewinnungs-Tastendaten und Rückgewinnungs-Tongenerator-Einstelldaten (nachfolgend werden beide Daten zusammen Rückgewinnungs-Daten bezeichnet) übertragen werden, wird eine geeignete Rückgewinnung gewährleistet, sogar wenn Daten geändert sind oder Daten verlorengegangen sind.
  • Als Nächstes wird ein Verfahren zum Herabsetzen der Verkehrsüberlastung von Kommunikationsleitungen beschrieben. Für die Übertragung von Musikspieldaten und Rückgewinnungsdaten fließt eine ziemlich große Datenmenge in einer Kommunikationsleitung des Netzwerkes. Die Anzahl der Benutzer, die zum gleichen Zeitpunkt auf den Server zugreifen, um an dem Musikkonzert teilzunehmen, ist ebenfalls sehr groß.
  • Unter solchen Umständen kann eine gleichmäßige Wiedergabe eines Musikspiel durch den Homecomputer 9 jedes Benutzers in einigen Fällen unmöglich werden. Um die Überlastung von Kommuniationsleitungen herabzusetzen, reduziert jeder von einer Vielzahl von in 1 gezeigten Proxy-Servern 12 die Datenmenge entsprechend dem Überlastungsgrad der Kommunikationsleitungen.
  • Wenn die Datenmenge reduziert ist, wird die Tonqualität oder Bildqualität herabgesetzt. In diesem Zusammenhang hat jeder Proxy-Server 12 einen Daten-Reduktionfaktor, ein Daten-Reduktionsverfahren und die Anzahl von zugreifenden Benutzern, die für diesen Proxy-Server 12 spezifisch ist.
  • Wenn die Anzahl der auf den Proxy-Server 12 zugreifenden Benutzer gering ist, reduziert der Proxy-Server die Datenmenge nicht, wogegen, wenn die Anzahl der zugreifenden Benutzer groß wird, der Proxy-Server die Datenmenge reduziert und reduzierte Daten überträgt.
  • Die folgenden Verfahren können zur Reduzierung der Datenmenge verwendet werden.
  • (1) Daten-Trennung
  • Der Proxy-Server empfängt die Musiktondaten (MIDI-Daten), Bilddaten und Toninformation (Audiodaten). Die Bilddaten erfordern eine nicht so hohe Bildqualität, wie die MIDI-Daten. Daher kann der Proxy-Server nur MIDI-Daten und Toninformation übertragen mittels Trennen der empfangenen Daten in MIDI-Daten, Toninformation und Bilddaten. Jede der MIDI-Daten, Toninformation und Bilddaten kann in ähnlicher Weise weiter getrennt werden, um nur notwendige Daten zu übertragen. Der überlastete Verkehr der Kommunikationsleitungen kann durch Übertragen nur der wichtigen Daten entlastet werden.
  • (2) Daten-Diskriminierung
  • Der Proxy-Server kann die Prioritäts-Reihenfolge von Daten ermitteln und wichtige Daten vorzugsweise übertragen. Insbesondere wenn Kommunikationsleitungen überlastet sind, werden nur wichtige Daten während dieser Periode übertragen und während einer späteren Periode werden die nicht wichtigen Daten übertragen.
  • Obgleich dieses Verfahren nicht die Gesamtdatenmenge reduziert, kann die während jeder Periode übertragene Datenmenge reduziert werden.
  • Zum Beispiel ist ein Verlust eines Taste-AUS-Ereignissses ein fataler Fehler im Vergleich zu einem Verlust eines Taste-EIN-Ereignisses. Das Taste-AUS-Ereignis hat einen höheren Grad an Wichtigkeit von Daten. Der Proxy-Server kann das empfangene Datenpaket in ein Taste-AUS-Ereignis und andere Daten trennen, um zuerst das Taste-AUS-Ereignis und dann die anderen Daten zu übertragen.
  • Wenn ein Paket sowohl ein Taste-EIN-Ereignis als auch ein Taste-AUS-Ereignis enthält und das aus dem Paket abgetrennte Taste-AUS-Ereignis zuerst übertragen wird und dann das Taste-EIN-Paket übertragen wird, ist diese Übertragungsreihenfolge nicht richtig. In diesem Fall werden daher beide Ereignisse vorzugsweise nicht übertragen. Wenn es gleichfalls irgendeine Diskrepanz bei einer bevorzugten Übertragung gibt, wird eine notwendige Gegenmaßnahme erforderlich.
  • (3) Daten-Auflösungseinstellung
  • Um die Datenmenge zu reduzieren, kann der Proxy-Server Daten in einer niedrigen Auflösung an den Benutzer übertragen. Wenn beispielsweise die Tonlautstärke um eine Stufe ansteigt, wenn die Zeit fortschreitet, werden die Daten mit einer niedrigen Auflösung, bei der die Lautstärke um zwei Stufen ansteigt, mit der halben Datenmenge übertragen. Die Auflösung kann nicht nur für die Tonlautstärke sondern auch für andere Steuerdaten (von den Steuereinheiten gelieferte Daten), wie beispielsweise ein Tonhöhenereignis und ein Aftertouch-Ereignis, herabgesetzt werden. Unterschiedliche Auflösungen können entsprechend der Art einer Steuereinheit eingestellt werden, um die Gesamtauflösung einer Vielzahl von Steuerdaten-Sätzen herabzusetzen.
  • (4) Zeit-Auflösungseinstellung
  • Die Rückgewinnungsdaten werden periodisch übertragen. Der Proxy-Server kann daher die Periode der Übertragung von Rückgewinnungsdaten verlängern, um die Datenmenge zu reduzieren. Die Übertragungsrate der Bilddaten kann herabgesetzt werden. Zum Beispiel können acht Bilder pro Sekunden auf vier Bilder pro Senkunde herabgesetzt werden, um die Datenmenge zu reduzieren.
  • Nachfolgend wird der Proxy-Server beschrieben. Der Aufbau des Proxy-Servers ist ähnlich dem des in 2 gezeigten Computers. Der Tongenerator 28 und die MIDI-Schnittstelle 30 sind nicht notwendigerweise erforderlich.
  • 10 zeigt die Struktur eines RAM des in 1 gezeigten Proxy-Servers 12.
  • Ein RAM von jedem einer Vielzahl von Proxy-Servern 12a, 12b, 12c, ... speichert die folgenden Daten.
  • (1) Die Anzahl der aktuellen Zugriffe: 51
  • Die Zahl 51 von aktuellen Zugriffen ist die Anzahl der Benutzer (Kommunikation-Leitungen), die momentan auf den Proxy-Server zugreifen, und ändert sich mit der Zeit. Die Zugriffszahl wird anfänglich auf "0" eingestellt, sie nimmt zu wie die Anzahl der zugreifenden Benutzer zunimmt und nimmt ab wie die Anzahl der zugreifenden Benutzer abnimmt.
  • (2) Überlauf-Kennzeichen: 52
  • Das Überlauf-Kennzeichen 52 zeigt an, ob der Proxy-Server in einem Überlauf-Zustand ist. Das Überlauf-Kennzeichen wird anfänglich auf "0" eingestellt, was kein Überlauf bedeutet. Wenn die Anzahl von auf den Proxy-Server zugreifender Benutzer eine zulässige Zugriffszahl 54, die später zu beschreiben ist, erreicht, wird das Überlauf-Kennzeichen 52 auf "1" eingestellt.
  • (3) Aktueller Ausdünnungsindex: 53
  • Der aktuelle Ausdünnungsindex 53 ist ein aktuell eingestellter Ausdünnungsindex. Dieser kennzeichnet einen Datenreduktion(nachfolgend auch als Datenausdünnung)-Index und ein Ausdünnungs-Verfahren. Der Ausdünnungsindex 53 wird anfänglich auf eingestellt, was keine Daten-Ausdünnung bedeutet. Tabelle 1 zeigt Beispiele von Ausdünnungsindices. Tabelle 1
    Ausdünnungs-Index Ausdünnungs-Verfahren
    0 alle Daten sind übertragen (keine Ausdünnung)
    1 Jedes dritte Rückgewinnungs-Tongenerator-Einstelldatum wird übertragen
    2 Jedes vierte Rückgewinnungs-Tongenerator-Einstelldatum wird übertragen
    m Jedes dritte Rückgewinnungs-Tastendatum wird übertragen
    n Auflösung der Steuerdaten wird auf 1/2 eingestellt
    n + 1 Auflösung der Steuerdaten wird auf 1/4 eingestellt
    z Bildaten werden nicht übertragen
  • Eine Kombination von irgendeinem der Ausdünnungs-Indices kann als ein Ausdünnungsindex verwendet werden.
  • (4) Zulässige Zugriffszahl: 54
  • Die zulässige Zugriffszahl 54 ist die Maximalanzahl von Benutzern (Kommunikationsleitungen), die auf den Proxy-Server zugreifen können, und diese kann irgendeinen gewünschten Wert annehmen. Die zulässige Zugriffszahl entspricht der maximalen Zugriffskapazität des Proxy-Servers.
  • (5) Zulässiger Ausdünnungsindex: 55
  • Der zulässige Ausdünnungsindex 55 ist der maximal zulässige Wert eines Ausdünnungsindex, der von dem Proxy-Server erlaubt wird. Vorzugsweise ist der zulässige Ausdünnungsindex der zulässige Maximalwert einer Gesamtausdünnung durch jedes gewichtete Ausdünnungs-Verfahren. Der Ausdünnungsindex entspricht zum Beispiel einem Ausdünnungsquotienten und je größer der Index ist, desto größer ist der Ausdünnungsquotient. Jeder Proxy-Server kann seinen spezifischen zulässigen Ausdünnungsindex in Entsprechung zu der Zugriffszahl bestimmen.
  • (6) Tabellennummer: 56
  • Die Tabellennummer 56 ist die Nummer einer Tabelle, die eine Korrespondenz zwischen der Zugriffszahl und dem Ausdünnungsindex zeigt. 11 zeigt Beispiele von charakterischen Kurven 60a, 60b und 60c von drei Tabellen. Jede Tabelle zeigt eine Korrespondenz zwischen der Zugriffszahl und dem Ausdünnungsindex. Es wird bevorzugt, dass je größer die Zugriffszahl ist, desto größer ist der Ausdünnungsindex und desto größer ist die Datenreduktionmenge. Die charakterischen Kurven 60a bis 60c müssen nicht notwendigerweise einen kontinuierlichen Wert annehmen, aber können einen diskreten Wert annehmen. Der Wert des Ausdünnungsindex zeigt nicht immer die Datenreduktionsmenge an, so dass es nicht zwigend erforderlich ist, einen größeren Wert anzunehmen, wenn die Zugriffszahl ansteigt. Diese Tabellen sind in einem Speicher (z. B., einem RAM) gespeichert.
  • Eine Vielzahl von Tabellen (z. B., drei Tabellen 60a bis 60c) werden vorbereitet und die Nummer der Tabelle, die am geeignetsten für den Proxy-Server ist, wird als die Tabellennummer 56 verwendet.
  • (7) Adresse eines nächsten Anwärter-Proxy-Servers: 57
  • Die Adresse eines nächsten Anwärter-Proxy-Servers 57 ist eine Adresse des nächsten Anwärter-Proxy-Servers in Verbindung mit den späteren Überläufen. Wenn ein Benutzer auf einen Proxy-Server zugreift und dieser Server am Überlaufen ist, wird dieser Zugriff automatisch auf den Proxy-Server umgeschaltet, der durch die Adresse eines nächsten Anwärter-Proxy-Servers bezeichnet wird.
  • 12 ist ein Flußdiagramm, das die Operation des Proxy-Servers zeigt, wenn ein Benutzer auf diesen zugreift.
  • In Schritt SG1 werden, wenn ein Zugriff von einem Benutzen (Client) festgestellt wird, die Prozesse in Schritt SG2 und die drauffolgenden Schritte durchgeführt. Beim Zugreifen auf den Proxy-Server, kann ein Benutzer MIDI-Daten, Toninformation und Bilddaten erhalten.
  • In Schritt SG2 wird überprüft, ob das Überlauf-Kennzeichen 52 (10) "0" oder "1" ist. Wenn das Überlauf-Kennzeichen "1" ist, bedeutet dies, dass die Zugriffszahl größer als die zulässige Zugriffszahl ist und der Programmfluß schreitet zu Schritt SG6.
  • In Schritt SG6 wird der Zugriff auf den nächsten Anwärter-Proxy-Server, der durch die Adresse eines nächsten Anwärter-Proxy-Servers 57 (10) bezeichnet wurde, umgeschaltet. Der Benutzer wird nämlich automatisch auf den nächsten Proxy-Server umgeschaltet. Wenn der nächste Anwärter-Proxy-Server ebenfalls am überlaufen ist, wird auf den zweiten nächsten Anwärter-Proxy-Server zugegriffen. Auf diese Weise wird, wenn der Proxy-Server, auf den zugegriffen wird, überlastet ist, der Zugriff automatisch auf den nicht überlasteten Proxy-Server umgelegt. Nachdem der Zugriff auf eine anderen Proxy-Server umgelegt ist, beendet der Proxy-Server, auf den zuerst zugegriffen wurde, seine Operation.
  • Wenn in Schritt SG2 entschieden wurde, dass das Überlauf-Kennzeichen "0" ist, bedeutet das, dass die Zugriffszahl dieses Proxy-Servers kleiner als die zulässige Zugriffszahl ist und der Programmfluß schreitet zu Schritt SG3.
  • In Schritt SG3 wird die aktuelle Zugriffszahl 51 (10) um 1 inkrementiert. Die Zugriffszahl 51 ist die Anzahl von Benutzern, die aktuell auf den Proxy-Server zugreifen. Jedesmal wenn ein Zugriff von einem Benutzer zugelassen wird, inkrementiert der Proxy-Server die Zugriffszahl 51 um 1.
  • Dann wird unter Bezugnahme auf die Tabelle (11), die durch die Tabellennummer 56 (10) bezeichnet wird, der Ausdünnungsindex, der der aktuellen Zugriffszahl 51 entspricht, erhalten und in den Speicher als der aktuelle Ausdünnungsindex 53 geschrieben. Wenn der erhaltene Ausdünnungsindex der gleiche ist wie der vorher verwendete, kann die Schreiboperation weggelassen werden. Wenn die Zugriffszahl groß wird, wird der Ausdünnungsindex mit einem großen Ausdünnungsquotienten ausgewählt.
  • In Schritt SG4 wird geprüft, ob die aktuelle Zugriffszahl 51 die gleiche ist wie die zulässige Zugriffszahl 54 (10). Wenn sie gleich ist, schreitet der Programmfluß zu Schritt SG5 fort, in welchem das Überlauf-Kennzeichen 52 auf "1" eingestellt wird, um so die Zugriffszahl nicht um mehr zu erhöhen als die zulässige Zugriffszahl. Wenn sie nicht gleich ist, wird das Überlauf-Kennzeichen auf "0" belassen. Die vorhergehende Operation durch den Proxy-Server wird daher beendet.
  • 13 ist ein Flußdiagramm, das die Operation des Proxy-Servers zeigt, wenn ein Benutzer seinen Zugriff freigibt.
  • Wenn eine Zugriffsfreigabe durch einen Benutzer (Client) in Schritt SH1 festgestellt wird, werden die Prozesse in Schritt SH2 und drauffolgende Schritte durchgeführt.
  • In Schritt SH2, wird die aktuelle Zugriffszahl 51 (10) um eins dekrementiert. Jedesmal wenn eine Zugriffsfreigabe durch einen Benutzer festgestellt wird, dekrementiert der Proxy-Server die Zugriffszahl 51 um 1.
  • Dann wird unter Bezugnahme auf die Tabelle (11), die durch die Tabellennummer 56 (10) bezeichnet wird, der Ausdünnungsindex, der der aktuellen Zugriffszahl 51 entspricht, erhalten und in den Speicher als der aktuelle Ausdünnungsindex 53 geschrieben. Wenn der erhaltene Ausdünnungsindex der gleiche ist wie der vorher verwendete, kann die Schreiboperation weggelassen werden. Wenn die Zugriffszahl klein wird, wird der Ausdünnungsindex mit einem kleinen Ausdünnungsquotient ausgewählt.
  • In Schritt SH3 wird überprüft, ob das Überlauf-Kennzeichen 52 (10) "1" ist. Wenn das Überlauf-Kennzeichen "1" ist, schreitet der Programmfluß zu Schritt SH4, um das Überlauf-Kennzeichen auf "0" einzustellen, um so einen neuen Zugriff zu erlauben. Wenn das Überlauf-Kennzeichen "0" ist, wird es auf "0" beibehalten. Danach wird die vorher beschriebene Operation durch den Proxy-Server beendet.
  • Das Überlauf-Kennzeichen muß nicht in Schritt SH3 geprüft werden, und das Überlauf-Kennzeichen wird auf "1" eingestellt, unabhängig davon ob der Überlaufwert "1" oder "0" ist. Auch in diesem Fall kann eine zu der vorhergehenden äquivalente Operation realisiert werden.
  • 14 ist ein Flußdiagramm, das die Operation des Proxy-Servers zeigt, wenn dieser Daten von dem Haupt-Server empfängt.
  • In Schritt SI1 empfängt der Proxy-Server Daten in Paketform von dem Haupt-Server 7 (1). Die Daten enthalten Musiktondaten (einschließlich von Rückgewinnungsdaten), Toninformation und Bilddaten. Der Proxy-Server empfängt Daten, die nicht ausgedünnt sind. Bei einer Vielzahl von Proxy-Servern empfangen alle die gleichen Daten.
  • In Schritt SI2 wird in Entsprechung zu dem aktuellen Ausdünnungsindex 53 (10) ein Ausdünnungs-Verfahren (Zustand) ermittelt. Wenn zum Beispiel der Ausdünnungsindex "0" ist, werden die Daten nicht ausgedünnt.
  • In Schritt SI3 werden in Entsprechung zu den ermittelten Ausdünnungs-Verfahren die vorgegebenen Daten aus dem Datenfeld 42 (4) des empfangenen Pakets gelöscht.
  • In Schritt SI4 werden die Kontrollsummen 43, Datenlänge 47 und dergleichen in dem Paket-Kopffeld 41 (4) erneuert, um die Daten in Übereinstimmung zu bringen, deren vorgegebene Daten gelöscht wurden.
  • In Schritt SI5 wird das erneuerte Paket zu dem WWW-Server 8 (1) übertragen. Der WWW-Server 8 empfängt die vorgegebenen ausgedünnten Daten. Alle die Proxy-Server, die die gleichen Daten von dem Haupt-Server 7 empfangen, können unterschiedliche Ausdünnungsoperationen durchführen, um Daten zu dem WWW-Server zu übertragen. Die vorher beschriebenen Prozesse durch den Proxy-Server werden danach beendet.
  • 15 ist ein Flußdiagramm, das die Operation des Proxy-Servers zeigt, wenn dieser die Rückgewinnungs-Daten ausdünnt. Wenn Rückgewinnungs-Daten empfangen werden, wird ein Rückgewinnungs_Zeitregister auf "0" eingestellt und danach wird dieses um 1 inkrementiert, jedesmal wenn eine vorgegebene Zeit verstrichen ist. Das Rückgewinnungs_Zeitgeberregister zeigt die verstrichene Zeit an, nachdem die vorhergehenden Rückgewinnungs-Daten empfangen werden.
  • In Schritt SJ1 wird geprüft, ob das von dem Haupt-Server 7 empfangene Paket Rückgewinnungs-Daten sind. Die Überprüfung wird durchgeführt bezugnehmend auf die Daten ID 44 (4). Wenn der Wert der Daten ID "1" oder "2" ist, ist das empfangene Paket Rückgewinnungs-Daten. Dieses Flußdiagramm zeigt die Operation des Ausdünnens von Rückgewinnungs-Daten, und wenn Daten, die nicht Rückgewinnungs-daten sind, empfangen werden, wird dieser Prozeß sofort beendet. Wenn die Rückgewinnungs-Daten empfangen werden, schreitet der Programmfluß zu Schritt SJ2 fort.
  • In Schritt SJ2 wird geprüft, ob der Wert des Rückgewinnungs_Zeitgeberregisters größer als die Zeit ist, die von dem Ausdünnungsindex bezeichnet wurde. Das Rückgewinnungs_Zeitgeberregister zeigt die verstrichene Zeit an, nachdem die vorhergehenden Rückgewinnungs-Daten empfangen wurden. Die durch den Ausdünnungsindex bezeichnete Zeit entspricht der Periode des Übertragens der Rückgewinnungs-Daten.
  • Wenn der Wert des Rückgewinnungs_Zeitgeberregisters größer als die durch den Ausdünnungsindex bezeichnete Zeit ist, schreitet der Programmfluß zu Schritt SJ3 fort.
  • In Schritt SJ3 wird das empfangene Paket zu dem WWW-Server 8 übertragen. In Schritt SJ4 wird das Rückgewinnungs_Zeitgeberregister auf "0" eingestellt, um den vorher beschriebenen Prozeß zu beenden. Das Rückgewinnungs_Zeitgeberregister wird einen vorgegebenen Zeitintervall durch einen Unterbrechungsprozeß vorwärtsgezählt. Dieser Unterbrechungsprozeß wird bei dem vorgegebenen Zeitintervall durch den in 2 gezeigten Zeitgeber 24 freigegeben.
  • Wenn in Schritt SJ2 entschieden wird, dass der Wert des Rückgewinnungs_Zeitgebers nicht größer als die durch den Ausdünnungsindex bezeichnete Zeit ist, bedeutet dies, dass die vorgegebene Zeit noch nicht verstrichen ist und der Programmfluß schreitet zu Schritt SJ5.
  • In Schritt SJ5 wird das gesamte Datenfeld der empfangenen Daten gelöscht und nur das Kopffeld wird belassen. In Schritt SJ6 wird das Paket, das nur aus dem Kopffeld besteht zu dem WWW-Server 8 übertragen, um danach die vorher beschriebenen Prozesse zu beenden.
  • Bei der vorhergehenden Operation wird das Paket mit nur dem Kopffeld übertragen. Stattdessen kann das Paket selbst nicht übertragen werden, um die Datenmenge weiter zu reduzieren. In diesem Fall ist es jedoch erforderlich, zu beurteilen, ob das Paket durch Ausdünnen gelöscht ist oder durch einen Kommunikationsfehler verloren gegangen ist. Wenn das Paket durch einen Kommunikationsfehler verlorengegangen ist, ist es notwendig, es zurückzugewinnen, wogegen wenn es durch Ausdünnen gelöscht worden ist, ist es unnötig, es zurückzugewinnen.
  • Anstelle des Vorwärtszählens des Wertes des Rückgewinnungs_Zeitgeberregisters durch den Unterbrechungsprozeß, kann die Anzahl der Empfänge von Rückgewinnungs-Daten aus dem Haupt-Server gezählt werden. Zum Beispiel von drei Empfängen von Rückgewinnungs-Daten von dem Haupt-Server werden die Rückgewinnungs-Daten, die bei den ersten und zweiten Malen empfangen wurden, gelöscht und die Pakete mit nur dem Kopffeld werden übertragen und für die Rückgewinnungs-Daten, die beim dritten Mal empfangen werden, werden sowohl das Kopf- als auch die Datenfelder übertragen. Mittels dieses Prozesses ist es nicht erforderlich, den Wert des Rückgewinnungs_Zeitgeberregisters durch den Unterbrechungsprozeß zu zählen.
  • Um den Prozeß zu vereinfachen, müssen die Sequenznummer 45 und Zeitdaten 46 in dem Paket nicht erneuert werden. Wenn in Gegnsatz dazu die Datenqualität verbessert werden soll, können die Sequenznummer 45 und Zeitdaten 46 erneuert werden. Diese zusätzliche Datenerneuerung kann die Daten, die durch Kommunikationsfehler verlorengegangen sind, wie beispielsweise Datenverlust und Datenänderung, zuverlässiger wiederherstellen.
  • 16 ist ein Flußdiagramm, das die Operation des Proxy-Servers zeigt, wenn ein Taste-AUS-Ereignis mit einer Priorität vor dem Taste-EIN-Ereignis übertragen wird.
  • In Schritt SK1 werden die Taste-AUS-Ereignisdaten von dem Paket hergeleitet, das von dem Haupt-Server empfangen wurde, und der Programmfluß schreitet zu Schritt SK2 fort. Wenn das Paket keine Taste-AUS-Ereignisdaten enthält, wird das gesamte empfangene Paket zu dem WWW-Server 8 übertragen.
  • In Schritt SK2 wird ein neues Paket mit dem Datenfeld, das nur die hergeleiteten Taste-AUS-Ereignisdaten enthält, erzeugt.
  • In Schritt SK3 wird das neu erzeugte Paket zu dem WWW-Server 8 übertragen.
  • In Schritt SK4 wird das restliche Paket mit den Taste-AUS-Ereignisdaten, die gelöscht werden, zu dem WWW-Server 8 übertragen, um danach die vorher beschriebenen Prozesse beendet. Bei den vorhergehenden Prozessen werden die Daten in dem Paket in Taste-AUS-Ereignisdaten und andere Daten getrennt, zuerst werden in Schritt SK3 vorzugsweise die Taste-AUS-Ereignisdaten übertragen und dann werden in Schritt SK4 die anderen Daten übertragen.
  • Wenn der Übertragungszeitpunkt in Schritt SK4 gegenüber dem Übertragungszeitpunkt in Schritt SK3 verzögert ist, können Daten in einer verteilten Weise übertragen werden, die Verkehrsüberlastung kann herabgesetzt werden in Vergleich zu dem Fall, bei dem all die Daten zu der gleichen Zeit übertragen werden.
  • 17 ist ein Flußdiagramm, das die Operation des Proxy-Servers zeigt, wenn dieser Daten durch Löschen der Bilddaten überträgt.
  • In Schritt SL1 wird geprüft, ob das von dem Haupt-Server empfangene Paket Bilddaten sind. Diese Überprüfung wird realisiert durch Bezugnahme auf die Daten ID 44 (4). Wenn der Wert des Datums ID "3" ist, sind das empfangene Paket Bilddaten. Dieses Flußdiagramm veranschaulicht die Operation des Löschens von Bilddaten, und wenn Daten empfangen werden, die keine Bilddaten sind, wird dieser Prozeß sofort beendet. Wenn die Bilddaten empfangen werden, schreitet der Programmfluß zu Schritt SL2.
  • In Schritt SL2 wird das Datenfeld des empfangenen Paket gelöscht und nur das Kopffeld wird belassen. In Schritt SL3 wird ein Paket mit nur dem Kopffeld zu dem WWW-Server 8 übertragen, um danach den vorhergehenden Prozeß zu beenden.
  • Auch in diesem Fall muß, anstelle des Übertragens des Pakets mit nur dem Kopffeld, das Paket selbst nicht übertragen werden, um die Datenmenge weiter zu reduzieren.
  • 18 ist ein Flußdiagramm, das die Operation des Proxy-Servers zeigt, wenn dieser Daten durch Herabsetzen der Auflösung überträgt.
  • In Schritt SM1 werden die auszudünnenden Daten von dem Paket, das von dem Hauptserver empfangen wurde, hergeleitet und der Programmfluß schreitet zu Schritt SM2 fort. Die auszudünnenden Daten enthalten Steuerdaten, wie beispielsweise Lautstärkedaten, Tonhöhen-Ereignisdaten und Aftertouch-Ereignisdaten. Wenn das Paket keine auszudünnende Daten enthält, wird das gesamte empfangene Paket zu dem WWW-Server 8 übertragen.
  • In Schritt SM2 werden die Daten in Werte konvertiert, die einer bezeichneten Auflösung entsprechen. Wenn zum Beispiel ein Auflösung 1/4 ist, werden die Datensätze vom gleichen Typ in dem Paket alle mit 1/4 multipliziert und die Dezimalbrüche werden abgeschnitten.
  • Von Datensätzen mit dem gleichen konvertierten Wert wird in Schritt SM3 nur ein Datensatz in dem Paket belassen und alle anderen Datensätze werden gelöscht. Das resultierende Paket wird zu dem WWW-Server übertragen.
  • Die auszudünnenden Daten können einer Moduln-Berechnung unterzogen werden und nur der Datensatz mit dem Berechnungsergebnis "0" kann belassen werden, um alle anderen Datensätze zu löschen.
  • Bei einer Vielzahl von Arten von auszudünnenden Datensätzen kann jeder Art eine unterschiedliche Auflösung zugewiesen werden.
  • Bei der im vorhergehenden beschrieben Ausführungsform können eine Musikspielinformation (MIDI-Daten), Tondaten (Audiodaten) und ein Musikspielbild (Bilddaten) in einem Konzertsaal zu einer Anzahl von Benutzern unter Verwendung des Internets geliefert werden. Ein Benutzer kann MIDI-Daten und Bilddaten in Echtzeit nach Hause erhalten, ohne in den entfernten Konzertsaal zu gehen.
  • Wenn die Kodiereinheit bei jeder einer Vielzahl von Konzertsälen Zeitdaten zu MIDI-Daten und dergleichen hinzufügt, wird ein simultaner Besuch von einer Vielzahl von Konzertsälen möglich.
  • Jeder von einer Vielzahl von Proxy-Servern reduziert die Datenmenge entsprechend der Anzahl der Zugriffe auf den Proxy-Server, so dass die Verkehrsüberlastung herabgesetzt werden kann. Wenn die Anzahl der Proxy-Server angehoben wird, kann die Verkehrsüberlastung gemindert werden, ohne die Daten auszudünnen. Wenn die Daten ausgedünnt werden, kann die Verkehrsüberlastung gemindert werden, sogar wenn die Anzahl der Proxy-Sever klein ist.
  • Wenn die Datenmenge reduziert wird, wird die Tonqualität und Bildqualität heruntergesetzt. In Verbindung damit kann jeder Proxy-Server einen Daten-Ausdünnungsquotienten und -Verfahren, das für den Proxy-Server am geeignetsten ist, auswählen und kann die gewünschte Anzahl an zugreifenden Benutzern einstellen.
  • Der Proxy-Server überträgt Information von Daten-Ausdünnungsquotienten und -Verfahren an einen Anwender, so dass diese Information auf dem Bildschirm der Anzeigevorrichtung eines Homecomputers angezeigt werden kann. Zum Beispiel kann "Nun mit herabgesetzter Tonqualität", "Nun mit nur Musiktondaten" oder dergleichen angezeigt sein. Diese Anzeige wird vorzugsweise gemacht, wenn ein Benutzer auf den Proxy-Server zugreift. Ein Benutzer kann auf einen gewünschten Proxy-Server durch Bezugnahme auf diese Anzeige zugreifen.
  • Ein Spiegel-Server wird auch in dem Internet verwendet. Dieser Spiegel-Server unterscheidet sich von dem Proxy-Server der Ausführungsform darin, dass alle Spiegel-Server die gleiche Operation ausführen und die gleichen Daten liefern.
  • Die Ausführungsform ist nicht auf das Internet beschränkt, sondern andere Kommunikations-Systeme können ebenfalls verwendet werden, zum Beispiel digitale serielle Nachrichtenübertragungen gemäß IEEE1394-Spezifikationen, Nachrichten-Satelliten und dergleichen.
  • Die vorliegende Erfindung wurde im Zusammenhang mit bevorzugten Ausführungsformen beschrieben. Die Erfindung ist nicht nur auf die vorher beschriebenen Ausführungsformen beschränkt. Es ist offensichtlich, dass verschiedene Modifikationen, Verbesserungen, Kombinationen und dergleichen von Experten auf diesem Gebiet durchgeführt werden können, ohne dabei von dem Umfang der Erfindung, wie sie durch die anhängenden Ansprüche definiert ist, abzuweichen.

Claims (17)

  1. Echtzeit-Musiktondaten-Übertragungsvorrichtung, umfassend: – Empfangsmittel zum Empfangen von Daten, die mindestens Spieldaten enthalten; – Zugriffsanzahlerfassungsmittel zum Erfassen einer Anzahl von Leitungen, über die von externen Vorrichtungen auf die Übertragungsvorrichtung zugegriffen wird; und – Übertragungsmittel zum Verringern eines Teils der empfangenen Daten durch Ausführen einer Datentrennung, einer Datenunterscheidung, einer Datenauflösungseinstellung oder einer Zeitauflösungseinstellung oder einer Kombination hiervon an spezifischen Daten der von den Empfangsmitteln empfangenen Daten gemäß der erfassten Anzahl der Zugriffsleitungen und Übertragen der verringerten Daten an mindestens eine der Zugriffsleitungen.
  2. Übertragungsvorrichtung nach Anspruch 1, wobei das Übertragungsmittel ferner Informationen bezüglich der Verringerung des Teils der Daten überträgt.
  3. Übertragungsvorrichtung nach Anspruch 1, wobei die Übertragungsvorrichtung ferner Zugriffssteuerungsmittel zum Entgegennehmen eines neuen Zugriffs auf die Übertragungsvorrichtung von einer externen Vorrichtung aufweist, wenn die Anzahl von Zugriffsleitungen kleiner als eine spezifische Zahl ist, und zum Wechseln des neuen Zugriffs auf eine andere Übertragungsvorrichtung, wenn die Anzahl von Zugriffsleitungen mindestens die spezifizierte Zahl ist.
  4. Übertragungsvorrichtung nach Anspruch 1, wobei die Übertragungsmittel unterschiedliche Daten, von denen ein Teil verringert ist, an jede der mindestens zwei Zugriffsleitungen übertragen.
  5. Übertragungsvorrichtung nach Anspruch 4, wobei sich die unterschiedlichen Daten, von denen ein Teil verringert ist und die an jede der mindestens zwei Zugriffsleitungen übertragen werden, in der Datenqualität unterscheiden.
  6. Übertragungsvorrichtung nach Anspruch 1, wobei die mindestens Spieldaten enthaltenden Daten Spieldatenblöcke umfassen, die durch Paketieren der Spieldaten erzeugt werden, wobei jeder Spieldatenblock Zeitdaten enthält, die eine Zeit repräsentieren.
  7. Echtzeit-Musiktondaten-Übertragungsvorrichtung nach Anspruch 6, wobei die Zeitdaten der Erzeugungszeit eines Musiktons entsprechen, der gemäß den Spieldaten erzeugt wird.
  8. Echtzeit-Musiktondaten-Übertragungsvorrichtung nach einem der Ansprüche 1 bis 7, wobei die Spieldaten Musiktonsteuerdaten zum Steuern der Erzeugung eines Musiktons sind.
  9. Echtzeit-Musiktondaten-Übertragungsvorrichtung nach Anspruch 8, wobei die Musiktonsteuerdaten MIDI-Daten sind.
  10. Echtzeit-Musiktondaten-Übertragungsvorrichtung nach Anspruch 9, wobei die MIDI-Daten durch ein Live-Spiel in Echtzeit auf einem elektronischen Musikinstrument erzeugt werden.
  11. Echtzeit-Musiktondaten-Übertragungsvorrichtung nach Anspruch 10, wobei die Empfangsmittel die erzeugten MIDI-Daten enthaltenden Daten in Echtzeit empfangen.
  12. Echtzeit-Musiktondaten-Übertragungsvorrichtung nach einem der Ansprüche 9 bis 11, wobei die Empfangsmittel die erzeugten MIDI-Daten als ein Spieldatenblock empfangen, der durch ein Paketierungsereignis der MIDI-Daten erzeugt wird.
  13. Echtzeit-Musiktondaten-Übertragungsvorrichtung nach einem der Ansprüche 1 bis 12, wobei die mindestens Spieldaten enthaltenden und von den Empfangsmitteln empfangenen Daten ferner mindestens Filmdaten und Klangdaten enthalten, die von einer externen Übertragungsvorrichtung in Echtzeit erzeugt werden.
  14. Echtzeit-Musiktondaten-Übertragungsvorrichtung nach Anspruch 13, wobei die Klangdaten durch Abtasten von Klang in Echtzeit erzeugt werden.
  15. Echtzeit-Musiktondaten-Übertragungsvorrichtung nach Anspruch 14, wobei der Klang mindestens einen Klang eines Musikinstruments oder einen Singstimmenklang oder beides enthält.
  16. Echtzeit-Musiktondaten-Übertragungsverfahren, mit den folgenden Schritten: (a) Empfangen von Daten, die mindestens Spieldaten enthalten; (b) Erfassen einer Anzahl von Leitung, über die von externen Vorrichtungen auf eine Übertragungsvorrichtung zugegriffen wird; und (c) Verringern eines Teils der empfangenen Daten durch Ausführen einer Datentrennung, Datenunterscheidung, Datenauflösungseinstellung oder Zeitauflösungseinstellung oder einer Kombination hiervon an spezifischen Daten der im Empfangsschritt (a) empfangenen Daten gemäß der erfassten Anzahl der Zugriffsleitungen und Übertragen der verringerten Daten an mindestens eine der Zugriffsleitungen.
  17. Speichermedium, auf dem ein Programm gespeichert ist, das bei seiner Ausführung auf einem Computer den Computer dazu veranlasst, einen Echtzeit-Musiktondaten-Übertragungsprozess auszuführen, der die folgenden Anweisung enthält: (a) Empfangen von Daten, die mindestens Spieldaten enthalten; (b) Erfassen einer Anzahl von Leitung, über die von externen Vorrichtungen auf eine Übertragungsvorrichtung zugegriffen wird; und (c) Verringern eines Teils der empfangenen Daten durch Ausführen einer Datentrennung, Datenunterscheidung, Datenauflösungseinstellung oder Zeitauflösungseinstellung oder einer Kombination hiervon an spezifischen Daten der im Empfangsschritt (a) empfangenen Daten gemäß der erfassten Anzahl der Zugriffsleitungen und Übertragen der verringerten Daten an mindestens eine der Zugriffsleitungen.
DE69738543T 1996-12-27 1997-12-22 Echtzeitdurchgabe von Musiktoninformation Expired - Lifetime DE69738543T2 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP34993996 1996-12-27
JP34993996 1996-12-27
JP5960097 1997-03-13
JP5960097 1997-03-13

Publications (2)

Publication Number Publication Date
DE69738543D1 DE69738543D1 (de) 2008-04-10
DE69738543T2 true DE69738543T2 (de) 2009-02-19

Family

ID=26400652

Family Applications (3)

Application Number Title Priority Date Filing Date
DE69710569T Expired - Lifetime DE69710569T2 (de) 1996-12-27 1997-12-22 Echtzeitsübertragung von Musiktoninformation
DE69734404T Expired - Lifetime DE69734404T2 (de) 1996-12-27 1997-12-22 Echtzeitdurchgabe von Musiktoninformation
DE69738543T Expired - Lifetime DE69738543T2 (de) 1996-12-27 1997-12-22 Echtzeitdurchgabe von Musiktoninformation

Family Applications Before (2)

Application Number Title Priority Date Filing Date
DE69710569T Expired - Lifetime DE69710569T2 (de) 1996-12-27 1997-12-22 Echtzeitsübertragung von Musiktoninformation
DE69734404T Expired - Lifetime DE69734404T2 (de) 1996-12-27 1997-12-22 Echtzeitdurchgabe von Musiktoninformation

Country Status (5)

Country Link
US (4) US6574243B2 (de)
EP (4) EP0855697B1 (de)
DE (3) DE69710569T2 (de)
HK (1) HK1036140A1 (de)
SG (2) SG74037A1 (de)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0855697B1 (de) * 1996-12-27 2002-02-20 Yamaha Corporation Echtzeitsübertragung von Musiktoninformation
AU6471400A (en) * 1999-08-05 2001-03-05 Yamaha Corporation Music reproducing apparatus, music reproducing method and telephone terminal device
JP3582444B2 (ja) * 2000-01-28 2004-10-27 ヤマハ株式会社 音楽情報データ通信方法、音楽情報データ送信装置、音楽情報データ受信装置および記憶媒体
US6646195B1 (en) * 2000-04-12 2003-11-11 Microsoft Corporation Kernel-mode audio processing modules
US6961631B1 (en) * 2000-04-12 2005-11-01 Microsoft Corporation Extensible kernel-mode audio processing architecture
US6849794B1 (en) * 2001-05-14 2005-02-01 Ronnie C. Lau Multiple channel system
JP3726712B2 (ja) 2001-06-13 2005-12-14 ヤマハ株式会社 演奏設定情報の授受が可能な電子音楽装置及びサーバ装置、並びに、演奏設定情報授受方法及びプログラム
JP3712056B2 (ja) 2001-08-06 2005-11-02 ヤマハ株式会社 電子音楽装置のカスタム化方法および電子音楽装置用サーバ
FR2829655B1 (fr) * 2001-09-10 2003-12-26 Digigram Systeme de transmission de donnees audio, entre un module maitre et des modules esclaves, par l'intermediaire d'un reseau de communication numerique
DE60306018T2 (de) * 2002-04-19 2007-01-11 Yamaha Corporation, Hamamatsu System und Gerät zur Kommunikationsverwaltung
EP1365386A1 (de) * 2002-05-20 2003-11-26 Jinglebell Communication S.R.L. Verwaltung von digitalem Klang
US7147367B2 (en) * 2002-06-11 2006-12-12 Saint-Gobain Performance Plastics Corporation Thermal interface material with low melting alloy
JP3894062B2 (ja) * 2002-07-11 2007-03-14 ヤマハ株式会社 楽曲データ配信装置、楽曲データ受信装置及びプログラム
US7169996B2 (en) * 2002-11-12 2007-01-30 Medialab Solutions Llc Systems and methods for generating music using data/music data file transmitted/received via a network
US7379608B2 (en) * 2003-12-04 2008-05-27 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung, E.V. Arithmetic coding for transforming video and picture data units
US7599435B2 (en) * 2004-01-30 2009-10-06 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Video frame encoding and decoding
US7586924B2 (en) * 2004-02-27 2009-09-08 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for coding an information signal into a data stream, converting the data stream and decoding the data stream
JP2006119320A (ja) * 2004-10-21 2006-05-11 Yamaha Corp 電子音楽装置システム、サーバ側電子音楽装置およびクライアント側電子音楽装置
US7297858B2 (en) * 2004-11-30 2007-11-20 Andreas Paepcke MIDIWan: a system to enable geographically remote musicians to collaborate
IL165817A0 (en) * 2004-12-16 2006-01-15 Samsung Electronics U K Ltd Electronic music on hand portable and communication enabled devices
JP5746811B2 (ja) * 2006-12-21 2015-07-08 味の素株式会社 大腸癌の評価方法、ならびに大腸癌評価装置、大腸癌評価方法、大腸癌評価システム、大腸癌評価プログラムおよび記録媒体
ES2539813T3 (es) * 2007-02-01 2015-07-06 Museami, Inc. Transcripción de música
CN102867526A (zh) * 2007-02-14 2013-01-09 缪斯亚米有限公司 用于分布式音频文件编辑的门户网站
US7718882B2 (en) * 2007-03-22 2010-05-18 Qualcomm Incorporated Efficient identification of sets of audio parameters
US8301790B2 (en) * 2007-05-30 2012-10-30 Randy Morrison Synchronization of audio and video signals from remote sources over the internet
EP2043088A1 (de) * 2007-09-28 2009-04-01 Yamaha Corporation Musikaufführungsystem für Musiksitzung und einzelne Musikinstrumente
WO2009103023A2 (en) 2008-02-13 2009-08-20 Museami, Inc. Music score deconstruction
US8918541B2 (en) * 2008-02-22 2014-12-23 Randy Morrison Synchronization of audio and video signals from remote sources over the internet
DE102008052175A1 (de) * 2008-10-17 2010-04-22 Siemens Aktiengesellschaft Verfahren zur Datenübertragung bei Prozessgeräten
EP2333778A1 (de) 2009-12-04 2011-06-15 Lg Electronics Inc. Digitale Datenwiedergabevorrichtung und Verfahren zu ihrer Steuerung
US9601097B2 (en) * 2014-03-06 2017-03-21 Zivix, Llc Reliable real-time transmission of musical sound control data over wireless networks
US11893898B2 (en) 2020-12-02 2024-02-06 Joytunes Ltd. Method and apparatus for an adaptive and interactive teaching of playing a musical instrument
US20240054911A2 (en) * 2020-12-02 2024-02-15 Joytunes Ltd. Crowd-based device configuration selection of a music teaching system
US11900825B2 (en) 2020-12-02 2024-02-13 Joytunes Ltd. Method and apparatus for an adaptive and interactive teaching of playing a musical instrument
IT202100020282A1 (it) * 2021-07-29 2023-01-29 Claudio Miello Un sistema per provare uno strumento musicale da remoto

Family Cites Families (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2538921B2 (ja) 1987-06-02 1996-10-02 日本放送協会 音楽演奏情報伝送方法および送信装置と受信装置
US5248842A (en) * 1988-12-30 1993-09-28 Kawai Musical Inst. Mfg. Co., Ltd. Device for generating a waveform of a musical tone
JP2969783B2 (ja) 1990-05-11 1999-11-02 ヤマハ株式会社 演奏情報送受信装置
US5257259A (en) 1990-06-06 1993-10-26 Yamaha Corporation Ring-type local area network
US5313011A (en) * 1990-11-29 1994-05-17 Casio Computer Co., Ltd. Apparatus for carrying out automatic play in synchronism with playback of data recorded on recording medium
JPH04316294A (ja) 1991-04-16 1992-11-06 Matsushita Electric Ind Co Ltd 可変長符号回路
JP2892532B2 (ja) * 1991-07-31 1999-05-17 株式会社リコス 音楽情報の高速処理装置
JPH0561491A (ja) * 1991-09-02 1993-03-12 Sanyo Electric Co Ltd カラオケ装置及びその記録媒体
JP2677470B2 (ja) * 1991-12-09 1997-11-17 株式会社河合楽器製作所 自動演奏システム
JPH0644155A (ja) 1992-07-22 1994-02-18 Daikin Ind Ltd 画像データ転送方法およびその装置
FR2694691B1 (fr) 1992-08-12 1994-10-21 Jean Unternaehrer Appareil de massage à jets de fluide pulsé.
US5325423A (en) * 1992-11-13 1994-06-28 Multimedia Systems Corporation Interactive multimedia communication system
JP3227850B2 (ja) * 1992-12-07 2001-11-12 ヤマハ株式会社 マルチアクセス型lan
JP3516406B2 (ja) * 1992-12-25 2004-04-05 株式会社リコス カラオケオーサリング装置
US5393926A (en) * 1993-06-07 1995-02-28 Ahead, Inc. Virtual music system
JP3159230B2 (ja) 1993-06-10 2001-04-23 日本電信電話株式会社 画像信号用可変レート符号化装置
DE4326789A1 (de) * 1993-08-10 1995-02-16 Steinberg Soft Und Hardware Gm Verfahren und Vorrichtung zur Verbindung von MIDI-Schnittstellen
JP3248792B2 (ja) 1993-08-26 2002-01-21 ヤマハ株式会社 カラオケネットワークシステムおよびカラオケ端末装置
JPH0765793A (ja) 1993-08-31 1995-03-10 Toshiba Lighting & Technol Corp メタルハライドランプおよび照明装置
JP3250336B2 (ja) * 1993-08-31 2002-01-28 ヤマハ株式会社 カラオケシステムおよびカラオケ端末装置
JP3432009B2 (ja) 1993-08-31 2003-07-28 キヤノン株式会社 通信方法及び装置
US5544228A (en) 1993-09-27 1996-08-06 The Walt Disney Company Method and apparatus for transmission of full frequency digital audio
JPH07152668A (ja) 1993-11-26 1995-06-16 Canon Inc 情報処理装置及び通信方法
US5867497A (en) * 1994-02-24 1999-02-02 Yamaha Corporation Network system having automatic reconstructing function of logical paths
JP3430630B2 (ja) * 1994-05-02 2003-07-28 ヤマハ株式会社 カラオケ演奏用双方向ディジタル通信システム
JPH07336375A (ja) * 1994-06-14 1995-12-22 Hitachi Ltd データ転送システム
US5768350A (en) * 1994-09-19 1998-06-16 Phylon Communications, Inc. Real-time and non-real-time data multplexing over telephone lines
JP3531238B2 (ja) 1994-10-11 2004-05-24 ヤマハ株式会社 音楽情報通信方式
CA2201909C (fr) * 1994-10-12 2006-05-02 Technical Maintenance Corporation Systeme de reproduction audiovisuelle numerique intelligent
US5793980A (en) * 1994-11-30 1998-08-11 Realnetworks, Inc. Audio-on-demand communication system
US6288991B1 (en) * 1995-03-06 2001-09-11 Fujitsu Limited Storage medium playback method and device
US5621660A (en) * 1995-04-18 1997-04-15 Sun Microsystems, Inc. Software-based encoder for a software-implemented end-to-end scalable video delivery system
JPH08289251A (ja) 1995-04-18 1996-11-01 Tec Corp マルチメディア処理装置
US6940486B2 (en) * 1995-08-03 2005-09-06 Vulcan Patents Llc Computerized interactor systems and methods for providing same
US5933430A (en) * 1995-08-12 1999-08-03 Sony Corporation Data communication method
US5835495A (en) * 1995-10-11 1998-11-10 Microsoft Corporation System and method for scaleable streamed audio transmission over a network
JP3008834B2 (ja) * 1995-10-25 2000-02-14 ヤマハ株式会社 歌詞表示装置
TW333644B (en) * 1995-10-30 1998-06-11 Victor Company Of Japan The method for recording musical data and its reproducing apparatus
US5808662A (en) * 1995-11-08 1998-09-15 Silicon Graphics, Inc. Synchronized, interactive playback of digital movies across a network
JP3087638B2 (ja) * 1995-11-30 2000-09-11 ヤマハ株式会社 音楽情報処理システム
JP3353595B2 (ja) * 1996-03-21 2002-12-03 ヤマハ株式会社 自動演奏装置およびカラオケ装置
US5983280A (en) 1996-03-29 1999-11-09 Light & Sound Design, Ltd. System using standard ethernet frame format for communicating MIDI information over an ethernet network
US5768527A (en) * 1996-04-23 1998-06-16 Motorola, Inc. Device, system and method of real-time multimedia streaming
US5892754A (en) * 1996-06-07 1999-04-06 International Business Machines Corporation User controlled adaptive flow control for packet networks
US5953005A (en) * 1996-06-28 1999-09-14 Sun Microsystems, Inc. System and method for on-line multimedia access
US5883957A (en) 1996-09-20 1999-03-16 Laboratory Technologies Corporation Methods and apparatus for encrypting and decrypting MIDI files
US6067566A (en) 1996-09-20 2000-05-23 Laboratory Technologies Corporation Methods and apparatus for distributing live performances on MIDI devices via a non-real-time network protocol
US5974376A (en) * 1996-10-10 1999-10-26 Ericsson, Inc. Method for transmitting multiresolution audio signals in a radio frequency communication system as determined upon request by the code-rate selector
US5922047A (en) * 1996-10-22 1999-07-13 Motorola, Inc. Apparatus, method and system for multimedia control and communication
US5986201A (en) * 1996-10-30 1999-11-16 Light And Sound Design, Ltd. MIDI monitoring
US5987496A (en) * 1996-12-03 1999-11-16 Mitsubishi Electric Information Technology Center America, Inc. (Ita) Real-time channel-based reflective memory
EP0855697B1 (de) * 1996-12-27 2002-02-20 Yamaha Corporation Echtzeitsübertragung von Musiktoninformation
US5900567A (en) * 1997-06-23 1999-05-04 Microsoft Corporation System and method for enhancing musical performances in computer based musical devices
US5886274A (en) * 1997-07-11 1999-03-23 Seer Systems, Inc. System and method for generating, distributing, storing and performing musical work files
US6188670B1 (en) * 1997-10-31 2001-02-13 International Business Machines Corporation Method and system in a data processing system for dynamically controlling transmission of data over a network for end-to-end device flow control
US6175872B1 (en) * 1997-12-12 2001-01-16 Gte Internetworking Incorporated Collaborative environment for syncronizing audio from remote devices

Also Published As

Publication number Publication date
US7050462B2 (en) 2006-05-23
US20030156600A1 (en) 2003-08-21
EP1126435B1 (de) 2005-10-19
DE69734404T2 (de) 2006-07-27
EP1533785A2 (de) 2005-05-25
EP1530196A3 (de) 2007-05-30
HK1036140A1 (en) 2001-12-21
EP0855697A1 (de) 1998-07-29
EP1533785A3 (de) 2007-05-16
SG118075A1 (en) 2006-01-27
US7072362B2 (en) 2006-07-04
US20020027931A1 (en) 2002-03-07
EP1126435A3 (de) 2001-08-29
EP1126435A2 (de) 2001-08-22
DE69710569D1 (de) 2002-03-28
US6574243B2 (en) 2003-06-03
SG74037A1 (en) 2000-07-18
DE69734404D1 (de) 2005-11-24
US20020027910A1 (en) 2002-03-07
EP1530196A2 (de) 2005-05-11
DE69710569T2 (de) 2002-10-31
EP0855697B1 (de) 2002-02-20
DE69738543D1 (de) 2008-04-10
US20020085546A1 (en) 2002-07-04
EP1530196B1 (de) 2008-02-27
US7158530B2 (en) 2007-01-02

Similar Documents

Publication Publication Date Title
DE69738543T2 (de) Echtzeitdurchgabe von Musiktoninformation
DE69634891T2 (de) Datenübertragungsverfahren für digitale Tonsignale
US6122617A (en) Personalized audio information delivery system
US6438611B1 (en) Network system for ensemble performance by remote terminals
DE602004011305T2 (de) Vorrichtung und Verfahren zur automatischen Klassifikation von musikalischen Kompositionen
DE69732195T2 (de) Karaokevorrichtung mit einem Server und einer Mehrzahl von Endgeräten für die Wiedergabe von Karaokemusik
DE69933273T2 (de) Informationserzeugungsverfahren zum schnellen Suchen von Packetdaten, Aufzeichnungsmedium mit denselben Informationen, und Aufzeichnungs- und/oder Wiedergabegerät unter Verwendung desselben
DE60220876T2 (de) Musikaufnahmegerät und Musikwiedergabegerät auf Basis von verschiedenen Musikdatensorten
US7543021B2 (en) Network conference system
DE60038535T2 (de) Verfahren und vorrichtung, speicherverfahren und - vorrichtung zur informationsbeschaffung und verarbeitung
WO2000039996B1 (en) System and method for visually identifying speaking participants in a multi-participant networked event
DE102007009814A1 (de) Datenauswahlsystem,Datenauswahlvorrichtung,Datenauswahlverfahren und Datenauswahlprogramm
DE69632695T2 (de) Verfahren und Vorrichtung zur Musiktonerzeugung
DE60212192T2 (de) Gerät zum wiedergeben von daten und verfahren zum wiedergeben von daten
JPH09185570A (ja) マルチメディアデータ取得再生方法及びシステム
DE69923752T2 (de) Vorrichtung zum Senden und Empfängen von Musikdaten und Speicherungsmittel
CN102017648B (zh) 元数据生成管理装置、元数据生成系统、元数据生成管理用集成电路及元数据生成管理方法
CN1123948A (zh) 音响效果控制方法,控制装置和利用该装置的卡拉ok装置
JPH07311583A (ja) データ伝送装置
US20020014147A1 (en) Communications apparatus for tone generator setting information
DE69918240T2 (de) Vorrichtung und verfahren zur tonerzeugung
DE60018971T2 (de) Verfahren und gerät zum aufbau eines telefonanrufes
DE69432631T2 (de) Multiplexieren in einem System zur Kompression und Expandierung von Daten
JP2003099035A (ja) 自動演奏装置、情報配信サーバ装置、及びそれらに用いるプログラム
JP3489448B2 (ja) マルチメディアプレゼンテーション方法及びシステム及びマルチメディアプレゼンテーションプログラムを格納した記憶媒体

Legal Events

Date Code Title Description
8364 No opposition during term of opposition