[go: up one dir, main page]

DE69625990T2 - Verarbeitungssystem für Musikinformation - Google Patents

Verarbeitungssystem für Musikinformation

Info

Publication number
DE69625990T2
DE69625990T2 DE69625990T DE69625990T DE69625990T2 DE 69625990 T2 DE69625990 T2 DE 69625990T2 DE 69625990 T DE69625990 T DE 69625990T DE 69625990 T DE69625990 T DE 69625990T DE 69625990 T2 DE69625990 T2 DE 69625990T2
Authority
DE
Germany
Prior art keywords
data
specific
memory
stored
supply 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
DE69625990T
Other languages
English (en)
Other versions
DE69625990D1 (de
Inventor
Masashi Hirano
Hideo Suzuki
Motoichi Tamura
Masatada Wachi
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
Publication of DE69625990D1 publication Critical patent/DE69625990D1/de
Application granted granted Critical
Publication of DE69625990T2 publication Critical patent/DE69625990T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10KSOUND-PRODUCING DEVICES; METHODS OR DEVICES FOR PROTECTING AGAINST, OR FOR DAMPING, NOISE OR OTHER ACOUSTIC WAVES IN GENERAL; ACOUSTICS NOT OTHERWISE PROVIDED FOR
    • G10K15/00Acoustics not otherwise provided for
    • 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
    • G10H7/00Instruments in which the tones are synthesised from a data store, e.g. computer organs
    • G10H7/002Instruments in which the tones are synthesised from a data store, e.g. computer organs using a common processing for different operations or calculations, and a set of microinstructions (programme) to control the sequence thereof
    • 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
    • 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/095Identification code, e.g. ISWC for musical works; Identification dataset
    • G10H2240/101User identification
    • G10H2240/105User profile, i.e. data about the user, e.g. for user settings or user preferences
    • 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/095Identification code, e.g. ISWC for musical works; Identification dataset
    • G10H2240/115Instrument identification, i.e. recognizing an electrophonic musical instrument, e.g. on a network, by means of a code, e.g. IMEI, serial number, or a profile describing its capabilities
    • 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/201Physical layer or hardware aspects of transmission to or from an electrophonic musical instrument, e.g. voltage levels, bit streams, code words or symbols over a physical link connecting network nodes or instruments
    • G10H2240/241Telephone transmission, i.e. using twisted pair telephone lines or any type of telephone network
    • 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/291SCSI, i.e. Small Computer System 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
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/541Details of musical waveform synthesis, i.e. audio waveshape processing from individual wavetable samples, independently of their origin or of the sound they represent
    • G10H2250/545Aliasing, i.e. preventing, eliminating or deliberately using aliasing noise, distortions or artifacts in sampled or synthesised waveforms, e.g. by band limiting, oversampling or undersampling, respectively
    • 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
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/541Details of musical waveform synthesis, i.e. audio waveshape processing from individual wavetable samples, independently of their origin or of the sound they represent
    • G10H2250/621Waveform interpolation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Electrophonic Musical Instruments (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • Reverberation, Karaoke And Other Acoustics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

  • Die vorliegende Erfindung bezieht sich generell auf ein Informationsverarbeitungssystem und im besonderen auf ein verbessertes Informationsverarbeitungssystem, das in der Lage ist, verschiedene Daten, wie beispielsweise Musikdaten, aus einem Netzwerksystem, Aufzeichnungsmedium oder dergleichen auf ein Datenendgerät effizient zu laden.
  • Durch weitverbreiteten Gebrauch von Computer-Netzwerken, wie beispielsweise Personalcomputer-Kommunikations-Netzwerken und dem Internet, sind verschiedene Kommunikationssysteme auf einer globalen Basis geschaffen worden, welche Systeme verschiedene Daten und Information unter Verwendung von Kommunikations- Netzwerken, wie beispielsweise einem Telefonleitungs-Netzwerk, verbinden. Die Verwendung solcher Kommunikations-Netzwerke ermöglicht sofortige und einfache Übertragung verschiedener Daten und Information. Es wurde auch sehr populär, Musikinformation mit Hilfe eines Personalcomputers zu verarbeiten. Zusätzlich zur Musik-"Sequenzer"-Software, wurde Karaoke (Singen zu aufgezeichneter Musik zur Unterhaltung)-Software entwickelt, die eine Karaoke-Aufführung unter Verwendung eines Personalcomputers ermöglicht. Bei Verwendung solcher Sequenzer- und Karaoke-Software ist die Art der effizienten Zuführung von Musikstückdaten (besonders der von neu herausgebrachten Musikstücken) zu dem Anwender ein sehr wichtiger Gesichtspunkt.
  • Die Anwender können gewünschte Musikdaten leicht und sofort über ein Kommunikations-Netzwerk erhalten. Eine erneuerte Version verschiedener Software, wie beispielsweise Karaoke- oder Tonerzeugungs-Software kann Anwendern sofort über ein Kommunikations-Netzwerk geliefert werden.
  • Nach dem bekannten Lösungsweg werden gewünschte Daten vom dem Netzwerk durch einen Anwender heruntergeladen, wobei zunächst die Daten von einem Daten- Dateiverzeichnis eines Host-Systems ausgewählt werden. Bei einem solchen Lösungsweg besteht jedoch die Tendenz, dass die gleichen Daten, die bereits beim Anwender (Endgerät) geliefert oder gespeichert sind, überlappend fehlerhaft heruntergeladen würden oder vollständig bedeutungslose Daten von dem Anwender ausgewählt werden könnten. Zudem erfordert der bekannte Lösungsweg eine mühsame Auswahloperation seitens des Anwenders und würde unbeabsichtigt den Netzwerk- Verkehr übermäßig vergrößern. Dies würde zu einer Verschwendung von Geld führen, dort wo ein zu bezahlendes Kommunikations-Netzwerk verwendet wird. Die gleichen Probleme könnten auftreten, wenn Daten von einer CD-ROM oder einem anderen Aufzeichnungsmedium in einem Personalcomputer geladen werden.
  • WO-A-9 208 192 offenbart ein System und Verfahren zum dynamischen Verbinden von Codesegmenten in Echtzeit. Es wird eine Technik zum Übertragen eines DSP- Programm-Moduls für Audio-Verarbeitung von einer Host-CPU auf einen gemeinsam genutzten Speicher beschrieben. Das bekannte System zielt darauf ab, die Erzeugung mehrerer verschiedener Töne zur gleichen Zeit zu ermöglichen. Um dies zu erreichen, müssen verschiedene unterschiedliche Programmquellencodes miteinander gleichzeitig verknüpft werden und in den gleichen Speicher geschrieben werden, ohne dabei den Programmcode löschen zu müssen, welcher augenblicklich durch die Host-CPU verarbeitet wird. Kurz gesagt, beschäftigt sich diese zitierte Schrift mit dem Problem, dass ein Speicher für eine Verarbeitung mehrerer unterschiedlicher Programmcodes gleichzeitig verwendet wird.
  • US-A-5 020 410 offenbart eine Tonerzeugungspaket und ein damit verbindbares elektronisches Musikinstrument. Die bekannte Technik enthält eine Konsolen-Einheit, die Timbreparameter für alle Arten von Tonquellengeräten, die mit dem Musikinstrument verbunden sind, editieren kann, ohne dabei ein Floppy-Disk- Laufwerk oder dergleichen zu verwenden. Folglich wird die Technik für ein auswechselbares Anschließen verschiedener Tonquellenpakete an ein elektronisches Musikinstrument verwendet, um zu ermöglichen, dass das Musikinstrument verschiedene Tonquellenfunktionen hat.
  • EP-A-0 484 043 offenbart ein Verfahren zum Übersetzen von MIDI-Dateien. Es wird eine Technik beschrieben, die bei einer Situation anzuwenden ist, in der eine Standard-MIDI-Datei in ein spezielles elektronisches Musikinstrument eingeführt wird und die MIDI-Datei eine Programmänderungsinformation enthält, nämlich eine Klangfarbenbezeichnungsinformation, die nicht zu der Klangfarben-Verarbeitungsmöglichkeit des speziellen elektronischen Musikinstruments paßt, welches die Programmänderungsinformation in eine konvertiert, die eine Klangfarbe bezeichnet, die in dem Musikinstrument verwendbar ist.
  • EP-A-0 465 246 offenbart eine Vorrichtung zum Wiedergeben einer Information von einem Speichermedium, das eine Technik zum Speichern einer Musikstückinformation und eine damit verbundene unterschiedliche andere Information auf einer CD-ROM verwendet und dann diese Information in eine Wiedergabevorrichtung zum Wiedergeben des Musikstückes liest.
  • US-A-5 250 747 offenbart eine Karaoke-Musikwiedergabevorrichtung, welche eine Technik verwendet, gemäß welcher Karaoke-Musikstückdaten von einem Host zu einem Endgerät über eine Kommunikations-Leitung übertragen werden und Bilddaten, die eine große Datenmenge aufweisen, auf einer Scheibe vorspeichert, damit ein Endgerät über diese verfügen kann.
  • Es ist daher ein Ziel der vorliegenden Erfindung, ein Musikinformations- Verarbeitungssystem bereitzustellen, das gestattet, dass ein Datenoptimum durch Bestimmen von System- und Programmverarbeitungsbedingungen in ein Anwender- System effizient geladen wird.
  • Es ist ein weiteres Ziel der vorliegenden Erfindung, ein Musikinformations- Verarbeitungssystem bereitzustellen, welches zur Lade-Verwaltung von Daten oder eines Programms in ein Anwendersystem ebenso wie von Datenbeschaffung aus einem Kommunikations-Netzwerk in das Anwendersystem angewendet wird und welches erlaubt, dass vorgegebene Daten und Programme von einem vorgegebenen Aufzeichnungsmedium in das System geladen werden.
  • Um die vorher erwähnten Ziele zu erreichen, stellt die vorliegende Erfindung ein Verfahren zur Datenübertragung, ein maschinenlesbares Speichermedium und ein Musikinformations-Verarbeitungssystem bereit, wie es jeweils in den unabhängigen Ansprüchen 1, 11 und 12 beansprucht ist.
  • In einem typischen Beispiel des vorher erwähnten Musikinformations- Verarbeitungssystems werden die Verarbeitungs- und Speicherabschnitte für ein Endgerät eines Anwenders bereitgestellt, während der Datenzuführabschnitt in einem Host-Gerät oder einem anderen Endgerät als eine Datenbank für den Zugriff über ein Kommunikations-Netzwerk vorgesehen ist. Alternativ kann der Verarbeitungsabschnitt in einem anderen Endgerät oder Host-Gerät sein, das mit dem Netzwerk verbunden ist, und der Speicherabschnitt kann in ein Endgerät inkorporiert oder mit dem Netzwerk verbunden sein.
  • Um den vorgegebenen Prozeß auszuführen, sind zweite Daten zusätzlich zu den ersten Daten erforderlich. Wenn zum Beispiel der vorgegebene Prozeß eine automatische Wiedergabe eines vorgegebenen Teils einer Musik (Musikstück) ist, weisen die ersten Daten Sequenzdaten für automatisches Spiel auf (wobei sie Daten enthalten, die Noten und Tonerzeugungszeit bezeichnen), welche für die gesamte Wiedergabe des Musikstückes notwendig sind, und die zweiten Daten weisen Wellenformdaten und Tongeneratorprogrammdaten auf, die zur Wiedergabe eines einzelnen Tons erforderlich sind. Der Speicherabschnitt eines Endgerätes speichert wenigstens die ersten Daten und kann auch einige der zweiten Daten enthalten. Wenn eine Auswahl zum Wiedergeben eines Musikstückes in dem Endgerät erfolgt ist, wird die vorgegebene Verarbeitung (in diesem Fall ein automatischer Musikstück- Wiedergabeprozeß) auf der Grundlage der ersten Daten ausgeführt, aber zur vollständigen Ausführung des vorgegebenen Prozesses ist es erforderlich, dass die zweiten Daten durch den Speicherabschnitt verarbeitet werden oder in diesen gespeichert werden. Der Verarbeitungsabschnitt stellt fest, ob die für die vorgegebene Verarbeitung erforderlichen zweiten Daten in dem Speicherabschnitt gespeichert sind oder nicht. Wenn alle oder einige der für die vorgegebene Verarbeitung erforderlichen zweiten Daten in dem Speicherabschnitt nicht gespeichert sind, sendet der Verarbeitungsabschnitt an den Datenzuführabschnitt eine Anforderung zum Übertragen der fehlenden Daten. Wenn der Datenzuführabschnitt in Form einer Datenbank für das gesamte Musikinformations-Verarbeitungssystem vorliegt, enthält die Datenbank all die Daten, die in dem System gebraucht werden (oder wenigstens all die zweiten Daten) und ist somit in der Lage, die angeforderten zweiten Daten zu dem Speicherabschnitt im Ansprechen auf die Übertragungsanforderung zu übertragen. Eine Ermittlung, ob die zweiten Daten in dem Speicherabschnitt gespeichert sind oder nicht, kann von den Verarbeitungsabschnitt selbst oder durch einen Prozessor des Datenzuführabschnitts im Ansprechen auf die Übertragungsanforderung des Endgerätes durchgeführt werden.
  • Diese Anordnung gestattet eine selektive Übertragung von nur einigen zweiten Daten, die nicht aktuell in dem Speicherabschnitt gespeichert sind, wodurch somit ein effizientes Herunterladen erreicht wird.
  • Mit der so konstruierten vorliegenden Erfindung können Daten oder ein Programm automatisch entsprechend den System- und Programm-Verarbeitungsbedingungen des Endgeräts des Anwenders heruntergeladen werden. Zudem können erforderliche Daten, die herunterzuladen sind, schnell ohne eine mühsame Auswahloperation des Anwenders ausgewählt werden und es kann verhindert werden, dass die gleichen Daten, die auf dem Endgerät des Anwenders bereits vorhanden sind, zum Anwender überlappend heruntergeladen werden, was zur Folge hat, dass unnütze Verarbeitungen vermieden werden. Somit erzielt die vorliegende Erfindung höchsten Nutzen, wie beispielsweise ein effektives Verhindern einer Zunahme in dem Netzwerk-Verkehr.
  • Bei einem weiteren Beispiel des Musikinformations-Verarbeitungssystems ist der Datenzuführabschnitt mit den Verarbeitungs- und Speicherabschnitten verbunden, ohne dabei in ein Kommunikations-Netzwerk einzugreifen. In einem solchen Fall kann der Datenzuführabschnitt auch in dem Endgerät des Anwenders vorgesehen sein und das Prinzip der vorliegenden Erfindung wird auf Lade-Verwaltung von Daten oder Programmen innerhalb des Anwender-Systems angewandt. Der Datenzuführabschnitt kann in Form einer Datenbank mit einer relativ kleinen Kapazität, z. B., eines tragbaren Aufzeichnungsmedium, wie beispielsweise einer CD-ROM, vorliegen.
  • Auch wenn somit Daten oder ein Programm von einem Aufzeichnungsmedium, wie beispielsweise einer CD-ROM, in einen internen Speicher, wie beispielsweise einen RAM, in das Anwender-System geladen werden, können erforderliche Daten, die herunterzuladen sind, schnell ohne eine mühevolle Auswahloperation des Anwenders ausgewählt werden, und er kann verhindert werden, dass die gleichen Daten, die bereits in dem internen Speicher gespeichert sind, überlappend heruntergeladen werden, mit dem Ergebnis, dass eine unnütze Verarbeitung vermieden werden kann.
  • Ein weiterer Gesichtspunkt der vorliegenden Erfindung stellt ein Musikinformations- Verarbeitungssystem bereit, welches einen Verarbeitungsabschnitt, einen Speicherabschnitt, der mit dem Verarbeitungsabschnitt verbunden ist und dort wenigstens Musikdaten gespeichet hat, und einen Datenzuführabschnitt auf, der mit dem Verarbeitungsabschnitt und dem Speicherabschnitt verbunden ist und dort verschiedene Daten gespeichert hat, wobei die Musikdaten Bezeichnungsdaten zum Bezeichnen von Musik betreffende Daten der verschiedenen Daten enthalten, die zur Ausführung einer vorgegebenen Verarbeitung auf der Grundlage der Musikdaten erforderlich sind, und der Datenzuführabschnitt, wenn der Bearbeitungsabschnitt die Verarbeitung auf der Grundlage der Musikdaten ausführt, zu dem Speicherabschnitt die Musik betreffenden Daten, die durch die Bezeichnungsdaten bezeichnet werden, überträgt.
  • In diesem Fall also, wenn die vorgegebene Verarbeitung eine automatische Wiedergabe eines vorgegebenen Musikstücks ist, weisen die Musikdaten Sequenzdaten für automatisches Spiel auf (wobei sie Daten enthalten, die Noten und eine Tonerzeugungszeit bezeichnen), welche für die Gesamtwiedergabe des Musikstückes erforderlich sind, und die die Musik betreffenden Daten weisen Wellenformdaten und Tongeneratorprogrammdaten auf, die für die Wiedergabe eines einzelnen Tons erforderlich sind. Der Speicherabschnitt hat wenigstens die Musikdaten gespeichert und kann auch einige der die Musik betreffenden Daten enthalten. Der charakteristische Punkt des Musikinformations-Verarbeitungssystems ist, dass die Musikdaten nicht nur die Sequenzdaten für automatisches Spiel sondern auch solche Daten enthalten, die die Musik betreffenden Daten bezeichnen, die zur Ausführung der vorgegebenen Verarbeitung (automatische Musikstück-Wiedergabeverarbeitung) gebraucht werden. Nur einige der die Musik betreffenden Daten, die zur Wiedergabe eines Musikstückes (Wellenformdaten oder Tongeneratorprogrammdaten) erforderlich sind, können selektiv von dem Datenzuführabschnitt auf der Grundlage der Bezeichnungsdaten übertragen werden und dann in den Speicherabschnitt gespeichert werden. Welche Art von Daten als die erforderlichen die Musik betreffenden Daten zugeführt werden sollen, wird automatisch durch die Bezeichnungsdaten bestimmt und dies kann die Belastung beim Datenladen des Anwenders reduzieren. Da zudem die Menge der Bezeichnungsdaten bei weitem kleiner ist als die Menge der sich auf die Musik beziehenden Daten, kann die Gesamtmenge der Musikdaten, die in dem Speicherabschnitt vorgespeichert werden, auf ein wesentliches Maß reduziert werden.
  • Zum besseren Verständnis dar verschiedenen Merkmale der vorliegenden Erfindung werden bevorzugte Ausführungsformen der Erfindung nachfolgend detailliert bezugnehmend auf die anhängenden Zeichnungen beschrieben. In den Zeichnungen ist folgendes dargestellt.
  • Fig. 1 ist ein Blockschaltbild, das einen allgemeinen Aufbau einer Ausführungsform eines Informations-Verarbeitungssystems gemäß der vorliegenden Erfindung darstellt.
  • Fig. 2A ist ein Blockschaltbild, das einen beispielhaften Aufbau eines Host-Computers aus Fig. 1 zeigt.
  • Fig. 2B zeigt Beispiele von verschiedenen Datengruppen, die in einer Datenbank aus Fig. 2A gespeichert sind.
  • Fig. 3A ist ein Blockschaltbild, das einen beispielhaften Aufbau eines Endgerätes aus Fig. 1 zeigt.
  • Fig. 3B ist eine Abbildung, die eine beispielhafte Speicherkarte in einem RAM eines Personalcomputers aus Fig. 1 veranschaulicht.
  • Fig. 4A ist eine Abbildung, die eine beispielhafte Struktur von Musikstückdaten zeigt.
  • Fig. 4B ist eine Abbildung, die eine beispielhafte Struktur von Wellenformdaten zeigt.
  • Fig. 5A ist eine Abbildung, die eine beispielhafte Struktur von Parameterdaten zeigt.
  • Fig. 5B ist eine Abbildung, die eine beispielhafte Struktur von Programmdaten zeigt.
  • Fig. 5C ist eine Abbildung, die eine beispielhafte Struktur einer Anwender- Profilinformation zeigt.
  • Fig. 6 ist ein Flußdiagramm, das ein Beispiel einer Hauptroutine zeigt, die durch den Host-Computer aus Fig. 1 ausgeführt wird.
  • Fig. 7 ist ein Flußdiagramm, das einen Teil eines Beispiels eines Datenübertragungsprozesses darstellt.
  • Fig. 8 ist ein Flußdiagramm, das einen weiteren Teil des Datenübertragungsprozesses aus Fig. 7 darstellt.
  • Fig. 9 ist ein Flußdiagramm, das den restlichen Teil des Datenübertragungsprozesses aus Fig. 7 darstellt.
  • Fig. 10 ist ein Flußdiagramm, das ein Beispiel eines Hauptprogrammes darstellt, das von den Endgeräten aus Fig. 1 ausgeführt wird.
  • Fig. 11 ist ein Flußdiagramm, das einen Teil einer Netzwerk-Verarbeitung darstellt.
  • Fig. 12 ist ein Flußdiagramm, das einen weiteren Teil der Netzwerk-Verarbeitung aus Fig. 11 darstellt.
  • Fig. 13 ist ein Flußdiagramm, das noch einen weiteren Teil der Netzwerk- Verarbeitung aus Fig. 11 darstellt.
  • Fig. 14 ist ein Flußdiagramm, das den restlichen Teil der Netzwerk-Verarbeitung aus Fig. 11 darstellt.
  • Fig. 15 ist ein Flußdiagramm, das ein Beispiel einer Anwendungs-Verarbeitung darstellt.
  • Fig. 16 ist ein Flußdiagramm, das ein Beispiel einer Musikstückdaten- Spielverarbeitung darstellt.
  • Fig. 17 ist ein Flußdiagramm, das ein Beispiel einer Musikstückdaten- Auswählverarbeitung darstellt.
  • Fig. 18 ist ein Flußdiagramm, das ein Beispiel einer Tonerzeugungsverarbeitung darstellt.
  • Fig. 19 ist ein Flußdiagramm, das ein Beispiel einer Wellenformberechnung darstellt.
  • Fig. 20 ist ein Zeitdiagramm, das für die Tonerzeugungsverarbeitung aus Fig. 18 beispielhaft ist.
  • Bevorzugte Ausführungsformen der vorliegenden Erfindung werden nachfolgend in bezug auf ein Informations-Verarbeitungssystem beschrieben, welches System so konzipiert ist, verschiedene Musikdaten, wie beispielsweise Musikstückdaten und Wellenformdaten und ein Tonerzeugungsprogramm, zu zuführen (abzugeben oder zu laden).
  • < Allgemeiner Aufbau des Systems>
  • Fig. 1 ist ein Blockschaltbild, das einen allgemeinen Aufbau einer Ausführungsform eines Informations-Verarbeitungssystems gemäß der vorliegenden Erfindung zeigt. Wie zu sehen ist, weist das Informations-Verarbeitungssystem im allgemeinen einen Host-Computer 10, Relais-Stationen 21 und 22, Netzwerk-Leitungen 50, wie beispielsweise öffentliche Telefonleitungen, und Endgeräte 31 bis 35 auf, die mit Host-Computer 10 über die Netzwerk-Leitungen 50 und Relais-Stationen 21, 22 verbunden sind. Die Endgeräte 31 bis 35 enthalten einen Personalcomputer 31, ein elektronisches Musikinstrument (E.M.I.) 32, eine Maschine für Spiele 33, ein Kommunikations-Karaoke-System 34 und ein BGM-System auf der Grundlage beispielsweise von Kabel-Rundfunk auf. Jedes der Endgeräte 31 bis 35 ist mit der Netzwerk-Leitung 50 mittels eines MODEMs (Modulator-Demodulator) verbunden, wenn die entsprechende Leitung 50 eine öffentliche Telefonleitung ist, und hat auch eine Funktion, Daten in einem vorgegebenen Format in Entsprechung zu einem vorgegebenen Protokoll zu übertragen und zu empfangen, wenn die entsprechende Netzwerk-Leitung 50 eine anwendungsspezifische digitale Leitung ist. Irgendwelche andere Arten als die vorher erwähnten von Endgeräten können in soweit verwendet werden, wie sie mit einem Netzwerk verbindbar sind.
  • Die Relais-Stationen 21 und 22 können lokale Telefonämter sein, wenn die verwendeten Leitungen kommerzielle Schaltungsleitungen sind, oder können Server- Computer aufweisen, wenn die verwendeten Leitungen die eines LAN (Local Area Network = lokales Netz) sind. Wenn das Netz ein kleines Netz ist, können die Ralais- Stationen 21 und 22 eliminiert werden, so dass der Host-Computer 10 direkt mit den Endgeräten 31 bis 35 verbunden wird. Die Kommunikations-Netzwerk-Leitungen können teilweise auf Bodenwellen-Kommunikation, wie beispielsweise Mikrowellen, oder Radio-Kommunikation, wie beispielsweise Satelliten, gestützt sein. Zudem kann als das Daten-Kommunikationsverfahren ein Verfahren zum Übertragen von digitalen Daten als Hintergrund einer Stimmen-Kommunikation, abgesehen von dem herkömmlichen bekannten digitalen Kommunikationsverfahren, verwendet werden.
  • Im Ansprechen auf die Anforderung zum Herunterladen, die von irgendeinem der Endgeräte-Ausrüstungen 31 bis 35 ausgegeben wird, oder einer Bezeichnung, die auf dem Host-Computer 10 ausgeführt wird, überträgt der Computer 10 an das Endgerät gewünschte Musikstückdaten, Spiel-Software zum Aufführen eines Musikstückes oder Tongenerator (T. G.)-Software zum Simulieren eines Tongenerators (Software- Tongenerator).
  • Eine beispielhafte Struktur eines Host-Computers 10 ist in Fig. 2A gezeigt. Wie in Fig. 2A gezeigt, weist der Host-Computer 10 eine zentrale Rechnereinheit (CPU) 11, einen Speicher 12 mit dort vorgespeicherten verschiedenen Steuerprogrammen und Daten, eine Datenbank 13 mit dort vorgespeicherten Musikstückdaten, Wellenformdaten und verschiedenen Daten von Spiel- und Tongenerator-Software, ein Bedienfeld (Konsole) und Anzeige 14, eine Netzwerk-Schnittstellen-Schaltung 15, wie beispielsweise ein MODEM, das mit der Netzwerk-Leitung 50 verbunden ist, und einen Bus 16 auf.
  • Fig. 2B zeigt Beispiele einer. Vielzahl von Datengruppen, die in der Datenbank 13 gespeichert sind: eine Musikstückdaten-Gruppe (MUSIC DATA(FILE) 1 - K) 131; eine Wellenformdaten-Gruppe (WAVE DATA(FILE) 1 - L) 132; eine Tonbildungsparameter-Gruppe (PARA DATA(FILE) 1 - M) 133; eine Tonerzeugungsprogramm- Gruppe (TONE PGM(FILE) 1 - N) 134, wie beispielsweise verschiedene Steuerprogramme für einen Tongenerator; und ein Spielverarbeitungsprogramm (PLAY PRG(FILE) 1 - P) 135, wie beispielsweise automatische Spielprogramme und Karaoke-Software. Diese Daten-Gruppen können in irgendeinem geeigneten Speicher oder Aufzeichnungsmedium gespeichert sein, wie beispielsweise einer Floppy-Disk (FD), Festplatte (HD), magnetooptischen Scheibe (MO) oder einer CD-ROM. Bei dieser Ausführungsform weist die Musikstückdaten-Gruppe (MUSIC DATA(FILE)) Daten zum Erzeugen eines automatischen Spiels auf.
  • Die Endgeräte 31 bis 35, die jeweils mit einem Netzwerk verbunden sind, sind alles Computersysteme, die grundsätzlich eine ähnliche Struktur aufweisen, wie sie in Fig. 3A gezeigt ist, obgleich sie sich untereinander im äußeren Erscheinungsbild, Betriebs/Anzeige-Abschnitt, gespeicherter Software, usw. abhängig von dem jeweiligen Typ der Geräte (i. e., Personalcomputer (PC), Karaoke-Vorrichtung, Maschine für Spiele, usw.) unterscheiden. Wie in Fig. 3A gezeigt ist, weist jedes der Endgeräte 31 bis 35 eine CPU 101 zur Steuerung des Gesamtbetriebs des Endgerätes, einen ROM 102 mit dort vorgespeicherten Steuerprogrammen und dergleichen, einen RAM 103 zum Speichern verschiedener Daten, ein Festplattengerät 104, eine Floppy- Disk-Vorrichtung 105, einen CD-ROM- oder MO-Treiber 106; eine Karten- Schnittenstellenschaltung 107, eine Speicherkarte 108, eine Netzwerk- Schnittstellenschaltung 109, wie beispielsweise ein MODEM, eine Tastatur wie beispielsweise eine Zeichentastatur 110, eine Anzeigevorrichtung 111, ein Musik- Keyboard 112, das verwendet, wenn das Endgerät ein elektronisches Musikinstrument ist, einen Tongenerator (T. G.) 113 und einen System-Signalweg 114 auf. Bei dieser Ausführungsform bezieht sich "Signalweg" 114 generell nicht nur auf einen CPU-Bus, sondern auch einen erweiterten Bus, SCSI (Small Computer System Interface = Computerschnittstelle) und andere Verbindungen auf der Grundlage anderer Verbindungsstandards.
  • Bei dieser Ausführungsform werden verschiedene Speicher und Aufzeichnungsmedien einschließlich des Festplattengeräts 104, Floppy-Disk-Geräts 105, CD-ROM- oder MO-Treibers 106 und Speicherkarte 108 an dem Endgerät entsprechend den Spezifikationen für das Endgerät angebracht; die Spezifikationen für das Medien- Installieren und Verbinden sind unterschiedlich abhängig von dem Typ der Endgeräte. Wenn das Endgerät mit dem CPU-Bus zu verbinden ist, können die Speichermedien auf verschiedenste Weise verbunden werden, zum Beispiel über eine Schnittstelle, wie beispielsweise einer erweiterten Schnittstellenschaltung oder SCSI.
  • Der Tongenerator 113 kann nur durch einen CODEC (Coder-Decoder = Kodierer- Dekodierer) einschließlich eines Digital/Analog-Wandlers (DIA) oder durch eine Kombination eines CODEC und einer Tongenerator-Härdware einschließlich eines anwendungsspezifischen LSI, DSP oder MPU oder durch Antreiben einer Tongenerator- Vorrichtung über eine MIDI (musical Instrument Digital Interface = digitale Schnittstelle für Musikinstrumente) implementiert sein. Wenn der Tongenerator 113 nur durch einen CODEC implementiert ist, wird der CODEC zusammen mit einem sogenannten Software-Tongenerator verwendet, der arithmetisch Tonwellenformdaten durch Software erzeugt. Wenn der Tongenerator 113 durch eine Kombination eines CODEC und einer Tongenerator-Hardware implementiert ist, kann eine Leiterplatte (Tochterleiterplatte), die mit einem Tongenerator-Chip oder Gerät ausgerüstet ist, getrennt auf den CODEC montiert werden oder diese Komponenten können auf dem CODEC zusammen von Anfang an installiert werden, oder diese Komponenten und der CODEC können alle in einem einzigen LSI inkorporiert sein.
  • Fig. 3B zeigt eine beispielhafte Speicherkarte indem RAM 103 des Personalcomputers 31, in welchem nur der CODEC als der Tongenerator 11 installiert ist, um Tonwellenformdaten durch eine Software zu erzeugen. Wie gezeigt ist, ist ein Betriebssystem für den Personalcomputer 31 im Speicherbereich 1031 gespeichert, mehrere Arten von Spielverarbeitungsprogrammen werden im Speicherbereich 1032 gespeichert und eines oder mehrere Tonerzeugungsprogramme sind im Speicherbereich 1033 gespeichert. Ferner ist eine Gruppe von Wellenformdaten (WAVE DATA) im Speicherbereich 1034 gespeichert und zu spielende Musikstückdaten (MUSIC DATA) sind im Speicherbereich 1035 gespeichert. Ein Speicherbereich 1036 speichert zusätzlich verschiedene andere Daten und Programme oder wird manchmal in einem leeren Zustand gehalten.
  • < Daten-Strukturen>
  • Nachfolgend werden verschiedene Datenstrukturen, die in der vorliegenden Erfindung verwendet werden, beschrieben.
  • Fig. 4A zeigt eine beispielhafte Struktur eines Musikstückdatensatzes oder einer Datei (MUSIC DATA(FILE)), welcher generell einen Haupt-Musikstückdatenteil (MUSIC DATA) und einen Musikstück betreffenden Daten-Teil (MUSIC MISC DATA) aufweist, der den Haupt-Teil begleitet. Der Haupt-Musikstückdatenteil (MUSIC DATA) ist in der Datenbank 13 in komprimierter Form gespeichert, während der Musikstück betreffende Daten-Teil (MUSIC MISC DATA) in der Datenbank 13 in nicht- komprimierter Form gespeichert ist. Der Haupt-Musikstückdatenteil (MUSIC DATA) weist folgedes auf: Daten, die einen Namen eines Musikstückes (SONG NAME) identifizieren, Daten, die eine Versions-Nummer der Musikstückdaten (VER NO ID) identifizieren; Daten, die eine zu verwendende Sprache identifizieren, um den Text des Musikstückes visuell anzuzeigen, wenn der Musikstückdatensatz auf ein Karaoke- Singen gerichtet ist (LANGUAGE ID); Daten, die ein Spieltempo des Musikstückes bezeichnen (TEMPO); Daten, die einen Taktschlag des Musikstückes bezeichnen (BEAT); Haupt-Spielereignisdaten, die Daten enthalten, die Arten und Eintrittszeiten von individuellen Spielereignissen in dem Musikstück identifizieren; und Daten, die ein Ende des Haupt-Musikstückdatenteils (END OF DATA) kennzeichnen. Der Haupt- Spielereignisdatenteil enthält auch eine Information für einen Tongenerator und Tongeneratorprogramm, das zu verwenden ist (TG INFO).
  • Wenn die Musikstückdaten für Karaoke-Singen vorgesehen sind, sind Text- und Bilddaten in den Haupt-Spielereignisdaten enthalten. Alternativ können Spielereignisdaten und Text (und Bild)-Daten getrennt gespeichert werden, so dass die Text (und Bild)-Daten im Ansprechen auf einen Auswählen ausgelesen werden, dass das Musikstück mehr für Karaoke-Singen als nur für ein Spiel vorgesehen sein sollte, um so das Spielen mit den visuell angezeigten Text- und Bilddaten auszuführen.
  • Der ein Musikstück betreffende Daten-Teil (MUSIC MISC DATA), der den Haupt- Musikstückdatenteil begleitet, weist folgedes auf: Daten, die einen Namen eines Musikstückes identifizieren (SONG NAME); Information, die eine kurze Erläuterung des Musikstückes enthält (MUSIC INFO) und dergleichen; Daten, die eine Versionsnummer der Musikstückdaten identifizieren (SONG VER NO ID); und Information von einem Tongenerator und Tongeneratorprogramm, die mit den Musikstückdaten verbunden sind (TG INFO); und Daten, die ein Ende der Musikstückdaten kennzeichnen (END OF FILE). In Abhängigkeit von der Situation kann der ein Musikstück betreffende Daten-Teil (MUSIC MISC DATA) eine Klangfarbenliste enthalten, die Nummern oder Namen aller Klangfarben auflisten, die bei dem Spiel des Musikstückes zu verwenden sind.
  • Fig. 48 zeigt eine beispielhafte Struktur eines Wellenformdatensatzes oder einer Datei (WAVE DATA(FILE)), die bei einem Tongenerator verwendet wird, um eine Wellenform zu erzeugen, und die generell einen Haupt-Wellenformdatenteil (WAVE DATA) und einen Wellenformen betreffenden Datenteil (WAVE MISC DATA) aufweist, der den Haupt-Wellenformdatenteil begleitet. Der Haupt-Wellenformdatenteil (WAVE DATA) ist in der Datenbank 13 in komprimierter Form gespeichert, während der Wellenformen betreffende Datenteil (WAVE MISC DATA) in der Datenbank 13 in nicht-komprimierter Form gespeichert ist. Der Haupt-Wellenformdatenteil (WAVE DATA) weist folgendes auf: Daten, die einen Namen der Wellenform identifizieren (WAVE NAME); Daten, die eine Versionsnummer der Wellenformdaten identifizieren (WAVE VER NO ID); Information zum Identifzieren eines Formats der Wellenformdaten (WAVE FORMAT ID); Wellenformabtastdaten (WAVE SAMPLE DATA); und Daten, die ein Ende der Wellenformdaten kennzeichnen (END OF DATA).
  • Der Wellenformen betreffende Datenteil (WAVE MISC DATA) enthält folgendes: Daten, die einen Namen der Wellenform identifizieren (WAVE NAME); Daten, die eine Versionsnummer der Wellenformdaten identifizieren (WAVE VER ID); Information, die eine kurze Erläuterung der Wellenformdaten enhält (WAVE MISC INFO) und dergleichen; und Daten, die ein Ende der Wellenformdaten kennzeichnen (END OF DATA).
  • In Fig. 5A ist eine beispielhafte Struktur eines Tonbildungs-Parameterdatensatzes oder einer Datei (PARAMETER DATA (FILE)) gezeigt, welche von einem Tongenerator verwendet wird, der so konzipiert ist, eine Wellenform arithmetisch zu erzeugen, ohne Wellenformdaten zu verwenden, und der generell einen Haupt-Parameterdatenteil (PARAMETER DATA) und einen Parameter betreffenden Datenteil (PARAM MISC DATA) aufweist, der den Haupt-Parameterdatenteil begleitet. Der Haupt- Parameterdatenteil (PARAMETER DATA) ist in der Datenbank 13 in komprimierter Form gespeichert, während der Parameter betreffende Datenteil (PARAM MISC DATA) in der Datenbank 13 in nicht-komprimierter Form gespeichert ist. Der Haupt- Parameterdatenteil (PARAMETER DATA) weist folgendes auf: Daten, die einen Namen der Tonbildungsparameterdaten identifizieren (PARAM NAME); Daten, die eine Versionsnummer der Tonbildungsparameterdaten identifizieren (PARAM VER ID); Daten, die eine Art der Tonbildungsparameterdaten (PARAM KIND ID) identifizieren; Parameterdaten (PARAMETER); und Daten, die für ein Ende der Tonbildungsparameterdaten kennzeichnend sind (PARAM VER ID).
  • Der Parameter betreffende Datenteil (PARAM MISC DATA) enthält folgendes: Daten die einen Namen der Tonbildungsparameterdaten (PARAM NAME) identifizieren; Daten, die eine Versionsnummer der Tonbildungsparameterdaten identifizieren (PARAM VER ID); Information, die eine kurze Erläuterung der Tonbildungsparameterdaten enhält (PARAM MISC INFO) und dergleichen; und Daten, die ein Ende der Wellenformdaten kennzeichnen (END OF FILE).
  • Ein Tonbildungs-Programmdatensatz (Datei) (TONE PGM DATA(FILE)) und ein Spielverarbeitungs-Programmdatensatz (Datei) (PLAY PGM DATA(FILE)) weisen die gleiche Datenstruktur auf, wie sie in Fig. 5B gezeigt ist. Das heißt, jeder dieser Programmdatensatze weist einen Haupt-Programmdatenteil (PROGRAM DATA) und einen Programm betreffenden Datenteil (PROGRAM MISC DATA) auf. Der Haupt- Programmdatenteil (PROGRAM DATA) ist in der Datenbank 13 in komprimierter Form gespeichert, während der Programm betreffende Datenteil (PROGRAM MISC DATA) in der Datenbank 13 in nicht-komprimierter Form gespeichert ist. Wie gezeigt, weist der Programm betreffende Datenteil (PROGRAM MISC DATA) folgendes auf: Daten, die einen Namen der Tonerzeugungsprogramms oder eines Spielverarbeitungsprogramms identifizieren (PROGRAM NAME); Daten, die eine Versionsnummer des Programms identifizieren (PRGM VER ID); Information, die eine kurze Erläuterung des Programms enthalten (PRGM MISC INFO); und Daten, die für ein Ende der Datei kennzeichnend sind (END OF FILE).
  • Da der Hauptdatenteil jedes der vorher erwähnten Datensätze in komprimierter Form gespeichert ist und der sich beziehende Datenteil von jedem dieser Datensätze in nicht-komprimierter Form gespeichert ist, kann der sich beziehende Datenteil abgefragt werden, bevor der entsprechende Hauptdatenteil heruntergeladen wird, was eine Verwaltung effektiv dahingehend erleichtern wird, ob ein Herunterladen des Hauptdatenteils ausgeführt werden sollte oder nicht. Wenn der Anwender den komprimierten Datensatz herunterlädt, wird der heruntergeladene komprimierte Datensatz in die Originalform durch das Endgerät, das den Datensatz empfangen hat, wiederhergestellt. In einer Ausführungsform können bestimmte Daten irgendwelchen der vorher erwähnten Datensätze hinzugefügt werden, um eine Verwendungszeit des Datensatzes zu spezifizieren, so dass das entsprechende Programm an Hand der spezifizierten Verwendungszeit ermitteln kann, ob der Datensatz zu einer bestimmten Zeit verwendet werden kann, In diesem Fall kann verhindert werden, dass der Programmdatensatz nach einem Ablauf der Verwendungszeit aktiviert wird.
  • In jedem der Endgeräte 31 bis 35 ist eine Information für das Endgerät selbst gespeichert, d. h., Anwender-Profilinformation (USER PROFILE). Wenn eine solche Anwender-Profilinformation ebenso in dem Host-Computer 10 gespeichert ist, können verschiedene Prozesse auf der Grundlage der Anwender-Profilinformation (USER PROFILE) ausgeführt werden. Fig. 5C Zeit eine beispielhafte Datenstruktur der Anwender-Profilinformation (USER PROFIL. E), welche eine Anwender- Identifikationsinformation (USER ID), Anwenderinformation zur Person (USER PERSONAL ID), Anwender-Systeminformation (USER SYSTEM INFO) und Dateiverzeichnisinformation (DIRECTORY INFO) aufweist.
  • Die Anwenderinformation zur Person (USER PERSONAL) enthält den Namen des Anwenders (USER NAME) und die Adresse des Anwenders (USER ADDRESS). Die Anwender-Systeminformation (USER SYSTEM INFO) enthält folgendes: Typendaten, die eine Art des Geräts bezeichnen (MACHINE KIND), wie beispielsweise eine Karaoke- Vorrichtung, Personalcomputer oder Gerät für Spiele; Namensdaten, die einen Namen des Gerätes durch seine Modellnummer identifizieren (MACHINE NAME); Information zu der in dem Gerät verwendeten CPU (CPU INFO); Information zum Speicher, wie beispielsweise einer Kapazität eines in dem Gerät vorgesehenen Speichers (MEMORY INFO); Information zu einem Betriebssystem, das in dem Gerät vorgesehen ist, wie beispielsweise eine Version und deren Art (OS INFO); und Information zu einem Netzwerkprotokoll, das in dem Gerät verwendet wird (PROTOCOL INFO).
  • Die Dateiverzeichnisinformation (DIRECTORY INFO) enhält eine Liste von Wellenformdaten, die in dem Gerät vorgespeichert sind (WAVE LIST) und eine Liste von Tonerzeugungsprogrammen oder Spielverarbeitungsprogrammen (SOFT LIST):
  • < Verarbeitung in dem Host-Computer 10>
  • Fig. 6 ist ein Flußdiagramm, das ein Beispiel einer Hauptroutine zeigt, die in dem Host-Computer 10 ausgeführt wird. Der Host-Computer 10 ist in der Lage, Leitungsfunktionen für eine maximale Anzahl von Netzkanälen MAX NET CH durch zeitlich gestaffelte Verarbeitung (TSS) durchzuführen, so dass Daten im Ansprechen auf eine Anfrage zum Herunterladen, die von irgendeinem der Endgeräte ausgegeben wird, übertragen werden.
  • In Schritt S10 aus Fig. 6 wird zunächst der Zeiger i, der auf eine der zu bedienenden Netzleitungen zeigt, auf einen Wert "1" initialisiert. Der Host-Computer 10 schreitet dann zu Schritt S20 fort, in welchem eine Datenübertragungsverarbeitung für die Leitung, die von dem Zeiger i (i. e., "i"-te Leitung) angezeigt wurde, ausgeführt wird. Danach wird der Wert des Zeigers i um eins (i + 1) in Schrill S30 inkrementiert und es wird in Schritt S40 ermittelt, ob der augenblickliche Wert des Zeigers i die maximale Anzahl der Kanäle, die mit dem Host-Computer 10 verbunden sind, überschritten hat (i. e., i = MAX NET CH + 1). Wenn die Antwort in Schritt S40 negativ (NEIN) ist, geht der Host-Computer 10 in einer Schleife zu Schritt S20 zurück, um die Datenübertragungsverarbeitung für einen nächsten Kanal (i + 1) auszuführen. Wenn der augenblickliche Wert des Zeigers i die maximale Anzahl der Kanäle überschritten hat, wie es in Schritt S40 ermittelt wurde, kehrt der Host- Computer 10 zu Schritt S10 zurück, in welchem der Zeiger i wieder auf "1" eingestellt wird, um die Datenübertragungsverarbeitung von dem ersten Kanal zu wiederholen.
  • Fig. 7 bis 9 sind Flußdiagramme, die Details der Datenübertragungsverarbeitung für eine der Netzwerkleitungen erläutern, auf die durch den Zeiger i verwiesen wird. Bei dieser Datenübertragungsverarbeitung wird eine Sequenz der Verarbeitung durch Feststellen von aktuellen Zuständen der "1-ten Leitung eingestellt, wobei sieben Kennzeichen (Flags) SEQFLGi1 bis SEQFLGi7 verwendet werden. Alle Kennzeichen SEQFLGi1 bis SEQFLGi7 werden auf einen Wert "0" beim Anlaufen des Informations- Verabeitungssystems initialisiert, dann wird das Kennzeichen SEQFLGi1 bei "1" gehalten, während die "i"-te Leitung verbunden ist und dann wird das Kennzeichen SEQFLGi2 auf "1" eingestellt, wenn ein LOGIN-Prozeß fertiggestellt ist. Danach wird ein Kennzeichen SEQFLGi3 auf "1" eingestellt, wenn ein Befehl zum Herunterladen von Daten von irgendeinem der Endgeräte eingegeben wird und eines der Kennzeichen SEQFLGi4 bis SEQFLGi7 wird verwendet, um eine Art der Daten zu bezeichnen, die durch die Befehlseingabe zum Herunterladen von Daten angefordert werden.
  • Das heißt, es wird veranlaßt, dass ein Kennzeichen SEQFLGi4 "1" bezeichnet, wenn ein Herunterladebefehl für Musikstückdaten eingegeben ist; es wird veranlaßt, dass ein Kennzeichen SEQFLGi5 "1" bezeichnet, wenn ein Herunterladebefehl für Wellenformdaten eingegeben ist; es wird veranlaßt, dass ein Kennzeichen SEQFLGi6 "1" bezeichnet, wenn ein Herunterladebefehl für Parameterdaten eingegeben ist; und es wird veranlaßt, dass ein Kennzeichen SEQFLGi7 "1" bezeichnet, wenn ein Herunterladebefehl für Programmdaten eingegeben ist. Wenn die Datenübertragungsverarbeitung, die auf den Herunterladebefehl anspricht, fertiggestellt ist, werden das Kennzeichen SEQFLGi3 und eines der Kennzeichen SEQFLGi4 bis SEQFLGi7, die den übertragenen Daten entsprechen auf "0" zurückgestellt. In Fig. 7 bis 9 und in der folgenden Beschreibung wird der Buchstabe "i" am Ende der Referenzzeichen bei jedem der vorher erwähnten Kennzeichen einfachheitshalber weggelassen.
  • Sobald in Fig. 7 die Datenübertragungsverarbeitung für die "i"te Leitung in Schritt S20 initiiert ist, wird zunächst in Schritt S201 ermittelt, ob das Kennzeichen SEQFLG1 "0" ist oder nicht. Wenn die "i"-te Leitung nicht verbunden ist, als wenn das System beispielsweise in einer Anfangsstufe ist, ist das Kennzeichen SEQFLG1 bei "0" und daraus resultiert eine positive Ermittlung in Schritt S201, so dass der Host- Computer 10 zu Schritt S202 geht. In Schritt S202 überprüft der Host-Computer 10 einen aktuellen Verbindungszustand der "i"-ten Leitung. Wenn die "i"-te nicht verbunden ist, wie in Schritt S203 ermittelt wird, kehrt der Host-Computer 10 zu Schritt S30 der Hauptroutine aus Fig. 6 zurück, um die Operationen für eine nächste Leitung durchzuführen. Wenn die "i"-te Leitung verbunden ist und daher eine positive Ermittung (JA) in Schritt S203 erfolgt, geht der Host-Computer 10 zu Schritt S204, um das Kennzeichen SEQFLG1 auf "1" zu stellen, er beendet die Verarbeitung für die "i"-te Leitung und kehrt dann zu der Hauptroutine aus Fig. 6 zurück.
  • Wenn die Datenübertragungsverarbeitung für die "i"-te Leitung in Schritt S20 in einem nächsten Zyklus initiiert wird, ist eine negative (NEIN) Ermittlung in Schritt S201 die Folge, so dass nun das Kennzeichen SEQFLG1 auf "1" bei der letzten Ausführung von Schritt S204 eingestellt wird. Der Host-Computer 10 überprüft daher einen aktuellen Verbindungszustand der "i"-ten Leitung in Schritt S205. Wenn die "i"-te verbunden ist, wie in Schritt S206 ermittelt wird, schreitet der Host- Computer 10 zu Schritt S207 fort. Sobald die Ermittlung in Schritt S206 negativ wird aufgrund eines LOGOUT-Befehls eines Anwenders oder eines durch das System ausgegebenen zwangsläufigen Trennungssbefehls, wird ein Leitungstrennungsprozeß in Schritt S211 ausgeführt, alle Kennzeichen SEQFLG1 bis SEQFLG7 werden in Schritt S212 auf "0" zurückgestellt und der Datenübertragungsprozeß für die "i"-te Leitung ist beendet.
  • Sobald die Ermittlung in Schritt S206 positiv wird, schreitet der Host-Computer 10 zu Schritt S207 fort, in welchem eine weitere Ermittlung durchgeführt wird, ob das Kennzeichen SEQFLG2 "0" ist oder nicht. Da nur das Kennzeichen SEQFLG1 nun auf "1" eingestellt ist aufgrund der letzten Ausführung von Schritt S204, wobei das Kennzeichen SEQFLG2 noch "0" ist, ist eine positive Ermittlung in Schritt S207 die Folge, so dass sich der Host-Computer 10 zu Schritt S208 weiterbewegt, um einen LOGIN-Prozeß durchzuführen. Bei dem LOGIN-Prozeß von Schritt S208 greift der Host-Computer 10 auf das Anwender-Netz zu, um die Anwender ID, das Passwort und dergleichen zu prüfen. In einem nächsten Schritt S209 wird ermittelt, ob der LOGIN- Prozeß fertiggestellt worden ist oder nicht. Wenn der LOGIN-Prozeß fertiggestellt worden ist, wird das Kennzeichen SEQFLG2 in Schritt S210 auf "1" eingestellt und der Datenübertragungsprozeß S20 ist für die Leitung beendet, auf die augenblicklich von dem Zeiger i verwiesen wurde. Wenn der LOGIN-Prozeß jedoch nocht nicht fertiggestellt wurde wie in Schritt S209 ermittelt wird, wird der Datenübertragungsprozeß von Schritt S20 beendet, ohne die Operation von Schritt S210 durchzuführen.
  • Wenn der LOGIN-Prozeß vollendet wurde, wird SEQFLG2 auf "1" eingestellt, wie es früher bemerkt wurde, und somit wird die Ermittlung in Schritt S207 negativ, so dass sich der Host-Computer 10 weiter zu Schritt S220 aus Fig. 8 bewegt. In Schritt S220 wird ermittelt, ob das Kennzeichen SEQFLG3 "0" ist. Die Ermittlung wird positiv, da das Kennzeichen SEQFLG3 an dieser Stelle "0" ist, und daher schreitet der Host-Computer 10 zu Schritt S221 fort, um einen Endgerät-Befehlempfangsprozeß auszuführen. Im nächsten Schritt S222 wird ermittelt, ob ein Empfang einer Befehlseingabe von dem Anwender-Endgerät ausgeführt worden ist oder nicht. Wenn der Empfang einer Befehlseingabe von dem Anwender-Endgerät ausgeführt worden ist und die Ermittlung in Schritt S222 negativ ist, wird die Verarbeitung für die augenblickliche Leitung beendet und der Host-Computer 10 kehrt zu der Hauptroutine von fig. 6 zurück. Sobald Schritt S222 ermittelt, dass der Empfang einer Befehlseingabe von dem Anwender-Endgerät ausgeführt worden ist, geht der Host- Computer 10 zu Schritt S223. Operationen in und nach Schritt S223 werden auf ein Einstellen irgendeines der Kennzeichen ausgerichtet, um eine Funktion, die dem empfangenen Anwenderbefehl entspricht, zu aktivieren oder auszulösen.
  • In Schritt S223 wird ermittelt, ob die Befehlseingabe von dem Endgerät ein Herunterladebefehl von Musikstückdaten ist. Bei einer positiven Ermittlung schreitet der Host-Computer 10 zu Schritt S224, in welchem die Kennzeichen SEQFLG3 und SEQFLG4 auf "1" eingestellt werden, um die Verarbeitung für die "i"-te Leitung zu beenden. Wenn andererseits die Befehlseingabe von dem Endgerät kein Herunterladebefehl von Musikstückdaten ist, dann zweigt der Host-Computer 10 zu Schritt S225 ab, um weiter zu bestimmen, ob die Befehlseingabe von dem Endgerät ein Herunterladebefehl von Wellenformdaten ist. Wenn die Antwort in Schritt S225 positiv ist, schreitet der Host-Computer 10 zu Schritt S226 fort, in welchem die Kennzeichen SEQFLG3 und SEQFLG5 auf "1" eingestellt werden, um die Verarbeitung für die "i"-te Leitung zu beenden.
  • Wenn die Anwort in Schritt S225 negativ ist, zweigt der Host-Computer 10 zu Schritt S227 ab, um weiter zu ermitteln, ob die Befehlseingabe von dem Endgerät ein Herunterladebefehl von Parameterdaten ist. Bei einer positiven Ermittlung schreitet der Host-Computer 10 zu Schritt S228 fort, in welchem die Kennzeichen SEQFLG3 und SEQFLG6 auf "1 " eingestellt werden, und die Verarbeitung für die "i"-te Leitung wird beendet. Wenn andererseits die Befehlseingabe von dem Endgerät kein Herunterladebefehl von Parameterdaten ist, dann zweigt der Host-Computer 10 zu Schritt S229 ab, um weiter zu bestimmen, ob die Befehlseingabe von dem Endgerät ein Herunterladebefehl von Programmdaten ist. Wenn die Antwort in Schritt S229 positiv ist, schreitet der Host-Computer 10 zu Schritt S230 fort, in welchem die Kennzeichen SEQFLG3 und SEQFLG7 auf "1" eingestellt werden, und die Verarbeitung für die "i"-te Leitung wird beendet. Wenn die Anwort in Schritt S229 negativ ist, wird die Verarbeitung für die "1-te Leitung beendet, ohne die Operationen von Schritt S229 auszuführen.
  • Wie bereits bemerkt, werden die Kennzeichen SEQFLG3 und SEQFLG4 auf "1" eingestellt, wenn die Befehlseingabe von dem Endgerät ein Herunterladebefehl von Musikstückdaten ist; die Kennzeichen SEQFLG33 und SEQFLG5 werden auf "1" eingestellt, wenn die Befehlseingabe von dem Endgerät ein Herunterladebefehl von Wellenformdaten ist; die Kennzeichen SEQFLG3 und SEQFLG6 werden auf "1" eingestellt, wenn die Befehlseingabe von dem Endgerät ein Herunterladebefehl von Parameterdaten ist; und die Kennzeichen SEQFLG3 und SEQFLG7 werden auf "1" eingestellt, wenn die Befehlseingabe von dem Endgerät ein Herunterladebefehl von Programmdaten ist. Wann immer irgendein Befehl von einem der Endgerät eingegeben wird, wird das Kennzeichen SEQFLG3 auf "1" eingestellt und die Art des Eingabebefehls wird durch eines der Kennzeichen SEQFLG4 bis SEQFLG7 bezeichnet.
  • Da das Kennzeichen SEQFLG3 auf "1" eingestellt wird, nachdem der Empfang des Befehls von irgendeinem der Endgeräte ausgeführt wird, wird die Ermittlung in Schritt S220 negativ, so dass der Host-Computer 10 zu Schritt S240 aus Fig. 9 geht, um in und nach Schritt S240 Funktionen durchzuführen, die der Befehlseingabe von dem Endgerät entsprechen. In Schritt S240 wird ermittelt, ob SEQFLG4 "1" ist. Wenn die Antwort in Schritt S240 positiv ist, bedeutet das, dass der Eingabebefehl von dem Endgerät ein Herunterladebefehl für Musikstückdaten ist, und somit geht der Host- Computer 10 zu Schritt S241, in welchem die durch den Befehl bezeichneten Musikstückdaten aus der Datenbank 13 ausgelesen werden und zu dem Endgerät übertragen werden, das mit der "i"-ten Leitung verbunden ist. Dann wird in Schritt S242 ermittelt, ob eine Übertragung der bezeichneten Musikstückdaten ausgeführt worden ist. Wenn die Übertragung jedoch noch nicht fertiggestellt worden ist, kehrt der Host-Computer 10 zu der Hauptroutine zurück, wenn aber die Übertragung ausgeführt worden ist, werden die Kennzeichen SEQFLG3 und SEQFLG4 beide auf "0" in Schritt S243 zurückgestellt und die augenblickliche Ausführung der Verarbeitung wird beendet.
  • Wenn die Antwort in Schritt S240 negativ ist, zweigt der Host-Computer 10 zu Schritt S244 ab, in welchem weiter ermittelt wird, ob SEQFLG5 "1" ist. Wenn die Antwort in Schritt S244 positiv ist, bedeutet das, dass der Eingabebefehl von dem Endgerät ein Herunterladebefehl für Wellenformdaten ist, und somit geht der Host- Computer 10 zu Schritt S245, in welchem die durch den Befehl bezeichneten Wellenformdaten aus der Datenbank 13 ausgelesen werden und zu dem Endgerät übertragen werden. Dann wird in Schritt S246 ermittelt, ob eine Übertragung der bezeichneten Wellenformdaten ausgeführt worden ist. Wenn die Übertragung jedoch noch nicht fertiggestellt worden ist, wie in Schritt S246 ermittelt wird, kehrt der Host-Computer 10 zu der Hauptroutine zurück, wenn aber die Übertragung ausgeführt worden ist, werden die Kennzeichen SEQFLG3 und SEQFLG5 beide auf "0" in Schritt S247 zurückgestellt, um die augenblickliche Ausführung der Verarbeitung zu beenden.
  • Wenn die Antwort in Schritt S244 negativ ist, zweigt der Host-Computer 10 zu Schritt S248 ab, in welchem weiter ermittelt wird, ob SEQFLG6 "1" ist. Wenn die Antwort in Schritt S248 positiv ist, bedeutet das, dass der Eingabebefehl von dem Endgerät ein Herunterladebefehl für Parameterdaten ist, und somit geht der Host- Computer 10 zu Schritt S249, in welchem die durch den Befehl bezeichneten Parameterdaten aus der Datenbank 13 ausgelesen werden und zu dem Endgerät übertragen werden. Dann wird in Schritt S250 ermittelt, ob eine Übertragung der bezeichneten Parameterdaten ausgeführt worden ist. Wenn die Übertragung jedoch noch nicht fertiggestellt worden ist, wie in Schritt S250 ermittelt wird, kehrt der Host-Computer 10 zu der Hauptroutine zurück, wenn aber die Übertragung ausgeführt worden ist, werden die Kennzeichen SEQFLG3 und SEQFLG6 beide auf "0" in Schritt S251 zurückgestellt, um die augenblickliche Ausführung der Verarbeitung zu beenden.
  • Wenn schließlich die Antwort in Schritt S248 negativ ist, zweigt der Host-Computer 10 zu Schritt S252 ab, in welchem weiter ermittelt wird, ob SEQFLG7 "1" ist. Wenn die Antwort in Schritt S252 positiv ist, bedeutet das, dass der Eingabebefehl von dem Endgerät ein Herunterladebefehl für ein Tonerzeugungs- oder Spielverarbeitungsprogramm ist, und somit geht der Host-Computer 10 zu Schritt S253, in welchem das durch den Befehl bezeichnete Programm aus der Datenbank 13 ausgelesen wird und zu dem Endgerät übertragen wird. Dann wird in Schritt S254 ermittelt, ob eine Übertragung des bezeichneten Programms ausgeführt worden ist. Wenn die Übertragung jedoch noch nicht fertiggestellt worden ist, kehrt der Host-Computer 10 zu der Hauptroutine zurück, wenn aber die Übertragung ausgeführt worden ist, werden die Kennzeichen SEQFLG3 und SEQELG7 beide auf "0" in Schritt S255 zurückgestellt, um die augenblickliche Ausführung der Verarbeitung zu beenden. Wenn SEQFLG7 nicht "1" ist, wie in Schritt S252 ermittelt wird, wird die augenblickliche Ausführung der Verarbeitung auch beendet.
  • In der vorher erwähnten Weise werden im Ansprechen auf die Art der Herunterladebefehlseingabe von dem Endgerät die entsprechenden Daten aus der Datenbank 13 zur Übertragung an das Endgerät ausgelesen. Zu dem Zeitpunkt, an dem die Datenübertragung durch die Operationen von Schritten S240 bis S255 fertiggestellt worden ist, werden die Kennzeichen SEQFLG1 und SEQFLG2 auf "1" eingestellt und nächste Daten können durch Empfangen eines Herunterladebefehls von irgendeinem der Endgeräte sukzessiv heruntergeladen werden.
  • < Verarbeitung in Endgeräten>
  • Die folgenden Absätze beschreiben verschiedene Verarbeitungen, die in den Endgeräten ausgeführt werden. Fig. 10 ist ein Flußdiagramm eines Hauptroutineprogramms, das von den Endgeräten 31 bis 35 ausgeführt wird. Wie dargestellt ist, wird zunächst ein Initialisierungsprozeß in Schritt S50 ausgeführt, welcher ein Laden des Systemprogramms in das Endgerät einschließt. Dann wird in Schritt S60 ein Systemverwaltungsprozeß ausgeführt und im nächsten Schritt S70 wird eine Anwendungsprogrammverarbeitung ausgeführt.
  • Der Ausdruck "Anwendungsprogramm" wird hier verwendet, um darauf hinzuweisen, dass nicht nur ein übliches Anwendungsprogramm auf dem Personalcomputer oder dergleichen läuft, sondern auch ein Programm zum Durchführen vorgegebener Operationen, die für das Endgerät spezifisch sind (z. B., wenn das Endgerät eine Maschine für Spiele ist, wird das Anwendungsprogramm eine Spiele-Software sein). Abhängig von der Natur des Systems können die vorgegebenen Operationen durch eine Treibersoftware in Kombination mit dem Betriebssystem implementiert werden und eine solche Treibersoftware ist in der Kategorie des "Anwendungsprogramms" eingeschlossen.
  • Nach der Anwendungsprogrammverarbeitung von Schritt S70 wird eine Netzwerkverarbeitung in Schritt S80 ausgeführt und dann kehrt die Routine in einer Schleife zu Schritt S60 zurück, um den Systemverwaltungsprozeß von Schritt S60, die Anwendungsprogrammverarbeitung von Schritt S70 und die Netzwerkverarbeitung von Schritt S80 zu wiederholen. <
  • Netzwerk-Verarbeitung>
  • Die Netzwerkverarbeitung von Schritt S80 wird nachfolgend detailliert unter Bezugnahme auf Fig. 11 bis 14 beschrieben. Die Netzwerkverarbeitung soll zur Verbindung des Endgerätes mit dem Host-Computer 10 und Herunterladen von Daten dienen, wie beispielsweise Musikstückdaten, Wellenformdaten, Parameterdaten, eines Tongeneratorprogramms und Spielverarbeitungsprogramms. Zum Herunterladen von Musikstückdaten sind zwei Modi vorgesehen, wobei einer der Modi ein Tongeneratorprogramm-Begleitungsmodus ist, in welchem Musikstückdaten zusammen mit einem entsprechenden Tongeneratorprogramm heruntergeladen werden, und der andere Modus ein Wellenformdaten-Begleitungsmodus ist, in welchem Musikstückdaten zusammen mit entsprechenden Wellenformdaten heruntergeladen werden.
  • Bei dem vorher erwähnten Tongeneratorprogramm-Begleitungsmodus und Wellenformdaten-Begleitungsmodus ist es gestattet, dass ein Anwender automatisch ein Optimum von Tongeneratorprogramm und Wellenformdaten herunterlädt. In dem Tongeneratorprogramm-Begleitungsmodus kann ein Tongeneratorprogramm ebenso wie Musikstückdaten einem Anwender zugeführt werden, der keine Sound-Leiterplatte oder einen externen Tongenerator hat, der mit dem Netzwerk 50 verbunden ist, so dass ein Musikstück sehr einfach aufgeführt werden kann. In dem Wellenformdaten- Begleitungsmodus können andererseits besonders Wellenformdaten, die erforderlich sind, um eine einzigartige Musikausdrucksweise zu erhalten, einem Anwender geliefert werden, der nur Standardwellenformdaten hat, sö dass ein Spiel von hoher Qualität mit Leichtigkeit erreicht wird.
  • Bei der Netzwerkverarbeitung von Schritt S80 wird eine Sequenz von Operationen durch Verwendung von Kennzeichen TERM1-TERM3 und TERM11-TERM22 gesteuert, welche alle in einer Ausgangsstufe auf "0" zurückgestellt werden.
  • Beim Aktivieren der Netzwerkverarbeitung wird ein Befehls/Einstellungs- Operationsprozeß in Schritt S801 durchgeführt, um einen aktuellen Betriebszustand einer Maus, einer Tastatur oder eines Bedienungsfelds, die von dem Anwender betätigt werden, zu ermitteln. Ein Prozeß für Host-Antwort-Schnellempfang und Anzeige wird im nächsten Schritt S802 ausgeführt und dann wird in Schritt S803 ermittelt, ob das Kennzeichen TERM1 augenblicklich auf einem Wert "0" ist. Da das Kennzeichen TERM1 in der Anfangsstufe "0" ist, ist eine positive Ermittlung in Schritt S803 die Folge, so dass die Verarbeitung zu Schritt S804 fortschreitet, um eine Zugriffspunkt- Verbindung und einen LOGIN-Prozeß auszuführen.
  • In diesem Fall kann ein automatischer Zugriff auf einen nähesten Zugriffspunkt oder einen Zugriffspunkt, der die niedrigsten Leitungskosten erfordert, durchgeführt werden. Beim Herunterladen von Daten kann ein aktuell verbundener Zugangspunkt als ein Datenauswählkriterion verwendet werden. Wenn zum Beispiel der Zugriff über einen Fernanruf geht, kann eine Version von einem gleichen Musikstück oder Programm mit der geringsten Datenmenge automatisch zum Herunterladen gewählt werden.
  • Nach Schritt S804 bewegt sich die Verarbeitung zu Schritt S805, um zu ermitteln, ob der LOGIN-Prozeß fertiggestellt worden ist. Wenn der LOGIN-Prozeß fertiggestellt worden ist, beendet die Verarbeitung die Netzwerkverarbeitung nach Einstellen des Kennzeichens TERM1 auf "1" in Schritt S806.
  • Sobald die Ermittlung in Schritt S803 negativ wird, wobei das Kennzeichen TERM1 auf "1" eingestellt wird, zweigt die Verarbeitung zu Schritt S807 ab, um einen aktuellen Leitungs-Verbindungszustand und eine LOGOUT-Operation zu überprüfen, so dass ermittelt wird, ob die Leitung in Schritt S808 verbunden ist. Wenn die Antwort in Schritt S808 positiv ist, schreitet die Verarbeitung zu Schritt S809 fort, um weiter zu ermitteln, ob das Kennzeichen TERM2 augenblicklich auf "0" eingestellt ist. Wenn die Antwort in Schritt S810 negativ ist, schreitet die Verarbeitung zu Schritt S810, um weiter zu ermitteln, ob das Kennzeichen TERM3 augenblicklich auf "0" eingestellt ist. Somit werden von Schritten 5809 und S810 unterschiedliche aufeinanderfolgende Operationen abhängig von den aktuellen Werten der Kennzeichen TERM2 und TERM3 durchgeführt.
  • Sobald die Ermittlung in Schritt S808 negativ wird, zweigt die Verarbeitung zu Schritt S811 ab, um einen Leitungstrennungs-/LOGOUT entsprechenden Prozeß auszuführen. Dann beendet die Verarbeitung die Netzwerkverarbeitung, nachdem all die TERM-Kennzeichen in Schritt S812 auf "0" zurückgestellt werden.
  • Zu dem Zeitpunkt, an dem der LOGIN in den Host-Computer 10 ausgeführt worden ist, ist das Kennzeichen TERM2 noch "0", so dass die Ermittlung in Schritt S809 positiv wird, und die Verarbeitung geht weiter zu Schritt S820 (Fig. 12), in welchem ermittelt wird, ob das Kennzeichen TERM11 augenblicklich "0" ist. Da das Kennzeichen TERM 11 zu diesem Zeitpunkt "0" ist, wird die Ermittlung in Schritt S820 positiv, so dass die Verarbeitung zu Schritt S821 fortschreitet, in welchem ermittelt wird, ob irgendeine Eingabeoperation durchgeführt worden ist, um Musikstückdaten herunterzuladen. Bei einer positiven Ermittlung wird ein Befehl zum Herunterladen der Musikstückdaten, die durch die Eingabeoperation bezeichnet wurden, zu dem Host-Computer 10 in Schritt S822 übertragen. Dann beendet die Verarbeitung die Netzwerkverarbeitung von Schritt S80, nachdem das Kennzeichen TERM11 in Schritt S823 auf "1" zurückgestellt ist.
  • Wenn die Antwort in Schritt S821 negativ ist, zweigt die Verarbeitung zu Schritt S824 ab, in welchem ermittelt wird, ob irgendeine Eingabeoperation durchgeführt worden ist, um Wellenform- oder Parameterdaten herunterzuladen. Bei einer negativen Ermittlung zweigt die Verarbeitung zu Schritt S826 ab, in welchem weiter ermittelt wird, ob irgendeine Eingabeoperation durchgeführt worden ist, um Programmdaten herunterzuladen. Bei einer negativen Ermittlung in Schritt S826 zweigt die Verarbeitung zu Schritt S828 ab, um einen Prozeß auszuführen, der irgendeiner anderen Eingabeoperation entspricht. Wenn irgendeine Eingabeoperation durchgeführt wurde, um Wellenformdaten oder Parameterdaten herunterzuladen, wie in Schritt S824 ermittelt wurde, wird ein Befehl zum Herunterladen der Wellenformdaten oder Parameterdaten, die durch die Eingabeoperation bezeichnet wurden, zu dem Host-Computer 10 in Schritt S825 übertragen. Wenn irgendeine Eingabeoperation durchgeführt wurde, um Programmdaten herunterzuladen, wie in Schritt S826 ermittelt wurde, wird ein Befehl zum Herunterladen des Tonerzeugungsprogramms oder Spielverarbeitungsprogramms, das durch die Eingabeoperation bezeichnet wurde, zu dem Host-Computer 10 in Schritt S827 übertragen. Nach diesen Operationen beendet die Verarbeitung die Netzwerkverarbeitung von Schritt S80, nachdem das Kennzeichen TERM11 in Schritt S823 auf "1" zurückgestellt ist.
  • Sobald die Ermittlung in Schritt S820 negativ wird, wobei das Kennzeichen TERM11 auf "1" eingestellt ist, zweigt die Verarbeitung zu Schritt S829 ab, um einen Empfangsprozeß für heruntergeladene Daten auszuführen. Danach schreitet die Verarbeitung zu Schritt S830, in welchem ermittelt wird, ob der Empfang der heruntergeladenen Daten ausgeführt worden ist. Wenn die Antwort in Schritt S830 positiv ist, geht die Verarbeitung zu Schritt S831, um den Anwender zu informieren, dass der Empfang fertiggestellt ist. Dann wird das Kennzeichen TERM11 auf "0" zurückgesetzt und das Kennzeichen TERM2 wird in Schritt S832 auf "1" eingestellt, bevor die Verarbeitung die aktuelle Ausführung der Netzwerkverarbeitung beendet. Wenn der Empfang der heruntergeladenen Daten nocht nicht vervollständigt ist, wie in Schritt S830 ermittelt wird, beendet die Verarbeitung die Netzwerkverarbeitung, ohne die Operationen von Schritten S831 und S832 durchzuführen.
  • Sobald die Ermittlung in Schritt S809 negativ wird, wobei das Kennzeichen TERM2 auf "1" eingestellt wird, zweigt die Verarbeitung zu Schritt S810 ab, um einen aktuellen Zustand des Kennzeichens TERM3 zu überprüfen. Beim Ergebnis einer positiven Ermittlung in Schritt S810, dass das Kennzeichen TERM3 auf "0" eingestellt ist, geht die Verarbeitung zu Schritt S840 (Fig. 13) weiter, um einen aktuellen Zustand von Kennzeichen TERM21 zu überprüfen. Wenn das Kennzeichen TERM21 augenblicklich "0" ist, geht die Verarbeitung zu Schritt S841, um zu bestimmen, ob die empfangenen Daten Musikstückdaten sind oder nicht. Wenn die empfangenen Daten keine Musikstückdaten sind, dann springt die Verarbeitung zu Schritt S848, um die Kennzeichen TERM1 und TERM11 auf "0" zurückzustellen und das Kennzeichen TERM3 auf "1" einzustellen, und beendet dann die aktuell Ausführung der Netzwerkverarbeitung.
  • Wenn die empfangenen Daten Musikstückdaten sind, wie in Schritt S841 festgestellt wurde, geht die Verarbeitung zu Schritt S842, in welchem ermittelt wird, ob der aktuelle Herunterladeprozeß in dem Tonerzeugungsprogramm-Begleitungsmodus ist. Bei einer negativen Ermittlung beendet die Verarbeitung die Netzwerkverarbeitung von Schritt S80, nachdem die Operation von Schritt S848 durchgeführt wird, wie in dem Fall, in dem andere Daten als die Musikstückdaten heruntergeladen werden.
  • Wenn der aktuelle Herunterladeprozeß in dem Tonerzeugungsprogramm-Begleitungsmodus ist, wie in Schritt S842 festgestellt wird, schreitet die Verarbeitung zu Schritt S843, um den Bezeichnungsprozeß für ein Tongeneratorprogramm (TONE PGM) auszuführen. Dieser Bezeichnungsprozeß identifiziert den Namen und eine Versionsnummer des optimalen Tongeneratorprogramms durch Bezug auf die Anwenderprofilinformation (USER PROFILE) in Entsprechung zu einer entsprechenden Tongenerator(programm)information (TG INFO), die in den Musikstück betreffenden Daten (MUSIC MISC DATA) der empfangenen Musikstückdaten enthalten ist, so dass das optimale Tongeneratorprogramm als Kandidat zum Herunterladen bezeichnet wird.
  • Als das optimale Tongeneratorprogramm wird eines aus diesen Programme ausgewählt, das kompatibel mit der CPU, dem Personalcomputer und Betriebssystem ist und welches auch die folgenden Bedingungen erfüllt:
  • (1) nicht mehr zu benötigen als die Kapazität des Anwenderspeichers oder eine kleinste Speichergröße unter den Programmen zu benötigen;
  • (2) Töne erzeugen zu können, die der von dem Anwender gewünschten Tonqualität genügen;
  • (3) auf dem Stand der aktuellsten Version zu sein, wenn eine Vielzahl von Tonerzeugungsprogrammen vorhanden sind, die die vorher erwähnten Bedingungen erfüllen,
  • usw.
  • Nachdem der Name und die Version des optimalen Tongeneratorprogramms auf diese Weise identifiziert worden ist, schreitet die Verarbeitung zu Schritt S844, in welchem eine Software-Liste, die in das Endgerät geladen werden soll (insbesondere die Software-Liste in der Verzeichnisinformation der Anwenderprofilinformation, die in Fig. 5c gezeigt ist) oder ein Verzeichnis von Medien, die in dem Endgerät inkorporiert sind, geprüft wird, um festzustellen, ob das ausgewählte oder bezeichnete optimale Tongeneratorprogramm in dem Endgerät gespeichert ist oder nicht. Wenn das Tongeneratorprogramm nicht in dem Endgerät gespeichert ist, dann schreitet die Verarbeitung zu Schritt S845 fort, um einen Herunterladebefehl zu übertragen, der das ausgewählte optimale Tongeneratorprogramm bezeichnet. Die Verarbeitung beendet dann die aktuelle Ausführung der Netzwerkverarbeitung, nachdem das Kennzeichen TERM2 im nächsten Schritt S846 auf "1" eingestellt worden ist. Wenn andererseits die Software-Liste oder Medienliste zeigt, dass das ausgewählte optimale Tongeneratorprogramm in dem Endgerät gespeichert ist, geht die Verarbeitung zu Schritt S847, um den Anwender zu informieren. Dann beendet die Verarbeitung die aktuelle Ausführung der Netzwerkverarbeitung, nachdem die Kennzeichen TERM1 und TERM11 auf "0" zurückgestellt werden und das Kennzeichen TERM3 im nächsten Schritt S848 auf "1" eingestellt wird.
  • Sobald die Ermittlung in Schritt S840 durch Einstellen des Kennzeichens TERM21 auf "1" negativ wird, zweigt die Verarbeitung zu Schritt S849 ab, um einen Empfangsprozeß von heruntergeladenen Daten auszuführen. Danach schreitet die Verarbeitung zu Schritt S850, in welchem festgestellt wird, ob ein Empfang von heruntergeladenen Daten fertiggestellt worden ist. Wenn die Antwort in Schritt S850 positiv ist, geht die Verarbeitung zu Schritt S851, um den Anwender zu informieren, dass der Empfang fertiggestellt worden ist. Im nächsten Schritt S852 wird die Software-Liste (SOFT LIST) in der Verzeichnisinformation in Schritt S852 aktualisiert, um das heruntergeladene Tongeneratorprogramm (TONE PGM) zu registrieren. Dann beendet die Verarbeitung die aktuelle Ausführung der Netzwerkverarbeitung, nachdem das Kennzeichen TERM11 auf "0" zurückgestellt wird und das Kennzeichen TERM3 im nächsten Schritt S853 auf "1" eingestellt wird.
  • Das Herunterladen des Tongeneratorprogramms wird in der vorher beschriebenen Weise ausgeführt. Ein solches Herunterladen des Tongeneratorprogramms kann jedoch weggelassen werden, wenn das Anwendersystem dort das optimale Tongeneratorprogramm oder ein ähnliches oder ein aktualisiertes Programm, welches im allgemeinen äquivalent oder besser als das optimale Tongeneratorprogramm ist, oder einen Hardware-Tongenerator installiert hat, der funktionell äquivalent oder besser als das Programm ist. Eine Ermittlung, ob das Laden, das dem Systemstatus entspricht, ausgeführt werden sollte oder nicht, oder ein Auswählen eines zu ladenden Programms oder Daten kann nur nach einer Durchführung einer solchen Umgebungsüberprüfung im Detail ausgeführt werden. Falls zudem Programmdaten von unterschiedlichen Versionen, die den gleichen Namen haben, in dem Host-Computer gespeichert sind, kann die letzte und neuerste Version automatisch ausgewählt werden. Daten, die ein zu verwendendes Tongeneratorprogramm bezeichnen, können auch in Spieldaten von geladenen Musikstückdaten oder einen Datenblock eines Spielparts eingefügt werden, um so das Tongeneratorprogramm zum Laden durch Überprüfen der bezeichneten Daten auszuwählen. Zudem kann eine sogenannte "auto.pilot"-Funktion inkorporiert sein, um zu ermöglichen, dass die Verarbeitung in einer vorgegebenen Sequenz automatisch ausgeführt wird.
  • Wenn die Kennzeichen TERM2 und TERM3 beide "1" sind, ist eine negative Ermittlung die Folge in Schritt S810, so dass die Verarbeitung zu Schritt S860 geht, in welchem festgestellt wird, ob das Kennzeichen TERM22 augenblicklich "0" ist. Wenn die Antwort positiv ist in Schritt S860, wird weiter ermittelt in Schritt S861, ob der aktuelle Prozeß in dem Wellenformdaten-Begleitungsmodus ist oder nicht. Wenn das der Fall ist, schreitet die Verarbeitung zu Schritt S862 fort, um einen Wellenform (WAVE DATA)-Bezeichnungsprozeß auszuführen. Dieser Bezeichnungsprozeß identifiziert den Namen von optimalen Wellenformdaten durch Bezugnahme auf die Anwender-Profilinformation (USER PROFILE) entsprechend der Klangfarbenliste, die in Musikstück betreffenden Daten (MUSIC MISC DATA) der empfangenen Musikstückdaten enthalten ist. Die optimalen Wellenformdaten werden generell entsprechend den gleichen Bedingungen ausgewählt, wie es früher in Verbindung mit dem optimalen Tongeneratorprogramm beschrieben wurde.
  • Nachdem der Name der optimalen Wellenformdaten auf diese Weise identifiziert worden ist, schreitet die Verarbeitung zu Schritt S863 fort, in welchem festgestellt wird, ob die optimalen Wellenformdaten nicht in dem Verzeichnis der Wellenformliste oder dem Aufzeichnungsmedium des Endgerätes registriert sind. Wenn die Wellenformdaten nicht in dem Endgerät gespeichert sind, erfolgt eine positive Ermittlung in Schritt S863, und dann schreitet die Verarbeitung zu Schritt S864 fort, um einen Herunterladebefehl zum Bezeichnen der optimalen Wellenformdaten zu übertragen. Dann beendet die Verarbeitung die aktuelle Ausführung der Netzwerkverarbeitung von Schritt S80, nachdem das Kennzeichen TERM22 im nächsten Schritt S865 auf "1" eingestellt wird.
  • Wenn andererseits die Wellenformliste oder das Medienverzeichnis zeigt, dass die optimalen Wellenformdaten in dem Endgerät gespeichert sind, wie in Schritt S863 ermittelt wird, geht die Verarbeitung zu Schritt S866, um den Anwender zu informieren. Dann beendet die Verarbeitung die aktuelle Ausführung der Netzwerkverarbeitung von Schritt S80, nachdem die Kennzeichen TERM2, TERM3, TERM11 und TERM21 im nächsten Schritt S867 auf "0" zurückgestellt werden.
  • Wenn der aktuelle Prozeß nicht in dem Wellenformdaten-Begleitungsmodus ist, wie in Schritt S861 festgestellt wird, springt die Verarbeitung zu Schritt S867, um die Kennzeichen TERM2, TERM3, TERM11 und TERM22 auf "0" zurückzustellen, und beendet die aktuelle Ausführung der Netzwerkverarbeitung.
  • Sobald die Ermittlung in Schritt S860 durch Einstellen des Kennzeichens TERM22 auf "1" negativ wird, zweigt die Verarbeitung zu Schritt S868 ab, um einen Empfangprozeß von heruntergeladenen Daten auszuführen. Danach schreitet die Verarbeitung zu Schritt S869, in welchem festgestellt wird, ob ein Empfang von heruntergeladenen Daten fertiggestellt worden ist. Wenn die Antwort in Schritt S869 positiv ist, geht die Verarbeitung zu Schritt S870, um den Anwender zu informieren, dass der Empfang fertiggestellt worden ist. Im nächsten Schritt S871 wird die Wellenform-Liste (WAVE LIST) in dem Verzeichnis in Schritt S871 aktualisiert, um die empfangenen Wellenformdaten zu registrieren. Dann beendet die Verarbeitung die aktuelle Ausführung der Netzwerkverarbeitung von Schritt S80, nachdem die Kennzeichen TERM2, TERM3, TERM11 und TERM21 im nächsten Schritt S872 auf "0" zurückgestellt werden. Wenn der Empfang der heruntergeladenen Daten nicht fertiggestellt worden ist, wie in Schritt S869 ermittelt wird, beendet die Verarbeitung die aktuelle Ausführung der Netzwerkverarbeitung, ohne die Operationen von Schritten S870, S871 und S872 durchzuführen.
  • < Anwendungs-Verarbeitung>
  • Fig. 15 ist ein Flußdiagramm der Anwendungsverarbeitung, die in Schritt S70 in jedem der Endgeräte ausgeführt wird, bei welcher eine Musikstückdatenspielverarbeitung zunächst in Schritt S71 ausgeführt werden, dann wird eine Tonerzeugungsverarbeitung in Schritt S76 ausgeführt und nachfolgend wird eine andere Verarbeitung in Schritt S79 ausgeführt. Bei der andere Verarbeitung von Schritt S79 werden andere Prozesse, die nicht die Musikstückdatenspiel- und Tonerzeugungsverarbeitung sind, abhängig von dem Typ und den Spezifikationen des Endgerätes ausgeführt. Wenn das Endgerät eine Maschine für Spiele ist, können andere Prozesse einschließlich solchen für die Spiele selbst ausgeführt werden.
  • < Musikstückdaten-Spielverarbeitung>
  • Fig. 16 ist ein Flußdiagramm der Musikstückdaten-Spielverarbeitung, bei welcher zunächst ein Operationsdetektionsprozeß in Schritt S711 ausgeführt wird, um zu ermitteln, welche Art von Operation von dem Anwender durchgeführt worden ist. Dann wird in Schritt S712 ermittelt, ob irgendein Spiel augenblicklich im Gange ist. Wenn kein Spiel augenblicklich im Gange ist, wie in Schritt S712 ermittelt wird, schreitet die Verarbeitung zu Schritt S713 fort, um einen Spielform/Umgebungseinstellungsprozeß auszuführen, welcher verschiedene Spielbedingungen einstellt, wie beispielsweise ein Tempo, Lautstärke und Modus eines Spiels. Darauf folgend wird in Schritt S73 ein Musikstückdaten-Auswählprozeß ausgeführt, um Musikstückdaten auszuwählen und zu laden. Ein Spielstartoperationsprozeß wird im nächsten Schritt S715 ausgeführt und dann wird die Musikstückdatenspielverarbeitung beendet.
  • Wenn die Antwort in Schritt S712 positiv ist, wird ein Spielereigniserzeugungsprozeß in Schritt S716 ausgeführt, in welchem Musikstückdaten, die in dem Musikstückdatenauswählprozeß in Schritt S73 geladen werden, sequentiell ausgelesen werden, um ein Spielereignis, wie beispielsweise ein MIDI-Ereignis, zu einem vorgegebenen Zeitpunkt auf der Grundlage der ausgelesenen Daten zu erzeugen. Auf der Grundlage des erzeugten Spielereignisses wird der Tongenerator 113 aus Fig. 3 durch die nachfolgend beschriebene Tonerzeugungsverarbeitung von Schritt S76 gesteuert, um einen Ton zu erzeugen. Auf den Spielereigniserzeugungsprozeß von Schritt S716 folgend wird ein Spielsteueroperationsprozeß in Schritt S717 ausgeführt, um Operationen durchzuführen, die einer Anwendereingabe entsprechen, wie beispielsweise STOP oder PAUSE. Danach wird diese Musikstückdatenspielverarbeitung beendet.
  • Details des Musikstückdatenauswählprozesses von Schritt S73 werden in bezug auf Fig. 17 beschrieben. In Schritt S731 wird zuerst eine Musikstückliste angezeigt und der Prozeß wartet bis der Anwender ein Musikstück aus der angezeigten Liste auswählt. Es wird in Schritt S732 ermittelt, ob irgendein Musikstück von dem Anwender ausgewählt worden ist. Wenn kein Musikstück ausgewählt wurde, wird der Musikstückdatenauswählprozeß beendet, ohne andere Operationen auszuführen. Wenn irgendein Musikstück ausgewählt worden ist, wie in Schritt S732 ermittelt wird, werden Daten des ausgewählten oder bezeichneten Musikstücks (MUSIC DATA) eingelesen. In Schritt S734 überprüft der Prozeß dann eine Korrepondenz zwischen Versionsnummerdaten (VER NO ID oder SONG VER NO ID) und Tongeneratorinformation (TG INFO), die in den eingelesenen Musikstückdaten enthalten sind, und Versionen usw. eines Tongeneratorprogramms (TONE PGM), das auf der Software-Liste (SOFT LIST) präsentiert wird. In Schritt S735 wird dann festgestellt, ob die eingelesenen Musikstückdaten eine geringe Korrespondenz zu dem augenblicklich laufenden Tongeneratorprogramm haben.
  • Wenn eine positive Ermittlung in Schritt S735 erfolgt, da keine gute Korrespondenz bei der Versionsnummer oder dergleichen gefunden wird, schreitet der Prozeß zu Schritt S736, in welchem das entsprechende Tongeneratorprogramm in die Software- Liste (SOFT LIST) geladen und aktiviert wird. Zu diesem Zeitpunkt wird abhängig von der aktuellen Speicherlast oder Inhalten des Anwenderprofils eine Auswahl durchgeführt, ob das Programm zusätzlich geladen werden sollte oder anstelle des augenblicklich laufenden Tongeneratorprogramms. Nach Schritt S736 geht der Prozeß weiter zu Schritt S737. Wenn eine negative Ermittlung in Schritt S735 erfolgt, weil eine gute Korrespondenz gefunden wird, geht der Prozeß direkt zu Schritt S737, ohne die Operation von Schritt S736 durchzuführen.
  • In Schritt S737 wird bestimmt, ob eine gute Korrespondenz zwischen den Inhalten der Klangfarbenbezeichnungsdaten in den Spielereignisdaten oder der Klangfarbenliste (TONE COLOR LIST) und den bereits geladenen Wellenformdaten (WAVE DATA) besteht. Dann wird in Schritt S738 ermittelt, ob es irgendwelche ungeladenen Daten gibt. Wenn die Antwort in Schritt S738 negativ ist, geht der Prozeß zu Schritt S741 zu einem Musikstückauswähl-Beendigungprozeß und somit wird dieser Musikstückdatenauswählprozeß zu einem Ende gebracht. Wenn die Antwort in Schritt S738 positiv ist, geht der Prozeß zum nächsten Schritt S739, um zu ermitteln, ob die ungeladenen Wellenformdaten in der Wellenformliste (WAVE LIST) sind. Wenn das der Fall ist, schreitet der Prozeß zu Schritt S740 fort, um die ungeladenen Wellenformdaten einzulesen, und führt dann den Musikstückauswähl-Beendigungsprozeß in Schritt S741 aus.
  • Wenn die ungeladenen Wellenformdaten nicht in der Wellenformliste (WAVE LIST) sind, wie in Schritt S739 ermittelt wird, werden Ersatz-Wellenformdaten in Schritt S742 geladen. Wenn zum Beispiel fünf unterschiedliche Klavier-Klangfarben PIANO1 bis PIANO5 auswählbar sind und wenn das fragliche Musikstück PIANO3 verwendet wird, wobei nur PIANO1 in dem Endgerät installiert ist, wird PIANO1, das zu verwenden ist, anstelle von PIANO3 geladen. Nachdem dann das Laden der Ersatz- Wellenformdaten dem Anwender in Schritt S743 mitgeteilt ist, geht der Prozeß zu dem Musikstückauswähl-Beendigungprozeß von Schritt S741, um den Prozeß und die Anzeige der eingelesenen Wellenformdaten zu beenden.
  • < Tonerzeugungs-Verarbeitung>
  • Die Tonerzeugungsverarbeitung von Schritt S76 dient zum Erzeugen eines Tons durch Steuern des Tongenerators auf der Grundlage eines Spielereignisses, wie beispielsweise eines MIDI-Ereignisses, das zu einem vorgebenen Zeitpunkt durch den vorher beschriebenen Spielereigniserzeugungsprozeß von Schritt S716 erzeugt wird. Die Tonerzeugungsverarbeitung wird hier in bezug auf ein Beispiel beschrieben, in welchem Wellenformdaten arithmetisch durch eine Software erzeugt werden, wobei nur der D/A-Wandler des Kodierers/Dekodierers (CODEC) als der Tongenerator 113 verwendet wird. Wenn eine Soundkarte oder ein externer Tongenerator als der Tongenerator 113 verbunden ist, wird der Tonerzeugungsprozeß durch eine herkömmliche Treiber-Software ausgeführt.
  • Falls die Wellenformdaten durch eine Software arithmetisch erzeugt werden, werden verschiedene Speicherbereiche in dem RAM 102 als Register für 16 Arten von Klangfarbendaten PD1 bis PD16 und n Arten von Wellenformdaten WD1 bis WDn, Kanalregister für 32 Kanäle CH1 bis CH32 und eine Vielzahl von Ausgabepuffern bereitgestellt.
  • Jede der Klangfarbendaten PD1-PD16 besteht aus Daten, die eine Wellenform eines vorgegebenen Tonhöhenbereichs (Tonhöhenbereich-Wellenformbezeichnungsdaten) bezeichnen; Daten zum Steuern eines Niederfrequenzoszillators (LFO), der zum Beigeben eines Vibratoeffekts oder dergleichen verwendet wird (LFO-Steuerdaten OD); Daten zum Steuern einer Erzeugung einer Filterhüllkurve, um eine Klangfarbenfiltercharakteristik zeitlich zu variieren (FEG-Steuerdaten OD); Daten zum Steuern einer Erzeugung einer Lautstärkenhüllkurve, um eine Lautstärkenvariationscharakteristik zu steuern (AEG-Steuerdaten OD); Anschlagsteuerdaten zum Variieren eine zunehmenden Geschwindigkeit eines Tons oder dergleichen entsprechend einer detektierten Tastenanschlaggeschwindigkeit (Anschlagsteuerdaten OD); und andere Daten einschließlich von Wellenformabtastwertbildungsauflösung-Steuerdaten (andere Daten OD). "OD", das am Ende jeder der vorher erwähnten Daten hinzugefügt ist, steht für "Originaldaten" bevor sie dazu verwendet werden, beispielsweise eine Modulation zu steuern. Bei der Ausführungsform werden Tonbildungsdaten, die in dem Tongenerator zu verwenden sind, durch Verarbeitung dieser Originaldaten in Entsprechung zu Anschlagdaten, Tonhöhendaten usw. gebildet, die im Ansprechen auf eine Tonerzeugungsinstruktion erzeugt werden.
  • Ferner wird irgendeiner der Wellenformdatenwerte WD1-WDn durch die Tonhöhenbereich-Wellenformbezeichnungsdaten von einem der Klangfarbendatenwerte PD1-PD16 in Entsprechung zu Eingabetonhöhendaten bezeichnet.
  • Jeder der Kanalregisterbereiche speichert eine Vielzahl von Tonerzeugungs- Steuerdaten, welche eine Notennummer, Wellenformbezeichnungsdaten, LFO-Steuerdaten, Filterhüllkurven-Steuerdaten (FEG-Steuerdaten), Anplitudenhüllkurven- Steuerdaten (AEG-Steuerdaten), Ton-EIN-Daten und andere Daten ebenso wie einen Arbeitsbereich aufweisen, der von der CPU 101 während einer Ausführung eines Programms verwendet wird. Die Wellenformbezeichnungsdaten, LFO-Steuerdaten, FEG-Steuerdaten und AEG-Steuerdaten in dem Kanalregisterbereich sind Tonbildungsdaten, die durch Verarbeitung der vorher erwähnten jeweiligen Originaldaten erhalten werden und auf jede dieser Daten wird nachfolgend hier mit dem Buchstaben "D", der an ihrem Ende hinzugefügt ist, Bezug genommen.
  • Die Ausgabepufferbereiche werden ihrerseits als Tonwellenformbildungs- Ausgabepuffer X verwendet. Jedesmal wenn Tonwellenformabtastwertdaten für die einzelnen Tonerzeugungskanäle SD1, SD2, SD3, ... durch arithmetische Operationen gebildet werden, wie später beschrieben wird, werden diese Daten, Kanal um Kanal, akkumuliert und die resultierenden akkumulierten Daten werden in die Ausgabepuffer gespeichert. Zwei oder mehrere diese Ausgabepuffer werden als die Tonwellenformbildungs-Ausgabepuffer X bestimmt und bei den Wellenformberechnungsoperationen verwendet. In der einfachsten Form können zwei Ausgabepuffer X verwendet werden, um eine Doppel-Pufferstruktur zu schaffen, so dass, während die Daten in einem der Puffer X gespeichert werden, die durch den Wellenformwiedergabeabschnitt wiedergegeben werden, neue Wellenformabtastdaten, die durch die Wellenformbindungsoperationen erhalten werden, in den anderen Puffer X gespeichert werden.
  • Die Ausgabepuffer könnn irgendeine optionale Größe aufweisen, wie beispielsweise 100 Wörter, 500 Wörter, 1K Wörter oder 5K Wörter. Es ist nach dem Stand der Technik bekannt, dass die größere Ausgabepuffergröße eine längere Zeitverzögerung bei der Tonerzeugung zur Folge haben könnte, während - die kleinere Ausgabepuffergröße eine reduzierte Zeitspanne und schlechtes Ansprechen bei einer temporären Zunahme der auszuführenden Berechnungsmenge mit sich bringen würde. In Fällen aber wie der vorliegenden Erfindung, bei der eine Spiel auf Sequenzergrundlage oder ein automatisches Spiel ausgeführt wird, ohne die Möglichkeit einer Echtzeit-Verarbeitung zu erfordern, kann die Größe des Ausgabepuffer groß gemacht werden, da die Tonerzeugungsverzögerung wirksam durch Verschieben des Spielzeitpunktes ausgeglichen werden kann.
  • Wenn andererseits das Tonerzeugungsprogramm bei einem Tastaturspiel oder dergleichen, das die Möglichkeit zum Echtzeitspiel erfordert, verwendet wird, ist es vorzuziehen, dass die Größe des Ausgabepuffers in einem Bereich von 100 bis 200 Wörtern liegt, um eine Tonerzeugungsverzögerung zu verhindern. Eine solche Ausgabepuffergröße ist für eine Wiedergabeabtastfrequenz von 40 bis 50 kHz geeignet, bei einer niedrigeren Abtastfrequenz muß die Ausgabepuffergröße viel kleiner sein.
  • Bei der Tonerzeugungsverarbeitung von Schritt S76, die unter Verwendung der vorher erwähnten Daten ausgeführt wird, arbeitet die CPU 101 des Endgerätes, um arithmetisch eine Vielzahl von (z. B., 100) Tonwellenformabtastwerten für jeden der Tonerzeugungskanäl zusammengefaßt zu einem vorgegebenen Zeitpunkt zu erzeugen oder zu bilden. Für jeden der Tonerzeugungskanäle werden nämlich Tonwellenformabtastwerte zusammen erzeugt, die 100 Abtastzyklen des D/A-Wandlers entsprechen.
  • Zu jedem vorgegebenen Berechnungszeitpunkt wird somit die Tonerzeugungsverarbeitung für all die Kanäle durchgeführt. Wenn die Zahl der erzeugten Tonwellenformabtastwerte auf "100" eingestellt ist, werden diese Abtastwerte sequentiell wie ein kanalspezifischer akkumulierter Wert für 100 Abtastzyklen des D/A-Wandlers akkumuliert und in den vorher erwähnten Ausgabepuffer X gespeichert. Sobald die Abtastwertakkumulation für alle Tonerzeugungskanäle fertiggestellt ist, werden die in dem Ausgabepuffer gespeicherten Tonwellenformabtastwerte, ein Abtastwert in jedem Abtastzyklus, durch den Wellenformwiedergabeabschnitt ausgelesen und durch den D/A-Wandler dem Tonsystem zur hörbaren Wiedergabe oder zum Erklingen geliefert. Der vorgegebene Berechnungszeitpunkt wird bei dieser Ausführungsform gesteuert, um in Intervallen aufzutreten, so dass, wenn die Tonerzeugungsverarbeitung unter Verwendung der Ausgabepuffer durchgeführt wird, all die Tonwellenformabtastwerte ausgelesen und vollständig wiedergegeben werden können, ohne auf halbem Weg auszufallen oder abzubrechen.
  • Bei einer solchen Anordnung müssen vorbereitende Operationen für jeden der Kanäle nur einmal für eine Vielzahl von zusammengefaßt zu erzeugenden Tonwellenformabtastwerten durchgeführt werden und daher ist es möglich, den Anteil einer arithmetischen Operation oder Berechnungszeit, die auf vorbereitende Operationen aufzuwenden sind, im Verhältnis zu der Gesamtberechnungszeit zu reduzieren, so dass der Verwaltungsaufwand wesentlich reduziert wird. Dies kann die Qualität der erzeugten Tonwellenformabtastwerte wesentlich verbessern und die Anzahl von simultan erzeugbaren Tönen erhöhen.
  • Jedesmal wenn Eingabedaten (in diesem Fall MIDI-Ereignisdaten) empfangen werden, werden zudem arithmetische Wellenformoperationen oder Berechnungen für Abtastwerte bis zu diesem Zeitpunkt durchgeführt. Bei dem vorgegebenen Berechnungszeitpunkt werden Tonwellenformabtastwertberechnungen nur an unberechneten einer vorgegebenen Vielzahl von Tonwellenformabtastwerten durchgeführt (i. e., Abtastwerten, die der Größe jedes der Ausgabepuffer X entsprechen).
  • Bei der Tonerzeugungsverarbeitung, bei der Wellenformabtastwertberechnungen für jeden der Tonerzeugungskanäle, die augenblicklich Töne zum Erklingen bringen, durchgeführt werden, sind mehr arithmetische Operationen in jedem Kanal, in welchem ein Taste-EIN- oder Taste-AUS-Ereignis stattfindet, wobei eine besondere Form von Tonerzeugung eingeschlossen ist, die im Ansprechen auf Eingabedaten (Tonhöhenbeugung oder Lautstärkeänderung) variiert, als in anderen Kanälen erforderlich, in welchen die Tonerzeugung ohne Variation, die auf die Eingabedaten anspricht, fortgesetzt wird. In einem solchen Fall wird, wenn die Berechnungspunkte für ein Auftreten an feststehenden Intervallen eingestellt werden, ein großer Teil der Operationsperiode durch die Kanäle besetzt, die eine Änderung in der Form einer Tonerzeugung mit sich bringen, was eventuell die Anzahl von Tonerzeugungskanälen reduziert, für die die erforderlichen arithmetischen Operationen in einer begrenzten Zeit fertiggestellt werden können. Insbesondere für jeden der Kanäle, in welchem eine Tonerzeugung zu starten ist, sind viele Initialisierungsoperationen erforderlich, wie beispielsweise eine Initialisierung eines Adressenzählers und eines Hüllkurvengenerators und eine Erzeugung einer "F"-Nummer, wobei somit eine lange Operationszeit verbraucht wird. Durch zusammengefaßtes Durchführen der Tonwellenformberechnung, jedesmal wenn MIDI-Ereignisdaten eingegeben werden, kann daher die Reduktion der Anzahl von Tonerzeugungskanälen wirksam vermieden werden.
  • Wenn nämlich Ton-EIN-Ereignisdaten eingegeben werden, werden die Tonnummer NN und die Geschwindigkeit VEL des Ton-EIN-Ereignisses in jeweilige Register gespeichert und die Auftrittszeit des Ereignisses wird in ein entsprechendes Register als Zeit TM gespeichert. Dann wird eine Tonerzeugungskanalzuweisung für die registrierte Tonummer NN durchgeführt und die so zugewiesene Kanalnummer des Tonerzeugungskanals (CH) wird in ein Register als "CHi" gespeichert. Nachfolgend werden Tonsteuerdaten, die der Tonnummer NN und der Geschwindigkeit VEL entsprechen, in das Kanalregister für den Kanal CHi eingestellt. Die so eingestellten Tonsteuerdaten sind Tonbildungsdaten D, die durch Verarbeitung in Entsprechung zu den Werten der Ton-EIN-Nummer NN und Geschwindigkeit VEL, der Daten der voreingespeicherten Klangfarbendaten, die dem MIDI-Kanal entsprechen, der das Ton- EIN-Ereignis empfangen hat, erhalten werden. Die Wellenformbezeichnungsdaten D in den Tonbildungsdaten spezifizieren einen der Wellenformdatenwerte WD1 bis WDn als eine Wellenform, die bei der Tonerzeugung zu verwenden ist, die der Tonnummer NN entspricht.
  • Nachdem die Tonsteuerdaten eingestellt worden sind, wird ein Ton-EIN-Kennzeichen für den Kanal CHi eingestellt und dann wird eine Tonwellenform arithmetisch gebildet. Diese arithmetische Bildung wird an einem Abschitt einer gesamten Wellenform ausgeführt, die in den aktuell verfügbaren Ausgabepuffer X zu schreiben ist, welcher Abschnitt noch nicht berechnet worden ist und einer Periode vor der Auftrittszeit TM entspricht, und die so berechnete partielle Wellenform wird in den Ausgabepuffer X geschrieben. Die partielle Wellenform ist ein Wellenformabschnitt, dessen Daten festgelegt worden sind und daher zu Zeit der Detektion der neu empfangenen Daten kakulierbar werden. Auch die partielle Wellenform, die arithmetisch zu bilden ist, ist ein Wellenformabschnitt bis zu der Auftrittszeit TM des empfangenen Ton-EIN- Ereignisses.
  • Wenn Ton-AUS-Ereignisdaten eingegeben werden, werden die Tonnummer NN, Geschwindigkeit VEL und Auftrittszeit TM des Ton-AUS-Ereignisses in jeweilige Register gespeichert. Einer der Tonerzeugungskanäle (CH), der die Tonnummer NN zum Erklingen bringt, wird dann identifiziert und die Nummer des identifizierten Kanals CHi wird in das entsprechende Register gespeichert. Auf dies folgend wird das Ton-EIN-Kennzeichen für den identifizierten Kanal CHi zurückgestellt und die Tonwellenformberechnung ausgeführt. Bei dieser Tonwellenformberechnung wird der nichtberechnete Wellenformabschnitt (partielle Wellenform), der einer zu der Zeit TM früheren Periode entspricht, berechnet und in den Ausgabepuffer X auf die gleiche Weise geschrieben, wie bereits erwähnt. Ebenso wird ein vorgegebener Freigabeprozeß für den Kanal CHi ausgeführt.
  • Fig. 20 ist ein Zeitdiagramm, das beispielhaft für die vorher beschriebene Tonerzeugungsverarbeitung ist, bei welcher die als Doppel-Pufferstruktur vorgesehenen Ausgabepuffer mit A bzw. B in der Figur in Teil(e) bezeichnet werden.
  • Zeiten, die für eine Wiedergabe von den Puffern A und B benötigt werden, werden durch TA bzw. TB angezeigt und die Zeit TA ist äquivalent zu TB (TA = TB) bei dieser Ausführungsform.
  • Wenn zuerst zwei MIDI-Ereignisse von dem MIDI-Empfangsabschnitt am Punkt Ta in einem Berechnungszeitbereich von Punkt T0 bis Punkt T1, der den ersten Ausgabepuffer A, wie in Teil (a) aus Fig. 20 gezeigt, zugeordnet wird, empfangen werden, führt ein Tongenerator (T.G.)-Treiberabschnitt eine Verarbeitung durch, wie sie in Teil (b) gezeigt ist, und ein Tongenerator(T.G.)-Abschnitt berechnet Tonwellenformabtastwerte A1, die der Eingabe entsprechen, die während einer Periode vom Punkt t0 zu Punkt ta empfangen wurden, wie es in Teil (c) gezeigt ist.
  • Der Tongeneratortreiberabschnitt empfängt Daten von dem Eingabepuffer oder von der Personalcomputer-Tastatur, weist die empfangenen Daten einem der Tongeneratorkanäle zu und führt eine Umwandlung von Stimmenparametern in Tongeneratorparameter in Entsprechung zu den Eingabedaten aus. Der Tongeneratorabschnitt empfängt ferner Tongeneratorparameter und verarbeitet Wellenformdaten, um Tonwellenformabtastwerte zu bilden, die momentan zum Erklingen zu bringen sind. Ein LPF-Abschnitt entfernt Alias-Rauschenkomponenten aus den gebildeten Tonwellenformabtastwerten und Ausgabedaten von dem LPF- Abschnitt werden in die ersten und zweiten Ausgabepuffer A und B geschrieben. Der vorher erwähnte Tongeneratortreiber, Tongenerator und die LPF-Abschnitte sind Funktionen, die die CPU 101 bei Ausführen des Anwendungsprogramms durchführt.
  • Wenn dann ein MIDI-Ereignis an dem Punkt Tb empfangen wird, führt der Tongeneratortreiberabschnitt eine Verarbeitung durch, die ähnlich der vorher erwähnten ist, und der Tongeneratorabschnitt berechnet Tonwellenformabtastwerte A2, die der Eingabe entsprechen, die während einer Periode von Punkt ta bis Punkt tb empfangen wird. Beim Erreichen von Punkt t1 berechnet der Tongeneratorabschnitt dann Tonwellenformabtastwerte A3, die der Eingabe entsprechen, die während einer Periode von Punkt tb bis Punkt t1 empfangen wird. Falls Taste-EIN-Ereignisse an Punkten ta und tb empfangen werden, werden eine Tongeneratorinitialisierung und arithmetische Operationen an diesem Punkt t1 durchgeführt. Danach führt der LPF eine Filteroperation durch und somit ist die erforderliche Bildung von Tonwellenformabtastwerten für den ersten Ausgabepuffer A fertiggestellt.
  • Dann werden drei neue MIDI-Ereignisse an Punkt tc in dem Berechnungszeitraum von Punkt t1 bis Punkt t2 empfangen, der dem zweiten Ausgabepuffer B zugeordnet wird, wie es in Teil (a) aus Fig. 20 gezeigt ist. Da der Tongeneratorabschnitt aktuell Tonwellenformabtastwerte A3 berechnet, werden die Eingabeereignisdaten temporär in dem Eingabepuffer gehalten bis eine Berechnungszeit den Daten zugewiesen wird. Bei Fertigstellung der Berechnungen der Tonwellenformabtastwerte A3 durch den Tongeneratorabschnitt und die Filteroperation durch den LPF-Abschnitt, werden die Ereignisdaten aus dem Eingabepuffer ausgelesen, um durch den Tongeneratortreiberabschnitt verarbeitet zu werden, und somit berechnet der Tongeneratorabschnitt Tonwellenformabtastwerte B1, die der Eingabe entsprechen, die während der Periode von Punkt t1 bis Punkt tc empfangen wird. Sogar wenn etwas Zeitverzögerung bei den Berechnungsoperationen auftritt, beeinflußt sie nicht den Tonerzeugungszeitpunkt, da die Auftrittszeiten der Eingabeereignisdaten auch in den Eingabepuffer geschrieben worden sind.
  • Danach werden vier neue MIDI-Ereignisse während der Berechnungen der Tonwellenformabtastwerte B1 empfangen und diese Ereignisdaten werden verarbeitet, um entsprechende Tonwellenabtastwerte nach der Berechnung der Tonwellenformabtastwerte B1 zu berechnen, was in gleicher Weise wie vorher beschrieben geschieht.
  • Auf gleiche Weise werden Tonwellenformabtastwerte B2 als Abtastwerte gebildet, die der Eingabe entsprechen, die während einer Periode vom Punkt tc bis Punkt td empfangen wird, Tonwellenformabtastwerte B3 werden als Abtastwerte gebildet, die der Eingabe entsprechen, die während einer Periode vom Punkt td bis Punkt te empfangen wird, und Tonwellenformabtastwerte B4 werden als Abtastwerte gebildet, die der Eingabe entsprechen, die während einer Periode vom Punkt te bis Punkt t2 empfangen wird. Dann werden Tonwellenformabtastwerte A5 als Abtastwerte gebildet, die der Eingabe entsprechen, die während einer Periode vom Punkt t2 bis Punkt t3 empfangen wird.
  • Wie aus dem vorhergehenden zu ersehen ist, berechnet die Verarbeitung, jedesmal wenn Eingabedaten auftreten, Wellenformabtastwerte für eine Periode, die dem Auftreten der Eingabedaten vorangeht, und somit können die Wellenformabtastwertberechnungen in einer im wesentlichen verteilten Art durchgeführt werden. Somit ist die Menge von Operationen, die in jeder Berechnungsperiode zu vorgegebenen Intervallen durchgeführt werden, entsprechend begrenzt, so dass, sogar wenn viele Eingabedaten auftreten, wie beispielsweise Taste-EIN-Ereignisdaten, die eine Variation in der Form der Tonerzeugung einschließen, es möglich ist, Nachteile zu vermeiden, wie beispielsweise eine Reduzierung der Anzahl von simultan erzeugbaren Tönen.
  • Um Töne sukzessiv zu erzeugen, falls die Berechnungspunkte an vorgegebenen Intervallen erzeugt werden und eine vorgegebene Anzahl von Tonwellenformabtastwerten zusammengefaßt in jeder Berechnungsperiode durch arithmetische Berechnungen gebildet werden, muß die vorgegebene Anzahl von Tonwellenformabtastwerten geliefert werden, bevor eine Bildung der vorausgehenden Tonwellenformabtastwerte abgeschlossen ist. Wenn aber die Anzahl der Tonerzeugungskanäle relativ groß ist und daher die Menge von Wellenformberechnungsoperationen übermäßig ist, wird das Problem auftreten, das Tonwellenformabtastwerte all der Kanäle nicht rechtzeitig geliefert werden können, was zu einer nicht gewünschten Unterbrechung oder einem Abbruch von erzeugten Tönen führt wird.
  • Um solche Nachteile zu vermeiden, ist die Verarbeitung der vorliegenden Erfingung konzipiert, zu bestimmen, ob die vorgegebene Anzahl von Tonwellenformabtastwerten rechtzeitig zum Datenkonvertierungszeitpunkt des D/A-Wandlers geliefert werden kann. Wenn ermittelt wird, dass die Tonwellenformabtastwerte rechtzeitig zum Datenkonvertierungszeitpunkt geliefert werden können, werden einer oder mehrere Tonerzeugungskanäle ausgewählt, deren zugewiesener Ton eine relativ geringe Wichtigkeit unter all den Tönen hat, die zu dem aktuellen Zeitpunkt erzeugt werden. Für den bezeichneten Kanal berechnet die Verarbeitung in einer kurzen Zeit Dämpfungs-Wellenformabtastwerte, die der Initialperiode der Wellenform entsprechen.
  • Da nur Kurzperioden-Dämpfungs-Wellenformabtastwerte für den bezeichneten Tonerzeugungskanal berechnet werden, kann die erforderliche Berechnungszeit für diesen Kanal so reduziert werden, dass die vorgegebene Anzahl von Tonwellenformabtastwerten insgesamt rechtzeitig für den Datenkonvertierungszeitpunkt des D/A-Wandlers geliefert wird.
  • Im allgemeinen sind Töne, die als "wichtig" in der Verarbeitung bestimmt werden, die folgenden:
  • (1) Töne mit einer augenblicklichen hohen Lautstärke;
  • (2) Töne, bei denen begonen wurde, den Einschwingabschnitt zum Ertönen zu bringen;
  • (3) tiefste Tonhöhe (Baßton), wenn Töne von zwei oder mehreren Parts zum Ertönen gebracht werden;
  • (4) Höchste Tonhöhe (Leitton), wenn Töne von zwei oder mehreren Parts zum Ertönen gebracht werden; und
  • (5) Ton eines Soloparts, wenn Töne von zwei oder mehreren Parts zum Ertönen gebracht werden;
  • Die Tonerzeugungskanäle können in abfallender Rangfolge der Wichtigkeit von dort zu erzeugenden Tönen vor den Wellenformabtastwertberechnungen so plaziert werden, dass die Abtastwertberechnungen sequentiell vom wichtigsten Ton aus zu dem am wenigsten wichtigen Ton ausgeführt werden. Wenn die Wellenformabtastwertberechnungen nicht für all die Kanäle rechtzeitig abgeschlossen werden können, werden die Berechnungen so abgebrochen, dass Töne nur mit Tonwellenformabtastwerten, die in soweit gebildet wurden, erzeugt werden. Fall es somit nötig ist, die Abtastwertberechnungen zu unterbrechen, werden nur ein Ton oder Töne verstummt oder gedämpft, die eine relativ geringe Wichtigkeit und daher einen relativ geringen Einfluß haben.
  • Um Töne sukzessiv zu erzeugen, falls die Berechnungspunkte an vorgegebenen Intervallen erzeugt werden und eine vorgegebene Anzahl von Tonwellenformabtastwerten zusammengefaßt durch arithmetische Berechnungen gebildet werden, muß die vorgegebene Anzahl von Tonwellenformabtastwerten geliefert werden, bevor eine Bildung der vorausgehenden Tonwellenformabtastwerte abgeschlossen ist. Wenn aber die Anzahl der Tonerzeugungskanäle relativ groß ist und daher die Menge von Wellenformberechnungsoperationen übermäßig ist, oder wenn die vorgegebene Anzahl der Tonwellenformabtastwerte nicht rechtzeitig geliefert werden kann, zum Beispiel, weil zu viel Zeit für eine andere Verarbeitung als die Tonerzeugungsverarbeitung (wie beispielsweise ein Sequenzerverarbeitung) verbraucht wurde, werden eine oder mehrere Tonwellenformabtastwerte sogar in dem Verlauf des Verarbeitet-Werdens ausgelesen, was ein unerwünschtes Rauschen zur Folge hat.
  • Dieses Problem kann durch die CPU 101 gelöst werden, die den Wellenformwiedergabeabschnitt instruiert, die in einem der Ausgaberegister gespeicherten Daten zu senden. In diesem Fall können Adressen in dem Ausgabepuffer X selbst zum Speichern der vorgegebenen Anzahl der gebildeten Tonwellenformabtastwerte in dem Wiedergabeabschnitt als einer von Ausleseabschnitten oder als ein repetitiver Ausleseabschnitt eingestellt werden, aus welchem Daten wiederholt auszulesen sind. Zusätzlich kann eine Ausleseabschnittsreservierung so durchgeführt werden, dass Daten an den Adressen unmittelbar auf einen besonderen Ausleseabschnitt folgend, aus welchem Daten momentan auszulesen sind, ausgelesen werden können.
  • Bei einer solchen Ausführungsform ermöglicht die Ausleseabschnittreservierung, das gebildete Tonwellenformabtastwerte in dem Ausgabepuffer zu Reservierungszwecken registriert werden und unmittelbar auf eine spezifische Wellenform, die augenblicklich ausgelesen wird, folgend ausgelesen werden. Bei dem Ereignis, dass die Berechnungen für die vorgegebene Anzahl von Tonwellenformabtastwerten nicht rechtzeitig abgeschlossen wurden, wird eine solche Reservierung nicht ausgeführt und daher ist es möglich, ein Auftreten von Rauschen zu verhindern, welches ansonsten beim zum Erklingen bringen von irgendwelchen Tonwellenabtastwerten hervorgerufen würde, das heißt noch im Verlauf des Verarbeitet-Werdens. Dies wird ein Ertönen eines Tons temporär unterbrechen, aber aus der Unterbrechung resultierende. Gegeneffekte werden durch Beschränken der Unterbrechungszeit auf nur mehrere Abtastperioden in dem Fall, in dem die Abtastfrequenz zum Beispiel 44,1 kHz ist, signifikant reduziert werden. Die Begrenzung der Unterbrechungszeit kann durch Begrenzen der Anzahl von Töne erzeugenden Kanälen bewirkt werden, wie bereits früher erwähnt. Sobald die Berechnungen abgeschlossen sind, wird die Reservierungsoperation ausgeführt, so dass die entsprechenden Wellenformabtastwerte zum Erklingen gebracht werden.
  • Um, wie bereits früher erwähnt, Töne sukzessiv zu erzeugen, falls die Berechnungspunkte an vorgegebenen Intervallen erzeugt werden und eine vorgegebene Anzahl von Tonwellenformabtastwerten zusammengefaßt in jeder Berechnungsperiode durch arithmetische Berechnungen gebildet werden oder wenn die Wellenformabtastwertberechnungen im Ansprechen auf ein Auftreten von jeden Eingabedaten ausgeführt werden, muß die vorgegebene Anzahl von Tonwellenformabtastwerten geliefert werden, bevor eine Bildung der vorausgehenden Tonwellenformabtastwerte abgeschlossen ist.
  • Als der Berechnungspunkt für einen spezifischen Tonwellenformabtastwert wird ein solcher Punkt auf der Basis eines Zeitpunktes bezeichnet, wenn eine Bildung von vorausgegangenen Wellenformabtastwerten beendet ist (Endzeitpunkt des vorhergehenden Tonwellenformabtastwerts), was um die Zeit früher ist als ein vorgeschriebenen Endzeitpunkt, die zur Fertigstellung einer Wellenformbildung erforderlich ist. Da der Endzeitpunkt durch die CPU 101 identifiziert wird, wobei der augenblickliche Status (Kennzeichen) des Wiedergabeabschnitts überprüft wird, um dabei festzustellen, wann der Abtastwertwiedergabe-Zeitabschnitt sich zu einen nächsten bewegt hat, wird der aktuelle Endzeitpunkt verzögert werden, bis die CPU 101 die Änderung in dem Status (Kennzeichen) des Wiedergabeabschnitts feststellt. Da zudem die Zeitverzögerung von einem Zeitpunkt abhängt, bei dem die CPU 101 die vorher erwähnte Detektion ausführt, werden einzeln gebildete Abtastwerte ungleichmäßige Verzögerungen abhängig von dem jeweiligen Detektionszeitpunkt aufweisen.
  • Wenn die Berechnungszeitpunkte auf der Basis solcher ungleichmäßig verzögerten Endzeitpunkte erzeugt werden, können keine korrekten Berechnungspunkte erhalten werden. Besonders wenn die Berechnungszeitpunkte auf der Grundlage von stark verzögerten Zeitpunkten erzeugt werden, wird eine Gesamtzeitlänge von dem Berechnungsbeginn bis zu der Zufuhr von Wellenformdaten wesentlich verkürzt, so dass die Anzahl von simultan erzeugbaren Tönen temporär reduziert wird.
  • Zur Lösung des Problems speichert die CPU 101 in einem Speicher eine Vielzahl von Zeitpunkten vorab, wenn eine Änderung des Status des Wiedergabeabschnitts in der Vergangenheit detektiert wurde, und durch Mitteln der gespeicherten Zeitpunkte sagt die CPU 101 einen Zeitpunkt voraus, bei welchem eine solche Änderung das nächste Mal detektiert wird. Da der vorhergesagte Zeitpunkt einem Mittelwert von Zeitverzögerungen von dem vorgeschriebenen Endzeitpunkt in dem Wiedergabeabschnitt entspricht, kann ein Punkt, der eine vorgegebene Zeit vor dem vorhergesagten Zeitpunkt liegt, als praktisch ein korrekter Endzeitpunkt detektiert werden. Der Berechnungspunkt wird somit auf der Grundlage des korrekten Endzeitpunktes erzeugt. Auf diese Weise werden die festgestellten Endzeitpunkte gemittelt, um ihre Ungleichmäßigkeit zu reduzieren, und die jedem Berechnungszeitpunkt zugewiesene Operationsperiode wird somit wirksam auf eine solche Weise vereinheitlicht, dass die Tonbildungsoperationen in einer stabilisierten Form durchgeführt werden.
  • Die Wellenformabtastwertberechnungen können für jeden Zeitabschnitt besser zusammengefaßt als im Ansprechen auf ein Auftreten jedes Eingabedatenwerts durchgeführt werden. In einem solchen Fall kann vorzugsweise ein Triggersignal erzeugt werden, um den Brechnungszeitpunkt in Entsprechung zu der Anzahl der Eingabedaten vorzuverlegen. Bei einer anderen Modifikation kann jeder Zeitabschnitt zwischen den vorgegebenen Berechnungspunkten in "n" gleiche Teile unterteilt werden, so dass der Wellenformbildungsprozeß in Intervallen durchgeführt wird, die den "n" Teilen entsprechen und eine Reservierungsregistrierung kann zum Erklingen bringen von Wellenformabtastwerten für einen Zeitabschnitt durchgeführt werden, der in der letzten oder "n"-ten Berechnung vollständig gebildet worden ist.
  • Die wesentliche Operation der Tonerzeugungsbearbeitung wird nachfolgend bezugnehmend auf die Flußdiagramme der Fig. 18 und 19 detailliert beschrieben.
  • Zunächst wird der Wiedergabestatus des Wiedergabeabschnitts in Schritt S761 überprüft. Wenn der Wiedergabeabschnitt zu einem am nächsten zu reproduzierenden Abschnitt vorgerückt ist, geht die Verarbeitung zum nächsten Schritt S762, wenn das nicht der Fall ist, springt die Verarbeitung zu Schritt S763.
  • Der Wellenformwiedergabeabschnitt liest Wellenformabtastwerte, einen nach dem anderen, mit einer vorgegebenen Abtastfrequenz aus einem spezifischen der Bereiche des RAM 103, der durch die CPU 101 bezeichnet wurde, aus und liefert die ausgelesenen Abtastwerte zu dem D/A-Wandler zur hörbaren Wiedergabe. Während, des Lesens der Wellenformabtastwerte aus dem bezeichneten Bereich nimmt der Wellenformwiedergabeabschnitt eine Reservierung von der CPU 101 auf, die einen anderen wiederzugebenden Bereich bezeichnet. Sobald die Wiedergabe des vorhergehenden Bereichs abgeschlossen ist, werden die Wellenformdaten des so reservierten nächsten Bereichs in ähnlicher Weise, einer nach dem anderen, durch den Wiedergabeabschnitt ausgelesen und dem D/A-Wandler zur hörbaren Wiedergabe geliefert. Das Vorrücken des Wiedergabeabschnitts zu dem nächsten wiederzugebenden Abschnitt bedeutet hier, dass nach Fertigstellung der Wiedergabe eines spezifischen Bereichs, der zuletzt als der wiederzugebende Abschnitt bezeichnet wurde, der Wiedergabeabschnitt zu einem anderen spezifischen Bereich geht, der als ein nächster wiederzugebender Abschnitt reserviert wurde. In diesem Fall können eine Vielzahl der spezifischen Bereiche des RAM einmal reserviert werden und sie werden in der Reihenenfolge, in welcher sie reserviert wurden, wiedergegeben.
  • In Schritt S762 wird dann eine Zeit, zu der solch ein Vorrücken das nächste Mal detektiert wird (nächste Vorrückensdetektionszeit), auf der Grundlage der Zeit der momentanen und früheren Vorrückensdetektionen vorhergesagt und ein Zeitpunkt, der eine vorgegebene Zeit vor der vorhergesagten Detektionszeit ist, wird als ein nächster Berechnungspunkt bezeichnet. Die nächste Vorrückensdetektionszeit kann beispielsweise durch Berechnen eines Näherungswertes mit einem kleinen Fehler durch die "Fehlerquadratmethode" auf der Grundlage einer Vielzahl von Vorrückensdetektionszeiten einschließlich der aktuellen und letzten oder durch Anwenden einer quadratischen Funktion oder dergleichen vorhergesagt werden, um eine Variation der Detektionszeiten anzunähern. Ungleichmäßige Zeitverzögerungen treten in dem Wellenformwiedergabeabschnitt während einer Periode zwischen dem Auftreten und Detektieren des Vorrückens aufgrund von Unterschieden bei den jeweiligen Operationsschrittpositionen und Zuständen auf, so dass die Vorrückensdetektionszeit eine unregelmäßige Ungleichheit enthalten würde. Die Berechnungen der Näherungsfunktion schließen daher eine Operation zur Mittelung der ungleichmäßigen Detektionszeiten ein.
  • Die vorher erwähnte "vorgegebene Zeit" vor der vorhergesagten Detektionszeit ist eine Zeit, die zur Bildung einer Tonwellenform zugewiesen wird, und hängt von der Menge von erforderlichen arithmetischen Operationen für die Wellenformbildung ab, wie sie durch eine gewünschte Anzahl von zu erzeugenden Tönen, gewünschten Qualität der arithmetischen Operationen, usw. bestimmt wird. Die Länge der "vorgegebenen Zeit" kann konstant sein oder kann variabel durch eine Auswahl des Anwenders auf der Tastatur eingestellt werden oder automatisch durch die CPU 101 in Hinblick auf zwei oder mehrere simultan laufende Programme eingestellt werden.
  • In Schritt S763 wird dann ein Vergleich zwischen dem nächsten Berechnungspunkt und der aktuellen Zeit, die durch einen Zeitgeber angezeigt wird, durchgeführt, um zu ermitteln, ob die aktuelle Zeit an dem nächsten Berechnungspunkt angekommen ist. Wenn die Ermittlung positiv ist, führt die Verarbeitung Operationen von Schritten S764 bis S769 durch. In Schritt S764 wird zunächst eine spezifische Berechnungsreihenfolge entschieden, in welcher die aktuellen erklingenden Kanäle die Wellenformabtastwertberechnungen später unterzogen werden sollen, um die Wellenformdaten für eine Vielzahl von Abtastwerten für jeden der aktuell erklingenden Kanäle zu bilden.
  • Das heißt, die Berechnungsreihenfolge wird so eingestellt, dass die Wellenformabtastwertberechnungen sequentiell von einem musikalisch signifikaten Ton oder Tönen durchgeführt werden, welche einen musikalisch signifikaten Mißstand darstellen würden, wenn sie in diesem Augenblick verstummt oder gedämpft werden. In Schritt S765 wird dann bestimmt, ob die Wellenformabtastwertberechnungen für all die aktuell erklingenden Kanäle in einer vorgegebenen Berechnungszeit (i. e., die vorgegebene Zeit, die in Bezug auf Schritt S762 beschrieben wurde) abgeschlossen werden kann. Wenn die Antwort negativ ist, werden einer oder mehrere Tonerzeugungskanäle, in welchen die Wellenformabtastwertberechnungen zu letzt oder später als in irgendwelchen anderen Kanälen auszuführen sind, als die Kanäle bezeichnet, in welchen ein Ton zum Verstummen zu bringen ist (Tonverstummungskanäle), so dass der Umfang von arithmetischen Berechnungen so reduziert wird, dass die Wellenformabtastwertberechnungen für all die aktuell erklingenden Kanäle in der vorgegebenen Berechnungszeit abgeschlossen werden kann.
  • In Schritt S78 werden die Wellenformabtastwertberechnungen aktuell durchgeführt. Insbesondere nichtberechnete Wellenform abtastwerte werden berechnet und in den augenblicklich verfügbaren Ausgabepuffer X geschrieben, so dass der Puffer X mit den berechneten Wellenformdaten gefüllt ist und so für die Tonerzeugung bereit gemacht wird. Diese Operation entspricht der Bildung einer Wellenform A3 oder dergleichen, wie bereits in Verbindung mit Fig. 20 beschrieben wurde.
  • Jeder Abtastwert, der in den aufgefüllten Ausgabepuffer X geschrieben wird, wird dann einer Tiefpaßfilter (LPF)-Operation in Schritt S767 unterworfen, so dass die hochfrequenten Komponenten aus diesem entfernt werden. Danach wird der Ausgabepuffer X, der die tiefpaßgefilterte Wellenform speichert, in Sehritt S768 als ein spezifischer Speicherbereich für eine Wellenform, die als nächste wiederzugeben ist, reserviert, so dass dieser Speicherbereich nach Fertigstellung einer Wiedergabe von Wellenformen in dem augenblicklich wiedergegebenen und bereits reservierten Speicherbereichen wiedergegeben wird. In Schritt S769 wird dann ein anderer Ausgabepuffer als der, der in soweit als der Puffer X verwendet würde, gelöscht und neu als der Ausgabepuffer X zur Vorbereitung einer Wellenform für den Abschnitt eingestellt, der als nächster wiederzugeben ist.
  • Wenn die augenblickliche Zeit noch nicht den Berechnungszeitpunkt erreicht hat, wie in Schritt S763 ermittelt wird, endet die Tonerzeugungsverarbeitung, ohne die anderen Operationen durchzuführen.
  • Fig. 19 ist ein Flußdiagramm eines Wellenformbildungsberechnungsprozesses (Schritt S78), der bei Ton-EIN-, Ton-AUS- und Tongeneratorprozessen durchgeführt wird. Für diesen Prozeß wird ein Wellenformberechnungs-Zeitbereich vorab eingestellt, wie bereits erwähnt wurde. Wenn nämlich der vorliegende Programmfluß während des MIDI-Datenempfangsprozesses, wie beispielsweise dem Ton-EIN-Prozeß, ausgeführt wird, entspricht der Wellenformberechnungs-Zeitbereich der vorher erwähnten partiellen Wellenform, wenn aber der vorliegende Programmfluß in Schritt S76 von der Tonerzeugungsverarbeitung ausgeführt wird, entspricht der Wellenformberechnungs-Zeitbereich den Wellenformabtastwerten für einen nichtberechneten Abschnitt in dem Puffer X. Da die Berechnungen in der Berechnungsreihenfolge durchgeführt werden, die durch die vorangegangene Ausführung der Tonerzeugungsverarbeitung bestimmt wird, wird keine neue Berechnungsreihenfolge über die Kanäle zu dem Zeitpunkt eines MIDI-Datenempfangs ermittelt. Immer wenn ein neues Ton-EIN-Ereignis auftritt und einem spezifischen der Kanäle zugewiesen wird, wird der spezifische Kanal an erste Stelle (erhält einen ersten Rang) in der Berechnungsreihenfolge gesetzt und die Rangfolge jedes der anderen Kanäle wird um eins nach unten bewegt.
  • In Schritt S781 werden zunächst Rechenoperationen für einen ersten Wellenformabtastwert des Kanals durchgeführt, der an erster Stelle in der Berechnungsreihenfolge gesetzt ist. Die Rechenoperationen schließen Einstellen verschiedener Daten, wie beispielsweise einer letzten Leseadresse, Werten und Zuständen (Einschwing, Freigabe, usw.) von verschiedenen Hüllkurven EG und Werten von LFO in Zugriffsbedingungen, und Laden dieser Daten in interne Register der CPU 101 zur direkten Verwendung bei Berechnungen ein. In Schritt S782 werden dann Wellenformabtastwertberechnungen an den LFO-, Filter G und Lautstärke EG durchgeführt, um Abtastwerte von LFO-, FEG (Filterhüllkurve)- und AEG (Amplitudenhüllkurve)-Wellenformen zu bilden. Die LFO-Wellenform wird zu der "F"-Nummer, FEG-Wellenform und AEG-Wellenform, die für Berechnungen des bezeichneten Zeitbereiches erforderlich sind, hinzugefügt, um die jeweiligen Daten zu modulieren. Für jeden der Tonerzeugungskanäle, die als die Tonverstummungskanäle in Schritt S765 bezeichnet werden, wird eine Dämpfungs-AEG-Wellenform als eine Lautstärken-EG berechnet, die schnell in dem Zeitbereich abfällt.
  • Nachfolgend wird in Schritt S783 eine F-Nummer wiederholt zu der letzten Leseadresse, die als ein Initialwert verwendet wird, hinzugefügt, um so Leseadressen für einzelne Abtastwerte in dem Zeitbereich zu erzeugen. Wellenformdaten werden auch aus dem Wellenformspeicherbereich in dem Klangfarbendatenbereich auf der Grundlage des Ganzzahlteils der Leseadressen ausgelesen und es wird eine Interpolation zwischen den Auslesewellenformabtastwerten auf der Grundlage des Dezimalteils der Leseadressen durchgeführt, um alle interpolierten Abtastwerte in dem Zeitbereich zu bilden. Wenn zum Beispiel der Zeitgeberbereich einer Zeit für 100 Abtastwerte entspricht, werden 100 Abtastwerte zusammengefaßt durch diesen Operationsschritt gebildet. Da bei dieser Operation für die Vielzahl der Abtastwerte in dem Zeitbereich die der Leseadresse entsprechende F-Nummeraddition und Interpolation als eine ganzzahlige Reihe von Operationen durchgeführt werden, muß die Leseadresse in das CPU-Register nur einmal eingelesen werden, so dass die Verarbeitungsgeschwindigkeit insgesamt wesentlich gesteigert werden kann.
  • In Schritt S784 werden zudem die interpolierten Abtastwerte in dem Zeitbereich einer Klangfarbenfilteroperation unterzogen, in welcher eine Klangfarbensteuerung der Abtastwerte auf der Grundlage der vorher erwähnten FEG-Wellenform durchgeführt wird. Im nächsten Schritt S785 wird eine Amplitudensteueroperation an den gefilterten Abtastwerten durchgeführt, um die Amplituden der Abtastwerte auf der Grundlage der vorher erwähnten AEG (Amplitudenhüllkurve) und Lautstärkedaten durchzuführen, und dann wird eine akkumulative Schreiboperation durchgeführt, um die resultierenden amplitudengesteuerten Abtastwerte zu den entsprechenden Abtastwerten zu addieren, die in dem Ausgabepuffer X für die bezeichneten Kanäle gespeichert sind. Da bei diesem Prozeß die Amplitudensteuerung und Addition zu den entsprechenden Abtastwerten in den Ausgabepufffer X sukzessiv durchgeführt wird, ist es möglich, die Anzahl der erforderlichen Abtastwert-Belastungen in dem CPU- Register zu minimieren und daher die Verarbeitungsgeschwindigkeit signifikant zu steigern.
  • Die Abtastwertbildungsoperationen von Schritten S783 bis S785 werden grundsätzlich durchgeführt, um all die Abtastwerte in dem vorgegebenen Zeitbereich zu bilden, die Abtastwerte aber, die einen ausreichend herabgesetzten AEG- Wellenformpegel und daher ausreichend herabgesetzte Lautstärke als Ergebnis der Lautstärke-EG-Wellenformberechnungen von Schritt S782 aufweisen, werden von weiteren Berechnungen ausgeschlossen und demgemäß kann der Umfang der erforderlichen Operationen reduziert werden. Besonders ein ausreichender Abfall kann oft auf halben Weg in dem vorgegebenen Zeitbereich für Tonerzeugkanäle erreicht werden, die eine Dämpfungs-AEG-Wellenform im Ansprechen auf die Bezeichnung von Schritt S765 erzeugt haben.
  • In Schritt S786 wird dann ermittelt, ob die Wellenform dem Wellenformwiedergabeabschnitt innerhalb der Zeitbegrenzung zugeführt wird oder nicht, wenn der Wellenformbildungsberechnungsprozeß fortzusetzen ist, und ob Wellenformabtastwertberechnungen unterbrochen werden sollten. Das zeitige Zuführen der Wellenform innerhalb der Zeitbegrenzung bedeutet hier, dass der Wiedergabeabschnitt, der früher gebildeten Wellenformabtastwerte von dem spezifischen Speicherbereich augenblicklich wiedergibt, folgende Wellenformabtastwert in einem neuen Bereich des Puffers X vorbereiten kann und den neuen Bereich des Puffers X zur nachfolgenden Wiedergabe reservieren kann, bevor die Wiedergabe der vorher gebildeten Wellenformabtastwerte aus dem spezifischen Speicherbereich abgeschlossen ist. Wenn in Schritt S786 ermittelt wird, dass die Wellenform nicht rechtzeitig geliefert wird und die Berechnungen nicht weiter fortgesetzt werden sollten, dann werden die Wellenformabtastwertberechnungen in Schritt S788 unterbrochen und der Wellenformberechnungsprozeß endet.
  • Wenn in Schritt S786 ermittelt wird, dass die Berechnungen fortgesetzt werden können, wird eine weitere Ermittlung in Schritt S787 durchgeführt, ob die Wellenformabtastwertberechnungen für all die bezeichneten Kanäle fertiggestellt sind. Wenn die Antwort negativ ist, wird ein erster Wellenformabtastwert in den Tonerzeugungskanal, der in der Berechnungreihenfolge als nächster steht (der den nächsten Berechnungsrang erhält), in Schritt S789 bezeichnet und es werden Vorbereitungen zur Berechnung von Wellenformabtastwerten in diesem nächsten Kanal durchgeführt. Nach Fertigstellung solcher Vorbereitungen kehrt die Verarbeitung zu Schritt S782 zurück, um die Operationen von Schritten S782 bis S785 für diesen Kanal zu wiederholen. Auf diese Weise werden die Operationen von Schritten S782 bis S787 für all die bezeichneten Tonerzeugungskanäle wiederholt durchgeführt, und jedesmal wenn die Operationen für einen der Kanäle durchgeführt werden, werden die gebildeten Ergebnisabtastwerte für den vorgegebenen Zeitbereich in Schritt S785 akkumulativ zu den entsprechenden Abtastwerten, die in dem Puffer X gespeichert sind, addiert.
  • Wenn in Schritt S787 ermittelt wird, das die Wellenformabtastwertberechnungen für all die bezeichneten Kanäle abgeschlossen sind, endet dieser Wellenformberechnungsprozeß. Eine vorgegebene Anzahl von akkumulierten Werten der gebildeten Wellenformabtastwerte, die dem Zeitbereich entsprechen, muß somit nun für all die bezeichneten Kanäle neu gespeichert werden.
  • Wenn die Wellenformabtastwertberechnungen auf der Grundlage der positiven Ermittlung in Schritt S786 abgebrochen werden, muß die vorgegebene Anzahl von akkumulierten Werten der gebildeten Wellenformabtastwerte, die dem Zeitbereich entsprechen, nun für jeden der bezeichneten Kanäle neu gespeichert werden.
  • Für jeden der Kanäle mit einer Berechnungsrangfolge, die später als der Abbruch der Berechnung ist, wird keine Wellenformabtastwertbildung ausgeführt und folglich wird der Ton, der durch den Kanal erzeugt werden sollte, verstummt. Da diesen Kanälen, die weniger wichtige Töne erzeugen, jedoch eine späterer Rangfolge in der Berechnungsreihenfolge in Schritt S764 gegeben wird, können ungünstige Effekte, die durch den Abbruch auftreten, minimiert werden. Ein Kanalregister CH wird in Schritt S788 so eingestellt, dass die so von den Berechnungen ausgeschlossenen Kanäle in dem Tonverstummungszustand verbleiben, auch bei und nach einer nächsten Ausführung des Wellenfombildungsberechnungsprozesses.
  • In der vorher beschriebenen Weise können Tonwellenformabtastwert arithmetisch durch die Operationen der CPU 101 gebildet werden.
  • Während die vorliegende Erfindung im vorhergehenden das Herunterladen eines optimalen Tongeneratorprogramms oder optimalen Wellenformdaten unter Verwendung einer Anwenderprofilinformation, die in den Endgeräten enthalten ist, beschrieben hat, kann eine solche Anwenderprofilinformation in dem Host-Computer 10 vorab gespeichert sein und kann von einem der Endgeräte zu dem Host-Computer 10 zu dem LOGIN-Zeitpunkt übertragen werden, so dass, wenn es eine Anforderung zum Herunterladen von dem Endgerät gibt, der Host-Computer 10 auf die Anwenderprofilinformation Bezug nehmen kann, um optimale Daten und ein Programm auszuwählen und zu übertragen.
  • Bei einer Modifikation kann der Host eine Liste von, verfügbaren Wellenformdaten für jedes Musikstück senden, so dass das Endgerät eine Übertragung von nur einem ausgewählten Teil der Wellenformdaten, die nicht in dem Gerät enthalten sind, anfordern kann.
  • Wie es in soweit beschrieben wurde, erlaubt die vorliegende Erfindung ein Herunterladen von optimalen Daten und Programm und erleichert ein Auswählen von zu ladenden Daten in Abhängigkeit von System- und Programmbestandsbedingungen in dem Anwendersystem. Es ist daher möglich, das Herunterladen von unwichtigen Daten zu verhindern und auch ein Anwachsen des Netzwerkverkehrs zu verhindern.
  • Es ist zudem möglich, ein Laden von unnötigen Daten oder einem Programm von einem Aufzeichnungsmedium, wie beispielsweise einer CD-ROM, zu vermeiden. Wenn zum Beispiel ein PCM-Tongenerator verwendet wird, können Standard-Wellenformdaten in jedem der Endgeräte gespeichert werden und für ein Musikstück, das spezielle Wellenformdaten verwendet, können diese speziellen Wellenformdaten zusammen mit den Musikstückdaten geladen werden. Diese Anordnung verhindert, dass der musikalische Ausdruck aufgrund einer Fehlanpassung zwischen Tongenerator und MIDI-Daten leidet.

Claims (12)

1. Verfahren zur Datenübertragung in einem Musikinformations-Verarbeitungssystem, wobei das System folgendes aufweist: einen Prozessor (101), der angepaßt ist, eine vorgegebene Verarbeitung auf der Grundlage von ersten und zweiten Daten auszuführen; einen Speicher (102-105), der mit dem Prozessor (101) verbunden ist und angepaßt ist, wenigstens die ersten Daten dort zu speichern, und ein Datenzufuhrgerät (10, 13; 106), das verschiedene Daten einschließlich der zweiten Daten dort gespeichert hat,
dadurch gekennzeichnet, dass das Verfahren die folgenden Schritte aufweist:
wenn spezifische zweite Daten, die durch die spezifische Information bezeichnet werden, welche in spezifischen ersten Daten enthalten sind, nicht in dem Speicher gespeichert sind, Durchführen einer Anforderung zum Übertragen der spezifischen zweiten Daten von dem Datenzufuhrgerät (10; 106) zu dem Prozessor (101); und
Empfangen, mit Hilfe des Prozessors (101), der spezifischen zweiten Daten, die von dem Datenzufuhrgerät (10; 106) übertragen werden, so dass es gestattet ist, dass der Prozessor die vorgegebene Verarbeitung auf der Grundlage der spezifischen ersten Daten und der empfangenen spezifischen zweiten Daten ausführt,
wobei die ersten Daten Musik oder ein Musikspiel definieren und auch eine spezifische Information enthalten, die die zweiten Daten bezeichnet, die zur Ausführung der vorgegebenen Verarbeitung auf der Grundlage der ersten Daten erforderlich sind.
2. Verfahren nach Anspruch 1, bei dem der Empfangsschritt die spezifischen zweiten Daten von dem Datenzufuhrgerät (10; 106) empfängt, wenn der Prozessor die vorgegebene Verarbeitung auf der Grundlage der spezifischen ersten Daten ausführen sollte.
3. Verfahren nach Anspruch 1, bei dem das Datenzufuhrgerät (10, 13; 106) mit dem Prozessor (101) über ein Kommunikations-Netzwerk verbunden ist, und
bei dem der Schritt des Durchführens einer Anforderung folgendes enthält:
einen ersten Schritt zum Ermitteln, ob die spezifischen zweiten Daten, die durch die in den spezifischen ersten Daten enthaltene spezifische Information bezeichnet werden, in dem Speicher gespeichert sind oder nicht; und
wenn der erste Schritt ermittelt, dass die spezifischen zweiten Daten nicht in dem Speicher gespeichert sind, einen zweiten Schritt zum Durchführen einer Anforderung an das Datenzufuhrgerät (10, 13; 106), die spezifischen zweiten Daten über das Kommunikations-Netzwerk zu übertragen, und
wobei der Empfangsschritt einen Schritt zum Laden der empfangenen spezifischen zweiten Daten in den Speicher enthält, um so die vorgegebene Verarbeitung auf der Grundlage der in dem Speicher gespeicherten spezifischen ersten und zweiten Daten auszuführen.
4. Verfahren nach Anspruch 1, bei dem das Datenzufuhrgerät (10, 13; 106) mit dem Prozessor (101) über ein Kommunikations-Netzwerk verbunden ist und eine Datenbank (13; 106) der ersten und zweiten Daten enthält, wobei das Verfahren außerdem folgendes aufweist:
einen Schritt zum Bezeichnen gewünschter erster Daten aus den ersten Daten in der Datenbank; und
einen Schritt zum Übertragen der bezeichneten gewünschten ersten Daten von dem Datenzufuhrgerät zu dem Speicher, und
bei dem der Schritt zum Durchführen einer Anforderung folgendes enthält:
einen ersten Schritt zum Ermitteln, ob spezifische zweite Daten, die in Entsprechung mit den bezeichneten gewünschten ersten Daten zu verwenden sind, in dem Speicher gespeichert sind oder nicht; und
wenn der erste Schritt ermittelt, dass die spezifischen zweiten Daten nicht in dem Speicher gespeichert sind, einen zweiten Schritt zum Durchführen einer Anforderung an das Datenzufuhrgerät (10, 13; 106), die spezifischen zweiten Daten über das Kommunikations-Netzwerk zu übertragen, und
wobei der Empfangsschritt einen Schritt zum Laden der empfangenen spezifischen zweiten Daten in den Speicher enthält, um so die vorgegebene Verarbeitung auf der Grundlage der in dem Speicher gespeicherten spezifischen ersten und zweiten Daten auszuführen.
5. Verfahren nach Anspruch 1, bei dem das Datenzufuhrgerät (10, 13; 106) mit dem Prozessor (101) über ein Kommunikations-Netzwerk verbunden ist und eine Datenbank (13; 106) der ersten und zweiten Daten enthält, wobei das Verfahren außerdem folgendes aufweist;
einen ersten Schritt zum Bezeichnen von gewünschten ersten Daten aus den ersten Daten in der Datenbank und Durchführen einer Anforderung an das Datenzufuhrgerät, die bezeichneten gewünschten ersten Daten zu übertragen;
einen zweiten Schritt des Wählens zwischen einem ersten Modus zum Durchführen einer Anforderung zum Übertragen nur der bezeichneten gewünschten ersten Daten und einem zweiten Modus zum Durchführen einer Anforderung zum Übertragen der bezeichneten gewünschten ersten Daten und der zweiten Daten, die in Entsprechung zu den bezeichneten gewünschten ersten Daten zu verwenden sind; und
einen dritten Schritt zum Übertragen der bezeichneten gewünschten ersten Daten vom dem Datenzufuhrgerät zu dem Speicher und wobei der Schritt des Durchführens einer Anforderung folgendes enthält:
wenn der zweite Modus durch den zweiten Schritt ausgewählt ist, einen vierten Schritt zum Ermitteln, ob spezifische zweite Daten, die in Entsprechung mit den bezeichneten gewünschten ersten Daten zu verwenden sind, in dem Speicher gespeichert sind oder nicht; und
wenn der vierte Schritt ermittelt, dass die spezifischen zweiten Daten nicht in dem Speicher gespeichert sind, einen fünften Schritt zum Durchführen einer Anforderung an das Datenzufuhrgerät (10, 13; 106), die spezifischen zweiten Daten über das Kommunikations-Netzwerk zu übertragen, und
wobei der Empfangsschritt einen Schritt zum Laden der empfangenen spezifischen zweiten Daten in den Speicher enthält, um so die vorgegebene Verarbeitung auf der Grundlage der in dem Speicher gespeicherten spezifischen ersten und zweiten Daten auszuführen.
6. Verfahren nach Anspruch 1, bei dem der Schritt des Durchführens einer Anforderung folgendes enthält:
einen ersten Schritt zum Ermitteln, ob die spezifischen zweiten Daten, die durch die in den spezifischen ersten Daten enthaltene spezifische Information bezeichnet werden, in dem Speicher gespeichert sind oder nicht; und
wenn der erste Schritt ermittelt, dass die spezifischen zweiten Daten nicht in dem Speicher gespeichert sind, einen zweiten Schritt zum Durchführen einer Anforderung an das Datenzufuhrgerät (10, 13; 106), die spezifischen zweiten Daten zu übertragen, und
wobei der Empfangsschritt einen Schritt zum Laden der empfangenen spezifischen zweiten Daten in den Speicher enthält, um so die vorgegebene Verarbeitung auf der Grundlage der in dem Speicher gespeicherten spezifischen ersten und zweiten Daten auszuführen.
7. Verfahren nach Anspruch 1, bei dem das Datenzufuhrgerät (10, 13; 106) eine Datenbank (13; 106) der ersten und zweiten Daten aufweist, bei dem das Verfahren ferner folgendes aufweist:
einen Schritt zum Bezeichnen von gewünschten ersten Daten aus den ersten Daten in der Datenbank; und
einen Schritt zum Übertragen der bezeichneten gewünschten ersten Daten von dem Datenzufuhrgerät zu dem Speicher,
bei dem der Schritt zum Durchführen einer Anforderung folgende enthält:
einen ersten Schritt zum Ermitteln, ob spezifische zweite Daten, die in Entsprechung mit den bezeichneten gewünschten ersten Daten zu verwenden sind, in dem Speicher gespeichert sind oder nicht; und
wenn der erste Schritt ermittelt, dass die spezifischen zweiten Daten nicht in dem Speicher gespeichert sind, einen zweiten Schritt zum Durchführen einer Anforderung an das Datenzufuhrgerät (10, 13; 106), die spezifischen zweiten Daten zu übertragen, und
wobei der Empfangsschritt einen Schritt zum Laden der empfangenen spezifischen zweiten Daten in den Speicher enthält, um so die vorgegebene Verarbeitung auf der Grundlage der in dem Speicher gespeicherten spezifischen ersten und zweiten Daten auszuführen.
8. Verfahren nach Anspruch 7, bei dem der zweite Schritt einen Schritt zum Ermitteln aufweist, ob die spezifischen zweiten Daten in der Datenbank des Datenzufuhrgerätes gespeichert sind oder nicht, und, wenn die spezifischen zweiten Daten in der Datenbank gespeichert sind, einen Schritt zum Durchführen einer Anforderung an das Datenzufuhrgerät, die spezifischen zweiten Daten zu übertragen, wenn aber die spezifischen zweiten Daten in der Datenbank nicht gespeichert sind, Durchführen einer Anforderung an das Datenzufuhrgerät, irgendwelche der zweiten Daten in der Datenbank als Ersatz für die spezifischen zweiten Daten zu übertragen.
9. Verfahren nach Anspruch 6, bei dem das Datenzufuhrgerät (10, 13; 106) eine Datenbank (13; 106) der ersten und zweiten Daten aufweist, bei dem das Verfahren ferner folgendes aufweist:
einen Schritt zum Bezeichnen von gewünschten ersten Daten aus den ersten Daten in der Datenbank; und
einen Schritt zum Übertragen der bezeichneten gewünschten ersten Daten von dem Datenzufuhrgerät zu dem Speicher, und
wobei der Schritt des Ermittelns bestimmt, ob die spezifischen zweiten Daten, die durch die in den bezeichneten gewünschten ersten Daten enthaltene spezifische Information bezeichnet werden, in dem Speicher gespeichert sind oder nicht, wenn die bezeichneten ersten Daten von dem Datenzufuhrgerät zu dem Speicher übertragen werden.
10. Verfahren nach Anspruch 6, bei dem der erste Ermittelungsschritt bestimmt, ob die spezifischen zweiten Daten, die durch die in den bezeichneten gewünschten ersten Daten enthaltene spezifische Information bezeichnet werden, in dem Speicher gespeichert sind oder nicht, wenn die vorgegebene Verarbeitung auf der Grundlage der spezifischen ersten Daten auszuführen ist.
11. Maschinenlesbares Speichermedium, das eine Gruppe von Befehlen enthält, um die Maschine zu veranlassen, ein Verfahren zur Datenübertragung bei einem Musikinformations-Verarbeitungssystem auszuführen, wobei das System folgendes aufweist: einen Prozessor (101), der angepaßt ist, eine vorgegebene Verarbeitung auf der Grundlage von ersten und zweiten Daten auszuführen; einen Speicher (102-105), der mit dem Prozessor (101) verbunden ist und angepaßt ist, wenigstens die ersten Daten dort zu speichern, und ein Datenzufuhrgerät (10, 13; 106), das verschiedene Daten einschließlich der zweiten Daten dort gespeichert hat,
dadurch gekennzeichnet, dass das Verfahren die folgenden Schritte aufweist:
wenn spezifische zweite Daten, die durch die in spezifischen ersten Daten enthaltene spezifische Information bezeichnet werden, nicht in dem Speicher gespeichert sind, Durchführen einer Anforderung zum Übertragen der spezifischen zweiten Daten von dem Datenzufuhrgerät (10; 106) zu dem Prozessor (101); und
Empfangen, mit Hilfe des Prozessors (101), der spezifischen zweiten Daten, die von dem Datenzufuhrgerät (10; 106) im Ansprechen auf die Anforderung übertragen werden, so dass es gestattet ist, dass der Prozessor die vorgegebene Verarbeitung auf der Grundlage der spezifischen ersten Daten und der empfangenen spezifischen zweiten Daten ausführt,
wobei die ersten Daten Musik oder ein Musikspiel definieren und auch eine spezifische Information enthalten, die die zweiten Daten bezeichnet, die zur Ausführung der vorgegebenen Verarbeitung auf der Grundlage der ersten Daten erforderlich sind.
12. Musikinformations-Verarbeitungssystem, das folgendes aufweist:
ein Verarbeitungsgerät (101), das angepaßt ist, eine vorgegebene Verarbeitung auf der Grundlage von ersten und zweiten Daten auszuführen;
einen Speicher (102-105), der mit dem Verarbeitungsgerät (101) verbunden ist und angepaßt ist, um dort wenigstens die ersten Daten zu speichern, und
ein Datenzufuhrgerät (10, 13; 106), das verschiedene Daten einschließlich der zweiten Daten gespeichert hat,
dadurch gekennzeichnet, dass das Verarbeitungsgerät folgendes aufweist:
wenn spezifische zweite Daten, die durch die in spezifischen ersten Daten enthaltene spezifische Information bezeichnet werden, nicht in dem Speicher gespeichert sind, Mittel zum Durchführen einer Anforderung zum Übertragen der spezifischen zweiten Daten von dem Datenzufuhrgerät (10; 106) zu dem Verarbeitungsgerät (101);
Mittel zum Empfangen, mit Hilfe des Verarbeitungsgeräts (101), der spezifischen zweiten Daten, die von dem Datenzufuhrgerät (10; 106) im Ansprechen auf die Anforderung übertragen werden, und
Mittel zum Ausführen der vorgegebenen Verarbeitung auf der Grundlage der spezifischen ersten Daten und der empfangenen spezifischen zweiten Daten,
wobei die ersten Daten Musik oder ein Musikspiel definieren und auch eine spezifische Information enthalten, die die zweiten Daten bezeichnet, die zur Ausführung der vorgegebenen Verarbeitung auf der Grundlage der ersten Daten erforderlich sind.
DE69625990T 1995-11-30 1996-11-27 Verarbeitungssystem für Musikinformation Expired - Lifetime DE69625990T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP07334179A JP3087638B2 (ja) 1995-11-30 1995-11-30 音楽情報処理システム

Publications (2)

Publication Number Publication Date
DE69625990D1 DE69625990D1 (de) 2003-03-06
DE69625990T2 true DE69625990T2 (de) 2003-12-24

Family

ID=18274427

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69625990T Expired - Lifetime DE69625990T2 (de) 1995-11-30 1996-11-27 Verarbeitungssystem für Musikinformation

Country Status (8)

Country Link
US (1) US5880386A (de)
EP (1) EP0777208B1 (de)
JP (1) JP3087638B2 (de)
KR (1) KR100394771B1 (de)
CN (1) CN1147797C (de)
DE (1) DE69625990T2 (de)
SG (1) SG43449A1 (de)
TW (1) TW457449B (de)

Families Citing this family (129)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0478130U (de) * 1990-11-19 1992-07-08
US5134719A (en) 1991-02-19 1992-07-28 Mankovitz Roy J Apparatus and methods for identifying broadcast audio program selections in an FM stereo broadcast system
JPH0558633U (ja) * 1992-01-09 1993-08-03 光一 曽原 飲物用カンのステイオンタブ構造
US6253069B1 (en) 1992-06-22 2001-06-26 Roy J. Mankovitz Methods and apparatus for providing information in response to telephonic requests
USRE38600E1 (en) 1992-06-22 2004-09-28 Mankovitz Roy J Apparatus and methods for accessing information relating to radio television programs
US8661477B2 (en) * 1994-10-12 2014-02-25 Touchtunes Music Corporation System for distributing and selecting audio and video information and method implemented by said system
ATE188793T1 (de) 1994-10-12 2000-01-15 Touchtunes Music Corp Intelligentes system zur numerischen audio- visuellen reproduktion
US7424731B1 (en) * 1994-10-12 2008-09-09 Touchtunes Music Corporation Home digital audiovisual information recording and playback system
US7188352B2 (en) 1995-07-11 2007-03-06 Touchtunes Music Corporation Intelligent digital audiovisual playback system
US7805500B2 (en) * 1995-05-08 2010-09-28 Digimarc Corporation Network linking methods and apparatus
US7562392B1 (en) * 1999-05-19 2009-07-14 Digimarc Corporation Methods of interacting with audio and ambient music
US6505160B1 (en) * 1995-07-27 2003-01-07 Digimarc Corporation Connected audio and other media objects
JP3087638B2 (ja) 1995-11-30 2000-09-11 ヤマハ株式会社 音楽情報処理システム
FR2753868A1 (fr) * 1996-09-25 1998-03-27 Technical Maintenance Corp Procede de selection d'un enregistrement sur un systeme numerique de reproduction audiovisuel et systeme pour mise en oeuvre du procede
JP3255059B2 (ja) * 1996-12-19 2002-02-12 日本電気株式会社 通信カラオケシステム
DE69738543T2 (de) * 1996-12-27 2009-02-19 Yamaha Corp., Hamamatsu Echtzeitdurchgabe von Musiktoninformation
US6960133B1 (en) * 2000-08-28 2005-11-01 Igt Slot machine game having a plurality of ways for a user to obtain payouts based on selection of one or more symbols (power pays)
US6453334B1 (en) * 1997-06-16 2002-09-17 Streamtheory, Inc. Method and apparatus to allow remotely located computer programs and/or data to be accessed on a local computer in a secure, time-limited manner, with persistent caching
FR2769165B1 (fr) * 1997-09-26 2002-11-29 Technical Maintenance Corp Systeme sans fil a transmission numerique pour haut-parleurs
JP3861413B2 (ja) * 1997-11-05 2006-12-20 ソニー株式会社 情報配信システム、情報処理端末装置、携帯端末装置
JP4196419B2 (ja) * 1997-11-05 2008-12-17 ソニー株式会社 データ送受信システム、データ受信装置及びデータ送受信方法
DE19806237B4 (de) * 1998-02-16 2005-05-25 Sennheiser Electronic Gmbh & Co. Kg Transportables EDV-System zur Kommunikation mit mindestens einem zweiten EDV-Sysytem
DE19815035B4 (de) 1998-03-05 2006-06-22 Volkswagen Ag Verfahren und Vorrichtung zur Darstellung von Informationen für ein Navigationsgerät
US6180862B1 (en) * 1998-06-30 2001-01-30 Yamaha Corporation System and method for editing tone parameter by use of a communication network
FR2781582B1 (fr) * 1998-07-21 2001-01-12 Technical Maintenance Corp Systeme de telechargement d'objets ou de fichiers pour mise a jour de logiciels
US8028318B2 (en) * 1999-07-21 2011-09-27 Touchtunes Music Corporation Remote control unit for activating and deactivating means for payment and for displaying payment status
FR2781591B1 (fr) 1998-07-22 2000-09-22 Technical Maintenance Corp Systeme de reproduction audiovisuelle
FR2781580B1 (fr) 1998-07-22 2000-09-22 Technical Maintenance Corp Circuit de commande de son pour systeme de reproduction audiovisuelle numerique intelligent
JP3671274B2 (ja) * 1998-12-18 2005-07-13 カシオ計算機株式会社 音楽情報送受信装置、受信装置及び記憶媒体
US8726330B2 (en) * 1999-02-22 2014-05-13 Touchtunes Music Corporation Intelligent digital audiovisual playback system
JP2000305768A (ja) * 1999-04-19 2000-11-02 Nec Software Kobe Ltd システムソフトウェア書換方法
US8874244B2 (en) * 1999-05-19 2014-10-28 Digimarc Corporation Methods and systems employing digital content
JP2001016366A (ja) * 1999-06-28 2001-01-19 Yamaha Corp 携帯型プレーヤ用ダウンロードシステム
FR2796482B1 (fr) 1999-07-16 2002-09-06 Touchtunes Music Corp Systeme de gestion a distance d'au moins un dispositif de reproduction d'informations audiovisuelles
FI19991865A7 (fi) 1999-09-01 2001-03-02 Nokia Corp Menetelmä ja järjestelmä räätälöityjen audio-ominaisuuksien toimittamiseksi solukkojärjestelmien päätelaitteisiin
JP4478263B2 (ja) * 1999-11-12 2010-06-09 ソニー株式会社 情報処理装置および方法、並びにプログラム格納媒体
FR2805377B1 (fr) 2000-02-23 2003-09-12 Touchtunes Music Corp Procede de commande anticipee d'une selection, systeme numerique et juke-box permettant la mise en oeuvre du procede
FR2805072B1 (fr) 2000-02-16 2002-04-05 Touchtunes Music Corp Procede d'ajustement du volume sonore d'un enregistrement sonore numerique
FR2805060B1 (fr) 2000-02-16 2005-04-08 Touchtunes Music Corp Procede de reception de fichiers lors d'un telechargement
FR2808906B1 (fr) 2000-05-10 2005-02-11 Touchtunes Music Corp Dispositif et procede de gestion a distance d'un reseau de systemes de reproduction d'informations audiovisuelles
US6769985B1 (en) 2000-05-31 2004-08-03 Igt Gaming device and method for enhancing the issuance or transfer of an award
FR2811175B1 (fr) 2000-06-29 2002-12-27 Touchtunes Music Corp Procede de distribution d'informations audiovisuelles et systeme de distribution d'informations audiovisuelles
EP1170951A3 (de) * 2000-06-21 2004-05-26 Touchtunes Music Corporation Vorrichtung und Verfahren zur Fernverwaltung eines Netzwerks von Wiedergabesystemen für audiovisuelle Informationen
US7699699B2 (en) 2000-06-23 2010-04-20 Igt Gaming device having multiple selectable display interfaces based on player's wagers
US7695363B2 (en) 2000-06-23 2010-04-13 Igt Gaming device having multiple display interfaces
US6731313B1 (en) 2000-06-23 2004-05-04 Igt Gaming device having touch activated alternating or changing symbol
FR2811114B1 (fr) 2000-06-29 2002-12-27 Touchtunes Music Corp Dispositif et procede de communication entre un systeme de reproduction d'informations audiovisuelles et d'une machine electronique de divertissement
JP2004511032A (ja) * 2000-07-14 2004-04-08 インフィニット ブロードキャスト コーポレイション マルチメディア・プレーヤおよびブラウザ・システム
HK1052575B (zh) * 2000-07-24 2004-12-10 Intel Corporation 個人化的唱片騎師系統
US6935955B1 (en) 2000-09-07 2005-08-30 Igt Gaming device with award and deduction proximity-based sound effect feature
FR2814085B1 (fr) 2000-09-15 2005-02-11 Touchtunes Music Corp Procede de divertissement base sur les jeux concours a choix multiples
US6739973B1 (en) 2000-10-11 2004-05-25 Igt Gaming device having changed or generated player stimuli
US6749502B2 (en) * 2001-03-21 2004-06-15 Igt Gaming device having a multi-characteristic matching game
US7040983B2 (en) 2001-03-21 2006-05-09 Igt Gaming device having a multi-round, multi-characteristic matching game
JP3722015B2 (ja) * 2001-06-15 2005-11-30 ヤマハ株式会社 楽音生成装置
JP3712056B2 (ja) * 2001-08-06 2005-11-02 ヤマハ株式会社 電子音楽装置のカスタム化方法および電子音楽装置用サーバ
JP3775262B2 (ja) * 2001-08-09 2006-05-17 ヤマハ株式会社 電子楽器及び電子楽器システム
JP4311897B2 (ja) 2001-09-21 2009-08-12 ヤマハ株式会社 電子音楽装置システム
JP3753039B2 (ja) 2001-09-21 2006-03-08 ヤマハ株式会社 電子音楽装置
US7901291B2 (en) 2001-09-28 2011-03-08 Igt Gaming device operable with platform independent code and method
US6848996B2 (en) * 2001-10-15 2005-02-01 Igt Gaming device with sound recording changes associated with player inputs
US7666098B2 (en) 2001-10-15 2010-02-23 Igt Gaming device having modified reel spin sounds to highlight and enhance positive player outcomes
US7708642B2 (en) * 2001-10-15 2010-05-04 Igt Gaming device having pitch-shifted sound and music
US20030087221A1 (en) * 2001-11-07 2003-05-08 Sagar Richard Bryan System, method, and article of manufacture for an improved audio experience for online gaming
US7634532B2 (en) 2002-05-31 2009-12-15 Onkyo Corporation Network type content reproduction system
US7990822B2 (en) * 2002-08-21 2011-08-02 Yamaha Corporation Sound recording/reproducing method and apparatus
US8103589B2 (en) 2002-09-16 2012-01-24 Touchtunes Music Corporation Digital downloading jukebox system with central and local music servers
US8332895B2 (en) 2002-09-16 2012-12-11 Touchtunes Music Corporation Digital downloading jukebox system with user-tailored music management, communications, and other tools
US8584175B2 (en) 2002-09-16 2013-11-12 Touchtunes Music Corporation Digital downloading jukebox system with user-tailored music management, communications, and other tools
US12100258B2 (en) 2002-09-16 2024-09-24 Touchtunes Music Company, Llc Digital downloading jukebox with enhanced communication features
US11029823B2 (en) 2002-09-16 2021-06-08 Touchtunes Music Corporation Jukebox with customizable avatar
US7822687B2 (en) 2002-09-16 2010-10-26 Francois Brillon Jukebox with customizable avatar
US10373420B2 (en) 2002-09-16 2019-08-06 Touchtunes Music Corporation Digital downloading jukebox with enhanced communication features
US8151304B2 (en) * 2002-09-16 2012-04-03 Touchtunes Music Corporation Digital downloading jukebox system with user-tailored music management, communications, and other tools
US9646339B2 (en) 2002-09-16 2017-05-09 Touchtunes Music Corporation Digital downloading jukebox system with central and local music servers
US7928310B2 (en) * 2002-11-12 2011-04-19 MediaLab Solutions Inc. Systems and methods for portable audio synthesis
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
JP4134945B2 (ja) * 2003-08-08 2008-08-20 ヤマハ株式会社 自動演奏装置及びプログラム
US7789748B2 (en) * 2003-09-04 2010-09-07 Igt Gaming device having player-selectable music
US7105736B2 (en) * 2003-09-09 2006-09-12 Igt Gaming device having a system for dynamically aligning background music with play session events
US20070271366A1 (en) * 2003-10-09 2007-11-22 Demers Timothy B Multimedia player and browser system
US7482526B2 (en) 2004-01-06 2009-01-27 Yamaha Corporation Technique for supplying unique ID to electronic musical apparatus
CN100421487C (zh) * 2004-02-20 2008-09-24 英华达股份有限公司 乐曲控制系统以及方法
US7585219B2 (en) 2004-09-30 2009-09-08 Igt Gaming device having a matching symbol game
US8043155B2 (en) * 2004-10-18 2011-10-25 Igt Gaming device having a plurality of wildcard symbol patterns
KR20060060150A (ko) * 2004-11-30 2006-06-05 삼성전자주식회사 가상 파일 시스템을 만들어 멀티미디어 데이터를 재생하는장치 및 재생방법
US20070011279A1 (en) * 2005-03-15 2007-01-11 Eliram Haklai System and method for providing and displaying multimedia content in correlation with music files in an audio disc
US20060292537A1 (en) * 2005-06-27 2006-12-28 Arcturus Media, Inc. System and method for conducting multimedia karaoke sessions
PL1905444T3 (pl) 2005-07-14 2015-03-31 Shanghai Hongyitang Biopharmaceutical Tech Co Ltd Sposób wytwarzania kompozycji leczniczej zawierającej drugorzędowe glikozydy żeń-szenia
US20080026355A1 (en) * 2006-07-27 2008-01-31 Sony Ericsson Mobile Communications Ab Song lyrics download for karaoke applications
US8491392B2 (en) * 2006-10-24 2013-07-23 Igt Gaming system and method having promotions based on player selected gaming environment preferences
JP2007115268A (ja) * 2006-12-06 2007-05-10 Casio Comput Co Ltd 通信端末、及び、表示制御方法
JP4645597B2 (ja) * 2007-01-09 2011-03-09 ヤマハ株式会社 楽音合成方法、記録媒体および楽音合成装置
US9330529B2 (en) * 2007-01-17 2016-05-03 Touchtunes Music Corporation Game terminal configured for interaction with jukebox device systems including same, and/or associated methods
US9171419B2 (en) 2007-01-17 2015-10-27 Touchtunes Music Corporation Coin operated entertainment system
US7718882B2 (en) * 2007-03-22 2010-05-18 Qualcomm Incorporated Efficient identification of sets of audio parameters
US9953481B2 (en) * 2007-03-26 2018-04-24 Touchtunes Music Corporation Jukebox with associated video server
US10290006B2 (en) 2008-08-15 2019-05-14 Touchtunes Music Corporation Digital signage and gaming services to comply with federal and state alcohol and beverage laws and regulations
US8332887B2 (en) 2008-01-10 2012-12-11 Touchtunes Music Corporation System and/or methods for distributing advertisements from a central advertisement network to a peripheral device via a local advertisement server
US9258385B2 (en) * 2007-09-25 2016-02-09 Infineon Technologies Ag Method for loading a program module into a network device and network with network devices
EP2043088A1 (de) * 2007-09-28 2009-04-01 Yamaha Corporation Musikaufführungsystem für Musiksitzung und einzelne Musikinstrumente
WO2010005569A1 (en) 2008-07-09 2010-01-14 Touchtunes Music Corporation Digital downloading jukebox with revenue-enhancing features
US8591308B2 (en) * 2008-09-10 2013-11-26 Igt Gaming system and method providing indication of notable symbols including audible indication
JP4862879B2 (ja) * 2008-10-31 2012-01-25 ヤマハ株式会社 楽音合成方法、記録媒体および楽音合成装置
US9390167B2 (en) 2010-07-29 2016-07-12 Soundhound, Inc. System and methods for continuous audio matching
US9076155B2 (en) 2009-03-18 2015-07-07 Touchtunes Music Corporation Jukebox with connection to external social networking services and associated systems and methods
US10564804B2 (en) 2009-03-18 2020-02-18 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
US10719149B2 (en) 2009-03-18 2020-07-21 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
US9292166B2 (en) 2009-03-18 2016-03-22 Touchtunes Music Corporation Digital jukebox device with improved karaoke-related user interfaces, and associated methods
US12112093B2 (en) 2009-03-18 2024-10-08 Touchtunes Music Company, Llc Entertainment server and associated social networking services
EP2597608A1 (de) 2010-01-26 2013-05-29 Touchtunes Music Corporation Digitale Jukebox-Vorrichtung mit verbesserten Benutzeroberflächen sowie entsprechende Verfahren
US9047371B2 (en) 2010-07-29 2015-06-02 Soundhound, Inc. System and method for matching a query against a broadcast stream
US9035163B1 (en) 2011-05-10 2015-05-19 Soundbound, Inc. System and method for targeting content based on identified audio and multimedia
GB2505584B (en) 2011-09-18 2014-08-13 Touchtunes Music Corp Digital jukebox device with karaoke and/or photo booth features, and associated methods
US11151224B2 (en) 2012-01-09 2021-10-19 Touchtunes Music Corporation Systems and/or methods for monitoring audio inputs to jukebox devices
US8460090B1 (en) 2012-01-20 2013-06-11 Igt Gaming system, gaming device, and method providing an estimated emotional state of a player based on the occurrence of one or more designated events
US9245407B2 (en) 2012-07-06 2016-01-26 Igt Gaming system and method that determines awards based on quantities of symbols included in one or more strings of related symbols displayed along one or more paylines
US8740689B2 (en) 2012-07-06 2014-06-03 Igt Gaming system and method configured to operate a game associated with a reflector symbol
US10957310B1 (en) 2012-07-23 2021-03-23 Soundhound, Inc. Integrated programming framework for speech and text understanding with meaning parsing
US9192857B2 (en) 2013-07-23 2015-11-24 Igt Beat synchronization in a game
WO2015070070A1 (en) 2013-11-07 2015-05-14 Touchtunes Music Corporation Techniques for generating electronic menu graphical user interface layouts for use in connection with electronic devices
US9507849B2 (en) 2013-11-28 2016-11-29 Soundhound, Inc. Method for combining a query and a communication command in a natural language computer system
US9292488B2 (en) 2014-02-01 2016-03-22 Soundhound, Inc. Method for embedding voice mail in a spoken utterance using a natural language processing computer system
US11295730B1 (en) 2014-02-27 2022-04-05 Soundhound, Inc. Using phonetic variants in a local context to improve natural language understanding
KR102425594B1 (ko) 2014-03-25 2022-07-27 터치튠즈 뮤직 코포레이션 향상된 사용자 인터페이스를 가지는 디지털 주크박스 장치 및 관련 방법
US9564123B1 (en) 2014-05-12 2017-02-07 Soundhound, Inc. Method and system for building an integrated user profile
US9947170B2 (en) 2015-09-28 2018-04-17 Igt Time synchronization of gaming machines
JP6427697B1 (ja) * 2018-01-22 2018-11-21 株式会社Triart 情報処理装置、情報処理方法、プログラムおよび情報処理システム
US10311844B1 (en) * 2018-05-04 2019-06-04 Peter T. Godart Musical instrument recording system

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0631957B2 (ja) * 1987-02-06 1994-04-27 ヤマハ株式会社 電子楽器
US5153829A (en) * 1987-11-11 1992-10-06 Canon Kabushiki Kaisha Multifunction musical information processing apparatus
US5020410A (en) * 1988-11-24 1991-06-04 Casio Computer Co., Ltd. Sound generation package and an electronic musical instrument connectable thereto
JP2930967B2 (ja) * 1989-02-21 1999-08-09 株式会社リコス カラオケ装置
JPH02265340A (ja) * 1989-04-05 1990-10-30 Mioji Tsumura 音楽情報処理システム
JP2819751B2 (ja) * 1990-03-28 1998-11-05 ブラザー工業株式会社 音楽演奏装置
JP2654584B2 (ja) * 1990-04-27 1997-09-17 株式会社リコス カラオケ端末の多重接続機構
JPH0467490A (ja) * 1990-07-06 1992-03-03 Pioneer Electron Corp 情報再生装置
JP3203701B2 (ja) * 1990-11-01 2001-08-27 インターナショナル・ビジネス・マシーンズ・コーポレーション コードセグメントのリンク方法とそのシステム及びコードセグメントのダイナミックリンク方法
US5119711A (en) * 1990-11-01 1992-06-09 International Business Machines Corporation Midi file translation
JP2500528B2 (ja) * 1990-12-28 1996-05-29 ヤマハ株式会社 電子楽器
US5300723A (en) * 1990-12-28 1994-04-05 Yamaha Corporation Electronic musical instrument
JP2551265B2 (ja) * 1991-07-09 1996-11-06 ヤマハ株式会社 自動演奏データ作成装置
JPH0535288A (ja) * 1991-07-31 1993-02-12 Ricos:Kk カラオケ再生装置
JP3292492B2 (ja) * 1992-01-17 2002-06-17 ローランド株式会社 演奏情報処理装置
JP2541074B2 (ja) * 1992-04-20 1996-10-09 ヤマハ株式会社 電子楽器
US5613147A (en) * 1993-01-08 1997-03-18 Yamaha Corporation Signal processor having a delay ram for generating sound effects
JPH06337674A (ja) * 1993-05-31 1994-12-06 Kawai Musical Instr Mfg Co Ltd 電子楽器の自動演奏装置
JP2850707B2 (ja) * 1993-06-15 1999-01-27 ヤマハ株式会社 楽音制御装置
JP3087638B2 (ja) 1995-11-30 2000-09-11 ヤマハ株式会社 音楽情報処理システム

Also Published As

Publication number Publication date
DE69625990D1 (de) 2003-03-06
EP0777208B1 (de) 2003-01-29
TW457449B (en) 2001-10-01
CN1156281A (zh) 1997-08-06
HK1012844A1 (en) 1999-08-06
US5880386A (en) 1999-03-09
JP3087638B2 (ja) 2000-09-11
EP0777208A1 (de) 1997-06-04
CN1147797C (zh) 2004-04-28
JPH09152986A (ja) 1997-06-10
KR970029324A (ko) 1997-06-26
KR100394771B1 (ko) 2003-11-28
SG43449A1 (en) 1997-10-17

Similar Documents

Publication Publication Date Title
DE69625990T2 (de) Verarbeitungssystem für Musikinformation
DE69711518T2 (de) Auf Software basierendes Tonquellensystem und Verfahren zur Erzeugung von akustischen Wellenformdaten
DE69634271T2 (de) Durch Rechner gesteuertes Musiksystem mit Programmen und Schaltungen als Tonerzeuger
DE69619587T2 (de) Verfahren und Vorrichtung zur Tonerzeugung
DE60127523T2 (de) Vorrichtung und Verfahren zur Verteilung von Musikdateien
DE69732013T2 (de) Verfahren zur Erweiterung der Fähigkeit einer Musikvorrichtung durch ein Netzwerk
DE69734404T2 (de) Echtzeitdurchgabe von Musiktoninformation
DE69608292T2 (de) Audio-synthesizer
DE69615455T2 (de) Musiksystem, Tonerzeuger und Verfahren zur Tonsynthetisierung
DE69613950T2 (de) Verfahren und Vorrichtung zur Tonerzeugung
JPH0774854A (ja) カラオケシステムおよびカラオケ装置
DE69623866T2 (de) Verfahren und Vorrichtung zur Bildung einer Tonwellenform durch kombinierte Verwendung von verschiedenen Auflösungen der Abtastwerte der Wellenformen
DE69613068T2 (de) Digitales Musikinstrument mit Wellenformbearbeitung zur Erzeugung eines Klangeffektes
DE69618535T2 (de) Verfahren zur Tonerzeugung durch Hardware- und Softwarequellen
DE69517896T2 (de) Elektronisches Musikinstrument und Vorrichtung zum Hinzufügen von Klangeffekten zum Tonsignal
DE60023713T2 (de) Vorrichtung und verfahren zur wiedergabe von musikstücken in einem tragbaren telefon
DE69611874T2 (de) Verfahren und Vorrichtung zur Musiktonerzeugung
DE69630623T2 (de) Musikrechner bestehend aus vereinbaren Softwaremodulen
DE69613049T2 (de) Verfahren und Vorrichtung zur auf Software basierten Tonwellenformerzeugung
DE69705434T2 (de) Tonerzeugungssystem unter Verwendung eines Computerprogrammes
JP3409686B2 (ja) 複数音源ドライバの制御方法、および、複数音源ドライバの制御用プログラムが記録された記録媒体、ならびに、複数生成プログラムの制御方法
DE69618738T2 (de) Verfahren und Vorrichtung zur Tonerzeugung
US5850050A (en) Method and apparatus for generating musical tones, method and apparatus for processing music data, method and apparatus reproducing processed music data and storage media for practicing same
DE69618907T2 (de) Verfahren und Vorrichtung zur Tonerzeugung
DE69611873T2 (de) Verfahren und Vorrichtung zur Tonbearbeitung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Representative=s name: KEHL & ETTMAYR, PATENTANWAELTE, 81679 MUENCHEN