DE69634271T2 - Durch Rechner gesteuertes Musiksystem mit Programmen und Schaltungen als Tonerzeuger - Google Patents

Durch Rechner gesteuertes Musiksystem mit Programmen und Schaltungen als Tonerzeuger Download PDF

Info

Publication number
DE69634271T2
DE69634271T2 DE69634271T DE69634271T DE69634271T2 DE 69634271 T2 DE69634271 T2 DE 69634271T2 DE 69634271 T DE69634271 T DE 69634271T DE 69634271 T DE69634271 T DE 69634271T DE 69634271 T2 DE69634271 T2 DE 69634271T2
Authority
DE
Germany
Prior art keywords
waveform
mode
cpu
central processor
processor
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 - Fee Related
Application number
DE69634271T
Other languages
English (en)
Other versions
DE69634271D1 (de
Inventor
Masatada Hamamatsu-shi Shizuoka-ken Wachi
Hideo Hamamatsu-shi Shizuoka-ken Yamada
Masashi Hamamatsu-shi Shizuoka-ken Hirano
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 DE69634271D1 publication Critical patent/DE69634271D1/de
Publication of DE69634271T2 publication Critical patent/DE69634271T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related 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/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/004Instruments 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 with one or more auxiliary processor in addition to the main processing unit
    • 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
    • G10H2230/00General physical, ergonomic or hardware implementation of electrophonic musical tools or instruments, e.g. shape or architecture
    • G10H2230/025Computing or signal processing architecture features
    • G10H2230/041Processor load management, i.e. adaptation or optimization of computational load or data throughput in computationally intensive musical processes to avoid overload artifacts, e.g. by deliberately suppressing less audible or less relevant tones or decreasing their complexity
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2240/00Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
    • G10H2240/171Transmission of musical instrument data, control or status information; Transmission, remote access or control of music data for electrophonic musical instruments
    • G10H2240/201Physical layer or hardware aspects of transmission to or from an electrophonic musical instrument, e.g. voltage levels, bit streams, code words or symbols over a physical link connecting network nodes or instruments
    • G10H2240/241Telephone transmission, i.e. using twisted pair telephone lines or any type of telephone network
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2240/00Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
    • G10H2240/171Transmission of musical instrument data, control or status information; Transmission, remote access or control of music data for electrophonic musical instruments
    • G10H2240/201Physical layer or hardware aspects of transmission to or from an electrophonic musical instrument, e.g. voltage levels, bit streams, code words or symbols over a physical link connecting network nodes or instruments
    • G10H2240/271Serial transmission according to any one of RS-232 standards for serial binary single-ended data and control signals between a DTE and a DCE
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2240/00Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
    • G10H2240/171Transmission of musical instrument data, control or status information; Transmission, remote access or control of music data for electrophonic musical instruments
    • G10H2240/281Protocol or standard connector for transmission of analog or digital data to or from an electrophonic musical instrument
    • G10H2240/291SCSI, i.e. Small Computer System Interface
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2240/00Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
    • G10H2240/171Transmission of musical instrument data, control or status information; Transmission, remote access or control of music data for electrophonic musical instruments
    • G10H2240/281Protocol or standard connector for transmission of analog or digital data to or from an electrophonic musical instrument
    • G10H2240/295Packet switched network, e.g. token ring
    • G10H2240/305Internet or TCP/IP protocol use for any electrophonic musical instrument data or musical parameter transmission purposes
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2240/00Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
    • G10H2240/171Transmission of musical instrument data, control or status information; Transmission, remote access or control of music data for electrophonic musical instruments
    • G10H2240/281Protocol or standard connector for transmission of analog or digital data to or from an electrophonic musical instrument
    • G10H2240/311MIDI transmission
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2240/00Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
    • G10H2240/171Transmission of musical instrument data, control or status information; Transmission, remote access or control of music data for electrophonic musical instruments
    • G10H2240/281Protocol or standard connector for transmission of analog or digital data to or from an electrophonic musical instrument
    • G10H2240/315Firewire, i.e. transmission according to IEEE1394
    • 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/471General musical sound synthesis principles, i.e. sound category-independent synthesis methods
    • G10H2250/511Physical modelling or real-time simulation of the acoustomechanical behaviour of acoustic musical instruments using, e.g. waveguides or looped delay lines

Description

  • HINTERGRUND DER ERFINDUNG
  • Die vorliegende Erfindung bezieht sich auf einen Musiktongenerator, der unter Verwendung einer CPU in Computer-Anwendungssystemen, wie beispielsweise elektronischen Spielgeräten, Netzwerk-Karaokevorrichtungen, Personal-Computern usw., verwendet wird, und im besonderen bezieht sie sich auf einen Musiktongenerator, der in der Lage ist, verschiedene Musikklänge in Entsprechung zu einer Spielinformation zu erzeugen.
  • Herkömmlicherweise kann in einer Vorrichtung, wie beispielsweise einem Personal-Computer, ein Musikton mit Hilfe eines spezialisierten Hardware-Moduls, wie beispielsweise einem Tonquellen LSI und einer Tonquellen-Platine, und durch Ausführen von Programmen zur Steuerung des installierten Tonquellengeräts wiedergegeben werden. Neuerdings ist das Spiel von einer CPU in einem Personal-Computer bemerkenswert verbessert, so dass man den Musikton durch die CPU anstelle des spezialisierten Hardware-Moduls erzeugen kann, was zum Beispiel aus US-A-5 376 752 zu ersehen ist. Diese Art der Musiktonerzeugung wird als "Software-Tonquelle" im Gegensatz zu "Hardware-Tonquelle" bezeichnet, die Musiktöne durch eine spezielle Hardware erzeugt. Die CPU berechnet Wellenformdaten eines Musiktons entsprechend einem speziellen Programm. Die Qualität des durch die Software-Tonquelle erzeugten Tons hängt von der Leistungsfähigkeit der das Programm durchführenden CPU ab. Wenn die CPU eine hohe Leistungsfähigkeit hat, können die Wellenformdaten mit hoher Geschwindigkeit berechnet werden, so dass eine Abtastfrequenz der Wellenformdaten stark angehoben werden kann, um eine Musiktonerzeugung mit hoher Qualität zu realisieren. Wenn die Leistungsfähigkeit der CPU jedoch gering ist, ist es schwierig, die Daten mit hoher Geschwindigkeit zu berechnen, so dass die Abtastfrequenz herabgesetzt werden muß. Dies führt unvermeidlich zu einer schlechten Qualität der wiedergegebenen Musiktöne.
  • Von System zu System gibt es ein breites Variationsspektrum bei der Konfiguration der Anwendungssysteme, wie beispielsweise dem Personal-Computer, im bezug auf die Installation von optionalen Geräten. Im allgemeinen weist das optionale Gerät eine Festplatte, eine Videokarte etc. im weitersten Sinn auf. Bei der vorliegenden Erfindung bedeutet das, dass das optionale Gerät, das in die Musiktonerzeugung involviert ist, ein extern verbindbares Gerät ist. Es ist anzumerken, dass die Verarbeitungs-Fähigkeit der CPU bei verschiedenen System-Konfigurationen unterschiedlich sein kann. Ferner kann in einer Situation, in der ein Anwendungsprogramm zum Erzeugen eines Tons und ein weiteres Anwendungsprogramm zum Ausführen anderer Aufgaben parallel simultan aufgerufen werden, die Belastung der CPU abhängig von dem Laufstatus der Programme und dem Status von Aufgaben, die aktuell in dem System ausgeführt werden, variieren. Auf diese Weise kann die effektive Verarbeitungsleistung der CPU in dem gleichen System variieren. Der Anwender muß daher eine Grundeinstellung für die Tonerzeugung jedesmal neu einrichten, wenn ein Umfeld des Systems geändert wird, und das ist sehr arbeitsaufwendig. In einem solchen System kann der Anwender nicht erkennen, ob der Ton korrekt in einer derzeitigen Konfigurationseinstellung erzeugt wird, bevor ein Fehlen und Auslassen eines Ton bei der aktuellen Wiedergabe des Tons auftritt. Mit anderen Worten, es ist unmöglich, abzuschätzen, ob die Systemkonfiguration vernünftig ist, bevor der Ton aktuell wiedergegeben wird. Wie hoch auch immer die CPU-Leistung ist, kann zudem eine externe Tonerzeugungs-Hardware in vielen Fällen entsprechend dem Wunsch des Anwenders im Praxisgebrauch der Hardware-Resourcen in solchen Fällen verwendet werden, in denen die volle Anwendung der Hardware-Tonquelle das Problem hervorrufen kann, dass es unmöglich ist, einen Ton zu erzeugen, der die Grenze der Fähigkeit der Tonerzeugungs-Hardware übersteigt. Eine Vielfältigkeit von Tönen kann nicht wiedergegeben werden. Die Anzahl von Timbrearten kann nicht erhöht werden, sogar wenn eine ausreichende Verarbeitungsleistung in der CPU vorhanden ist.
  • KERN DER ERFINDUNG
  • Es ist daher Zweck der vorliegenden Erfindung, die vorher beschriebenen Probleme zu lösen und einen Musiktongenerator bereitzustellen, der verschiedene Musiktöne mit konstant exzellenter Qualität der Töne erzeugen kann.
  • Gemäß der Erfindung weist eine Musikvorrichtung mit einem Zentralprozessor zum Erzeugen eines Musiktons in Entsprechung zu einer Spielinformation folgendes auf: Mittel zum Epfangen der Spielinformation; einen Wellenformgenerator, der aus einem Software-Programm besteht, das durch den Zentralprozessor in einem variablen Betriebsmodus abhängig von einer Rechenkapazität des Zentralprozessors zum Erzeugen einer digitalen Wellenform ausführbar ist; Mittel zum Ändern des variablen Betriebsmodus des Wellenformgenerators entsprechend der Berechnungskapazität, die für den Betrieb des Wellenformgenerators verfügbar ist; wobei der Zentralprozessor den Wellenformgenerator in einem variablen Betriebsmodus, wie er geändert ist, zum Erzeugen der digitalen Wellenform entsprechend der empfangenen Spielinformation betreibt; und Mittel zum Erzeugen des Musiktons auf der Grundlage der erzeugten digitalen Wellenform.
  • Der Wellenformgenerator ist speziell in dem variablen Betriebsmodus mit einer variablen Betriebsgeschwindigkeit betreibbar, um eine digitale Wellenform durch sukzessives Berechnen von Abtastwerten der digitalen Wellenform zu erzeugen, und wird provisorisch betrieben, um eine Probeerzeugung einer digitalen Modell-Wellenform auszuführen, während die Rechenkapazität des Zentralprozessors hinsichtlich der Betriebsgeschwindigkeit gemessen wird, bei welcher die Probeerzeugung ausgeführt wird, wobei die Änderungsmittel Mittel zum Bestimmen des variablen Betriebsmodus in der Form einer Abtastfrequenz, die mit der gemessenen Betriebsgeschwindigkeit vergleichbar ist, aufweisen und der Zentralprozessor den Wellenformgenerator aktuell betreibt, um diesen zu aktivieren, Abtastwerte der digitalen Wellenform mit der ermittelten Abtastfrequenz sukzessiv zu berechnen.
  • Die Musikvorrichtung kann Mittel zum Feststellen der Rechenkapazität aufweisen, die für einen Betrieb des Wellenformgenerators verfügbar ist, durch Feststellen, ob ein Zusatzprozessor verfügbar ist oder nicht, um den Zentralprozessor beim Berechnen zum Ausführen des Software-Programms zu unterstützen. Der Zusatzprozessor kann auch einen Ko-Prozessor des Zentralprozessors aufweisen.
  • Die erfindungsgemäße Musikvorrichtung kann Mittel zum Feststellen der Rechenkapazität, die zum Betrieben des Wellenformgenerators verfügbar ist, durch provisorisches Messen der Rechenkapazität des Zentralprozessors, bevor der Zentralprozessor das Software-Programm zum Betreiben des Wellenformgenerators ausführt, aufweisen.
  • Die Änderungsmittel können Mittel zum Ändern des variablen Betriebsmodus aufweisen, so dass ein erster Algorithmus, der ein Verfahren des Erzeugens der digitalen Wellenform definiert, in einen zweiten Algorithmus geändert wird, der einfacher als der erste Algorithmus ist, wenn die Rechenkapazität des Zentralprozessors abnimmt.
  • Die Änderungsmittel können Mittel zum Ändern des variablen Betriebsmodus in Entsprechung zu der Rechenkapazität des Zentralprozessors in der Form einer variable Abtastfrequenz, bei welcher der Wellenformgenerator Abtastwerte der digitalen Wellenform variabel erzeugt, aufweisen.
  • Die Änderungsmittel können Mittel zum Ändern des variablen Betriebsmodus aufweisen, so dass ein Satz von Rechenschritten, die durch den Zentralprozessor zum Erzeugen der digitalen Wellenform durchgeführt werden, in Entsprechung zu der Rechenkapazität des Zentralprozessors geändert wird.
  • Die Erfindung bezieht sich auch auf ein Verfahren zum Erzeugen eines Musiktons durch einen Zentralprozessor in Entsprechung zu einer Spielinformation. Gemäß der Erfindung weist das Verfahren die folgenden Schritte auf: Empfangen der Spielinformation; Vorbereiten eines Wellenformgenerators, der aus einem Software-Programm besteht, das durch den Zentralprozessor in einem variablen Betriebsmodus abhängig von einer Rechenkapazität des Zentralprozessors ausführbar ist, um eine digitale Wellenform zu erzeugen; Ändern des variablen Betriebsmodus des Wellenformgenerators entsprechend der Berechnungskapazität, die für das Betreiben des Wellenformgenerators verfügbar ist; Betreiben des Wellenformgenerators in dem variablen Betriebsmodus, wie er geändert ist, um die digitale Wellenform entsprechend der empfangenen Sielinformation zu erzeugen; und Erzeugen des Musiktons auf der Grundlage der erzeugten digitalen Wellenform. Ferner bezieht sich die Erfindung auf ein maschinenlesbares Medium zur Verwendung in einer Musikvorrichtung mit einem Zentralprozessor zum Erzeugen eines Musiktons in Entsprechung zu einer Spielinformation. Das Medium enthält durch den zentralen Prozessor ausführbare Befehle, die Musikvorrichtung zum Durchführen eines Verfahrens zu veranlassen, das die folgenden Schritte aufweist: Empfangen der Spielinformation; Vorbereiten eines Wellenformgenerators, der aus einem Software-Programm besteht, das durch den Zentralprozessor in einem variablen Betriebsmodus abhängig von einer Rechenkapazität des Zentralprozessors ausführbar ist, um eine digitale Wellenform zu erzeugen; Ändern des variablen Betriebsmodus des Wellenformgenerators entsprechend der Berechnungskapazität, die für das Betreiben des Wellenformgenerators verfügbar ist; Betreiben des Wellenformgenerators in dem variablen Betriebsmodus, wie er geändert ist, um die digitale Wellenform entsprechend der empfangenen Sielinformation zu erzeugen; und Erzeugen des Musiktons auf der Grundlage der erzeugten digitalen Wellenform.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein schematisches Blockdiagramm, welches eine erste Ausführungsform des erfindungsgemäßen Musikklanggenerators veranschaulicht.
  • 2 ist ein schematisches Blockdiagramm, welches eine Variante der in 1 gezeigten Ausführungsform veranschaulicht.
  • 3 ist ein schematisches Blockdiagramm, welches eine weitere Variante der in 1 gezeigten Ausführungsform veranschaulicht.
  • 4A ist ein schematisches Blockdiagramm, welches eine Anordnung darstellt, in welcher eine Klangquellenvorrichtung und deren Peripheriegeräte miteinander integriert sind.
  • 4B ist ein schematisches Blockdiagramm, welches eine Anordnung darstellt, in welcher ein DSP und dessen Peripheriegeräte miteinander integriert sind.
  • 5 veranschaulicht Betriebsweisen der ersten erfindungsgemäßen Ausführungsform.
  • 6 ist ein Speicherplan eines RAM, das in der ersten Ausführungsform vorgesehen ist.
  • 7 ist ein Flußdiagramm, das den gesamten in der ersten Ausführungsform ausgeführten Prozeß veranschaulicht.
  • 8 ist ein Flußdiagramm, das ein Wellenformerzeugungsprogramm veranschaulicht, welches in der ersten Ausführungsform ausgeführt wird.
  • 9 ist ein Flußdiagramm, das ein Wellenformerzeugungsprogramm veranschaulicht, welches in der ersten Ausführungsform ausgeführt wird.
  • 10 ist ein Flußdiagramm, das ein Wellenformerzeugungsprogramm veranschaulicht, welches in der ersten Ausführungsform ausgeführt wird.
  • 11 ist ein Flußdiagramm, das ein Wellenformerzeugungsprogramm veranschaulicht, welches in der ersten Ausführungsform ausgeführt wird.
  • 12 ist ein Flußdiagramm, das den Prozeß des Ladens eines Wellenformabtastwerts veranschaulicht, der in dem Wellenformerzeugungsprogramm ausgeführt wird.
  • 13 ist ein Flußdiagramm, das den Prozeß der Wellenformabtastwertberechnung veranschaulicht, der in dem Wellenformerzeugungsprogramm ausgeführt wird.
  • 14 ist ein Flußdiagramm, das die von der CPU ausgeführte Wellenformabtastwertberechnung in dem Wellenformerzeugungsprogramm veranschaulicht.
  • 15 ist ein Flußdiagramm, das den Erzeugungsprozeß durch eine ausgewählte Hardware in dem Wellenformerzeugungsprogramm veranschaulicht.
  • 16 ist ein Flußdiagramm, das den Erzeugungsprozeß durch die ausgewählte Hardware in dem Wellenformerzeugungsprogramm veranschaulicht.
  • 17 ist ein Flußdiagramm, das einen Zeitgeberprozeß in dem Wellenformerzeugungsprogramm veranschaulicht.
  • 18 ist ein Flußdiagramm, das einen Erzeugungsprozeß durch eine ausgewählte Hardware in einer zweiten Ausführungsform veranschaulicht.
  • 19 ist ein Flußdiagramm, das einen Erzeugungsprozeß durch eine ausgewählte Hardware in einer dritten Ausführungsform veranschaulicht.
  • 20 ist ein Flußdiagramm, das einen Erzeugungsprozeß durch eine ausgewählte Hardware in einer vierten Ausführungsform veranschaulicht.
  • 21 ist eine schematisches Blockdiagramm, das eine auf die vorliegende Erfindung angewandte Variante veranschaulicht.
  • 22 ist ein schematisches Blockdiagramm, das eine weitere auf die vorliegende Erfindung angewandte Variante veranschaulicht.
  • 23 ist ein schematisches Blockdiagramm, das eine weitere auf die vorliegende Erfindung angewandte Variante veranschaulicht.
  • 24 ist ein schematisches Blockdiagramm, das eine weitere auf die vorliegende Erfindung angewandte Variante veranschaulicht.
  • 25 ist ein schematische Blockdiagramm, das eine zusätzliche Ausführungsform des erfindungsgemäßen Musikklangerzeugungsgeräts zeigt.
  • DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
  • Einzelheiten von Ausführungsformen der vorliegenden Erfindung werden untenstehend unter Bezugnahme auf die Zeichnungen beschrieben. 1 ist ein schematisches Blockdiagramm, das eine erste Ausführungsform eines erfindungsgemäßen Musikklanggenerators zeigt. In 1 bezeichnet Bezugszeichen 10 eine Zentralprozessoreinheit (CPU), die über einen Daten-Bus 12 gemäß einem Grundprogramm, das in einem Nurlesespeicher (ROM) 11 gespeichert ist, verschiedene Einheiten steuert, die ein Computersystem bilden. Bezugszeichen 13 bezeichnet einen Schreib-/Lesespeicher (RAM), der temporär verschiedene Register, Flags und Daten speichert. Bezugszeichen 14 bezeichnet einen Eingabe/Ausgabe-Anschluß des Multi-Typs, der MIDI-Information, Tasteninformation, die bei Tastenbetätigung einer Tastatur (nicht dargestellt) bereitgestellt wird, und andere verschiedenartige Information über verschiedene Schnittstellen I/F empfängt und übermittelt. Der Multi-Typ Eingabe/Ausgabe-Anschluß 14 empfängt Spielinformation in Form der MIDI-Information oder der Tasteninformation KBD. Bei dem vorliegenden Ausführungsbeispiel wir angenommen, daß die Spielinformation von einem Programm für automatisches Spiel generiert wird. In diesem Fall bedeutet Programm für automatisches Spiel, daß die Spielinformation in zeitlicher Reihenfolge von einem bestimmten automatischen Ablauf-Programm generiert wird. Somit funktioniert die in 1 gezeigte Anordnung nicht nur als Musikklanggenerator sondern auch als Ablaufsteuerung. Der Typ der Schnittstellen kann ein serieller oder paralleler Anschluß sein, RS-232C, RS-422 und so weiter. Insbesondere im Falle von RS-232C kommuniziert das Computersystem mit einem Host durch ein öffentliches Telefonnetz oder ein Modem (nicht dargestellt). Somit kann die Eingabequelle der Spielinformation die Tatstatur sein, für den Fall, daß die Tatstatur-Betätigungsinformation bereitgestellt wird, oder eine externe, über die Schnittstellen angeschlossene Vorrichtung, für den Fall, daß die MIDI-information bereitgestellt wird, oder ein von der CPU ausgeführtes Ablauf-Programm, für den Fall, daß die automatische Spielinformation bereitgestellt wird. Bezugszeichen 15 bezeichnet eine Speichereinheit, die aus einem Diskettenlaufwerk (FD) oder Festplattenlaufwerk (HD) besteht. Weiter speichert die Speichereinheit 15 Anwendungsprogramme und Daten. Bezugszeichen 16 bezeichnet eine Anzeige die aus einer Kathodenstrahlröhre (CRT) oder einer Flüssigkristallanzeige (LCD) besteht. Die Anzeige 16 stellt gesteuert von der CPU 10 verschiedene Daten dar. Bezugszeichen 17 bezeichnet einen optionalen Koprozessor, der Fließkommaberechnung anstelle der CPU 10 ausführt. Der Rest der Datenverarbeitung wird von der CPU 10 ausgeführt. Bezugszeichen 18 bezeichnet einen Zeitgeber, der bei der später beschriebenen Zeitgeberverarbeitung die Zeit zählt. Bezugszeichen 19 bezeichnet eine direkte Speicherzugriffssteuerung (DMAC), die Daten zu und von dem RAM 20 direkt, ohne Steuerung der CPU überträgt. Heutzutage können der Koprozessor 17, Zeitgeber 18 und DMAC zusammen mit der CPU 10 auf einem einzigen Chip untergebracht sein, obwohl diese in der vorliegenden Ausführungsform diskrete Bauteile sind. Bezugszeichen 20 bezeichnet ein RAM, das hinsichtlich seines Hardware-Aufbaus einen Aufbau ähnlich dem erstgenannten RAM 13 aufweist. Allerdings wird das RAM 13 als Arbeitsbereich für die Programmausführung durch die CPU verwendet, während das andere RAM 20 ein Wellenformspeicher ist, der temporär eine Welllenform speichert, die durch Wellendaten dargestellt wird. Bezugszeichen 21 bezeichnet einen digitalen Signalprozessor (DSP), zur Verwendung in der digitalen Signalverarbeitung, die zur Musikklangerzeugung notwendig ist. Bezugszeichen 22 bezeichnet eine optionale Klangquelle, die einen ersten Wellenformgenerator bestehend aus einem hochintegrierten Ein-Chip-Baustein (LSI) zur Erzeugung einer Wellenform des Musikklangs gemäß Spielinformation aufweist. Bezugszeichen 23 bezeichnet einen Digital-Analog-Wandler (D/A-Wandler), der aktiviert wird, wenn ein Flag DACENBL auf "1" gesetzt wird. Vor dem D/A-Wandler ist normalerweise ein FIFO-Datenpuffer (nicht dargestellt) vorgesehen. Die in dem FIFO-Puffer gespeicherten Wellendaten werden mit einer Abtastfrequenz fs ausgelesen. Nach dem D/A-Wandler 23 ist normalerweise ein Tiefpassfilter (LPF, nicht dargestellt) vorgesehen. Eine Abschneidefrequenz des LPF wird auf etwa die Hälfte der Abtastfrequenz fs gesetzt. Das LPF ist ein Ausgabebauteil des Musikklanggenerators. Der Musikklang wird durch einen Verstärker und einen Lautsprecher wiedergegeben. Bezugszeichen 24 bezeichnet ein RAM, das hinsichtlich seines Hardware-Aufbaus ähnlich wie die RAMs 13 oder 20 aufgebaut ist. Das RAM 24 wird als Arbeitsspeicher für die Arithmetikverarbeitung des DSP 21 verwendet. Bezugszeichen 25 bezeichnet einen Wellenformspeicher, der Wellendaten von grundlegenden oder typischen Klangfarben in dem Fall speichert, daß die Klangquelle 22 einen Musikklang gemäß der Wellenformspeicherauslesemethode erzeugt. Die Rolle des Wellenformspeichers 25 und des RAM 20 ist leicht verschieden dergestalt, daß der Wellenformspeicher 25 hauptsächlich von der Klangquelle 22 verwendet wird, und als Nurlesespeicher (ROM) oder Tochterplatine vorgesehen ist, während das RAM 20 von der CPU 10 als Wellenformspeicher verwendet wird.
  • Allgemein gilt für die obengeschilderte Anordnung, daß einige Bauteile, wie etwa Koprozessor 17, DSP 21, Klangquelle 22, RAM 24 und Wellenformspeicher 25 häufig optional gemäß der Wahl des Benutzers installiert sind. Wenn das RAM 24 nicht installiert ist, wird ein bestimmter Bereich des RAM 13 dem DSP 21 zugewiesen. Der Wellenformspeicher 25 mag nicht installiert sein, falls die Klangquelle 22 ein Frequenzmodulationserzeugungsbauteil (FM-Synthesizer) ist, das einen Musikklang durch reine Berechnung von Wellendaten erzeugt. Die CPU 10 erkennt, ob diese obtionalen Bauteile installiert sind, oder nicht. In der vorliegenden Ausführungsform erkennt die CPU 10 das Vorhandensein optionaler Bauteile gemäß eines der unten aufgeführten Verfahren:
    • (1) Eine Anschlußadresse ist reserviert für eine entsprechende Verbindung zu einem Bauteil. Die CPU 10 greift auf diese Anschlußadresse sofort nach dem Einschalten oder Zurücksetzen des Systems zu. Wenn die CPU 10 ein vorherbestimmtes Zeichen von der Anschlußadresse detektiert, erkennt sie das Vorhandensein des zugehörigen Bauteils.
    • (2) Ein Leitungsbrückenschalter (Jumper) ist vorgesehen um die Installation eines Bauteils anzuzeigen. Der Benutzer schaltet den Schalter zu dem Zeitpunkt ein, wenn er das entsprechende Bauteil installiert.
    • (3) Falls das System als Personalcomputer implementiert ist, werden die optionalen Bauteile in einer Konfigurationsdatei als entsprechende Gerätetreiber oder in einer Stapeldatei (Batch-File) registriert. Die Systemsoftware erkennt die Bauteile mittels dieser Dateien.
  • All dies optionalen Bauteile werden in der vorliegenden Ausführungsform voll installiert und verbunden mit dem Datenbus 12. Allerdings ist der Verbindungsanschluß nicht auf den Datenbus beschränkt. Die optionalen Bauteile können auch über serielle/parallele Schnittstellen angeschlossen sein, durch welche jedes Bauteil gegenseitige Datenübertragung mit der CPU 10 ausführt. In anderen Worten kann jede Art von Schnittstelle für die optionalen Bauteile vorgesehen sein, sofern das Bauteil mit der CPU über die Schnittstelle kommunizieren kann. Zum Beispiel kann die Klangquelle 22 tatsächlich als Klangquellenplatine 41 oder eine Erweiterungsplatine, wie in 2 gezeigt, vorgesehen sein. In diesem Fall wird die Platine 41 in einen Steckplatz auf der Hauptplatine oder der Mutterplatine eingeführt. Die Klangquellenplatine 41 kommuniziert mit der CPU 10 durch den Bus 12, die Schnittstellensteuerung 26 und die Erweiterungsschnittstelle 27. Der Wellenformspeicher 25 kann in dieser Anordnung mit einem Sockel auf der Klangquellenplatine 41 installiert sein. Zusätzlich kann die Erweiterungsschnittstelle 27 mit einem zusätzlichen D/A-Wandler 28 ausgestattet sein. Ansonsten kann die Klangquelle 22 in Gestalt eines diskreten hochintegrierten Chips vorgesehen oder auf der Mutterplatine angebracht sein. Der Chip oder die Tochterplatine ist mittels eines auf der Mutterplatine oder der Erweiterungsplatine vorgesehenen Sockels installiert. Ähnlich kann der DSP 21 in Form einer DSP-Platine 42 vorgesehen sein. In diesem Fall kommuniziert der DSP 21 mit der CPU 10 über die Erweiterungsschnittstelle 27. Ansonsten kann der DSP 21 wie die Klangquelle 21 in Gestalt eines diskreten hochintegrierten Chips vorgesehen sein. Die Eingabedaten werden durch den Bus 12 in 1 zum D/A-Wandler 23 übertragen. Allerdings können die Daten direkt oder über die Erweiterungsschnittstelle verteilt werden, wenn der DSP 21 oder die Klangquelle 22 über einen Sockel oder eine Erweiterungsschnittstelle installiert sind.
  • Wie in 3 gezeigt, kann ein erster Wellenformgenerator oder ein erstes Klangquellensystem 32, welches aus der Klangquelle 22 oder dem DSP 21 besteht, an einen lokalen Bus 33 angeschlossen sein, durch den die Daten zu und von dem CPU-System 30 ohne Verwendung des Datenbus 12 übertragen werden. Das CPU-System 30 setzt sich zusammen aus einer Standardanordnung, welche die CPU 10, das ROM 11 und RAM 13 umfaßt, während die Peripheriegeräte 31 einen Multi-Typ-Ein-/Ausgabeanschluß, die Speichereinheit 15 und verschiedene Schnittstellen und Funktionsteile umfaßt. Das Klangquellensystem 32 besteht in dieser Ausführungsform insbesondere aus der diskreten Klangquelle 22 oder dem DSP 21. Allgemein sind jedoch jegliche Funktionselemente für die Musikklangerzeugung an dem Klangquellensystem 32 beteiligt. Das Klangquellensystem 32 kann in das CPU-System 30 integriert oder von diesem getrennt sein. Weiter kann die Verbindungsschnittstelle entweder CPU-seitig oder klangquellenseitig vorgesehen sein. Es kann nämlich jegliche Verbindungsschnittstelle gemäß dem Systemaufbau der Erfindung eingesetzt werden. Zusätzlich zu dem lokalen Bus kann jede Art von Kombination aus Schnittstelle und Protokoll, wie MIDI, RS 232C/422, IEEE P-1394 oder SCSI eingesetzt werden. Auch kann ein Kommunikationsnetzwerk, wie das öffentliche Telefonnetz, als Datenkommunikationsmedium verwendet werden.
  • In einer in 4A gezeigten Anordnung kann die Klangquelle 22 in einen einzigen Chip oder zusammen mit dem Wellenformspeicher 25 und dem D/A-Wandler 23 auf eine Platine integriert sein. Ähnlich können, wie in 4B gezeigt, der DSP 21, das RAM 24 und der D/A-Wandler 23 zusammen in einen einzigen Chip integriert sein.
  • Die in den 1 bis 3 gezeigten Anordnungen sind nichts weiter als ein Beispiel. Die Art der Geräteverbindung hängt vom individuellen Systemaufbau ab. Weiter können zwei oder mehr der in 1 gezeigten Fuktionselemente in einen einzelnen Chip integriert sein.
  • Erfindungsgemäß erzeugt das wie oben aufgebaute Musikklangerzeugungsgerät eine Wellenform um einen Musikklang gemäß Spielinformation zu erzeugen. Ein erster Wellenformgenerator, wie die Klangquelle 22 oder der DSP 21, ist zur Erzeugung einer Wellenform betreibbar. Ein zweiter Wellenformgenerator, der sich aus der CPU 10 zusammensetzt, ist unabhängig vom ersten Wellenformgenerator zum Erzeugen einer Wellenform betreibbar. Der Ein-/Ausgabeanschluß 14 stellt Spielinformation bereit. Entweder der erste Wellenformgenerator oder der zweite Wellenformgenerator wird gemäß der bereitgestellten Spielinformation zugewiesen. Der Apparat betreibt selektiv den ausgewählten ersten bzw. zweiten Wellenformgenerator um eine Wellenform gemäß der bereitgestellten Spielinformation zu erzeugen. Der D/A-Wandler 23 erzeugt den Musikklang auf Grundlage der erzeugten Wellenform. Der erste Wellenformgenerator weist einen externen Wellenformgenerator auf, der wahlweise an die Vorrichtung anschließbar ist, während der zweite Wellenformgenerator einen internen Wellenformgenerator aufweist, der in die CPU 10 integriert ist. Gelegentlich wird der interne Wellenformgenerator anstelle des externen Wellenformgenerators zugewiesen, wenn selbiger nicht an der Vorrichtung angeschlossen ist, obwohl der externe Wellenformgenerator primär auf bereitgestellte Spielinformation reagieren sollte. Der zweite Wellenformgenerator ist mit der CPU 10 integriert, um einen Hauptteil zu bilden, der aus einem Computer besteht, während der erste Wellenformgenerator alleine ein Zusatzteil bildet, das separat vom Hauptteil und optional in den Computer installierbar ist. Der erste Wellenformgenerator besteht aus einem Hardware-Modul, das von der CPU 10 betrieben wird, während der zweite Wellenformgenerator aus einem Softwaremodul besteht, das in den Computer installierbar ist.
  • Untenstehend werden verschiedene Betriebsmodi der vorliegenden Ausführungsform beschrieben. Die Betriebsmodi des erfindungsgemäßen Musikklanggenerators können, wie in 5 gezeigt, in zwei größere Gruppen eingeteilt werden, von welchen eine das Zuweisen einer Synthetisierungsmethode, und die andere das Zuweisen einer Klangfarbe verschiedenen Wellenformgeneratoren betrifft. Die zwei größeren Gruppen sind unterteilt in näher bestimmte Modi. Zuerst werden untenstehend die Modi beschrieben, welche die Synthetisierungsmethode festlegen.
  • In der vorliegenden Ausführungsform wird die Klangerzeugung ausgeführt durch Erzeugen einer Wellenform oder von Wellenformdaten eines Musikklangs gemäß der Spielinformation, und durch deren Umwandlung in ein analoges Signal. Die Wellendaten können auf unterschiedliche Weisen erzeugt werden. Die verwendete Methode wird gemäß dem Betriebsmodus bestimmt, in welchem die Synthetisierungsmethode festgelegt wird. In der vorliegenden Ausführungsform werden der CPU-Synthetisierungsmodus durch den zweiten Wellenformgenerator und der Klangquellensynthetisierungsmodus durch den ersten Wellenformgenerator durch Auswahl übernommen.
  • In dem CPU-Synthetisiermodus wird ein Musikklang nur durch die CPU 10 oder durch Kombination der CPU 10 und des Koprozessors 17 synthetisiert. Ferner kann der CPU-Synthetisiermodus in die folgenden vier Untermodi unterteilt werden. Die erzeugte Wellenform wird vom D/A-Wandler 23 für die akkustische Wiedergabe in ein Analogsignal umgewandelt.
  • FM-Modus: Der FM-Modus verwendet ein Software-Modul einer FM-Klangquelle um einen Klang zu synthetisieren. Die Wellendaten werden mittels der CPU 10 durch Echtzeit-Frequenzmodulation über einer Grundsinuswelle generiert.
  • Obertonsynthetisierungsmodus: Im Obertonsynthetisierungsmodus werden eine Grundwellenform und deren harmoische Oberschwingungen zusammen synthetisiert. Mit der Echtzeitbearbeitung durch die CPU 10, werden eine Grundwellenform und deren harmonische Oberschwingungen berechnet um eine Wellenform zu synthetisieren.
  • Wellenformspeicherauslesemodus: In diesem Modus wird der Klang synthetisiert, indem auf einen Wellenformspeicher zugegriffen wird. Vor der Synthetisierung lädt die CPU 10 mehrere grundlegende Wellenformen in das RAM 20. Auf den Eingang eines Synthetisierungsbefehls hin generiert die CPU die Wellendaten einer festgelegten Klangfarbe einer festgelegten Tonhöhe und Lautstärke durch Auslesen der Wellenform. In dem Wellenformspeicherauslesemodus ist es möglich, einen Klang sogar mit einer wenig leistungsfähigen CPU zu synthetisieren, da das Synthetisieren durch Zugriff auf RAM oder ROM zum Auslesen von Wellendaten ausgeführt wird. Dadurch ist die Arbeitsbelastung der CPU in diesem Modus geringer als im FM-Modus und Obertonsynthetisierungsmodus. Allerdings sollte in dem RAM ein Wellendatenbereich zugewiesen werden, so daß gelegentlich ein Mangel an freiem Speicher im RAM 13 oder 20 hervorgerufen werden kann. Somit könnte der Wellenformspeicherauslesemodus unter einigen Umständen nicht vorzugsweise angewendet werden, je nach Gesamtspeicherkapazität und CPU-Adreßraum.
  • Synthetisierung-nach-physikalischem-Modell-Modus: Im Synthetisierung-nach-physikalischem-Modell-Modus wird der Klangerzeugungsmechanismus eines tatsächlichen Musikinstruments, wie etwa der Luftstrom in einem Rohr, mittels eines elektronischen Modells simuliert, um den Klang zu synthetisieren. Die Wellendaten werden im Echtzeitbetrieb von Bauteilen einschließlich der CPU erzeugt. Ein Beispiel des Algorithmus für die Synthetisierung nach physikalischem Modell ist in JP-A-63-40199 offenbart.
  • Wie oben aufgeführt, enthält die CPU-gestützte Software-Klangquelle oder der zweite Wellenformgenerator mehrere digitale Wellenformgeneratoren, die auf Grundlage unterschiedlicher Algorithmen betreibbar sind, um arithmetisch digitale Wellenformen zu erzeugen, die unterschiedliche Güten haben. Der erfindungsgemäße Apparat betreibt selektiv einen optimalen Wellenformgenerator gemäß der bereitgestellten Spielinformation. Insbesondere enthält der zweite Wellenformgenerator einen digitalen Wellenformgenerator des Wellenformspeicherauslesetyps, der auf Grundlage eines relativ einfachen Algorithmus betreibbar ist, um eine digitale Wellenform zu erzeugen, die eine relativ niedrige Güte besitzt, und weitere digitale Wellenformgeneratoren, die auf Grundlage eines relativ komplizierten Algorithmus betreibbar sind, um eine weitere digitale Wellenform zu erzeugen, die eine relativ hohe Qualität besitzt.
  • In dem Hardwareklangquellensynthetisiermodus wird der Musikklang unter Verwendung einer speziellen Hardware synthetisiert, wie etwa eine LSI-Klangquelle 22. Selbstverständlich muß das Hardware-Modul, wie die LSI-Klangquelle 22, in dem System integriert sein. Die LSI-Klangquelle 22 synthetisiert die Wellendaten im FM-Modus oder dem Wellenformspeicherauslesemodus (wie die Software-Klangquelle). Die Synthetisiermethode ist durch die Hardware selbst festgelegt. Die CPU 10 deckt nicht die Steuerung des inneren Synthetisierprozesses der Klangquelle 22 ab.
  • In der vorliegenden Ausführungsform sind mehrere Stimmenkanäle vorgesehen. Ein Kanal wird für einen Ton entweder im CPU-Synthetisiermodus oder Klangquellensynthetisiermodus zugewiesen. Mehrere Musikklänge werden in den mehreren Kanälen erzeugt, um gleichzeitiges Erklingen mehrerer Stimmen zu verwirklichen. Da die Wellendaten in der vorliegenden Ausführungsform sowohl von der CPU 10 als auch von der Klangquelle 22 erzeugt werden können, ist die Auswahl der zu benützenden Wellenformgeneratoren eine wichtige Aufgabe. In der vorliegenden Ausführungsform wird der optimale unter den Wellenformgeneratoren gemäß der Stimmenzuweisung auf Empfang eines Note-an Befehls hin zugewiesen. Der Zuweisungsmodus schließt folgendes ein:
    CPU-Auswahlmodus: Im CPU-Auswahlmodus wird das Erzeugen der Wellenform. mit erster Priorität von dem CPU-Synthetisiermodus bewirkt. Allerdings ist die Anzahl der Stimmenkanäle, die für die Synthetisierung benutzt werden kann, begrenzt, wenn die Kapazität der Computerbaugruppen einschließlich der CPU 10 nicht ausreichend ist. In einem solchen Fall, wird der Teil der Wellenformerzeugungsoperation, der die Kapazität der Computerbaugruppen einschließlich der CPU 10 überschreitet, von der Hardware-Klangquelle ausgeführt.
  • Klangquellenauswahlmodus: Im Klangquellenauswahlmodus wird das Erzeugen der Wellenform mit erster Priorität von der Hardware-Klangquelle bewirkt. Allerdings ist die Zahl der Stimmenkanäle, die für die Synthetisierung benutzt werden kann, begrenzt, wenn die Kapazität der Hardware-Klangquelle nicht ausreichend ist. In einem solchen Fall, wird der Teil der Wellenformerzeugungsoperation, der die Kapazität der Hardware-Klangquelle überschreitet, von der CPU-Software-Klangquelle ausgeführt.
  • Manueller Modus: Im manuellen Modus legt der Benutzer manuell entweder Software- oder die Hardware-Klangquelle fest. Weiter wird ein bestimmter Synthetisiermodus zugewiesen, wenn die CPU-gestützte Software-Klangquelle festgelegt ist.
  • Zwangsmodus: Im Zwangsmodus wird die zu benutzende Klangquelle zwangsweise gemäß dem Laufzustand der, neben dem Klangerzeugungsprogramm, anderen Anwendungsprogramme unabhängig von der Absicht des Benutzers bestimmt.
  • Ein Speicherplan des RAM 13 oder 20 wird untenstehend beschrieben. Die Anordnung des erfindungsgemäßen Musikklanggenerators ist nicht so verschieden von allgemeinen Personalcomputern. Weiter kann der allgemeine Personalcomputer als Musikklanggenerator verwendet werden, sofern er Operationen betreffend die Wellenformerzeugung ausführt. Somit ist der Inhalt des RAM 13 oder 20 nicht so unterschiedlich von dem eines Personalcomputers. Der Speicherplatz des RAM 13 oder 20 ist unterteilt in mehrere Bereiche, wie in 6 dargestellt. In 6 ist ein Betriebssystembereich wie im allgemeinen Personalcomputer vom Betriebsystem (OS) belegt. In den Anwendungsprogrammbereichen (1) bis (n) sind verschiedene, neben dem Wellenformerzeugungsprogramm andere Anwendungsprogramme untergebracht. Diese Bereiche werden einer nach dem anderen für die aufgerufenen Anwendungsprogramm zugewiesen. Lieddaten und verschiedene andere Daten werden in einem Datenbereich gespeichert, während die Wellendaten in den Wellendatenbereich WAVE geladen werden, wenn die Synthetisierung mittels der Wellenformspeicherauslesemethode ausgeführt wird.
  • Der Betrieb des erfindungsgemäßen Musikklanggenerators wird unterstehend beschrieben. Der Musikklang wird durch Ausführung eines bestimmten Anwendungsprogramms des Personalcomputers, und zwar des Wellenformerzeugungsprogramms, erzeugt. Ansonsten kann das Wellenformerzeugungsprogramm als eine Funktion des Betriebsystems in Form eines nichtresidenten Programms implementiert sein, das zum Zeitpunkt des Hochfahrens des Systems automatisch installiert wird. Obwohl die Speicheradresse und die Ausführungserlaubnis des Wellenformerzeugungsprogramms von der Konfiguration der Betriebssystemumgebung, vom Agieren des Nutzers, von der Zahl der Anwendungsprogramme, von den Betreibsbedingungen etc. abhängt, wird das Wellenformerzeugungsprogramm als eine der Anwendungen (1) bis (n) ausgeführt. Auf Einschalten oder Zurücksetzen des Musikklanggenerators hin werden, wie in 7 dargestellt, verschiedene Register und Flags in Schritt S1 zur Initialisierung gesetzt/zurückgesetzt. Im Schritt S2 wird ein Systemverwaltungsprozeß des Betriebssystems ausgeführt. In den Schritten S3 bis S5 werden das Anwendungsprogramm (1), das Wellenformerzeugungsprogramm und das Anwendungsprogramm (n) jeweils ausgeführt. Das Wellenformerzeugungsprogramm wird ausgeführt, um je Zyklus des Programmaufrufs einen Abtastwert der Wellendaten zu erzeugen. Die Anwendungsprogramme (1) bis (n) umfassen nicht das Wellenformerzeugungsprogramm. Diese Programme können Musikspiel oder vollkommen andere Dinge betreffen. Nach Schritt S5 kehrt der Ablauf zu S2 zurück.
  • Wenn keine Veränderung im Ausführungszustand der Anwendungsprogrammme auftritt, wird die Schleife von S2 bis S5 wiederholt ausgeführt. Andernfalls, wenn eine Veränderung im Ausführungszustand der Anwendungsprogramme auftritt, wird eine solche Veränderung bei dem Systemverwaltungsprozeß in Schritt S2 erkannt. Wenn die Zustandsveränderung eine Programmbeendigung ist, wird der relevante Ausführungsschritt des Anwendungsprogramms übersprungen. Wenn die Zustandsveränderung ein Programmaufruf ist, wird ein Schritt zur Ausführung eines neuen Anwendungsprogramms in die Schleife aufgenommen, und die ganze Schleife wird wiederholt ausgeführt. Somit ändert sich die Ausführungsdauer der Schleife in Abhängigkeit vom Laufzustand der Anwendungsprogramme und der Systembelastung. Jedoch wird ungeachtet des Laufzustands der Anwendungsprogramme pro Schleife immer ein Abtastwert der Wellendaten des Musikklangs erzeugt. Eine Reihe der Abtastwerte wird kontinuierlich durch Wiederholen der Schleife erzeugt, um eine erwünschte Wellenform zu erzeugen. Somit wird, wenn die generierten Wellendaten einfach in ein Analogsignal konvertiert werden, die Abtastperiode verändert, so daß Zittern in dem wiedergegebenen Musikklang auftreten kann. Ein Datenpuffer ist vor dem D/A-Wandler 23 vorgesehen, um die generierten Wellendaten des Klangs temporär zu speichern. Auf den Datenpuffer wird zum Auslesen der Wellendaten mit einer festgelegten Abtastfrequenz fs zugegriffen. Wird die Musikklangerzeugung von einem festen Programm durchgeführt, und zwar für den Fall, daß das System kein Personalcomputer sondern ein unabhängiges elektronisches Musikinstrument, ein Klangquellenmodul oder irgendein anderes System, das eine Einrichtung zum Erzeugen von Klang besitzt, ist, kann die Ausführungsperiode des Schleifenprozesses fest sein. Mit anderen Worten wird der Schleifenprozeß in einem feststehenden Intervall ausgeführt. In einem solchen Fall ist es sehr praktisch, das Schleifenintervall mit dem Reziprokwert der Abtastfrequenz fs zusammenfallen zu lassen, so daß der Datenpuffer entfallen kann.
  • Das in Schritt S4 ausgeführte Wellenformerzeugungsprogramm wird im folgenden unter Bezugnahme auf 8 bis 11 beschrieben. Das Programm wird, nachdem es gemäß einem vorherbestimmten Ablauf von der Speichereinheit 15 geladen wurde, ausgeführt. Im Schritt Sa1 werden der Synthetisiermodus und der Hardware-Aufbau überprüft. Bei der Überprüfung des Hardware-Aufbaus werden optionale Bauteile mittels der obenbeschriebenen Überprüfungsmethode erkannt. Betreffend den Ausführungsmodus werden sowohl der Synthetisiermodus als auch der Stimmenzuweisungsmodus ebenfalls überprüft. In Hinblick auf die Einstellung des Ausführungsmodus kann der Stimmenzuweisungsmodus in den Zwangsmodus geschaltet werden, wenn andere Anwendungsprogramme ausgeführt werden, bevor das Wellenformerzeugungsprogramm aufgerufen wird. Andernfalls können der Synthetisiermodus und der Stimmenzuweisungsmodus gemäß der Wahl des Nutzers über ein dargestelltes Menü zur Eingabe erwünschter Einstellungen engerichtet werden. Weiterist es möglich, wenn verschiedene Klangquellenvorrichtungen bei der Hardware-Überprüfung erkannt werden, den CPU-Auswahlmodus oder Klangquellenauswahlmodus einzustellen. Somit wird vor Ausführung des Wellenformerzeugungsprogramms in der Ausführungsmoduseinstellung in Schritt Sa1 der Ausführungsmodus eingerichtet und erkannt.
  • In Schritt Sa2 wird der Wellenformladeprozeß ausgeführt. In dem Wellenformladeprozeß werden, für den Fall, daß eine grundlegende Wellenform in dem Wellenformauslesemodus verwendet wird, typische oder grundlegende Wellenformen in den im RAM 13 oder 20 zugewiesenen Bereich WAVE geladen. In Schritt Sa3 wird geprüft, ob das Flag SETFLG "1 " ist oder nicht. Das Flag SETFLG wird anfangs auf "0" gesetzt, kann aber auf "1" geschaltet werden, wenn die Abtastfrequenz fs in Schritt Sa21 eingerichtet wird, oben wenn der Wellenformspeicherauslesemodus in einem Unterstützungswellenformberechnungsmodus zugewiesen wird. Der Ablauf schreitet fort zu Schritt Sa4, wenn das Flag SATFLG "1" ist. Andernfalls, wenn das Flag SETFLG "0" ist, springt der Ablauf zu Schritt Sa5. Für den Fall, daß das Wellenformerzeugungsprogramm in der Schleife, die in 7 dargestellt ist, zum ersten mal ausgeführt wird, ist das Flag SETFLG "0", und der Ablauf fährt bedingungslos mit Schritt Sa5 fort. Der Ablauf des Schritts Sa4 wird jedoch aus Gründen der Beschreibungsdienlichkeit ebenfalls hier beschrieben. Im Schritt Sa4 wird geprüft, ob die Klangsynthese vollständig im CPU-Synthetisiermodus ausgeführt werden soll, oder nicht. Es ist möglich, das Ergebnis der Hardware-Überprüfung in Schritt Sa1 zu benützen, um zu ermitteln, ob irgendeine externe Klangquellenvorrichtung erkannt wird, oder nicht. Wenn die Möglichkeit besteht, irgendeine andere Klangquelle, als die CPU für die Wellenformerzeugung zu nutzen, zweigt Schritt Sa 4 in die "Nein"-Richtung ab. In Schritt Sa5 wird ein Flag ENBLFLG überprüft, ob es "1" ist oder nicht, um einen nicht betriebsbereiten Zustand zu erkennen. Nicht betriebsbereiter Zustand bedeutet, daß weder die Abtastfrequenz fs in der Wellenformerzeugungsprozedur eingestellt ist, noch der Unterstützungswellenformberechnungsmodus aktiviert ist. Daher ist der CPU-Synthetisiermodus im nicht betriebsbereiten Zustand noch nicht bereit.
  • Wenn das Wellenformerzeugungsprogramm zum ersten mal in der in 7 dargestellten Hauptschleife ausgeführt wird, ist das Flag ENBLFLG "0", so daß die Prozedur zu Schritt Sa11 fortschreitet. Der Prozeß in betriebsbereitem Zustand für den Fall, daß das Flag ENBFLG "1" ist, wird jedoch aus Gründen der Beschreibungsdienlichkeit hier beschrieben. Der betriebsbereite Zustand bedeutet, daß die gesamte Vorbereitung für die Synthetisierung durch die CPU bereits abgeschlossen ist. In diesem Zustand schreitet die Prozedur fort zu Schritt Sa6, in dem die Verarbeitung der Spielinformation bewerkstelligt wird. In Schritt Sa7 wird das Vorhandensein eines CPU-Wellenformerzeugungsbefehls überprüft. Der CPU-Wellenformerzeugungsbefehl wird im CPU-Synthetisiermodus als Reaktion auf ein Taste-ein Ereignis erzeugt, das in der Tastaturinformation KBD, MIDI-Information oder Spielinformation, die von den Schnittstellen eingespeist wird, enthalten ist. Wenn ein CPU-Wellenformerzeugungsbefehl in Schritt Sa7 ermittelt wird, wird die auf den Befehl ansprechende Prozedur in Schritt Sa8 ausgeführt. In der Prozedur von Schritt Sa8 werden die Wellendaten in einem bestimmten Synthetisiermodus generiert, der aus den verfügbaren CPU-Synthetisiermodi ausgewählt wird. Die Wellendaten werden dann über den Bus 12 zum D/A-Wandler 23 übertragen. So wird die Klangerzeugung gemäß den synthetisierten Wellendaten oder der synthetisierten Wellenform bewerkstelligt.
  • In einer weiter gefaßten Definition kann der CPU-Wellenformerzeugungsbefehl ein Taste-aus Ereignis beinhalten, welches Note-aus anweist, jedoch wird auf die Erläuterung der Prozeduren, die für das Taste-aus Ereignis entscheidend sind, verzichtet. Diese Note-aus Prozeduren sind sehr einfache Prozesse, wie das Aussetzen der Wellenformerzeugung und das Beenden der Wellenformerzeugung. Wenn kein CPU-Wellenformerzeugungsbefehl in Schritt Sa7 ermittelt wird, wird die Berechnung zur Wellenformerzeugung in Schritt Sa8 ausgelassen, da keine auszuführende Aufgabe vorhanden ist. In Schritt Sa9 wird geprüft, ob die Beendigung des Wellenformerzeugungsprogramms vom Nutzer angeordnet wird oder nicht. Wenn die Beendigung des Programms nicht angezeigt ist, kehrt die Prozedur unverzüglich zurück, um für einen nächsten CPU-Wellenformerzeugungsbefehl bereit zu sein. Andererseits, für den Fall, daß der Beendigungsbefehl eingegeben wird, wird das Wellenformerzeugungsprogramm durch Setzen des Flags SETFLG auf "0" in Schritt Sa10 beendet.
  • Wenn das Wellenformerzeugungsprogramm erstmals in der Hauptschleife von 7 ausgeführt wird, ist das Flag ENBLFLG "0". Dann wird in Schritt Sa11 geprüft, ob der Zuweisungsmodus entweder der CPU-Auswahlmodus oder der Klangquellenauswahlmodus ist. Wenn der Zuweisungsmodus der manuelle Modus oder der Zwangsmodus ist, dann ist das Ergebnis der Ermittlung "Nein", so daß die Prozedur zu Schritt Sa12 fortschreitet, in welchem die Flags ENBLFLG, DACENBL und SETFLG alle auf "1" gesetzt werden. Dann kehrt die Prozedur zurück. Das Flag DACENBL wird auf "1" gesetzt, um den D/A-Wandler 23 zu aktivieren. Wenn das Wellenformerzeugungsprogramm das nächste mal ausgeführt wird, und die externe Klangquelle benutzt wird, dann ergibt die Prüfung von Schritt Sa3 somit "Ja" und die Prüfung von Schritt Sa4 "Nein", so daß die in 11 dargestellte Prozedur ausgeführt wird. Andernfalls werden die Schritte Sa6 bis Sa10 ausgeführt, wenn die Wellenformerzeugung allein von der CPU bewirkt wird.
  • Wenn andererseits in Schritt Sa11 erkannt wird, daß der Zuweisungsmodus entweder der CPU-Auswahlmodus oder der Klangquellenauswahlmodus ist, schreitet die Prozedur fort zu Schritt Sa13. Die in den 9 und 10 dargestellte Verarbeitung in den Schritten Sa13 bis Sa27 kann ausgeführt werden, wenn das Wellenformerzeugungsprogramm zum ersten mal aufgerufen wird. In diesem Prozeß wird die Abtastfrequenz fs bestimmt für die Synthese allein durch die CPU. In Schritt Sa13 wird das Flag ENBLFLG auf "0" geschaltet", ein Flag BUSY wird auf "1" gesetzt, und das Flag DACENBL wird auf "0" gesetzt. Das Flag BUSY wird auf "1" gesetzt, um das Aufwärtszählen im später beschriebenen Zeitgeberprozeß zu ermöglichen. Flag DACENBL wird auf "0" gesetzt, um den Ausgabevorgang des D/A-Wandlers 23 zu desaktivieren, um die Klangerzeugung während der später beschriebenen versuchsweisen Wellenformberechnung zu unterbinden. Nach Schritt Sa13 werden die Register SCOUNT und TCOUNT auf "0" zurückgesetzt. Der Inhalt des Registers SCOUNT gibt die Schleifenzyklen der folgenden versuchsweisen Wellenformberechnung an. Das Register TCOUNT zählt inkremental aufwärts, während das Flag BUSY auf "1" geschaltete wird. Somit gibt das Register eine Zeitspanne an, die erforderlich ist, um eine Wellenform in m Zyklen der Syntheseberechnung zu erzeugen. In Schritt Sa15 wird ein Abtastwert für eine Abtastperiode durch Ausführung eines Wellendatenerzeugungsalgorithmus erzeugt. Die Einzelheiten der Verarbeitung in Schritt Sa15 wird später beschrieben. In Schritt Sa16 wird das Register SCOUNT immer dann um "1" erhöht, wenn die Abtastwertberechnung einmal ausgeführt wurde. In Schritt Sa17 wird geprüft, ob das Register SCOUNT den Zyklus "m" erreicht. Wenn NEIN erkannt wird, kehrt die Prozedur zu Schritt Sa15 zurück. Ansonsten schreitet die Prozedur fort zu Schritt Sa18 in 10 für den Fall, daß das Ergebnis der Prüfung JA ist. Somit werden die Schritte Sa15 und Sa16 so lange wiederholt, bis die Schleifenzykluszahl der Abtastwertberechnung "m" erreicht.
  • In Schritt Sa18 von 10 wird das Flag BUSY auf "0" geschaltet, um das Zählen des Zeitgebers zu deaktivieren. Dann wird in Schritt Sa19 eine Frequenz Fs nach der folgenden Gleichung (1) berechnet Fs = (m·grenze)/(TCOUNT·Tt) (1)
  • In dieser Gleichung ist "grenze" eine Konstante, die kleiner als der Wert 1 gesetzt ist, um Berechnungsbaugruppen einschließlich der CPU 10 unter Berücksichtigung der Verarbeitungsleistung dieser Baugruppen mit einer Grenze zu versorgen. Wie zuvor beschrieben, gibt TCOUNT Aufrufzeiten des Zeitgebers während der Zeitspanne, die für "m" Ausführungszyklen der Abtastwertberechnung erforderlich ist, an, während Tt einen Zählabstand des Zeitgebers angibt. Somit entspricht das Produkt von TCOUNT und Tt der Zeitspanne, die erforderlich ist, um den Prozeß der Abtastwertberechnung, um eine Wellenform zu erzeugen, zu vollenden.
  • Somit ist die mit Gleichung (1) berechnete Frequenz Fs die Frequenz der Wellenformabtastung, und die Konstante "grenze" spiegelt die Verarbeitungsleistung des Hardwareaufbaus wieder.
  • In Schritt Sa20 wird ermittelt, ob die berechnete Frequenz Fs größer als 32 kHz ist, oder nicht. Diese kritsche Frequenz "32 kHz" wird verwendet in Anbetracht der Mindestgüte des zu erzeugenden Musikklangs. Wenn das Ergebnis dieser Ermittlung positiv ist, was bedeutet, daß die Verarbeitungsleistung der CPU als ausreichend bewertet wird, um eine Mindestgüte des Klanges aufrechtzuerhalten, schreitet die Prozedur fort zu Schritt Sa21. In Schritt Sa21 wird eine angemessene Abtastfrequenz fs, die kleiner als die berechnete Frequenz Fs und dieser am nächsten ist, aus 32 kHz, 44,1 kHz, 48 kHz und 50 kHz ausgewählt. Wenn die berechnete Frequenz Fs 47 kHz beträgt, wird die Abtastfrequenz auf 44,1 kHz gesetzt, was kleiner 47 kHz und diesem Wert am nächsten ist. Es wird ein Wert kleiner der berechneten Frequenz Fs ausgewählt, da die konstante Grenze nicht sinnvoll wäre, wenn die Abtastfrequenz fs so gesetzt würde, daß sie die Verarbeitungsleistung der CPU übersteigt. Nach Schritt Sa21 werden in Schritt Sa22 die Flags DACENBL, ENBLFLG und SETFLAG allesamt auf "1" gesetzt, und die Prozedur kehrt zurück. Diese Flag-Operation ermöglicht es dem D/A-Wandler 23, den Musikklang auszugeben. Weiter zeigt diese Flag-Operation an, daß die Abtastfrequenz eingestellt ist. Als Folge ist der nicht betriebsbereite Zustand in den betriebsbereiten Zustand übergegangen.
  • Im betriebsbereiten Zustand ergibt die Prüfung in Schritt Sa4 bei der nächsten Ausführung des Wellenformerzeugungsprogramms "Nein", so daß das Synthetisieren durch die in 11 dargestellte Verarbeitung erledigt wird, wenn die Wellenformerzeugung von der externen Klanquellenvorrichtung ausgeführt werden soll. Andernfalls, wenn nur die CPU für die Wellenformerzeugung benutzt wird, ergibt die Prüfung in Schritt Sa4 "Ja" und die Prüfung in Schritt Sa5 "Nein", so daß das Synthetisieren durch Schritte Sa6 bis Sa8 ausgeführt wird. Andererseits schreitet in 10 die Prozedur fort zu Schritt 23, wenn das Ergebnis der Prüfung in Schritt Sa20 betreffend die berechnete Frequenz Fs "Nein" ergibt, was bedeutet, daß die Mindestgüte des Klangs nicht aufrechterhalten werden kann. In Schritt 23 wird der Benutzer gewarnt, daß die Mindestgüte des Klangs nicht verfügbar ist, und der Unterstützungswellenformberechnungsmodus wird aufgerufen. Der Unterstützungswellenformberechnungsmodus ist der Wellenformspeicherauslesemodus, der als zweite Wahl ausgewählt wird, wenn die Mindestgüte des Klangs mit dem anfänglich aus den verfügbaren CPU-Synthetisiermodi ausgewählten Synthetisiermodus nicht erzielbar ist. In Schritt Sa24 wird geprüft, ob der Unterstützungswellenformberechnungsmodus zugewiesen ist oder nicht Wenn JA, fährt die Prozedur mit Schritt Sa25 fort, in welchem ursprüngliche Wellenformer von dem anfänglichen Berechnungsmodus vorbereitet und im voraus in das RAM 13 oder 20 gespeichert werden. Weiter wird der Klang tatsächlich wiedergegeben, wenn die gespeicherte Wellenform mit der Abtastfrequenz von 32 kHz, die automatisch bestimmt wird, ausgelesen wird. Somit wird die Wellenformerzeugung virtuell mit dem Wellenformspeicherauslesemodus bewirkt, so daß die Mindestgüte des wiedergegebenen Klangs erhalten werden kann, selbst wenn das System mit einer wenig leistungsfähigen CPU ausgestattet ist. Danach wird der Prozeß in Schritt Sa22 ausgeführt, um vom nicht betriebsbereiten Zustand in den betriebsbereiten Zustand zu schalten, und die Prozedur kehrt zurück. Andererseits fährt die Prozedur, wenn der Unterstützungswellenformberechnungsmodus nicht in Schritt Sa24 bestimmt wurde, mit Schritt Sa26 fort, in welchem ein Beendigungsbefehl für das Klangerzeugungsprogramm ermittelt wird. Falls die Beendigung des Klangerzeugungsverfahrens angewiesen wird, wird der Vorgang durch Zurücksetzen des Flags SETFLG auf "0" in Schritt Sa27 beendet. Für den Fall, daß die berechnete Frequenz Fs kleiner als 32 kHz ist und weder der Unterstützungswellenformberechnungsmodus bestimmt noch die Programmbeendigung angewiesen ist, wird der warnende Alarm fortgesetzt. Somit wird die Wellenformerzeugung mit Berechnungsbaugruppen wie etwa der CPU 10 bewerkstelligt. Die Abtastfrequenz fs wird in Hinblick auf die Leistung der CPU optimiert. Ferner wird das Synthetisieren, wenn die Leistung der CPU niedrig ist, durch Umschalten in den Wellenformspeicherauslesemodus, welcher die Belastung der CPU vermindern kann, ausgeführt.
  • Zusammengefaßt weist der CPU-gestützte zweite Wellenformgenerator einen computerimplementierten Wellenformgenerator auf, der mit einer variablen Arbeitsgeschwindigkeit gemäß einem gegebenen Algorithmus betreibbar ist, um eine digitale Wellenform durch sukzessives Berechnen von Abtastwerten der digitalen Wellenform zu erzeugen. Der computerimplementierte Wellenformgenerator wird vorläufig betrieben, um eine versuchsweise Erzeugung einer digitalen Beispielwellenform auszuführen, während er die Arbeitsgeschwindigkeit, mit welcher die versuchsweise Erzeugung ausgeführt wird, mißt. Im Vergleich mit der gemessenen Arbeitsgeschwindigkeit wird die optimale Abtastfrequenz bestimmt. Der computerimplementierte Wellenformgenerator wird tatsächlich betrieben um selbigen zu veranlassen, nacheinander Abtastwerte einer tatsächlichen digitalen Wellenform in der bestimmten Abtastfrequenz gemäß der bereitgestellten Spielinformation zu berechnen. Die Abtastfrequenz wird auf eine von schrittweise festgelegten Stufen festgesetzt, die niedriger als die gemessene Arbeitsgeschwindigkeit und dieser am nächsten ist. Wenn die bestimmte Abtastfrequenz unter eine kritische Stufe fällt, die festgelegt ist, um eine Mindestgüte der digitalen Wellenform sicherzustellen, wird der anfängliche Algorithmus gewechselt, um die Geschwindigkeit des computerimplementierten Wellenformgenerators anzuheben, so daß die Abtastfrequenz neu festgelegt werden kann, um die kritische Stufe zu überschreiten. Es wird von einem komplizierten Algorithmus zu einem vereinfachten Algorithmus gewechselt, dergestalt daß der computerimplementierte Wellenformgenerator auf Grundlage des vereinfachten Algorithmus arbeitet, um nacheinander vorabgespeicherte Abtastwerte auszulesen, um sich fortpflanzend eine digitale Wellenform zu erzeugen. Die Abtastwerte können anfangs von dem komplizierten Algorithmus berechnet werden. Dann werden die Abtastwerte in dem Wellenformspeicher für die tatsächliche Nutzung unter dem einfachen Algorithmus des Wellenformauslesemodus gespeichert. Somit weist das erfindungsgemäße Klangerzeugungsgerät zum Erzeugen einer digitalen Wellenform, um einen Musikklang gemäß Spielinformation zu erzeugen, Eingabemittel zum Bereitstellen von Spielinformation auf, computerimplementierte Wellenformgeneratormittel, die auf Grundlage eines gegebenen Algorithmus mit veränderbarer Arbeitsgeschwindigkeit betreibbar sind, um eine digitale Wellenform durch sukzessives Berechnen von Abtastwerten der digitalen Wellenform zu erzeugen, Versuchsmittel zum vorläufigen Betreiben des computerimplementierten Wellenformgenerators, um die versuchsweise Erzeugung einer digitalen Beispielwellenform auszuführen, während die Arbeitsgeschwindigkeit gemessen wird, mit welcher die versuchsweise Erzeugung ausgeführt wird, Bestimmungsmittel zum optimalen Bestimmen einer Abtastfrequenz zu der gemessenen Arbeitsgeschwindigkeit, Steuermittel zum tatsächlichen Betreiben des computerimplementierten Wellenformgenerators, um selbigem zu ermöglichen, nacheinander Abtastwerte einer tatsächlichen Wellenform in der bestimmten Abtastfrequenz zu berechnen, und Ausgabemittel zum Erzeugen des Musikklangs auf Grundlage der tatsächlichen digitalen Wellenform gemäß der bereitgestellten Spielinformation. Übrigens zweigt die Prozedur zu Schritt Sa28 in 11 ab, wenn eine mögliche Nutzung der Hardware-Klangquellenvorrichtung zur Wellenformerzeugung in Schritt Sa4 erkannt wird. In Schritt Sa28 wird das Flag DACENBL auf "1" geschaltet, um den D/A-Wandler 28 zum Ausgeben des Klangs zu aktivieren. In Schritt Sa29 wird ein jeglicher Beendigungsbefehl für das Klangerzeugungsprogramm erkannt. Wenn die Beendigung des Klangerzeugungsprogramms angewiesen wird, endet das Synthetisierprogramm durch Zurücksetzen des Flags SETFLG auf "0" in Schritt Sa31 durch Schritt Sa30. Andererseits wird, wenn die Beendigung des Klangerzeugungsprogramms nicht angewiesen wird, in Schritt SA32 der Betriebsmodus überprüft, ob er der Klangquellensynthetisiermodus ist oder nicht, wenn das Abfrageergebnis von Schritt 29 negativ ist. Wenn der Klangquellensynthetisiermodus in Schritt Sa32 erkannt wird, wird das Vorhandensein der für den bestimmten Modus erforderlichen Hardware in Schritt Sa33 ermittelt. Dieser Modus wird auf die Abfrage hin mit der Hardware-Überprüfung in Schritt Sa1 bestimmt. Falls die passende Hardware vorhanden ist, wird der Synthetisiervorgang durch die passende Hardware in Schritt Sa34 ausgeführt. Ansonsten wird das Fehlen der passenden Hardware in Schritt Sa35 ausgegeben, und der Synthetisierprozeß wird unter Benutzung des gegenwärtigen Hardware-Aufbaus fortgesetzt, falls die passende Hardware nicht vorhanden ist. Nach den Schritten Sa34 und Sa35 kehrt die Prozedur zurück. Der Synthetisierprozeß mit der ausgewählten Hardware wird später beschrieben.
  • Der Wellenformladeprozeß, der in Schritt Sa2 (8) ausgeführt wird, wird untenstehend unter Bezugnahme auf 12 beschrieben. In dem Wellenformladeprozeß wird erkannt, ob ein MIDI Sample-Dump-Befehl durch den Multi-Ein/Ausgabe-Anschluß 14 in Schritt Sb1 empfangen wird. Der MIDI Sample-Dump enthält Wellendaten gemäß dem MIDI-Standard und wird im Wellenformspeicherauslesemodus verwendet. Wenn der MIDI Sample-Dump empfangen wird, wird die Prozedur des Empfangs von Proben so ausgeführt, daß die empfangenen Daten in Schritt Sb2 in den Bereich WAVE im RAM 13 oder 20 übertragen werden. Der Sample-Dump-Empfang in Schritt Sb2 wird wiederholt, bis der gesamte Datenempfang vollendet ist. Die Beendigung wird in Schritt Sb3 ermittelt. Wenn der gesamte Datenempfang vollendet ist, ergibt die Ermittlung in Schritt Sb3 "Ja" und die Prozedur kehrt zurück. Wenn andererseits die Prüfung in Schritt Sb1 "Nein" ergibt, wird in Schritt Sb4 überprüft, ob die Wellendaten über die Schnittstelle I/F übertragen werden. Wenn Wellendaten empfangen werden, werden in den Schritten Sb2 und Sb3 die empfangenen Daten in den Bereich WAVE im RAM 13 oder 20 übertragen, wie im Falle des MIDI Sample-Dumps. Wenn sowohl Schritt Sb1 als auch Schritt Sb4 "Nein" ergeben, wird ein Zugriffsleseereignis für die Speichereinheit 15, nämlich die Anfrage, einige Daten von der Speichereinheit 15 auszulesen, in Schritt Sb5 ermittelt. Wenn die Anfrage nicht abgegeben wird, wird das Wellenformladen unverzüglich abgebrochen und die Prozedur kehrt zurück, da keine weitere Aufgabe zu erledigen ist. Andererseits werden, wenn das Zugriffsereignis auftritt, die von der Speichereinheit 15 ausgelesenen Daten in Schritt Sb6 überprüft. Weiter wird in Schritt Sb7 geprüft, ob die ausgelesenen Daten die Wellendaten sind, oder nicht. Wenn die ausgelesenen Daten nicht die Wellendaten sind, wird das Wellenformladen augenblicklich beendet, und die Prozedur kehrt zurück, da keine weitere Aufgabe zu erledigen ist. Andernfalls, wenn die Wellendaten ausgelesen werden, werden die Wellendaten in den Bereich WAVE im RAM 13 oder 20 übertragen. Die Datenübertragung in Schritt Sb8 wird wiederholt, bis das Ende der Datenübertragung in Schritt Sb9 erkannt wird. Wenn die Datenübertragung vollendet ist, ergibt die Prüfung in Schritt Sb9 "Ja", und die Prozedur kehrt zurück. Somit werden beim Wellenformladen die im Wellenformauslesemodus zu benutzenden Wellenformdaten empfangen oder ausgelesen. Dann werden die Wellendaten in den Bereich WAVE im RAM 13 oder 20 übertragen. Die Berechnungsbaugruppen, wie die CPU 10, verarbeiten die Wellendaten im Wellenformauslesemodus gemäß einem einfachen Algorithmus, um die tatsächliche Wellenform zu synthetisieren. Um die in das RAM 13 oder 20 geladenen Daten durch die Klangquelle 22 wiederzugeben, könnten die geladenen grundlegenden Wellendaten wieder in den Wellenformspeicher 25 übertragen werden, der in der Klangquelle 22 enthalten ist. In einem herkömmlichen Musikklanggenerator, der eine bestimmte Hardware-Klangquelle besitzt, muß die Hardware-Klangquelle einen temporären Wellenformspeicher besitzen, um die geladenen Wellendaten zu empfangen. Die CPU muß die Wellendatenübertragung vom RAM zum Wellenformspeicher ausführen. Allerdings werden in der vorliegenden Ausführungsform die grundlegenden Wellendaten in das RAM 13 oder 20 unter der Kontrolle der CPU 10 geladen. Daher ist es nicht notwendig, einen temporären Speicher bereitzustellen, um die Wellendaten in der Hardware zu halten. Weiter ist es nicht notwendig einen Prozeß zum erneuten Laden auszuführen, in welchem die geladenen Wellendaten weiter in die externe Hardware-Vorrichtung übertragen werden. Die Kosten für die System-Hardware oder Systemsoftware können vermindert werden, und die Zeit vom Ende des Ladens der Wellendaten bis zur Klangwiedergabe kann vermindert werden.
  • Der Vorgang des Abtastwertberechnens, der in Schritt Sa15 (9) ausgeführt wird, wird im folgenden unter Bezugnahme auf 13 erklärt. In Schritt Sc1 von 13 wird geprüft, ob ein Co-Prozessor 17 vorhanden ist. In der vorliegenden Ausführungsform ist der Koprozessor 17 installiert. Allerdings ist dieses Bauteil optional und kann in manchem Hardware-Aufbau fehlen. Wenn in der CPU 10 eine Einheit für Arithmetikoperationen untergebracht ist, welche dem Koprozessor 17 äquivalent ist, ist die Ermittlung des Coprozessors nicht erforderlich. Es ist möglich, das System so zu betrachten, als ob der Koprozessor installiert wäre. Wenn der Koprozessor 17 erkannt wird, wird die Abtastwertberechnung sowohl mit der CPU 10 als auch mit dem Koprozessor 17 in Schritt Sc2 bewerkstelligt. Andernfalls wird die Abtastwertberechnung nur mit der CPU 10 in Schritt Sc3 ausgeführt, wenn kein Koprozessor 17 vorhanden ist. Nach Schritt Sc2 oder Sc3 kehrt die Prozedur zurück. Die Abtastwertberechnung ist in den Schritten Sc2 und Sc3 die gleiche, abgesehen davon, ob der Koprozessor 17 verwendet wird oder nicht. Daher wird die Abtastwertberechnung in Einzelheiten hier in Hinblick auf Schritt Sc3 erklärt.
  • In Schritt Sd1 der 14 wird geprüft, ob der augenblickliche Betriebsmodus auf FM-Modus unter den verschiedenen CPU-Synthetisiermodi eingestellt ist. Wenn der FM-Modus eingestellt ist, wird ein Satz Abtastwerte entsprechend einer Zahl von Kanälen an einem Abtastpunkt gemäß der FM-Synthetisiermethode in Schritt Sd2 berechnet. Zum Beispiel wird, wenn polyphones Synthetisieren ausgewählt ist, ein Satz von mehreren Abtastwerten berechnet, die zum Synthetisieren einer erwünschten Anzahl von Stimmen erforderlich sind. In diesem Fall ist die Belastung der CPU 10 hoch, da verschiedene Stimmen, die verschiedene Tonhöhen haben, gleichzeitig erzeugt werden. Schlimmer noch kann andere Verarbeitung, wie beispielsweise Graphikverarbeitung, parallel ausgeführt werden. Wenn der FM-Modus nicht in Schritt Sd1 erkannt wird, wird in Schritt Sd3 ermittelt, ob der gegenwärtige Betriebsmodus auf Wellenformspeicherauslesemodus unter den verschiedenen CPU-Synthetisiermodi eingestellt ist. Wenn der Wellenformspeicherauslesemodus hier erkannt wird, wird ein Satz von Abtastwerten, die für einen Abtastpunkt erforderlich sind, aus dem Wellenformspeicher ausgelesen. Beim mehrstimmigen Synthetisieren sind mehrere Abtastwerte für eine erwünschte Zahl an ausgelesenen Stimmen erforderlich. Dieses Lesen von Daten und Übertragen von Daten wird nicht von der CPU 10 ausgeführt, sondern vom DMAC 19. Die Wellendaten sind in den Bereich WAVE im RAM 13 oder 20 geladen worden, oder vorsorglich im ROM 11 gespeichert. Wenn der Wellenformauslesemodus in Schritt Sd3 nicht erkannt wird, wird in Schritt Sd5 ermittelt, ob der gegenwärtige Betriebsmodus auf den Obertonsynthetisiermodus unter den verschiedenen CPU-Synthetisiermodi eingestellt ist. Wenn der Obertonsynthetisiermodus erkannt wird, wird ein Satz von Abtastwerten, die für einen Abtastprozeß erforderlich sind, in Schritt Sd6 von der CPU 10 gemäß der Obertonsynthetisiermethode berechnet. Im mehrstimmigen Modus wird eine Anzahl an Abtastwerten, die zum Synthetisieren einer erwünschten Anzahl an Stimmen erforderlich ist, mit der Obertonsynthetisiermethode berechnet. In diesem Fall ist die Belastung der CPU hoch, da verschiedene Stimmen, die unterschiedliche Tonhöhen besitzen, gleichzeitig erzeugt werden können. Schlimmer noch können weitere Verarbeitungen parallel ausgeführt werden, ähnlich wie in der Situation unter dem FM-Modus. Wenn der Obertonsynthetisiermodus in Schritt Sd5 nicht erkannt wird, wird in Schritt Sd7 geprüft, ob der gegenwärtige Betriebsmodus auf Synthetisierung-nach-physikalischem-Modell-Modus unter den verschiedenen CPU-Synthetisiermodi eingestellt ist. Wenn der Synthetisierung-nach-physikalischem-Modell-Modus erkannt wird, werden in Schritt Sd8 die für einen Abtastpunkt erforderlichen Abtastwerte von der CPU 10 gemäß der Methode der Synthetisierung nach physikalischem Modell berechnet. Im mehrstimmigen Modus wird eine Anzahl an zur Synthetisierung einer gewünschten Anzahl an Stimmen erforderlichen Abtastwerten mit der Methode der Synthetisierung nach physikalischem Modell berechnet. Wenn der Synthetisierung-nach-physikalischem-Modell-Modus nicht in Schritt S7 erkannt wird, ist der gegenwärtige Betriebsmodus nicht in der vorliegenden Ausführungsform enthalten, so daß eine Warnung aufgrund der falschen Modus-Einstellung in Schritt Sd9 ebenso ausgeführt wird, wie ein anderer Prozeß. Nach den Schritten Sd2, Sd4, Sd6, Sd8 oder Sd9 kehrt die Prozedur zurück, und dann wird der folgende Schritt Sa16 (9) ausgeführt.
  • Betreffend die Wellenformabtastwertberechnung mit der CPU 10 und dem Co-Prozessor 17, die in Schritt Sc2 ausgeführt wird, wird die in 14 dargestellte Prozedur unter Zusammenarbeit der CPU 10 und des Koprozessors 17 ausgeführt, so daß die Rechenoperation schneller vonstatten gehen kann. Auf die detaillierte Erläuterung der Operation wird hier verzichtet, da die Prozedur im wesentlichen die gleiche ist, wie die Berechnung alleine durch die CPU.
  • Bei der Wellenformabtastwertberechnung in Schritt Sa15 wird somit die Verarbeitung in einem der CPU-Synthetisiermodi ausgeführt, welche auf die Güte des erzeugten Klangs den größten Einfluß hat. In dem FM-Modus, Obertonsynthetisiermodus oder Synthetisierung-nach-physikalischem-Modell-Modus ist die Zeit, welche für die Wellendatenberechnung erforderlich ist, sowie die Anzahl der Stimmen, die gleichzeitig wiederzugeben sind, der Flaschenhals der Klangsynthetisierung. Die Wellendaten an jedem Abtastpunkt werden tatsächlich berechnet, um die Rechenleistung zu überprüfen. Die Berechnung wird wiederholt in den Schritten Sa15 bis Sa17 über m Zyklen erledigt, und die Zeit, die für m Abtastwertberechnungen erforderlich ist, wird von der Zeitgeberoperation in Schritt Sa21 gemessen, um die für die Verarbeitungsleistung der CPU geeignete Abtastfrequenz fs einzustellen. Ähnlich ist in dem Wellenformspeicherauslesemodus der Auslesevorgang der Wellendaten der Flaschenhals der Klangsynthetisierung, so daß die Wellendaten an jedem Abtastpunkt ausgelesen werden, um die Zugriffsgeschwindigkeit zu überprüfen. Der Ausleseprozeß wird in den Schritten Sa15 bis Sa17 für m Abtastwerte ausgeführt, und die für die m Abtastwertberechnungen erforderliche Zeit wird von der Zeitgeberoperation in Schritt Sa21 gemessen, um die für die Verarbeitungsleistung der CPU geeignete Abtastfrequenz fs einzustellen.
  • Das Synthetisieren mit der ausgewählten Hardware, das in dem oben beschriebenen Schritt Sa34 (11) ausgeführt wird, wird untenstehend erläutert. Dieser Synthetisierprozeß wird ausgeführt, wenn nicht die Stimmen aller Kanäle ausschließlich von dem CPU-Synthetisiermodus synthetisiert werden. Dieser Prozeß wird ausgeführt, um die Klangquellenvorrichtung, die für die Erzeugung der Wellenform benutzt wird, gemäß dem Zuweisungsmodus zu steuern. Zuallererst wird in dieser Prozedur in Schritt Se1 von 15 eine Ereignisermittlung ausgeführt. Das Ereignis umfaßt ein Taste-Ein-Ereignis, das als Reaktion auf Tastaturinformation KBD oder MID-Information ausgegeben wird, und umfaßt andere Ereignisse, die nicht nur mit dem CPU-Synthetisiermodus in Erfindung stehen, sondern auch mit dem Klangquellenvorrichtungsmodus. Auf Erkennen eines Taste-Ein Ereignisses hin, leitet die Vorrichtung den Synthetisiervorgang ein. In Schritt Se2 wird geprüft, ob der gegenwärtige Betriebsmodus den Klangquellensynthetisiermodus zuweist oder nicht. Wenn das Abfrageergebnis "Nein" ist, zweigt die Prozedur zu Schritt Se11 ab. Andernfalls fährt die Prozedur fort mit dem nachfolgenden Schritt Sei, wenn das Abfrageergebnis "Ja" ist. In Schritt Sei wird geprüft, ob der gegenwärtige Synthetisierablaufzustand der Klangquellenvorrichtungen und die zu dem Ereignis gehörenden Spielinformation einer "Bedingung" für die Synthese der Wellenform durch die Klangquellenvorrichtung entsprechen. In der vorliegenden Ausführungsform ist eine Bedingung, ob die Anzahl der Stimmen (Klangfarben), die zu synthetisieren sind, gegenwärtig innerhalb der Höchstanzahl an Stimmen liegt, die gleichzeitig von der bestimmten Hardware-Vorrichtung in dem Klangquellensynthetisiermodus synthetisiert werden können. Insbesondere ist in Schritt Sei die Zahl der Kanäle, die gegenwärtig in einem aktiven Zustand sind und für die Klangquellenvorrichtung zugewiesen werden, kleiner oder gleich der vollen Anzahl an Kanälen, die für die gleichzeitige Synthese der Stimmen durch die Vorrichtung genutzt werden können. Die "Bedingung" kann andere, nachfolgend aufgeführte Faktoren einschließen: (1) Ob eine "Tonhöhe" oder ein "Anschlag", die bzw. der von einem erfaßten Ereignis bestimmt wird, höher (oder niedriger) als ein vorherbestimmter Wert ist. (2) Ob ein Wert, der für eine "Klangfarbe" von Bedeutung ist und von einem erfaßten Ereignis bestimmt wird, höher (oder niedriger) als ein vorherbestimmter Wert ist. (3) Ob ein Wert, der für die Anzahl der "Teile" in der Spielinformation von Bedeutung ist und von einem erfaßten Ereignis bestimmt wird, höher (oder niedriger) als ein vorherbestimmter Wert ist. (4) Ob ein erfaßter MIDI-CH-Wert (Anzahl der Kanäle), der für das erfaßte Ereignis von Bedeutung ist, höher (oder niedriger) als ein vorherbestimmter Wert ist. Wie oben gezeigt, können die Kriterien für die "Bedingung" darauf verallgemeinert werden, ob ein bestimmter Wert, der von der Spielinformation festgelegt wird, höher (oder niedriger) als ein vorherbestimmter Wert ist. Es ist möglich, eine bestimmte "Bedingung" so zu implementieren, daß sie ein negatives Ergebnis ausgibt, wenn eine eigentümliche Klangfarbe bestimmt wird, um in dem FM-Modus oder dem Obertonsynthetisiermodus unter Nutzung der Klangquellenvorrichtung synthetisiert zu werden. Diese Implementierung wird später in einer anderen Ausführungsform beschrieben. Wenn die "Bedingung" erfüllt ist, wird eine Kanalzuweisungsprozeß in Schritt Se4 so ausgeführt, daß ein Kanal zur Synthetisierung einer Stimme für das Taste-ein-Ereignis aus einer Anzahl an freien Kanälen in der Klangquellenvorrichtung, die gegenwärtig nicht für die Synthetisierung des Klangs benutzt werden, zugewiesen wird. In Schritt Se5 wird die Klangerzeugung unter Nutzung der bestimmten Klangquellen-Hardware ausgeführt, in welcher die tatsächliche Erzeugung der Wellenform für das ausgegebene Ereignis in dem zugewiesenen Kanal durchgeführt wird.
  • Wenn die "Bedingung" in Schritt Sei nicht erfüllt ist, wird in Schritt Se6 geprüft, ob das Flag ENBLFLG "1" ist, oder nicht. In dieser Phase zeigt der Wert "1" des Flags ENBLFLG an, daß die Schritte Sa13 bis Sa25 bereits ausgeführt worden sind, und zeigt an, daß die Abtastfrequenz fs für den CPU-Synthetisiermodus bereits eingestellt ist. Somit ist der CPU-Synthetisiermodus verfügbar. Daher wird, wenn das Ergebnis der Prüfung in Schritt Se6 wegen des Werts "1" des Flags ENBLFLG "Ja" ist, die Prozedur der Stimmenzuweisung auf den CPU-Synthetisiermodus in Schritt Se7 ausgeführt, so daß die Synthetisierung der Wellenform, die zu dem Ereignis, das nicht der Bedingung für die Synthetisierung durch die Klangquellenvorrichtung entspricht, passend ist, vom CPU-Synthetisiermodus ausgeführt wird. Insbesondere wird in dieser Prozedur der Zuweisung der CPU-Synthetisierung ein Zuweisungsbefehl ausgegeben, um Abtastwerte der Wellenform, die zu diesem Ereignis passend ist, zu berechnen. Der Befehl beinhaltet die Zuweisung des Berechnungsmodus, der von der CPU 10 auszuführen ist (jeglicher Modus aus den CPU-Synthetisiermodi) und die Zuweisung der Klangfarbe, der Tonhöhe, des Anschlags, der Lautstärke und der Kanalzuweisung. Weiter beinhaltet der Befehl Notenbefehle, wie Taste-ein und Taste-aus. Solange der Zuweisungsbefehl gültig ist, führen die Berechnungsbaugruppen einschließlich der CPU 10 im Schritt Se10 den Berechnungsprozeß der Wellenformerzeugung aus, um die zu dem Ereignis passenden Abtastwerte zu generieren. Der Zuweisungsbefehl beinhaltet auch Information über den Beginn und das Ende von Interrupts, wenn die Wellenform mit dem Interrupt-Prozeß erzeugt wird. Andererseits ist der CPU-Synthetisiermodus nicht verfügbar, wenn der Wert "0" des Flag ENBLFLG in Schritt Se6 erkannt wird. In diesem Fall wird ein Abbruchprozeß ausgeführt, um in Schritt Se8 den Klangerzeugungsvorgang eines Kanals, welcher der älteste ist, auszuschalten, um gewaltsam einen freien Kanal zu schaffen. Dieser Abbruchprozeß kann in dem Zuweisungsprozeß enthalten sein, der in Schritt Se4 ausgeführt wird. In Schritt Se4 wird das relevante Ereignis dem freien Kanal zugewiesen, der durch das gewaltsame Note-Aus geschaffen wurde, und die Synthetisierung der Wellenform, die für das Ereignis von Bedeutung ist, wird von dem zugewiesenen Kanal in Schritt Se4 ausgeführt. Wenn mehrere Klangquellenvorrichtungen an das System angeschlossen sind, können Kanäle von verschiedenen Klangquellenvorrichtungen zugewiesen werden, um eine einzige Klangfarbe zu synthetisieren.
  • Übrigens kann, wenn der Klangquellenauswahlmodus oder vorhergehende Modus in Schritt Se2 nicht erkannt wird, es den CPU-Auswahl-Vorrang-Modus oder den manuellen Modus geben, in dem der CPU-Synthetisiermodus zusammen mit dem Klangquellensynthetisiermodus eingestellt wird. Somit zweigt die Prozedur zu Schritt Se11 in 16 ab. In diesem Schritt Se11 wird geprüft, ob der gegenwärtige Zustand des CPU-Synthetisiermodus und die Spielinformation, die für ein ausgegebenes Ereignis von Bedeutung ist, der "Bedingung" für die Synthetisierung durch die Baugruppen einschließlich der CPU entspricht. Verschiedene Faktoren können, wie im Fall der "Bedingung" für die Synthese durch die Klangquellenvorrichtung (Schritt Sei) als die "Bedingung" für Synthese durch die CPU ersonnen werden. In dieser Ausführungsform ist die Bedingung, ob eine Anzahl an zu synthetisierenden Stimmen (Klangfarben) gegenwärtig innerhalb einer Höchstanzahl an Stimmen liegt, die gleichzeitig mit dem CPU-Synthetisiermodus synthetisiert werden können. Insbesondere wird in Schritt 11 geprüft, ob die Zahl der Kanäle (CH) die gegenwärtig im Note-An-Zustand gehalten werden und für die Berechnungsbaugruppen einschließlich der CPU zugewiesen sind, kleiner oder gleich der Höchstanzahl an Kanälen ist, die für die gleichzeitige Synthetisierung von Wellenforman durch den CPU-Synthetisiermodus genutzt werden können. Wenn die "Bedingung" erfüllt ist, wird in Schritt Se12 geprüft, ob das Flag ENBLFLG "1" ist oder nicht. Wie oben beschrieben, zeigt der Wert "1" des Flag ENBLFLG hier an, daß die Synthese der Wellenform durch den CPU-Synthetisiermodus bereit ist, gestartet zu werden. Daher wird die Zuweisungsprozedur für die Wellenformsynthese durch die Baugruppen einschließlich der CPU 10 in Schritt Se13 ausgeführt, und zudem schreitet die Prozedur fort zu Schritt Se9. Die Einzelheiten der Zuweisungsprozedur in Schritt Se13 werden hier nicht noch einmal erklärt, da die Prozedur letztendlich die gleiche ist, wie in Schritt Se7. Andererseits wird, wenn der "Bedingung" für die Synthese der Wellenform durch die CPU in Schritt Se11 nicht entsprochen wird, oder wenn die Baugruppen einschließlich der CPU 10 in Schritt Se12 nicht bereit sind, die Zuweisungsprozedur in Schritt Se14 wie in Schritt Se4 ausgeführt, so daß die zu dem Ereignis passende Verarbeitung von der externen Klangquellenvorrichtung erledigt wird. Das Synthetisieren unter Nutzung der bestimmten Hardware wird in Schritt Se15 wie in Schritt Se5 ausgeführt. Nach Schritt Se13 werden der Schritt Se9 und der Schritt Se10 ausgeführt. In Schritt Se9 wird ermittelt, ob der Zuweisungsbefehl zum Erzeugen von Wellendaten durch die CPU vorhanden ist. Wenn der Befehl nicht erkannt wird, kehrt die Prozedur unverzüglich zurück. Andernfalls wird die Wellenform gemäß dem Zuweisungsbefehl berechnet, um mittels der CPU in Schritt Se10 Klang zu erzeugen.
  • Somit wird im Externe-Klangquelle-Vorrang-Modus der Synthetisierprozeß, welcher der "Bedingung" der Synthese durch die Hardware-Vorrichtung entspricht, von der Klangquelle in Schritt Se5 ausgeführt, während der Synthetisierprozeß, welcher der "Bedingung" nicht entspricht, von der CPU 10 in Schritt Se10 ausgeführt wird. Andererseits wird, wenn der zugewiesene Modus nicht der Externe-Klangquelle-Vorrang-Modus ist, der Prozeß, welcher der "Bedingung" für die Synthese durch die CPU 10 entspricht, von der CPU 10 durch das Software-Modul in Schritt Se10 ausgeführt, während der Synthetisierprozeß, welcher der "Bedingung" für die Synthese durch die CPU 10 nicht entspricht, von der Hardware-Klangquellenvorrichtung in Schritt Se15 ausgeführt wird. Somit wird bei der Synthese mit Nutzung der ausgewählten Hardware, wenn der Synthetisierprozeß über die Verarbeitungsleistung der bestimmten Hardware im Klangquellensynthetisiermodus hinausgeht, der darüber hinausgehende Teil des Prozeß vom CPU-Synthetisiermodus ausgeführt, so daß es ohne Erweiterung des Hardware-Aufbaus möglich ist, eine Anzahl an Stimmen zu synthetisieren, welche größer ist als die volle Anzahl an Stimmen, die gleichzeitig in der Hardware wiedergegeben werden können. Allgemein weist das erfindungsgemäße Gerät, wenn die Eingabevorrichtung, wie etwa der Ein/Ausgabe-Anschluß 14, Spielinformation bereitstellt, welche die Anweisung der gleichzeitigen Erzeugung mehrerer Musikklänge bewirkt, entweder den ersten Wellenformgenerator oder den zweiten Wellenformgenerator gemäß einer Zahl an gleichzeitigen Musikklängen, die durch die Spielinformation bestimmt sind, so zu, daß der zugewiesene Wellenformgenerator eine Kapazität besitzt, die ausreichend ist, um eine Anzahl an Wellenformen entsprechend der Anzahl an Musikklängen zu erzeugen. Wenn die Zahl der gleichzeitigen Musikklänge über eine Kapazität entweder des ersten oder des zweiten Wellenformgenerators hinausgeht, werden sowohl der erste Wellenformgenerator als auch der der zweite Wellenformgenerator zugewiesen, um die vollständige Erzeugung der gleichzeitigen Musikklänge sicherzustellen.
  • Der Zeitgeberprozeß wird untenstehend beschrieben. Der Zeitgeberprozeß ist ein Interrupt-Prozeß, der zu einem zuvor festgelegten Intervall Tt während dem oben beschriebenen versuchsweisen Wellenformersyntheseprogramm ausgeführt wird. 17 ist ein Flußdiagramm, das den Zeitgeberprozeß im Detail veranschaulicht. In Schritt Sf1 wird geprüft, ob das Flag BUSY "1" ist, was bedeutet, daß das Aufwärtszählen des Zeitgebers aktiviert ist. Wenn das Ergebnis der Abfrage negativ ist, springt die Prozedur zu Schritt Sf3. Andernfalls schreitet die Routine fort zu Schritt Sf2, in welchem das Register TCOUNT um "1" erhöht wird, wenn das Ergebnis positiv ist. In Schritt Sf3 werden verschiedene andere Zeitgeber-Prozesse ausgeführt, um die Zeitgeberroutine zu beenden. Somit erhöht der Zeitgeberprozeß das Register TCOUNT um "1", wenn das Flag BUSY "1" ist. Das Flag BUSY schaltet nur in der Schleife der Schritte Sa9 bis Sa11 auf "1 ", so daß der Inhalt des Registers TCOUNT die Aufrufzyklen des Zeitgeber Prozesses innerhalb der Zeit anzeigt, welche für die Berechnung oder das Lesen einer Wellenform erforderlich ist. Die verstrichene Zeit kann durch Multiplikation von TCOUNT mit Tt hergeleitet werden.
  • In der in 1 gezeigten Anordnung sind alle optionalen Bauteile, wie der Koprozessor 17, der DSP 21 und die externe Klangquelle 22 voll installiert. Somit können in dieser Anordnung alle Betriebsmodi in Hinblick auf den Synthetisiermodus und den Zuweisungsmodus bestimmt werden. Wenn der Betriebsmodus mit erster Priorität auf den Klangquellenauswahlmodus eingestellt wird, wird ein Teil des Prozesses, der über die Verarbeitungsleistung der externen Klangquelle hinausgeht, der CPU zugewiesen, und die CPU verarbeitet den Prozeß so, daß der Musikklang über die Begrenzung der externen Klangquellenvorrichtung hinaus erzeugt werden kann, und verschiedene Klangfarben erzeugt werden können. Ferner können verschiedene Klangfarben auch in dem CPU-Auswahlmodus erzeugt werden, dem erste Priorität gegeben worden ist. Da die Abtastfrequenz fs in Schritt Sa21 immer auf den optimalen Wert gesetzt wird, kann eine hohe Güte des erzeugten Klangs aufrechterhalten werden.
  • In der oben beschriebenen Ausführungsform sind die optionalen Bauteile voll installiert, wie in 1 dargestellt. Allerdings ist der Hardware-Aufbau des Personalcomputers oder des elektronischen Musikinstruments je nachdem, welche optionalen Bauteile installiert sind, unterschiedlich. Der verfügbare Betriebsmodus des Musikklangerzeugungsprogramms ist unterschiedlich je nach Hardware-Aufbau. Die Operationen des Musikklangerzeugungsprogramms in anderen Hardware-Anordnungen, welche verschieden von dem in 1 dargestellten sind, werden untenstehend beschrieben.
  • Der in 21 gezeigte Hardware-Aufbau entbehrt aller optionalen Bauteile, einschließlich Koprozessor 17, DSP 21 und LSI-Klangquelle 22. Es versteht sich von selbst, daß der Klangquellensynthesemodus bei diesem Aufbau nicht verfügbar ist, da das Abfrageergebnis in Schritt Sa4 (8) "Ja" wird, und nur der CPU-Synthetisiermodus verwendet werden kann. Allerdings ist, wenn die Verarbeitungsgeschwindigkeit der CPU 10 nicht hoch genug ist, die Wellendatenberechnung in Echtzeit unmöglich, da sowohl der Koprozessor 17 als auch der DSP 21 nicht installiert sind. Somit kann eine Situation herrschen, in welcher der Wellenformspeicherauslesemodus nur in den CPU-Synthetisiermodi verfügbar ist.
  • Der in 22 gezeigte Hardware-Aufbau besitzt nur den Koprozessor 17 als optionales Bauteil. Bei diesem Aufbau ist Hardware-Klangquellensynthesemodus nicht verfügbar, da das Abfrageergebnis in Schritt Sa4 (8) "Ja" wird. Nur der CPU-Synthetisiermodus ist möglich. Es sind jedoch alle CPU-Synthetisiermodi möglich, da arithmetische Hochgeschwindigkeitsoperationen in Echtzeit aufgrund des Koprozessors 17 möglich sind. Sowohl die tatsächliche Wellenformberechnung (Schritt Sa9) als auch die versuchsweise Wellenformberechnung (Schritt Sa15) wird bei diesem Aufbau von sowohl der CPU 10 als auch dem Koprozessor 17 ausgeführt, da der Koprozessor 17 verfügbar ist.
  • Der in 23 dargestellte Hardware-Aufbau enthält den Koprozessor 17 und den DSP 21 als optionale Bauteile. Der Zweck des DSP ist es, die Hochgeschwindigkeitsberechnung von Wellendaten zu ermöglichen. Wenn der DSP 21 als externe Klangquelle behandelt wird, ist der Klangquellensynthesemodus mittels des DSP 21 vom zweiten Aufruf des Synthetisierprogramms an oder danach verfügbar, da das Abfrageergebnis in Schritt Sa4 (8) "Nein" wird. Der Verwendungszweck des DSP 21 ist jedoch, die Datenberechnung zu erleichtern, so daß die Wellendaten nicht durch die Wellenformspeicherauslesemethode erzeugt werden, sondern von den verschiedenen rein arithmetischen Modi, wie dem FM-Modus, dem Obertonsynthesemodus und dem physikalischen Modelliermodus erzeugt werden. Weiter ist der CPU-Synthetisiermodus verfügbar je nach Zuweisungsmodus. Die Wellendatenberechnung ist möglich, aber der Wellendatenspeicherauslesemodus ist nicht verfügbar, da die direkte Speicherzugriffssteuerung 19 und das RAM 20 nicht vorhanden sind. Es ist nur möglich, den FM-Modus, den Obertonsynthetisiermodus und den Synthetisierung-nach-physikalischem-Modell-Modus zu verwenden, bei denen die Hochgeschwindigkeitswellenformberechnung in Echtzeit ausgeführt wird. Sowohl die Berechnung der tatsächlichen Wellenform (Schritt Sa8), als auch die versuchsweise Wellenformberechnung (Schritt Sa15) werden bei diesem Aufbau von sowohl der CPU 10 als auch dem Koprozessor 17 ausgeführt.
  • Der in 24 gezeigte Hardware-Aufbau enthält nur die LSI-Klangquelle 22 als optionales Bauteil. Bei diesem Aufbau ist der Klangquellensynthesemodus vom zweiten Aufruf des Synthetisierprogramms an oder danach verfügbar, da das Abfrageergebnis in Schritt Sa4 (8) "Nein" wird. Weiter ist der CPU-Synthetisiermodus verfügbar je nach Zuweisungsmodus. Es kann jedoch eine Situation herrschen, in welcher der Wellenformauslesemodus nicht verwendet werden kann, da die direkte Speicherzugriffssteuerung 19 und das RAM 20 fehlen. Weiter ist, wenn die Verarbeitungsgeschwindigkeit der CPU 10 nicht hoch genug ist, die Wellendatenberechnung in Echtzeit unmöglich, da der Koprozessor 17 fehlt. Somit kann eine Situation vorliegen, in welcher die CPU-Synthetisiermodi nicht verfügbar sind.
  • Eine zweite Ausführungsform wird untenstehend erklärt. Im allgemeinen ist es schwierig, einen realistischen Klang von perkussiven Tönen, wie beispielsweise ein Rhythmus- oder Trommelinstrument, durch Wellendatenberechnung gemäß dem FM-Modus oder der Obertonsynthetisiermethode wiederzugeben. Wenn die LSI-Klangquele 22 installiert ist, und diese Klangquelle 22 die Wellendaten des Musikklangs durch eine reine Berechnungsmethode, wie den FM-Modus, anstelle der Wellenformspeicherauslesemethode berechnet, ist es daher nicht angemessen, den Klang mittels der LSI-Klangquelle 22 wiederzugeben. Ferner ist es nicht notwendig, die Wellendaten mittels eines arithmetischen Berechnungsmodus anstelle des Wellenformauslesemodus mittels der CPU 10 zu berechnen, wenn diese Art von LSI-Klangquelle 22 installiert ist. Ferner sollte die CPU 10 andere Arbeiten als die Wellenfomerzeugung ausführen, so daß die Systembelastung, die für die Ausführung des Wellenformerzeugungsprogramms notwendig ist, so weit wie möglich reduziert werden sollte, insbesondere für den Fall, daß die Verarbeitungsleistung der CPU 10 nicht hoch ist. Somit ist es in dieser Situation vorteilhaft, daß die CPU 10 die perkussiven Wellendaten, welche für die LSI-Klangquelle 22 ungeeignet sind, im Wellenformspeicherauslesemodus generiert, während die LSI-Klangquelle 22 die Wellendaten für andere Klangfarben generiert. Somit kann die Berechnungsbelastung für die CPU 10 vermindert werden, und die LSI-Klangquelle 22 braucht nicht irgendwelche Wellendaten zu synthetisieren, für welche die Klangquelle 22 geringe Leistungsfähigkeit besitzt. Die Güte des wiedergegebenen Klangs kann möglichts hoch gehalten werden. Der Verwendungszweck der zweiten Ausführungsform ist auf eben diesen Punkt ausgerichtet. Für die zweite Ausführungsform wird angenommen, daß die Klangquelle 22 wie in 1 oder 24 gezeigt installiert ist. In Hinblick auf das Wellenformsynthetisierprogramm wird der Synthetisierprozeß, welcher die ausgewählte Hardware (15 und 16 ) verwendet, durch den in 18 dargestellten Prozeß ersetzt. Näher betrachtet, wird der Synthetisierprozeß, der die ausgewählte Hardware in Schritt Sa34 (11) benutzt, durch den in 18 dargestellten Prozeß ersetzt. Der ausgetauschte Prozeß wird untenstehend beschrieben, während auf die Erläuterung der anderen Prozesse verzichtet wird, um wiederholte Beschreibung zu vermeiden.
  • In dieser zweiten Ausführungsform läuf das Programm mit Erreichen des Schritts Sa34, um den Synthetisierprozeß unter Verwendung der ausgewählten Hardware, wie in 18 dargestellt, auszuführen. In Schritt Sg1 wird die Ereigniserkennung ausgeführt, wie in Schritt Se1. In Schritt Sg2 wird eine Systemüberprüfung für die Stimmenzuweisung ausgeführt. Näher betrachtet, wird für jede Stimme (Klangfarbe) ein Bauteil, entweder die CPU oder die LSI-Klangquelle, bestimmt, um die Synthese durchzuführen. Die Kriterien für diese Zuweisung werden im folgenden beschrieben. Im allgemeinen besitzt die Klangquelle eine einzigartige Ausstattung an verfügbaren Klangfarben, so daß eine individuelle Klangfarbe mittels eines individuellen Klangfarben-Codes bestimmt werden kann. Somit ist es möglich, im Voraus eine Tabelle zu implementieren, welche die Liste der Klangfarben-Codes der perkussiven Töne enthält, um zwischen den Tönen, die von der CPU 10 für den Fall zu verarbeiten sind, daß ein Klangfarbencode für das relevante Ereignis in der Tabelle gefunden wird, und den anderen Tönen, die von der LSI-Klangquelle 22 verarbeitet werden, unterscheiden zu können. Bei der vorliegenden Ausführungsform können jedoch die Zuweisungskriterien womöglich nicht auf den Klangfarben-Code begrenzt sein. Es ist möglich, im manuellen Modus Klangfarbenverarbeitungsmittel in der Weise einzusetzen, daß eine bestimmte Klangfarbe von der CPU 10 zu verarbeiten ist, und eine andere Klangfarbe von der Klangquelle 22 zu verarbeiten ist. Jeder Ton kann auch in Abhängigkeit der Anzahl der Kanäle zugewiesen werden, die für das gleichzeitige Synthetisieren benutzt werden können. Ferner kann im Zwangsmodus jeder Ton von anderen laufenden Programmen gewaltsam zugewiesen werden.
  • Für die Töne, die der LSI-Klangquelle 22 zugewiesen werden, werden durch den Stimmenzuweisungsprozeß in Schritt Sg3 wie in Schritt Se4 (15) freie Kanäle geschaffen. In Schritt Sg4 wird die Wellenform, die zu dem Taste-ein-Ereignis passend ist, durch die freien Kanäle synthetisiert. Die Synthetisiermethode für diesen Vorgang ist nicht auf den FM-Modus, den Obertonsynthetisiermodus oder den physikalischen Modelliermodus begrenzt, sondern es ist möglich, beispielsweise je nach den Eigenschaften der installierten Klangquelle 22 den PCM-Modus zu verwenden, um die Wellendaten aus dem Wellenformspeicher 25 auszulesen. Andererseits wird in Schritt Sg5 wie in Schritt Se7 (15) für die der CPU 10 zugewiesenen Klangfarben die Zuweisungsprozedur für die CPU-Synthetisierung erledigt, um einen Zuweisungsbefehl zur Erzeugung von Wellendaten, die für das ermittelte Ereignis von Bedeutung sind, zu erzeugen. Wenn der Zuweisungsbefehl verfügbar ist, ergibt die Abfrage in Schritt Sg6 "Ja", und die Synthetisierberechnung wird in Schritt Sg7 ausgeführt, um eine Wellenform zu erzeugen, welche zu dem Zuweisungsbefehl passend ist. Die Synthese der Wellenform wird von dem Wellenformspeicherauslesemodus bewirkt, um die Belastung der CPU, wie oben beschrieben, gering zu halten. Andererseits ergibt die Abfrage in Schritt Sg6 ein "Nein", wenn der Zuweisungsbefehl nicht verfügbar ist, und die Prozedur kehrt zurück.
  • Bei dieser zweiten Ausführungsform können Musikklänge wahlweise der CPU 10 und der Klangquelle 22 gemäß ihren Klangfarben zugewiesen werden, so daß eine optimale Verteilung der Verarbeitungsbelastung für die CPU 10 und die Klangquelle 22 möglich ist, und die verschiedenen Klangfarben erzeugt werden können, während die Güte der wiedergegebenen Klänge aufrechterhalten werden kann. Zusammenfassend stellt die Eingabevorrichtung Spielinformation bereit, welche Klangfarbeninformation enthält, die wirksam ist, um eine Klangfarbe des Musikklangs festzulegen, und Zeiteinteilungsinformation, die wirksam ist, eine Zeiteinteilung der Erzeugung des Musikklangs festzulegen. Entweder der erste oder der zweite Wellenformgenerator werden entsprechend der Klangfarbeninformation bestimmt, so daß die Ausgabevorrichtung den Musikklang erzeugt, der eine bestimmte Klangfarbe zu einer bestimmten Zeit besitzt.
  • Bei der ersten und der zweiten Ausführungsform wird der Synthetisierprozeß für einen Ton in den von der CPU 10 vorhandenen Kanälen ausgeführt, oder in den anderen Kanälen, welche in der Klangquelle 22 vorhanden sind. Allerdings kann der Synthetisierprozeß für einen Ton sowohl von der CPU 10 als auch von der Klangquelle 22 ausgeführt werden. In dieser Anordnung ist es möglich, auf seiten der CPU 10 den Obertonsynthetisiermodus zu benutzen, und einen anderen Modus als den Obertonsynthetisiermodus, z.B. den FM-Modus, auf seiten der Klangquelle 22 zu benutzen, so daß abweichende Töne erzeugt werden können, da der selbe Ton mit verschiedenen Berechnungsmodi erzeugt wird. Der Verwendungszweck der dritten Ausführungsform ist auf genau diesen Punkt gerichtet. Bei der dritten Ausführungsform wird angenommen, daß die LSI-Klangquelle 22, wie in den 1 und 24 dargestellt, in dem System installiert ist. In Hinblick auf das Wellenformerzeugungsprogramm wird der Synthetisierprozeß, der die ausgewählte Hardwarevorrichtung (15 und 16) benutzt, durch den in 19 dargestellten Prozeß ersetzt. Näher betrachtet, wird der Synthetisierprozeß, der die ausgewählte Hardware in Schritt Sa34 (11) benutzt, durch den in 19 dargestellten Prozeß ersetzt. Der ausgetauschte Prozeß wird untenstehend beschrieben, während auf die Erläuterung der anderen Prozesse verzichtet wird, um wiederholte Beschreibung zu vermeiden.
  • In dieser Ausführungsform läuft das Programm mit Erreichen des Schritts Sa34, um den Synthetisierprozeß unter Verwendung der ausgewählten Hardware, wie in 19 dargestellt, auszuführen. In Schritt Sh1 wird die Ereigniserkennung ausgeführt, wie in den Schritten Sei und Sg1. In Schritt Sh2 wird eine Systemüberprüfung für die Stimmenzuweisung ausgeführt. Näher betrachtet, wird für jede Stimme (jeden Ton) ein Bauteil, entweder die CPU 10 oder die LSI-Klangquelle 22, bestimmt, um die Synthese durchzuführen. Die Kriterien für diese Zuweisung können, wie in der zweiten Ausführungsform, der Klangfarben-Code, die Zahl der für die gleichzeitige Synthetisierung verfügbaren Kanäle oder die durch den manuellen Modus oder Zwangsmodus konfigurierte Einstellung sein. Für die der LSI-Klangquelle zugewiesenen Töne werden freie Kanäle in Schritt Sh3 durch den Stimmenzuweisungsprozeß vorbereitet wie in Schritt Se4 (15). In Schritt Sh4 wird die zu dem Note-Ein-Ereignis passende Wellenform durch die freien Kanäle synthetisiert. Die Synthetisiermethode ist bei diesem Vorgang nicht auf den FM-Modus oder die Obertonsynthetisiermethode begrenzt, sondern es ist möglich, beispielsweise den physikalischen Modelliermodus und den PCM-Modus zum Auslesen von Wellendaten aus dem Wellenformspeicher 25 je nach den Eigenschaften der installierten Klangquelle 22 zu benützen. Andererseits wird in Schritt Sh5 wie in Schritt Se7 (15) für die der CPU 10 zugewiesenen Töne die Zuweisungsprozedur für die CPU-Synthetisierung erledigt, um einen zu dem ermittelte Note-Ein-Ereignis passenden Zuweisungsbefehl zu erzeugen. In dem Zuweisungsbefehl ist Information über die Berechnungsmethode enthalten. Die Stimme, die sowohl der CPU 10 als auch der Klangquelle 22 zugewiesen wird, wird in den Schritten Sh3 und Sh4 von der LSI-Klangquelle 22 verarbeitet, während die selbe Simme in Schritt Sh5 von der CPU 10 verarbeitet wird. Diese Prozesse werden parallel ausgeführt. Wenn der Zuweisungsbefehl verfügbar ist, ergibt die Abfrage in Schritt Sh6 "Ja", und die Synthetisierberechnung wird in Schritt Sh7 ausgeführt, um eine zu dem Zuweisungsbefehl passende Wellenform zu erzeugen. Anders als bei der zweiten Ausführungsform wird die Synthetisierberechnung durch verschiedene Modi ausgeführt, einschließlich FM, Obertonsynthetisierung, physikalische Modellierung und so weiter. Andererseits ergibt, wenn der Zuweisungsbefehl nicht verfügbar ist, die Abfrage in Schritt Sh6 "Nein", und die Prozedur kehrt zurück.
  • Bei der dritten Ausführungsform kann eine Stimme (ein Ton) sowohl der CPU 10 als auch der LSI-Klangquelle zugeordnet werden, so daß tatsächlich verschiedene Wellendaten für den selben Ton wiedergegeben werden können. Aufgrund dieses Merkmals kann die dritte Ausführungsform auch die Töne des Systems mannigfaltiger machen. Zusammenfassend werden sowohl der erste Wellenformgenerator als auch der zweite Wellenformgenerator gleichzeitig zugewiesen, so daß die Steuervorrichtung sowohl den ersten Wellenformgenerator als auch den zweiten Wellenformgenerator betreibt, um für eine einzelne Klangfarbe gleichzeitig Wellenformen parallel zu erzeugen.
  • Eine vierte Ausführungsform wird untenstehend erläutert. Obwohl der Stimmenzuweisungsmodus in den oben beschriebenen Ausführungsformen eingeführt worden ist, ist eine einfachere Implementierung möglich. Ein Ereignis, das einer bestimmten Klangquellenvorrichtung zugewiesen werden kann, wird auf das Erkennen des Ereignisses hin einfach der passenden Vorrichtung zugewiesen, vorausgesetzt, daß die Vorrichtung im System installiert ist. Eben diese Implementierung ist bei dieser vierten Ausführungsform vorgesehen. Für die vierte Ausführungsform wird angenommen, daß die Klangquelle 22 wie in 1 oder 24 dargestellt installiert ist, wie in der zweiten und der dritten Ausführungsform. In Hinblick auf das Programm zur Wellenformsynthetisierung wird der Synthetisierprozeß unter Verwendung der ausgewählten Hardware-Vorrichtung (15 und 16) durch den in 20 dargestellten Prozeß ersetzt. Näher betrachtet, wird der Synthetisierprozeß, der die ausgewählte Hardware in Schritt Sa34 (11) benutzt, durch den in 20 dargestellten Prozeß ersetzt. Der ausgetauschte Prozeß wird untenstehend beschrieben, während auf die Erläuterung der anderen Prozesse verzichtet wird, um wiederholte Beschreibung zu vermeiden.
  • In dieser Ausführungsform läuft das Programm mit Erreichen des Schritts Sa34, um den Synthetisierprozeß unter Verwendung der ausgewählten Hardware, wie in 20 dargestellt, auszuführen. Zunächst wird die Ereignis-Ermittlung ausgeführt, obwohl dieser Vorgang nicht dargestellt ist. In Schritt Si1 wird die Stimmenzuweisung ausgeführt, um einen freien Kanal in der LSI-Klangquelle 22 zu schaffen. In Schritt Si2 wird die zu dem erkannten Ereignis passende Wellenform unter Benutzung des freien Kanals tatsächlich synthetisiert. Die Synthetisierungsmethode ist bei diesem Vorgang nicht auf den FM-Modus oder die Obertonsynthetisiermethode begrenzt, sondern es ist möglich, beispielsweise den physikalischen Modelliermodus und den PCM-Modus zum Auslesen von Wellendaten aus dem Wellenformspeicher 25 je nach den Eigenschaften der installierten Klangquelle 22 zu benützen. Nach der Synthetisierung kehrt die Prozedur zurück. Somit wird in der vierten Ausführungsform ein Ereignis, das einer bestimmten Klangquellenvorrichtung zugewiesen werden kann, auf die Ereignis-Erkennung hin einfach dieser Vorrichtung zugewiesen, vorausgesetzt, daß diese Vorrichtung in dem System installiert ist.
  • 25 zeigt eine zusätzliche Ausführungsform des erfindungsgemäßen Musikklangerzeugungsgeräts. Diese Ausführungsform besitzt im wesentlichen den gleichen Aufbau, wie die erste, in 1 dargestellte Ausführungsform. Die gleichen Komponenten werden mit den gleichen Bezugszeichen bezeichnet, wie diejenigen der ersten Ausführungsform, um ein besseres Verstehen der zusätzlichen Ausführungsform zu erleichtern. Die Speichereinheit 15 kann verschiedene Daten speichern wie Wellenformdaten und verschiedene Programme einschließlich das Systemsteuerprogramm oder Grundprogramm, das Wellenformerzeugungsprogramm und andere Anwendungsprogramme. Normalerweise speichert das ROM 11 diese Programme vorsorglich. Wenn nicht, kann jedoch ein jegliches Programm auf die Festplatte oder sonstiges in der Speichereinheit 15 geladen werden. Das geladene Programm wird in das RAM 13 übertragen, um der CPU 10 zu ermöglichen, das erfindungsgemäße System des Musikklangerzeugungsgeräts zu betreiben. Auf diese Weise können neue Programme oder Programme höherer Versionen ohne weiteres auf dem System installiert werden. Zu diesem Zweck wird ein maschinenlesbares Medium wie eine CD-ROM (Compact-Disc-Nurlesespeicher) 51 verwendet, um das Programm zu installieren. Die CD-ROM 51 wird in ein CD-ROM-Laufwerk 52 gelegt, um das Programm über den Bus 12 von der CD-ROM 51 auszulesen und in die Speichereinheit 15 herunterzuladen. Das maschinenlesbare Medium kann aus einer magnetischen Platte oder einer von der CD-ROM 51 verschiedenen optischen Platte bestehen.
  • Eine Kommunikationsschnittstelle 53 ist mit einem externen Server-Computer 54 durch ein Kommunikationsnetzwerk 55, wie ein LAN (lokales Netzwerk), öffentliches Telefonnetz und INTERNET, verbunden. Wenn die Speichereinheit 15 benötigte Daten oder ein benötigtes Programm nicht gespeichert hat, wird die Kommunikationsschnittstelle 53 aktiviert, um Daten oder Programme von dem Server-Computer 54 zu empfangen. Die CPU 10 überträgt eine Anfrage an den Server-Computer 54 durch die Schnittstelle 53 und das Netzwerk 55. Als Reaktion auf die Anfrage überträgt der Server 54 die angefragten Daten oder das angefragte Programm zu dem Gerät. Die übermittelten Daten oder das übermittelte Programm werden in der Festplatte der Speichereinheit 15 gespeichert, um so das Herunterladen zu vollenden.
  • Das erfindungsgemäße Musikklangerzeugungsgerät kann auf einem Personalcomputer implementiert werden, auf welchem die benötigten Daten und Programme installiert sind. In einem solchen Fall werden die Daten und Programm dem Nutzer mittels des maschinenlesbaren Mediums, wie der CD-ROM 51 oder einer Diskette zur Verfügung gestellt. Das maschinenlesbare Medium enthält Befehle, die den Personalcomputer veranlassen, das erfindungsgemäße Musikklangerzeugungsverfahren auszuführen, wie in Verbindung mit den vorangehenden Ausführungsformen beschrieben. Andernfalls kann der Personalcomputer Daten und Programme durch das Kommunikationsnetzwerk 55 empfangen.
  • In den oben beschriebenen Ausführungsformen wird auf die optionalen Bauteile, welche den Koprozessor 17, den DSP 21 und die Klangquelle 22 umfassen, als Beispiele bezuggenommen, aber der Begriff zusätzliches Bauteil ist nicht auf diese Bauteile begrenzt. Die vorliegende Erfindung kann in Anwendungssystemen wie Personalcomputer, elektronisches Musikinstrument, Spielmaschine und so weiter verwendet werden, in welchen der Musikklang erzeugt wird.
  • Wie oben gezeigt, können gemäß der vorliegenden Erfindung verschiedene Wirkungen erlangt werden. Es ist möglich, verschiedene Musikklänge zu erzeugen, und die für die Musikklangerzeugung erforderliche Verarbeitungsbelastung zu vermindern. Der Musikklang kann bei einer für die Konfiguration des Geräts optimalen Abtastfrequenz erzeugt werden. Der Aufbau zur Erzeugung der Wellendaten des Musikklangs kann bedeutend vereinfacht werden. Die Güte des erzeugten Musikklangs kann selbst in leistungsschwacher Hardware aufrechterhalten werden. Der Musikklang kann gemäß der Spielinformation erzeugt werden, selbst wenn das Volumen der Spielinformation umfangreich wird.

Claims (9)

  1. Musikvorrichtung mit einem Zentralprozessor (10) zum Erzeugen eines Musiktons in Entsprechung zu einer Spielinformation (MIDI), welche Vorrichtung folgendes aufweist: Mittel zum Empfangen der Spielinformation (MIDI); einen Wellenformgenerator (32), der aus einem Software-Programm besteht, das durch den Zentralprozessor (10) in einem variablen Betriebsmodus abhängig von einer Rechenkapazität des Zentralprozessors (10) zum Erzeugen einer digitalen Wellenform ausführbar ist, und Mittel zum Erzeugen des Musiktons auf der Grundlage der digitalen Wellenform, dadurch gekennzeichnet, dass die Vorrichtung ferner folgendes aufweist: Mittel zum Feststellen, ob ein Zusatzprozessor (17) verfügbar ist oder nicht, um den Zentralprozessor (10) beim Erzeugen eines Musiktons zu unterstützen; wobei das Software-Programm sowohl von dem Zentralprozessor (10) als auch dem Zusatzprozessor (17) ausführbar ist, wenn der Zusatzprozessor (17) verfügbar ist; Mittel, die wirksam sind, wenn der Zusatzprozessor (17) detektiert wird, zum Einstellen des variablen Betriebsmodus des Wellenformgenerators (32) in Entsprechung zu einer Rechenkapazität des Zentralprozessors (10) und des Zusatzprozessors (17), die für den Betrieb des Wellenformgenerators (32) verfügbar ist, und die wirksam sind, wenn der Zusatzprozessor (17) nicht detektiert wird, zum Einstellen des variablen Betriebsmodus des Wellenformgenerators (32) in Entsprechung zu einer Rechenkapazität des Zentralprozessors (10), die für den Betrieb des Wellenformgenerators (32) verfügbar ist; den Zentralprozessor (10), der den Wellenformgenerator (32) in dem eingestellten variablen Betriebsmodus zusammen mit dem Zusatzprozessor (17) betreibt, wenn der Zusatzprozessor (17) detektiert wird, um die digitale Wellenform in Entsprechung zu der empfangenen Spielinformation (MIDI) zu erzeugen, und der den Wellenformgenerator (32) in dem eingestellten variablen Betriebsmodus alleine betreibt, wenn der Zusatzprozessor (17) nicht detektiert wird, um die digitale Wellenform in Entsprechung zu der empfangenen Spielinformation (MIDI) zu erzeugen.
  2. Musikvorrichtung nach Anspruch 1, bei der der Wellenformgenerator (32) in dem variablen Betriebsmodus mit einer variablen Betriebsgeschwindigkeit betreibbar ist, um eine digitale Wellenform durch sukzessives Berechnen von Abtastwerten der digitalen Wellenform zu erzeugen, und der provisorisch betrieben wird, um eine Probeerzeugung einer digitalen Modell-Wellenform auszuführen, während die Rechenkapazität des Zentralprozessors (10) in der Form der Betriebsgeschwindigkeit gemessen wird, bei welcher die Probeerzeugung ausgeführt wird, wobei die Vorrichtung ferner folgendes aufweist: Mittel zum Bestimmen des variablen Betriebsmodus in der Form einer Abtastfrequenz, die mit der gemessenen Betriebsgeschwindigkeit vergleichbar ist, und bei der der Zentralprozessor (10) den Wellenformgenerator (32) aktuell betreibt, um diesen zu aktivieren, Abtastwerte der digitalen Wellenform mit der ermittelten Abtastfrequenz sukzessiv zu berechnen.
  3. Musikvorrichtung nach Anspruch 1, bei der der Zusatzprozessor (17) einen Ko-Prozessor des Zentralprozessors (10) aufweist.
  4. Musikvorrichtung nach Anspruch 1, die Mittel enthält zum Feststellen der Rechenkapazität des Zentralprozessors (10), die für einen Betrieb des Wellenformgenerators (32) verfügbar ist, durch provisorisches Messen der Rechenkapazität des Zentralprozessors (10) bevor der Zentralprozessor (10) das Software-Programm zum Betreiben des Wellenformgenerators (32) ausführt.
  5. Musikvorrichtung nach Anspruch 1, die ferner Mittel aufweist zum Ändern des variablen Betriebsmodus, so dass ein erster Algorithmus, der ein Verfahren des Erzeugens der digitalen Wellenform definiert, in einen zweiten Algorithmus geändert wird, der einfacher als der erste Algorithmus ist, wenn die Rechenkapazität des Zentralprozessors (10) abnimmt.
  6. Musikvorrichtung nach Anspruch 1, die ferner Mittel aufweist zum Ändern des variablen Betriebsmodus in Entsprechung zu der Rechenkapazität des Zentralprozessors (10) in der Form einer variable Abtastfrequenz, bei welcher der Wellenformgenerator (32) Abtastwerte der digitalen Wellenform variabel erzeugt.
  7. Musikvorrichtung nach Anspruch 1, die ferner Mittel aufweist zum Ändern des variablen Betriebsmodus, so dass ein Satz von Rechenschritten, die durch den Zentralprozessor (10) zum Erzeugen der digitalen Wellenform durchgeführt werden, in Entsprechung zu der Rechenkapazität des Zentralprozessors (10) geändert wird.
  8. Verfahren zum Erzeugen eines Musiktons durch einen Zentralprozessor (10) in Entsprechung zu einer Spielinformation (MIDI), das die folgenden Schritte aufweist: Empfangen der Spielinformation (MIDI); Vorbereiten eines Wellenformgenerators (32), der aus einem Software-Programm besteht, das durch den Zentralprozessor (10) in einem variablen Betriebsmodus abhängig von einer Rechenkapazität des Zentralprozessors (10) ausführbar ist, um eine digitale Wellenform zu erzeugen, und Erzeugen des Musiktons auf der Grundlage der digitalen Wellenform, dadurch gekennzeichnet, dass das Verfahren ferner folgendes aufweist: Feststellen, ob ein Zusatzprozessor (17) verfügbar ist oder nicht, um den Zentralprozessor (10) bei der Erzeugung eines Musiktons zu unterstützen; wobei das Software-Programm sowohl von dem Zentralprozessor (10) als auch dem Zusatzprozessor (17) ausführbar ist, wenn der Zusatzprozessor (17) verfügbar ist; wenn der Zusatzprozessor (17) detektiert wird, Einstellen des variablen Betriebsmodus des Wellenformgenerators (32) in Entsprechung zu einer Rechenkapazität des Zentralprozessors (10) und des Zusatzprozessors (17), die für den Betrieb des Wellenformgenerators (32) verfügbar ist, und wenn der Zusatzprozessor (17) nicht detektiert wird, Einstellen des variablen Betriebsmodus des Wellenformgenerators (32) in Entsprechung zu einer Rechenkapazität des Zentralprozessors (10), die für den Betrieb des Wellenformgenerators (32) verfügbar ist; Betreiben des Wellenformgenerators (32) in dem eingestellten variablen Betriebsmodus zusammen mit dem Zusatzprozessor (17), wenn der Zusatzprozessor (17) detektiert wird, um die digitale Wellenform in Entsprechung zu der empfangenen Spielinformation (MIDI) zu erzeugen, und alleiniges Betreiben des Wellenformgenerators (32) in dem eingestellten variablen Betriebsmodus, wenn der Zusatzprozessor (17) nicht detektiert wird, um die digitale Wellenform in Entsprechung zu der empfangenen Spielinformation (MIDI) zu erzeugen.
  9. Maschinenlesbares Medium zur Verwendung in einer Musikvorrichtung mit einem Zentralprozessor zum Erzeugen eines Musiktons in Entsprechung zu einer Spielinformation (MIDI), wobei das Medium durch den zentralen Prozessor ausführbare Befehle enthält, die Musikvorrichtung zum Durchführen eines Verfahrens nach Anspruch 8 zu veranlassen.
DE69634271T 1995-06-06 1996-06-03 Durch Rechner gesteuertes Musiksystem mit Programmen und Schaltungen als Tonerzeuger Expired - Fee Related DE69634271T2 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP13952695 1995-06-06
JP13952695 1995-06-06
JP25349395 1995-09-29
JP7253493A JP2998612B2 (ja) 1995-06-06 1995-09-29 楽音発生装置

Publications (2)

Publication Number Publication Date
DE69634271D1 DE69634271D1 (de) 2005-03-03
DE69634271T2 true DE69634271T2 (de) 2006-04-13

Family

ID=26472312

Family Applications (3)

Application Number Title Priority Date Filing Date
DE69614765T Expired - Lifetime DE69614765T2 (de) 1995-06-06 1996-06-03 Durch Rechner gesteuertes Musiksystem mit hard- und softwareorientierter Tonerzeugung
DE69634271T Expired - Fee Related DE69634271T2 (de) 1995-06-06 1996-06-03 Durch Rechner gesteuertes Musiksystem mit Programmen und Schaltungen als Tonerzeuger
DE69632273T Expired - Lifetime DE69632273T2 (de) 1995-06-06 1996-06-03 Rechnermusiksystem mit Software und Hardware Tonerzeugern

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE69614765T Expired - Lifetime DE69614765T2 (de) 1995-06-06 1996-06-03 Durch Rechner gesteuertes Musiksystem mit hard- und softwareorientierter Tonerzeugung

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE69632273T Expired - Lifetime DE69632273T2 (de) 1995-06-06 1996-06-03 Rechnermusiksystem mit Software und Hardware Tonerzeugern

Country Status (8)

Country Link
US (2) US5714703A (de)
EP (3) EP0978821B1 (de)
JP (1) JP2998612B2 (de)
KR (1) KR100306032B1 (de)
CN (1) CN1153187C (de)
DE (3) DE69614765T2 (de)
HK (1) HK1004441A1 (de)
SG (3) SG74104A1 (de)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6362409B1 (en) 1998-12-02 2002-03-26 Imms, Inc. Customizable software-based digital wavetable synthesizer
TW314614B (de) * 1995-10-23 1997-09-01 Yamaha Corp
SG67993A1 (en) * 1996-08-30 1999-10-19 Yamaha Corp Sound source system based on computer software and method of generating acoustic waveform data
JP3152156B2 (ja) * 1996-09-20 2001-04-03 ヤマハ株式会社 楽音発生システム、楽音発生装置および楽音発生方法
US6758755B2 (en) 1996-11-14 2004-07-06 Arcade Planet, Inc. Prize redemption system for games executed over a wide area network
JP3196681B2 (ja) * 1997-03-13 2001-08-06 ヤマハ株式会社 通信データ一時記憶装置
JP2922509B2 (ja) * 1997-09-17 1999-07-26 コナミ株式会社 音楽演出ゲーム機、音楽演出ゲーム用の演出操作指示システムおよびゲーム用のプログラムが記録されたコンピュータ読み取り可能な記憶媒体
US6357039B1 (en) * 1998-03-03 2002-03-12 Twelve Tone Systems, Inc Automatic code generation
JP3031676B1 (ja) 1998-07-14 2000-04-10 コナミ株式会社 ゲ―ムシステムおよびコンピュ―タ読み取り可能な記憶媒体
FR2785711B1 (fr) * 1998-11-06 2001-03-16 Jean Philippe Chevreau Dispositif qui compose de maniere automatique une piece musicale en y incorporant des echantillons sonores
JP2000237455A (ja) 1999-02-16 2000-09-05 Konami Co Ltd 音楽演出ゲーム装置、音楽演出ゲーム方法および可読記録媒体
JP3707300B2 (ja) * 1999-06-02 2005-10-19 ヤマハ株式会社 楽音発生装置用拡張ボード
US7176372B2 (en) 1999-10-19 2007-02-13 Medialab Solutions Llc Interactive digital music recorder and player
US6392133B1 (en) 2000-10-17 2002-05-21 Dbtech Sarl Automatic soundtrack generator
US7078609B2 (en) 1999-10-19 2006-07-18 Medialab Solutions Llc Interactive digital music recorder and player
US9818386B2 (en) 1999-10-19 2017-11-14 Medialab Solutions Corp. Interactive digital music recorder and player
AU5584101A (en) * 2000-04-14 2001-10-30 Realnetworks, Inc. A system and method of providing music items to music renderers
US7237198B1 (en) 2000-05-22 2007-06-26 Realnetworks, Inc. System and method of providing for the control of a music player to a device driver
US7522966B2 (en) 2000-12-01 2009-04-21 O2Micro International Limited Low power digital audio decoding/playing system for computing devices
US7890741B2 (en) 2000-12-01 2011-02-15 O2Micro International Limited Low power digital audio decoding/playing system for computing devices
US7522965B2 (en) * 2000-12-01 2009-04-21 O2Micro International Limited Low power digital audio decoding/playing system for computing devices
US7818443B2 (en) * 2000-12-01 2010-10-19 O2Micro International Ltd. Low power digital audio decoding/playing system for computing devices
US7526349B2 (en) * 2000-12-01 2009-04-28 O2Micro International Limited Low power digital audio decoding/playing system for computing devices
US7522964B2 (en) * 2000-12-01 2009-04-21 O2Micro International Limited Low power digital audio decoding/playing system for computing devices
US7076035B2 (en) 2002-01-04 2006-07-11 Medialab Solutions Llc Methods for providing on-hold music using auto-composition
EP1326228B1 (de) 2002-01-04 2016-03-23 MediaLab Solutions LLC Verfahren und Vorrichtung zur Erzeugung, zur Veränderung, zur Wechselwirkung und zum Spielen von Musikstücken
US9065931B2 (en) 2002-11-12 2015-06-23 Medialab Solutions Corp. Systems and methods for portable audio synthesis
US7169996B2 (en) 2002-11-12 2007-01-30 Medialab Solutions Llc Systems and methods for generating music using data/music data file transmitted/received via a network
US6897368B2 (en) 2002-11-12 2005-05-24 Alain Georges Systems and methods for creating, modifying, interacting with and playing musical compositions
US7928310B2 (en) 2002-11-12 2011-04-19 MediaLab Solutions Inc. Systems and methods for portable audio synthesis
US7045700B2 (en) 2003-06-30 2006-05-16 Nokia Corporation Method and apparatus for playing a digital music file based on resource availability
US7038119B2 (en) 2003-07-18 2006-05-02 Telefonaktiebolaget L M Ericsson (Publ) Dynamic control of processing load in a wavetable synthesizer
DE10339032A1 (de) * 2003-08-25 2005-05-25 Infineon Technologies Ag Software-Synthesizer und Verfahren zum Erzeugen von Audiosignalen mit einer variablen Anzahl von Stimmen in Abhängigkeit vom Betriebszustand einer Prozessoreinheit
JP4134963B2 (ja) * 2003-09-16 2008-08-20 ヤマハ株式会社 音響装置
JP4400363B2 (ja) * 2004-08-05 2010-01-20 ヤマハ株式会社 音源システム、楽曲ファイルを記録したコンピュータ読み取り可能な記録媒体及び楽曲ファイル作成ツール
US20060155543A1 (en) * 2005-01-13 2006-07-13 Korg, Inc. Dynamic voice allocation in a vector processor based audio processor
WO2008121650A1 (en) * 2007-03-30 2008-10-09 William Henderson Audio signal processing system for live music performance
JP4475323B2 (ja) * 2007-12-14 2010-06-09 カシオ計算機株式会社 楽音発生装置、及びプログラム
JP2009169862A (ja) * 2008-01-18 2009-07-30 Panasonic Corp プログラム変換装置、方法、プログラムおよび記録媒体
JP2011242560A (ja) * 2010-05-18 2011-12-01 Yamaha Corp セッション端末及びネットワークセッションシステム
JP5375869B2 (ja) * 2011-04-04 2013-12-25 ブラザー工業株式会社 楽曲再生装置、楽曲再生方法及びプログラム
JP6443772B2 (ja) * 2017-03-23 2018-12-26 カシオ計算機株式会社 楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器
JP6388048B1 (ja) 2017-03-23 2018-09-12 カシオ計算機株式会社 楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器
CN107436618B (zh) * 2017-08-08 2019-12-27 电子科技大学 一种基于指令架构的任意波形发生器

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4373416A (en) * 1976-12-29 1983-02-15 Nippon Gakki Seizo Kabushiki Kaisha Wave generator for electronic musical instrument
JPS604994B2 (ja) * 1977-09-05 1985-02-07 ヤマハ株式会社 電子楽器
JPS55500959A (de) * 1978-12-11 1980-11-13
JPS5792399A (en) * 1980-11-29 1982-06-08 Nippon Musical Instruments Mfg Electronic musical instrument
JPS5792398A (en) * 1980-12-01 1982-06-08 Nippon Musical Instruments Mfg Electronic musical instrument
US4641564A (en) * 1983-06-17 1987-02-10 Nippon Gakki Seizo Kabushiki Kaisha Musical tone producing device of waveform memory readout type
US5119710A (en) * 1986-03-09 1992-06-09 Nippon Gakki Seizo Kabushiki Kaisha Musical tone generator
JPS6384190A (ja) 1986-09-29 1988-04-14 株式会社東芝 チツプ部品搭載基板
US5086685A (en) * 1986-11-10 1992-02-11 Casio Computer Co., Ltd. Musical tone generating apparatus for electronic musical instrument
JP2651600B2 (ja) 1988-07-06 1997-09-10 株式会社アイジー技術研究所 化粧面形成装置
US5020410A (en) * 1988-11-24 1991-06-04 Casio Computer Co., Ltd. Sound generation package and an electronic musical instrument connectable thereto
US5319151A (en) * 1988-12-29 1994-06-07 Casio Computer Co., Ltd. Data processing apparatus outputting waveform data in a certain interval
US5094136A (en) * 1989-01-06 1992-03-10 Yamaha Corporation Electronic musical instrument having plural different tone generators employing different tone generation techniques
JP2643405B2 (ja) 1989-01-18 1997-08-20 カシオ計算機株式会社 電子楽器
US5451710A (en) * 1989-06-02 1995-09-19 Yamaha Corporation Waveform synthesizing apparatus
JPH0383136A (ja) 1989-08-25 1991-04-09 Seiko Epson Corp 電子計算機
JPH04152393A (ja) 1990-10-16 1992-05-26 Casio Comput Co Ltd 楽音発生装置
JP2900082B2 (ja) 1990-10-25 1999-06-02 カシオ計算機株式会社 楽音発生装置
JP2680483B2 (ja) * 1991-05-02 1997-11-19 株式会社東芝 デジタル信号処理装置
JP2705395B2 (ja) * 1991-10-07 1998-01-28 ヤマハ株式会社 電子楽器
JP2743726B2 (ja) 1992-07-07 1998-04-22 ヤマハ株式会社 電子楽器
US5345035A (en) * 1992-07-10 1994-09-06 Yamaha Corporation Musical tone generating apparatus
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
JP2678974B2 (ja) 1994-12-27 1997-11-19 カシオ計算機株式会社 楽音波形発生装置
JP2666762B2 (ja) 1995-03-11 1997-10-22 ヤマハ株式会社 電子楽器

Also Published As

Publication number Publication date
DE69632273D1 (de) 2004-05-27
KR970002733A (ko) 1997-01-28
CN1164727A (zh) 1997-11-12
USRE37367E1 (en) 2001-09-18
EP0747877A3 (de) 1997-01-22
JPH0954586A (ja) 1997-02-25
SG92777A1 (en) 2002-11-19
EP0978821B1 (de) 2004-04-21
JP2998612B2 (ja) 2000-01-11
SG74104A1 (en) 2000-07-18
EP0747877A2 (de) 1996-12-11
KR100306032B1 (ko) 2001-11-30
SG45482A1 (en) 1998-01-16
CN1153187C (zh) 2004-06-09
DE69614765D1 (de) 2001-10-04
DE69634271D1 (de) 2005-03-03
DE69632273T2 (de) 2005-04-21
EP0951009A1 (de) 1999-10-20
EP0978821A1 (de) 2000-02-09
EP0951009B1 (de) 2005-01-26
US5714703A (en) 1998-02-03
DE69614765T2 (de) 2002-06-20
EP0747877B1 (de) 2001-08-29
HK1004441A1 (en) 1998-11-27

Similar Documents

Publication Publication Date Title
DE69634271T2 (de) Durch Rechner gesteuertes Musiksystem mit Programmen und Schaltungen als Tonerzeuger
DE69730873T2 (de) Software-Tonerzeuger
USRE38554E1 (en) Method of extending capability of music apparatus by networking
US5319151A (en) Data processing apparatus outputting waveform data in a certain interval
US4644840A (en) Electronic keyboard musical instrument and a method of operating the same
DE69724919T2 (de) Verfahren zur Erzeugung von Musiktönen
JPH0816169A (ja) サウンド生成方法、サウンド生成装置、及びサウンド生成制御装置
DE69630623T2 (de) Musikrechner bestehend aus vereinbaren Softwaremodulen
US7557288B2 (en) Tone synthesis apparatus and method
JP3358324B2 (ja) 電子楽器
US5698806A (en) Computerized sound source programmable by user&#39;s editing of tone synthesis algorithm
US5864082A (en) Tone synthesizing apparatus and method based on ensemble of arithmetic processor and dedicated tone generator device
JP3152198B2 (ja) 楽音発生方法および楽音発生装置
DE112006002058T5 (de) Vorrichtung zur Speicherung von Klangfarben, Verfahren zur Speicherung von Klangfarben sowie Computerprogramm zur Speicherung von Klangfarben
US5583309A (en) Filter apparatus for an electronic musical instrument
US5918301A (en) Music apparatus with complete replay session after incomplete play session
JP2858120B2 (ja) 電子楽器
JP7159583B2 (ja) 楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器
JP3334483B2 (ja) 外部波形を入力可能な波形メモリ型楽音発生装置
JPH10124060A (ja) 楽音発生方法、楽音発生装置および楽音発生用プログラムを記録した記録媒体
JP2894448B2 (ja) 音発生装置
JP3459016B2 (ja) オーディオ信号処理方法および装置
DE102004031675A1 (de) Für die Audiodatensynthese geeignetes Datenverarbeitungssystem und Verfahren
JP2853805B2 (ja) 音発生装置の波形データ記憶装置
JP3197619B2 (ja) 電子楽器

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee