DE69614765T2 - Durch Rechner gesteuertes Musiksystem mit hard- und softwareorientierter Tonerzeugung - Google Patents
Durch Rechner gesteuertes Musiksystem mit hard- und softwareorientierter TonerzeugungInfo
- Publication number
- DE69614765T2 DE69614765T2 DE69614765T DE69614765T DE69614765T2 DE 69614765 T2 DE69614765 T2 DE 69614765T2 DE 69614765 T DE69614765 T DE 69614765T DE 69614765 T DE69614765 T DE 69614765T DE 69614765 T2 DE69614765 T2 DE 69614765T2
- Authority
- DE
- Germany
- Prior art keywords
- waveform generator
- waveform
- musical sound
- generate
- performance information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Instruments in which the tones are synthesised from a data store, e.g. computer organs
- G10H7/002—Instruments 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/004—Instruments 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
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Instruments in which the tones are synthesised from a data store, e.g. computer organs
- G10H7/002—Instruments 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/006—Instruments 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
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—General physical, ergonomic or hardware implementation of electrophonic musical tools or instruments, e.g. shape or architecture
- G10H2230/025—Computing or signal processing architecture features
- G10H2230/041—Processor 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
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
- G10H2240/171—Transmission of musical instrument data, control or status information; Transmission, remote access or control of music data for electrophonic musical instruments
- G10H2240/201—Physical 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/241—Telephone transmission, i.e. using twisted pair telephone lines or any type of telephone network
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
- G10H2240/171—Transmission of musical instrument data, control or status information; Transmission, remote access or control of music data for electrophonic musical instruments
- G10H2240/201—Physical 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/271—Serial transmission according to any one of RS-232 standards for serial binary single-ended data and control signals between a DTE and a DCE
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
- G10H2240/171—Transmission of musical instrument data, control or status information; Transmission, remote access or control of music data for electrophonic musical instruments
- G10H2240/281—Protocol or standard connector for transmission of analog or digital data to or from an electrophonic musical instrument
- G10H2240/291—SCSI, i.e. Small Computer System Interface
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
- G10H2240/171—Transmission of musical instrument data, control or status information; Transmission, remote access or control of music data for electrophonic musical instruments
- G10H2240/281—Protocol or standard connector for transmission of analog or digital data to or from an electrophonic musical instrument
- G10H2240/295—Packet switched network, e.g. token ring
- G10H2240/305—Internet or TCP/IP protocol use for any electrophonic musical instrument data or musical parameter transmission purposes
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
- G10H2240/171—Transmission of musical instrument data, control or status information; Transmission, remote access or control of music data for electrophonic musical instruments
- G10H2240/281—Protocol or standard connector for transmission of analog or digital data to or from an electrophonic musical instrument
- G10H2240/311—MIDI transmission
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
- G10H2240/171—Transmission of musical instrument data, control or status information; Transmission, remote access or control of music data for electrophonic musical instruments
- G10H2240/281—Protocol or standard connector for transmission of analog or digital data to or from an electrophonic musical instrument
- G10H2240/315—Firewire, i.e. transmission according to IEEE1394
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
- G10H2250/471—General musical sound synthesis principles, i.e. sound category-independent synthesis methods
- G10H2250/511—Physical modelling or real-time simulation of the acoustomechanical behaviour of acoustic musical instruments using, e.g. waveguides or looped delay lines
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Electrophonic Musical Instruments (AREA)
Description
- Die vorliegende Erfindung betrifft einen Musikklanggenerator, der in Computer- Anwendungssystemen eingesetzt wird, welche eine CPU verwenden, wie elektronischen Spielmaschinen, Netzwerk-Karaoke-Geräten, Personalcomputern etc., und betrifft insbesondere einen Musikklanggenerator, der in der Lage ist, verschiedene Musikklänge gemäß Spielinformation zu erzeugen. Herkömmlicherweise kann Klang in einem Gerät wie einem Personalcomputer mittels eines spezialisierten Hardware- Moduls, wie eines Klangquellen-LSI und einer Klangquellen-Platine, und durch Ausführen von Programmen zum Steuern der installierten Klangquellenvorrichtung wiedergegeben werden. US 5,119,710 offenbart einen Musiktongenerator, der erste und zweite Tongeneratoreinheiten umfaßt, welche jeweils mehrere Tongeneratorkanäle besitzen. Eine CPU wählt die Tonerzeugungskanäle aus und weist verschiedene Tonfarben zu. Die Verwendung der vielfachen Tonerzeugungseinheiten wird durch die CPU gesteuert, indem diese entscheidet, ob eingegebenen Spieldaten von der ersten Tongeneratoreinheit verarbeitet werden können oder nicht. Falls dies der Fall ist, wird die Tonerzeugung von der ersten Tongeneratoreinheit ausgeführt. Andernfalls wird der zweiten Tongeneratoreinheit die Erzeugung des Musiktons auf Grundlage der eingegebenen Spieldaten zugewiesen. US 5,345,035 offenbart ein Musiktonerzeugugsgerät, welches in der Lage ist, Musiktonsignale mit Tonfarben, welche der von einer externen Vorrichtung gegebenen Musiktoninformation entsprechen, zu erzeugen. Das Gerät stellt mehrere Tonerzeugungskanäle bereit, welche jeweils einen Tongenerator und einen oder mehrere Puffer besitzen. Jeder der Puffer kann verschiedene Tonfarbendaten speichern, während alle Puffer in Übereinstimmung mit einer vorgegebenen Prioritätsreihenfolge in zwei oder mehr Gruppen eingeteilt sind, Eine Zuweisungssteuerungseinheit durchsucht die Puffer in Übereinstimmung mit der Prioritätsreihenfolge. Ein Tonerzeugungstask zur Erzeugung eines Musiktonsignals wird dann dem Tonerzeugungskanal zugewiesen, der einen ausgewählten Puffer bereitstellt. So können erwünschte Tonfarbendaten im voraus zu einem Puffer übertragen werden, wodurch es unnötig wird, alle Tonerzeugungskanäle mit allen zu verwendenden Tonfarbendaten zu versorgen.
- Neuerdings hat sich die Leistung der CPU im Personalcomputer in bemerkenswerter Weise verbessert, so daß der Musikklang von der CPU anstelle eines spezialisierten Hardware-Moduls erzeugt werden kann. Diese Art der Musikklangerzeugung wird als Softwareklangquelle bezeichnet, im Gegensatz zu einer Hardwareklangquelle, welche einen Musikklang mittels bestimmter Hardware erzeugt. Die CPU berechnet Wellenformdaten eines Musikklangs gemäß einem bestimmten Programm. Die Güte des von der Software-Klangquelle erzeugten Klangs hängt von der Leistung der CPU bei der Ausführung des Programms ab. Ist die Leistung der CPU hoch, können die Wellenformdaten mit hoher Geschwindigkeit berechnet werden, so daß die Abtastfrequenz der Wellenformdaten stark angehoben werden kann, um Musikklangerzeugung hoher Güte zu realisieren. Wenn allerdings die Leistung der CPU gering ist, ist es schwierig, die Daten mit hoher Geschwindigkeit zu berechnen, so daß die Abtastfrequenz herabgesetzt werden muß. Dies ergibt unvermeidlich eine geringe Güte des wiedergegebenen Musikklangs. Von System zu System gibt es, betreffend die Installation optionaler Baugruppen, eine große Vielfalt in der Konfiguration der Anwendungssysteme wie etwa eines Personalcomputers. Im allgemeinen umfassen optionale Baugruppen im weiteren Sinne eine Festplatte, eine Videokarte etc. Bei der vorliegenden Erfindung bedeutet optionale Baugruppe allerdings eine extern anschließbare Vorrichtung, die an der Musikklangerzeugung beteiligt ist. Es sollte beachtet werden, daß die Verarbeitungsleistungsfähigkeit der CPU in verschiedenen Systemkonfigurationen unterschiedlich sein kann. Weiter kann in einer Situation, wenn ein Anwendungsprogramm zur Klangerzeugung und ein weiterees Anwendungsprogramm zur Ausführung anderer Arbeiten gleichzeitig parallel aufgerufen sind, die Belastung der CPU abhängig vom Laufzustand der Programme und vom Zustand der momentan im System ausgeführten Tasks variieren. Auf diese Weise kann die wirksame Verarbeitungsleistung der CPU in dem selben System variieren. Somit muß ein Anwender die Grundeinstellung für die Klangerzeugung jedesmal anpassen, wenn die Systemumgebung geändert wird, und dies ist mühsam. In derartigen Systemen kann der Anwender nicht erkennen, ob der Klang in einer momentanen Konfigurationseinstellung nicht korrekt erzeugt wird, bevor irgendein Verfehlen oder Auslassen eines Tons bei der tatsächlichen Klangwiedergabe auftritt. In anderen Worten ist es unmöglich, auszwerten, ob eine Systemkonfiguration vernünftig ist, bevor der Klang tatsächlich wiedergegeben wird. Weiter kann in vielen Fällen, unabhängig davon, wie hoch die Leistung der CPU ist, eine externe Klangerzeugungs-Hardware gemäß dem Wunsch des Anwenders nach der praktischen Nutzung der Hardware-Resource verwendet werden; in solchen Fällen kann volle Nutzung der Hardware-Klangquelle das Problem aufwerfen, daß es unmöglich ist, einen Klang zu erzeugen, der die Grenzen der Möglichkeiten der Klangerzeugungs-Hardware übersteigt. Eine Vielfalt an Tönen kann nicht erzeugt werden. Die Zahl der Arten an Klangfarben kann nicht erhöht werden, selbst wenn die CPU genügend Verarbeitungsleistung aufweist.
- Die Aufgabe der vorliegenden Erfindung ist es, die oben beschriebenen Probleme zu lösen, und einen Musikklanggenerator bereitzusellen, der in der Lage ist, unterschiedliche Musikklänge unter Beibehaltung ausgezeichneter Klangqualität zu erzeugen.
- Gemäß der vorliegenden Erfindung weist ein Musikklangerzeugungsgerät zur Erzeugung einer Wellenform, um einen Musikklang gemäß Spielinformationen zu erzeugen, folgendes auf: ein erstes Wellenformgeneratormittel, das zum Erzeugen einer Wellenform betreibbar ist, ein zweites Wellenformgeneratormittel, das unabhängig von dem ersten Wellenformgeneratormittel zum Erzeugen einer Wellenform betreibbar ist; Eingabemittel zum Bereitstellen von Spielinfomation; Zuweisungsmittel zum Zuweisen mindestens eines von erstem Wellenformgeneratormittel und zweitem Wellenformgeneratormittel entsprechend der bereitgestellten Spielinformation; Steuermittel zum selektiven Betreiben der zugewiesenen ersten Wellenformgeneratormittel und zweiten Wellenformgeneratormittel, um eine Wellenform gemäß der bereitgestellten Spielinformation zu erzeugen; und Ausgabemittel zum Erzeugen des Musikklangs auf Grundlage der erzeugten Wellenform. Das erste Wellenformgeneratormittel besteht aus einem Hardware-Modul, welches von dem Steuermittel betrieben wird, während das zweite Wellenformgeneratormittel aus einem Software-Modul besteht, das auf dem Steuermittel installierbar ist.
- Das Eingabemittel kann ein Mittel zum Bereitstellen von Spielinformation aufweisen, welche Klangfarbeninformation enthält, welche die Festlegung einer Klangfarbe des Musikklangs bewirkt, und Zeiteinteilungsinformation, welche die Festlegung einer Zeiteinteilung zur Erzeugung des Musikklangs bewirkt. Dabei weist das Zuweisungsmittel Mittel zum Zuweisen eines von erstem Wellenformgeneratormittel und zweitem Wellenformgeneratormittel entsprechend der Klangfarbeninformation auf, so daß das Ausgabemittel den Musikklang erzeugt, der die festgelegte Klangfarbe mit der festgelegten Zeiteinteilung besitzt.
- Das Zuweisungsmittel kann auch Mittel enthalten, die, falls erwünscht, zum gleichzeitigen Zuweisen sowohl des ersten Wellenformgeneratormittels als auch des zweiten Wellenformgeneratormittels betreibbar sind, so daß das Steuermittel sowohl das erste Wellenformgeneratormittel als auch das zweite Wellenformgeneratormittel betreibt, so daß diese gleichzeitig Wellenformen parallel erzeugen.
- Darüberhinaus kann das Eingabemittel Mittel zum Bereitstellen von Spielinformation aufweisen, welche das Anweisen gleichzeitiger Erzeugung mehrerer musikalischer Klänge bewirken, wobei das Zuweisungsmittel Mittel aufweist, eines von erstem Wellenformgeneratormittel und zweitem Wellenformgeneratormittel entsprechend einer Anzahl von gleichzeitigen Klängen, welche durch die Spielinformation festgelegt sind, so zuzuweisen, daß das zugewiesene eine Kapazität besitzt, die ausreicht, eine Anzahl an Wellenformen zu erzeugen, die der Anzahl an Musikklängen entspricht.
- Zudem kann das Zuweisungsmittel weiter Mittel aufweisen, welche, wenn die Anzahl der gleichen Musikklänge eine Kapazität entweder des ersten oder des zweiten Wellenformgeneratormittels übersteigt, das Zuweisen sowohl des ersten Wellenformgeneratormittels als auch des zweiten Wellenformgeneratormittels bewirken, um die vollständige Erzeugung der gleichzeitigen Musikklänge sicherzustellen.
- Das erste Wellenformgeneratormittel kann einen externen Wellenformgenerator aufweisen, der wahlweise mit dem Steuermittel verbindbar ist, während das zweite Wellenformgeneratormittel einen internen Wellenformgenerator aufweist, der mit dem Steuermittel integriert ist, so daß das Zuweisungsmittel den internen Wellenformgenerator anstelle des externen Wellenformgenerators zuweist, wenn selbiger nicht mit dem Steuermittel verbunden ist, selbst wenn der externe Wellenformgenerator primär der bereitgestellte Spielinformation zugeordnet sein sollte.
- Gemäß einer weiteren Ausführungsform der Erfindung sind das zweite Wellenformerzeugungsmittel, das Eingabemittel, das Zuweisungsmittel und das Steuermittel miteinander integriert, so daß sie ein Hauptteil bilden, das aus einem Computer besteht, während das erste Wellenformgeneratormittel allein ein Zusatzteil bildet, welches separat vom Hauptteil ist und welches wahlweise auf dem Computer installierbar ist.
- Das zweite Wellenfomgeneratormittel kann mehrere digitale Wellenformgeneratoren aufweisen, welche auf Grundlage verschiedener Algorithmen betreibbar sind, um arithmetisch digitale Wellenformen zu erzeugen, welche unterschiedliche Güte besitzen, wobei das Steuermittel Mittel zum selektiven Betreiben eines gemäß der bereitgestellten Spielinformation optimalen digitalen Wellenformgenerators aufweist.
- Zusätzlich oder alternativ kann das zweite Wellenformgeneratormittel einen digitalen Wellenformgenerator eines Wellenfomspeichertyps enthalten, der auf Grundlage eines relativ einfachen Algorithmus betreibbar ist, um eine digitale Wellenform mit einer relativ niedrigen Güte zu erzeugen, sowie einen weiteren digitalen Wellenformgenerator, der auf Grundlage eines relativ komplizierten Algorithmus betreibbar ist, um eine digitale Wellenform mit einer relativ hohen Güte zu erzeugen.
- Gemäß einer weiteren Ausführungsform kann das zweite Wellenformgeneratormittel einen computerimplementierten Wellenformgenerator aufweisen, der gemäß einem gegebenen Algorithmus mit einer veränderlichen Arbeitsgeschwindigkeit betreibbar ist, um eine digitale Wellenform durch sukzessives Berechnen von Abtastwerten der digitalen Wellenform zu erzeugen, wobei das Steuermittel folgendes aufweist: Mittel zum provisorischen Betreiben des computerimplementierten Wellenformgenerators, um versuchsweise die Erzeugung einer digitalen Musterwellenform auszuführen, während es die Arbeitsgeschwindigkeit mißt, mit welcher die versuchsweise Erzeugung ausgeführt wird, Bestimmungsmittel zum optimalen Bestimmen einer Abtastfrequenz, die vergleichbar ist mit der gemessenen Arbeitsgeschwindigkeit, und Mittel zum tatsächlichen Betreiben des computerimplementierten Wellenformgenerators, um selbigem zu ermöglichen, nacheinander Abtastwerte einer tatsächlichen digitalen Wellenform bei der bestimmten Abtastfrequenz gemäß der bereitgestellten Spielinformation zu ermöglichen.
- Das Bestimmungsmittel kann Mittel zum Festlegen der Abtastfrequenz auf eine von schrittweise vorgegebenen Stufen, die niedriger als die Arbeitsgeschwindigkeit und dieser am nächsten ist, aufweisen.
- Zusätzlich kann das Steuermittel weiter ein Wechselmittel aufweisen, welches, wenn die bestimmte Abtastfrequenz unter eine kritische Stufe fällt, die festgesetzt ist, um eine Mindestgüte der Wellenform sicherzustellen, den Algorithmus wechselt, um die Arbeitsgeschwindigkeit des computerimplementierten Wellenformgenerators anzuheben, so daß die Abtastfrequenz neu bestimmt werden kann, um die kritische Stufe zu überschreiten.
- Das Wechselmittel kann Mittel zum Wechseln des Algorithmus von einem komplizierten zu einem vereinfachten aufweisen, so daß der computerimplementierte Wellenformgenerator auf Grundlage des vereinfachten Algorithmus arbeitet, um nacheinander die vorgespeicherten Abtastwerte auszulesen, um die digitale Wellenform sich fortpflanzend zu erzeugen.
- Der computerimplementierte Wellenformgenerator kann nacheinander die vorgespeicherten Abtastwerte auslesen, welche vorläufig nach dem komplizierten Algorithmus berechnet sind, bevor von selbigem zu dem vereinfachten Algorithmus gewechselt wird.
- Die Erfindung betrifft auch ein Musikklangerzeugungsverfahren zur Erzeugung einer Wellenform, um einen Musikklang gemäß Spielinformationen zu erzeugen, welches folgende Schritte aufweist: Bereitstellen eines ersten Wellenformgenerators, der zum Erzeugen einer Wellenform betreibbar ist; Bereitstellen eines zweiten Wellenformgenerators, der unabhängig von dem ersten Wellenformgenerator zum Erzeugen einer Wellenform betreibbar ist; Bereitstellen von Spielinformation; Zuweisen mindestens eines von erstem Wellenformgenerator und zweitem Wellenformgenerator entsprechend der bereitgestellten Spielinformation; selektives Betreiben des zugewiesenen von erstem Wellenformgenerator und zweitem Wellenformgenerator durch ein Steuermittel, um die Wellenform gemäß der bereitgestellten Spielinformation zu erzeugen; und Erzeugen des Musikklangs auf Grundlage der erzeugten Wellenform; und das dadurch gekennzeichnet ist, daß die Schritte des Bereistellens das Bereitstellen des ersten Wellenformgenerators umfassen, der aus einem Hardware-Modul besteht, welches von dem Steuermittel gesteuert wird, und des zweiten Wellenformgenerators, der aus einem Software-Modul besteht, das auf dem Steuermittel installierbar ist.
- In diesem Verfahren kann der Schritt des Bereitstellens das Bereitstellen von Spielinformation umfassen, welche Klangfarbeninformation enthält, welche die Festlegung einer Klangfarbe des Musikklangs bewirkt, und Zeiteinteilungsinformation, welche die Festlegung einer Zeiteinteilung zur Erzeugung des Musikklangs bewirkt, wobei der Zuweisungsschritt das Zuweisen entweder des ersten Wellenformgenerators (22) oder des zweiten Wellenformgenerators entsprechend der Klangfarbeninformation umfaßt, so daß der Musikklang, der die festgelegte Klangfarbe besitzt, mit der festgelegten Zeiteinteilung erzeugt wird.
- Der Zuweisungsschritt kann, falls erwünscht, das gleichzeitige Zuweisen des ersten Wellenformgenerators und des zweiten Wellenformgenerators umfassen, so daß das Steuermittel sowohl den ersten Wellenformgenerator als auch den zweiten Wellenformgenerator betreibt, so daß diese gleichzeitig Wellenformen parallel erzeugen.
- Der Schritt des Bereitstellens kann das Bereitstellen von Spielinformation umfassen, welche das Anweisen gleichzeitiger Erzeugung mehrerer musikalischer Klänge bewirkt, wobei der Zuweisungsschritt das Zuweisen entweder des ersten Wellenformgenerators oder des zweiten Wellenformgenerators, entsprechend einer Anzahl von gleichzeitigen Klängen, welche durch die Spielinformation festgelegt sind, umfaßt, so daß der zugewiesene eine Kapazität besitzt, die ausreicht, eine Anzahl an Wellenformen zu erzeugen, die der Anzahl an Musikklängen entspricht.
- Gemäß einer weiteren Ausführungsform des Verfahrens kann der Zuweisungsschritt weiter das Zuweisen sowohl des ersten Wellenformgenerators als auch des zweiten Wellenformgenerators umfassen, um die vollständige Erzeugung der gleichzeitigen Musikklänge sicherzustellen, wenn die Anzahl der gleichzeitigen Musikklänge die Kapazität sowohl des ersten Wellenformgenerators als auch des zweiten Wellenformgenerators übersteigt.
- Zusätzlich können die Vorbereitungsschritte das Vorbereiten des ersten Wellenformgenerators der aus einem externen Wellenformgenerator besteht, der wahlweise mit dem Steuermittel verbindbar ist, und des zweiten Wellenformgenerators, der aus einem internen Wellenformgenerator besteht, der mit dem Steuermittel integriert ist, umfassen, so daß der interne Wellenformgenerator anstelle des externen Wellenformgenerators zugewiesen wird, wenn selbiger nicht mit dem Steuermittel verbunden ist, selbst wenn der externe Wellenformgenerator primär der bereitgestellten Spielinformation zugeordnet sein sollte.
- Der Vorbereitungsschritt kann ferner das Vorbereiten des zweiten Wellenformgenerators umfassen, der aus mehreren digitalen Wellenformgeneratoren besteht, welche auf Grundlage verschiedener Algorithmen betreibbar sind, um arithmetisch digitale Wellenformen zu erzeugen, welche unterschiedliche Güten haben, wobei der Schritt des Betreibens das selektive Betreiben eines gemäß der bereitgestellten Spielinformation optimalen digitalen Wellenformgenerators umfaßt.
- Der Vorbereitungsschritt kann auch das Vorbereiten des zweiten Wellenformgenerators umfassen, der einen digitalen Wellenformgenerator eines Wellenfomspeichertyps enthält, der auf Grundlage eines relativ einfachen Algorithmus betreibbar ist, um eine digitale Wellenform mit einer relativ niedrigen Güte zu erzeugen, sowie einen weiteren digitalen Wellenformgenerator, der auf Grundlage eines relativ komplizierten Algorithmus betreibbar ist, um eine digitale Wellenform mit einer relativ hohen Güte zu erzeugen.
- Der Vorbereitungsschritt kann das Vorbereiten des zweiten Wellenformgenerators umfassen, der aus einem computerimplementierten Wellenformgenerator besteht, der gemäß einem gegebenen Algorithmus mit einer veränderlichen Arbeitsgeschwindigkeit betreibbar ist, um eine digitale Wellenform durch sukzessives Berechnen von Abtastwerten der digitalen Wellenform zu erzeugen. Der Schritt des Betreibens umfaßt die folgenden Schritte: vorläufiges Betreiben des computerimplementierten Wellenformgenerators, um versuchsweise Erzeugung einer digitalen Musterwellenform auszuführen, während die Arbeitsgeschwindigkeit gemessen wird, mit welcher die versuchsweise Erzeugung ausgeführt wird, optimales Bestimmen einer Abtastfrequenz, die vergleichbar ist mit der gemessenen Arbeitsgeschwindigkeit, und tatsächliches Betreiben des computerimplementierten Wellenformgenerators, um selbigem zu ermöglichen, nacheinander Abtastwerte einer tatsächlichen digitalen Wellenform bei der bestimmten Abtastfrequenz gemäß der bereitgestellten Spielinformation zu berechnen.
- Zusätzlich kann der Schritt des Bestimmens das Festlegen der Abtastfrequenz auf eine von schrittweise vorgegebenen Stufen, die niedriger als die Arbeitsgeschwindigkeit und dieser am nächsten ist, umfassen.
- Der Schritt des Betreibens kann weiter das Wechseln des Algorithmus umfassen, um die Arbeitsgeschwindigkeit des computerimplementierten Wellenformgenerators anzuheben, so daß die Abtastfrequenz neu bestimmt werden kann, um die kritische Stufe zu überschreiten, wenn die bestimmte Abtastfrequenz unter eine kritische Stufe fällt, die festgesetzt ist, um eine Mindestgüte der Wellenform sicherzustellen.
- Zusätzlich kann der Schritt des Wechselns das Wechseln des Algorithmus von einem komplizierten zu einem vereinfachten umfassen, so daß der computerimplementierte Wellenformgenerator auf Grundlage des vereinfachten Algorithmus arbeitet, um nacheinander die vorgespeicherten Abtastwerte auszulesen, um die digitale Wellenform sich fortpflanzend zu erzeugen.
- In dieser Ausführungsform kann der Vorbereitungsschritt das Vorbereiten des computerimplementierten Wellenformgenerators umfassen, der nacheinander die vorgespeicherten Abtastwerte ausliest, welche vorläufig nach dem komplizierten Algorithmus berechnet sind, bevor von selbigem zu dem vereinfachten Algorithmus gewechselt wird.
- Die Erfindung betrifft auch ein maschinenlesbares Medium, das Befehle enthält, die Maschine zu veranlassen, ein Verfahren der Erzeugung einer Wellenform auszuführen, um einen Musikklang gemäß Spielinformation zu erzeugen. Das Verfahren weist die folgenden Schritte auf: Bereitstellen eines ersten Wellenformgenerators, der zum Erzeugen einer Wellenform betreibbar ist; Bereitstellen eines zweiten Wellenformgenerators, der unabhängig von dem ersten Wellenformgenerator zum Erzeugen einer Wellenform betreibbar ist; Bereitstellen von Spielinformation; Zuweisen mindestens eines von erstem Wellenformgenerator und zweitem Wellenformgenerator entsprechend der bereitgestellten Spielinformation; selektives Betreiben des zugewiesenen von erstem Wellenformgenerator und zweitem Wellenformgenerator durch ein Steuermittel, um die Wellenform gemäß der bereitgestellten Spielinformation zu erzeugen; und Erzeugen des Musikklangs auf Grundlage der erzeugten Wellenform. Die Schritte des Bereistellens umfassen das Bereitstellen des ersten Wellenformgenerators, der aus einem Hardware-Modul besteht, welches von dem Steuermittel gesteuert wird, und des zweiten Wellenformgenerators, der aus einem Software-Modul besteht, das auf dem Steuermittel installierbar ist.
- Der Schritt des Bereitstellens kann zusätzlich das Bereitstellen von Spielinformation umfassen, welche Klangfarbeninformation enthält, welche die Festlegung einer Klangfarbe des Musikklangs bewirkt, und Zeiteinteilungsinformation, welche die Festlegung einer Zeiteinteilung zur Erzeugung des Musikklangs bewirkt, wobei der Zuweisungsschritt das Zuweisen entweder des ersten Wellenformgenerators (22) oder des zweiten Wellenformgenerators entsprechend der Klangfarbeninformation umfaßt, so daß der Musikklang, der die festgelegte Klangfarbe besitzt, mit der festgelegten Zeiteinteilung erzeugt wird.
- Der Zuweisungsschritt kann, falls erwünscht, das gleichzeitige Zuweisen des ersten Wellenformgenerators und des zweiten Wellenformgenerators umfassen, so daß das Steuermittel sowohl den ersten Wellenformgenerator als auch den zweiten Wellenformgenerator betreibt, so daß diese gleichzeitig Wellenformen parallel erzeugen.
- Der Schritt des Bereitstellens kann das Bereitstellen von Spielinformation umfassen, welche das Anweisen gleichzeitiger Erzeugung mehrerer musikalischer Klänge bewirkt, wobei der Zuweisungsschritt das Zuweisen entweder des ersten Wellenformgenerators oder des zweiten Wellenformgenerators, entsprechend einer Anzahl von gleichzeitigen Klängen, welche durch die Spielinformation festgelegt sind, umfaßt, so daß der zugewiesene eine Kapazität besitzt, die ausreicht, eine Anzahl an Wellenformen zu erzeugen, die der Anzahl an Musikklängen entspricht.
- Zusätzlich kann der Zuweisungsschritt weiter das Zuweisen sowohl des ersten Wellenformgenerators als auch des zweiten Wellenformgenerators umfassen, um die vollständige Erzeugung der gleichzeitigen Musikklänge sicherzustellen, wenn die Anzahl der gleichzeitigen Musikklänge die Kapazität sowohl des ersten Wellenformgenerators als auch des zweiten Wellenformgenerators übersteigt.
- Gemäß einer weiteren Ausführungsform können die Vorbereitungsschritte das Vorbereiten des ersten Wellenformgenerators der aus einem externen Wellenformgenerator besteht, der wahlweise mit dem Steuermittel verbindbar ist, und des zweiten Wellenformgenerators, der aus einem internen Wellenformgenerator besteht, der mit dem Steuermittel integriert ist, umfassen, so daß der interne Wellenformgenerator anstelle des externen Wellenformgenerators zugewiesen wird, wenn selbiger nicht mit dem Steuermittel verbunden ist, selbst wenn der externe Wellenformgenerator primär der bereitgestellten Spielinformation zugeordnet sein sollte.
- Alternativ kann der Vorbereitungsschritt das Vorbereiten des zweiten Wellenformgenerators umfassen, der aus mehreren digitalen Wellenformgeneratoren besteht, welche auf Grundlage verschiedener Algorithmen betreibbar sind, um arithmetisch digitale Wellenformen zu erzeugen, welche unterschiedliche Güten haben, wobei der Schritt des Betreibens das selektive Betreiben eines gemäß der bereitgestellten Spielinformation optimalen digitalen Wellenformgenerators umfaßt.
- Gemäß einem weiteren Aspekt der Erfindung kann der Vorbereitungsschritt das Vorbereiten des zweiten Wellenformgenerators umfassen, der einen digitalen Wellenformgenerator eines Wellenfomspeichertyps enthält, der auf Grundlage eines relativ einfachen Algorithmus betreibbar ist, um eine digitale Wellenform mit einer relativ niedrigen Güte zu erzeugen, sowie einen weiteren digitalen Wellenformgenerator, der auf Grundlage eines, relativ komplizierten Algorithmus betreibbar ist, um eine digitale Wellenform mit einer relativ hohen Güte zu erzeugen.
- Darüberhinaus kann der Vorbereitungsschritt das Vorbereiten des zweiten Wellenformgenerators umfassen, der aus einem computerimplementierten Wellenformgenerator besteht, der gemäß einem gegebenen Algorithmus mit einer veränderlichen Arbeitsgeschwindigkeit betreibbar ist, um eine digitale Wellenform durch sukzessives Berechnen von Abtastwerten der digitalen Wellenform zu erzeugen. Dabei umfaßt der Schritt des Betreibens die folgenden Schritte: vorläufiges Betreiben des computerimplementierten Wellenformgenerators, um versuchsweise Erzeugung einer digitalen Musterwellenform auszuführen, während die Arbeitsgeschwindigkeit gemessen wird, mit welcher die versuchsweise Erzeugung ausgeführt wird, optimales Bestimmen einer Abtastfrequenz, die vergleichbar ist mit der gemessenen Arbeitsgeschwindigkeit, und tatsächliches Betreiben des computerimplementierten Wellenformgenerators, um selbigem zu ermöglichen, nacheinander Abtastwerte einer tatsächlichen digitalen Wellenform bei der bestimmten Abtastfrequenz gemäß der bereitgestellten Spielinformation zu berechnen.
- Der Schritt des Bestimmens kann das Festlegen der Abtastfrequenz auf eine von schrittweise vorgegebenen Stufen, die niedriger als die Arbeitsgeschwindigkeit und dieser am nächsten ist, umfassen.
- Der Schritt des Betreibens kann weiter das Wechseln des Algorithmus umfassen, um die Arbeitsgeschwindigkeit des computerimplementierten Wellenformgenerators anzuheben, so daß die Abtastfrequenz neu bestimmt werden kann, um die kritische Stufe zu überschreiten, wenn die bestimmte Abtastfrequenz unter eine kritische Stufe fällt, die festgesetzt ist, um eine Mindestgüte der Wellenform sicherzustellen.
- Gemäß einer weiteren Ausführungsform der Erfindung, kann der Schritt des Wechselns das Wechseln des Algorithmus von einem komplizierten zu einem vereinfachten umfassen, so daß der computerimplementierte Wellenformgenerator auf Grundlage des vereinfachten Algorithmus arbeitet, um nacheinander die vorgespeicherten Abtastwerte auszulesen, um die digitale Wellenform sich fortpflanzend zu erzeugen.
- Der Vorbereitungsschritt kann das Vorbereiten des computerimplementierten Wellenformgenerators umfassen, der nacheinander die vorgespeicherten Abtastwerte ausliest, welche vorläufig nach dem komplizierten Algorithmus berechnet sind, bevor von selbigem zu dem vereinfachten Algorithmus gewechselt wird.
- Fig. 1 ist ein schematisches Blockdiagramm, welches eine erste Ausführungsform des erfindungsgemäßen Musikklanggenerators veranschaulicht.
- Fig. 2 ist ein schematisches Blockdiagramm, welches eine Variante der in Fig. 1 gezeigten Ausführungsform veranschaulicht.
- Fig. 3 ist ein schematisches Blockdiagramm, welches eine weitere Variante der in Fig. 1 gezeigten Ausführungsform veranschaulicht.
- Fig. 4A ist ein schematisches Blockdiagramm, welches eine Anordnung darstellt, in welcher eine Klangquellenvorrichtung und deren Peripheriegeräte miteinander integriert sind.
- Fig. 4B ist ein schematisches Blockdiagramm, welches eine Anordnung darstellt, in welcher ein DSP und dessen Peripheriegeräte miteinander integriert sind.
- Fig. 5 veranschaulicht Betriebsweisen der ersten erfindungsgemäßen Ausführungsform.
- Fig. 6 ist ein Speicherplan eines RAM, das in der ersten Ausführungsform vorgesehen ist.
- Fig. 7 ist ein Flußdiagramm, das den gesamten in der ersten Ausführungsform ausgeführten Prozeß veranschaulicht.
- Fig. 8 ist ein Flußdiagramm, das ein Wellenformerzeugungsprogramm veranschaulicht, welches in der ersten Ausführungsform ausgeführt wird.
- Fig. 9 ist ein Flußdiagramm, das ein Wellenformerzeugungsprogramm veranschaulicht, welches in der ersten Ausführungsform ausgeführt wird.
- Fig. 10 ist ein Flußdiagramm, das ein Wellenformerzeugungsprogramm veranschaulicht, welches in der ersten Ausführungsfarm ausgeführt wird.
- Fig. 11 ist ein Flußdiagramm, das ein Wellenformerzeugungsprogramm veranschaulicht, welches in der ersten Ausführungsform ausgeführt wird.
- Fig. 12 ist ein Flußdiagramm, das den Prozeß des Ladens eines Wellenformabtastwerts veranschaulicht, der in dem Wellenformerzeugungsprogramm ausgeführt wird.
- Fig. 13 ist ein Flußdiagramm, das den Prozeß der Wellenformabtastwertberechnung veranschaulicht, der in dem Wellenformerzeugungsprogramm ausgeführt wird.
- Fig. 14 ist ein Flußdiagramm, das die von der CPU ausgeführte Wellenformabtastwertberechnung in dem Wellenformerzeugungsprogramm veranschaulicht.
- Fig. 15 ist ein Flußdiagramm, das den Erzeugungsprozeß durch eine ausgewählte Hardware in dem Wellenformerzeugungsprogramm veranschaulicht.
- Fig. 16 ist ein Flußdiagramm, das den Erzeugungsprozeß durch die ausgewählte Hardware in dem Wellenformerzeugungsprogramm veranschaulicht.
- Fig. 17 ist ein Flußdiagramm, das einen Zeitgeberprozeß in dem Wellenformerzeugungsprogramm veranschaulicht.
- Fig. 18 ist ein Flußdiagramm, das einen Erzeugungsprozeß durch eine ausgewählte Hardware in einer zweiten Ausführungsform veranschaulicht.
- Fig. 19 ist ein Flußdiagramm, das einen Erzeugungsprozeß durch eine ausgewählte Hardware in einer dritten Ausführungsform veranschaulicht.
- Fig. 20 ist ein Flußdiagramm, das einen Erzeugungsprozeß durch eine ausgewählte Hardware in einer vierten Ausführungsform veranschaulicht.
- Fig. 21 ist eine schematisches Blockdiagramm, das eine auf die vorliegende Erfindung angewandte Variante veranschaulicht.
- Fig. 22 ist ein schematisches Blockdiagramm, das eine weitere auf die vorliegende Erfindung angewandte Variante veranschaulicht.
- Fig. 23 ist ein schematisches Blockdiagramm, das eine weitere auf die vorliegende Erfindung angewandte Variante veranschaulicht.
- Fig. 24 ist ein schematisches Blockdiagramm, das eine weitere auf die vorliegende Erfindung angewandte Variante veranschaulicht.
- Fig. 25 ist ein schematische Blockdiagramm, das eine zusätzliche Ausführungsform des erfindungsgemäßen Musikklangerzeugungsgeräts zeigt.
- Einzelheiten von Ausführungsformen der vorliegenden Erfindung werden untenstehend unter Bezugnahme auf die Zeichnungen beschrieben. Fig. 1 ist ein schematisches Blockdiagramm, das eine erste Ausführungsform eines erfindungsgemäßen Musikklanggenerators zeigt. In Fig. 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 1 3 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 Fig. 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ßkommaberchnung 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. DerBenutzer 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 Fig. 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 kannn der DSP 21 wie die Klangquelle 21 in Gestalt eines diskreten hochintegrierten Chips vorgesehen sein. Die Eingabedaten werden durch den Bus 12 in Fig. 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 Fig. 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 Fig. 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 Fig. 4B gezeigt, der DSP 21, das RAM 24 und der D/A-Wandler 23 zusammen in einen einzigen Chip integriert sein.
- Die in den Fig. 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 Fig. 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 Fig. 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 Klangquellensysnthetisiermodus 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 Fig. 6 dargestellt. In Fig. 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 Fig. 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 53 bis 55 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 52 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 Fig. 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, ober 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 Fig. 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 Fig. 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 Saß ausgeführt. In der Prozedur von Schritt Saß 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 Saß 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 Sa 10 beendet.
- Wenn das Wellenformerzeugungsprogramm erstmals in der Hauptschleife von Fig. 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 Fig. 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 Fig. 9 und 10 dargestellte Verarbeitung in den Schritten Saß 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 Saß 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 SalS 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 Fig. 10 für den Fall, daß das Ergebnis der Prüfung JA ist. Somit werden die Schritte Sa15 und Sa 16 so lange wiederholt, bis die Schleifenzykluszahl der Abtastwertberechnung "m" erreicht.
- In Schritt Sa18 von Fig. 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 Fig. 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 Saß ausgeführt wird.
- Andererseits schreitet in Fig. 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 Wellenformen 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 Wellenfarm, 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 Fig. 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 Sehritt 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 (Fig. 8) ausgeführt wird, wird untenstehend unter Bezugnahme auf Fig. 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 (Fig. 9) ausgeführt wird, wird im folgenden unter Bezugnahme auf Fig. 13 erklärt. In Schritt Sc1 von Fig. 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 Abtastwertbrechnung 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 Fig. 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 Synthetisierungnach-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 Sa 16 (Fig. 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 Fig. 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 (Fig. 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 Fig. 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 Erbindung 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 Se3, wenn das Abfrageergebnis "Ja" ist. In Schritt Se3 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 Se3 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 duchgeführt wird.
- Wenn die "Bedingung" in Schritt Se3 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 Saß 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 Seil in Fig. 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 Se3) 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. Fig. 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 Fig. 1 ggezeigten 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 Fig. 1 dargestellt. Allerdings ist der Hardware-Aufbau des Personalcomputers oder des elektronischen Musikinstruments je nachdem, weiche 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 Fig. 1 dargestellten sind, werden untenstehend beschrieben.
- Der in Fig. 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 (Figur8) "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 Fig. 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 (Figur8) "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 Fig. 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 (Fig. 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 Fig. 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 (Fig. 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 Opbertonsynthetisiermethode 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 Fig. 1 oder Fig. 24 gezeigt installiert ist. In Hinblick auf das Wellenformsynthetisierprogramm wird der Synthetisierprozeß, welcher die ausgewählte Hardware (Fig. 15 und 16)verwendet, durch den in Fig. 18 dargestellten Prozeß ersetzt. Näher betrachtet, wird der Synthetisierprozeß, der die ausgewählte Hardware in Schritt Sa34 (Fig. 11) benutzt, durch den in Fig. 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 Fig. 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 (Fig. 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 (Fig. 15) für die der CPU 10 zugewiesenen Klangfarben die Zuweisungsprozedur für die CPU-Snythetisierung 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 Fig. 1 und 24 dargestellt, in dem System installiert ist. In Hinblick auf das Wellenformerzeugungsprogramm wird der Synthetisierprozeß, der die ausgewählte Hardwarevorrichtung (Fig. 15 und 16) benutzt, durch den in Fig. 19 dargestellten Prozeß ersetzt. Näher betrachtet, wird der Synthetisierprozeß, der die ausgewählte Hardware in Schritt Sa34 (Fig. 11) benutzt, durch den in Fig. 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 Fig. 19 dargestellt, auszuführen. In Schritt Sh1 wird die Ereigniserkennung ausgeführt, wie in den Schritten Se1 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 duch 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 (Fig. 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 (Fig. 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 Fig. 1 oder Fig. 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 (Fig. 15 und 16) durch den in Fig. 20 dargestellten Prozeß ersetzt. Näher betrachtet, wird der Synthetisierprozeß, der die ausgewählte Hardware in Schritt Sa34 (Fig. 11) benutzt, durch den in Fig. 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 Fig. 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.
- Fig. 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 Fig. 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 (40)
1. Musikklangerzeugungsgerät zur Erzeugung einer Wellenform, um einen
Musikklang gemäß Spielinformationen (MIDI, KBD) zu erzeugen, welches folgendes
aufweist: erstes Wellenformgeneratormittel (22), das zum Erzeugen einer
Wellenform betreibbar ist; zweites Wellenformgeneratormittel, das unabhängig
von dem ersten Wellenformgeneratormittel (22) zum Erzeugen einer Wellenform
betreibbar ist; Eingabemittel (14) zum Bereitstellen von Spielinformation (MIDI,
KBD); Zuweisungsmittel zum Zuweisen mindestens eines von erstem
Wellenformgeneratormittel (22) und zweitem Wellenformgeneratormittel
entsprechend der bereitgestellten Spielinformation (MIDI, KBD); Steuermittel
(10) zum selektiven Betreiben des zugewiesenen der ersten
Wellenformgeneratormittel (22) und zweiten Wellenformgeneratormittel um eine
Wellenform gemäß der bereitgestellten Spielinformation (MIDI, KBD) zu
erzeugen; und Ausgabemittel (23) zum Erzeugen des Musikklangs auf Grundlage
der erzeugten Wellenform,
dadurch gekennzeichnet, daß
das erste Wellenformgeneratormittel (22) aus einem Hardware-Modul besteht,
welches von dem Steuermittel (10) gesteuert wird, während das zweite
Wellenformgeneratormittel aus einem Software-Modul besteht, das auf dem
Steuermittel (10) installierbar ist.
2. Musikklangerzeugungsgerät nach Anspruch 1, wobei das Eingabemittel (14) ein
Mittel zum Bereitstellen von Spielinformation (MIDI, KBD) aufweist, welches
Klangfarbeninformation enthält, welche die Festlegung einer Klangfarbe zur
Erzeugung des Musikklangs bewirkt, und Zeitinformation, welche die Festlegung
einer Zeit zur Erzeugung des Musikklangs bewirkt, und wobei das
Zuweisungsmittel Mittel aufweist zum Zuweisen eines von erstem
Wellenformgeneratormittel (22) und zweitem Wellenformgeneratormittel
entsprechend der Klangfarbeninformation, so daß das Ausgabemittel (23) den
Musikklang erzeugt, der die festgelegte Klangfarbe in der festgelegten Zeit besitzt.
3. Musikklangerzeugungsgerät nach Anspruch 1, wobei das Zuweisungsmittel Mittel
enthält, die, falls erwünscht, zum gleichzeitigen Zuweisen sowohl des ersten
Wellenformgeneratormittels (22) als auch des zweiten
Wellenformgeneratormittels betreibbar sind, so daß das Steuermittel (10) sowohl
das erste Wellenformgeneratormittel (22) als auch das zweite
Wellenformgeneratormittel betreibt, so daß diese gleichzeitig Wellenformen
parallel erzeugen.
4. Musikklangerzeugungsgerät nach Anspruch 1, wobei das Eingabemittel Mittel zum
Bereitstellen von Spielinformation (MIDI, KBD) aufweist, welche das Anweisen
gleichzeitiger Erzeugung mehrerer musikalischer Klänge bewirken, und wobei das
Zuweisungsmittel Mittel aufweist, eines von erstem Wellenformgeneratormittel
(22) und zweitem Wellenformgeneratormittel entsprechend einer Anzahl von
gleichzeitigen Klängen, welche durch die Spielinformation (MIDI, KBD) festgelegt
sind, so zuzuweisen, daß das zugewiesene eine Kapazität besitzt, die ausreicht, eine
Anzahl an Wellenformen zu erzeugen, die der Anzahl an Musikklängen entspricht.
5. Musikklangerzeugungsgerät nach Anspruch 4, wobei das Zuweisungsmittel ferner
Mittel aufweist, welche, wenn die Anzahl der gleichzeitigen Musikklänge die
Kapazität jedes der ersten Wellenformgeneratormittel (22) und zweiten
Wellenformgeneratormittel übersteigt, das Zuweisen sowohl des ersten
Wellenformgeneratormittels (22) als auch des zweiten
Wellenformgeneratormittels bewirken, um die vollständige Erzeugung der
gleichzeitigen Musikklänge sicherzustellen.
6. Musikklangerzeugungsgerät nach Anspruch 1, wobei das erste
Wellenformgeneratormittel (22) einen externen Wellenformgenerator aufweist,
der wahlweise mit dem Steuermittel (10) verbindbar ist, während das zweite
Wellenformgeneratormittel einen internen Wellenformgenerator aufweist, der in
das Steuermittel (10) integriert ist, so daß das Zuweisungsmittel den internen
Wellenformgenerator anstelle des externen Wellenformgenerators zuweist, wenn
selbiger nicht mit dem Steuermittel (10) verbunden ist, selbst wenn der externe
Wellenformgenerator primär der bereitgestellte Spielinformation (MIDI, KBD)
zugeordnet sein sollte.
7. Musikklangerzeugungsgerät nach Anspruch 1, wobei das zweite
Wellenformerzeugungsmittel, das Eingabemittel (14), das Zuweisungsmittel und
das Steuermittel (10) miteinander integriert sind, so daß sie ein Hauptteil bilden,
das aus einem Computer besteht, während das erste Wellenformgeneratormittel
(22) allein ein Zusatzteil bildet, welches separat vom Hauptteil ist und welches
wahlweise auf dem Computer installierbar ist.
8. Musikklangerzeugungsgerät nach Anspruch 1, wobei das zweite
Wellenformgeneratormittel mehrere digitale Wellenformgeneratoren aufweist,
welche auf Grundlage verschiedener Algorithmen betreibbar sind, um arithmetisch
digitale Wellenformen zu erzeugen, welche unterschiedliche Qualität besitzen, und
wobei das Steuermittel (10) Mittel zum selektiven Betreiben eines gemäß der
bereitgestellten Spielinformation (MIDI, KBD) optimalen digitalen
Wellenformgenerators aufweist.
9. Musikklangerzeugungsgerät nach Anspruch 8, wobei das zweite
Wellenformgeneratormittel einen digitalen Wellenformgenerator eines
Wellenfomspeichertyps enthält, der auf Grundlage eines relativ einfachen
Algorithmus betreibbar ist, um eine digitale Wellenform mit einer relativ
niedrigen Qualität zu erzeugen, sowie einen weiteren digitalen
Wellenformgenerator, der auf Grundlage eines relativ komplizierten Algorithmus
betreibbar ist, um eine digitale Wellenform mit einer relativ hohen Qualität zu
erzeugen.
10. Musikklangerzeugungsgerät nach Anspruch 1, wobei das zweite
Wellenformgeneratormittel einen computerisierten Wellenformgenerator
aufweist, der gemäß einem gegebenen Algorithmus mit einer veränderlichen
Arbeitsgeschwindigkeit betreibbar ist, um eine digitale Wellenform durch
sukzessives Berechnen von Abtastwerten der digitalen Wellenform zu erzeugen,
und wobei das Steuermittel (10) folgendes aufweist: Mittel zum provisorischen
Betreiben des computerisierten Wellenformgenerators, um versuchsweise die
Erzeugung einer digitalen Musterwellenform auszuführen, während es die
Arbeitsgeschwindigkeit mißt, mit welcher die versuchsweise Erzeugung ausgeführt
wird, Bestimmungsmittel zum optimalen Bestimmen einer Abtastfrequenz, die
vergleichbar ist mit der gemessenen Arbeitsgeschwindigkeit, und Mittel zum
tatsächlichen Betreiben des computerisierten Wellenformgenerators, um selbigem
zu ermöglichen, nacheinander Abtastwerte einer tatsächlichen digitalen
Wellenform bei der bestimmten Abtastfrequenz gemäß der bereitgestellten
Spielinformation (MIDI, KBD) zu ermöglichen.
11. Musikklangerzeugungsgerät nach Anspruch 10, wobei das Bestimmungsmittel
Mittel aufweist zum Festlegen der Abtastfrequenz auf eine von schrittweise
vorgegebenen Stufen, die niedriger als die Arbeitsgeschwindigkeit und dieser am
nächsten ist.
12. Musikklangerzeugungsgerät nach Anspruch 10, wobei das Steuermittel (10)
ferner ein Wechselmittel aufweist, welches, wenn die bestimmte Abtastfrequenz
unter eine kritische Stufe fällt, die festgesetzt ist, um eine Mindestqualität der
Wellenform sicherzustellen, den Algorithmus wechselt, um die
Arbeitsgeschwindigkeit des computerisierten Wellenformgenerators anzuheben, so
daß die Abtastfrequenz neu bestimmt werden kann, um die kritische Stufe zu
überschreiten.
13. Musikklangerzeugungsgerät nach Anspruch 12, wobei das Wechselmittel Mittel
zum Wechseln des Algorithmus von einem komplizierten zu einem vereinfachten
aufweist, so daß der computerisierte Wellenformgenerator auf Grundlage des
vereinfachten Algorithmus arbeitet, um nacheinander die vorgespeicherten
Abtastwerte auszulesen, um die digitale Wellenform sich fortpflanzend zu erzeugen.
14. Musikklangerzeugungsgerät nach Anspruch 13, wobei der computerisierte
Wellenformgenerator nacheinander die vorgespeicherten Abtastwerte ausliest,
welche vorläufig nach dem komplizierten Algorithmus berechnet sind, bevor von
selbigem zu dem vereinfachten Algorithmus gewechselt wird.
15. Musikklangerzeugungsverfahren zur Erzeugung einer Wellenform, um einen
Musikklang gemäß Spielinformationen (MIDI, KBD) zu erzeugen, welches folgende
Schritte aufweist: Bereitstellen eines ersten Wellenformgenerators (22), der zum
Erzeugen einer Wellenform betreibbar ist; Bereitstellen eines zweiten
Wellenformgenerators, der unabhängig von dem ersten Wellenformgenerator (22)
zum Erzeugen einer Wellenform betreibbar ist; Bereitstellen von Spielinformation
(MIDI, KBD); Zuweisen mindestens eines von erstem Wellenformgenerator (22)
und zweitem Wellenformgenerator entsprechend der bereitgestellten
Spielinformation (MIDI, KBD); selektives Betreiben des zugewiesenen von erstem
Wellenformgenerator (22) und zweitem Wellenformgenerator durch ein
Steuermittel (10), um die Wellenform gemäß der bereitgestellten
Spielinformation (MIDI, KBD) zu erzeugen; und Erzeugen des Musikklangs auf
Grundlage der erzeugten Wellenform,
dadurch gekennzeichnet, daß
die Schritte des Bereistellens das Bereitstellen des ersten Wellenformgenerators
(22) umfassen, der aus einem Hardware-Modul besteht, welches von dem
Steuermittel (10) gesteuert wird, und des zweiten Wellenformgenerators; der aus
einem Software-Modul besteht, das auf dem Steuermittel installierbar ist.
16. Musikklangerzeugungsverfahren nach Anspruch 15, wobei der Schritt des
Bereitstellens das Bereitstellen von Spielinformation (MIDI, KBD) umfaßt, welche
Klangfarbeninformation enthält, welche die Festlegung einer Klangfarbe zur
Erzeugung des Musikklangs bewirkt, und Zeitinformation, welche die Festlegung
einer Zeit zur Erzeugung des Musikklangs bewirkt, und wobei der
Zuweisungsschritt das Zuweisen entweder des ersten Wellenformgenerators (22)
oder des zweiten Wellenformgenerators entsprechend der Klangfarbeninformation
umfaßt, so daß der Musikklang, der die festgelegte Klangfarbe besitzt, zu der
festgelegten Zeit erzeugt wird.
17. Musikklangerzeugungsverfahren nach Anspruch 15, wobei der Zuweisungsschritt,
falls erwünscht, das gleichzeitige Zuweisen des ersten Wellenformgenerators (22)
und des zweiten Wellenformgenerators umfaßt, so daß das Steuermittel (10)
sowohl den ersten Wellenformgenerator (22) als auch den zweiten
Wellenformgenerator betreibt, so daß diese gleichzeitig Wellenformen parallel
erzeugen.
18. Musikklangerzeugungsverfahren nach Anspruch 15, wobei der Schritt des
Bereitstellens das Bereitstellen von Spielinformation (MIDI, KBD) umfaßt, welche
das Anweisen gleichzeitiger Erzeugung mehrerer musikalischer Klänge bewirkt,
und wobei der Zuweisungsschritt das Zuweisen entweder des ersten
Wellenformgenerators (22) oder des zweiten Wellenformgenerators, entsprechend
einer Anzahl von gleichzeitigen Klängen, welche durch die Spielinformation (MIDI,
KBD) festgelegt sind, umfaßt, so daß der zugewiesene eine Kapazität besitzt, die
ausreicht, eine Anzahl an Wellenformen zu erzeugen, die der Anzahl an
Musikklängen entspricht.
19. Musikklangerzeugungsverfahren nach Anspruch 18, wobei der Zuweisungsschritt
weiter das Zuweisen sowohl des ersten Wellenformgenerators (22) als auch des
zweiten Wellenformgenerators umfaßt, um die vollständige Erzeugung der
gleichzeitigen Musikklänge sicherzustellen, wenn die Anzahl der gleichzeitigen
Musikklänge die Kapazität sowohl des ersten Wellenformgenerators (22) als auch
des zweiten Wellenformgenerators übersteigt.
20. Musikklangerzeugungsverfahren nach Anspruch 15, wobei die
Vorbereitungsschritte das Vorbereiten des ersten Wellenformgenerators (22) der
aus einem externen Wellenformgenerator besteht, der wahlweise mit dem
Steuermittel (10) verbindbar ist, und des zweiten Wellenformgenerators, der aus
einem internen Wellenformgenerator besteht, der mit dem Steuermittel (10)
integriert ist, umfassen, so daß der interne Wellenformgenerator anstelle des
externen Wellenformgenerators zugewiesen wird, wenn selbiger nicht mit dem
Steuermittel (10) verbunden ist, selbst wenn der externe Wellenformgenerator
primär der bereitgestellten Spielinformation (MIDI, KBD) zugeordnet sein sollte.
21. Musikklangerzeugungsverfahren nach Anspruch 15, wobei der
Vorbereitungsschritt das Vorbereiten des zweiten Wellenformgenerators umfaßt,
der aus mehreren digitalen Wellenformgeneratoren besteht, welche auf Grundlage
verschiedener Algorithmen betreibbar sind, um arithmetisch digitale
Wellenformen zu erzeugen, welche unterschiedliche Eigenschaften haben, und
wobei der Schritt des Betreibens das selektive Betreiben eines gemäß der
bereitgestellten Spielinformation (MIDI, KBD) optimalen digitalen
Wellenformgenerators umfaßt.
22. Musikklangerzeugungsverfahren nach Anspruch 21, wobei der
Vorbereitungsschritt das Vorbereiten des zweiten Wellenformgenerators umfaßt,
der einen digitalen Wellenformgenerator eines Wellenfomspeichertyps enthält, der
auf Grundlage eines relativ einfachen Algorithmus betreibbar ist, um eine digitale
Wellenform mit einer relativ niedrigen Qualität zu erzeugen, sowie einen weiteren
digitalen Wellenformgenerator, der auf Grundlage eines relativ komplizierten
Algorithmus betreibbar ist, um eine digitale Wellenform mit einer relativ hohen
Qualität zu erzeugen.
23. Musikklangerzeugungsverfahren nach Anspruch 15, wobei der
Vorbereitungsschritt das Vorbereiten des zweiten Wellenformgenerators umfaßt,
der aus einem computerisierten Wellenformgenerator besteht, der gemäß einem
gegebenen Algorithmus mit einer veränderlichen Arbeitsgeschwindigkeit
betreibbar ist, um eine digitale Wellenform durch sukzessives Berechnen von
Abtastwerten der digitalen Wellenform zu erzeugen, und wobei der Schritt des
Betreibens die folgenden Schritte umfaßt: provisorisches Betreiben des
computerisierten Wellenformgenerators, um versuchsweise Erzeugung einer
digitalen Musterwellenform auszuführen, während die Arbeitsgeschwindigkeit
gemessen wird, mit welcher die versuchsweise Erzeugung ausgeführt wird,
optimales Bestimmen einer Abtastfrequenz, die vergleichbar ist mit der
gemessenen Arbeitsgeschwindigkeit, und tatsächliches Betreiben des
computerisierten Wellenformgenerators, um selbigem zu ermöglichen,
nacheinander Abtastwerte einer tatsächlichen digitalen Wellenform bei der
bestimmten Abtastfrequenz gemäß der bereitgestellten Spielinformation (MIDI,
KBD) zu berechnen.
24. Musikklangerzeugungsverfahren nach Anspruch 23, wobei der Schritt des
Bestimmens das Festlegen der Abtastfrequenz auf eine von schrittweise
vorgegebenen Stufen, die niedriger als die Arbeitsgeschwindigkeit und dieser am
nächsten ist, umfaßt.
25. Musikklangerzeugungsverfahren nach Anspruch 23, wobei der Schritt des
Betreibens weiter das Wechseln des Algorithmus umfaßt, um die
Arbeitsgeschwindigkeit des computerisierten Wellenformgenerators anzuheben, so
daß die Abtastfrequenz neu bestimmt werden kann, um die kritische Stufe zu
überschreiten, wenn die bestimmte Abtastfrequenz unter eine kritische Stufe fällt,
die festgesetzt ist, um eine Mindestqualität der Wellenform sicherzustellen.
26. Musikklangerzeugungsverfahren nach Anspruch 25, wobei der Schritt des
Wechselns das Wechseln des Algorithmus von einem komplizierten zu einem
vereinfachten umfaßt, so daß der computerisierte Wellenformgenerator auf
Grundlage des vereinfachten Algorithmus arbeitet, um nacheinander die
vorgespeicherten Abtastwerte auszulesen, um die digitale Wellenform sich
fortpflanzend zu erzeugen.
27. Musikklangerzeugungsverfahren nach Anspruch 26, wobei der
Vorbereitungsschritt das Vorbereiten des computerisierten Wellenformgenerators
umfaßt, der nacheinander die vorgespeicherten Abtastwerte ausliest, welche
vorläufig nach dem komplizierten Algorithmus berechnet sind, bevor von selbigem
zu dem vereinfachten Algorithmus gewechselt wird.
28. Maschinenlesbares Medium, das Befehle enthält, die Maschine, die einen ersten
Wellenformgenerator (22) bereitstellt, der ein Hardware-Modul ist, zu
veranlassen, ein Verfahren der Erzeugung einer Wellenform auszuführen, um
einen Musikklang gemäß Spielinformation (MIDI, KBD) zu erzeugen, wobei das
Verfahren die folgenden Schritte aufweist: Versorgen eines ersten
Wellenformgenerators (22) mit Spielinformation (MIDI, KBD), die zum Erzeugen
einer Wellenform ausführbar ist; Bereitstellen eines zweiten
Wellenformgenerators bestehend aus einem Software-Modul, das unabhängig von
dem ersten Wellenformgenerator (22) zum Erzeugen einer Wellenform betreibbar
ist; Zuweisen mindestens eines von erstem Wellenformgenerator (22) und
zweitem Wellenformgenerator entsprechend der bereitgestellten Spielinformation
(MIDI, KBD); selektives Betreiben des zugewiesenen ersten Wellenformgenerators
(22) oder zweiten Wellenformgenerators mittels eines Steuermittels, um die
Wellenform gemäß der bereitgestellten Spielinformation (MIDI, KBD) zu
erzeugen; und Erzeugen des Musikklangs auf Grundlage der erzeugten Wellenform.
29. Maschinenlesbares Medium nach Anspruch 28, wobei der Schritt des Bereitstellens
das Bereitstellen von Spielinformation (MIDI, KBD) umfaßt, welche
Klangfarbeninformation enthält, welche die Festlegung einer Klangfarbe zur
Erzeugung des Musikklangs bewirkt, und Zeitinformation, welche die Festlegung
einer Zeit zur Erzeugung des Musikklangs bewirkt, und wobei der
Zuweisungsschritt das Zuweisen eines von erstem Wellenformgenerator (22) und
zweitem Wellenformgenerator entsprechend der Klangfarbeninformation umfaßt,
so daß der Musikklang, der die festgelegte Klangfarbe besitzt, zu der festgelegten
Zeit erzeugt wird.
30. Maschinenlesbares Medium nach Anspruch 28, wobei der Zuweisungsschritt, falls
erwünscht, das gleichzeitige Zuweisen sowohl des ersten Wellenformgenerators
(22) als auch des zweiten Wellenformgenerators umfaßt, so daß das Steuermittel
(10) sowohl den ersten Wellenformgenerator (22) als auch den zweiten
Wellenformgenerator betreibt, so daß diese gleichzeitig Wellenformen parallel
erzeugen.
31. Maschinenlesbares Medium nach Anspruch 28, wobei der Schritt des Bereitstellens
das Bereitstellen von Spielinformation (MIDI, KBD) umfaßt, welche das Anweisen
gleichzeitiger Erzeugung mehrerer musikalischer Klänge bewirkt, und wobei der
Zuweisungsschritt das Zuweisen entweder des ersten Wellenformgenerators (22)
oder des zweiten Wellenformgenerators, entsprechend einer Anzahl von
gleichzeitigen Klängen, welche durch die Spielinformation (MIDI, KBD) festgelegt
sind, umfaßt, so daß der zugewiesene eine Kapazität besitzt, die ausreicht, eine
Anzahl an Wellenformen zu erzeugen, die der Anzahl an Musikklängen entspricht.
32. Maschinenlesbares Medium nach Anspruch 31, wobei der Zuweisungsschritt weiter
das Zuweisen sowohl des ersten Wellenformgenerators (22) als auch des zweiten
Wellenformgenerators umfaßt, um die vollständige Erzeugung der gleichzeitigen
Musikklänge sicherzustellen, wenn die Anzahl der gleichzeitigen Musikklänge die
Kapazität sowohl des ersten Wellenformgenerators (22) als auch des zweiten
Wellenformgenerators übersteigt.
33. Maschinenlesbares Medium nach Anspruch 28, wobei die Vorbereitungsschritte das
Vorbereiten des ersten Wellenformgenerators (22) der aus einem externen
Wellenformgenerator besteht, der wahlweise mit dem Steuermittel (10)
verbindbar ist, und des zweiten Wellenformgenerators, der aus einem internen
Wellenformgenerator besteht, der mit dem Steuermittel (10) integriert ist,
umfassen, so daß der interne Wellenformgenerator anstelle des externen
Wellenformgenerators zugewiesen wird, wenn selbiger nicht mit dem Steuermittel
(10) verbunden ist, selbst wenn der externe Wellenformgenerator primär der
bereitgestellten Spielinformation (MIDI, KBD) zugeordnet sein sollte.
34. Maschinenlesbares Medium nach Anspruch 28, wobei der Vorbereitungsschritt das
Vorbereiten des zweiten Wellenformgenerators umfaßt, der aus mehreren digitalen
Wellenformgeneratoren besteht, welche auf Grundlage verschiedener Algorithmen
betreibbar sind, um arithmetisch digitale Wellenformen zu erzeugen, welche
unterschiedliche Qualität haben, und wobei der Schritt des Betreibens das selektive
Betreiben eines gemäß der bereitgestellten Spielinformation (MIDI, KBD)
optimalen digitalen Wellenformgenerators umfaßt.
35. Maschinenlesbares Medium nach Anspruch 34, wobei der Vorbereitungsschritt das
Vorbereiten des zweiten Wellenformgenerators umfaßt, der einen digitalen
Wellenformgenerator eines Wellenfomspeichertyps enthält, der auf Grundlage
eines relativ einfachen Algorithmus betreibbar ist, um eine digitale Wellenform
mit einer relativ niedrigen Qualität zu erzeugen, sowie einen weiteren digitalen
Wellenformgenerator, der auf Grundlage eines relativ komplizierten Algorithmus
betreibbar ist, um eine digitale Wellenform mit einer relativ hohen Qualität zu
erzeugen.
36. Maschinenlesbares Medium nach Anspruch 28, wobei der Vorbereitungsschritt das
Vorbereiten des zweiten Wellenformgenerators umfaßt, der aus einem
computerisierten Wellenformgenerator besteht, der gemäß einem gegebenen
Algorithmus mit einer veränderlichen Arbeitsgeschwindigkeit betreibbar ist, um
eine digitale Wellenform durch sukzessives Berechnen von Abtastwerten der
digitalen Wellenform zu erzeugen, und wobei der Schritt des Betreibens die
folgenden Schritte umfaßt: provisorisches Betreiben des computerisierten
Wellenformgenerators, um versuchsweise Erzeugung einer digitalen
Musterwellenform auszuführen, während die Arbeitsgeschwindigkeit gemessen
wird, mit welcher die versuchsweise Erzeugung ausgeführt wird, optimales
Bestimmen einer Abtastfrequenz, die vergleichbar ist mit der gemessenen
Arbeitsgeschwindigkeit, und tatsächliches Betreiben des computerisierten
Wellenformgenerators, um selbigem zu ermöglichen, nacheinander Abtastwerte
einer tatsächlichen digitalen Wellenform bei der bestimmten Abtastfrequenz gemäß
der bereitgestellten Spielinformation (MIDI, KBD) zu berechnen.
37. Maschinenlesbares Medium nach Anspruch 36, wobei der Schritt des Bestimmens
das Festlegen der Abtastfrequenz auf eine von schrittweise vorgegebenen Stufen, die
niedriger als die Arbeitsgeschwindigkeit und dieser am nächsten ist, umfaßt.
38. Maschinenlesbares Medium nach Anspruch 36, wobei der Schritt des Betreibens
weiter das Wechseln des Algorithmus umfaßt, um die Arbeitsgeschwindigkeit des
computerisierten Wellenformgenerators anzuheben, wenn die bestimmte
Abtastfrequenz unter eine kritische Stufe fällt, die festgesetzt ist, um eine
Mindestqualität der Wellenform sicherzustellen, so daß die Abtastfrequenz neu
bestimmt werden kann, um die kritische Stufe zu überschreiten.
39. Musikklangerzeugungsverfahren nach Anspruch 38, wobei der Schritt des
Wechselns das Wechseln des Algorithmus von einem komplizierten zu einem
vereinfachten umfaßt, so daß der computerisierte Wellenformgenerator auf
Grundlage des vereinfachten Algorithmus arbeitet, um nacheinander die
vorgespeicherten Abtastwerte auszulesen, um die digitale Wellenform sich
fortpflanzend zu erzeugen.
40. Maschinenlesbares Medium nach Anspruch 39, wobei der Vorbereitungsschritt das
Vorbereiten des computerisierten Wellenformgenerators umfaßt, der nacheinander
die vorgespeicherten Abtastwerte ausliest, welche vorläufig nach dem
komplizierten Algorithmus berechnet sind, bevor von selbigem zu dem
vereinfachten Algorithmus gewechselt wird.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP13952695 | 1995-06-06 | ||
| JP7253493A JP2998612B2 (ja) | 1995-06-06 | 1995-09-29 | 楽音発生装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| DE69614765D1 DE69614765D1 (de) | 2001-10-04 |
| DE69614765T2 true DE69614765T2 (de) | 2002-06-20 |
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 After (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| 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 |
Country Status (7)
| Country | Link |
|---|---|
| US (2) | US5714703A (de) |
| EP (3) | EP0951009B1 (de) |
| JP (1) | JP2998612B2 (de) |
| KR (1) | KR100306032B1 (de) |
| CN (1) | CN1153187C (de) |
| DE (3) | DE69614765T2 (de) |
| SG (3) | SG92777A1 (de) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| 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 |
Families Citing this family (43)
| 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 |
| US7526349B2 (en) * | 2000-12-01 | 2009-04-28 | O2Micro International Limited | Low power digital audio decoding/playing system for computing devices |
| 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 |
| US7818443B2 (en) * | 2000-12-01 | 2010-10-19 | O2Micro International Ltd. | 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 |
| US7522965B2 (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 |
| US7026534B2 (en) | 2002-11-12 | 2006-04-11 | Medialab Solutions Llc | Systems and methods for creating, modifying, interacting with and playing musical compositions |
| 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 |
| WO2006043929A1 (en) | 2004-10-12 | 2006-04-27 | Madwaves (Uk) Limited | Systems and methods for music remixing |
| 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 |
| 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)
| 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 | ヤマハ株式会社 | 電子楽器 |
| WO1980001215A1 (en) * | 1978-12-11 | 1980-06-12 | Microskill Ltd | An output processing system for a digital electronic musical instrument |
| 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 | ヤマハ株式会社 | 電子楽器 |
-
1995
- 1995-09-29 JP JP7253493A patent/JP2998612B2/ja not_active Expired - Lifetime
-
1996
- 1996-06-03 DE DE69614765T patent/DE69614765T2/de not_active Expired - Lifetime
- 1996-06-03 DE DE69634271T patent/DE69634271T2/de not_active Expired - Fee Related
- 1996-06-03 EP EP99112006A patent/EP0951009B1/de not_active Expired - Lifetime
- 1996-06-03 EP EP99120824A patent/EP0978821B1/de not_active Expired - Lifetime
- 1996-06-03 EP EP96108875A patent/EP0747877B1/de not_active Expired - Lifetime
- 1996-06-03 DE DE69632273T patent/DE69632273T2/de not_active Expired - Lifetime
- 1996-06-04 SG SG200007677A patent/SG92777A1/en unknown
- 1996-06-04 SG SG1996009976A patent/SG45482A1/en unknown
- 1996-06-04 US US08/659,011 patent/US5714703A/en not_active Ceased
- 1996-06-04 SG SG1998005233A patent/SG74104A1/en unknown
- 1996-06-06 CN CNB961104171A patent/CN1153187C/zh not_active Expired - Fee Related
- 1996-06-07 KR KR1019960020414A patent/KR100306032B1/ko not_active Expired - Fee Related
-
1999
- 1999-07-14 US US09/353,579 patent/USRE37367E1/en not_active Expired - Lifetime
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| 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 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2998612B2 (ja) | 2000-01-11 |
| CN1164727A (zh) | 1997-11-12 |
| USRE37367E1 (en) | 2001-09-18 |
| SG92777A1 (en) | 2002-11-19 |
| DE69634271D1 (de) | 2005-03-03 |
| EP0747877B1 (de) | 2001-08-29 |
| EP0747877A2 (de) | 1996-12-11 |
| DE69632273T2 (de) | 2005-04-21 |
| EP0978821A1 (de) | 2000-02-09 |
| KR970002733A (ko) | 1997-01-28 |
| DE69614765D1 (de) | 2001-10-04 |
| JPH0954586A (ja) | 1997-02-25 |
| EP0978821B1 (de) | 2004-04-21 |
| US5714703A (en) | 1998-02-03 |
| EP0951009A1 (de) | 1999-10-20 |
| EP0951009B1 (de) | 2005-01-26 |
| DE69632273D1 (de) | 2004-05-27 |
| HK1004441A1 (en) | 1998-11-27 |
| DE69634271T2 (de) | 2006-04-13 |
| KR100306032B1 (ko) | 2001-11-30 |
| CN1153187C (zh) | 2004-06-09 |
| SG74104A1 (en) | 2000-07-18 |
| SG45482A1 (en) | 1998-01-16 |
| EP0747877A3 (de) | 1997-01-22 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE69614765T2 (de) | Durch Rechner gesteuertes Musiksystem mit hard- und softwareorientierter Tonerzeugung | |
| DE69711518T2 (de) | Auf Software basierendes Tonquellensystem und Verfahren zur Erzeugung von akustischen Wellenformdaten | |
| DE69608292T2 (de) | Audio-synthesizer | |
| DE69730873T2 (de) | Software-Tonerzeuger | |
| DE69625990T2 (de) | Verarbeitungssystem für Musikinformation | |
| DE69132102T2 (de) | Elektronische Musikvorrichtung | |
| DE69515742T2 (de) | Digitale Bearbeitung von Audio-Mustern | |
| DE69619587T2 (de) | Verfahren und Vorrichtung zur Tonerzeugung | |
| DE69732013T2 (de) | Verfahren zur Erweiterung der Fähigkeit einer Musikvorrichtung durch ein Netzwerk | |
| DE69325336T2 (de) | Gerät zum Beaufschlagen eines Signals mit einem Klangeffekt | |
| DE69617480T2 (de) | Vorrichtung zur Verarbeitung eines digitales Klangsignals | |
| DE69210652T2 (de) | Mischvorrichtung für Begleitungschor und Karaoke-System mit dieser Vorrichtung | |
| US4644840A (en) | Electronic keyboard musical instrument and a method of operating the same | |
| DE69613068T2 (de) | Digitales Musikinstrument mit Wellenformbearbeitung zur Erzeugung eines Klangeffektes | |
| DE69615455T2 (de) | Musiksystem, Tonerzeuger und Verfahren zur Tonsynthetisierung | |
| DE69613950T2 (de) | Verfahren und Vorrichtung zur Tonerzeugung | |
| DE69517896T2 (de) | Elektronisches Musikinstrument und Vorrichtung zum Hinzufügen von Klangeffekten zum Tonsignal | |
| DE69618535T2 (de) | Verfahren zur Tonerzeugung durch Hardware- und Softwarequellen | |
| DE69519149T2 (de) | Elektronisches Musikinstrument mit Klangveränderung durch äussere Angabe von Auswahl-Möglichkeiten | |
| DE69615240T2 (de) | Musikrechner mit Klang-Emulation | |
| DE69515569T2 (de) | Elektronisches Musikinstrument mit einer Umsetzungsfunktion für Effektdaten | |
| DE69625625T2 (de) | Verfahren und Vorrichtung zur auf Software basierten Tonwellenformerzeugung | |
| DE69618738T2 (de) | Verfahren und Vorrichtung zur Tonerzeugung | |
| DE69228101T2 (de) | Elektronisches Musikinstrument mit einer Funktion zur Algorithmusauswahl | |
| DE69615268T2 (de) | Elektronisches Musikinstrument |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 8364 | No opposition during term of opposition | ||
| 8328 | Change in the person/name/address of the agent |
Representative=s name: KEHL & ETTMAYR, PATENTANWAELTE, 81679 MUENCHEN |