DE69704528T2 - Verfahren und Vorrichtung zur Erzeugung von Musiktönen, zur Bearbeitung und Wiedergabe von Musikdaten mit Hilfe von Speichermitteln - Google Patents

Verfahren und Vorrichtung zur Erzeugung von Musiktönen, zur Bearbeitung und Wiedergabe von Musikdaten mit Hilfe von Speichermitteln

Info

Publication number
DE69704528T2
DE69704528T2 DE69704528T DE69704528T DE69704528T2 DE 69704528 T2 DE69704528 T2 DE 69704528T2 DE 69704528 T DE69704528 T DE 69704528T DE 69704528 T DE69704528 T DE 69704528T DE 69704528 T2 DE69704528 T2 DE 69704528T2
Authority
DE
Germany
Prior art keywords
data
tone
tone color
event
command
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
DE69704528T
Other languages
English (en)
Other versions
DE69704528D1 (de
Inventor
Yoshimasa Isozaki
Hideyuki Masuda
Masahiro Shimizu
Hideo Suzuki
Motoichi Tamura
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Application granted granted Critical
Publication of DE69704528D1 publication Critical patent/DE69704528D1/de
Publication of DE69704528T2 publication Critical patent/DE69704528T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H7/00Instruments in which the tones are synthesised from a data store, e.g. computer organs
    • G10H7/02Instruments in which the tones are synthesised from a data store, e.g. computer organs in which amplitudes at successive sample points of a tone waveform are stored in one or more memories
    • 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
    • G10H7/006Instruments 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 using two or more algorithms of different types to generate tones, e.g. according to tone color or to processor workload
    • 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/571Waveform compression, adapted for music synthesisers, sound banks or wavetables
    • G10H2250/591DPCM [delta pulse code modulation]
    • G10H2250/595ADPCM [adaptive differential pulse code modulation]

Landscapes

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

Description

    HINTERGRUND DER ERFINDUNG Gebiet der Erfindung
  • Die vorliegende Erfindung bezieht sich auf ein Verfahren und eine Vorrichtung zur Erzeugung von Musiktönen mittels Steuerung der Klangfarbe im Ansprechen auf ein Auftreten einer Spielinformation, die für eine Änderung der Klangfarbe kennzeichnend ist, und sie bezieht sich auch auf ein Verfahren und eine Vorrichtung zur Verarbeitung von Musikdaten, ein Verfahren und eine Vorrichtung zur Wiedergabe von bearbeiteten Musikdaten und ein Speichermedium zum Speichern von Programmen, die diese Verfahren ausführen.
  • Stand der Technik
  • Eine Vorrichtung zur Musiktonerzeugung ist bekannt, bei der Musiktöne auf der Grundlage einer Spielinformation, wie beispielsweise MIDI (Musical Instrument Digital Interface - Digitalschnittstelle für Musikinstrumente)-Daten (Information), erzeugt werden.
  • Bei der bekannten Vorrichtung zur Musiktonerzeugung werden in eine Tongeneratorschaltung zu setzende Klangfarbendaten in einem Speicher vorbereitet und Klangfarbendaten, die der erzeugten Spielinformation entsprechen, werden aus den in dem Speicher vorbereiteten Klangfarbendaten ausgewählt und in die Tongeneratorschaltung gesetzt, um so mit anderen Daten wie beispielsweise einer Tonnummer zusammenzuwirken, um eine Musiktonwellenform zu erzeugen. Eine derartiger Vorrichtung ist in US-A-5376752 offenbart.
  • Durch die Verbesserungen in der Rechen (Betriebs)-Leistung der CPU in den letzten Jahren wurde ein sogenannter Software-Tongenerator entwickelt, in welchem ein Programm, das einen bestimmten Prozeß oder eine Routine zur Musiktonerzeugung beschreibt, durch eine CPU ausgeführt wird, die in einem Universal-Computer oder einer Exklusiv-Musiktonerzeugungsvorrichtung eingebaut ist, um so Musiktonwellenformdaten im Ansprechen auf eine erzeugte Spielinformation zu erzeugen.
  • Bei der bekannten Musiktonerzeugungsvorrichtung müssen jedoch Klangfarbendaten (z. B. Parameter und Wellenformtabellen), die allen Arten von Klangfarbendaten (Klangfarbennummern) entsprechen, die erzeugt werden können, in dem Speicher im voraus vorbereitet werden, um so Musiktöne in Echtzeit in Entsprechung zu einer beliebig auftretenden Spielinformation zu erzeugen. Da die Menge der Klangfarbendaten normalerweise einen beträchtlichen Umfang aufweist, besteht die Tendenz, die Kapazität des Speichers, der zur Musiktonerzeugung erforderlich ist, zu vergrößern.
  • Insbesondere bei dem Software-Tongenerator müssen die vorher erwähnten Klangfarbendaten im voraus in einem Speicher, auf den die CPU zugreifen kann, vorbereitet (entwickelt) werden (da dieser Speicher nomalerweise ein "RAM" ist, ist die folgende Erklärung auf den Fall eingeschränkt, in welchem ein "RAM" als der Speicher verwendet wird).
  • Für einen Software-Tongenerator unter Verwendung eines Wellenformspeicher- Tongenerator-Modus (PCM-Tongenerator-Modus), in welchem durch ein konkretes Musikinstrument erzeugte Musiktöne durch PCM (pulse code modulation = Pulscodemodulation) moduliert und gespeichert werden, und Musiktöne durch beispielsweise Auslesen der gespeicherten Wellenformen erzeugt werden, müssen alle Klangfarbendaten, die 128 Klangfarben entsprechen, als Grundspezifikation eines GM (General MIDI = Allgemein-MIDI)-Systems in dem RAM entwickelt werden, wobei eine große Kapazität des zu verwendenden RAM erforderlich ist, da die Gesamtmenge der Klangfarbendaten etwa bei 2 Megabytes (MB) liegt.
  • Wenn ein Universal-Computer als die Vorrichtung zur Ausführung des Software- Tongenerator-Programms verwendet wird, können ein Anwendungsprogramms (- Programme), die nicht das Software-Tongenerator-Programm sind, oft während des Ablaufens des Software-Tongenerator-Programms, infolge einer Mehrprozeßverarbeitungs-Funktion eines, augenblicklich verfügbaren Universal-Computers, ausgeführt werden, und daher wird der RAM sowohl für das Software-Tongenerator- Programm als auch für ein anderes Anwendungsprogramm (-programme) verwendet. Wenn die vorher beschriebenen Klangfarbendaten in dem RAM entwickelt werden, wird demgemäß die Kapazität des RAM, der von einem anderen Anwendungsprogramm (-prograrnme) benutzt werden kann, durch Reduktion in seiner Betriebsgeschwindigkeit reduziert oder die Operationen eines solchen anderen Anwendungsprogramms (-programme) werden schlimmsten Falls undurchführbar.
  • KERN DER ERFINDUNG
  • Es ist daher ein Ziel der Erfindung ein Verfahren und eine Vorrichtung zur Erzeugung von Musiktönen, ein Verfahren und eine Vorrichtung zur Verarbeitung von Musikdaten, ein Verfahren und eine Vorrichtung zur Wiedergabe von bearbeiteten Musikdaten und ein Speichermedium zum Durchführen dieser Verfahren bereitzustellen, bei dem die Kapazität des von dem Software-Tongenerator verwendeten RAM reduziert ist, so dass eine ausreichende Kapazität des RAM, der von einem anderen Anwendungsprogramm (-programmen) benutzt wird, die im Parallelbetrieb ausgeführt werden, sichergestellt ist, wobei die Operationen eines solchen anderen Anwendungsprogramms (-programmen) mit einer hohen Effizienz zuverlässig ausgeführt werden.
  • Um das vorher beschriebene Ziel zu erreichen, stellt die vorliegende Erfindung ein Verfahren zur Erzeugung von Musiktönen bereit, dass die folgenden Schritte aufweist: Speichern von Klangfarbendaten in Klangfarbendaten-Speichermitteln, Durchsuchen dieser Klangfarbendaten-Speichermittel beim Auftreten einer Spielinformation, die für eine Änderung einer Klangfarbe kennzeichnend ist, um festzustellen, ob die durch die Änderung einer Klangfarbe ausgewählten Klangfarbendaten in den Klangfarbendaten-Speichermitteln gespeichert sind, und Steuern einer Musiktonerzeugung in der Weise, dass, wenn ein Ergebnis des Durchsuchens kennzeichnet, dass die durch die Änderung einer Klangfarbe ausgewählten Klangfarbendaten in den Klangfarbendaten- Speichermitteln gespeichert sind, ein Musikton auf der Grundlage der Klangfarbendaten erzeugt wird, und wenn die durch die Änderung einer Klangfarbe ausgewählten Klangfarbendaten in den Klangfarbendaten-Speichermitteln nicht gespeichert sind, die Klangfarbendaten aus einem Speichermedium ausgelesen werden, das die ausgewählten Klangfarbendaten speichert, und diese zu den Klangfarbendaten- Speichermitteln übertragen werden und dort gespeichert werden, während ein Musikton auf der Grundlage von anderen Klangfarbendaten, die ähnlich zu den ausgewählten Klangfarbendaten sind, erzeugt wird.
  • Das Verfahren zur Erzeugung von Musiktönen weist vorzugsweise außerdem den Schritt des Löschens von Klangfarbendaten, die nicht mehr erforderlich sind, aus den in den Klangfarbendaten-Speichermitteln gespeicherten Klangfarbendaten unter einer vorgegebenen Bedingung auf.
  • Insbesondere besteht die vorgegebene Bedingung darin, dass, wenn irgendeine Klangfarbe nicht verwendet worden ist, bis der Löschungsschritt ausgeführt wird, die die Klangfarbe repräsentierenden Klangfarbendaten gelöscht werden.
  • Alternativ ist die vorgegebene Bedingung die folgende, dass, wenn eine Menge von in den Klangfarbendaten-Speichermitteln gespeicherten Klangfarbendaten nicht kleiner als eine vorgegebene Menge ist, Klangfarbendaten, die am längsten gespeichert worden sind, gelöscht werden.
  • Um das vorher beschriebene Ziel zu erreichen, stellt die vorliegende Erfindung auch eine Vorrichtung zur Erzeugung von Musiktönen bereit, die folgendes aufweist: eine Klangfarbenspeichervorrichtung, die Klangfarbendaten speichert, eine Suchvorrichtung, die die Klangfarbendaten-Speichervorrichtung nach einem Auftreten von einer Spielinformation, die für eine Änderung der Klangfarbe kennzeichnend ist, durchsucht, um zu ermitteln, ob Klangfarbendaten, die durch die Änderung der Klangfarbe ausgewählt sind, in der Klangfarbendaten-Speichervorrichtung gespeichert sind, und eine Steuervorrichtung, die eine Musiktonerzeugung so steuert, dass, wenn ein Ergebnis der Suche kennzeichnet, dass die durch die Änderung der Klangfarbe ausgewählten Klangfarbendaten in der Klangfarbendaten-Speichervorrichtung gespeichert sind, ein Musikton auf der Grundlage der Klangfarbendaten erzeugt wird, und, wenn die durch die Änderung der Klangfarbe ausgewählten Klangfarbendaten in der Klangfarbendaten-Speichervorrichtung nicht gespeichert sind, die Klangfarbendaten aus einem Speichermedium ausgelesen werden, das die ausgewählten Klangfarben speichert, und zu der Klangfarbendaten- Speichervorrichtung übertragen und in derselben gespeichert werden, wobei ein Musikton auf der Grundlage anderer Klangfarbendaten, die den ausgewählten Klangfarbendaten ähnlich sind, erzeugt wird.
  • Um das vorhergehende Ziel zu erreichen, stellt die vorliegende Erfindung auch ein Verfahren zur Bearbeitung von Musikdaten bereit, das die folgenden Schritte aufweist: Speichern von Musikdaten in Speichermitteln; Empfangen eines Klangfarbenauswählereignisses, das in den in den Speichermitteln gespeicherten Musikdaten enthalten ist, und Einfügen eines Ladebefehlereignisses zur Erzeugung eines Befehls, um Klangfarbendaten, die durch das Klangfarbenauswählereignis ausgewählt wurden, bei einer Position in den gespeicherten Musikdaten zu laden, die in einer vorgegebenen Zeitperiode vor einer Position liegt, bei der das Klangfarbenauswählereignis empfangen worden ist.
  • Das Verfahren zur Bearbeitung von Musikdaten weist zudem den Schritt des Einfügens eines Herausnahmebefehlsereignisses zur Erzeugung eines Befehls auf, die Klangfarbendaten herauszunehmen, die unmittelbar vor dem Auftreten des Klangfarbenauswählereignisses ausgewählt wurden, wenn festgestellt wurde, dass die Klangfarbendaten, die unmittelbar vor dem Auftreten des Klangfarbenauswählereignisses ausgewählt wurden, nicht nach dem Klangfarbenauswählereignis ausgewählt werden.
  • Zum Erreichen des vorhergehenden Ziels, stellt die vorliegende Erfindung eine Vorrichtung zur Verarbeitung von Musikdaten bereit, die folgendes aufweist: eine Musikdatenspeichervorrichtung, die Musikdaten speichert; eine Empfangsvorrichtung, die ein Klangfarbenauswählereignis empfängt, das in den in der Speichervorrichtung gespeicherten Musikdaten enthalten ist, und eine Ladebefehlereigniseinfügevorrichtung, die ein Ladebefehlsereignis zur Erzeugung eines Befehls einfügt, dass durch das Klangfarbenauswählereignis ausgewählte Klangfarbendaten bei einer Position in den gespeicherten Musikdaten geladen werden, die eine vorgegebene Zeitperiode vor einer Position liegt, bei der das Klangfarbenauswählereignis empfangen wird.
  • Zum Erreichen des vorhergehenden Ziels, stellt die vorliegende Erfindung außerdem ein Verfahren zur Wiedergabe von Musikdaten, das die folgenden Schritte aufweist: Zuführen von Musikdaten, die Ereignisdaten und Zeittaktdaten enthalten, die für das Takten des Auftretens von Ereignisdaten kennzeichnend sind, Empfangen eines in den Musikdaten enthaltenen Klangfarbenauswählereignisses vor der Wiedergabe der zugeführten Musikdaten, Wiedergeben der Musikdaten durch schrittweises Auslesen jeweiliger Daten aus den zugeführten Musikdaten, so dass ein Ereignis, das von einem entsprechenden der Ereignisdaten bezeichnet wurde, in dem Zeittakt auftritt, der durch die Zeittaktdaten bezeichnet wurde, Erzeugen eines Ladebefehlsereignisses, um einen Befehl zu erzeugen, dass die Klangfarbendaten geladen werden, vor dem Auftreten des Klangfarbenauswählereignisses, während einer Wiedergabe der zugeführten Musikdaten, Übertragen der Klangfarbendaten von zweiten Speichermitteln, in welchen durch das Klangfarbenauswählereignis ausgewählte Klangfarbendaten gespeichert werden, auf erste Speichermittel, um die ausgewählten Klangfarbendaten dort zu speichern, im Ansprechen auf den Befehl die Klangfarbendaten zu laden, und Erzeugen eines Musiktons im Ansprechen auf das Auftreten des Ereignisses mittels der in den ersten Speichermitteln gespeicherten Klangfarbendaten.
  • Das Verfahren zur Wiedergabe von Musikdaten weist vorzugsweise außerdem die folgenden Schritte auf: Erzeugen eines Herausnahmebefehlereignisses, um einen Befehl zu erzeugen, dass Klangfarbendaten herausgenommen werden, die nicht verwendet werden sollen, während einer Wiedergabe der gelieferten Musik daten, und Löschen der ausgewählten Klangfarbendaten aus den ersten Speichermitteln im Ansprechen auf den Befehl, die Klangfarbendaten nicht zu laden.
  • Um das vorhergehende Ziel zu erreichen, stellt die vorliegende Erfindung zudem eine Vorrichtung zur Wiedergabe von Musikdaten bereit, die folgendes aufweist: eine Zuführvorrichtung, die Musikdaten zuführt, die Ereignisdaten enthalten und Zeittaktdaten, die für den Zeittakt des Auftretens der Ereignisdaten kennzeichnend sind, eine Empfangsvorrichtung, die ein Klangfarbenauswählereignis, das in den Musikdaten enthalten ist, vor der Wiedergabe der zugeführten Musikdaten empfängt, eine Wiedergabevorrichtung, die die Musikdaten durch schrittweises Auslesen von jeweiligen Daten aus den Musikdaten wiedergibt, so dass ein Ereignis, das von einem entsprechenden dieser Ereignisdaten bezeichnet wird, in dem Zeittakt auftritt, der durch die Zeittaktdaten bezeichnet ist, eine Ladebefehlereigniserzeugungsvorrichtung, die ein Ladebefehlereignis erzeugt, um einen Befehl zu generieren, dass die Klangfarbendaten vor dem Auftreten des Klangfarbenauswählereignis geladen werden, während gelieferte Musikdaten wiedergegeben werden, eine Übertragungsvorrichtung, die die Klangfarbendaten von einer zweiten Speichervorrichtung, in welcher Klangfarbendaten gespeichert werden, die durch das Klangfarbenauswählereignis ausgewählt werden, auf eine erste Speichervorrichtung überträgt, um die ausgewählten Klangfarbendaten dort zu speichern, im Ansprechen auf den Befehl, die Klangfarbendaten zu laden, und eine Musiktonerzeugungsvorrichtung, die einen Musikton im Ansprechen auf das Auftreten des Ereignisses mittels der Klangfarbendaten, die in der ersten Speichervorrichtung gespeichert sind, erzeugt.
  • Um das vorher beschriebene Ziel zu erreichen, stellt die vorliegende Erfindung außerdem ein Speichermedium bereit, das ein Programm speichert, das von einem Computer ausgeführt werden kann, das folgendes aufweist: ein Speichermodul, das Klangfarbendaten in Klangfarbendaten-Speichermitteln speichert, ein Suchmodul, das die Klangfarbendaten-Speichermittel durchsucht, wenn eine Spielinformation auftritt, die für eine Änderung einer Klangfarbe kennzeichnend ist, um festzustellen, ob Klangfarbendaten, die durch die Änderung der Klangfarbe ausgewählt wurden, in den Klangfarbendaten-Speichermitteln gespeichert sind, und ein Steuermodul, das eine Musiktonerzeugung in der Weise steuert, dass, wenn ein Ergebnis der Suche bezeichnet, das die Klangfarbendaten, die durch die Änderung der Klangfarbe ausgewählt wurden, in den Klangfarbendaten-Speichermitteln gespeichert sind, ein Musikton auf der Grundlage der Klangfarbendaten erzeugt wird, und wenn die Klangfarbendaten, die durch die Änderung der Klangfarbe ausgewählt wurden, nicht in den Klangfarbendaten-Speichermitteln gespeichert sind, die Klangfarbendaten aus einem die ausgewählten Klangfarbendaten speichernden Speichermedium ausliest, zu den Klangfarbendaten-Speichermitteln überträgt und in denselben speichert, während einer Erzeugung eines Musikton auf der Grundlage anderer Klangfarbendaten, die ähnlich zu den ausgewählten Klangfarbendaten sind.
  • Das Speichermedium weist vorzugsweise außerdem ein Modul auf, das Klangfarbendaten, die nicht mehr erforderlich sind, aus den Klangfarbendaten, die in den Klangfarbendaten-Speichermitteln gespeichert sind, unter einer vorgegebenen Bedingung löscht.
  • Zum Erreichen des vorhergehenden Ziels stellt die vorliegende Erfindung zudem ein Speichermedium bereit, das ein von einem Computer auszuführendes Programm speichert, das folgendes aufweist: ein Speichermodul, das Musikdaten in den Speichermitteln speichert, ein Empfangsmodul, das ein Klangfarbenauswählereignis, das in den Speichermitteln gespeicherten Musikdaten enthalten ist, empfängt, und ein Ladebefehlereigniseinfügemodul, das ein Ladebefehlereignis zur Erzeugung eines Befehls, dass Klangfarbendaten geladen werden, die durch das Klangfarbenauswählereignis ausgewählt wurden, bei einer Position in den gespeicherten Musikdaten eingefügt werden, die sich eine vorgegebene Zeitperiode vor einer Position befindet, bei der das Klangfarbenauswählereignis empfangen wurde.
  • Das Speichermedium weist vorzugsweise außerdem ein Modul auf, das ein Herausnahmebefehlereignis zur Erzeugung eines Befehls einfügt, dass die Klangfarbendaten herausgenommen werden, die unmittelbar vor einem Auftreten des Klangfarbenauswählereignisses ausgewählt wurden, wenn ermittelt wurde, dass die Klangfarbendaten, die unmittelbar vor einem Austreten der Klangfarbenauswählereignisses ausgewählt wurden, nicht nach dem Klangfarbenauswählereignis ausgewählt werden.
  • Um das vorher beschriebene Ziel zu erreichen, stellt die vorliegende Erfindung ein Speichermedium bereit, das ein von einem Computer auszuführendes Programm speichert, das folgendes aufweist: ein Zuführmodul, das Musikdaten zuführt, die Ereignisdaten enthalten und Zeittaktdaten, die für den Zeittakt des Auftretens der Ereignisdaten kennzeichnend sind, ein Empfangsmodul, das ein Klangfarbenauswählereignis, das in den Musikdaten enthalten ist, vor der Wiedergabe der zugeführten Musikdaten empfängt, ein Wiedergabemodul, das die Musikdaten durch schrittweises Auslesen von jeweiligen Daten aus den zugeführten Musikdaten wiedergibt, so dass ein Ereignis, das von einem entsprechenden dieser Ereignisdaten bezeichnet wird, in dem Zeittakt auftritt, der durch die Zeittaktdaten bezeichnet ist, ein Ladebefehlereigniserzeugungsmodul, das ein Ladebefehlereignis erzeugt, um einen Befehl zu generieren, dass die Klangfarbendaten vor dem Auftreten des Klangfarbenauswählereignises geladen werden, während gelieferte Musikdaten wiedergegeben werden, ein Übertragungsmodul, das die Klangfarbendaten von einer zweiten Speichervorrichtung, in welcher Klangfarbendaten gespeichert werden, die durch das Klangfarbenauswählereignis ausgewählt werden, auf eine erste Speichervorrichtung überträgt, um die ausgewählten Klangfarbendaten dort zu speichern, im Ansprechen auf den Befehl, die Klangfarbendaten zu laden, und ein Musiktonerzeugungsmodul, das einen Musikton im Ansprechen auf das Auftreten des Ereignisses mittels der Klangfarbendaten, die in der ersten Speichervorrichtung gespeichert sind, erzeugt.
  • Vorzugsweise weist das Speichermedium außerdem ein Herausnahmebefehlerzeugungsmodul auf, das ein Herausnahmebefehlereignis erzeugt, um einen Befehl zu erzeugen, dass Klangfarbendaten herausgenommen werden, die nicht verwendet werden, während einer Wiedergabe der zugeführten Musikdaten, und ein Löschmodul, das die bezeichneten Klangfarbendaten aus den ersten Speichermitteln im Ansprechen auf den Befehl, die Klangfarbendaten herauszunehmen, löscht.
  • Die vorher beschriebenen und andere Ziele, Kennzeichen und Vorteile der Erfindung sind aus der folgenden detaillierten Beschreibung im Zusammenhang mit den anhängenden Zeichnungen klarer zu ersehen.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Fig. 1 ist ein Blockschaltbild, das das Bauschema eines Universal-Computers schematisch zeigt, welcher ein Verfahren zur Musiktonerzeugung gemäß einer Ausführungsform der vorliegenden Erfindung anwendet.
  • Fig. 2 ist eine Abbildung, die ein Beispiel von Tongeneratordaten zeigt, die in einer Tongenerator-Datenspeicherregion gespeichert werden.
  • Fig. 3 ist eine Abbildung, die zur Erläuterung des Kerns eines Musiktonerzeugungsprozesses dient, der durch den Computer aus Fig. 1 durchgeführt wird.
  • Fig. 4 ist eine Abbildung, die ein Datenformat von Musikdaten zeigt.
  • Fig. 5 ist ein Flußdiagramm, das ein Hauptprogramm zeigt, welches von einer in Fig. 1 auftretenden CPU ausgeführt wird.
  • Fig. 6 ist ein Flußdiagramm, das den Vorgang des Bearbeitens eines Modus- Schaltereignisses zeigt.
  • Fig. 7 ist ein Flußdiagramm, das einen Modus-Schaltprozeß, der ausgeführt wird, wenn ein FM-Tongenerator-Modus als ein Tongenerator-Modus bezeichnet wird, im Detail zeigt.
  • Fig. 8 ist ein Flußdiagramm, das einen Modus-Schaltprozeß detailliert zeigt, der ausgeführt wird, wenn ein Tongenerator-Modus, der kein FM-Tongenerator-Modus ist, als der Tongenerator-Modus bezeichnet wird.
  • Fig. 9 ist ein Flußdiagramm, das ein Unterprogramm zur Bestimmung einer Ersatz- Tonerzeugung aus Fig. 8 im Detail zeigt.
  • Fig. 10 ist ein Flußdiagramm, das einen Prozeß eines vollständigen Ladens von Modus- Daten zeigt.
  • Fig. 11 ist ein Flußdiagramm, das einen Prozeß eines vollständigen Ladens von Klangfarben-Daten zeigt.
  • Fig. 12 ist ein Flußdiagramm, das ein erstes Beispiel eines Herausnahmeprozesses zeigt.
  • Fig. 13 ist ein Flußdiagramm, das ein zweites Beispiel eines Herausnahmeprozesses zeigt.
  • Fig. 14 ist ein Flußdiagramm, das ein drittes Beispiel eines Herausnahmeprozesses zeigt.
  • Fig. 15 ist ein Flußdiagramm, das eine Routine zeigt, die beim Auftreten eines Programmänderungs/Bankumschaltereignisses ausgeführt wird.
  • Fig. 16 ist ein Flußdiagramm, das den Vorgang des Bearbeitens eines Ton-EIN- Ereignisses zeigt.
  • Fig. 17 ist ein Flußdiagramm, das einen Wellenformerzeugungsprozeß aus Fig. 5 im Detail zeigt.
  • Fig. 18 ist ein Flußdiagramm, das einen DMAC-Prozeß zeigt, der durch ein DMAC- Auftreten in Fig. 1 durchgeführt wird.
  • Fig. 19 ist ein Flußdiagramm, das ein Hauptprogramm zeigt, das von einer CPU eines Universal-Computers ausgeführt wird, welcher ein Musikdaten-Verarbeitungsverfahren und ein Wiedergabeverfahren von bearbeiteten Musikdaten gemäß einer Ausführungsform der vorliegenden Erfindung anwendet.
  • Fig. 20 ist ein Flußdiagramm, das einen Prozeß des Herunterladens von Musikdaten zeigt.
  • Fig. 21 ist ein Flußdiagramm, das einen Prozeß des Konvertierens von Musikdaten zeigt.
  • Fig. 22 ist ein Flußdiagramm, das einen Prozeß zum Erzeugens eines Befehls, die Wiedergabe von Musikdaten zu initiieren, zeigt.
  • Fig. 23 ist ein Flußdiagramm, das einen Prozeß zum Bearbeiten eines Ton-EIN- Ereignisses zeigt.
  • Fig. 24 ist ein Flußdiagramm, das einen Prozeß zum Bearbeiten eines Ladebefehlereignisses zeigt. Und
  • Fig. 25 ist ein Flußdiagramm, das einen Prozeß zum Bearbeiten eines Herausnahmebefehlereignisses zeigt.
  • DETAILLIERTE BESCHREIBUNG
  • Die Erfindung wird nachfolgend unter Bezugnahme auf ihre Ausführungsformen zeigende Zeichnungen detailliert beschrieben.
  • Fig. 1 zeigt schematisch das Bauschema eines Universal-Computers, welcher ein Verfahren zur Musiktonerzeugung gemäß einer Ausführungsform der vorliegenden Erfindung anwendet.
  • In Fig. 1 weist der Computer der vorliegenden Erfindung eine Tastatur (einschließlich einer Maus als Zeigevorrichtung) 1 zur Eingabe verschiedener Arten von Information, eine CPU 2, die eine Steuerung des gesamten Systems durchführt, einen ROM 3, der durch die CPU 2 auszuführende Steuerprogramme, Tabellendaten und weiteres speichert, und einen RAM 4 auf, der durch die CPU 2 auszuführende Steuerprogramme, verschiedene Anwendungsprogramme, Musikdaten (MIDI-Datenfiles), verschiedene zur Wiedergabe der Musikdaten verwendete Klangfarbendaten, verschiedene Arten von Eingabeinformation, Operationsergebnisse und weiteres temporär speichert. Der Computer weist auch einen Zeitgeber 5 zum Zählen einer Unterbrechungszeit für eine Zeitgeber-Unterbrechungs-Routine und verschiedener anderer Zeitperioden, eine Anzeige 6, die verschiedene Arten von Information anzeigt und einen großformatigen LCD oder CRT, LED und andere enthält, ein Festplattengerät 7, das eine Festplatte oder Disks zum Speichern der vorher erwähnten Steuerprogram me, verschiedener Anwendungsprogramme, Musikdaten und verschiedener Klangfarbendaten, die in den RAM 4 zu laden sind, und verschiedene andere Daten enthält, und eine Laufwerkvorrichtung 8 auf, die ein externes Speichermedium, wie beispielsweise eine CD-ROM (Compact Disk-Read Only Memory = Compaktplatte- Festwertspeicher), MO (Magneto-Optical disc = magnetooptische Platte), MD (Mini Disc) oder dergleichen antreibt. Der Computer weist außerdem eine Netzwerk-I/O 9, welches Daten zu einem Server-Computer 102 zum Beispiel über ein Kommunikations-Netzwerk 102 überträgt und von diesem empfängt, eine Ton-I/O 10, die aus einem LSI besteht, das "codec" bezeichnet wird, einen Abtastfrequenzgenerator 11, der eine Abtastfrequenz Fs erzeugt und die Frequenz an die Ton-I/O 10 liefert, eine nachfolgend beschriebene DMAC (Direct Memory Access Controller = Direktspeicherzugriff-Steuereinheit) 12 und ein Tonsystem 13 auf, wie beispielsweise einen Lautsprecher zum Konvertieren von von der Ton-I/O 10 empfangenen analogen Musiktonsignalen in einen Ton. Um Musiktonwellenformdaten auszugeben, die in der Ton-I/O 10 erzeugt werden, liest die DMAC 12 den Musiktonwellenformabtastwert Abtastwert um Abtastwert aus dem Musiktonwellenformpuffer DMAB, der in einer vorgegebenen Position des RAM 4 vorgesehen ist, direkt aus und gibt die Musiktonwellenform an die Ton-I/O 10 aus.
  • Die vorher beschriebenen Bauelemente 1-12 sind miteinander durch einen Bus 14 verbunden und das Kommunikations-Netzwerk 101 ist mit der Netzwerk-I/O 9 verbunden, während eine externe Eingabe 103, der Abtasfrequenzgenerator 11, die DMAC 12 und das Tonsystem 13 mit der TON-I/O 10 verbunden sind.
  • Das Festplattengerät 7 speichert von der CPU 2 auszuführende Steuerprogramme, wie bereits beschrieben. Wenn einige Arten von Steuerprogrammen nicht in dem ROM 3 gespeichert sind, liest der RAM 4 die in dem Festplattengerät 7 gespeicherten Steuerprogramme, so dass die CPU 2 im wesentlichen die gleichen Operationen durchführen kann wie für den Fall, bei dem die Steuerprogramme in dem ROM 3 gespeichert sind. Diese Anordnung erleichtert ein Hinzufügen von Steuerprogrammen und ein Aktualisieren der Version der Programme.
  • Wie bereits beschrieben, ist die Netzwerk-I/O 9 mit dem Kommunikations-Netzwerk 101, wie beispielsweise einem LAN (local area network = lokales Netz), dem Internet und einer Telefonleitung, verbunden und ist über das Kommunikations-Netzwerk 101 mit dem Server-Computer 102 verbunden. Falls einige Arten von Programmen oder Parametern nicht in dem Festplattengerät 7 gespeichert sind, kann die Netzwerk-I/O 9 zum Herunterladen der gewünschten Programme und Parameter von dem Server- Computer 102 verwendet werden. Ein Client-Computer (Universal-Computer in der vorliegenden Ausführungsform) überträgt Befehle an den Server-Computer 102 über die Netzwerk-I/O 9 und das Kommunikations-Netzwerk 101, um ein Herunterladen der gewünschten Programme und Parameter abzurufen. Der Server-Computer 102 empfängt die Befehle und gibt die abgerufenen Programme und Parameter an den Client-Computer über das Kommunikations-Netzwerk 101, und der Computer empfängt diese Programme und Parameter durch die Netzwerk-I/O 9 und speichert sie in dem Festplattengerät 7. Das Herunterladen wird auf diese Weise vervollständigt. Der Computer der vorliegenden Ausführungsform kann zusätzlich mit einer Schnittstelle zum direkten Übertragen von Daten zu einem externen Computer oder dergleichen oder zum Empfangen von Daten von diesem vorgesehen sein.
  • Die Ton-I/O 10, die durch die LSI, sogenannte "codec", wie vorher beschrieben gebildet wird, führt hauptsächlich die folgenden Operationen durch.
  • 1) Die Ton-I/O 10, welche mit einem A/D-Wandler und einem D/A-Wandler ausgestattet ist, konvertiert analoge Musiktonsignale, die von der externen Eingabe 103 empfangen werden, in digitale Signal mittels des A/D-Wandlers und komprimiert die Daten entsprechend dem ADPCM (Adaptive Differential Pulse Code Modulation = adaptive differentielle Pulskodemodulation)-System. Die Ton-I/O 10 expandiert oder dekomprimiert auch die komprimierten Daten und erzeugt die resultierenden Daten für den D/A-Wandler.
  • 2) Die Ton-I/O 10, die zwei FIFO (First In First Out = Druchlauf)-Speicher (nicht gezeigt) enthält, bringt A/D-konvertierte Wellenformdaten in den Eingabe-FIFO- Speicher und überträgt Wellenformdaten (Abtastwerte), die in dem Ausgabe-FIFO- Speicher gespeichert sind, zu dem D/A-Wandler im Ansprechen auf Abtasttaktsignale der Frequenz Fs, die von dem Abtastfrequenzgenerator 11 empfangen wurden.
  • 3) Falls Daten in dem Eingabe-FIFO-Speicher gespeichert sind oder falls ein freier Platz in dem Ausgabe-FIFO-Speicher vorhanden ist, wird ein Signal (Hardware- Unterbrechungssignal) zum Abrufen einer Datenbearbeitung (nachfolgend beschriebener Prozeß aus Fig. 18) erzeugt und zu der DMAC 12 geliefert.
  • Die DMAC 12 überträgt Wellenformdaten (Abtastwerte), die in dem Musiktonwellenformpuffer (DMAB) gespeichert sind, zu der Ton-I/O 10 Abtastwert um Abtastwert im Ansprechen auf das Hardware-Unterbrechungssignal von der Ton-I/O 10, nämlich ein Abtastwertabruf-Unterbrechungssignal, das von der Ton-I/O 10 in Zeitintervallen erzeugt wird, die der Wiederholperiode (1/Fs) des vorgenannten Abtasttakts entsprechen. Beim Empfang der Wellenformdaten zählt die Ton-I/O 10 die Anzahl der von der DMAC 12 übertragenen Abtastwerte und erzeugt ein Hardware- Unterbrechungssignal, das die Vervollständigung der Wiedergabe eines Rahmens von Wellenformdaten kennzeichnet, jedes Mal wenn Abtastwerte empfangen werden, die in der Anzahl der Hälfte (ein Rahmen von Wellenformdaten, wie nachfolgend beschrieben wird) der Gesamtpuffergröße des Musiktonwellenformpuffers DMAB entsprechen. Der Musiktonwellenformpuffer DMAB ist nämlich so angepaßt, dass zwei Rahmen von Wellenformdaten gespeichert werden und so viele Musiktonwellenformabtastwerte wie die, die einer Hälfte der Puffergröße des Wellenformpuffers DMAB entsprechen, zu einem Zeitpunkt in einen nachfolgend beschriebenen Wellenformerzeugungsprozeß aus Fig. 17 erzeugt werden.
  • Fig. 2 zeigt ein Beispiel von Tongeneratordaten, die in einem Tongeneratorspeicherbereich gespeichert werden. Der Tongeneratorspeicherbereich zur Speicherung der Tongeneratordaten ist in einer vorgegebenen Position des RAM 4 vorgesehen und die Kapazität diesem Bereich ist variabel in Abhängigkeit von der Menge der dort zu speichernden gespeicherten Tongeneratordaten.
  • Wie in Fig. 2 gezeigt, enthalten die Tongeneratordaten Daten (FM-Daten, PCM-Daten, physikalische Modell-Daten), die in jeweiligen Arten von Tongenerator-Modi erzeugt werden, Verwaltungsinformation und andere Daten. Die Daten, die in jeder Art von Tongenerator-Modus erzeugt werden, bestehen aus Modusdaten und Klangfarbendaten. In Fig. 2, die das Format von PCM-Daten als typisches Beispiel der Daten zeigt, die in jeder Art von Tongenerator-Modus erzeugt werden, entsprechen die PCM-Modusdaten den vorher bezeichneten Modusdaten, und Parameterdaten (PCM Parameter) und Wellenformtabellendaten (Wellen Tabelle) entsprechen den vorher bezeichneten Klangfarbendaten.
  • Der Modusdatenwert besteht aus einem Treiber (Programm), der eine Operation durchführt, die für jede Art von Transaktionsereignissen geeignet ist, einem Produktionsprogramm zur Erzeugung von Musiktonwellenformdaten entsprechend dem relevanten Tongenerator-Modus und einem Arbeitsbereich.
  • Die Klangfarbendaten unterscheiden sich von einem Tongenerator-Modus zum anderen. Im FM-Tongenerator-Modus enthält der Klangfarbendatenwert die Anzahl von Operatoren, Algorithmen, Parametern zur Steuerung von EG und anderen von jedem Operator und eine Tabelle von Grundwellenformdaten, wie beispielsweise einer Sinus- Welle. Im PCM-Tongenerator-Modus enthält der Klangfarbendatenwert Parameter für EG, Filter und dergleichen und eine Wellenformtabelle, die die Basis von jedem Musikton schafft. Im physikalischen Modell-Tongenerator-Modus enthält der Klangfarbendatenwert Algorithmussteuerdaten, verschiedene Koeffizienten, Parameter für EG und anderes und nichtlineare Tabellen.
  • Bei der vorliegenden Ausführungsform sind die Mengen der Modusdaten und Klangfarbendaten, die in dem Tongenerator-Datenspeicherbereich gespeichert sind, die folgenden: FM-Daten bestehend aus Modusdaten mit 60 Kilobytes (KB) und Klangfarbendaten mit 40 Bytes (pro Klangfarbe) · 128 Klangfarben (alle Klangfarben im GM-System) und PCM-Daten bestehend aus Modusdaten mit 70 Kilobytes (KB) und Klangfarbendaten mit einigen bis einigen Duzend Kilobytes (pro Klangfarbe) x einigen Duzend von Klangfarben, während die physikalischen Modell-Daten aus Modusdaten mit 20 Kilobytes (KB) bestehen und Klangfarbendaten mit 20 Kilobytes (pro Klangfarbe) · einigen Klangfarben.
  • Aus der vorhergehenden Beschreibung ist zu entnehmen, dass die Menge der Tongeneratordaten (bestehend aus Modusdaten und Klangfarbendaten) der FM-Daten kleiner ist als die der Tongeneratordaten der anderen Tongenerator-Modi. Bei der vorliegenden Ausführungsform werden daher, wenn der FM-Tongenerator-Modus nicht für ein wiederzugebendes Musikstück ausgewählt ist, die Modusdaten und die Klangfarbendaten, die allen Grundklangfarben (128 Klangfarben) in dem vorher erwähnten GM-System in dem FM-Tongenerator-Modus entsprechen, immer in einem entsprechenden Bereich (nachfolgend als "FM-Tongeneratordatenspeicherbereich" bezeichnet) des Tongenerator-Datenspeicherbereichs gespeichert, um eine Ersatz- Tonerzeugung (Erzeugung von Musiktönen mit einer Klangfarbe ähnlich der ausgewählten Klangfarbe) zu ermöglichen.
  • Da die Musiktonwellenformdaten gemäß einem Software-Programm in der vorliegenden Ausführungsform erzeugt werden, kann eine Vielzahl von Tongenerator- Modi für einen Musikdatenwert bezeichnet werden, so dass beipielsweise unterschiedliche Tongenerator-Modi für unterschiedliche Spielteile bezeichnet werden, um die Musiktonwellenformdaten zu erzeugen. Die Musiktonwellenform eines Musikstückes oder Liedes wird beispielsweise nur unter Verwendung des FM- Tongenerator-Modus erzeugt, während die Musiktonwellenform eines weiteren Liedes mittels des FM-Tongenerator-Modus und PCM-Tongenerator-Modus erzeugt wird. Da unterschiedliche Tongenerator-Modi für jeweilige Lieder bezeichnet werden, werden in solchen Fällen Daten, die in dem bezeichneten Tongenerator-Modus erzeugt und in dem Tongeneratordatenspeicherbereich gespeichert werden, in Abhängigkeit von relevanten Musikdaten ermittelt. In dem Beispiel aus Fig. 2 werden drei Arten von Tongenerator-Modi für ein Lied bezeichnet. Es versteht sich von selbst, dass die Tongenerator-Modi nicht auf die drei Arten (FM-Tongenerator-Modus, PCM- Tongenerator-Modus und physikalischer Modell-Tongenerator-Modus) eingeschränkt sind, sondern andere Tongenerator-Modi, wie beispielsweise einen Chaos- Tongenerator-Modus und einen harmonischen Kompositionsmodus, enthalten können.
  • Die Anzahl von Musiktönen, die im Parallelbetrieb erzeugt werden kann, ist auch in Abhängigkeit von dem Tongenerator-Modus unterschiedlich, zum Beispiel 28 Töne in dem FM-Tongenerator-Modus, 24 Töne in dem PCM-Tongenerator-Modus und 2 Töne in dem physikalischen Modell-Tongenerator-Modus. Zudem kann die Anzahl der erzeugten Musiktöne innerhalb einer Vielzahl von Tongenerator-Modi geändert werden. Die Anzahl von Musiktönen, die in dem FM-Tongenerator-Modus im Parallelbetrieb erzeugt werden, kann beispielsweise reduziert werden, und die Anzahl von Musiktönen, die in dem PCM-Tongenerator-Modus im Parallelbetrieb erzeugt werden, kann stattdessen erhöht werden.
  • Der Kern der Verarbeitung zur Berechnung der Musiktonwellenformen, wie vorhergehend beschrieben, wird nachfolgend unter Bezugnahme auf Fig. 3 erläutert. In Fig. 3 wird, wenn ein Musikdatenstart wiedergegeben wird, ein Start von Spieleingabedaten (Ml DI-Ereignissen) einem Eingabepuffer (nicht gezeigt) zugeführt.
  • In diesem Zusammenhang können die Musikdaten im SMF (Standard MIDI File = Standardl-MIDI-Datei)-Format erzeugt werden (die in diesem Format erzeugten Musikdaten werden nachfolgend als "Musikdaten-SMF" benannt), und die so erzeugten Musikdaten bestehen aus Kopfzeilendaten und Folgedaten, wie es in Fig. 4 gezeigt ist. Die Kopfzeilendaten enthalten solche Daten wie den Titel des Liedes, die Datenmenge, das Erzeugungsdatum und das Dateiformat (beispielsweise SMF oder GM) und die Folgedaten enthalten verschiedene Arten von MIDI-Ereignisdaten, wie beispielsweise Ton-EIN/-AUS-Ereignisdaten, Steueränderungsereignisdaten, Programmänderungsereignisdaten, Bankauswählereignisdaten (diese Daten sind eine Art von Steueränderungsereignisdaten) und System-Exklusiv-Ereignisdaten und Zeitdaten, die den Zeitpunkt des Auftretens jedes MIDI-Ereignisdatenwerts bezeichnen. In der vorliegenden Ausführungsform, in welcher Musiktöne für das gleiche Lied in maximal drei Arten von Tongenerator-Modi (FM-Tongenerator-Modus, PCM-Tongenerator- Modus und physikalischer Modell-Tongenerator-Modus) erzeugt werden können, können die Folgedaten, wenn es erforderlich ist, Modus-Schaltereignisdaten zum Schalten dieser drei Arten von Tongenerator-Modi enthalten. Da die Modus- Schaltereignisdaten nicht laufend als Ereignisdaten gemäß dem MIDI-Standard eingeführt werden, stellen die System-Exklusiv-Ereignisdaten die Modus- Schaltereignisdaten in der vorliegenden Ausführungsform bereit.
  • In Fig. 3 führt die CPU 2 eine Musiktonerzeugungsverarbeitung im Ansprechen auf eine Start-Möglichkeit, die in regelmäßigen Intervallen (die jeweils als "frame" = "Rahmen" bezeichnet werden) einer vorgegebenen Zeitdauer eingestellt werden, auf der Grundlage von Spieleingabedaten, die einem Rahmen kurz vor dem momentanen Rahmen zugeführt werden, entsprechend dem Tongenerator-Modus durch, der durch die Spieleingabedaten bezeichnet wurde. Beispielsweise wird die Musiktonerzeugungsverarbeitung auf der Grundlage der Spieleingabedaten, die dem Rahmen vom Zeitpunkt t1 bis t2 zugeführt wurden, in dem Rahmen vom Zeitpunkt t2 bis t3 ausgeführt.
  • Wenn ein Rahmen von Musiktonwellenformdaten bei der Musiktonerzeugungsverarbeitung in der vorherigen Weise erzeugt wird, werden die Wellenformdaten in den Musiktonwellenformpuffer DMAB geschrieben und die Wiedergabe der eingeschriebenen Daten wird reserviert. In jedem Rahmen liest der vorher bezeichnete DMAC 12 Musiktonwellenformdaten, einen Abtastwert nach dem anderen, aus dem Musiktonwellenformpuffer DMAB aus, in welchem eine Wiedergabe der Wellenformdaten in dem unmittelbar vorhergehenden Rahmen reserviert wurde, und erzeugt die gelesenen Wellenformdaten und liefert diese der Ton-I/O 10. Wie in Fig. 3 gezeigt, werden beispielsweise die Musiktonwellenformdaten, die in dem Rahmen von der Zeit t2 bis zur Zeit t3 erzeugt und in den Musiktonwellenformpuffer DMAB zur Reservierung für ihre Wiedergabe eingeschrieben werden, in dem Rahmen von der Zeit t3 bis t4 ausgelesen und wiedergegeben.
  • In Fig. 3 kennzeichnen schraffierte Abschnitte in Musiktonerzeugungoperationsblöcken, dass die Operation zum Erzeugen einer Musiktonwellenform in dem physikalischen Modell-Tongenerator-Modus durchgeführt wird. Da eine große Leistung erforderlich ist, um einen Ton durch die Musiktonerzeugungsoperation in dem physikalischen Modell-Tongenerator-Modus zu erzeugen, wird nur ein Ton in jedem Rahmen entsprechend diesem Modus in der vorliegenden Ausführungsform erzeugt. Somit ist die Zeit dieser Operation im wesentlichen konstant, wie es in Fig. 3 gezeigt ist. In den nicht schraffierten Bereichsabschnitten werden die Operationen der Musiktonwellenformerzeugung gemäß den anderen Tonerzeugungsmodi durchgeführt.
  • Nachfolgend wird bezugnehmend auf Fig. 5 bis Fig. 18 die Steuerungsverarbeitung, die von dem Computer der vorliegenden Ausführungsform durchgeführt wird, im Detail beschrieben.
  • Fig. 5 zeigt ein durch den Computer, insbesondere der CPU 3, ausgeführtes Hauptprogramm der vorliegenden Ausführungsform. Anfänglich wird ein Schritt 1 ausgeführt, um eine Initialisierung durch Löschen von RAM 4, usw. zu bewirken. Dann wird eine Überprüfung eines Auftretens eines jeden Initiierungsfaktors in einem Schritt S2, wie nachfolgend beschrieben ist, ausgeführt:
  • Initiierungsfaktor 1: irgendeines der vorher bezeichneten MIDI-Ereignisse tritt ein.
  • Initiierungsfaktor 2: Wiedergabe eines Rahmens von Musiktonwellenformdaten ist fertiggestellt und das Hardware-Unterbrechungssignal wird bezugnehmend auf das vorher erwähnte durch die Ton-I/O 10 erzeugt.
  • Initiierungsfaktor 3: irgendein Abrufereignis, welche nicht die die Initiierngsfaktoren 1, 2, 4 darstellenden sind, wird festgestellt, zum Beispiel ein Operationsereignis, das kennzeichnet, dass der Anwender ein Eingabebedienungselement, wie beispielsweise eine Maus oder Tastatur 1, betätigt, wird festgestellt.
  • Initiierungsfaktor 4: der Anwender veranlaßt die Beendigung der Haupt- Routine und dieses Operationsereignis wird festgestellt.
  • In dem nächsten Schritt S3 wird ermittelt, ob irgendeiner der vorher beschriebenen Initiierungsfaktoren 1-4 aufgetreten ist. Wenn keiner der Initiierungsfaktoren 1-4 aufgetreten ist, kehrt das Programm zu Schritt S2 zurück. Wenn irgendeiner der Initiierungsfaktoren 1-4 aufgetreten ist, schreitet das Programm zu einem Schritt S4 fort, um festzustellen, welcher der vorher erwähnten Initiierungsfaktoren aufgetreten ist.
  • Wenn das Ermittlungsergebnis in Schritt S4 bezeichnet, dass der "Initiierungsfaktor 1" aufgetreten ist, schreitet das Programm zu einem Schritt S5 fort, um die MIDI- Verarbeitung in bezug auf das erzeugte MIDI-Ereignis auszuführen. Wenn der "Initiierungsfaktor 2" aufgetreten ist, schreitet das Programm zu einem Schritt S6 fort, um den Wellenformerzeugungsprozeß auszuführen, wie nachfolgend bezugnehmend auf Fig. 17 beschrieben wird. Wenn der "Initiierungsfaktor 3" aufgetreten ist, schreitet das Programm zu einem Schritt S7 fort, um andere Prozesse in bezug auf das erzeugte Ereignis auszuführen. Wenn der "Initiierungsfaktor 4" aufgetreten ist, schreitet das Programm zu einem Schritt S8 fort, um einen Beendigungsprozeß auszuführen, in welchem eine Anzeige auf dem Anzeigegerät 6 zu dem Zusatand vor der Initiierung des augenblicklichen Hauptprogramms zurückgeführt wird.
  • Nachdem irgendeiner der vorherigen Schritte S5-S7 beendet ist, kehrt das Programm zu dem Schritt S2 zurück, um die vorher beschriebene Bearbeitung zu wiederholen. Wenn der Beendigungsprozeß des Schrittes S8 beendet ist, wird die gegenwärtige Haupt-Routine abgeschlossen oder beendet.
  • Fig. 6 zeigt den Vorgang einer Bearbeitung eines Modus-Schaltereignisses, wobei es sich um einen Prozeß handelt, der während der MIDI-Signalbearbeitung in dem Schritt S5 aus Fig. 5 durchgeführt wird. Dieser Prozeß wird initiiert, wenn ein Modus-Schaltereignis als eines von der Art der vorher bezeichneten MIDI-Ereignisse auftritt. Da das Modus-Schaltereignis den System-Exklusiv-Ereignisdaten, wie vorher beschrieben, zugeordnet wird, wird der gegenwärtige Prozeß initiiert, wenn das den System-Exklusiv-Ereignisdaten zugewiesene Modus-Schaltereignis auftritt.
  • In Fig. 6 werden die durch den Eingabepuffer empfangenen System-Exklusiv- Ereignisdaten analysiert und der Tongenerator-Modus, zu welchem neu umgeschaltet oder geändert wurde, wird als ein neuer Modus in einen Bereich "TM", der bei einer vorgegebenen Position des RAM 4 vorgesehen ist (nachfolgend wird der Inhalt des Bereichs TM "Tongenerator-Modus TM" bezeichnet), in einem Schritt S11 gespeichert. Dann wird eine Modusschalt-Unterroutine für den gewählten Tongenerator-Modus TM in einem Schritt S12 ausgeführt, wie nachfolgend beschrieben, worauf die Beendigung des gegenwärtigen Modusschaltereignisprozesses folgt.
  • Fig. 7 zeigt detailliert einen Modusschaltprozeß, der durchgeführt wird, wenn der FM-Tongenerator-Modus als der Tongenerator-Modus TM bezeichnet wird, wobei es sich um einen Prozeß in der Modusschalt-Subroutine des Schritts S12 handelt.
  • In Fig. 7 wird zu Beginn ein Schritt S21 ausgeführt, um zu ermitteln, ob die ausgewählten Klangfarbendaten in den vorher bezeichneten FM-Tongeneratordaten gespeichert sind. Da die Klangfarbe auf der Grundlage der Bankauswählereignisdaten und Programmänderungsereignisdaten ausgewählt wird, wird in diesem Zusammenhang vorausgesetzt, dass diese Ereignisse bereits zudem Zeitpunkt stattgefunden haben, wenn der Schritt S21 ausgeführt wird. In der folgenden Beschreibung wird vorausgesetzt, dass die Auswahl der Klangfarbe durchgeführt wurde vor Ausführung eines Prozesses, wenn es irgendeinen gibt, der ermittelt, ob die Klangfarbendaten in dem Klangfarben-Datenspeicherbereich gespeichert sind oder nicht.
  • Wenn der Schritt S21 ermittelt, dass die ausgewählten Klangfarbendaten nicht in dem FM-Tongenerator-Datenspeicherbereich gespeichert sind, werden die Klangfarbendaten aus dem Festplattengerät 7 ausgelesen und in den FM-Tongenerator- Datenspeicherbereich geladen, und danach schreitet das Programm zu Schritt S23 fort. Wenn die ausgewählten Klangfarbendaten in dem FM-Tongenerator- Datenspeicherbereich gespeichert sind, wird ein Schritt S22 übersprungen und das Programm schreitet zu dem Schritt S23 fort.
  • Wie vorhergehend beschrieben, können die Tongeneratordaten entsprechend dem FM- Tongenerator-Modus für eine Ersatz-Tonerzeugung sogar in dem Fall verwendet werden, in welchem ein Lied, für welches der FM-Tongenerator-Modus nicht ausgewählt ist, wiedergegeben wird, und daher sind die Grundklangfarbendaten für diesen Modus normalerweise geladen. Der Anwender kann jedoch eine Klangfarbe auswählen, die nicht die der Grungklangfarbendaten ist, beispielsweise eine von dem Anwender erzeugte Klangfarbe, und die Bearbeitung des Schritts S21 behandelt diesen Fall.
  • In dem Schritt S23 wird die Tonerzeugung entsprechend dem Tongenerator-Modus TM bezeichnet. Dann wird ein Schritt S24 ausgeführt, um ein Ersatz- Tonerzeugungsabruf-Kennzeichen RF zurückzustellen (auf "0"), das ein Ersatz- Tonerzeugungs Rückfragesignal "1" darstellt, worauf die Beendigung des augenblicklichen Modusschaltprozesses folgt.
  • Fig. 8 zeigt detailliert einen Modusschaltprozeß, der ausgeführt wird, wenn ein Tongenerator-Modus (PCM-Tongenerator-Modus oder physikalischer Modell- Tongenerator-Modus), der nicht der FM-Tongenerator-Modus ist, als der Tongenerator-Modus TM bezeichnet wird. Dies ist ein Prozeß in der Modusschalt- Unterroutine des Schritts S12.
  • In Fig. 8 wird zu Beginn ein Schritt S31 ausgeführt, um zu ermitteln, ob die Modusdaten, die der ausgewählten Klangfarbe entsprechen, in einem entsprechenden Bereich des Tongenerator-Datenspeicherbereichs gespeichert sind. Wenn die Modusdaten nicht gespeichert sind, schreitet das Programm zu einem Schritt S32 fort. Wenn andererseits die Modusdaten gespeichert sind, schreitet das Programm zu einem Schritt S35 fort.
  • In dem Schritt S32 wird ein Befehl erzeugt, die vorher erwähnten Modusdaten zu laden, nämlich Modusdaten, die dem Tongenerator-Modus TM entsprechen und in einem Schritt S33 wird eine Ersatz-Tonerzeugungsbezeichnungs-Unterroutine ausgeführt, die nachfolgend unter Bezugnahme auf Fig. 9 beschrieben wird. Das Ersatz- Tonerzeugungsabruf-Kennzeichen RF wird in einem Schritt S34 auf "1" gesetzt, und dann wird der augenblickliche Modusschaltprozeß beendet.
  • In einem Schritt S35 wird ähnlich zu dem Schritt S21 aus Fig. 7 ermittelt, ob die Klangfarbendaten, die der ausgewählten Klangfarbe entsprechen, in einem entsprechenden Bereich des Tongenerator-Datenspeicherbereichs gespeichert sind. Wenn die relevanten Klangfarbendaten nicht gespeichert sind, schreitet das Programm zu einem Schritt S36 fort, um die Klangfarbendaten aus dem Festplattengerät 7 auszulesen und die Daten in einen entsprechenden Bereich auf die gleiche Weise wie in dem Schritt S22 aus Fig. 7 zu laden. Danach schreitet das Programm zu Schritt S33 fort.
  • Wenn der Schritt S35 ermittelt, dass die Klangfarbendaten bereits in einem entsprechenden Bereich des Tongenerator-Datenspeicherbereichs gespeichert sind, wird ein Schritt S37 ausgeführt, um eine Tonerzeugung auf der Grundlage des Tongenerator-Modus TM unmittelbar zu bezeichnen. Das Ersatz- Tonerzeugungsabruf-Kennzeichen RF wird in einem Schritt S38 zurückgestellt, wonach der augenblickliche Modusschaltprozeß beendet wird. Wenn das Programm von dem Schritt S35 zu Schritt S37 fortschreitet, werden sowohl die Modusdaten, die dem Tongenerator-Modus TM entsprechen, als auch die ausgewählten Klangfarbendaten in die entsprechenden Bereiche in dem Tongenerator-Datenspeicherbereich gespeichert, und die Tonerzeugung kann daher unmittelbar bezeichnet werden.
  • Fig. 9 zeigt die die Unterroutine der Ersatz-Tonerzeugungsbezeichnung von Schritt S33 aus Fig. 8 im Detail.
  • In einem Schritt 41 aus Fig. 9 werden Ersatz-Modusdaten und Ersatz- Klangfarbendaten, die dem Tongenerator-Modus TM und der ausgewählten Klangfarbe am nächsten kommen (ähnlich sind), aus den Modusdaten und den Klangfarbendaten, die in dem Tongenerator-Datenspeicherbereich geladen sind, ausgewählt und in jeweiligen Bereiche RTM, RTC, die in vorgegebenen Positionen des RAM 4 vorgesehen sind, gespeichert. In der folgenden Beschreibung werden der Inhalt des Bereichs RTM als "Ersatz-Modus RTM" und der Inhalt des Bereichs RTC als "Ersatz-Klangfarbe RTC" benannt. Der Ersatz-Modus RTM und die Ersatz-Klangfarbe RTC werden in dem Verfahren ausgewählt, wie es nachfolgend beschrieben ist.
  • 1) Wenn Klangfarbendaten, die der ausgewählten Klangfarbe nahe kommen, in den Klangfarbendaten, die in dem Tongenerator-Datenspeicherbereich im Zusammenhang mit dem Tongenerator-Modus TM geladen sind, vorhanden sind, werden die am nächsten kommenden Klangfarbendaten vor den anderen Daten verwendet. In diesem Fall wird der Tongenerator-Modus TM, zu dem die der ausgewählten Klangfarbe am nächsten liegenden Klangfarbendaten gehören, als der Ersatz-Modus RTM eingestellt und die Klangfarbennummer der ähnlichen Klangfarbendaten wird als die Ersatz- Klangfarbe RTC eingestellt.
  • 2) Wenn Klangfarbendaten, die der ausgewählten Klangfarbe nahe kommen, in den Klangfarbendaten, die in dem Tongenerator-Datenspeicherbereich im Zusammenhang mit dem Tongenerator-Verfahren TM geladen sind, fehlen, werden die Klangfarbendaten, die er ausgewählten Klangfarbe am nächsten kommen, aus den Klangfarbendaten, die in dem Tongenerator-Datenspeicherbereich im Zusammenhang mit dem FM-Tongenerator-Modus geladen sind, ausgewählt und verwendet. In diesem Fall wird der FM-Tongenerator-Modus als der Ersatz-Modus RTM eingestellt und die Klangfarbennummer der ähnlichen Klangfarbendaten wird als die Ersatz-Klangfarbe RTC eingestellt.
  • Die Tonerzeugung wird dann auf der Grundlage des Ersatz-Modus RTM in einem Schritt S42 bezeichnet, wonach die gegenwärtige Ersatz-Tonerzeugungs-Bearbeitung beendet wird.
  • Wenn ein Befehl, die Modusdaten und Klangfarbendaten zu laden, bei dem Prozeß der Bearbeitung eines Modus-Schaltereignis erzeugt wird, wird auf diese Weise der Prozeß des Ladens der bezeichneten Daten, nämlich der Prozeß des Auslesens der Daten von dem Festplattengerät 7 und Speichern der Daten in einen entsprechenden Bereich des Tongenerator-Datenspeicherbereichs im Ansprechen auf diesen Befehl ausgeführt, während die MIDI-Signalbearbeitung oder beispielsweise eine Wellenformerzeugungsbearbeitung aus Fig. 5 durchgeführt werden.
  • Fig. 10 zeigt den Vorgang des vollständigen Ladens der Modusdaten, welches einer der anderen Prozesse des Schritts S7 aus Fig. 5 ist, und dieser wird initiiert, wenn das Laden der bezeichneten Modusdaten fertiggestellt ist. In Fig. 10 wird ein Befehl, die ausgewählten Klangfarbendaten zu laden, in einem Schritt S51 erzeugt, und dann wird der gegenwärtige Prozeß beendet.
  • Wie bereits beschrieben, werden die Klangfarbendaten nach der Vervollständigung des Ladens der Modusdaten entsprechend dem Tongenerator-Modus TM geladen. Dies geschieht deshalb, weil es keine Möglichkeit gibt, dass die Klangfarbendaten bereits geladen wurden, während die Modusdaten noch nicht geladen sind.
  • Fig. 11 zeigt den Vorgang des vollständigen Ladens der Klangfarbendaten, welches einer der anderen Prozesse des Schritts S7 aus Fig. 5 ist, und dieser wird initiiert, wenn das Laden der bezeichneten Klangfarbendaten fertiggestellt ist. In Fig. 11 wird anfänglich ein Schritt S61 ausgeführt, um eine Tonerzeugung gemäß dem Tongenerator-Modus TM zu bezeichnen. Dann wird ein Schritt S62 ausgeführt, um das Ersatz-Tonerzeugungs-Abrufkennzeichen RF zurückzustellen und dann wird eine Unterroutine zum Herausnehmen von unnötigen Klangfarbendaten, die nachfolgend bezeichnet werden, in einem Schritt S63 ausgeführt, wonach die augenblickliche Verarbeitung beendet wird.
  • Nachfolgend werden drei unterschiedliche Beispiele des Prozesses des Herausnehmens unnötiger Klangfarbendaten erläutert.
  • Fig. 12 zeigt ein erstes Beispiel eines Herausnahmeprozesses. In Fig. 12 wird ein Schritt S71 ausgeführt, um zu ermitteln, ob irgendeine Klangfarbe, deren Klangfarbendaten in dem Tongenerator-Speicherbereich gespeichert sind, bis zur Durchführung des augenblicklichen Herausnahmeprozesses nicht verwendet wurde. Wenn es keine Klangfarbe gibt, die nicht verwendet wurde, wird der augenblickliche Herausnahmeprozeß unmittelbar beendet. Wenn es irgendeine Klangfarbe gibt, die nicht verwendet wurde, werden die Klangfarbendaten, die der nichtverwendeten Klangfarbe entsprechen, aus dem Tongenerator-Datenspeicherbereich in einem Schritt S72 gelöscht, wonach der augenblickliche Herausnahmeprozeß beendet wird.
  • Fig. 13 zeigt ein zweites Beispiel eines Herausnahmeprozesses. In Fig. 13 wird zunächst ein Schritt S81 ausgeführt, um die Anzahl der in den Tongenerator- Datenspeicherbereich geladenen Klangfarbendaten festzustellen. Dann wird ein Schritt S82 ausgeführt, um zu ermitteln, ob die Anzahl der geladenen Klangfarbendaten, die in Schritt S81 festgestellt wurde, gleich oder größer als ein vorgegebener Wert "n" ist. Wenn die Anzahl kleiner "n" ist, wird der gegenwärtige Herausnahmeprozeß unmittelbar beendet. Wenn die Anzahl der geladenen Klangfarbendaten gleich oder größer "n" ist, wird andererseits ein Schritt S83 ausgeführt, um einen Klangfarbendatenwert zu löschen, der die längste Zeit von dem Tongenerator-Datenspeicherbereich geladen war, während die (n-1) Teile des Klangfarbendatenwerts, die erst kürzlich verwendet wurden, belassen werden und dann wird der gegenwärtige Herausnahmeprozeß beendet.
  • Fig. 14 zeigt ein drittes Beispiel eines Herausnahmeprozesses. In Fig. 14 wird ein Schritt S91 ausgeführt, um die Menge der in den Tongenerator-Datenspeicherbereich geladenen Klangfarbendaten festzustellen. Dann wird ein Schritt S92 ausgeführt, um zu ermitteln, ob die in dem Schritt S91 festgestellte Menge gleich oder größer als ein vorgegebener Wert ist. Wenn die Menge kleiner als ein vorgegebener Wert ist, wird der augenblickliche Herausnahmeprozeß unmittelbar beendet. Wenn die Menge gleich oder größer als der vorgegebener Wert ist, wird andererseits der Klangfarbendatenwert, der am längsten geladen war, in einem Schritt S93 gelöscht, so dass die Menge aller in dem Tongenerator-Datenspeicherbereich geladenen Klangfarbendaten gleich oder kleiner als der vorgegebene Wert ist, und dann wird der augenblickliche Herausnahmeprozeß beendet.
  • Fig. 15 zeigt einen Bearbeitungprozeß eines Auftretens eines Programmänderungs (PC)/Bankschaltereignisses, wobei es sich um einen Prozeß handelt, der während der MIDI-Signalbearbeitung des Schrittes S5 aus Fig. 5 durchgeführt wird. Der gegenwärtige Prozeß wird initiiert, wenn das Programmänderungsereignis und Bankauswählereignis stattfindet.
  • In Fig. 15 wird zunächst ein Schritt S101 ausgeführt, um Programmänderungsereignisdaten und Bankauswählereignisdaten, die von dem Eingabepuffer empfangen werden, zu analysieren und eine neu bezeichnete Programmänderung in einem vorgegebenen Bereich PC des RAM 4 zu speichern (der Inhalt des Bereichs PC wird nachfolgend "neue Programmänderung PC" benannt) und eine neu bezeichnete Bank in einem vorgegebenen Bereich BK des RAM 4 zu speichern (der Inhalt des Bereichs 8K wird nachfolgend "neue Bank BK" benannt).
  • Ein Schritt S102 wird dann ausgeführt, um die neue Bank BK und die neue Programmänderung PC in eine entsprechend Klangfarbennummer zu konvertieren und die Klangfarbennummer in einen vorgegebenen Bereich TC des RAM 4 zu speichern (der Inhalt des Bereichs TC wird nachfolgend "Klangfarbennummer TC" benannt). Da eine besondere Klangfarbennummer "TC" ermittelt wird, wenn die Bankauswählereignisdaten und Programmänderungsereignisdaten ermittelt werden, wie vorher beschrieben, ist die Klangfarbennummer "TC" eine Funktion der neuen Bank BK und der neuen Programmänderung PC (f (BK, PC)).
  • Dann wird ein Schritt S103 ausgeführt, um die Klangfarbendaten der Klangfarbennummer TC in dem Klangfarbendatenbereich des Tongenerator-Daten-speicherbereichs, der dem Tongnerator-Modus TM entspricht, zu suchen und es wird ein Schritt S104 ausgeführt, um festzustellen, ob der Tongenerator-Modus TM der FM- Tongenerator-Modus ist oder nicht.
  • Wenn der Schritt S104 ermittelt hat, dass der Tongenerator-Modus TM nicht der FM- Tongenerator-Modus ist, wird ein Schritt S105 ausgeführt, um festzustellen, ob die gewünschten Klangfarbendaten, nämlich Klangfarbendaten der Klangfarbennummer TC, in dem Tongenerator-Modus TM geladen sind oder nicht, auf der Grundlage von Ergebnissen der in dem Schritt S103 durchgeführten Suche. Wenn die gewünschten Klangfarbendaten nicht geladen sind, wird die vorher beschriebene Ersatz- Tonerzeugungsbezeichnungs-Unterroutine aus Fig. 8 in einem Schritt S106 ausgeführt, und dann wird das Ersatz-Tonerzeugungsabruf-Kennzeichen RF auf "1" in einem Schritt S107 gesetzt, wonach die augenblickliche Routine beendet wird. Wenn der Schritt S105 ermittelt, dass die gewünschten Klangfarbendaten geladen sind, schreitet das Programm zu einem Schritt S109 fort, worauf nachfolgend Bezug genommen wird.
  • Wenn der Schritt S104 ermittelt hat, dass der Tongenerator-Modus TM der FM- Tongenerator-Modus ist, wird ein Schritt S108 ausgeführt, um festzustellen, ob die gewünschten Klangfarbendaten geladen sind oder nicht, wie in dem vorhergehenden Schritt S105. Wenn die gewünschten Klangfarbendaten nicht geladen sind, wird ein Schritt S111 ausgeführt, um die Klangfarbendaten, die durch die Klangfarbennummer TCc bezeichnet sind, in der gleichen Weise wie in dem Schritt S22 aus Fig. 7 zu laden. Wenn die gewünschten Klangfarbendaten geladen sind, wird andererseits ein Schritt S111 übersprungen und das Programm schreitet zu dem Schritt S109, um eine Tonerzeugung gemäß dem Tongenerator-Modus TM zu bezeichnen, wie in dem vorher beschriebenen Schritt S37 aus Fig. 8. Dann wird das Ersatz-Tonerzeugungsabruf- Kennzeichen RF in einem Schritt S110 zurückgestellt, wonach die Beendigung der augenblicklichen Routine erfolgt.
  • In der vorliegenden Ausführungsform wird, wenn die gewünschten Klangfarbendaten nicht geladen sind, wenn der FM-Tongenerator-Modus ausgewählt ist, der Schritt S11 oder S22. ausgeführt, um die gewünschten Klangfarbendaten zu laden. Die vorliegende Erfindung ist jedoch nicht auf diese Anordnung eingeschränkt, sondern kann so angepaßt werden, dass eine Ersatz-Klangfarbe aus den Klangfarbendaten des FM- Tongenerator-Modus ausgewählt und bezeichnet wird, welche Daten vor einer Tonerzeugung in der vorliegenden Schleife geladen wurden, während die durch die Klangfarbennummer TC bezeichneten Klangfarbendaten geladen werden.
  • Fig. 16 zeigt den Bearbeitungsvorgang einen Ton-EIN-Ereignisses, wobei es sich um einen Prozeß handelt, der während der MIDI-Signalbearbeitung des Schrittes S5 aus Fig. 5 ausgeführt wird. Dieser Prozeß wird beim Auftreten eines Ton-EIN- Ereignisses, einer Art von MIDI-Ereignissen, initiiert.
  • In Fig. 16 wird zunächst ein Schritt S121 ausgeführt, um die von dem Eingabepuffer empfangenen Ton-EIN-Ereignisdaten zu analysieren und die Tonnummer der Ton-EIN- Ereignisdaten in einem vorgegebenen Bereich NN des RAM 4 zu speichern, wobei ihre Geschwindigkeit in einem vorgegebenen Bereich VE des RAM 4 gespeichert wird. Dann wird ein Schritt S112 ausgeführt, um festzustellen, ob das Ersatz-Tonerzeugungsabruf-Kennzeichen RF "1" ist oder nicht. Das Programm schreitet zu einem Schritt S123 fort, wenn das Kennzeichen RF auf "0" eingestellt ist und schreitet zu einem Schritt S125 fort, wenn das Kennzeichen RF auf "1" eingestellt ist.
  • In dem Schritt S123 wird ein Kanal, mit dem der Musikton zu erzeugen ist, auf der Grundlage des Tongenerator-Modus TM zugewiesen. In einem Schritt S124 werden Musikdaten auf der Grundlage des Tongenerator-Modus TM und der Klangfarbennummer TC in ein Tongeneratorregister (nicht gezeigt) für den zugewiesenen Kanal eingestellt und es wird ein Befehl, die Tonerzeugung zu initiieren, erzeugt, um Musiktonwellenformdaten der Klangfarbennummer TC in dem Tongenerator-Modus TM zu erzeugen und zum Erklingen zu bringen. Dann wird die Verarbeitung des Ton-EIN- Ereignisses beendet.
  • In einem Schritt S125 wird ein Kanal, über den der Musikton zu erzeugen ist, auf der Grundlage des Ersatz-Tongenerator-Modus RTM zugewiesen, und in einem Schritt S126 werden Musikdaten auf der Grundlage des Ersatz-Tongenerator-Modus RTM und Ersatz-Klangfarbennummer RTC in ein Tongeneratorregister für den zugewiesenen Kanal eingestellt. Ein Befehl zur Tonerzeugungsinitiierung wird erzeugt, um Musiktonwellenformdaten der Ersatz-Klangfarbennummer RTC in dem Ersatz- Tongenerator-Modus RTM zu erzeugen und zum Erklingen zu bringen. Dann wird die Verarbeitung des Ton-EIN-Ereignisses beendet.
  • Fig. 17 zeigt den Wellenformerzeugungsprozeß des Schritts S6 aus Fig. 5 im Detail. In Fig. 17 wird zunächst ein Schritt S131 ausgeführt, um Rechenoperationen zur Erzeugung eines Musiktons in dem ersten Tongenerator-Modus vorzubereiten. Dann wird einen Schritt S132 ausgeführt, um die Rechenoperationen zur Erzeugung von Musiktönen durch eine Vielzahl von Kanälen in dem momentan ausgewählten Tongenerator-Modus auszuführen und ein Schritt S133 wird ausgeführt, um festzustellen, ob irgendeine Operation zur Erzeugung eines Musikton in dem nächsten Tongenerator-Modus durchzuführen ist. In Gegenwart einer in dem nächsten Tongenerator-Modus auszuführenden Musiktonerzeugungsoperation wird ein Schritt 5134 ausgeführt, um die Musiktonerzeugungsoperation in dem nächsten Tongenerator-Modus vorzubereiten und das Programm kehrt zu dem Schritt S132 zurück.
  • Wenn der Schritt S133 ermittelt, dass es keine Operation zur Berechnung der in dem nächsten Tongenerator-Modus auszuführenden Musiktonwellenform gibt, wird andererseits ein Schritt S135 ausgeführt, um eine Effektoperation bezüglich eines Rahmens der Musiktonwellenformdaten, die in dem Schritt S132 erzeugt wurden, durchzugeführen. Der eine Rahmen von Musiktonwellenformdaten wird dann zur Wiedergabe in der DMAC in einem Schritt S136 reserviert, wonach der augenblickliche Wellenformerzeugungsprozeß beendet wird.
  • Fig. 18 zeigt einen DMAC-Prozeß, der von der DMAC 12 ausgeführt wird. Der gegenwärtige Prozeß wird im Ansprechen auf das Abtastwertabruf- Unterbrechungssignal (Hardware-Unterbrechungssignal) initiiert, das von der Ton- I/O 10 zu Zeitintervallen erzeugt wird, die der Wiederholperiode des Abtastwertsignal entsprechen, welches von dem Abtastwertfrequenzgenerator 11 zu der Ton-I/O 10 übertragen wird.
  • In einem Schritt S141 aus Fig. 18 wird ein Abtastwert von Musiktonwellenformdaten, die sich an der durch den Zeiger p bezeichneten Position in dem Musiktonwellenformpuffer DMAB befinden, zu einem Puffer (der vorher bezeichnete Eingabe-FIFO- Speicher) der Ton-I/O 10 übertragen. Dann wird der Punkt p in einem Schritt S142 um "1" erhöht, wonach der augenblickliche DMAC-Prozeß beendet wird.
  • Wie in vorausgehenden erläutert wurde, wird in der vorliegenden Ausführungsform, wenn ein Klangfarbenschaltereignis auftritt und Klangfarbendaten, auf die die momentanen Klangfarbendaten geschaltet oder geändert wurden, in dem Tongenerator- Datenspeicherbereich gespeichert werden, eine Tonerzeugung entsprechend den ausgewählten Klangfarbendaten unmittelbar durchgeführt. Wenn die Klangfarbendaten, auf die die momentanen Daten geschaltet oder geändert wurden, nicht in dem Tongenerator-Datenspeicherbereich gespeichert sind, wird zum anderen ein Befehl erzeugt, die ausgewählten Klangfarbendaten aus dem Festplattengerät 7 auszulesen und die Daten in dem Tongenerator-Datenspeicherbereich zu speichern, wobei ein Musikton entsprechend anderen Klangfarbendaten, die den ausgewählten Klangfarbendaten ähnlich sind, erzeugt wird. So werden nur erforderliche Klangfarbendaten in dem RAM in Entsprechung zu einem Auftreten des Klangfarbenschaltereignisses entwickelt, wodurch der von den Klangfarbendaten besetzte Prozentsatz des RAM auf ein Minimum reduziert werden kann. Demgemäß können andere Anwendungsprogramme zu der gleichen Zeit ausgeführt werden, wobei eine hohe Effizienz der Operationen dieser Anwendungsprogramme sichergestellt ist.
  • Indem MIDI-Ereignisse während einer Wiedergabe von Musikdaten bei der dargestellten Ausführungsform stattfinden, ist die vorliegende Ausführungsform nicht auf diese Realisierung eingeschränkt, sondern MIDI-Ereignisse können auch gemäß MIDI-Daten stattfinden, die von einer externen Tastatur, einem Sequenzer oder dergleichen beispielsweise über eine MIDI-Schnittstelle empfangen werden. In solchen Fällen entspricht das "Auftreten eines MIDI-Ereignisses" aus Fig. 5 dem Zeitpunkt, zu dem das MIDI-Ereignis empfangen wird. Die vorliegende Erfindung ist insbesondere in dem Fall des Empfangens von MIDI-Daten wirksamer, in welchem das nächste MIDI- Ereignis nicht vorhersagbar ist, als in dem Fall der Wiedergabe von Musikdaten, wie es in der vorliegenden Ausführungsform (in einigen Fällen können die Musikdaten im voraus gelesen werden) erläutert wurde.
  • In der dargestellten Ausführungsform, bei der gewünschte Modusdaten und Klangfarbendaten nicht in dem Tongenerator-Datenspeicherbereich gespeichert werden, können diese Daten von dem Festplattengerät 7 ausgelesen und geladen werden. Die vorliegende Erfindung ist nicht auf diese Ausführungsform eingeschränkt, sondern die gewünschten Modusdaten und Klangfarbendaten können von einem externen Speichermedium, das in die Laufwerkvorrichtung 8 aus Fig. 1 eingefügt ist, ausgelesen und in den Speicherbereich geladen werden oder können von dem Server-Computer 102 über die Netzwerk-I/O 9 und das Kommunikations-Netzwerk 101 ausgelesen werden. Falls zu ladende Daten nicht in dem Festplattengerät 7 gespeichert sind, können die Daten zudem durch andere Medien gesucht werden.
  • In der vorliegenden Ausführungsform wird, wenn eine ähnliche Klangfarbe in den Klangfarbendaten (welche in den Tongenerator-Datenspeicherbereich geladen sind) in dem gleichen Tongenerator-Modus wie der Tongenerator-Modus TM nicht vorhanden sind, eine Ersatz-Tonerzeugung unter Verwendung einer ähnlichen Klangfarbe in dem FM-Tongenerator-Modus durchgeführt. Die vorliegende Erfindung ist jedoch nicht auf diese Realisierung eingeschränkt, sondern kann so angepaßt werden, dass die Ersatz- Tonerzeugung unter Verwendung von 128 Klangfarben des PCM-Tongenerator-Modus des vorausgehend bezeichneten GM-Systems als Standard-Klangfarben durchgeführt wird.
  • Nachfolgend wird ein Verfahren zur Bearbeitung von Musikdaten und ein Verfahren zur Wiedergabe von Musikdaten beschrieben, die entsprechend einer erfindungsgemäßen Ausführungsform bearbeitet wurden.
  • Das Bearbeitungsverfahren von Musikdaten und das Wiedergabeverfahren von bearbeiteten Musikdaten nach der vorliegenden Ausführungsform kann mittels einer Hardware (z. B., Universal-Computer) ähnlich der ausgeführt werden, die bei dem Musiktonerzeugungsverfahren der vorhergehend beschriebenen Ausführungsform verwendet wird. Der Universal-Computer, wie er unter Bezugnahme auf Fig. 1 erläutert wurde, wird somit als die Hardware zum Ausüben der Verfahren der Musikdatenbearbeitung und der Musikdatenwiedergabe der vorliegenden Ausführungsform verwendet, und der Aufbau dieses Computers wird beschrieben.
  • Nachfolgend wird der Kern des Steuerprozesses, der von dem Computer ausgeführt wird, welcher das Bearbeitungsverfahren von Musikdaten und Wiedergabeverfahren der bearbeiteten Musikdaten der vorliegenden Ausführungsform anwendet, erläutert und es werden Details der Steuerprozesse dargestellt.
  • Die von dem Computer der vorliegenden Ausführungsform ausgeführten Steuerprozesse können grob in zwei Arten von Prozessen gegliedert werden, nämlich einen Musiktonerzeugungsprozeß zur Erzeugung von Musiktonwellenformdaten und das zum Erklingen bringen der erzeugten Daten und die Vorbereitung für den Musiktonerzeugungsprozeß. Der Musiktonerzeugungsprozeß wird mit Ausnahme eines Teils desselben gemäß dem bekannten Verfahren ausgeführt und daher wird der Kern dieses Prozesses hier nicht erläutert.
  • Die Vorbereitung für den Musiktonerzeugungsprozeß weist drei Hautprozesse, wie folgt, auf:
  • (1) Herunterladen von Musikdaten
  • Dieser Vorgang besteht darin, Musikdaten herunterzuladen, die in dem SMF (Standard-MIDI-Datei)-Format (nachfolgend als "Musikdaten SMF" benannt) von dem Server-Computer 102 über das Kommunikations-Netzwerk 101 vorbereitet werden. Wenn die in den heruntergeladenen Musikdaten SMF verwendeten Modusdaten oder Klangfarbendaten nicht auf dem Festplattengerät 7 gespeichert sind, werden solche Modusdaten oder Klangfarbendaten auch von dem Server-Computer heruntergeladen.
  • (2) Konvertierung von Musikdaten
  • Der Vorgang besteht darin, wie vorher beschrieben, heruntergeladene Musikdaten SMF oder durch den Anwender erzeugte Musikdaten SMF zu analysieren und Tongenerator- Modus-Schaltereignisdaten und Klangfarbenschaltereignisdaten in die Musikdaten SMF aufzunehmen. Bevor diese Ereignisdaten während der Wiedergabe der Musikdaten ausgelesen werden, werden ein Ladebefehlsereignis oder Ereignisse zum Laden von Klangfarbendaten, die durch die Schaltereignisdaten bezeichnet werden, in einen entsprechenden Bereich des Tongenerator-Datenspeicherbereichs und ein Herausnahmebefehlsereignis oder Ereignisse zum Löschen (Herausnehmen) von Klangfarbendaten, die in dem Musikdaten SMF nicht verwendet werden, aus dem Tongenerator-Datenspeicherbereich in geeignete Positionen in den Musikdaten SMF eingesetzt. Die originalen Musikdaten SMF werden somit in Musikdaten SMF' konvertiert.
  • (3) Befehl zur Initiierung einer Wiedergabe von Musikdaten
  • Wenn die Musikdaten SMF in die Musikdaten SMF' durch den vorher beschriebenen Musikdaten-Konvertierungsprozeß konvertiert worden sind, wird ein Befehl erzeugt, eine Wiedergabe der konvertierten Musikdaten SMF zu initiieren, nachdem Tongeneratordaten (Modusdaten und Klangfarbendaten), die zum Starten einer Wiedergabe erforderlich sind, geladen sind. Wenn die Musikdaten SMF nicht in die Musikdaten SMF' konvertiert wurden, wird der gleiche Prozeß wie der vorher beschriebene Musikdaten-Konvertierungsprozeß ausgeführt, und ein Befehl, eine Wiedergabe der Musikdaten zu initiieren, wird erzeugt, nachdem Tongeneratordaten, die für eine Wiedergabe von Musikdaten erforderlich sind, geladen sind.
  • Wie im vorhergehenden unter Bezugnahme auf Fig. 4 erklärt wurde, bestehen die Musikdaten SMF aus Kopfzeiledaten und Folgedaten. Die Kopfzeiledaten weisen solche Daten auf, wie den Titel des Liedes, die Datenmenge, das Herstellungsdatum und das Dateiformat (SMF, GM und so weiter) und die Folgedaten enthalten verschiedene Arten von MIDI-Ereignisdaten, wie beispielsweise Ton-EIN/AUS-Ereignisdaten, Steueränderungsereignisdaten, Programmänderungsereignisdaten, Bankauswählereighisdaten und System-Exklusiv-Ereignisdaten und Zeittaktdaten, die den Zeitpunkt des Auftretens jedes MIDI-Ereignisdatums bezeichnen. In der vorliegenden Ausführungsform, in welcher Musiktöne für das gleiche Lied in maximal drei Arten von Tongenerator-Modi (FM-Tongenerator-Modus, PCM-Tongenerator-Modus und physikalischer Modell-Tongenerator-Modus), wie in der vorhergehenden Ausführungsform, erzeugt werden können, können die Folgedaten, wenn es erforderlich ist, Modus-Schaltereignisdaten zum Schalten dieser drei Arten von Tongenerator-Modi enthalten. Da die Modus-Schaltereignisdaten nicht laufend als Ereignisdaten gemäß dem MIDI-Standard eingeführt sind, stellen die System- Exklusiv-Ereignisdaten die Modus-Schaltereignisdaten in der vorliegenden Erfindung bereit, wie es im vorhergehenden im bezug auf die vorherige Ausführungsform erläutert wurde.
  • In Fig. 19-25 werden Details der vorherigen Steuerprozesse erläutert, die von dem Computer der vorliegenden Ausführungsform durchgeführt werden.
  • Fig. 19 zeigt ein Hauptprogramm, das von dem Computer, insbesondere der CPU 2, der vorliegenden Ausführungsform ausgeführt wird. Dieses Programm ist dem Hauptprogramm aus Fig. 5 ähnlich, und wird hier nicht erklärt.
  • Fig. 20 zeigt im Detail den vorher beschriebenen Prozeß des Herunterladens von Musikdaten. Dieser Prozeß ist einer der anderen Prozesse eines Schrittes S207 aus Fig. 19. Der gegenwärtige Herunterlade-Prozeß wird beispielsweise initiiert, wenn der Anwender mit der Maus einen Herunterladeknopf (Icon), der auf der Anzeige 6 angezeigt wird, anklickt.
  • In dem Programm aus Fig. 20 wird zunächst ein Schritt S211 ausgeführt, um vom Anwender bezeichnete Musikdaten von dem Server-Computer 102 über das Kommunikations-Netzwerk 101 herunterzuladen. Dann wird ein Schritt S212 ausgeführt, um Modusdaten und Klangfarbendaten, die in den in dem Schritt S211 heruntergeladenen Musikdaten SMF verwendet werden, zu ermitteln oder zu suchen. Da die Modusdaten durch die Modus-Schaltereignisdaten in der vorliegenden Ausführungsform ermittelt werden, werden die Modus-Schaltereignisdaten durchsucht, um den Tongenerator-Modus festzustellen oder zu bestimmen. Da andererseits die Klangfarbendaten durch drei Arten von Daten bestimmt werden, nämlich einen bezeichneten Tongenerator-Modus, Bankauswählereignisdaten und Programmänderungsereignisdaten, werden die letzteren zwei Arten von Daten gesucht, um die Klangfarbendaten zu bestimmen, und die Klangfarbennummer wird auf der Grundlage des festgestellten Tongenerator-Modus festgestellt.
  • In dem nächsten Schritt S213 wird ermittelt, ob die in dem Schritt S212 festgestellten Modusdaten in dem Festplattenlaufwerk 7 gespeichert sind oder nicht. Wenn die Modusdaten nicht in dem Festplattenlaufwerk 7 gespeichert sind, werden die relevanten Modusdaten von einem Modusdaten-Server (Server-Computer 102) über das Kommunikations-Netzwerk 101 heruntergeladen. Wenn die festgestellten Modusdaten in dem Festplattenlaufwerk 7 gespeichert sind, wird ein Schritt S214 übersprungen und das Programm schreitet zu einem Schritt S215 fort.
  • In dem Schritt S215 wird festgestellt, ob die in dem Schritt S212 festgestellten Klangfarbendaten in dem Festplattenlaufwerk 7 gespeichert sind oder nicht. Wenn die Klangfarbendaten nicht in dem Festplattenlaufwerk 7 gespeichert sind, wird ein Schritt 216 ähnlich dem Schritt S214 ausgeführt, um die gewünschten Klangfarbendaten von einem Klangfarbendaten-Server (Server-Computer 102) über das Kommunikations-Netzwerk 101 heruntergeladen, wonach der Herunterladeprozeß beendet ist. Wenn die gewünschten Klangfarbendaten in dem Festplattenlaufwerk 7 gespeichert sind, wird andererseits der augenblickliche Herunterladeprozeß unmittelbar beendet.
  • Fig. 21 zeigt den vorher beschriebenen Prozeß der Konvertierung von Musikdaten im Detail. Dieser Prozeß ist einer der anderen Prozesse des Schritts S207 aus Fig. 19 und wird initiiert, wenn der Anwender mit der Maus einen Musikdatenkonvertierungsknopf (Icon), der auf der Anzeige 6 angezeigt wird, ähnlich zu dem Herunterladeprozeß aus Fig. 20 anklickt.
  • In Fig. 21 wird zuerst ein Schritt S221 ausgeführt, um die zu konvertierenden Musikdaten SMF abzutasten, wie es durch den Anwender angewiesen wurde, und irgendeinen Modusschaltereignisdatenwert (Änderung des Modus), Bankauswählereignisdatenwert (Änderung der Bank) und Programmänderungsereignisdatenwert (PC) aufzunehmen.
  • In dem nächsten Schritt S222 werden die Art des Tongenerator-Modus, der durch die so aufgenommenen Modus-Schaltereignisdaten bezeichnet wurde, und die Klangfarbennummer der Klangfarbe, die durch die Bankauswählereignisdaten und Programmänderungsereignisdaten (PC) bezeichnet wurde, in der Kopfzeile der Musikdaten SMF gespeichert. Im Zusammenhang damit wird jeder Satz des ausgewählten Tongenerator-Modus und entsprechender Klangfarbennummer in der Kopfzeile so gespeichert, dass die aus den Musikdaten so aufgenommenen gesamten Daten sich nicht miteinander überlappen. Auf diese Weise können die Modusdaten und Klangfarbendaten, die in den Musikdaten SMF verwendet werden, nur durch Anschauen der Kopfzeile erkannt werden, wie es in Fig. 4 gezeigt ist.
  • Mit der Klangfarben (Nummer), die in Abhängigkeit von den in dem Schritt S221 aufgenommenen Bank und PC festgestellt wurde, wird ein Schritt S223 ausgeführt, um den Zeitpunkt von Laden/Herausnehmen der einzelnen Klangfarbendaten, die in den Musikdaten SMF verwendet werden, in Abhängigkeit von der so ermittelten Klangfarbennummer zu ermitteln. Der Zeitpunkt wird in der folgenden Weise bestimmt.
  • 1) Wenn die bezeichneten Klangfarbendaten nicht in dem Tongenerator- Datenspeicherbereich aus Fig. 2 gespeichert sind, wird der Zeitpunkt zum Erzeugen eines Befehls, die Klangfarbendaten zu laden, so ermittelt, dass er "x" Sekunden vor der Änderung von Bank und PC liegt. In Bezug darauf sind "x" Sekunden eine Zeitperiode, in der ein Laden der Klangfarbendaten fertigestellt wird, nämlich eine Periode, in welcher die Klangfarbendaten aus dem Festplattengerät 7 ausgelesen werden und in den entsprechenden Bereich des Tongeneratorspeicherbereichs geladen werden, und die Zahl "x" in Sekunden wird abhängig von der Menge der Klangfarbendaten geändert. Die Zahl "x" in Sekunden kann ein feststehender Wert (festgesetzte Zeitperiode, in der das Laden fertiggestellt wird, einerlei welche Klangfarbendaten bezeichnet sind) unabhängig von der Art der Klangfarbendaten sein.
  • 2) Wenn die in dem Tongenerator-Datenspeicherbereich gespeicherten Klangfarbendaten bezeichnet werden, ist es unnötig, zu sagen, dass der Zeitpunkt zum Erzeugen eines Ladebefehls, nicht festgestellt ist.
  • 3) Hinsichtlich Klangfarbendaten, deren Verwendung aufgrund einer in den Musikdaten SMF stattfindenden Änderung der Bank und PC gestoppt wird und die in den Musikdaten nach einer derartigen Änderung nicht mehr verwendet werden, wird ermittelt, dass der Zeitpunkt der Herausnahme solcher Klangfarbendaten unmittelbar nach oder eine bestimmte Zeit nach) der Änderung der Bank und PC liegt. Wenn die Menge der Klangfarbendaten, die in dem Tongenerator-Datenspeicherbereich gespeichert sind, übermäßig groß wird, wird jedoch ein Befehl erzeugt, sogar die Klangfarbendaten herauszunehmen, die künftig (aber nicht unmittelbar verwendet werden) zu verwenden sind. Wenn eine Vielzahl von Liedern nacheinander wiederzugeben sind (Kettenwiedergabe), können die Klangfarbendaten, die in den später zu spielenden Liedern zu verwenden sind, in dem Tongenerator- Datenspeicherbereich zurückbehalten werden, wenn ein freier oder leerer Bereich in dem Tongeneraror-Datenspeicherbereich verbleibt.
  • In einem Schritt S224 wird eine Ladebefehl oder ein Herausnahmebefehl als System- Exklusiv-Ereignisdaten (SE) zugewiesen, und die System-Exklusiv-Ereignisdaten, die dem so ermittelten Lade/Herausnahmebefehl entsprechen, werden in die Musikdaten SMF in der Position des in dem Schritt S223 ermittelten Zeitpunkts eingesetzt.
  • Falls die Modusdaten und Klangfarbendaten verwendet werden, die in dem Festplattengerät 7 nicht vorhanden sind, wird ein Schritt S225 ausgeführt, um die gewünschten Daten von dem Server-Computer 102 über das Kommunikations- Netzwerk 101 auf die gleiche Weise wie in den Schritten S213-216 aus Fig. 20 herunterzuladen. Dann wird der augenblickliche Musikdaten-Konvertierungsprozeß beendet. Auf diese Weise werden die konvertierten Musikdaten SMF' durch den gegenwärtigen Musikdaten-Konvertierungprozeß vorbereitet.
  • Fig. 22 zeigt Details des vorher beschriebenen Prozesses zum Erzeugen eines Befehls, die Wiedergabe von Musikdaten zu initiieren. Dieser Prozeß ist ebenfalls einer der anderen Prozesse des Schrittes S207 aus Fig. 19 und wird initiiert, wenn der Anwender mit der Maus beispielsweise den auf der Anzeige 6 angezeigten Musikdatenwiedergabestartknopf (Icon) in ähnlicher Weise zu dem Herunterladeprozeß aus Fig. 20 anklickt.
  • In einem Schritt S230 aus Fig. 22 wird die Datei der wiederzugebenden Musikdaten, wie es durch den Anwender angewiesen wurde, in einen Speicherbereich für wiedergegebene Musikdaten geladen, der in einer vorgegebenen Position des RAM 4 vorgesehen ist. Dann wird ein Schritt S230 ausgeführt, um zu ermitteln, ob die in Schritt S230 geladene Datei aus den konvertierten Musikdaten SMF' besteht. Wenn die geladene Datei aus den konvertierten Musikdaten SMF' besteht, wird ein Schritt S232 ausgeführt, um einen Wiedergabevorbereitungsprozeß auszuführen, nämlich einen Prozeß, Modusdaten und Klangfarben zu laden, die für eine Initiierung der Wiedergabe der Musikdaten erforderlich sind. In diesem Schritt werden die Modusdaten, die alle den in die konvertierten Musikdaten SMF' bezeichneten Tongenerator-Modi entsprechen, als die Modusdaten geladen. Dann wird ein Schritt S233 zum Erzeugen eines Befehls, die Wiedergabe der konvertierten Musikdaten SMF' zu initiieren, ausgeführt, wonach der augenblickliche Prozeß der Initiierung einer Wiedergabe von Musikdaten beendet wird.
  • Wenn der Schritt S231 ermittelt, dass die geladene Datei nicht aus den konvertierten Musikdaten SMF' besteht, wird ein Schritt S234 ausgeführt, um die geladenen Musikdaten abzutasten und eine Änderung des Modus, eine Änderung der Bank und PC in der gleichen Weise wie in Schritt S221 aufzunehmen, und ein Schritt S225 wird ausgeführt, um den Zeitpunkt des Ladens/Herausnehmens von einzelnen Klangfarbendaten zu ermitteln, die in den Musikdaten SMF abhängig von Bank und PC in ähnlicher Weise wie in dem Schritt S223 verwendet werden. In einem Schritt S236 wird einer Nebenspur, in der der Befehl zum Laden/Herausnehmen aufgezeichnet wird, in der Position des in dem Schritt S235 ermittelten Zeitpunkts vorbereitet.
  • In dem nächsten Schritt S237 wird die Vorbereitung zur Wiedergabe in der gleichen Weise wie in Schritt S232 ausgeführt. Nachfolgend wird ein Schritt S238 zum Erzeugen eines Befehls ausgeführt, die gleichzeitige Wiedergabe der Musikdaten und der in Schritt S236 erzeugten Nebenspur zu initiieren. Dann wird der augenblickliche Prozeß zum Erzeugen eines Befehls, die Musikdaten wiederzugeben, beendet.
  • Fig. 23 zeigt den Vorgang des Bearbeitens oder Verarbeitens eines Ton-EIN- Ereignisses. Dieser Prozeß ist ein Prozeß der MIDI-Signal-Verarbeitung des Schrittes S205 aus Fig. 19 und wird beim Auftreten eines Ton-EIN-Ereignisses, als eine Art der MIDI-Ereignisse, initiiert.
  • In Fig. 23 wird zunächst ein Schritt S241 ausgeführt, um die Ton-EIN-Ereignisdaten, die durch den vorher bezeichneten Puffer empfangen wurden, zu analysieren und die Tonnummer der Ton-EIN-Ereignisdaten in einen vorgegebenen Bereich NN des RAM 4 zu speichern, während deren Geschwindigkeit in einen vorgegebenen Bereich VE des RAM 4 gespeichert wird. Dann wird ein Schritt S242 ausgeführt, um dem Musikton, der auf der Grundlage des Inhalts des Bereichs TM zu erzeugen ist, welcher Bereich in einer vorgegebenen Position des RAM zur Speicherung des Tongenerator-Modus vorgesehen ist (nachfolgend wird der Inhalt "Tongenerator-Modus TM benannt), einen Kanal zuzuweisen. Wie im vorhergehenden beschrieben wird der Tongenerator-Modus TM durch das Modus-Schaltereignis ermittelt.
  • In dem nächsten Schritt S243 wird der Musikdatenwert auf der Grundlage des Tongenerator-Modus TM und dem Inhalt des Bereich TC in das Tongeneratorregister (nicht gezeigt) für den Kanal gesetzt, dem der zu erzeugende Musikton zugewiesen ist, wobei der Bereich TC in einer vorgegebenen Position des RAM 4 zur Speicherung der Klangfarbennummer (nachfolgend wird der Inhalt "Klangfarbennummer TC" benannt) vorgesehen ist, und es wird ein Befehl zur Initiierung einer Tonerzeugung erzeugt, um die Musiktonwellenformdaten der Klangfarbennummer TC in dem Tongenerator-Modus TM zu erzeugen und zum Erklingen zu bringen. Dann wird der gegenwärtige Prozeß des Bearbeitens des Ton-EIN-Ereignisses beendet. Wie im vorhergehenden beschrieben, wird die Tonnummer TC durch Bankauswählereignisdaten und Programmänderungsereignisdaten ermittelt.
  • Fig. 24 zeigt den Prozeß des Bearbeiten eines Ladebefehlsereignisses, welches ein Prozeß der MIDI-Signalverarbeitung des Schritts S205 aus Fig. 19 ist. Der gegenwärtige Prozeß wird beim Auftreten eines Ladebefehlsereignisses initiiert, welches in die Musikdaten in dem Schritt S224 aus Fig. 21 (oder Schritt S236 aus Fig. 22) eingefügt wird. Bevor der Ladeprozeß ausgeführt wird, wird bestätigt, ob die Klangfarbendaten und weiteres, das geladen zu werden bezeichnet wurde, in dem Tongenerator-Datenspeicherbereich gespeichert sind. Und der Ladevorgang wird nicht durchgeführt, wenn die bezeichneten Daten bereits gespeichert sind.
  • In Fig. 24 werden die bezeichneten Klangfarbendaten und weiteres von dem Festplattenlaufwerk 7 in den entsprechenden Bereich des Tongeneratorspeicherbereichs in einem Schritt S251 geladen. Dann wird der gegenwärtige Prozeß des Bearbeitens eines Ladebefehlsereignisses beendet.
  • Fig. 25 zeigt den Prozeß der Bearbeitung eines Herausnahmebefehlsereignisses, welches ein Prozeß der MIDI-Signal-Verarbeitung des Schritts S205 aus Fig. 19 ist. Der gegenwärtige Prozeß wird beim Auftreten eines Herausnahmebefehlsereignisses initiiert, welches in die Musikdaten in dem Schritt S224 aus Fig. 21 (oder Schritt S236 aus Fig. 22) eingefügt wird.
  • In Fig. 25 werden die bezeichneten Klangfarbendaten und anderes aus dem entsprechenden Bereich des Tongenerator-Datenspeicherbereichs in einem Schritt S261 gelöscht. Dann wird der gegenwärtige Prozeß des Bearbeitens eines Herausnahmebefehlsereignisses beendet.
  • Der Computer der vorliegenden Erfindung führt in Fig. 19 einen Schritt S206 zur Durchführung eines Prozesses aus, der dem Wellenformerzeugungsprozeß, wie er unter Bezugnahme auf Fig. 17 erläutert wurde, ähnlich ist, und, wenn die Wiedergabe der Musiktonwellenformendaten in diesem Wellenformerzeugungsprozeß reserviert ist, führt die DMAC 12 einen Prozeß aus, der dem DMAC-Prozeß, wie er vorher unter Bezug auf Fig. 18 erläutert wurde, ähnlich ist.
  • Wie im vorhergehenden beschrieben, werden in der vorliegenden Ausführungsform Musikdaten vor einer Wiedergabe der Musikdaten analysiert, um so die Position einer Änderung der Klangfarbe (Programmänderung beispielsweise) im voraus festzustellen, und während der Wiedergabe von Musikdaten wird ein Ladebefehlsereignis erzeugt, so dass Klangfarbendaten, die für die Änderung der Klangfarbe erforderlich sind, in den RAM zu einem bestimmten Zeitpunkt vor der Klangfarbenänderung geladen werden. Wenn Klangfarbendaten, die vor der Änderung der Klangfarbe verwendet wurden, zukünftig nicht mehr verwendet werden (oder nur für eine vorgegebene Zeit verwendet werden), werden die unnötigen Klangfarbendaten aus dem RAM zum Zeitpunkt der Änderung der Klangfarbe eliminiert. Somit werden nur erforderliche Klangfarbendaten in dem RAM entwickelt, wenn die Musikdaten wiedergegeben werden, wodurch der Prozentsatz des durch die Klangfarbendaten besetzten RAM auf ein Minimum reduziert werden kann. Demgemäß können andere Anwendungsprogramme gleichzeitig ausgeführt werden, wobei eine hohe Effizienz der Operationen dieser Anwendungsprogramme gewährleistet ist.
  • Wenn der bezeichnete Tongenerator-Modus nur der FM-Tongenerator-Modus ist, ist in diesem Zusammenhang die Menge der zu ladenden Tongeneratordaten in den Tongenerator-Datenspeicherbereich in dem RAM 4 etwa 70 Kilobytes (KB). Wenn die bezeichneten Tongenerator-Modi den FM-Tongenerator-Modus und den PCM- Tongenerator-Modus aufweisen, ist die Menge der zu ladenden Tongeneratordaten in den Tongenerator-Datenspeicherbereich in dem RAM 4 etwa 500 Kilobytes (KB). Wenn die bezeichneten Tongenerator-Modi den FM-Tongenerator-Modus, den PCM- Tongenerator-Modus und den physikalischen Modell-Tongenerator-Modus aufweisen, ist die Menge der zu ladenden Tongeneratordaten in den Tongenerator-Datenspeicherbereich in dem RAM 4 etwa 600 Kilobytes (KB). Die Menge der geladenen Tongeneratordaten ist somit im Vergleich zu 2 Megabytes (MB) bei Anwendung des herkömmlichen PCM-Tongenerator-Modus signifikant reduziert.
  • Da die Lade-/Herausnahmebefehlsereignisse in die Musikdaten vor der Wiedergabe der Musikdaten eingesetzt werden, kann das Laden der CPU während der Wiedergabe der Musikdaten reduziert werden.
  • Bei der vorliegenden Ausführungsform wird der Zeitpunkt von Laden/Herausnehmen vor der Wiedergabe der Musikdaten vorbereitet und daher kann das Laden der CPU während der Wiedergabe reduziert werden. Die vorliegende Erfindung kann vorzugsweise in dem Fall angewendet werden, in dem wiederzugebende Lieder als BGM für ein Spiel oder dergleichen verwendet werden, da die Musikdaten im voraus für das Spiel oder dergleichen ermittelt werden und somit kann der Zeitablauf im voraus in die Musikdaten eingefügt werden.
  • Da die Lade-/Herausnahmebefehlsereignisse als System-Exklusiv-Ereignisdaten in der vorliegenden Ausführungsform eingesetzt werden, können die Musikdaten, die bearbeitet wurden, von einem normalen Sequenzer auf die gleiche Weise wiedergegeben werden, in welcher die Musikdaten, die nicht bearbeitet wurden, wiedergegeben werden. Der Grund dafür ist, dass System-Exklusiv-Ereignisdaten, die von einem elektronischen Instrument mit MIDI-Standard nicht ausgewertet werden können, unberücksichtigt gelassen werden.
  • Obgleich die Lade-/Herausnahmebefehlsereignisse vor Wiedergabe der Musikdaten in der dargestellten Ausführungsform vorbereitet werden, ist die vorliegende Erfindung nicht auf diese Ausführung eingeschränkt, sondern können Daten, die sich hinter der wiedergegebenen Position befinden, im voraus während der Wiedergabe der Musikdaten ausgelesen werden, und wenn es irgendein Klangfarbenschaltereignis gibt, kann ein Ladebefehlsereignis eine bestimmte Zeit vor dem Klangfarbenschaltereignis erzeugt werden. Auf diese Weise kann die Musiktonerzeugung gemäß der vorliegenden Erfindung erreicht werden, sogar wenn nur ein Teil von Musikdaten empfangen oder vorbereitet ist. Das Lade-/Herausnahmebefehlsereignis kann beispielsweise in Musikdaten während eines Empfangs der Musikdaten durch ein Netzwerk eingesetzt werden.
  • Es ist also möglich über ein Netzwerk Musikdaten abzugeben, in welche Lade- /Herausnahmebefehlsereignisse im im voraus entsprechend dem Musikdatenbearbeitungsverfahren der vorliegenden Ausführungsform eingesetzt sind.
  • Während die Klangfarbendaten, die in dem Tongenerator-Datenspeicherbereich gespeichert sind, für jedes Lied gelöscht (herausgenommen) werden, ist die vorliegende Erfindung nicht auf diese Ausführung eingeschränkt, sondern können die Klangfarbendaten gelöscht werden, wenn sie eine längere Zeit (z. B. 10 Minuten oder länger) nicht verwendet werden.
  • Das Ziel der vorliegenden Erfindung kann durch Bereitstellen eines Speichermediums erreicht werden, in welchem ein Software-Programm mit den Funktionen der im vorhergehenden beschriebenen Ausführungsform in einem System oder einer Vorrichtung aufgezeichnet ist, und veranlassen, dass ein Computer (CPU 2 oder MPU) des Systems oder Vorrichtung das in dem Speichermedium gespeicherte Programm ausliest und ausführt.
  • In diesem Fall erzielt das aus dem Speichermedium ausgelesene Programm selbst die neuen Funktionen der vorliegenden Erfindung und das das Programm speichernde Speichermedium stellt die vorliegende Erfindung dar oder stellt diese bereit.
  • Das Speichermedium, das das Programm dem System oder Vorrichtung liefert, kann von der Art sein, wie die vorher beschriebene Festplatte, CD-ROM, MO, MD, Floppy- Disk, CD-R (CD-beschreibbar), Magnetband, nichtflüchtige Speicherkarte oder ROM 3 beispielsweise. Das Programm kann auch von einer anderen MIDI-Anlage oder dem Server-Computer 102 über das Kommunikations-Netzwerk 101 geliefert werden.
  • Die Funktionen der dargestellten Ausführungsform können nicht nur durch Auslesen des Programms aus dem Computer, sondern auch durch Veranlassen, dass ein Betriebssystem des Computers einen Teil aller aktuellen Operationen entsprechend den Befehles des Programms durchführt, erfüllt werden.
  • Das aus dem aus dem Speichermedium ausgelesene Programm kann außerdem in einen Speicher geschrieben werden, der in einer in den Computer eingesetzten Erweiterungsfunktionsplatine oder eine mit dem Computer verbundenen Erweiterungsfunktionseinheit vorgesehen ist, und die CPU 2 oder dergleichen, die in einer in den Computer eingesetzten Erweiterungsfunktionsplatine vorgesehen ist, oder eine mit dem Computer verbundenen Erweiterungsfunktionseinheit kann einen Teil oder alle Operationen auf der Grundlage der Befehle des Programms durchführen, um so die Funktionen der dargestellten Ausführungsform zu erfüllen.

Claims (24)

1. Verfahren zur Erzeugung von Musiktönen, das die folgenden Schritte aufweist:
Speichern von Klangfarbendaten in Klangfarbendaten-Speichermitteln;
Durchsuchen dieser Klangfarbendaten-Speichermittel beim Auftreten einer Spielinformation, die für eine Änderung einer Klangfarbe kennzeichnend ist, um festzustellen, ob die durch die Änderung einer Klangfarbe ausgewählten Klangfarbendaten in den Klangfarbendaten- Speichermitteln gespeichert sind; und gekennzeichnet durch
Steuern einer Musiktonerzeugung in der Weise, dass, wenn ein Ergebnis des Durchsuchens kennzeichnet, dass die durch die Änderung einer Klangfarbe ausgewählten Klangfarbendaten in den Klangfarbendaten-Speichermitteln gespeichert sind, ein Musikton auf der Grundlage dieser Klangfarbendaten erzeugt wird, und wenn die durch die Änderung einer Klangfarbe ausgewählten Klangfarbendaten in den Klangfarbendaten-Speichermitteln nicht gespeichert sind, die Klangfarbendaten aus einem Speichermedium ausgelesen werden, das die ausgewählten Klangfarbendaten speichert, und diese zu den Klangfarbendaten-Speichermitteln übertragen werden und dort gespeichert werden, während ein Musikton auf der Grundlage von anderen Klangfarbendaten, die ähnlich zu den ausgewählten Klangfarbendaten sind, erzeugt wird.
2. Verfahren zur Erzeugung von Musiktönen nach Anspruch 1, das außerdem den Schritt des Löschens von Klangfarbendaten, die nicht mehr erforderlich sind, aus den in den Klangfarbendaten-Speichermitteln gespeicherten Klangfarbendaten unter einer vorgegebenen Bedingung aufweist.
3. Verfahren zur Erzeugung von Musiktönen nach Anspruch 2, bei dem die vorgegebene Bedingung ist, dass, wenn irgendeine Klangfarbe nicht verwendet worden ist, bis der Löschungsschritt ausgeführt wird, die die Klangfarbe repräsentierenden Klangfarbendaten gelöscht werden.
4. Verfahren zur Erzeugung von Musiktönen nach Anspruch 2, bei dem die vorgegebene Bedingung ist, dass, wenn eine Menge von in den Klangfarbendaten-Speichermitteln gespeicherten Klangfarbendaten nicht kleiner als eine vorgegebene Menge ist, Klangfarbendaten, die am längsten gespeichert worden sind, gelöscht werden.
5. Verfahren zur Bearbeitung von Musikdaten, das die folgenden Schritte aufweist;
Speichern von Musikdaten in Speichermitteln;
Empfangen eines Klangfarbenauswählereignisses, das in den in den Speichermitteln gespeicherten Musikdaten enthalten ist; und gekennzeichnet durch
Einfügen eines Ladebefehlereignisses zur Erzeugung eines Befehls, um Klangfarbendaten, die durch das Klangfarbenauswählereignis ausgewählt wurden, bei einer Position in den gespeicherten Musikdaten zu laden, die in einer vorgegebenen Zeitperiode vor einer Position liegt, bei der das Klangfarbenauswählereignis empfangen worden ist.
6. Verfahren zur Bearbeitung von Musikdaten nach Anspruch 5, das außerdem den Schritt des Einfügens eines Herausnahmebefehlsereignisses aufweist zur Erzeugung eines Befehls, die Klangfarbendaten herauszunehmen, die unmittelbar vor dem Auftreten des Klangfarbenauswählereignisses ausgewählt wurden, wenn festgestellt wurde, dass die Klangfarbendaten, die unmittelbar vor dem Auftreten des Klangfarbenauswählereignisses ausgewählt wurden, nicht nach dem Klangfarbenauswählereignis ausgewählt werden.
7. Verfahren zur Wiedergabe von Musikdaten, das die folgenden Schritte aufweist:
Zuführen von Musikdaten, die Ereignisdaten und Zeittaktdaten enthalten, die für das Takten des Auftretens von Ereignisdaten kennzeichnend sind;
Empfangen eines in den Musikdaten enthaltenen Klangfarbenauswählereignisses vor der Wiedergabe der zugeführten Musikdaten;
Wiedergeben der Musikdaten durch schrittweises Auslesen jeweiliger Daten aus den zugeführten Musikdaten, so dass ein Ereignis, das von einem entsprechenden der Ereignisdaten bezeichnet wurde, in dem Zeittakt auftritt, der durch die Zeittaktdaten bezeichnet wurde; und gekennzeichnet durch
Erzeugen eines Ladebefehlsereignisses, um einen Befehl zu erzeugen, dass die Klangfarbendaten geladen werden, vor dem Auftreten des Klangfarbenauswählereignisses, während einer Wiedergabe der zugeführten Musikdaten;
Übertragen der Klangfarbendaten von zweiten Speichermitteln, in welchen durch das Klangfarbenauswählereignis ausgewählte Klangfarbendaten gespeichert werden, auf erste Speichermittel, um die ausgewählten Klangfarbendaten dort zu speichern, im Ansprechen auf den Befehl die Klangfarbendaten zu laden; und
Erzeugen eines Musiktons im Ansprechen auf das Auftreten des Ereignisses mittels der in den ersten Speichermitteln gespeicherten Klangfarbendaten.
8. Verfahren zur Wiedergabe von Musikdaten nach Anspruch 7, das außerdem die folgenden Schritte aufweist:
Erzeugen eines Herausnahmebefehlereignisses, um einen Befehl zu erzeugen, dass Klangfarbendaten herausgenommen werden, die nicht verwendet werden sollen, während einer Wiedergabe der gelieferten Musik daten und
Löschen der ausgewählten Klangfarbendaten aus den ersten Speichermitteln im Ansprechen auf den Befehl, die Klangfarbendaten nicht zu laden.
9. Vorrichtung zur Erzeugung von Musiktönen, die folgendes aufweist:
eine Klangfarbenspeichervorrichtung, die Klangfarbendaten speichert;
eine Suchvorrichtung, die die Klangfarbendaten-Speichervorrichtung nach einem Auftreten von einer Spielinformation, die für eine Änderung der Klangfarbe kennzeichnend ist, durchsucht, um zu ermitteln, ob Klangfarbendaten, die durch die Änderung der Klangfarbe ausgewählt sind, in der Klangfarbendaten-Speichervorrichtung gespeichert sind; und gekennzeichnet durch
eine Steuervorrichtung, die eine Musiktonerzeugung so steuert, dass, wenn ein Ergebnis der Suche kennzeichnet, dass die durch die Änderung der Klangfarbe ausgewählten Klangfarbendaten in der Klangfarbendaten- Speichervorrichtung gespeichert sind, ein Musikton auf der Grundlage dieser Klangfarbendaten erzeugt wird, und, wenn die durch die Änderung der Klangfarbe ausgewählten Klangfarbendaten in der Klangfarbendaten-Speichervorrichtung nicht gespeichert sind, die Klangfarbendaten aus einem Speichermedium ausgelesen werden, das die ausgewählten Klangfarben speichert, und zu der Klangfarbendaten-Speichervorrichtung übertragen und in derselben gespeichert werden, wobei ein Musikton auf der Grundlage anderer Klangfarbendaten, die den ausgewählten Klangfarbendaten ähnlich sind, erzeugt wird.
10. Vorrichtung zur Erzeugung von Musiktönen nach Anspruch 9, die außerdem eine Vorrichtung aufweist, die Klangfarbendaten, die nicht mehr erforderlich sind, aus den Klangfarbendaten, die in der Klangfarbendaten-Speichervorrichtung gespeichert sind, unter einer vorgegebenen Bedingung löscht.
11. Vorrichtung zur Erzeugung von Musiktönen nach Anspruch 10, bei der die vorgegebene Bedingung darin besteht, dass, wenn irgendeine Klangfarbe nicht verwendet wurde, bis dieser Löschvorgang ausgeführt worden ist, die die Klangfarbe repräsentierenden Klangfarbendaten gelöscht werden.
12. Vorrichtung zur Erzeugung von Musiktönen nach Anspruch 10, bei der die vorgegebene Bedingung darin besteht, dass, wenn eine Menge von Klangfarbendaten, die in der Klangfarbendaten-Speichervorrichtung gespeichert ist, nicht kleiner als eine vorgegebene Menge ist, die Klangfarbendaten, die am längsten gespeichert worden sind, gelöscht werden.
13. Vorrichtung zum Bearbeiten von Musikdaten, die folgendes aufweist:
eine Musikdatenspeichervorrichtung, die Musikdaten speichert;
eine Empfangsvorrichtung, die ein Klangfarbenauswählereignis empfängt, das in den in der Speichervorrichtung gespeicherten Musikdaten enthalten ist; und gekennzeichnet ist durch
eine Ladebefehlereigniseinfügevorrichtung, die ein Ladebefehlsereignis zur Erzeugung eines Befehls einfügt, dass durch das Klangfarbenauswählereignis ausgewählte Klangfarbendaten bei einer Position in den gespeicherten Musikdaten geladen werden, die eine vorgegebene Zeitperiode vor einer Position liegt, bei der das Klangfarbenauswählereignis empfangen wird.
14. Vorrichtung zur Bearbeitung von Musikdaten nach Anspruch 13, die außerdem eine Herausnahmebefehleinfügevorrichtung aufweist, die ein Herausnahmebefehlereignis zur Erzeugung eines Befehls einfügt, um die Klangfarbendaten herauszunehmen, die unmittelbar vor einem Auftreten des Klangfarbenauswählereignis ausgewählt wurden, wenn ermittelt wird, dass die Klangfarbendaten, die unmittelbar vor dem Auftreten des Klangfarbenauswählereignisses ausgewählt wurden, nach dem Klangfarbenauswählereignis nicht mehr auszuwählen sind.
15. Vorrichtung zur Wiedergabe von Musikdaten, die folgendes aufweist:
eine Zuführvorrichtung, die Musikdaten zuführt, die Ereignisdaten enthalten und Zeittaktdaten, die für den Zeittakt des Auftretens der Ereignisdaten kennzeichnend sind;
eine Empfangsvorrichtung, die ein Klangfarbenauswählereignis, das in den Musikdaten enthalten ist, vor der Wiedergabe der zugeführten Musikdaten empfängt;
eine Wiedergabevorrichtung, die die Musikdaten durch schrittweises Auslesen von jeweiligen Daten aus den Musikdaten wiedergibt, so dass ein Ereignis, das von einem entsprechenden dieser Ereignisdaten bezeichnet wird, in dem Zeittakt auftritt, der durch die Zeittaktdaten bezeichnet ist; und
gekennzeichnet durch
eine Ladebefehlereigniserzeugungsvorrichtung, die ein Ladebefehlereignis erzeugt, um einen Befehl zu generieren, dass die Klangfarbendaten vor dem Auftreten des Klangfarbenauswählereignis geladen werden, während gelieferte Musikdaten wiedergegeben werden;
eine Übertragungsvorrichtung, die die Klangfarbendaten von einer zweiten Speichervorrichtung, in welcher Klangfarbendaten gespeichert werden, die durch das Klangfarbenauswählereignis ausgewählt werden, auf eine erste Speichervorrichtung überträgt, um die ausgewählten Klangfarbendaten dort zu speichern, im Ansprechen auf den Befehl, die Klangfarbendaten zu laden; und
eine Musiktonerzeugungsvorrichtung, die einen Musikton im Ansprechen auf das Auftreten des Ereignisses mittels der Klangfarbendaten, die in der ersten Speichervorrichtung gespeichert sind, erzeugt.
16. Vorrichtung zur Wiedergabe von Musikdaten nach Anspruch 15, die folgendes aufweist:
eine Herausnahmebefehlerzeugungsvorrichtung, die einen Herausnahmebefehl erzeugt, um einen Befehl zu erzeugen, Klangfarbendaten herauszunehmen, die nicht verwendet werden sollen, während einer Wiedergabe der zugeführten Musikdaten, und
eine Löschvorrichtung, die die ausgewählten Klangfarbendaten aus der ersten Speichervorrichtung im Ansprechen auf den Befehl, die Klangfarbendaten herauszunehmen, löscht.
17. Speichermedium, das ein Programm speichert, das von einem Computer ausgeführt werden kann, das folgendes aufweist:
ein Speichermodul, das Klangfarbendaten in Klangfarbendaten- Speichermitteln speichert;
ein Suchmodul, das die Klangfarbendaten-Speichermittel durchsucht, wenn eine Spielinformation auftritt, die für eine Änderung einer Klangfarbe kennzeichnend ist, um festzustellen, ob Klangfarbendaten, die durch die Änderung der Klangfarbe ausgewählt wurden, in den Klangfarbendaten- Speichermitteln gespeichert sind; und gekennzeichnet durch
ein Steuermodul, das eine Musiktonerzeugung in der Weise steuert, dass, wenn ein Ergebnis der Suche bezeichnet, das die Klangfarbendaten, die durch die Änderung der Klangfarbe ausgewählt wurden, in den Klangfarbendaten-Speichermitteln gespeichert sind, ein Musikton auf der Grundlage der Klangfarbendaten erzeugt wird, und wenn die Klangfarbendaten, die durch die Änderung der Klangfarbe ausgewählt wurden, nicht in den Klangfarbendaten- Speichermitteln gespeichert sind, die Klangfarbendaten aus einem die ausgewählten Klangfarbendaten speichernden Speichermedium ausliest, zu den Klangfarbendaten-Speichermitteln überträgt und in denselben speichert, während einer Erzeugung eines Musikton auf der Grundlage anderer Klangfarbendaten, die ähnlich zu den ausgewählten Klangfarbendaten sind.
18. Speichermedium nach Anspruch 17, das außerdem ein Modul aufweist, das.
Klangfarbendaten, die nicht mehr erforderlich sind, aus den Klangfarbendaten, die in den Klangfarbendaten-Speichermitteln gespeichert sind, unter einer vorgegebenen Bedingung löscht.
19. Speichermedium nach Anspruch 18, bei dem die vorgegebene Bedingung darin besteht, dass, wenn irgendeine Klangfarbe nicht mehr verwendet worden ist, bis dieser Löschungsschritt ausgeführt wird, die die Klangfarbe repräsentierenden Klangfarbendaten gelöscht werden.
20. Speichermedium nach Anspruch 18, bei dem die vorgegebene Bedingung darin besteht, dass, wenn eine Menge von Klangfarbendaten, die in den Klangfarbendaten-Speichermitteln gespeichert sind, nicht kleiner als eine vorgegebene Menge ist, Klangfarbendaten, die am längsten gespeichert worden sind, gelöscht werden.
21. Speichermedium, das ein Programm speichert, das von einem Computer ausgeführt werden kann, das folgendes aufweist:
ein Speichermodul, das Musikdaten in den Speichermitteln speichert;
ein Empfangsmodul, das ein Klangfarbenauswählereignis, das in den Speichermitteln gespeicherten Musikdaten enthalten ist, empfängt; und
gekennzeichnet durch
ein Ladebefehlereigniseinfügemodul, das ein Ladebefehlereignis zur Erzeugung eines Befehls, dass Klangfarbendaten geladen werden, die durch das Klangfarbenauswählereignis ausgewählt wurden, bei einer Position in den gespeicherten Musikdaten eingefügt werden, die sich eine vorgegebene Zeitperiode vor einer Position befindet, bei der das Klangfarbenauswählereignis empfangen wurde.
22. Speichermedium nach Anspruch 21, das außerdem ein Modul aufweist, das ein Herausnahmebefehlereignis zur Erzeugung eines Befehls einfügt, dass die Klangfarbendaten herausgenommen werden, die unmittelbar vor einem Auftreten des Klangfarbenauswählereignisses ausgewählt wurden, wenn ermittelt wurde, dass die Klangfarbendaten, die unmittelbar vor einem Austreten der Klangfarbenauswählereignisses ausgewählt wurden, nicht nach dem Klangfarbenauswählereignis ausgewählt werden.
23. Speichermedium, das ein Programm speichert, das von einem Computer ausgeführt werden kann, das folgendes aufweist:
ein Zuführmodul, das Musikdaten zuführt, die Ereignisdaten enthalten und Zeittaktdaten, die für den Zeittakt des Auftretens der Ereignisdaten kennzeichnend sind;
ein Empfangsmodul, das ein Klangfarbenauswählereignis, das in den Musikdaten enthalten ist, vor der Wiedergabe der zugeführten Musikdaten empfängt;
ein Wiedergabemodul, das die Musikdaten durch schrittweises Auslesen von jeweiligen Daten aus den Musikdaten wiedergibt, so dass ein Ereignis, das von einem entsprechenden dieser Ereignisdaten bezeichnet wird, in dem Zeittakt auftritt, der durch die Zeittaktdaten bezeichnet ist; und gekennzeichnet durch
ein Ladebefehlereigniserzeugungsmodul, das ein Ladebefehlereignis erzeugt, um einen Befehl zu generieren, dass die Klangfarbendaten vor dem Auftreten des Klangfarbenauswählereignises geladen werden, während gelieferte Musikdaten wiedergegeben werden;
ein Übertragungsmodul, das die Klangfarbendaten von einer zweiten Speichervorrichtung, in welcher Klangfarbendaten gespeichert werden, die durch das Klangfarbenauswählereignis ausgewählt werden, auf eine erste Speichervorrichtung überträgt, um die ausgewählten Klangfarbendaten dort zu speichern, im Ansprechen auf den Befehl, die Klangfarbendaten zu laden; und
ein Musiktonerzeugungsmodul, das einen Musikton im Ansprechen auf das Auftreten des Ereignisses mittels der Klangfarbendaten, die in der ersten Speichervorrichtung gespeichert sind, erzeugt.
24. Speichermedium nach Anspruch 15, das außerdem folgendes aufweist:
ein Herausnahmebefehlerzeugungsmodul, das ein Herausnahmebefehlereignis erzeugt, um einen Befehl zu erzeugen, dass Klangfarbendaten herausgenommen werden, die nicht verwendet werden, während einer Wiedergabe der zugeführten Musikdaten, und
ein Löschmodul, das die bezeichneten Klangfarbendaten aus den ersten Speichermitteln im Ansprechen auf den Befehl, die Klangfarbendaten herauszunehmen, löscht.
DE69704528T 1996-08-30 1997-08-28 Verfahren und Vorrichtung zur Erzeugung von Musiktönen, zur Bearbeitung und Wiedergabe von Musikdaten mit Hilfe von Speichermitteln Expired - Lifetime DE69704528T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP24694396 1996-08-30
JP24924096 1996-08-30

Publications (2)

Publication Number Publication Date
DE69704528D1 DE69704528D1 (de) 2001-05-17
DE69704528T2 true DE69704528T2 (de) 2002-03-28

Family

ID=26537988

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69704528T Expired - Lifetime DE69704528T2 (de) 1996-08-30 1997-08-28 Verfahren und Vorrichtung zur Erzeugung von Musiktönen, zur Bearbeitung und Wiedergabe von Musikdaten mit Hilfe von Speichermitteln

Country Status (4)

Country Link
US (1) US5850050A (de)
EP (1) EP0827133B1 (de)
DE (1) DE69704528T2 (de)
SG (1) SG60113A1 (de)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3806263B2 (ja) * 1998-07-16 2006-08-09 ヤマハ株式会社 楽音合成装置および記憶媒体
JP3726712B2 (ja) * 2001-06-13 2005-12-14 ヤマハ株式会社 演奏設定情報の授受が可能な電子音楽装置及びサーバ装置、並びに、演奏設定情報授受方法及びプログラム
TWI227010B (en) * 2003-05-23 2005-01-21 Mediatek Inc Wavetable audio synthesis system
JP2006267491A (ja) * 2005-03-23 2006-10-05 Yamaha Corp 自動演奏データ再生装置およびその制御方法を実現するためのプログラム
JP4186941B2 (ja) 2005-03-23 2008-11-26 ヤマハ株式会社 自動演奏データ編集・再生装置およびその制御方法を実現するためのプログラム
EP1855268A1 (de) * 2006-05-08 2007-11-14 Infineon Tehnologies AG Wiedergabe von Midi-Dateien mit geringem Speicherbedarf
JP4544278B2 (ja) * 2007-07-18 2010-09-15 ヤマハ株式会社 波形生成システム
JP4475323B2 (ja) * 2007-12-14 2010-06-09 カシオ計算機株式会社 楽音発生装置、及びプログラム
WO2012043839A1 (ja) * 2010-10-01 2012-04-05 古河電気工業株式会社 絶縁電線
JP2014092722A (ja) * 2012-11-05 2014-05-19 Yamaha Corp 音発生装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5020410A (en) * 1988-11-24 1991-06-04 Casio Computer Co., Ltd. Sound generation package and an electronic musical instrument connectable thereto
US5119711A (en) * 1990-11-01 1992-06-09 International Business Machines Corporation Midi file translation
JP3006923B2 (ja) * 1991-08-07 2000-02-07 ヤマハ株式会社 電子楽器
JP2712954B2 (ja) * 1991-11-20 1998-02-16 ヤマハ株式会社 電子楽器
JPH07146679A (ja) * 1992-11-13 1995-06-06 Internatl Business Mach Corp <Ibm> 音声データを変換する方法及びシステム
US5376752A (en) * 1993-02-10 1994-12-27 Korg, Inc. Open architecture music synthesizer with dynamic voice allocation
EP0715295B1 (de) * 1994-11-29 2000-01-19 Yamaha Corporation Automatische Vorrichtung zum Abspielen von Musik mit Ersetzung eines fehlenden Musters durch ein verfügbares Muster
US5898118A (en) * 1995-03-03 1999-04-27 Yamaha Corporation Computerized music apparatus composed of compatible software modules
US5763800A (en) * 1995-08-14 1998-06-09 Creative Labs, Inc. Method and apparatus for formatting digital audio data

Also Published As

Publication number Publication date
SG60113A1 (en) 1999-02-22
US5850050A (en) 1998-12-15
EP0827133A1 (de) 1998-03-04
DE69704528D1 (de) 2001-05-17
EP0827133B1 (de) 2001-04-11

Similar Documents

Publication Publication Date Title
DE69936801T2 (de) Aufzeichnungsvorrichtung
DE69934156T2 (de) Aufzeichnungs- und Wiedergabegerät und -verfahren
DE69732013T2 (de) Verfahren zur Erweiterung der Fähigkeit einer Musikvorrichtung durch ein Netzwerk
DE69608281T2 (de) Compact disk plattenwechsler mit verwendung von diskdatabasis
DE60035320T2 (de) Kommunikationssystem und Verfahren, Kommunikationsgerät und Verfahren
DE3528719C2 (de)
DE69625990T2 (de) Verarbeitungssystem für Musikinformation
DE69514536T2 (de) Häusliches aufnahme- und wiedergabegerät für numerische, audiovisuelle informationen
DE69522854T2 (de) Verfahren und Gerät zum Editieren von Multimediadaten
DE69711518T2 (de) Auf Software basierendes Tonquellensystem und Verfahren zur Erzeugung von akustischen Wellenformdaten
DE69127048T2 (de) Verfahren und Vorrichtung zur Editierung von MIDI-Dateien
DE69625693T2 (de) Verfahren und vorrichtung zur formatierung von digitalen, elektrischen daten
DE10049841B4 (de) Aufzeichnungs- und Wiedergabegerät und Verfahren, Übertragungs-/Empfangsgerät und Übertragungs-/Empfangsverfahren
DE60029683T2 (de) Aufzeichnungsgerät, Wiedergabegerät, Aufzeichnungsverfahren, und Wiedergabeverfahren
DE69608292T2 (de) Audio-synthesizer
DE69704528T2 (de) Verfahren und Vorrichtung zur Erzeugung von Musiktönen, zur Bearbeitung und Wiedergabe von Musikdaten mit Hilfe von Speichermitteln
DE69724919T2 (de) Verfahren zur Erzeugung von Musiktönen
DE102004042553A1 (de) Firmware-Aktualisierungsverfahren und Anwendung unter Verwendung desselben
DE10053732A1 (de) Gerät und Verfahren zum Schreiben und Wiedergeben von Daten
DE69517294T2 (de) Vorrichtung zur automatischen Aufführung
DE69611874T2 (de) Verfahren und Vorrichtung zur Musiktonerzeugung
DE69923752T2 (de) Vorrichtung zum Senden und Empfängen von Musikdaten und Speicherungsmittel
DE69615240T2 (de) Musikrechner mit Klang-Emulation
DE69613049T2 (de) Verfahren und Vorrichtung zur auf Software basierten Tonwellenformerzeugung
DE60118083T2 (de) Speicherkarte mit einer Funktion zur Aufführung von Musik

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