DE69613049T2 - Verfahren und Vorrichtung zur auf Software basierten Tonwellenformerzeugung - Google Patents

Verfahren und Vorrichtung zur auf Software basierten Tonwellenformerzeugung

Info

Publication number
DE69613049T2
DE69613049T2 DE69613049T DE69613049T DE69613049T2 DE 69613049 T2 DE69613049 T2 DE 69613049T2 DE 69613049 T DE69613049 T DE 69613049T DE 69613049 T DE69613049 T DE 69613049T DE 69613049 T2 DE69613049 T2 DE 69613049T2
Authority
DE
Germany
Prior art keywords
waveform samples
tone waveform
calculating
performance information
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69613049T
Other languages
English (en)
Other versions
DE69613049D1 (de
Inventor
Masahiro Shimizu
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Publication of DE69613049D1 publication Critical patent/DE69613049D1/de
Application granted granted Critical
Publication of DE69613049T2 publication Critical patent/DE69613049T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H7/00Instruments in which the tones are synthesised from a data store, e.g. computer organs
    • G10H7/002Instruments in which the tones are synthesised from a data store, e.g. computer organs using a common processing for different operations or calculations, and a set of microinstructions (programme) to control the sequence thereof
    • G10H7/006Instruments in which the tones are synthesised from a data store, e.g. computer organs using a common processing for different operations or calculations, and a set of microinstructions (programme) to control the sequence thereof using two or more algorithms of different types to generate tones, e.g. according to tone color or to processor workload
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H7/00Instruments in which the tones are synthesised from a data store, e.g. computer organs
    • G10H7/002Instruments in which the tones are synthesised from a data store, e.g. computer organs using a common processing for different operations or calculations, and a set of microinstructions (programme) to control the sequence thereof
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2230/00General physical, ergonomic or hardware implementation of electrophonic musical tools or instruments, e.g. shape or architecture
    • G10H2230/025Computing or signal processing architecture features
    • G10H2230/041Processor load management, i.e. adaptation or optimization of computational load or data throughput in computationally intensive musical processes to avoid overload artifacts, e.g. by deliberately suppressing less audible or less relevant tones or decreasing their complexity
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2240/00Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
    • G10H2240/171Transmission of musical instrument data, control or status information; Transmission, remote access or control of music data for electrophonic musical instruments
    • G10H2240/201Physical layer or hardware aspects of transmission to or from an electrophonic musical instrument, e.g. voltage levels, bit streams, code words or symbols over a physical link connecting network nodes or instruments
    • G10H2240/241Telephone transmission, i.e. using twisted pair telephone lines or any type of telephone network
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2240/00Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
    • G10H2240/171Transmission of musical instrument data, control or status information; Transmission, remote access or control of music data for electrophonic musical instruments
    • G10H2240/281Protocol or standard connector for transmission of analog or digital data to or from an electrophonic musical instrument
    • G10H2240/295Packet switched network, e.g. token ring
    • G10H2240/305Internet or TCP/IP protocol use for any electrophonic musical instrument data or musical parameter transmission purposes
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/541Details of musical waveform synthesis, i.e. audio waveshape processing from individual wavetable samples, independently of their origin or of the sound they represent

Landscapes

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

Description

  • Die vorliegende Erfindung betrifft einen Verfahren und eine Vorrichtung zum Erzeugen einer Tonwellenform durch einen Computer, wobei ein Software-Programm ausgeführt wird, um Tonwellenformabtastwerte zu berechnen und dadurch zu ermöglichen, dass eine CPU oder ein Prozessor eines Mikrocomputersystems als Tongenerator arbeiten.
  • Es sind herkömmliche elektronische Musikinstrumente bekannt, die eine Tongeneratorschaltung mittels eines durch eine CPU ausgeführten Tonerzeugungs- Software-Programms implementieren. EP 0 376 342 offenbart zum Beispiel eine Datenverarbeitungsvorrichtung für elektronische Musikinstrumente, welche ermöglicht, dass ein Mikrocomputer ein Tonerzeugungsprogramm zur Erzeugung verschiedener Arten von Musiktönen abarbeitet. Der Mikrocompter ruft das Programm durch ein Zeitgeber-Unterbrechungssignal ab und und arbeitet es zur Tonerzeugung ab. Der Tonerzeugungsprozeß wird ausgeführt, um einen Musikton synchron mit einem Hüllkurvenwellenformprozeß auszuführen. EP 0 463 409 offenbart eine Musiktonwellenformvorrichtung, die ein Musiktonsignal unter Verwendung von CPUs nach Durchführen eines Tonquellenverarbeitungsprogramms erzeugt. Das erzeugte Musiktonsignal wird in vorgegebenen Zeitintervallen von Digital/Analog-Wandlern (DAC) ausgegeben. Um eine Tonwellenform mit solchen bekannten elektronischen Musikinstrumenten wiederzugeben, ist es erforderlich, Tonwellenformabtastwerte zu einem DAC im Ansprechen auf Taktimpulse, die einer vorgegebenen Abtastfrequenz entsprechen, gleichmäßig zu liefern. Die bekannten herkömmlichen elektronischen Musikinstrumente sind so beschaffen, dass Tonwellenformabtastwerte mittels Durchführen einer Tonerzeugungsberechnung im Ansprechen auf eine Erzeugung jedes Taktimpulses erzeugt werden. Das Berechnen eines Tonwellenformabtaswertes im Ansprechen auf einen jeden solchen Taktimpuls würde einen uneffizienten Betrieb der CPU zur Folge haben, da das Vorbereiten und Beenden jeder Tonwellenformabtastwert-Berechnung einen nicht unerheblichen Verwaltungsaufwand erfordert.
  • Zur Lösung des Problems wurde vorgeschlagen, eine Vielzahl von Tonwellenformabtastwerten für jeden relativ langen, optionalen Berechnungstaktimpuis, der zu einer jeden vorgegebenen Vielzahl von Abtasttaktimpulsen erzeugt wird, zu berechnen. US 5 283 386 beschreibt eine Musiktonsignalerzeugungsvorrichtung, die einen Universal-Prozessor und eine damit extern verbundene Verarbeitungsschaltung bereitstellt. Ein durch den Universal-Prozessor auszuführender Musiktonerzeugungsprozeß wird synchron mit verschiedenen Musiktonsteuerprozessen, die von der extern verbundenen Bearbeitungsschaltung auszuführen sind, durchgeführt. US 5 376 752 offenbart einen Musiksynthesizer mit dynamischer Stimmenzuordnung. Ein Eingabegerät liefert Echtzeit-Eingabesignale, die ausgewählte Stimmen bezeichnen, und ein Stimmenprogrammspeicher speichert Programme für jeweilige Stimmen. Ein Tonverarbeitungs-Modul, das eine Anordnung von Digitalsignalprozessoren aufweist, ist an das Eingabgerät und den Stimmenprogrammspeicher gekoppelt und spricht auf Echtzeit-Eingabesignale an, zur Durchführung einer Gruppe von Stimmenprogrammen in dem Stimmenprogrammspeicher, um Stimmen in Echtzeit selektiv zu erzeugen. An das Eingabegerät und den Stimmenprogrammspeicher gekoppelte Systemelemente weisen Stimmenprogramme für ausgewählte Stimmen der Gruppe der Stimmenprogramme im Ansprechen auf die Echtzeit-Eingabesignale zu. Weitere Systemelemente zum Ersetzen eines besonderen Stimmenprogramms in der Gruppe durch ein Stimmenprogramm für eine ausgewählte Stimme im Ansprechen auf die Echtzeitsignale sind verfügbar. Ein erster Speicher speichert eine Vielzahl von Stimmenprogrammen und ein zweiter Speicher ist an das Tonverarbeitungs-Modul und den ersten Speicher gekoppelt, der die Gruppe der Stimmenprogramme zum Ausführen durch das Tonverarbeitungs-Modul speichert. Ein ausgewähltes Stimmenprogramm wird von dem ersten Speicher auf den zweiten Speicher in Echtzeit übertragen. Ein Audio-Ausgabegerät mit einem Lautsprecher ist an den Digitalsignalprozessor gekoppelt, wobei ein Ton im Ansprechen auf Tondaten erzeugt wird.
  • Falls jedoch das Tonerzeugungs-Softwareprogramm gleichzeitig mit einer anderen Software, wie beispielsweise Geschäfts- oder Spiel-Software, abgearbeitet wird, besteht die Tendenz, dass die CPU im erheblichen Maße belastet wird, da Tonwellenformabtastwerte für eine Vielzahl von Abtastwerten im Ansprechen auf jeden Berechnungstaktimpuls zu berechnen sind, was zu Betriebsverzögerungen der anderen Software führt.
  • Es ist daher ein Ziel der vorliegenden Erfindung ein Verfahren und eine Vorrichtung zum Erzeugen von Tonwellenformabtastwerten mit Hilfe der Ausführung einer Tonerzeugungs-Software zu schaffen, die Betriebsverzögerungen eines anderen gleichzeitig mit der Tonerzeugungs-Software ausgeführten Softwareprogramms verhindern oder minimieren kann.
  • Um das vorher erwähnte Ziel zu erreichen, stellt die vorliegende Erfindung ein Verfahren zum Erzeugen einer Tonwellenform auf der Grundlage einer automatischen Spielinformation bereit, welches Verfahren die Durchführung eines Wellenformberechnungsprozesses zur Berechnung von Tonwellenformabtastwerten durch Teilen eines arithmetischen Bearbeitungsabschnitts mit einem anderen Prozeß aufweist und das dadurch gekennzeichnet ist, dass es die folgenden Schritte aufweist: Feststellen eines Zeitraums der Bearbeitungskapazität des arithmetischen Bearbeitungsabschnitts, der nicht gleichzeitig durch den anderen Prozeß belegt wird, als verfügbare Bearbeitungskapazität für den Wellenformberechnungsprozeß, Berechnen einer Vielzahl von Tonwellenformabtastwerten auf der Grundlage der Spielinformation vor einer vorgegebenen Erzeugungszeit derselben mittels Durchführen des Wellenformberechnungsprozesses unter Verwendung der verfügbaren Bearbeitungskapazität, die in dem Feststellungsschritt festgestellt wurde, wobei der Berechnungsschritt einen Schritt zum Speichern der berechneten Tonwellenformabtastwerte in einem Speicher enthält und Erzeugen einer Tonwellenform durch Auslesen der Tonwellenformabtastwerte aus dem Speicher.
  • Die vorliegende Erfindung ist dadurch gekennzeichnet, dass ein Teil einer Bearbeitungskapazität des arithmetischen Bearbeitungsabschnitts, der nicht gleichzeitig durch den anderen Prozeß belegt ist, festgestellt wird als die verfügbare Bearbeitungskapazität für den Wellenformberechnungsprozeß, und dass der Wellenformberechnungsprozeß unter Verwendung der so festgestellten verfügbaren Bearbeitungskapazität ausgeführt wird, um so Tonwellenformabtastwerte zu berechnen, die der festgestellten Bearbeitungskapazität entsprechen. Die berechneten Tonwellenformabtastwerte sind in einem Speicher gespeichert und werden dann von dem Speicher mit einer vorgegebenen Abtastfrequenz ausgegeben. Die Berechnung der Tonwellenformabtastwerte wird immer in voraus vor einer vorgegebenen Erzeugungszeit, wenn diese Abtastwerte auszugeben sind, ausgeführt. Gemäß der Erfindung werden Tonwellenformabtastwerte nur in dem Maß berechnet, der der festgestellten verfügbaren Bearbeitungskapazität entspricht. Falls eine Vielzahl von Anwendungsprogrammen gleichzeitig auf Mehrprozeßbearbeitungsbasis abgearbeitet werden, gestattet die Anordnung der Erfindung, dass zusätzlich Tonwellenformabtastwerte berechnet und gesichert werden, wenn genügend Bearbeitungskapazität des arithmetischen Bearbeitungsabschnitts für die Wellenformabtastwertberechnung verfügbar ist, wodurch eine erhöhte Betriebseffizienz des arithmetischen Bearbeitungsabschnitts geschaffen wird. Sogar wenn der arithmetische Bearbeitungsabschnitt mit einem anderen Anwendungsprogramm beschäftigt ist, i. e., sogar wenn der arithmetische Bearbeitungsabschnitt für das andere Anwendungsprogramm mit Priorität vor der Wellenformabtastwertberechnung verwendet wird, können Tonwellenformabtastwerte fortlaufend ohne einen Abbruch ausgegeben werden, indem die vorher berechneten und gesicherten Tonwellenformabtastwerte einfach ausgelesen werden, als genügend Bearbeitungskapazität des arithmetischen Berechnungsabschnitts für die Wellenformabtastwertberechnung verfügbar war, mit dem Ergebnis, dass das andere Anwendungsprogramm mit erhöhter Effizienz durchgeführt werden kann.
  • Der Schritt zur Berechnung einer Vielzahl von Tonwellenformabtastwerten kann eine oder mehrere vorgegebene Einheiten der Tonwellenformabtastwerte zusammengefaßt abhängig von der festgestellten verfügbaren Bearbeitungskapazität berechnen, wobei jede der Einheiten eine vorgegebene Anzahl von Tonwellenformabtastwerfen ist. Diese Anordnung der Erfindung kann den Verwaltungsaufwand, der für eine Vorbereitung für den Wellenformabtastwert-Berechnungsprozeß oder dergleichen verbraucht wird, wesentlich reduzieren.
  • Bei einer bevorzugten Ausführungsform beginnt der Berechnungsschritt zudem eine Berechnung der Tonwellenformabtastwerte vor dem Erzeugungsschritt und der Erzeugungsschritt beginnt das Auslesen der Wellenformabtastwerte aus dem Speicher nur, nachdem eine Vielzahl der Tonwellenformabtastwerte in dem Speicher gespeichert sind.
  • Wenn mehr als eine vorgegebene Anzahl nichtausgelesener Tonwellenformabtastwerte in dem Speicher nicht vorhanden sind, kann der Berechnungsschritt eine vorgegebene Anzahl von Tonwellenformabtastwerten unabhängig von der festgestellten verfügbaren Bearbeitungskapazität berechnen. Sogar wenn mehr als eine vorgegebene Anzahl nichtgelesener Tonwellenformabtastwerte nicht in dem Speicher verfügbar sind (z. B., wenn überhaupt kein Tonwellenformabtastwert in dem Speicher enthalten ist) aufgrund der Tatsache, dass der arithmetische Berechnungsabschnitt zu sehr mit einem anderen Prozeß beschäftigt ist, um die Voraus-Berechnungen der Tonwellenformabtastwerte auszuführen, kann eine Berechnung von Tonwellenformabtastwerten immer garantiert werden, um eine vorgegebene Anzahl von Tonwellenformabtastwerten bereitzustellen, was einen unerwarteten Abbruch bei erzeugten Tönen zuverlässig verhindert.
  • Nach einem weiteren Gesichtspunkt stellt die vorliegende Erfindung ein Verfahren zum Erzeugen von Tonwellenformen bereit, die einer ersten Spielinformation auf der Grundlage eines Echtzeit-Spiels und einer zweiten Spielinformation auf der Grundlage eines automatischen Spiels entsprechen, welches Verfahren eine Durchführung eines Wellenformberechnungsprozesses zur Berechnung von Tonwellenformabtastwerten auf der Grundlage der ersten bzw. zweiten Spielinformation unter Verwendung eines gemeinsamen arithmetischen Bearbeitungsabschnitts aufweist und das dadurch gekennzeichnet ist, dass es die folgenden Schritte aufweist: Berechnen einer vorgegebenen Anzahl von ersten Tonwellenformabtastwerten für jede vorgegebene Periode auf der Basis der ersten Spielinformation, die im Ansprechen auf ein Echtzeit-Spiel zugeführt wird, Feststellen eines Bearbeitungskapazitätszeitraums des arithmetischen Bearbeitungsabschnitts, der derzeit nicht durch einen Prozeß für die Berechnung der ersten Tonwellenformabtastwerte belegt ist, als verfügbare Bearbeitungskapazität zur Erzeugung einer Tonwellenfom auf der Grundlage der zweiten Spielinformation, Berechnen von zweiten Tonwellenformabtastwerten auf der Grundlage der zweiten Spielinformation vor einer vorgegebenen Erzeugungszeit derselben, wobei die verfügbare Bearbeitungskapazität, die durch den Feststellungsschritt festgestellt wird, verwendet wird, Speichern der durch den Berechnungsschritt berechneten ersten und zweiten Tonwellenformabtastwerte in einem Speicher und Erzeugen von Tonwellenformen, die dem Echtzeit-Spiel und dem automatischen Spiel entsprechen, durch synchrones Auslesen der ersten und zweiten Tonwellenformabtastwerte aus dem Speicher.
  • Gemäß dieser Anordnung werden die zweiten Tonwellenformabtastwerte auf der Grundlage der zweiten Spielinformation berechnet und im voraus vor ihrer vorgegebenen Erzeugungszeit gesichert, wenn genügend Bearbeitungskapazität des arithmetischen Bearbeitungsabschnitts verfügbar ist. Wenn die erste Spielinformation im Ansprechen auf ein Echtzeit-Spiel geliefert wird, kann somit der Prozeß zur Berechnung der ersten Tonwellenformabtastwerte auf der Grundlage der ersten Spielinformation mit Priorität vor dem Prozeß zur Berechnung der zweiten Tonwellenformabtastwerte ausgeführt werden. Die Belastungen des arithimetischen Bearbeitungsabschnitts werden zeitlich effizient verteilt, was eine erhöhte Betriebseffizienz des Bearbeitungsabschnitts bewirkt.
  • Die Erfindung bezieht sich auch auf ein maschinenlesbares Speichermedium, wie es in Ansprüchen 9-11 definiert ist, und eine Computersystem, wie es in Ansprüchen 12 -14 definiert ist, wobei von beiden das Verfahren der vorliegenden Erfindung angewendet wird.
  • Zum besseren Verständnis der verschiedenen Merkmale der vorliegenden Erfindung werden nachfolgend die bevorzugten Ausführungsformen der Erfindung unter Bezugnahme auf die anhängenden Zeichnungen im Detail beschrieben. In den Zeichnungen ist folgendes dargestellt:
  • Fig. 1 ist ein Blockschaltbild, das einen beispielhaften Hardware-Aufbau eines Mikrocomputersystems darstellt, welches eine Tonerzeugungsfunktion auf der Grundlage des Prinzips der vorliegenden Erfindung aufweist.
  • Fig. 2A bis 2D sind Abbildungen, die Konfigurationen verschiedener in dem Mikrocomputersystem aus Fig. 1 gespeicherter Software-Programme beispielhaft darstellen.
  • Fig. 3 ist ein zeitliches Ablaufschema, das eine Wiedergabebearbeitung erläutert, die in dem Mikrocomputersystem ausgeführt wird.
  • Fig. 4 ist ein Flußdiagramm, das die Funktionsweise des Mikrocomputers beispielhaft darstellt.
  • Fig. 5 ist ein Flußdiagramm, das einen Teil des Steuerflusses der Wiedergabebearbeitung zeigt. Und
  • Fig. 6 ist ein Flußdiagramm, das den restlichen Teil des Steuerflusses der Wiedergabebearbeitung zeigt.
  • Fig. 1 ist ein Blockschaltbild, das einen beispielhaften Hardware-Aufbau eines Mikrocomputersystems 21 darstellt, welches eine Tonerzeugungsfunktion auf der Grundlage des Prinzips der vorliegenden Erfindung aufweist. Das Mikrocomputersystem 21 weist eine CPU 10 als arithmetischen Bearbeitungsabschnitt auf, mit welchem über einen Bus 22, ein ROM 11, ein RAM 12, ein Festplattengerät 13, ein Zeitgeber 14, eine serielle Schnittstelle 15, eine Tastatur 16, eine Anzeige 17 und ein Wiedergabeabschnitt 18 verbunden sind. In dem ROM 11 ist ein Basis- Betriebsprogramm voreingespeichert, das für die Funktionsweise des Mikrocomputersystems 21 wesentlich ist. Der RAM 12 zwischenspeichert Daten und ein auszuführendes Programm, ebenso wie verschiedene Daten, die während einer Durchführung eines Programms durch die CPU 10 auftreten. Das Festplattengerät 13 hat einen Multimedien-Anwendungssoftware-Satz, wie in Fig. 2 gezeigt, und dergleichen voreingespeichert und der Multimedien-Anwendungssoftware-Satz wird in den RAM 12 vor seiner Ausführung eingelesen. In vorgegebenen regelmäßigen Intervallen gibt der Zeitgeber 14 ein Unterbrechungssignal an die CPU 10 aus und sendet Abtasttaktimpulse an den Wiedergabeabschnitt 18. Die Serielle Schnittstelle 15 ist zum Übertragen und Empfangen von Daten und Steuersignalen zu und von verschiedenen externen peripheren Geräten, die mit dem Mikrocomputersystem 21 verbunden sind, vorgesehen.
  • Die Tastatur 16 und die Anzeige 17 können beide vorn irgendeiner geeigneten Art beschaffen sein, abhängig von einer besonderen Anwendung des Mikrocomputersystems 21. Falls das System 21 beispielsweise als ein elektronisches Musikinstrument verwendet wird, kann die Tastatur 16 die eines herkömmlichen sein mit einer elektronischen Klaviertastatur oder dergleichen und die Anzeige 17 kann eine herkömmliche LCD (Liquid Crystal Display = Flüssigkristallanzeige) sein. Wenn das System 21 als ein Karaokegerät verwendet wird, kann die Tastatur 16 eine spezialisierte sein, um ein Auswählen aus voraufgezeichneten Musikstücken und eine gewünschte Temposteuerung zu gestatten und die Anzeige 17 kann eine CRT- Großbildschirm sein.
  • Der Wiedergabeabschnitt 18 ist eine sogenanntes Soundkarte, die in ihren internen Puffern Wellenformdaten für eine Vielzahl von Abtastwerten, die von der CPU 10 empfangen werden, speichert und die Wellenformdaten an den D/A-Wandler 19 im Ansprechen auf jeden durch den Zeitgeber 14 erzeugten Abtasttakt ausgibt. Der interne Puffer des Wiedergabeabschnitts 18 ist so beschaffen, dass Daten zusätzlich eingeschrieben werden können, so dass jede Gruppe (i. e., Block) von Wellenformdaten, die von der CPU 10 empfangen werden, in den Puffer unmittelbar nach einer anderen Wellenformdaten-Gruppe, die augenblicklich aus dem Puffer ausgelesen wird, gespeichert wird. Der Puffer kann als ein FIFO-, Zweikanal- oder eine andere geeignete Speicher-Struktur aufgebaut sein. Der D/A-Wandler 19 konvertiert jeden Wellenformdatenwert, der von dem Wiedergabeabschnitt 18 geliefert wird in ein analoges Tonsignal, das dann hörbar durch ein Tonsystem 20, bestehend aus Verstärkern und Lautsprechern, wiedergegeben wird.
  • Auf der vorher erwähnten Festplatte 13 können verschiedene andere Daten, wie beispielsweise automatische Spieldaten und Akkordlaufdaten, und das vorher erwähnte Betriebsprogramm gespeichert sein. Durch bevorzugtes Vorspeichern des Betriebsprogramms auf der Festplatte 13 als in dem ROM 11 und Laden des Betriebsprogramms in dem RAM 12, kann die CPU 10 in exakt der gleichen Weise arbeiten, als wenn das Betriebsprogramm in dem ROM 11 gespeichert wird. Dies erleichert in hohem Maße die Aktualisierung des Betriebsprogramms, ein Hinzufügen eines Betriebsprogramms, usw.. Eine CD-ROM (compact disk = Kompaktplatte) 23 kann als ein wechselbares externes Aufzeichnungsmedium zum Aufzeichnen verschiedener Daten verwendet werden, wie beispielsweise automatische Spieldaten, Akkordlaufdaten und Tonwellenformdaten und ein optinales Betriebsprogramm, ähnlich dem vorher erwähnten. Ein solches Betriebsprogramm und Daten, die auf der CD-ROM 23 gespeichert sind, können durch ein CD-ROM-Laufwerk 24 ausgelesen werden, um zur Speicherung auf der Festplatte 13 übertragen zu werden. Dies erleichert ein Installieren und Aktualisieren des Betriebsprogramms. Das wechselbare externe Aufzeichnungdmedium kann natürlich nicht nur die CD-ROM sein, sondern beispielsweise eine Floppy Disk und eine Magnetooptische Scheibe (MO).
  • Eine Kommunikations-Schnittstelle 25 kann mit dem Bus 22 so verbunden sein, dass das Mikrocomputersystem 21 über die Schnittstelle 25 mit einem Kommunikations- Netzwerk 26 verbunden ist, wie beispielsweise einem LAN (Local Area Network = lokales Netz), dem Internet und dem Telefonleitungsnetz, und es kann auch mit einem geeigneten Server-Computer 27 über das Kommunikations-Netzwerk 26 verbunden sein. Wenn das Betriebsprogramm und verschiedene Daten nicht auf der Festplatte 13 enthalten sind, können so dieses Betriebsprogramm und diese Daten vom Server- Computer 27 empfangen werden und auf die Festplatte 13 heruntergeladen werden. In einem solchen Fall sendet das Mikrocomputersystem 21, ein "Client", einen Befehl, wobei der Server-Computer 27 aufgerufen wird, das Betriebsprogramm und verschiedene Daten über die Kommunikations-Schnittstelle 25 und das Kommunikations-Netzwerk 26 herunterzuladen. Im Ansprechen auf den Befehl, gibt der Server-Computer 27 das angeforderte Betriebsprogramm und die Daten an das Mikrocomputersystem 21 über das Kommunikations-Netzwerk 26. Das Mikrocomputersystem 21 stellt das erforderliche Herunterladen durch Empfangen des Betriebsprogramms und der Daten über das Kommunikations-Netzwerk 25 fertig und speichert diese auf der Festplatte 13.
  • Es sollte hier klar gestellt werden, dass das Mikrocomputersystem 21 durch Installieren des Betriebsprogramms und verschiedener Daten, die der vorliegenden Erfindung entsprechen, in irgendeinen kommerziell erhältlichen Personal-Computer implementiert werden kann. In einem solchen Fall können das Betriebsprogramm und verschiedene Daten, die der vorliegenden Erfindung entsprechen, dem Anwender in einer aufgezeichneten Form auf einem Aufzeichnungsmedium, wie beispielsweise eine CD-ROM oder eine Floppy Disk, welches von dem Personal-Computer lesbar ist, bereitgestellt werden. Wenn der Personal-Computer mit einem Kommunikations- Netzwerk wie einem LAN verbunden ist, können das Betriebsprogramm und verschiedene Daten dem Personal-Computer über das Kommunikations-Netzwerk, ähnlich wie im vorhergehenden beschrieben, geliefert werden.
  • Fig. 2 zeigt eine beispielhafte Konfiguration des Anwendungs-Software-Satzes vom Multimedientyp, der in dem RAM 12 aus Fig. 1 gespeichert ist. Wie in Fig. 2A gezeigt, weist dieser Anwendungs-Software-Satz vom Multimedientyp, der zum Beispiel für ein Karaoke-Spiel oder zum Spiele Spielen geeignet sein kann, einen Kopfsatz, Gesamt-Steuerungs-Software, Bild-Steuerungs-Software, Musik-Steuerungs- Software und andere Steuerungs-Software auf. Der Kopfsatz enthält verschiede Daten, die für eine Version, eine Speichergröße, usw. des Anwendungs-Software-Satzes vom Multimedientyp kennzeichnend sind. Die Gesamt-Steuerungs-Software steuert die gleichzeitige oder parallele Operation der vorher erwähnten Software auf eine derartige Weise, dass alle diese Software gleichmäßig arbeiten, und die Bild- Steuerungs-Software steuert verschiedene Abbildungen, die auf der Anzeige 17 zu präsentieren sind. Die Musik-Steuerungs-Software steuert ein automatisches Spiel auf der Grundlage von Daten für automatisches Musikspiel und eine Erzeugung einer Tonwellenform auf der Grundlage von Spieldaten, die auf Echtzeitbasis geliefert werden. Die andere Steuerungs-Software steuert eine Eingabe durch einen Anwender und andere Operationen.
  • Fig. 2B zeigt ein Detail der Musik-Steuerungs-Software, welche eine Wiedergabebearbeitungs-Software, einen Klangfarbendatenabschnita, einen Datenabschnitt für automatisches Spiel und einen Arbeitsbereich enthält. Die Wiedergabebearbeitungs- Software führt verschiedene Operationen durch, wie es in den Flußdiagrammen aus Fig. 4, 5 und 6 gezeigt ist, um die Funktion eines Hardware-Tongenerators zu simulieren. Der Klangfarbendatenabschnitt enthält verschiedene Daten, um die Wiedergabebearbeitungs-Software aktuell anzutreiben, die Parameter zur Berechnung von Wellenformabtastwerten aufweist und Hüllkurven, Filtersteuerparameter, usw. steuert. Ist die Wiedergabebearbeitungs-Software konzipiert, um einen PCM (Pulse Code Modulation = Pulskodemodulations)- Tongenerator zu simulieren, enthält der Klangfarbendatenabschnitt seine Wellenformdaten selbst. Der Datenabschnitt für automatisches Spiel weist Sequenzdaten zum automatischen Ausführen von Hintergrund- und Karaokemusik auf. Der Arbeitsbereich sieht verschiedene Register vor, um Daten zu speichern, die erforderlich werden, wenn die Wiedergabebearbeitungs-Software läuft, ebenso wie Daten, die während verschiedener Prozesse erzeugt werden. Der Arbeitsbereich entspricht internen Registern eines herkömmlichen Hardware-Tongenerators und Registern verschiedener externer Geräte (z. B., von einer Schnittstelle), die mit diesem verbunden sind.
  • Fig. 2C zeigt ein Detail des Arbeitsbereichs. Fig. 2D zeigt ein Detail eines Abtastwertpuffers, der in dem Arbeitsbereich enthalten ist, und Fig. 3 ist ein zeitliches Ablaufschema, das Tonwellenformerzeugungsoperationen des Mikrocomputersystems 21 erläutert. Wie gezeigt, ist der Abtastwertpuffer ein Ringpuffer, der "n" Blöcke BLK(0) bis BLK(n - 1) aufweist, und nach der vorliegenden Erfindung werden Wellenformdaten für 128 Abtastwerte (128 Wellenformabtastwerte) in jeden der Blöcke geschrieben.
  • In Fig. 3 wird die Wiedergabebearbeitungs-Software durch einen Berechnungs- Triggertaktimpuls BC aktiviert, der zu jedem von 128 Abtasttaktimpulsen erzeugt wird. Die Wiedergabebearbeitungs-Software sendet gespeicherte Wellenformdaten von jedem der Blöcke des Abtastwertpuffers zu dem Wiedergabeabschnitt 18 und schreibt auch, während die Arbeitsverfügbarkeit der CPU 10 geprüft wird, Wellenformdaten in den Block in soweit als das Einschreiben von Daten andere Operationen nicht ungünstig beeinflußt. Durch den Anwender oder Spieler über die Tastatur 16 eingegebene Echtzeit-Spieldaten werden im Ansprechen auf einen ersten Berechnungs- Triggertaktimpuls BC, der nach der ersten Eingabe erzeugt wird, so eingegeben, dass entsprechende Wellenformabtastwerte berechnet werden. Der Wiedergabeabschnitt 18 zwischenspeichert die Wellenformdaten, die über die CPU 10 im Ansprechen auf den Berechnungs-Triggertaktimpuls BC eingegeben werden, und die zwischengespeicherten Wellenformdaten werden dann ausgelesen, ein Abtastwert für jeden Abtasttakt, und dem D/A-Wandler 19 zugeführt.
  • Wie in Fig. 2D gezeigt, wird jeder der Blöcke in den Abtastwertpuffer, in welchen Wellenformdaten einzuschreiben sind, durch einen Schreib-Block-Zeiger WP angezeigt, während jeder der Blöcke in dem Abtastwertpuffer, aus dem Wellenformdaten auszulesen sind, durch einen Lese-Block-Zeiger RP angezeigt werden. In Fig. 2C repräsentiert ein Referenzzeichen WF ein Schreib-Freigabe- Kennzeichen und ein Referenzzeichen RF repräsentiert ein Lese-Freigabe- Kennzeichen. Das Lese-Freigabe-Kennzeichen RF wird eine Periode hindurch vom Start bis zum Ende eines automatischen Spiels eingestellt belassen und das Lese- Freigabe-Kennzeichen WF wird eine Periode hindurch vom Einschreiben erster Daten bis zum Einschreiben letzter Daten eines automatischen Spiels eingestellt belassen. Da das Einschreiben von Daten vor dem Auslesen von Daten gemäß der vorliegenden Erfindung stattfindet, entsprechen sich die Daten-Einschreib- und -Auslese- Perioden, i. e., die Perioden, in welchen das Schreib-Freigabe-Kennzeichen WF und das Lese-Freigabe-Kennzeichen RF gesetzt sind, nicht gegenseitig.
  • In Instruktionsdaten und Instruktions-Kennzeichenabschnitte des Arbeitsbereichs werden verschiedene Instruktionen geschrieben, die von der Gesamt-Steuerungs- Software vorgegeben werden, und diese Abschnitte entsprechen einem Instruktionsregister in einem herkömmlichen Hardware-Tongenerator. Genauer gesagt, Daten, die in die Instruktionsdaten und Instruktions-Kennzeichenabschnitte geschrieben werden, sind zum Beispiel die folgenden:
  • Daten, die eine bestimmte Musikstücknummer bezeichnen, für welche automatische Spieldaten wiederzugeben sind, da die Musik-Steuerungs-Software automatische Spieldaten für eine Vielzahl von Musikstücken enthält;
  • Daten, die einen wiederzugebenden Bereich bezeichnen, falls nur ein Teil von Spieldaten eines bestimmten Musikstückes wiederzugeben ist;
  • Daten, die eine Klangfarbe für jeden Spielteil bezeichnen und Echtzeit-Spieldaten, die über die Tastatur 16 und die Serielle I/O 15 eingegeben werden, die durch die vorher erwähnte andere Steuerungs-Software passend empfangen werden können.
  • Ein Part-Steuer-Datenabschnitt des Arbeitsbereichs enthält Klangfarbenauswähldaten, Lautstärkesteuerdaten, usw. für jeden Spielteil, falls automatische mehrstimmige Spieldaten wiederzugeben sind.
  • Ein Kanalsteuerdatenabschnitt enthält Steuerdaten auf Kanalbasis, da die Wiedergabebearbeitungs-Software so konzipiert ist, dass es sich dabei um simultanes zum Erklingen Bringen von Tönen in einer Vielzahl von Tonerzeugungskanälen handelt. Genauer gesagt, die Kanalsteuerdaten weisen verschiedene Daten auf, die für jeden Kanal erforderlich sind, um ein Tonsignal zu erzeugen, wie beispielsweise eine Tonleiter bezeichnende Daten, einen Zählwert für aktuelle Adressen, Daten, die eine Form und einen aktuellen Wert einer Hüllkurve bestimmen. Dieser Kanalsteuerdatenabschnitt entspricht nämlich den Registern in einem herkömmlichen Hardware- Tongenerator.
  • Nachfolgend wird eine beispielhafte Operation des Mikrocomputersystems 21 bezugnehmend auf Flußdiagramme von Fig. 4, 5 und 6 detaillierter beschrieben. Fig. 4 ist ein Flußdiagramm, das ein Beispiel einer Haupt-Routine der Wiedergabebearbeitungs-Software zeigt, die in dem Mikrocornputersystem 21 verwendet wird, in welchem eine Wiedergabebearbeitung in repetitiver Form bei Schritt S2 nach Initialisierung von Schritt S1 ausgeführt wird.
  • Fig. 5 und 6 zeigen einen detaillierten Steuerfluß der Wiedergabebearbeitung. In Schritt S10 wartet die Wiedergabebearbeitung auf einen zu erzeugenden Berechnungs- Triggertaktimpuls BC. Es wird angenommen, dass während dieser Warteperiode ein anderer Prozeß ausgeführt wird, wobei die Steuerung zu der Gesamt-Steuerungs- Software zurückgeführt wird. Nach Erzeugen des Berechnungs-Triggertaktimpulses BC schreitet die Wiedergabebearbeitung von Schritt S10 zu Schritt S11 fort, in welchem ermittelt wird, ob das Lese-Freigabe-Kennzeichen RF momentan auf einen Wert "1" gesetzt ist oder nicht. Wenn die Anwort in Schritt S11 positiv ist, bedeutet das, dass ein automatisches Spiel momentan in Vorbereitung ist, so dass die Wiedergabebearbeitung zu Schritt S12 geht, um Wellenformdaten für das automatische Spiel zu berechnen. In Schritt S12 wird ein Vergleich zwischen aktuellen Werten des Schreib-Block-Zeigers WP und des Lese-Block-Zeigers RP durchgeführt. Wenn der aktuelle Wert des Schreib-Block-Zeigers WP gleich dem des Lese-Block-Zeigers RP ist (WP = RP), bedeutet das, dass Wellenformdaten eines auszulesenden Blocks (dem Wiedergabeabschnitt 18 zu senden sind) zu diesem Zeitpunkt noch nicht berechnet wurden, und somit werden Rechenoperationen in Schritten S13 bis S17 durchgeführt, um Wellenformdaten dieses Blocks zu berechnen.
  • In Schritt S13 wird der Schreib-Block-Zeiger WP erhöht oder um eins vorgestellt. Da der Abtastwertpuffer jedoch ein Ringpuffer ist, wie im vorhergehenden beschrieben, wird dieser auf "0" eingestellt nach Erreichen seines Maximalwertes (dies tritt ein bei Erhöhungsoperationen des Schreib-Block-Zeigers WP und Lese- Block-Zeigers RP, wie im folgenden beschrieben wird). Automatische Spieldaten, die einem Block entsprechen, werden im nächsten Schritt S14 wiedergegeben. In Schritt S15 wird dann festgestellt, ob ausreichend Zeit zur Berechnung von dem automatischen Spiel entsprechenden Wellenformdaten vorhanden ist. Wenn die Antwort in Schritt S15 positiv ist, wird eine Berechnung von Wellenformabtastdaten in Schritt S16 mit einer relativ hohen Genauigkeit (zum Beispiel, 48 kHz Berechnungsfrequenz und 32 Bit Datengröße) ausgeführt. Wenn jedoch nicht genügend Zeit für eine solche hochpräzise Wellenformdatenberechnung besteht, wie in Schritt S15 ermittelt wird, wird die Berechnung in Schritt S17 mit einen Rechengenauigkeit eines erniedrigten Grades ausgeführt, der der Knappheit der Berechnungszeit entspricht. Die Erniedrigung der Rechengenauigkeit kann durch Verlängern der Abtasttaktperiode und/oder Reduzierung der Anzahl der Bits, die in dem Zeitraum zu berechnen sind, bewirkt werden. Nach Schritt S6 oder S17 schreitet die Wiedergabebearbeitung zu Schritt S18 fort.
  • Wenn der Wert des Schreib-Block-Zeigers WP größer als der des Lese-Block-Zeigers RP ist, wie in Schritt S12 festgestellt wird, bedeutet dies, dass Wellenformdaten des zu diesem Zeitpunkt auszulesenden Blocks bereits berechnet wurden, und somit geht die Wiedergabebearbeitung direkt von Schritt S12 zu Schritt S18.
  • In Schritt S18 wird ermittelt, ob das automatische Spiel zu Ende ist, wobei festgestellt wird, ob der zu diesem Zeitpunkt auszulesende Block ein letzter Block ist (i. e., ein Block, der einen Endpunkt enthält). Wenn der zu diesem Zeitpunkt auszulesende Block der letzte Block ist, sind Erzeugen und Auslesen von Wellenformdaten auf der Grundlage der automatischen Spieldaten nicht länger erforderlich, so dass sowohl das Schreib-Freigabe-Kennzeichen WF als auch das Lese-Freigabe-Kennzeichen RF in Schritt S19 auf "0" eingestellt werden. Nach dem Zurückstellen des Schreib- Freigabe-Kennzeichens WF und des Lese-Freigabe-Kennzeichens RF schreitet die Wiedergabebearbeitung zu Schritt S20 zur Berechnung einer Wellenform, die einem Echtzeit-Spiel entspricht, und zur Übertragung der Wellenformdaten zu dem Wiedergabeabschnitt 18.
  • Wenn kein automatisches Spiel im Gang ist und daher das Lese-Freigabe-Kennzeichen RF einen Wert "0" hat, geht die Wiedergabebearbeitung direkt von Schritt S11 zu Schritt S20, um den Lese-Block-Zeiger RP zu erhöhen. Wellenformdaten des Blocks, der durch den Lese-Block-Zeiger RP (BLK(RP)) bestimmt wurden, werden dem Wiedergabeabschnitt 18 in Schritt S23 übertragen, wie es im folgenden beschrieben wird. Eine Tonwellenform wird im Ansprechen auf eine Echtzeit-Spieldateneingabe des Spielers in Schritt S21 berechnet und die berechneten Wellenformdaten werden dem Block, der durch den Lese-Block-Zeiger RP bestimmt wurde, in Schritt S22 hinzugefügt. Die Wellenformdaten werden dann von dem Block dem Wiedergabeabschnitt 18 in Schritt S23 zugeführt. Danach wird der Block in Schritt S24 gelöscht, da nun die Daten des Blocks BLK(RP) aufgrund der Datenzufuhr zu dem Wiedergabeabschnitt 18 nicht länger erforderlich sind. Es wird nämlich "0" in jede Speicherstelle dieses Blocks geschrieben.
  • Nach Schritt S24 führt die Wiedergabebearbeitung Operationen bei und nach Schritt S30 aus, um ein Einschreiben von Daten vor einem Auslesen von Daten zu bewirken. In Schritt S30 wird festgestellt, ob das Schreib-Freigabe-Kennzeichen WF momentan auf "1" eingestellt ist (WF = 1). Wenn die Antwort in Schritt S30 positiv ist, bedeutet dies, dass irgendwelche andere automatische Spieldaten einzuschreiben sind, so dass Schreiboperationen in und nach Schritt S31 durchgeführt werden. Wenn andererseits das Schreib-Freigabe-Kennzeichen WF momentan nicht auf "1" eingestellt ist (WF = 0), bedeutet dies, dass ein vorgegebenes automatisches Spiel bis zum Ende berechnet wurde, so dass die Wiedergabebearbeitung zu Ende geführt wird ohne Durchführung irgendwelcher anderer Operationen.
  • In Schritt S31 wird festgestellt, ob Zeit zum Einschreiben von Daten "im voraus" verfügbar ist, i. e., ob die CPU 10 nicht mit irgendeiner anderen Software beschäftigt ist, die gleichzeitig mit der Wiedergabebearbeitung-Software bearbeitet wird. Wenn Zeit zum Einschreiben von Daten verfügbar ist, wird der Schreib-Block-Zeiger WP in Schritt S32 um eins erhöht, um so einen Block anzuzeigen, in welchem Daten danach einzuschreiben sind, und es werden einem Block entsprechende Spieldaten für eine Wiedergabe in Schritt S33 ausgelesen. Dann werden Wellenformdaten für einen Block auf der Grundlage der ausgelesenen Spieldaten in Schritt S34 berechnet und die berechneten Wellenformdaten werden in einen Block geschrieben, der durch den Schreib-Block-Zeiger WP angezeigt wird. In diesem Fall wird die Wellenformdatenberechnung mit hoher Genauigkeit für alle die Tonerzeugungskanäle ausgeführt, da genügend Zeit für die Berechnung aufgewendet werden kann.
  • Danach geht die Wiedergabebearbeitung zu Schritt S35, um festzustellen, ob der Block, für den das Einschreiben von Daten zu diesem Zeitpunkt ausgeführt wurde, der letzte Block ist, oder sie geht zu Schritt S36, um festzustellen, ob der Abtastwertpuffer nun voll von ungelesenen Wellenformdaten ist. Wenn der Block der letzte Block ist, wie in Schritt S35 festgestellt wurde, wird das Schreib-Freigabe- Kennzeichen WF in Schritt S37 auf "0" zurückgestellt, da es nicht länger erforderlich ist, Wellenformdaten einzuschreiben, und dann wird die Wiedergabebearbeitung zu Ende geführt. Die Feststellung, ob der Abtastwertpuffer nun voll von ungelesenen Wellenformdaten ist, wird durch Überprüfen ausgeführt, ob der Schreib-Block- Zeiger WP den Lese-Block-Zeiger RF erreicht hat, nachdem er einen Durchlauf durch den Ringpuffer vor dem Lese-Block-Zeiger RP ausgeführt hat (WP = RP - 1). Das Einschreiben neuer Daten, wenn der Abtastwertpuffer voll von ungelesenen Daten ist, wird ein Überschreiben ungelesener Daten zur Folge haben, und somit wird die Wiedergabebearbeitung nach der positiven Feststellung in Schritt S36 zu Ende geführt. Wenn der Abtastwertpuffer nicht voll ungelesener Daten ist, i. e., irgendeinen anderen Block aufweist, der zum Einschreiben von Daten verfügbar ist, wie in Schritt S36 ermittelt wird, geht die Wiedergabebearbeitung in einer Schleife von Schritt S36 zurück zu Schritt S31. Wenn in Schritt S31 festgestellt wird, das noch Zeit zur Verfügung steht, dann wird das Einschreiben von Daten für einen nächsten Block durchgeführt.
  • Bei der vorher beschriebenen Wiedergabebearbeitung ist der Lese-Block-Zeiger RP als ein sogenannter "freilaufender" Zähler konstruiert, da der Abtastwertpuffer für eine Echtzeit-Spieldateneingabe verwendet werden kann, wenn kein automatisches Spiel ausgeführt wird und der Zeiger RP wird jedes Mal erhöht, wenn die Wiedergabebearbeitung durch Schritte S20 bis S24 durchläuft. Wenn daher Wellenformdaten in den Abtastwertpuffer vor einem Start eines automatischen Spiels einzuschreiben sind (i. e., bevor das Lese-Freigabe-Kennzeichen RF auf "1" eingestellt ist), wird ermittelt, um wieviel früher als der Start eines automatischen Spiels das Einschreiben von Wellenformdaten initiiert werden sollte (es wird nämlich eine bestimmte Anzahl der Berechnungs-Triggertaktimpulse BC festgelegt, um welche das Einschreiben von Wellenformdaten dem Start eines automatischen Spiels vorangehen sollte), dann wird der Schreib-Block-Zeiger WP auf einen Wert eingestellt, der gleich einer Summe aus einem aktuellen Wert des Schreib-Block-Zeigers WP und der Anzahl ist, um welche das Einschreiben von Daten dem Auslesen von Daten vorangehen sollte. Danach wird das Schreib-Freigabe-Kennzeichen auf "1" eingestellt, so dass ein Anfangswellenformdaten-Start in den Block eingeschrieben wird, der von dem Schreib-Block-Zeiger WP angezeigt wird.
  • Sind erst Mal die bestimmte Anzahl von Berechnungs-Triggertaktimpulsen BC erzeugt und erreicht der Lese-Block-Zeiger RP daher den Block, bei dem das Einschreiben von Wellenformdaten initiiert wurde, wird das automatische Spiel gestartet (i. e., das Lese-Freigabe-Kennzeichen RF wird auf "1" eingestellt) und die Wellenformdaten werden genau von dem Beginn ausgelesen. Aufgrund der Aufteilung, dass das Einschreiben von Daten (i. e., das Schreib-Freigabe-Kennzeichen WF auf "1" eingestellt wird) vor dem Start des automatischen Spiels (i. e., das Lese-Freigabe- Kennzeichen RF auf "1" eingestellt wird) ausgeführt wird, kann das Ausführen des Einschreibens von Daten (Berechnung) vor dem des Auslesens von Daten vom Startpunkt des automatischen Spiels wirkungsvoll angewendet werden.
  • Gemäß der vorher beschriebenen Ausführungsform werden eine Vielzahl von Speicherbereichen (Blöcke) zum Speichern von Wellenformdaten (Wellenformabtastwerten) bereitgestellt, Wellenformdaten, die dem D/A-Wandler 19 zuzuführen sind, werden zusammengefaßt im voraus während einer Periode erzeugt, in welcher der Umfang der Berechnung, der für eine andere parallel zu der Wiedergabebearbeitung-Software ausgeführten Software-Bearbeitung erforderlich ist, klein ist (i. e., wenn die CPU 10 nicht mit der anderen Software-Bearbeitung beschäftigt ist) und die so erzeugten Wellenformdaten werden in den Blöcken des Abtastwertpuffers gespeichert. Wenn der Berechnungsumfang der anderen Software- Bearbeitung temporär ansteigt, können auszuführende Wellenformdatenerzeugungs- Operationen zu diesem Zeitpunkt ohne irgendwelche Probleme übergangen werden, da dem Wiedergabeabschnitt zuzuführende Wellenformdaten zu diesem Zeitpunkt erzeugt und vorher gesichert worden sind. Dies verhindert Betriebsverzögerungen bei der anderen Software-Bearbeitung. Da Erzeugung und Zufuhr von Wellenformdaten zu dem Wiedergabeabschnitt 18 auf Block-um-Block-Grundlage ausgeführt werden, wird eine Ermittlung, ob Zeit verfügbar ist, in einem hohen Maß erleichtert und eine Vielzahl von Wellenformdaten kann zusammengefaßt erzeugt werden, was eine erhöhte Betriebseffizienz schafft.
  • Von jedem der Blöcke des Abtastwertpuffers wurde eine Speicherung von 128 Wellenformabtastwerten ausgeführt, aber wenn das System so konzipiert ist, dass es keine Echtzeit-Spieldateneingabe annimmt, kann jeder der Blöcke so beschaffen sein, dass eine größere Anzahl von Abtastwerten, z. B., 1.024, 4.096 Abtastwerte, gespeichert werden, um so zu ermöglichen, dass die CPU 10 effizienter arbeitet. Wenn das System jedoch eine Echtzeit-Spieldateneingabe annimmt, ist das Konzept, dass jeder der Blöcke eine größere Anzahl von Abtastwerten speichert, nicht vorzuziehen, da Intervalle zwischen den Berechnungs-Triggertaktimpulsen BC länger werden und daher größere Zeitverzögerungen von der Echtzeit-Spieldateneingabe bis hin zu einem tatsächlichen zum Erklingen Bringen eines Tons, der dieser entspricht, auftreten werden.
  • Die in der vorher beschriebenen Weise ausgelegte vorliegende Erfindung führt zu den folgenden Vorteilen.
  • Nach der vorliegenden Erfindung wird eine Ermittlung der Berechnungskapazität der CPU 10 oder eines arithmetischen Bearbeitungsabschnitts, der nicht von einer anderen Software-Bearbeitung belegt und daher für die Wiedergabebearbeitung verfügbar ist, ausgeführt und eine bestimmte Anzahl von Tonwellenformabtastwerten, die der nicht belegten oder verfügbaren Rechenkapazität entsprechen, wird vor einem vorgegebenen Auslesezeitpunkt der Abtastwerte erzeugt. Wenn daher eine Vielzahl von Anwendungen gleichzeitig auf Mehrfachverarbeitungsbasis abgearbeitet werden, ist es gestattet, Wellenformdaten zusammengefaßt für eine Speicherung, die die unbelegte oder verfügbare Rechenkapazität verwendet, zu berechnen, was ermöglicht, dass die CPU oder ein arithmetischer Bearbeitungsabschnitt mit im hohen Maß gesteigerter Effizienz arbeitet. Da es gerade ausreicht, dass die vorher gespeicherten Wellenformdaten ausgelesen werden, um zu dem Wiedergabeabschnitt 18 übertragen zu werden, wenn der arithmetische Bearbeitungsabschnitt 18 mit einer anderen Anwendung beschäftigt ist, kann eine Verarbeitung von der anderen Anwendung effizient ausgeführt werden, ohne dabei durch die Wellenformabtastwertberechnung beeinflußt zu werden.
  • Da zudem eine vorgegebene Anzahl von Wellenformabtastwerten als eine Grundberechnungseinheit eingestellt wird und Tonwellenformabtastwerte aktuell auf einer Einheit-um-Einheit-Basis berechnet werden, ist es möglich, den Verwaltungsaufwand, der bei einer Vorbereitung für die Wellenformabtastwertberechnungs- Verarbeitung, etc. aufgewendet wird, zu reduzieren. Da zudem eine vorgegebene Anzahl von Tonwellenformabtastwerten bereits vorbereitet und in einem Speicher an einem Startpunkt eines automatischen Spiels gespeichert sind, können zusätzliche Einstellungsfunktionen durch Voraus-Berechnung von dem Startpunkt eines automatischen Spiels effizient durchgeführt werden.
  • Zudem kann, sogar wenn die Voraus-Berechnung von Tonwellenformabtastwerten nicht ausgeführt werden kann, aufgrund von auf den arithmetischen Bearbeitungsabschnitt aufgegebenen großen Belastungen durch andere Bearbeitungen, die vorliegende Erfindung einen unerwünschten Abbruch bei erzeugten Tönen verhindern, da die Wellenformberechnungsschritte immer dazu verwendet werden, um Tonwellenformabtastwerte zu erzeugen.
  • Zusätzlich ist die vorliegende Erfindung dadurch gekennzeichnet, dass, wenn Tonwellenformabtastwerte berechnet werden, eine Ermittlung über den für den arithmetischen Bearbeitungsabschnitt erforderlichen Berechnungsumfang zur Durchführung einer anderen Bearbeitung durchgeführt wird und die Wellenformabtastwertberechnung mit unterschiedlicher Rechengenauigkeit durchgeführt wird, die in Entsprechung zu dem ermittelten Rechenumfang für die andere Bearbeitung ausgewählt wird. Sogar wenn der arithmetische Bearbeitungsabschnitt mit der anderen Bearbeitung beschäftigt ist, können Belastungen des arithmetischen Bearbeitungsabschnitts durch Auswählen einer niedrigen Rechengenauigkeit wirksam verringert werden, um den Umfang einer Tonwellenformabtastwertberechnung zu reduzieren. Folglich kann eine Erzeugung von Wellenformdaten ohne Abbruch und ohne Beeinflussung der anderen Bearbeitung fortgesetzt werden.
  • Nach der vorliegenden Erfindung wird außerdem eine Tonerzeugungsbearbeitung auf der Grundlage eines automatischen Spiels in voraus während einer Periode ausgeführt, wenn eine Tonerzeugungsbearbeitung auf der Grundlage eines Echtzeit-Spiels den arithmetischen Bearbeitungsabschnitt nicht zu sehr belastet. Das Ergebnis ist, das die Belastung des arithmetischen Bearbeitungsabschnitts zeitlich verteilt werden kann, was zu einer in hohem Maß gesteigerten Betriebseffizienz des arithmetischen Bearbeitungsabschnitts führt.

Claims (14)

1. Verfahren zum Erzeugen einer Tonwellenform auf der Grundlage einer automatischen Spielinformation unter Verwendung eines Prozessors (10), der eine Vielzahl unterschiedlicher Programme auf Zeitteilungsbasis ausführt, wobei das Verfahren die Durchführung eines Wellenformberechnungsprozesses zur Berechnung von Tonwellenformabtastwerten auf der Grundlage eines der Programme beinhaltet und der Prozessor (10) mit einem anderen Prozeß auf der Grundlage eines der anderen Programme geteilt wird,
dadurch gekennzeichnet, dass das Verfahren die folgenden Schritte aufweist:
Feststellen eines verfügbaren Zeitraums, in welchem der Prozessor (10) derzeit nicht für den anderen Prozeß verwendet wird, als verfügbare Bearbeitungskapazität für den Wellenformberechnungsprozeß;
Berechnen einer Vielzahl von Tonwellenformabtastwerten auf der Grundlage der Spielinformation vor einer vorgegebenen Erzeugungszeit derselben mittels Durchführen des Wellenformberechnungsprozesses unter Verwendung der verfügbaren Bearbeitungskapazität, die in dem Feststellungsschritt festgestellt wurde, wobei der Berechnungsschritt einen Schritt zum Speichern der berechneten Tonwellenformabtastwerte in einem Speicher (12) enthält; und
Erzeugen einer Tonwellenform durch Auslesen der Tonwellenformabtastwerte aus dem Speicher (12) zu dieser Erzeugungszeit.
2. Verfahren nach Anspruch 1, bei dem der Berechnungsschritt eine oder mehrere vorgegebene Einheiten der Tonwellenformabtastwerte abhängig von der festgestellten verfügbaren Bearbeitungskapazität berechnet, wobei jede dieser Einheiten eine vorgegebene Anzahl der Tonwellenformabtastwerte ist.
3. Verfahren nach Anspruch 1, bei dem der Berechnungsschritt die Berechnung der Tonwellenformabtastwerte vor dem Erzeugungsschritt beginnt und der Berechnungsschritt das Auslesen der Tonwellenformabtastwerte aus dem Speicher (12) beginnt, nachdem eine Vielzahl der Tonwellenformabtastwerte in dem Speicher (12) gespeichert sind.
4. Verfahren nach Anspruch 1, bei dem, wenn mehr als eine vorgegebene Anzahl nicht ausgelesener Tonwellenformenabtastwerte in dem Speicher (12) nicht vorhanden sind, der Berechnungsschritt eine vorgegebene Anzahl von Tonwellenformabtastwerten unabhängig von der festgestellten verfügbaren Bearbeitungskapazität berechnet.
5. Verfahren nach Anspruch 1, bei dem das Verfahren so beschaffen ist, dass Tonwellenformen erzeugt werden, die einer ersten Spielinformation auf der Grundlage eines Echtzeit-Spiels und einer zweiten Spielinformation auf der Grundlage der automatischen Spielinformation entsprechen und das Verfahren außerdem einen folgenden Schritt aufweist:
Berechnen einer vorgegebenen Anzahl von ersten Tonwellenformabtastwerten für jede vorgegebene Periode auf der Basis der ersten Spielinformation, die im Ansprechen auf ein Echtzeit-Spiel zugeführt wird, und Speichern der berechneten ersten Tonwellenformabtastwerte in dem Speicher (12); und
wobei der Schritt des Feststellens einen Feststellungsschritt zum Feststellen eines Bearbeitungskapazitätszeitraums des Prozessors (10), der derzeit nicht durch einen Prozeß für die Berechnung der ersten Tonwellenformabtastwerte besetzt ist, als verfügbare Bearbeitungskapazität zur Erzeugung einer Tonwellenfom auf der Grundlage der zweiten Spielinformation aufweist;
wobei der Schritt des Berechnens einer Vielzahl von Tonwellenformabtastwerten einen Schritt zum Berechnen von zweiten Tonwellenformabtastwerten auf der Grundlage der zweiten Spielinformation vor einer vorgegebenen Erzeugungszeit derselben aufweist, wobei die verfügbare Bearbeitungskapazität, die durch den Feststellungsschritt festgestellt wird, verwendet wird und die berechneten zweiten Tonwellenformabtastwerte in dem Speicher (12) gespeichert werden; und
wobei der Erzeugungsschritt Tonwellenformen, die dem Echtzeit-Spiel und dem automatischen Spiel entsprechen, durch synchrones Auslesen der ersten und zweiten Tonwellenformabtastwerte aus dem Speicher (12) zu der Erzeugungszeit erzeugt.
6. Verfahren nach Anspruch 5, bei dem der Schritt des Speicherns in einen Speicher (12) einen Schritt zur Addition der ersten und zweiten Tonwellenformabtastwerte für jeden Abtastwert aufweist, der der gleichen Erzeugungszeit entspricht, um so die daraus resultierenden addierten Tonwellenformabtastwerte in den Speicher (12) zu speichern, und der Erzeugungsschritt die addierten Tonwellenformabtastwerte aus dem Speicher (12) ausliest.
7. Verfahren nach Anspruch 1, wobei das Verfahren so beschaffen ist, dass Tonwellenformen erzeugt werden, die einer ersten Spielinformation auf der Grundlage eines Echtzeit-Spiels und einer zweiten Spielinformation auf der Grundlage der automatischen Spielinformation entsprechen, und das Verfahren außerdem einen folgenden Schritt aufweist:
Berechnung einer vorgegebenen Anzahl von ersten Tonwellenformabtastwerten für jede vorgegebene Blockperiode auf der Grundlage der ersten Spielinformation, die im Ansprechen auf ein Echtzeit-Spiel zugeführt wird, wobei der Schritt zur Berechnung einer vorgegebenen Anzahl von ersten Tonwellenformabtastwerten einen - bei einem optinalen Zeitpunkt innerhalb der ersten Blockperiode durchzuführenden - Schritt zur Berechnung der vorgegebenen Anzahl der ersten Tonwellenformabtastwerte, die innerhalb einer zweiten auf die erste Blockperiode folgende Blockperiode zu erzeugen sind, aufweist und die berechneten ersten Tonwellenformabtastwerte in den Speicher (12) gespeichert werden; und
bei dem der Schritt zum Feststellen einen Feststellungsschritt aufweist, um einen Bearbeitungskapazitätszeitraum des Prozessors (10), der derzeit nicht durch einen Prozeß zur Berechnung der ersten Tonwellenformabtastwerte belegt ist, als eine verfügbare Bearbeitungskapazität zur Erzeugung einer Tonwellenform auf der Grundlage der zweiten Spielinformation festzustellen; und
bei dem der Schritt zur Berechnung einer Vielzahl von Tonwellenformabtastwerten einen Schritt zur Berechnung von zweiten Tonwellenformabtastwerten auf der Grundlage der zweiten Spielinformation vor einer vorgegebenen Erzeugungszeit derselben aufweist, wobei die verfügbare Bearbeitungskapazität, die durch den Feststellungsschritt festgestellt wird, verwendet wird und die berechneten zweiten Tonwellenformabtastwerte in dem Speicher (12) gespeichert werden; und
wobei der Erzeugungsschritt Tonwellenformen, die dem Echtzeit-Spiel und dem automatischen Spiel entsprechen, durch ein in regelmäßigen Abtastintervallen stattfindendes Auslesen der ersten und zweiten Tonwellenformabtastwerte, die jeder gleichen Blockperiode entsprechen, aus dem Spreicher (12) erzeugt.
8. Verfahren nach Anspruch 7, bei dem der Schritt des Speicherns in einen Speicher (12) einen Schritt zur Addition der ersten und zweiten Tonwellenformabtastwerte, die in der gleichen Blockperiode zu erzeugen sind, für jeden Abtastwert aufweist, um so die daraus resultierenden addierten Tonwellenformabtastwerte in den Speicher (12) zu speichern, und der Erzeugungsschritt die addierten Tonwellenformabtastwerte aus dem Speicher (12) ausliest.
9. Maschinenlesbares Speichermedium, das in einer Vorrichtung mit einem Prozessor (10) verwendet wird, wobei das Medium eine Gruppe von durch den Prozessor (10) ausführbaren Befehlen enthält, um die Vorrichtung zu veranlassen, ein Verfahren zur Erzeugung einer Tonwellenform auf der Grundlage einer automatischen Spielinformation mittels Durchführen eines Wellenformberechnungsprozesses zur Berechnung von Tonwellenformabtastwerten auszuführen, und wobei der Prozessor (10) auch einen weiteren Prozeß im Ansprechen auf eine unterschiedliche Gruppe von Befehlen durchführt,
dadurch gekennzeichnet, dass die Gruppe von durch den Prozessor (10) ausführbaren Instruktionen zur Durchführung des Verfahrens folgende Schritte aufweist:
Feststellen eines verfügbaren Zeitraums, in welchem der Prozessor (10) derzeit nicht für den anderen Prozeß verwendet wird, als verfügbare Bearbeitungskapazität für den Wellenformberechnungsprozeß;
Berechnen einer Vielzahl von Tonwellenformabtastwerten auf der Grundlage der Spielinformation vor einer vorgegebenen Erzeugungszeit derselben mittels Durchführen des Wellenformberechnungsprozesses unter Verwendung der festgestellten verfügbaren Bearbeitungskapazität, wobei der Berechnungsschritt einen Schritt zum Speichern der berechneten Tonwellenformabtastwerte in einem Speicher (12) enthält; und
Erzeugen einer Tonwellenform durch Auslesen der Tonwellenformabtastwerte aus dem Speicher (12)zu dieser Erzeugungszeit.
10. Maschinenlesbares Speichermedium nach Anspruch 9, wobei das Medium eine Gruppe von durch den Prozessor (10) ausführbaren Befehlen enthält, um die Vorrichtung zu veranlassen, ein Verfahren zur Erzeugung von Tonwellenformen, die einer ersten Spielinformation auf der Grundlage eines Echtzeit- Spiels und einer zweiten Spielinformation auf der Grundlage der automatischen Spielinformation entsprechen,
dadurch gekennzeichnet, dass die Gruppe von durch den Prozessor (10) ausführbaren Befehlen außerdem folgenden Schritt aufweist:
Berechnen einer vorgegebenen Anzahl von ersten Tonwellenformabtastwerten für jede vorgegebene Periode auf der Basis der ersten Spielinformation, die im Ansprechen auf ein Echtzeit-Spiel zugeführt wird, und Speichern der berechneten ersten Tonwellenformabtastwerte in dem Speicher (12); und
wobei der Schritt des Feststellens einen Feststellungsschritt zum Feststellen eines Bearbeitungskapazitätszeitraums des Prozessors (10), der derzeit nicht durch einen Prozeß für die Berechnung der ersten Tonwellenformabtastwerte besetzt ist, als verfügbare Bearbeitungskapazität zur Erzeugung einer Tonwellenfom auf der Grundlage der zweiten Spielinformation aufweist;
wobei der Schritt des Berechnens einer Vielzahl von Tonwellenformabtastwerten einen Schritt zum Berechnen von zweiten Tonwellenformabtastwerten auf der Grundlage der zweiten Spielinformation vor einer vorgegebenen Erzeugungszeit derselben aufweist, wobei die verfügbare Bearbeitungskapazität, die durch den Feststellungsschritt festgestellt wird, verwendet wird und die berechneten zweiten Tonwellenformabtastwerte in dem Speicher (12) gespeichert werden; und
wobei der Erzeugungsschritt Tonwellenformen, die dem Echtzeit-Spiel und dem automatischen Spiel entsprechen, durch synchrones Auslesen der ersten und zweiten Tonwellenformabtastwerte aus dem Speicher (12) zu der Erzeugungszeit erzeugt.
11. Maschinenlesbares Speichermedium nach Anspruch 9, wobei das Medium eine Gruppe von durch den Prozessor (10) ausführbaren Befehlen enthält, um die Vorrichtung zu veranlassen, ein Verfahren zur Erzeugung von Tonwellenformen, die einer ersten Spielinformation auf der Grundlage eines Echtzeit- Spiels und einer zweiten Spielinformation auf der Grundlage der automatischen Spielinformation entsprechen, dadurch gekennzeichnet, dass die Gruppe von durch den Prozessor (10) ausführbaren Befehlen außerdem folgenden Schritt aufweist:
Berechnung einer vorgegebenen Anzahl von ersten Tonwellenformabtastwerten für jede vorgegebene Blockperiode auf der Grundlage der ersten Spielinformation, die im Ansprechen auf ein Echtzeit-Spiel zugeführt wird, wobei der Schritt zur Berechnung einer vorgegebenen Anzahl von ersten Tonwellenformabtastwerten einen - bei einem optinalen Zeitpunkt innerhalb der ersten Blockperiode durchzuführenden - Schritt zur Berechnung der vorgegebenen Anzahl der ersten Tonwellenformabtastwerte, die innerhalb einer zweiten auf die erste Blockperiode folgende Blockperiode zu erzeugen sind, aufweist und die berechneten ersten Tonwellenformabtastwerte in den Speicher (12) gespeichert werden; und
bei dem der Schritt zum Feststellen einen Feststellungsschritt aufweist, um einen Bearbeitungskapazitätszeitraum des Prozessors (10), der derzeit nicht durch einen Prozeß zur Berechnung der ersten Tonwellenformabtastwerte belegt ist, als eine verfügbare Bearbeitungskapazität zur Erzeugung einer Tonwellenform auf der Grundlage der zweiten Spielinformation festzustellen; und
bei dem der Schritt zur Berechnung einer Vielzahl von Tonwellenformabtastwerten einen Schritt zur Berechnung von zweiten Tonwellenformabtastwerten auf der Grundlage der zweiten Spielinformation vor einer vorgegebenen Erzeugungszeit derselben aufweist, wobei die verfügbare Bearbeitungskapazität, die durch den Feststellungsschritt festgestellt wird, verwendet wird und die berechneten zweiten Tonwellenformabtastwerte in dem Speicher (12) gespeichert werden; und
wobei der Erzeugungsschritt Tonwellenformen, die dem Echtzeit-Spiel und dem automatischen Spiel entsprechen, durch ein in regelmäßigen Abtastintervallen stattfindendes Auslesen der ersten und zweiten Tonwellenformabtastwerte, die jeder gleichen Blockperiode entsprechen, aus dem Spreicher (12) erzeugt.
12. Computersystem zur Erzeugung einer Tonwellenform auf der Grundlage einer automatischen Spielinformation, wobei das Computersystem folgendes aufweist:
eine Speichervorrichtung (11, 12, 13), die eine Vielzahl von Programmen speichert; und
einen Prozessor (10), der einen Wellenformerzeugungsprozeß, der einen Wellenformberechnungsprozeß zur Berechnung von Tonwellenformabtastwerten auf der Grundlage eines vorgegebenen aus diesen Programmen enthält, und einen oder mehrere andere Prozesse auf der Grundlage eines anderen dieser Programme parallel auf Zeitteilungsbasis ausführt, dadurch gekennzeichnet, dass dieses vorgegebene Programm folgende Schritte aufweist:
Feststellen eines verfügbaren Zeitraums, in welchem der Prozessor (12) derzeit nicht für den anderen Prozeß verwendet wird, als verfügbare Bearbeitungskapazität für den Wellenformberechnungsprozeß;
Berechnen einer Vielzahl von Tonwellenformabtastwerten auf der Grundlage der Spielinformation vor einer vorgegebenen Erzeugungszeit derselben mittels Durchführen des Wellenformberechnungsprozesses unter Verwendung der verfügbaren Bearbeitungskapazität, die in dem Feststellungsschritt festgestellt wurde, wobei der Berechnungsschritt einen Schritt zum Speichern der berechneten Tonwellenformabtastwerte in einem Speicher (12) enthält; und
Erzeugen einer Tonwellenform durch Auslesen der Tonwellenformabtastwerte aus dem Speicher (12) zu dieser Erzeugungszeit.
13. Computersystem nach Anspruch 12, wobei das Computersystem so beschaffen ist, dass Tonwellenformen erzeugt werden, die einer ersten Spielinformation auf der Grundlage eines Echtzeit-Spiels und eher zweiten Spielinformation auf der Grundlage der automatischen Spielinformation entsprechen, und wobei das vorgegebene eine Programm zudem einen folgenden Schritt aufweist:
Berechnung einer vorgegebenen Anzahl von ersten Tonwellenformabtastwerten für jede vorgegebene Blockperiode auf der Grundlage der ersten Spielinformation, die im Ansprechen auf ein Echtzeit-Spiel zugeführt wird, wobei der Schritt zur Berechnung einer vorgegebenen Anzahl von ersten Tonwellenformabtastwerten einen - bei einem optinalen Zeitpunkt innerhalb der ersten Blockperiode durchzuführenden - Schritt zur Berechnung der vorgegebenen Anzahl der ersten Tonwellenformabtastwerte, die innerhalb einer zweiten auf die erste Blockperiode folgende Blockperiode zu erzeugen sind, aufweist und die berechneten ersten Tonwellenformabtastwerte in den Speicher (12) gespeichert werden; und
bei dem der Schritt zum Feststellen einen Feststellungsschritt aufweist, um einen Bearbeitungskapazitätszeitraum des Prozessors (10), der derzeit nicht durch einen Prozeß zur Berechnung der ersten Tonwellenformabtastwerte belegt ist, als eine verfügbare Bearbeitungskapazität zur Erzeugung einer Tonwellenform auf der Grundlage der zweiten Spielinformation festzustellen; und
bei dem der Schritt zur Berechnung einer Vielzahl von Tonwellenformabtastwerten einen Schritt zur Berechnung von zweiten Tonwellenformabtastwerten auf der Grundlage der zweiten Spielinformation vor einer vorgegebenen Erzeugungszeit derselben aufweist, wobei die verfügbare Bearbeitungskapazität, die durch den Feststellungsschritt festgestellt wird, verwendet wird und die berechneten zweiten Tonwellenformabtastwerte in dem Speicher (12) gespeichert werden; und wobei der Erzeugungsschritt Tonwellenformen, die dem Echtzeit-Spiel und dem automatischen Spiel entsprechen, durch ein in regelmäßigen Abtastintervallen stattfindendes Auslesen der ersten und zweiten Tonwellenformabtastwerte, die jeder gleichen Blockperiode entsprechen, aus dem Spreicher (12) erzeugt.
14. Computersystem nach Anspruch 12, wobei das Computersystem so beschaffen ist, dass Tonwellenformen erzeugt werden, die einer ersten Spielinformation auf der Grundlage eines Echtzeit-Spiels und einer zweiten Spielinformation auf der Grundlage der automatischen Spielinformation entsprechen, und wobei das vorgegebene eine Programm zudem einen folgenden Schritt aufweist:
Berechnung einer vorgegebenen Anzahl von ersten Tonwellenformabtastwerten für jede vorgegebene Blockperiode auf der Grundlage der ersten Spielinformation, die im Ansprechen auf ein Echtzeit-Spiel zugeführt wird, wobei der Schritt zur Berechnung einer vorgegebenen Anzahl von ersten Tonwellenformabtastwerten einen - bei einem optinalen Zeitpunkt innerhalb der ersten Blockperiode durchzuführenden - Schritt zur Berechnung der vorgegebenen Anzahl der ersten Tonwellenformabtastwerte, die innerhalb einer zweiten auf die erste Blockperiode folgende Blockperiode zu erzeugen sind, aufweist und die berechneten ersten Tonwellenformabtastwerte in den Speicher (12) gespeichert werden; und
bei dem der Schritt zum Feststellen einen Feststellungsschritt aufweist, um einen Bearbeitungskapazitätszeitraum des Prozessors (10), der derzeit nicht durch einen Prozeß zur Berechnung der ersten Tonwellenformabtastwerte belegt ist, als eine verfügbare Bearbeitungskapazität zur Erzeugung einer Tonwellenform auf der Grundlage der zweiten Spielinformation festzustellen; und
bei dem der Schritt zur Berechnung einer Vielzahl von Tonwellenformabtastwerten einen Schritt zur Berechnung von zweiten Tonwellenformabtastwerten auf der Grundlage der zweiten Spielinformation vor einer vorgegebenen Erzeugungszeit derselben aufweist, wobei die verfügbare Bearbeitungskapazität, die durch den Feststellungsschritt festgestellt wird, verwendet wird und die berechneten zweiten Tonwellenformabtastwerte in dem Speicher (12) gespeichert werden; und
wobei der Erzeugungsschritt Tonwellenformen, die dem Echtzeit-Spiel und dem automatischen Spiel entsprechen, durch ein in regelmäßigen Abtastintervallen stattfindendes Auslesen der ersten und zweiten Tonwellenformabtastwerte, die jeder gleichen Blockperiode entsprechen, aus dem Spreicher (12) erzeugt.
DE69613049T 1995-07-05 1996-07-03 Verfahren und Vorrichtung zur auf Software basierten Tonwellenformerzeugung Expired - Lifetime DE69613049T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP16953195A JP3267106B2 (ja) 1995-07-05 1995-07-05 楽音波形生成方法

Publications (2)

Publication Number Publication Date
DE69613049D1 DE69613049D1 (de) 2001-07-05
DE69613049T2 true DE69613049T2 (de) 2002-03-07

Family

ID=15888229

Family Applications (2)

Application Number Title Priority Date Filing Date
DE69613049T Expired - Lifetime DE69613049T2 (de) 1995-07-05 1996-07-03 Verfahren und Vorrichtung zur auf Software basierten Tonwellenformerzeugung
DE69625625T Expired - Lifetime DE69625625T2 (de) 1995-07-05 1996-07-03 Verfahren und Vorrichtung zur auf Software basierten Tonwellenformerzeugung

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE69625625T Expired - Lifetime DE69625625T2 (de) 1995-07-05 1996-07-03 Verfahren und Vorrichtung zur auf Software basierten Tonwellenformerzeugung

Country Status (8)

Country Link
US (2) US5696342A (de)
EP (2) EP0752697B1 (de)
JP (1) JP3267106B2 (de)
KR (1) KR100392621B1 (de)
DE (2) DE69613049T2 (de)
HK (1) HK1013161A1 (de)
SG (1) SG80651A1 (de)
TW (1) TW300298B (de)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69632351T2 (de) * 1995-09-29 2005-05-25 Yamaha Corp., Hamamatsu Verfahren und Vorrichtung zur Musiktonerzeugung
SG67993A1 (en) * 1996-08-30 1999-10-19 Yamaha Corp Sound source system based on computer software and method of generating acoustic waveform data
US6758755B2 (en) 1996-11-14 2004-07-06 Arcade Planet, Inc. Prize redemption system for games executed over a wide area network
US5913258A (en) * 1997-03-11 1999-06-15 Yamaha Corporation Music tone generating method by waveform synthesis with advance parameter computation
JP4240575B2 (ja) 1998-05-15 2009-03-18 ヤマハ株式会社 楽音合成方法、記録媒体および楽音合成装置
JP3781171B2 (ja) 2000-06-22 2006-05-31 ヤマハ株式会社 楽音発生方法
JP3675362B2 (ja) 2000-08-18 2005-07-27 ヤマハ株式会社 楽音生成装置および携帯端末装置
US20060005690A1 (en) * 2002-09-02 2006-01-12 Thomas Jacobsson Sound synthesiser
EP1394768B1 (de) * 2002-09-02 2008-05-07 Telefonaktiebolaget LM Ericsson (publ) Klangsynthesierer
US20050010485A1 (en) * 2003-07-11 2005-01-13 Quadratic Systems Corporation Integrated system and method for selectively populating and managing multiple, site-specific, interactive, user stations
US7663052B2 (en) * 2007-03-22 2010-02-16 Qualcomm Incorporated Musical instrument digital interface hardware instruction set
US7723601B2 (en) * 2007-03-22 2010-05-25 Qualcomm Incorporated Shared buffer management for processing audio files

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5441497B2 (de) * 1974-11-14 1979-12-08
US4373416A (en) * 1976-12-29 1983-02-15 Nippon Gakki Seizo Kabushiki Kaisha Wave generator for electronic musical instrument
EP0013490A1 (de) 1978-12-11 1980-07-23 Microskill Limited Ausgangssignalverarbeitungssystem für ein digitales elektronisches Musikinstrument
DE2926548C2 (de) * 1979-06-30 1982-02-18 Rainer Josef 8047 Karlsfeld Gallitzendörfer Wellenformgenerator zur Klangformung in einem elektronischen Musikinstrument
US5029120A (en) * 1985-02-01 1991-07-02 Analogic Corporation Electrical wavefrom generator means and methods
JPS6452196U (de) 1987-09-28 1989-03-30
JPH0743591B2 (ja) * 1988-03-08 1995-05-15 ヤマハ株式会社 楽音発生制御装置
DE68917113T2 (de) * 1988-12-29 1995-03-16 Casio Computer Co Ltd Datenverarbeitungsvorrichtung für ein elektronisches Musikinstrument.
US5319151A (en) 1988-12-29 1994-06-07 Casio Computer Co., Ltd. Data processing apparatus outputting waveform data in a certain interval
JPH02254496A (ja) 1989-03-29 1990-10-15 Yamaha Corp 楽音発生装置
US5121667A (en) 1989-11-06 1992-06-16 Emery Christopher L Electronic musical instrument with multiple voices responsive to mutually exclusive ram memory segments
JP2576647B2 (ja) * 1989-11-30 1997-01-29 ヤマハ株式会社 波形発生装置
KR950006029B1 (ko) * 1990-06-28 1995-06-07 가시오 게이상기 가부시끼가이샤 악음쥬파형 발생장치
JP3006095B2 (ja) 1990-06-28 2000-02-07 カシオ計算機株式会社 楽音波形発生装置
US5200564A (en) 1990-06-29 1993-04-06 Casio Computer Co., Ltd. Digital information processing apparatus with multiple CPUs
US5584034A (en) 1990-06-29 1996-12-10 Casio Computer Co., Ltd. Apparatus for executing respective portions of a process by main and sub CPUS
JP2797142B2 (ja) 1990-07-02 1998-09-17 カシオ計算機株式会社 電子楽器用処理装置
JP2545297B2 (ja) 1990-07-18 1996-10-16 株式会社河合楽器製作所 電子楽器のパラメータ設定装置
US5054360A (en) 1990-11-01 1991-10-08 International Business Machines Corporation Method and apparatus for simultaneous output of digital audio and midi synthesized music
US5283386A (en) * 1991-08-30 1994-02-01 Casio Computer Co., Ltd. Musical-tone signal generating apparatus and musical-tone controlling apparatus including delay means and automatic reset means
JP2722907B2 (ja) 1991-12-13 1998-03-09 ヤマハ株式会社 波形発生装置
JP2936872B2 (ja) * 1992-03-04 1999-08-23 ヤマハ株式会社 楽音制御装置
US5525748A (en) * 1992-03-10 1996-06-11 Yamaha Corporation Tone data recording and reproducing device
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> 音声データを変換する方法及びシステム
JPH06195075A (ja) 1992-12-24 1994-07-15 Kawai Musical Instr Mfg Co Ltd 楽音発生装置
US5376752A (en) * 1993-02-10 1994-12-27 Korg, Inc. Open architecture music synthesizer with dynamic voice allocation
JPH06308958A (ja) 1993-04-26 1994-11-04 Roland Corp 電子楽器の楽音制御装置
JP2713107B2 (ja) * 1993-07-09 1998-02-16 ヤマハ株式会社 自動演奏装置
TW281745B (de) * 1994-03-31 1996-07-21 Yamaha Corp
DE69619587T2 (de) * 1995-05-19 2002-10-31 Yamaha Corp., Hamamatsu Verfahren und Vorrichtung zur Tonerzeugung
US5596159A (en) 1995-11-22 1997-01-21 Invision Interactive, Inc. Software sound synthesis system
US5763801A (en) * 1996-03-25 1998-06-09 Advanced Micro Devices, Inc. Computer system and method for performing wavetable music synthesis which stores wavetable data in system memory

Also Published As

Publication number Publication date
DE69625625T2 (de) 2003-10-30
SG80651A1 (en) 2001-05-22
DE69613049D1 (de) 2001-07-05
HK1013161A1 (en) 1999-08-13
KR970007684A (ko) 1997-02-21
EP0752697B1 (de) 2001-05-30
EP1005015B1 (de) 2003-01-02
KR100392621B1 (ko) 2003-10-23
JP3267106B2 (ja) 2002-03-18
EP0752697A3 (de) 1997-02-05
EP0752697A2 (de) 1997-01-08
USRE41297E1 (en) 2010-05-04
JPH0922287A (ja) 1997-01-21
DE69625625D1 (de) 2003-02-06
US5696342A (en) 1997-12-09
TW300298B (de) 1997-03-11
EP1005015A1 (de) 2000-05-31

Similar Documents

Publication Publication Date Title
DE69711518T2 (de) Auf Software basierendes Tonquellensystem und Verfahren zur Erzeugung von akustischen Wellenformdaten
DE69127048T2 (de) Verfahren und Vorrichtung zur Editierung von MIDI-Dateien
DE69619587T2 (de) Verfahren und Vorrichtung zur Tonerzeugung
DE69614765T2 (de) Durch Rechner gesteuertes Musiksystem mit hard- und softwareorientierter Tonerzeugung
DE69625990T2 (de) Verarbeitungssystem für Musikinformation
DE69608292T2 (de) Audio-synthesizer
DE69210652T2 (de) Mischvorrichtung für Begleitungschor und Karaoke-System mit dieser Vorrichtung
DE69613049T2 (de) Verfahren und Vorrichtung zur auf Software basierten Tonwellenformerzeugung
DE69613950T2 (de) Verfahren und Vorrichtung zur Tonerzeugung
DE602005004685T2 (de) Tonwellenform Synthesizer
DE69613068T2 (de) Digitales Musikinstrument mit Wellenformbearbeitung zur Erzeugung eines Klangeffektes
DE3630611C2 (de)
DE3936693A1 (de) Vorrichtung zum erzeugen digitaler audiosignale
DE69618535T2 (de) Verfahren zur Tonerzeugung durch Hardware- und Softwarequellen
DE69615455T2 (de) Musiksystem, Tonerzeuger und Verfahren zur Tonsynthetisierung
DE69623866T2 (de) Verfahren und Vorrichtung zur Bildung einer Tonwellenform durch kombinierte Verwendung von verschiedenen Auflösungen der Abtastwerte der Wellenformen
EP0042555B1 (de) Verfahren zur digitalen Hüllkurvensteuerung eines polyphonen Musiksyntheseinstruments und Schaltungsanordnung zur Durchführung des Verfahrens
DE69517263T2 (de) Vorrichtung zur Erzeugung von Tonsignalen
DE69611874T2 (de) Verfahren und Vorrichtung zur Musiktonerzeugung
DE69618738T2 (de) Verfahren und Vorrichtung zur Tonerzeugung
DE3785625T2 (de) Tonerzeugungsvorrichtung mit Wellenformspeicher.
DE68914152T2 (de) Automatische Spiel- und Tonerzeugungseinheit in einer automatischen Musikanlage.
DE68927661T2 (de) Adressensteuerschaltung für einen Datenspeicher zur Anwendung in einer Signalverzögerungsschaltung
DE69732797T2 (de) Verfahren und vorrichtung zur speicherung von tonfolgen in cyclischen schleifen
DE69529273T2 (de) Elektronische Schallquelle mit reduzierten Störemissionen

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