DE602005004685T2 - Tonwellenform Synthesizer - Google Patents

Tonwellenform Synthesizer Download PDF

Info

Publication number
DE602005004685T2
DE602005004685T2 DE602005004685T DE602005004685T DE602005004685T2 DE 602005004685 T2 DE602005004685 T2 DE 602005004685T2 DE 602005004685 T DE602005004685 T DE 602005004685T DE 602005004685 T DE602005004685 T DE 602005004685T DE 602005004685 T2 DE602005004685 T2 DE 602005004685T2
Authority
DE
Germany
Prior art keywords
waveform
waveform data
data processing
processing section
sound
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.)
Active
Application number
DE602005004685T
Other languages
English (en)
Other versions
DE602005004685D1 (de
Inventor
Motoichi Hamamatsu-shi Shizuoka-ken Tamura
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP2004091517A external-priority patent/JP4102930B2/ja
Priority claimed from JP2004091518A external-priority patent/JP4102931B2/ja
Application filed by Yamaha Corp filed Critical Yamaha Corp
Publication of DE602005004685D1 publication Critical patent/DE602005004685D1/de
Application granted granted Critical
Publication of DE602005004685T2 publication Critical patent/DE602005004685T2/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H7/00Instruments in which the tones are synthesised from a data store, e.g. computer organs
    • G10H7/002Instruments in which the tones are synthesised from a data store, e.g. computer organs using a common processing for different operations or calculations, and a set of microinstructions (programme) to control the sequence thereof
    • G10H7/004Instruments in which the tones are synthesised from a data store, e.g. computer organs using a common processing for different operations or calculations, and a set of microinstructions (programme) to control the sequence thereof with one or more auxiliary processor in addition to the main processing unit
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H7/00Instruments in which the tones are synthesised from a data store, e.g. computer organs
    • G10H7/02Instruments in which the tones are synthesised from a data store, e.g. computer organs in which amplitudes at successive sample points of a tone waveform are stored in one or more memories
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • 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/031Use of cache memory for electrophonic musical instrument processes, e.g. for improving processing capabilities or solving interfacing problems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/541Details of musical waveform synthesis, i.e. audio waveshape processing from individual wavetable samples, independently of their origin or of the sound they represent
    • G10H2250/641Waveform sampler, i.e. music samplers; Sampled music loop processing, wherein a loop is a sample of a performance that has been edited to repeat seamlessly without clicks or artifacts

Landscapes

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

Description

  • HINTERGRUND DER ERFINDUNG
  • [Technisches Gebiet]
  • Die vorliegende Erfindung betrifft einen Klangwellenformsynthetisierer zum Synthetisieren von Wellenformdaten zum Erzeugen einer Klanquellenform, wie eines musikalischen Klangs oder einer Stimme.
  • [Hintergrund]
  • Elektronische Musikvorrichtungen, welche ein Klangerzeugungssystem des Wellenformspeichertyps haben (Wellenformtabellentyp) sind bekannt, welche Wellenformdaten als Materialien gemäß Aufführungsdaten zum Synthetisieren einer Musikklangwellenform verarbeiten.
  • 4(a), 4(b) und 4(c) sind Blockdiagramme, welche einige elektronische Musikvorrichtungen zeigen, welche ein Klangerzeugungssystem des Wellenformspeichertyps haben.
  • In 4(a) sind eine CPU (Central Processing Unit = zentrale Verarbeitungseinheit) 102 zum Steuern der Klangerzeugung, ein Speicher-RAM (Random Access Memory = Speicher mit willkürlichem Zugriff) 103, und ein Klangerzeugungs-LSI (Large Scale Integrated Circuit = Hochskalierter integrierter Schaltkreis) 104 mit einem CPU Bus 101 verbunden. Der Klangerzeugungs-LSI 104 ist mit einem Wellenform-ROM (Read Only Memory = Nur-Lese-Speicher) 106 über einen Wellenformspeicherbus 105 verbunden.
  • Ein Verarbeitungsprogramm zum Betreiben der CPU 102 ist in dem Speicher-RAM 103 geladen. Andererseits werden die Aufführungsdaten (Musikwellenformsteuerungsinformation) in den Arbeits-RAM 103 durch den CPU Bus 101 von einer Tastatur oder Ähnlichem, nicht gezeigt, eingegeben. Die CPU 102 erzeugt Klangerzeugungsparameter (Steuerungsparameter) basierend auf den Aufführungsdaten, und gibt diese zu dem Klangerzeugungs-LSI 104 aus. Der Klangerzeugungs-LSI 104 liest Wellenformdaten als Materialien von dem Wellenform-ROM (Read Only Memory = Nur-Auslese-Speicher) 106 gemäß den Klangerzeugungsparametern aus. Dann verarbeitet der LSI die Wellenformdaten zum Synthetisieren einer musikalischen Klangwellenform. Die synthetisierte musikalische Klangwellenform wird in ein analoges Signal durch eine CODEC (Codierer/Decodierer) konvertiert, welcher nicht gezeigt ist, um ein musikalisches Klangsignal zu erzeugen.
  • Wie in 4(b) gezeigt ist, kann ein DSP (Digital Signal Processor = digitaler Signalprozessor) 107 zur Klangerzeugung anstatt des Klangerzeugungs-LSI verwendet werden.
  • Der DSP ist ein Mikroprozessor, welcher dediziert ist zur digitalen Signalverarbeitung. Er erreicht Hochgeschwindigkeitssummation- und Multiplikationsoperationen. Er kann auch das Klangerzeugungssystem mit einem anderen System ersetzen, oder es durch Veränderung der Mikroprogrammcodes aktualisieren. Die musikalische Klangwellenform, welche durch den DSP 107 synthetisiert wird, wird durch den CODEC konvertiert, welcher nicht gezeigt ist, und zwar in das analoge Signal derart, dass das analoge Signal ausgegeben werden wird.
  • Der DSP 107 kann von dem Typ sein, welcher einen Bus (DSP-Bus 108) und ein Arbeits-RAM 110 zwischen verarbeiteten Wellenformdaten gemeinsam benutzt, welche in der Signalverarbeitung verwendet werden, und die Signalverarbeitungsprogrammanweisungen.
  • Weil jedoch die CPU 102 und der DSP 107 beide eine Funktion des Zuweisen von Buszugriffsrecht haben, so genannte Ausgleichsfunktion, können sie nicht den Bus gemeinsam verwenden.
  • Es ist allgemein bekannt, dass ein gemeinsam verwendeter Speicher zwei Busse verbindet, welche in der japanischen Patentveröffentlichung mit Anmeldungsnummer 6-59678 offenbart ist. Deshalb wird ein gemeinsam ver wendeter Speicher 109 in 4(b) vorgesehen, wobei der Arbeits-RAM 110 mit dem DSP-Bus 108 verbunden ist.
  • Andererseits wird der Wellenform-ROM 106 herausskaliert, um die Fähigkeit zum Speichern der Wellenformdaten genügend zu erhöhen, um hochqualitative musikalische Klangwellenformen wiederzugeben.
  • Es gibt jedoch eine Kostengrenze für solchen Hochkapazitäts-Wellenform-ROM zum Speichern von Wellenformdaten für diverse Tonfarben von verschiedenen Musikinstrumenten.
  • Um dies zu lösen gibt es noch eine andere Konfiguration, wie in 4(c) gezeigt ist, wobei eine HDD (Hard Disk Drive = Festplattenlaufwerk) 113 mit dem CPU Bus 101 durch eine HDC (Hard Disk Controller = Festplattensteuerung) 112 verbunden ist, während ein Wellenform-RAM 111 verwendet wird.
  • In diesem Fall überträgt die CPU 102 Wellenformdaten von dem HDD (Hard Disk Drive) 113 zu dem Arbeits-RAM 103 vor dem Starten der Musikaufführung. Dann überträgt die CPU 102 und speichert die Wellenformdaten in den Wellenform-RAM 111. In der Praxis greift die CPU 102 auf die HDD 113 zu, um die Wellenformdaten der Tonfarbe eines benötigten Musikinstruments von dem HDD 113 zu dem Wellenform-RAM 111 durch den Arbeits-RAM 103 zu übertragen. Wenn jedoch die Veränderung der Tonfarbe zu einer anderen verändert wird, müssen Wellenformdaten der Tonfarbe eines anderen Musikinstruments zu dem Wellenform-RAM 111 übertragen werden. Dies verursacht ein anderes Problem, nämlich dass es Zeit benötigt, um die Wellenformdaten zu verändern. Es gibt auch eine Grenze für die Datengröße, welche in den Wellenform-RAM 111 speicherbar ist, zu vernünftigen Kosten.
  • Deshalb gibt es ein anderes Verfahren, welches Sampler-Verfahren genannt wird. In der musikalischen Klangsyntheseverarbeitung nach dem Starten der Aufführung werden Wellenformdaten, welche zur musikalischen Klangsynthese nötig sind, eine nach dem anderen von der HDD 113 zu dem Wellen form-RAM 111 durch den Arbeits-RAM 103 geliefert. Gemäß diesem System können Benutzer auf fast unbegrenzte Mengen von Wellenformdaten zugreifen. Dieses System ist als ein „Sampler" Programm implementiert, welches auf einem Personalcomputer läuft.
  • Weil jedoch die Latenz von dem Empfang einer Anfrage zum Lesen von Wellenformdaten zum tatsächlichen Lesen von der HDD 113 zu wichtig zum Vernachlässigen ist, müssen große Beträge von Wellenformdaten welche zur musikalischen Klangsynthese nötig sind, ausgelesen und in den Arbeits-RAM 113 vorab gespeichert werden.
  • Der CPU Bus 101 wird hauptsächlich zur Klangerzeugungsparametersynthese verwendet. Diese Verarbeitung benötigt ein relativ großskaliges Programm mit einem komplizierten Algorithmus, dessen Verarbeitungslast sehr hoch ist.
  • Jedoch ist der CPU Bus, welcher in dem System eingebaut ist, langsamer als die CPU für einen Personalcomputer. Ferner ist die Geschwindigkeit des CPU Busses nur ein Teil der Geschwindigkeit des internen Betriebs der CPU. Die CPU 102 ist ausgebildet zum Verwenden von 70–80 Prozent der Datenübertragungskapazität schlechtestenfalls zum Ausführen des Befehls „fetch" zur beschäftigten Zeit.
  • Wenn deshalb zu viel der Datenübertragungskapazität des CPU-Busses 101 von der Übertragung von Wellenformdaten zwischen dem HDC 112 und dem Arbeits-RAM 103 aufgebraucht wird, kann die CPU 102 nicht genügend Berechnungsleistung liefern.
  • Eine musikalische Klangdatenaufzeichnungs-/Wiedergabe-Vorrichtung ist bekannt, wie offenbart in der japanischen Patentveröffentlichung mit Anmeldungsnummer 6-51776 , wobei eine HDD mit einem Bus unterschiedlich von dem Bus auf der Wiedergabeseite und dem CPU Bus derart verbunden ist, dass Wellenformdaten, welche von der HDD ausgelesen werden, zu dem Bus auf der Wiedergabeseite durch einen gemeinsam verwendeten Puffer übertragen werden.
  • 5 ist ein Blockdiagramm, welches eine konventionelle musikalische Klangdatenaufzeichnung-/Verarbeitungs-Vorrichtung zeigt. In dieser Konfiguration sind andere Blöcke zum Aufzeichnen von Wellenformdaten auf der HDD nicht gezeigt.
  • Ein Personalcomputer 121 und eine Wiedergabesteuerungseinrichtung 122 sind über ein serielles Kabel verbunden. Ferner sind der Personalcomputer 121, die Wiedergabesteuerungseinrichtung 122, und eine HDD 122 über SCSI (Small Computer System Interface) Busse jeweils verbunden.
  • Der Personalcomputer 121 erlaubt Benutzern, Auswahl und Einstelloperationen auf Dateinamen auszuführen, und sendet Information zum Spezifizieren des Orts der Datendatei zu der Wiedergabesteuerungseinrichtung 122 über das serielle Kabel aus.
  • Die Wiedergabesteuerungseinrichtung 122 liest musikalische Klangwellenformdaten aus, welche in der HDD 123 gespeichert sind, und zwar über den SCSI-Bus zum Wiedergeben der musikalischen Klangwellenformdaten.
  • In der Wiedergabesteuerungseinrichtung 122 sind ein Mikrocomputer, welcher im Wesentlichen aus einer CPU 126 besteht, ein RAM 127 und ein ROM 128 mit einem CPU Bus 125 verbunden. Eine serielle Eingabe-/Ausgabe-Schnittstelle 124, eine SCSI-Schnittstelle 129, eine Wiedergabe-/Übertragungs-Steuerung 130, und ein Klangerzeuger 131 sind auch mit dem CPU Bus 125 verbunden. Der Betrieb dieser Komponenten wird durch die CPU 126 gesteuert.
  • Die Wiedergabe-/Übertragungs-Steuerung 130 wird durch einen Einfangpuffer 134 geliefert. Der Einfangpuffer 134 ist mit der SCSI-Schnittstelle 129 durch einen Wellenformdatenbus 132 verbunden, und zu einem Wiedergabepuffer 135 durch einen Bus 133.
  • Die musikalischen Klangwellenformdaten, welche von der HDD 123 ausgelesen werden, sind in dem Einfangpuffer 134 gespeichert. Nach dem Entfernen von unnötigen Header-Teilen und dem Umordnen der Daten überträgt der Einfangpuffer 134 einen Block (16K words) von musikalischen Klangwellenformdaten, eine geeignete Einheit zum Wiedergeben und Lesen, zu dem Wiedergabepuffer 135 (zwei 4K words). Die Schreib-/Lese-Betriebe des Einfangpuffers 134 werden durch einen Systemtaktpuls 1 oder 0 jeweils geschaltet.
  • Der Wiedergabeklangerzeuger 131 liest und gibt einen Block von musikalischen Klangwellenformdaten von dem Wiedergabepuffer 135 ansprechend auf einen Samplingtakt aus. Während dieses Vorgangs kann die Tonhöhe der gelesenen Wellenform gesteuert werden.
  • Wie in der japanischen Patenveröffentlichung mit Anmeldungsnummer 6-51776 offenbart erlaubt eine solche Konfiguration, bei der der Einfangpuffer 134 zwischen dem Wellenformdatenbus 132 und dem Wellenformwiedergabebus 133 vorgesehen ist, beiden Bussen, musikalische Klangwellenformen unabhängig voneinander zu übertragen.
  • Die Übertragungsfunktion, welche in der japanischen Patentveröffentlichung mit Anmeldungsnummer 6-51776 offenbart ist, ist zum Auslesen und Wiedergeben einer vorbestimmten Blockgröße von Wellenformdaten von der HDD 123.
  • Mit anderen Worten lehrt die japanische Patentveröffentlichung mit Anmeldungsnummer 6-51776 nicht, wie jeder Bus Wellenformdaten überträgt, welche von einem Speicher mit großer Latenz wie der HDD 123 ausgelesen werden, wenn der Betrag von Wellenformdaten, welche zur musikalischen Klangwellenformsynthese notwendig sind, gemäß Zeit variierenden Faktoren wie Aufführungsdaten (musikalische Wellenformsteuerungsinformation) variieren.
  • US 5,668,336 offenbart ein Musiksystem, welches ein Hauptsystem und ein Untersystem hat. Das Untersystem hat ein RAM, welches dazu in der Lage ist, dass Wellenformdaten daraus ausgelesen werden und darin rein geschrieben werden, und zwar auf parallele Art und Weise. Wellenformdaten werden sequentiell von dem RAM in der Reihenfolge gelesen, in welcher die Wellenformdaten in das RAM geschrieben wurden. Musikalische Töne werden basierend auf den gelesenen Wellenformdaten synthetisiert. Das Hauptsystem hat eine externe Speichereinrichtung, welche Wellenformdaten speichert, und bestimmt Pakete, in welche Wellenformdaten von der externen Speichereinrichtung zu dem RAM zum Erzeugen von musikalischen Tönen übertragen werden sollen, geteilt wird, und zwar basierend auf der Schreibzeitperiode, welche für eine Einheit von Daten benötigt wird, welche in die ersten Speichermittel geschrieben werden sollen, und eine Lesezeitperiode, welche für die Einheit von Daten benötigt wird, welche von dem RAM gelesen werden sollen. Wellenformdaten werden sequentiell von der externen Speichereinrichtung in den bestimmten Paketen gelesen. Die gelesenen Wellenformdaten werden sequentiell in das RAM bei Gebieten davon geschrieben, von welchen vorher gespeicherte Wellenformdaten gelesen wurden.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Die vorliegende Erfindung wurde gemacht, um die oben erwähnten Probleme zu lösen, und es ist ein Ziel der vorliegenden Erfindung, einen Klangwellenformsynthetisierer vorzusehen, welcher dazu in der Lage ist, Wellenformdaten von einem Speichermedium auszulesen und sie zu einem Signalverarbeitungsabschnitt effizient zu übertragen.
  • In einem Aspekt der Erfindung wird eine Klangwellenformsynthesevorrichtung gemäß Anspruch 1 vorgesehen. Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung können von den abhängigen Ansprüchen erhalten werden.
  • Klangwellenformsynthetisiervorrichtung beinhaltet einen Wellenformdatenlieferabschnitt, einen Wellenformpuffer, einen Wellenformdatenverarbeitungsabschnitt und einen Steuerungsdatenverarbeitungsabschnitt. Der Wellenformdatenlieferabschnitt empfängt eine Benachrichtigung einer ersten Übertragungsanforderung und dieser liest die Wellenformdaten von dem Speichermedium zum Liefern der Wellenformdaten ansprechend auf die erste Übertragungsanforderung aus. Der Wellenformpuffer ist mit dem Wellenformdatenlieferabschnitt zum Speichern der Wellenformdaten verbunden, welche von dem Wellenformdatenlieferabschnitt geliefert werden. Der Wellenformdatenverarbeitungsabschnitt empfängt eine Benachrichtigung einer zweiten Anforderung und dieser ist mit dem Wellenformpuffer zum Übertragen der Wellenformdaten von dem Wellenformpuffer zu dem Wellenformdatenverarbeitungsabschnitt ansprechend auf die zweite Übertragungsanforderung verbunden. Der Wellenformdatenverarbeitungsabschnitt führt die Klangwellenformsynthese basierend auf den übertragenen Wellenformdaten und gegebenen Steuerungsparametern aus, während ein Zustand der Klangwellenformsynthese und ein Fortschritt der Klangwellenformsynthese benachrichtigt werden. Der Steuerungsdatenverarbeitungsabschnitt erzeugt die erste Übertragungsanforderung basierend auf dem Fortschritt der Klangwellenformsynthese benachrichtigt von dem Wellenformdatenverarbeitungsabschnitt, und sendet dem Wellenformdatenlieferabschnitt die Benachrichtigung der ersten Übertragungsanforderung. Der Steuerungsdatenverarbeitungsabschnitt empfängt die Wellenformsteuerungsinformation von außen und erzeugt die Steuerungsparameter basierend auf der Wellenformsteuerungsinformation und dem Zustand der Klangwellenformsynthese, wie von dem Wellenformdatenverarbeitungsabschnitt benachrichtigt. Der Steuerungsdatenverarbeitungsabschnitt sendet dem Wellenformdatenverarbeitungsabschnitt die Benachrichtigung der zweiten Übertragungsanforderung korrespondierend zu der ersten Übertragungsanforderung zusammen mit den erzeugten Steuerungsparametern.
  • Bevorzugterweise beinhaltet der Wellenformdatenverarbeitungsabschnitt einen ersten Bus, einen ersten Speicher, welcher mit dem ersten Bus zum Speichern der Wellenformdaten verbunden ist, und einen digitalen Signalprozessor, welcher mit dem ersten Bus zum Verarbeiten der Wellenformdaten während der Klangwellenformsynthese verbunden ist, während der Wellenformdatenlieferabschnitt einen zweiten Bus, eine Ausleseeinrichtung zum Auslesen der Wellenformdaten von dem Speichermedium und zum Einfügen der ausgelesenen Wellenformdaten zu dem zweiten Bus, und einen zweiten Speicher, welcher mit dem zweiten Bus zum Speichern der Wellenformdaten verbunden ist, beinhaltet, und zwar derart, dass der Wellenformpuffer zwischen dem ersten Bus und dem zweiten Bus zum Übertragen der Wellenformdaten von dem zweiten Speicher des Wellenformdatenverarbeitungsabschnitts zu dem ersten Speicher des Wellenformdatenverarbeitungsabschnitts durch den Wellenformpuffer verbunden ist.
  • In einem solchen Fall erzeugt der Steuerungsdatenverarbeitungsabschnitt ferner eine Leseanforderung gemäß der Wellenformsteuerungsinformation, und sendet eine Benachrichtigung der Leseanfrage zu der Leseeinrichtung des Wellenformdatenverarbeitungsabschnitts. Die Ausleseeinrichtung wird betrieben, wenn sie die Benachrichtigung der Leseanfrage zum Auslesen der Wellenformdaten von dem Speichermedium und zum Übertragen der ausgelesenen Wellenformdaten zu dem zweiten Speicher empfängt.
  • Ferner beinhaltet der Wellenformdatenlieferabschnitt eine Steuerung zum Steuern des zweiten Busses derart, dass der Übertragung der Wellenformdaten von dem zweiten Speicher zu dem Wellenformpuffer eine höhere Priorität gegeben wird als die Übertragung der Wellenformdaten von dem Speichermedium zu dem zweiten Speicher.
  • Ferner sendet der Steuerungsdatenverarbeitungsabschnitt die Benachrichtigung der Leseanfrage zu der Leseeinrichtung des Wellenformdatenlieferabschnitts vor dem Start der Eingabe der Wellenformsteuerungsinformation in den Steuerungsdatenverarbeitungsabschnitt derart, dass die Wellenformdaten vor der Klangwellenformsynthese zu dem zweiten Speicher von dem Speichermedium übertragen werden.
  • Bevorzugterweise führt der Wellenformdatenverarbeitungsabschnitt die Klangwellenformsynthese zum Synthetisieren einer Klangwellenform auf einer Rahmen-um-Rahmen Basis aus, wenn die Wellenformdaten in Synchronisation mit einer gegebenen Rahmenperiode derart sind, dass jeder Rahmen eine gegebene Anzahl von Samples der Klangwellenform beinhaltet, und wobei der Wellenformdatenlieferabschnitt betrieben wird, wenn die Benachrichtigung der ersten Übertragungsanfrage zum Übertragen der Wellenformdaten von dem Speichermedium zu dem Wellenformpuffer korrespondierend zu der Rahmenperiode empfangen wird.
  • In einem anderen Aspekt der Erfindung wird ein Verfahren des Betreibens einer Klangwellenformsynthetisiervorrichtung gemäß Anspruch 7 vorgesehen. Das erfindungsgemäße Verfahren wird durch folgende Schritte ausgeführt: Betreiben des Wellenformdatenlieferabschnitts, wenn eine Benachrichtigung einer ersten Übertragungsanfrage von dem Steuerungsdatenverarbeitungsabschnitt zum Auslesen der Wellenformdaten von einem Speichermedium und Liefern der ausgelesenen Wellenformdaten zu dem Wellenformpuffer ansprechend auf die erste Übertragungsanfrage empfangen wird; Betreiben des Wellenformpuffers zum Speichern der Wellenformdaten, welche von dem Wellenformdatenlieferabschnitt geliefert werden; Betreiben eines Wellenformdatenverarbeitungsabschnitts, wenn eine Benachrichtigung einer zweiten Übertragungsanfrage von dem Steuerungsdatenverarbeitungsabschnitt zum Übertragen der Wellenformdaten von dem Wellenformpuffer zu dem Wellenformdatenverarbeitungsabschnitt ansprechend auf die zweite Übertragungsanfrage empfangen wird; Betreiben des Wellenformdatenverarbeitungsabschnitts zum Durchführen der Klangwellenformsynthese basierend auf den übertragenen Wellenformdaten und Steuerungsparametern, welche von dem Steuerungsdatenverarbeitungsabschnitt eingefügt wurden, während ein Zustand der Klangwellenformsynthese und ein Fortschreiten der Klangwellenformsynthese zu dem Steuerungsdatenverarbeitungsabschnitt benachrichtigt wird; Betreiben des Steuerungsdatenverarbeitungsabschnitts zum Erzeugen der ersten Übertragungsanfrage basierend auf dem Fortschritt der Klangwellenformsynthese, wie von dem Wellenformdatenverarbeitungsabschnitt benachrichtigt, und zum Senden zu dem Wellenformdatenlieferabschnitt der Benachrichtigung der ersten Übertragungsanfrage; Betreiben des Steuerungsdatenverarbeitungsabschnitts, wenn die Wellenformsteuerungsinformation empfangen wird, zum Erzeugen der Steuerungsparameter basierend auf der Wellenformsteuerungsinformation und dem Zustand der Klangwellenformsynthese, wie von dem Wellenformdatenverarbeitungsabschnitt benachrichtigt; und Betreiben des Steuerungsdatenverarbeitungsabschnitts zum Senden zu dem Wellenformdatenverarbeitungsabschnitts der Benachrichtigung der zweiten Übertragungsanfrage korrespondierend zu der ersten Übertragungsanfrage zusammen mit den erzeugten Steuerungsparametern.
  • In dieser Struktur ermöglicht es die Verwendung des Wellenformpuffers, die Synthese einer zweiten Wellenform zu steuern, welche durch den Wellenformdatenverarbeitungsabschnitt durchgeführt wird, und zum Auslesen der Wellenformdaten von dem Speichermedium, durchgeführt durch den Wellenformdatenlieferabschnitt unabhängig voneinander während der Verarbeitung der Klangwellenformsynthese. Weil der Wellenformdatenverarbeitungsabschnitt Wellenformdaten von dem Wellenformpuffer zu geeigneten Zeitpunkten übertragen kann, kann der Einfluss des Lesens der Wellenformdaten von dem Speichermedium auf die Klangwellenformsyntheseverarbeitung verringert werden.
  • In dieser Struktur werden die Übertragung auf dem ersten Bus zwischen dem digitalen Signalprozessor, dem ersten Speicher, und dem Wellenformpuffer, und die Übertragung von Wellenformdaten oder Ähnlichem auf dem zweiten Bus zwischen der Speichermediumleseeinrichtung, der Übertragungssteuerung, dem zweiten Speicher, und dem Wellenformpuffer, unabhängig voneinander während der Klangwellenformsyntheseverarbeitung gesteuert. Es erlaubt dem Signalprozessor, die Wellenformdaten zwischen dem ersten Speicher und dem Wellenformpuffer effizient zu geeigneten Zeitpunkten zu übertragen.
  • Weil ferner der zweite Bus derart gesteuert wird, dass der Übertragung von Wellenformdaten von dem zweiten Speicher zu dem Wellenformpuffer eine höhere Priorität gegeben wird als der Übertragung von Wellenformdaten von dem Speichermedium zu dem zweiten Speicher, kann der Einfluss der Übertragung von dem Speichermedium auf die Klangwellenformsyntheseverarbeitung verringert werden.
  • Zusätzlich führt die Speichermediumleseeinrichtung die Übertragung von Wellenformdaten von dem Speichermedium zu dem zweiten Speicher und die Übertragung von Wellenformdaten von dem zweiten Speicher zu dem Wellenformpuffer jeweils aus. Dies ermöglicht es, Wellenformdaten effizient zu übertragen, welche in dem Speichermedium gespeichert sind, und zwar mit längerer Verzögerung als der zweite Speicher.
  • Weil ferner ein Rahmen von Wellenformdaten als eine Einheit synthetisiert wird, wird der Betrag von Wellenformdaten, welche durch den Wellenformdatenverarbeitungsabschnitt verarbeitet werden soll, gleichmäßig in der Zeit gemacht. Mit anderen Worten, weil der Betrag von verarbeiteten Wellenformdaten nicht soviel von Rahmen zu Rahmen verändert wird, kann der Wellenformdatenverarbeitungsabschnitt gleichmässig betrieben werden.
  • Zusätzlich werden die Übertragung von Wellenformdaten, durchgeführt durch den Wellenformdatenverarbeitungsabschnitt, und die Übertragung von Wellenformdaten, durchgeführt durch den Wellenformdatenlieferabschnitt, synchron mit einer gegebenen Rahmenperiode derart durchgeführt, dass der Betrag von Wellenformdaten, welcher zu einem Zeitpunkt übertragen wird, angemessen groß in der Größe wird, wodurch effiziente Übertragung mit wenigem Overhead ermöglicht wird.
  • Gemäß der vorliegenden Erfindung ermöglicht der Wellenformpuffer, dass Lesen und die Übertragung von Wellenformdaten von einem Speichermedium mit großer Kapazität wie einer Festplatte mit großer Latenz zu dem Wellenformdatenverarbeitungsabschnitt während des Betriebs des Erzeugens eines musikalischen Klangs. Deshalb kann eine Musik mit hoher Qualität sogar in Echtzeit synthetisiert werden.
  • Während der Datenlese- und Übertragungsoperationen kann die Datenübertragungskapazität auf dem Bus, mit welchem der Signalprozessor verbunden ist, effizient verwendet werden.
  • Während der Datenlese- und Übertragungsoperationen werden die Wellenformdaten in Einheiten von Rahmen derart übertragen, dass die Datenübertragungskapazität effizient verwendet werden kann.
  • Als ein Ergebnis kann eine Verringerung in der Verarbeitungsleistung des Wellenformdatenverarbeitungsabschnitts verhindert werden, und somit wird eine Anzahl von gleichmäßig erzeugten Klängen, genug zur praktischen Verwendung, erhalten.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein Blockdiagramm zum Erklären der funktionalen Struktur eines bevorzugten Ausführungsbeispiels der vorliegenden Erfindung.
  • 2 ist ein Blockdiagramm, welches ein spezifisches Beispiel zeigt, in welchem das in 1 gezeigte Ausführungsbeispiel auf eine elektronische Musikvorrichtung eines Wellenformspeicherklangerzeugungssystems angewandt wird.
  • 3-1 und 3-2 sind ein Sequenzdiagramm zum Erklären eines Beispiels der Verarbeitungszeitgebung von jeder Komponente in dem spezifischen Beispiel von 2.
  • 4(a), 4(b) und 4(c) sind Blockdiagramme, welche einige elektronische Musikvorrichtungen eines Wellenformspeicherklangerzeugungssystems zeigen.
  • 5 ist ein Blockdiagramm, welches eine konventionelle musikalische Klangdatenaufzeichnungs-/Wiedergabevorrichtung zeigt.
  • DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
  • 1 ist ein Blockdiagramm zum Erklären der funktionalen Struktur des bevorzugten Ausführungsbeispiels der vorliegenden Erfindung.
  • Das Ausführungsbeispiel sieht einen Klangwellenformsynthetisierer als eine elektronische Musikvorrichtung oder Ähnliches zum Durchführen von Klangwellenformsynthese basierend auf Wellenformsteuerungsinformation und Wellenformdaten, welche in einem Speicher gespeichert sind, vor. In dem Klangwellenformsynthetisierer ist ein Abschnitt, welcher durch Bezugszeichen 1 bezeichnet ist, eine Steuerungsdatenverarbeitungseinheit, ein Abschnitt, welcher durch 2 bezeichnet ist, ist eine Wellenformdatenverarbeitungseinheit, ein Abschnitt, welcher durch 3 bezeichnet ist, ist eine Wellenformdatenliefereinheit, und ein Abschnitt, welcher durch 5 bezeichnet ist, ist eine Schnittstelleneinheit.
  • Die Wellenformdatenliefereinheit 3 ist mit einem Wellenformdatenspeicher 4 wie einer HDD verbunden.
  • Die Schnittstelleneinheit 5 verbindet die Steuerungsdatenverarbeitungseinheit 1, die Wellenformdatenverarbeitungseinheit 2, und die Wellenformdatenliefereinheit 3 miteinander. Ein Wellenformpuffer 6 verbindet die Wellenformdatenverarbeitungseinheit 2 und die Wellenformdatenliefereinheit 3, wodurch ein Pufferrelais für die Übertragung von Wellenformdaten vorgesehen wird. Dies erlaubt der Wellenformdatenverarbeitungseinheit 2, eine Klangwellenform zu synthetisieren, und der Wellenformdatenliefereinheit 3 zum Auslesen von Wellenformdaten individuell ohne Verursachen von Interferenz miteinander.
  • Verschiedene Verfahren können für die Schnittstellen zwischen der Steuerungsdatenverarbeitungseinheit 1 und der Wellenformdatenverarbeitungseinheit 2, und zwischen der Steuerungsdatenverarbeitungseinheit 1 und der Wellenformdatenliefereinheit 3 verwendet werden. In dem gezeigten Beispiel sind diese Schnittstellen direkte Verbindungen.
  • Die Steuerungsdatenverarbeitungseinheit 1, die Wellenformdatenverarbeitungseinheit 2 und die Wellenformdatenliefereinheit 3 führen interne Verarbeitung unabhängig voneinander auf einer allein stehenden Basis aus. In dem gezeigten Beispiel sind jedoch diese Operationen in Einheiten von Rahmenperioden korrespondierend zu den vorbestimmten mehreren Samplingperioden konsolidiert.
  • Die Wellenformdatenverarbeitungseinheit 2 hat einen Signalverarbeitungsbus (erster Bus) 20, mit welchem ein digitaler Signalprozessor 21 und ein Speicher (erster Speicher) 22 verbunden sind. Die Signalverarbeitungseinheit 21 hat auch eine eingebaute Übertragungssteuerung (erste Übertragungssteuerung) 23. Die Ausgabe der Signalverarbeitungseinheit 21 ist mit einer Klangwellenformausgabeeinheit, nicht gezeigt, verbunden.
  • Die Wellenformdatenverarbeitungseinheit 2 synthetisiert einen Rahmen von Klangwellenformrahmen um Rahmen basierend auf akquirierten Steuerungsparametern und übertragenen Wellenformdaten. Die synthetisierten mehreren Samples der Klangwellenform werden zu der Klangwellenformausgabeeinheit geliefert, von welcher ein Sample von Klangwellenform jede Samplingperiode ausgegeben wird.
  • Die Klangwellenformsynthese auf einer Rahmenbasis kann ansprechend auf die Lieferung eines Rahmen-Sync-Signals von der Klangwellenformausga beeinheit durchgeführt werden. In diesem Fall korrespondiert das Rahmen-Sync-Signal zu vorbestimmten mehreren Samplingtaktpulsen.
  • Der Wellenformdatenverarbeitungsabschnitt 2 akquiriert von der Steuerungsdatenverarbeitungseinheit 1 Steuerungsparameter, welche zur Klangwellenformsynthese notwenig sind, mindestens für die derzeitige Rahmenperiode. Zwischenzeitlich überträgt die Übertragungssteuerung 23 Wellenformdaten, welche notwendig sind zur Klangwellenformsynthese mindestens für die derzeitige Rahmenperiode, von dem Wellenformpuffer 6 zu dem Speicher 22.
  • Die Akquisition von Steuerungsparametern und die Übertragung der Wellenformdaten kann in Einheiten von Rahmenperioden gemäß dem Fortschritt von Klangwellenformsynthese durchgeführt werden.
  • Die Einheiten von Rahmenperioden bedeuten ein Zeitintervall, welches ein ganzzahliges Vielfaches von einer Rahmenperiode ist. Der Wert des ganzzahligen Vielfachen kann bei unterschiedlichen Zeiten variieren.
  • Der Wellenformdatenverarbeitungsabschnitt 2 kann auch Klangwellenformsynthese auf jedem Sample von Klangwellenform durchführen. Jedoch variiert die Anzahl von Samples von Wellenformdaten, welche für Klangwellenformsynthese verwendet werden, abhängig von den Zuständen wie Tonhöhe. Deshalb kann die Menge von Wellenformdaten, welche temporär geliefert wird, nicht ausreichend sein, und dies kann Rauschen in der synthetisierten Wellenform verursachen. Es ist bevorzugt, dass die Signalverarbeitungseinheit 21 die Verarbeitung Rahmen um Rahmen durchführt, wobei jeder Rahmen eine angemessene Größe hat, weil sie die Variationen von notwendigen Wellenformdaten unterdrücken kann.
  • Wenn ferner die Klangwellenformsynthese durchgeführt wird für jedes Sample von Klangwellenform, können die Wellenformdaten Sample um Sample transferiert werden müssen. In einem solchen Fall wird ein bestimmter Be trag von Overhead jedes Mal gebraucht, wenn ein Sample von Wellenformdaten übertragen wird. Im Gegensatz dazu, wenn Klangwellenformsynthese durch den Rahmen durchgeführt wird, können die Wellenformdaten auch jede Rahmenperiode übertragen werden, und zwar auf dem Signalverarbeitungsbus 20 oder dem Wellenformdatenbus 30, wodurch effiziente Datenübertragung mit hoher Geschwindigkeit erreicht wird.
  • Die Wellenformdatenverarbeitungseinheit 2 synthetisiert eine Klangwellenform Rahmen um Rahmen, und dies fügt einen Verzögerungsrahmen ein. Jedoch wird eine solche Verzögerung praktisch nicht signifikant sein, bis eine Rahmenperiode extrem lang ist.
  • Das Folgende beschreibt eine spezifische Struktur des Wellenformdatenverarbeitungsabschnitts 2.
  • Der Signalprozessor 21 synthetisiert eine Klangwellenform, Rahmen um Rahmen, basierend auf den Steuerungsparametern und den Wellenformdaten, welche in dem Speicher 22 gespeichert sind, während er die Steuerungsdatenverarbeitungseinheit 1 über den Zustand und den Fortschritt der Klangwellenformsynthese benachrichtigt.
  • Beim Empfang der Benachrichtigung einer Wellenformdatenübertragungsanfrage (zweite Übertragungsanfrage) von der Steuerungsdatenverarbeitungseinheit 1 überträgt die Übertragungssteuerung 23 Wellenformdaten von dem Wellenformpuffer 6 zu dem Speicher 22.
  • Der Signalprozessor 21 kann interne Signalverarbeitung auch während der Übertragung von Wellenformdaten auf dem Signalverarbeitungsbus 20 durchführen.
  • Die mehreren Samples von Klangwellenformsynthese durch den Signalprozessor 21 werden zur nicht gezeigten Klangwellenformausgabeeinheit geliefert, und Sample um Sample für jede Samplingperiode ausgegeben.
  • Der Zustand und der Fortschritt von Klangwellenformsynthese können bei jeder Rahmenperiode zusammen mit der Klangwellenformsyntheseverarbeitung benachrichtigt werden.
  • Die Steuerungsdatenverarbeitungseinheit 1 hat einen Steuerungsparametererzeuger 11 und einen Anfrageerzeuger 12, zu welchen die Wellenformsteuerungsinformation eingegeben wird. In dem Fall einer elektronischen Musikvorrichtung ist die eingegebene Wellenformsteuerungsinformation Aufführungsinformation, welche von einer Tastatur ausgegeben wird, oder von einem Musikdatenspeicher ausgelesen wird.
  • Wie oben stehend erwähnt verwendet die Wellenformdatenverarbeitungseinheit 2 Wellenformdaten, welche von dem Wellenformpuffer 6 Stück um Stück jedes Mal übertragen werden, wenn eine Wellenform für einen Klang synthetisiert wird. Deshalb benötigt sie ein neues Stück von Wellenformdaten, welches unmittelbar hinter dem synthetisierten Stück von Klangwellenformdaten in Sequenz angeordnet ist. Wenn ferner die Erzeugung einer unterschiedlichen Art von Klang angewiesen wird, werden die Wellenformdaten verwendet, bis zu der Zeit, in welcher sie unnötig werden, und die Übertragung einer neuen Art von Wellenformdaten wird benötigt.
  • In einem solchen Fall empfängt der Anfrageerzeuger 12 der Steuerungsdatenverarbeitungseinheit 1 die Benachrichtigung des Fortschritts der Klangwellenformsynthese von dem Signalprozessor 21, und berechnet den verbleibenden Betrag von Wellenformdaten, welcher für weitere Klangwellenformsynthese notwendig ist, von den Wellenformdaten, welche durch die Wellenformdatenverarbeitungseinheit 2 akquiriert sind und in dem Speicher 22 gespeichert sind. Dann sendet er der Wellenformdatenverarbeitungseinheit 3 die Benachrichtigung der ersten Übertragungsanfrage zum Anfragen von Wellenformdaten, welche von dem Berechnungsergebnissen bestimmt wurden, wie sie kürzlich für Klangwellenformsynthese notwendig wurden. Die erste Übertragungsanfrage beinhaltet Information zum Spezifizieren von bestimmten Stücken von Wellenformdaten, welche geliefert werden sollen.
  • Der Anfrageerzeuger 12 sendet dann der Wellenformdatenverarbeitungseinheit 2 die Benachrichtigung der zweiten Übertragungsanfrage, welche gemäß der ersten Übertragungsanfrage erzeugt wurde, und zwar derart, dass angefragte Wellenformdaten von dem Wellenformpuffer 6 zu dem Signalprozessor 21 übertragen werden.
  • Die erste Übertragungsanfrage und die zweite Übertragungsanfrage können zu jeder Zeitperiode zusammen mit der Klangwellenformsyntheseverarbeitung gesendet werden. In einem solchen Fall kann die Wellenformdatenverarbeitungseinheit 2 ein Rahmensynchronisationssignal liefern.
  • Wenn die Wellenformdatenverarbeitungseinheit 2 keine neuen Wellenformdaten benötigt, werden sowohl die erste Übertragungsanfrage wie auch die zweite Übertragungsanfrage nicht benachrichtigt.
  • Die erste Übertragungsanfrage und die zweite Übertragungsanfrage können auch gesendet werden, wenn der Betrag von Wellenformdaten, welcher zur Klangwellenformsynthese notwendig ist und in dem Speicher 22 bleibt, gleich zu oder weniger als ein vorbestimmter Betrag wird.
  • Zusätzlich kann, anstelle des verbleibenden Betrags von Wellenformdaten, die erste Übertragungsanfrage und die zweite Übertragungsanfrage gemäß dem Betrag von Wellenformdaten, welcher bereits zur Klangwellenformsynthese verbraucht wurde, gesendet werden.
  • Der Übertragungserzeuger 12 sendet einer Speichermediumlesesteuerung (Leseeinrichtung) 31 eine Leseanfrage zum vorab Auslesen, und zwar von dem Wellenformdatenspeicher (Speichermedium) 4, von Wellenformdaten, welche von der herein gegebenen Wellenformsteuerungsinformation erwartet werden, dass sie kürzlich notwendig zur weiteren Klangwellenformsynthese werden. Der Betrag von lesbaren Wellenformdaten wird derart bestimmt, dass er nicht den verfügbaren Speicherpuffer übersteigt, nachdem die Wellenformdaten von einem Speicher 32 zu dem Wellenformpuffer 6 übertragen wurden.
  • Andererseits erzeugt der Steuerungsparametererzeuger 11 Steuerungsparameter basierend auf der Wellenformsteuerungsinformation und dem Zustand der Klangwellenformsynthese, und benachrichtigt die Wellenformdatenverarbeitungseinheit 2 über die erzeugten Steuerungsparameter. Die Benachrichtigung der Steuerungsparameter können auch jede Rahmenperiode zusammen mit der Klangwellenformsyntheseverarbeitung gesendet werden.
  • Beim Empfang der ersten Übertragungsanfrage überträgt die Wellenformdatenliefereinheit 3 Wellenformdaten, welche in Kürze zur Klangwellenformsynthese benötigt werden, von dem Speicher 32 zu dem Wellenformpuffer 6.
  • Dann, beim Empfang der zweiten Übertragungsanfrage, überträgt die Wellenformdatenverarbeitungseinheit 2 die Wellenformdaten von dem Wellenformpuffer 6 zu dem Speicher 22.
  • Das Folgende beschreibt eine spezifische Struktur der Wellenformdatenliefereinheit 3.
  • Die Wellenformdatenliefereinheit 3 hat einen Wellenformdatenbus (zweiter Bus) 30, mit welcher die Speichermediumlesesteuerung (Leseeinrichtung) 31, der Speicher (zweiter Speicher) 32, und eine Übertragungssteuerung (zweiter Übertragungssteuerung) 33 verbunden sind.
  • Beim Empfang der oben erwähnten ersten Übertragungsanfrage wählt die Übertragungssteuerung 33 mindestens einen Teil der Wellenformdaten aus, welche in dem Speicher 32 gespeichert sind, und zwar zum Übertragen dieser von dem Speicher 32 zu dem Wellenformpuffer 6.
  • Dann, beim Empfang der oben erwähnten Leseanfrage, liest die Speichermediumlesesteuerung 31 Wellenformdaten von dem Speicher des Wellenformdatenspeichers 4 zum Übertragen dessen zu dem Speicher 32 aus.
  • Busausgleich wird durchgeführt, um Busübertragungen auf dem Wellenformdatenbus 30 derart auszugleichen, dass der Übertragung von Wellenformdaten von dem Speicher 32 höhere Priorität als der Übertragung von Wellenformdaten zu dem Speicher 32 gegeben wird, um einen Mangel von Wellenformdaten, welche zur Klangwellenformsynthese zu der Wellenformdatenverarbeitungseinheit 2 durch den Wellenformpuffer 6 übertragen werden, zu vermeiden.
  • Wenn die Wellenformdaten auf dem Wellenformdatenbus 30 jede Rahmenperiode übertragen werden, wird Burstmodustransfer aktiviert, wodurch effiziente Übertragung mit hoher Geschwindigkeit erreicht wird. Eine solche Übertragung kann unmittelbar ansprechend auf jede erste Übertragungsanfrage durchgeführt werden, welche jede Rahmenperiode benachrichtigt wird. Alternativ kann sie durch das Liefern eines Rahmensynchronisationssignals von der Wellenformdatenverarbeitungseinheit 2 oder Ähnlichem durchgeführt werden.
  • Die Steuerungsdatenverarbeitungseinheit 1 kann der Speichermediumlesesteuerung 31 die Benachrichtigung der Leseanfrage vor dem Beginn der Eingabe der oben erwähnten Wellenformsteuerungsinformation senden, und zwar derart, dass die Wellenformdaten, von welchen erwartet wird, dass sie zu der Zeit des Beginns der Eingabe der Wellenformsteuerungsinformation notwendig sind, vorab von dem Wellenformdatenspeicher 4 zu dem Speicher 32 übertragen werden.
  • In einem solchen Fall können, sobald die Eingabe der Wellenformsteuerungsinformation gestartet wird, die Wellenformdaten, welche zur Klangwellenformsynthese notwendig sind, nach dem Start der Sitzung von dem Speicher 32 zu dem Wellenformpuffer 6 in einer kurzen Zeit übertragen werden.
  • Wenn die Wellenformdatenverarbeitungseinheit 2 zwei oder mehr Klangwellenformen gleichzeitig auf mehren Kanälen synthetisiert, wird die Steuerungsdatenverarbeitungseinheit 1 von der Information über den Zustand und den Fortschritt der Klangwellenformsynthese auf einer Kanalbasis benachrichtigt. Der Steuerungsparametererzeuger 11 benachrichtigt die Wellenformdatenverarbeitungseinheit 1 der Steuerungsparameter für jeden Kanal, während der Anfrageerzeuger 12 die ersten und zweiten Anfragen für jeden Kanal benachrichtigt. Die Wellenformdatenliefereinheit 3 liest Wellenformdaten für jeden Kanal aus und liefert die Wellenformdaten für jeden Kanal aus und liefert die Wellenformdaten für jeden Kanal zu dem Wellenformpuffer 6.
  • Das Obige beschreibt, dass die Steuerungsparameter, die zweite Übertragungsanfrage, der Zustand von Klangwellenformsynthese, der Fortschritt der Klangwellenformsynthese, und die erste Übertragungsanfrage in Einheiten von Rahmenperioden zusammen mit der Klangwellenformsyntheseverarbeitung benachrichtigt werden. Jedoch werden sie nicht notwendigerweise in Einheiten von Rahmenperioden benachrichtigt.
  • Andererseits ist es bevorzugt, dass die Übertragung von Wellenformdaten von der Wellenformdatenliefereinheit 3 zu dem Wellenformpuffer 6 und der Übertragung von Wellenformdaten von dem Wellenformpuffer 6 zu der Wellenformdatenverarbeitungseinheit 2 in Einheiten von Rahmenperioden durchgeführt werden soll. Dies ist so, weil wenn die Wellenformdaten in Einheiten von Rahmenperioden übertragen werden, der Betrag von Wellenformdaten, welcher zu einer Zeit übertragen wird, angemessen groß in der Größe wird, und somit wird der Betrag von Overhead relativ klein. Ferner, weil die Burstmodeübertragung aktiviert ist, wird die Transfereffizienz ebenfalls verbessert.
  • 2 ist ein Blockdiagramm, welches ein spezifisches Beispiel zeigt, in welchem das Ausführungsbeispiel, welches in 1 gezeigt ist, auf eine elektronische Musikvorrichtung eines Wellenformspeicherklangerzeugungs systems angewandt wird. In 2 wurde Teilen, welche ähnlich sind zu denjenigen in 1, die gleichen Bezugszeichen gegeben.
  • Die elektronische Musikvorrichtung ist von einer Drei-Bus Struktur, bestehend aus einem CPU-Bus 41 zur Steuerung der Datenverarbeitung, einem DSP-Bus 42 korrespondierend zu dem Signalverarbeitungsbus 20 in 1, und einem HDD-Bus 43 korrespondierend zu dem Wellenformdatenbus 30 in 1. Datenübertragung zwischen diesen Bussen wird über einen gemeinsam verwendeten Speicherblock 45 in der Schnittstelleneinheit 5 durchgeführt. Dies verringert das Auftreten von Zugriffsverstopfungen auf einem Bus, und somit den Verkehrsstau auf dem Bus.
  • Die Steuerungsdatenverarbeitungseinheit 1, die Wellenformdatenverarbeitungseinheit 2 und die Wellenformdatenliefereinheit 3 werden in Einheiten von Rahmenperioden durch die Schnittstelleneinheit 5 betrieben.
  • Die Schnittstelleneinheit 5 hat den gemeinsam verwendeten Speicherblock 45 und eine Hardware-Interruptleitung für IRQ#2. Andererseits ist IRQ#1 ein Hardwareinterrupt von einem CODEC 52 zu einem DSP 50, welcher alle 64 Samples (ein Rahmen) erzeugt wird. Der IRQ#1 ist ein Trigger für die Rahmengverarbeitung in dem DSP 50. Andererseits ist der IRQ#2 ein Hardwareinterrupt von dem DSP 50 zu einer CPU 46, welcher jede Rahmenperiode erzeugt wird, aber zu einem unterschiedlichen Zeitpunkt von dem IRQ#1. Mit anderen Worten ist der IRQ#2 ein Trigger zur Rahmenverarbeitung in der CPU 46.
  • Die Steuerungsdatenverarbeitungseinheit 1 ist mit dem CPU Bus 41 vorgesehen. Die CPU 46 und ein Arbeitsspeicher bzw. Arbeits-RAM 47, welcher die Funktionen des Steuerungsparametererzeugers 11 implementiert, und der Anfrageerzeuger 12, welcher in 1 gezeigt ist, eine MIDI-(Musical Instrumental Digital Interface)Schnittstelle 48 zum Eingeben von Aufführungsinformation (Wellenformsteuerungsinformation), ein Boot-ROM 49 zum Laden eines CPU Steuerungsprogramms in den Arbeitsspeicher 47 beim Einschalten, und Ähnliches sind mit dem CPU-Bus 41 verbunden. Wenn die CPU 46 eine MIDI-Schnittstelle beinhaltet, kann die MIDI-Schnittstelle 48 durch diejenige der CPU 46 ersetzt werden. Die anderen Blöcke, wie Eingabeoperatoren, eine Anzeige, eine I/O-Schnittstelle, ein Effektor-LSI, und Ähnliches, welche nichts mit der vorliegenden Erfindung zu tun haben, sind nicht in 2 gezeigt.
  • Die CPU 46 liest das Verarbeitungsprogramm von dem Arbeitsspeicher 47 aus, liest und schreibt den Arbeitsspeicher 47 zum temporären Speichern von Daten, und liest und schreibt den gemeinsam verwendeten Speicherblock 45 wie benötigt. Die CPU 46 belegt den CPU-Bus 41. Das Meiste der Datenübertragungskapazität des CPU-Busses 41 wird für die CPU 46 zum Lesen des Befehls „fetch" bei der Ausführung des Verarbeitungsprogramms auf dem Arbeitsspeicher 47 verwendet
  • Die Wellenformdatenverarbeitungseinheit 2 ist mit dem DSP-Bus 42 verbunden, durch den sie mit folgendem verbunden ist: Mit dem DSP 50, welcher als die Signalverarbeitungseinheit 50 in 1 funktioniert, mit dem Arbeitsspeicher 51, der als der Speicher 22 funktioniert, mit einem Boot-ROM 53 zum Laden eines Steuerungsprogramms in den Arbeitsspeicher 51 beim Einschalten, und Ähnlichem. Der DSP 50 ist mit dem CODEC 52 verbunden, welcher als die Klangwellenformausgabeeinheit funktioniert.
  • Der DSP 50 liest das Steuerungsprogramm von dem Arbeitsspeicher 51 aus, liest und schreibt den Arbeitsspeicher 51 zum temporären Speichern von Daten, und liest und schreibt den gemeinsam verwendeten Speicherblock 55 wie benötigt. Der DSP 50 belegt den DSP-Bus 42.
  • Die Verarbeitung für Klangwellenformsynthese, welche durch den DSP 50 durchgeführt wird, hat einen relativ einfachen Verarbeitungsalgorithmus basierend auf Wiederholungsverarbeitung (Schleifenverarbeitung). Insbesondere, weil Operationen korrespondierend zu der Wiederholungsverarbeitung in dem Programm einen solch kleinen Speicherraum benötigen, dass sie in ei nem Befehlscash in dem DSP 50 gespeichert werden können, benötigt der Befehl „fetch" kaum das Band des DSP-Busses 42. Die Großteil der Übertragungskapazität wird für die Übertragung von Wellenformdaten von einem gemeinsam verwendeten Wellenformspeicher 58 zu dem Arbeitsspeicher 51 und der Übertragung von verarbeiteten Daten zwischen dem DSP 50 und dem Arbeitsspeicher 51 verwendet.
  • Der Arbeitsspeicher 51 speichert temporär und hält für jeden Kanal bestimmte Stücke von Wellenformdaten korrespondierend in der Anzahl zu der maximalen Anzahl von Kanälen, welche zum Erzeugen von Klängen zu der gleichen Zeit in der Lage sind. Jeder Kanal besteht aus einem Puffer, welcher zum Speichern von „Managementinformation" und „4096 Samples von teilweisen Wellenformen" in der Lage ist.
  • Der DSP 50 kann auch digitale Wellenformdaten ohne durch den CODEC 52 ausgeben. Wenn ein Effektor-LSI mit dem CPU Bus 41 verbunden ist, und durch die CPU 46 gesteuert wird, werden die musikalischen Klangwellenformdaten, welche in dem DSP 50 synthetisiert werden, zu dem Eingabeterminal des Effektor-LSI geliefert. In diesem Fall prägt der Effektor die Wellenformdaten mit einem Effekt/mit Effekten auf, D/A-konvertiert sie und gibt sie aus.
  • Andererseits ist die Wellenformdatenliefereinheit 3 mit dem HDD-Bus 43 verbunden, durch welchen sie mit einem HDC 59, welcher als die Speichermediumlesesteuerung 31 in 1 funktioniert, einem Arbeitsspeicher 60, welcher als der Speicher 32 funktioniert, einem DEMAC 61, welcher als die Übertragungssteuerung 33 funktioniert verbunden ist.
  • In diesem Fall wird anstatt des Wellenformdatenspeichers 4 in 1 eine HDD 44 mit großer Kapazität, welche zum Speichern von großen Datenmengen in der Lage ist, verwendet, obwohl sie höhere Latenz hat.
  • Die HDD 44 kann nicht nur einen erheblichen Betrag von Wellenformdaten akkumulieren, sondern auch die Wellenformdaten mit hoher Geschwindigkeit übertragen. Wenn die HDD 44 der neueste Typ ist, ist es eine allgemeine Regel, dass die sequentielle Zugriffsrate ungefähr 30–40 Mbps ist, und dass die willkürliche Zugriffsrate ungefähr 10–20 Mbps ist.
  • Jedoch ist die Verzögerungszeit vom Empfangen einer Leseanfrage zum Starten des Lesens sehr lang, ungefähr einige 10 ms. Deshalb muß, wenn der Benutzer musikalische Klänge in Echtzeit erzeugen will, die Verzögerungszeit bis zu dem Start des Erklingens innerhalb von 10 ms sein.
  • Somit werden die Wellenformdaten vorab von der HDD 44 ausgelesen und temporär in dem Arbeitsspeicher 60 gespeichert.
  • Der HDD-Bus 43 wird hauptsächlich für die Übertragung von Wellenformdaten von der HDD 44 zu dem Arbeitsspeicher 60 und der Übertragung von Wellenformdaten von dem Arbeitsspeicher 60 zu dem Wellenformpuffer 58 verwendet.
  • Deshalb wird zumindest ein Teil von Wellenformdaten zweimal auf dem HDD-Bus 43 während unterschiedlichen Übertragungsperioden übertragen.
  • Weil die Wellenformdaten, welche von der HDD 44 und dem Arbeitsspeicher 60 übertragen werden, Wellenformdaten sind, von welchen erwartet wird, dass sie in Kürze notwendig sind, müssen all die Stücke von Wellenformdaten nicht von dem Arbeitsspeicher 60 zu dem Wellenformpuffer 58 übertragen werden. Es kann sein, dass der Betrag von Wellenformdaten, welcher pro Einheitszeit übertragen wird (Benutzungsverhältnis des Busbandes) von dem Arbeitsspeicher 60 zu dem Wellenformpuffer 58 kleiner ist als von der HDD 44 zu dem Arbeitsspeicher 60.
  • Die Anzahl von Malen, welche die Wellenformdaten pro Einheitszeit von dem Arbeitsspeicher 60 zu dem Wellenformpuffer 58 übertragen werden (zum Beispiel einmal für einen Rahmen) ist auch größer als diejenige von der HDD 44 zu dem Arbeitsspeicher 60, das heißt der Betrag von Übertragung zu jeder Zeit ist klein.
  • Deshalb werden der DSP-Bus und der HDD-Bus 43 vorgesehen, um die Last des Übertragens von Wellenformdaten zu teilen, wodurch von dem DSP-Bus 42 eine Last genommen wird.
  • Der Arbeitsspeicher 60 besteht aus einem Speicher und Ringpuffern. Der Speicher speichert statisch den ersten Teil von Wellenformdaten, welcher beim Anschalten des Systems erklingen kann (zum Beispiel der erste halbe zweite Teil), für jeden von all den Tastencodes für all die Tonfarben (jede der Tonhöhen für all die Tasten, welche auf dem Keyboard aufgeführt werden). Die Ringpuffer werden so häufig vorgesehen, wie die maximale Anzahl von Kanälen, welche zum Erzeugen von Klängen zu der gleichen Zeit in der Lage ist. Der statische Speicher kann unter den Kanälen gemeinsam verwendet werden.
  • Die Ringpuffer haben jeweils eine konstante Speicherkapazität, wobei die Lese- und Schreibeadressen zirkuliert werden. Neue Wellenformdaten werden über vorherige Daten in der Reihenfolge geschrieben. Jeder der Ringpuffer speichert beispielsweise Wellenformdaten für eine und eine halbe Sekunde.
  • Die Managementinformation für den Arbeitsspeicher 60 wird durch die CPU 46 auf der Seite der Steuerungsdatenverarbeitungseinheit 1 gehalten.
  • Der gemeinsam verwendete Speicherblock 45 ist zwischen den zwei Bussen zum logischen Verbinden dieser verbunden. Auf ihn kann von beiden Bussen zugegriffen werden, wodurch er als eine Verbindung zur Datenübergabe zwischen den Bussen dient. Der gemeinsam verwendete Speicherblock 45 kann von jedem Bus asynchron zu jeder Zeit gelesen oder geschrieben werden.
  • Der gemeinsam verwendete Speicherblock kann unter Verwendung eines Dual-Anschluss RAMs, eines FIFO (First In First Out = zuerst rein zuerst aus), oder mit einem Zeitaufteilmechanismus zum Schalten eines RAMs zwischen den zwei Bussen ansprechend auf einen Hochgeschwindigkeitstakt implementiert sein. Der gemeinsam verwendete Speicherblock 45 besteht aus einer dedizierten Hardware. Die Funktionen des gemeinsam verwendeten Speicherblocks 45 können auch unter Verwendung eines FPGA (Field Programmalbe Gate Array) implementiert sein. In diesem Fall kann der gemeinsam verwendete Speicherblock 45 die Funktionen des DMAC 61 beinhalten.
  • In der Schnittstelleneinheit 5 werden die Übertragung von Information über die Klangerzeugungsparameter und den Klangerzeugungszustand, und die Übertragung der Ausleseanfrage und die Übertragungsanfragen, wie auch die Übertragung von Wellenformdaten, welche durch den Wellenformpuffer 6 in 1 durchgeführt wird, durch den gemeinsam verwendeten Wellenformpufferspeicher 58, einen gemeinsam verwendeten Klangerzeugungsparameterspeicher 54, einen gemeinsam verwendeten Klangerzeugungszustandsspeicher 55, einen gemeinsam verwendeten Leseanfragespeicher 56, und einen gemeinsam verwendeten Übertragungsanfragespeicher 57 jeweils durchgeführt.
  • Der gemeinsam verwendete Klangerzeugungsparameterspeicher 54 und der gemeinsam verwendete Klangerzeugerzustandsspeicher 55 sind zwischen dem CPU Bus 41 und dem DSP-Bus 42 verbunden. Der gemeinsam verwendete Leseanfragespeicher 56 und der gemeinsam verwendete Übertragungsanfragespeicher 57 sind zwischen dem CPU Bus 41 und dem HDD-Bus 43 verbunden. Der gemeinsam verwendete Wellenformpufferspeicher 58 ist zwischen dem HDD-Bus 43 und dem DSP-Bus 42 verbunden.
  • Der gemeinsam verwendete Wellenformpufferspeicher 58 ist unter Verwendung eines Ringpuffers implementiert; er hält einen Teil von Wellenformdaten, welcher in dem Arbeitsspeicher 60 gespeichert ist.
  • Die Managementinformation für den gemeinsam verwendeten Wellenformpufferspeicher 58 wird durch die CPU 46 gehalten. Der Ringpuffer speichert nur Wellenformdaten.
  • Das Folgende beschreibt Klangerzeugungsparameter. Die „Klangerzeugungsparameter" in 2 beinhalten Parameter zum Anweisen der „Übertragung von dem gemeinsam verwendeten Wellenformpufferspeicher 58 zu dem Arbeitsspeicher 51" (die zweite Übertragungsanfrage in 1), wie auch als „normale Klangerzeugungsparameter" (Steuerungsparameter in 1).
  • Die „normalen Klangerzeugungsparameter" beinhalten die Note-an, Notennummer, einhüllenden Pegel, etc.
  • Die Klangerzeugungsparameter werden in Einheiten von Rahmenperioden aktualisiert und in einem Format von „Paketgröße + Paketkörper (16 Bit·n)" geschrieben (n ist eine positive Ganzzahl), und zwar von dem ersten Teil des gemeinsam verwendeten Klangerzeugungsparameterspeichers 54. Wenn es keine Klangparameter gibt, welche in einer Rahmenperiode übertragen werden sollen, wird „0" für die Paketgröße geschrieben. Zwei oder mehr Klangerzeugungsparameter können in dem oben erwähnten Paketkörper gespeichert werden.
  • Das Folgende beschreibt die „Übertragungsanfrage".
  • Die „Übertragungsanfrage" wird benachrichtigt, wenn eine Anfrage zum Übertragen von dem Arbeitsspeicher 60 zu dem gemeinsam verwendeten Wellenformpufferspeicher 58 durchgeführt wird.
  • Die Übertragungsanfrage besteht aus der „Startadresse zum Übertragen auf dem Arbeitsspeicher 60" + „Übertragungsgröße" + „Klangkanal auf der Zielseite".
  • Das Folgende beschreibt den „Klangerzeugungszustand."
  • Der „Klangerzeugungszustand" in 2 beinhaltet information, welche anzeigend ist für „den Fortschritt von musikalischer Klangwellenformsynthese" (der Fortschritt von Klangwellenformsynthese in 1), wie auch Information über „den normalen Klangerzeugungszustand" (der Zustand der Klangwellenformsynthese in 1).
  • Die Information, welche „den normalen Klangerzeugungszustand" anzeigt, beinhaltet den Note-an Zustand, den derzeitigen Zustand des einhüllenden Pegels, etc, wie diejenige, welche für existierende Tonerzeuger beschrieben ist.
  • Andererseits ist die Information, welche „den Fortschritt von musikalischer Klangwellenformsynthese" anzeigt, Information über die Position von Wellenformdaten, welche derzeit für musikalische Klangsynthese verarbeitet wird. Die Wellenformposition ist eine Klangposition mit Bezug auf die Position der Note-an eingestellt auf „0" als ein Referenzpunkt. Beispielsweise wird die Wellenformposition als die kumulative Anzahl von Sampeln repräsentiert.
  • Der gemeinsam verwendete Klangerzeugungszustandsspeicher 55 ist derart eine Abbildung zum Anzeigen des Zustands von jeder Klangerzeugung für jeden der Kanäle, welcher dazu in der Lage ist, Klänge zu der Zeit zu generieren. Der Speicher ist seiner Speicheradresse vorab zugeordnet.
  • 3-1 und 3-2 sind ein Sequenzdiagramm zum Erklären eines Beispiels der Verarbeitungszeitgebung für jede Komponente in dem spezifischen Beispiel von 2.
  • Die Sequenz von Operationen ist in die folgenden fünf Teile eingeteilt: Verarbeitung, welche ansprechend auf MIDI-Ereignisse durchgeführt wird, Verarbeitung, welche ansprechend auf HDD Auslesen durchgeführt wird, Verarbei tung, welche ansprechend auf den IRQ#2 durchgeführt wird. Verarbeitung, welche ansprechend auf den IRQ#1 durchgeführt wird, und CODEC Verarbeitung.
  • In den 3-1 und 3-2 wird die Verarbeitung ansprechend auf MIDI-Ereignisse durchgeführt, und die Verarbeitung betreffend der HDD Ereignisse fährt in unterschiedlichen Zeiteinheiten von den anderen fort.
  • Der DSP 50 führt Signalverarbeitung für musikalische Klangsynthese in Einheiten von Rahmenperioden aus. Wenn der Samplingtakt 44,1 kHz und der Rahmen 64 Samples ist, ist eine Rahmenperiode ungefähr 1,45 msec.
  • Es sei angenommen, dass das Programm und die Daten, welche zum Betreiben der CPU 46 notwendig sind, in dem Boot-ROM 49 gespeichert sind. In diesem Fall werden sie zu dem Arbeitsspeicher 47 bei dem Starten des Systems zum Starten der Ausführung des Programms übertragen.
  • Ebenso sind das Programm und Daten, welche zum Betreiben des DSP 50 benötigt werden, in dem Boot-ROM 53 gespeichert, und werden zu dem Arbeitsspeicher 51 zum Starten der Ausführung des Programms übertragen.
  • Wenn musikalische Klänge in Echtzeit erzeugt werden sollen, wird die Leseanfrage von der CPU 46 beim Einschalten des Systems benachrichtigt, oder derart, dass das erste Stück von allen Wellenformdaten, welches zum Erzeugen von Klängen verwendet werden könnte, vorher von der HDD 44 zu dem RAM 60 durch den HDC 49 übertragen wird, und in dem RAM 60 während der musikalischen Klangsyntheseverarbeitung gehalten wird.
  • Das Folgende nimmt einfache Aufführungsinformation als ein Beispiel zum Beschreiben einer Sequenz von Operationen von dem Empfangen von Aufführungsinformation „Note-an" zum Beginnen der Erzeugung von einem Klang zum Empfangen von Aufführungsinformation „Note-aus." In diesem Beispiel wird Aufführungsinformation „Ausdruck" auf halber Strecke durch die Sequenz von Operationen zum Verändern des Klangvolumens empfangen.
  • Wie in 3-1(a) gezeigt ist, werden Stücke von Aufführungsinformation (Wellenformsteuerungsinformation) 71, 75 und 77 als MIDI-Daten empfangen, und in den Arbeitsspeicher 47 eingegeben. Dann, wie in 3-1(b) gezeigt ist, verwendet die CPU 46 MIDI-Ereignisse, wie Note-an, Note-aus, Steuerungsveränderung, und Tonhöhenbiegung, und triggert zum Erzeugen von Klangerzeugungsparametern.
  • Obwohl nicht gezeigt werden die Klangerzeugungsparameter auch ansprechend auf einen Zeitinterrupt von 5–20 msec während der Erzeugung des Klangs erzeugt.
  • Die Klangerzeugungsparameter werden basierend auf Aufführungsdaten wie den MIDI-Daten und „der normale Klangerzeugungszustand" (Zustand der Klangwellenformsynthese) einschließlich des Note-an Zustands, dem derzeitigen Zustand der Amplitudeneinhüllenden wie oben stehend erwähnt, erzeugt.
  • Die CPU 46 erzeugt die Klangerzeugungsparameter 72, 76 und 78 auf dem Arbeitsspeicher 47. Zeit, welche zum Erzeugen von Verarbeitung benötigt wird, ist nicht konstant.
  • Die CPU 46 steuert das Lesen der HDD 44. Dann bestimmt sie Wellenformdaten, von welchen erwartet wird, dass sie in Kürze zur weiteren musikalischen Klangwellenformsynthese basierend auf den empfangenen MIDI-Daten benötigt werden.
  • Wie in 3-1(c) gezeigt ist, wird die Leseanfrage 73 zum Lesen von der HDD 44 zu dem Arbeitsspeicher 60 der Wellenformdaten übertragen, von welchen erwartet wird, dass sie in Kürze notwendig werden, und zwar von dem Arbeitspeicher 47 zu dem gemeinsam verwendeten Leseanfragespeicher 56.
  • Wenn zum Beispiel MIDI-Daten empfangen werden zum Starten der Erzeugung eines Klangs mit einer bestimmten Tonhöhe, werden Wellenformdaten auf der Wellenform das musikalischen Klangs mit der erklingenden Tonhöhe, und alle Stücke von Wellenformdaten auf den Wellenformen des musikalischen Klangs in dem Bereich von möglichen Tonhöhen variierend mit Tonhöhenverbiegungsbetrieb von der ursprünglichen Tonhöhe des Klangs (zum Beispiel zwei Oktaven über oder unter der Tonhöhe der aktuellen Note) nacheinander von der HDD 44 ausgelesen und in dem Arbeitsspeicher 60 vorab gespeichert.
  • Dann, wie in 3-1(d) gezeigt ist, greift der HDC 59 auf den gemeinsam verwendeten Leseanfragespeicher 56 zu, und zwar zum Auslesen einer Leseanfrage 74, welche darin gespeichert ist.
  • Dann, wie in 3-1(e) gezeigt ist, liest der HDC 59 Wellenformdaten basierend auf der Leseanfrage von der HDD 44 aus, und überträgt sie zu dem Arbeitsspeicher 60.
  • Die Aufgabe auf der CPU 46 wird blockiert, und zwar bis zur Vervollständigung des angefragten Lesens zum Zeitpunkt 79 wie in 3-1(c) gezeigt ist. Es erlaubt der CPU 46 zum Übertragen der nächsten Leseanfrage 80 zu dem gemeinsam verwendeten Leseanfragespeicher 56, sobald das Lesen von Wellenformdaten vervollständigt ist.
  • Das folgende beschreibt die Verarbeitung, welche ansprechend auf den IRQ#2 durchgeführt wird.
  • Wie in 3-2(k) gezeigt ist, wird ein Interruptsignal (IRQ#2) 91 von dem DSP 50 zu der CPU 46 benachrichtigt. Dann, wie in 3-2(f) gezeigt ist, liest die CPU 46 Information über den Klangerzeugungszustand („normaler Klangerzeugungszustand" und der Fortschritt von musikalischer Klangwellenformsynthese) 92 in dem derzeitigen Rahmen (1) von dem gemeinsam verwendeten Klangerzeugungszustandsspeicher 55 aus, und schreibt sie in den Arbeitsspeicher 47.
  • Die CPU 46 berechnet basierend auf dem Klangerzeugungszustand (der Fortschritt von musikalischer Klangwellenformsynthese) 92 den Betrag von Wellenformdaten, welcher in dem Arbeitsspeicher 51 verbleibt, wie notwendig für den nächsten Rahmen (2) und ferner Rahmen, welche auf den nächsten Rahmen folgen, und überträgt in Kürze notwendige Wellenformdaten, sofern vorhanden.
  • Dann, wie in 3-2(d) gezeigt ist, sendet die CPU 46 dem gemeinsam verwendeten Übertragungsanfragespeicher 57 die Benachrichtigung einer „Übertragungsanfrage" 93 für die Übertragung von Wellenformdaten von dem Arbeitsspeicher 60 zu dem Wellenformpuffer 58. Die Wellenformdaten, welche übertragen werden sollen, korrespondieren zu denjenigen, welche zu dem Arbeitsspeicher 51 später übertragen werden sollen.
  • Dann, wie in 3-2(h) gezeigt ist, greift der DEMAC 61 auf der Seite der Wellenformdatenliefereinheit 3 auf den gemeinsam verwendeten Übertragungsanfragespeicher 57 zu, und zwar zum Akquirieren einer „Übertragungsanfrage" 94. Im Allgemeinen, obwohl der DEMAC nicht auf einen Speicher zum Auslesen von Daten zugreift, weil der DEMAC 61 ein spezialisierter Typ von DEMAC ist oder der gemeinsam verwendete Speicherblock 45 eine Funktion zum Benachrichtigen des DEMAC 61 über die Anfrage ist, kann der DEMAC 61 die „Übertragungsanfrage" akquirieren.
  • Dann überträgt, wie in 3-2(e) gezeigt ist, der DEMAC 61 Wellenformdaten von dem Arbeitsspeicher 60 zu dem gemeinsam verwendeten Wellenformpufferspeicher 58. Die Aufgabe der Übertragungsanfrage wird blockiert bis zur Vervollständigung der Übertragung, welche durch die „Übertragungsanfrage" wie in 3-2(d) gezeigt benachrichtigt wird.
  • Schlussendlich, wie in 3-2(j) gezeigt ist, erzeugt die CPU 46 Klangerzeugungsparameter basierend auf der Aufführungsinformation und dem „normalen Klangerzeugungszustand" (Zustand der Klangwellenformsynthese), und überträgt die Klangerzeugungsparameter, welche in dem Arbeitsspeicher 47 gespeichert sind, zu dem gemeinsam verwendeten Klangerzeugungsparameterspeicher 54.
  • Das Folgende beschreibt die Verarbeitung, welche ansprechend auf den IRQ#1 durchgeführt wird.
  • Wie in 3-2(p) gezeigt ist, werden Interruptsignale (IRQ#1) 81, 86, ... bei jedem Rahmen erzeugt und zu dem DSP 50 geliefert.
  • Dann überträgt, wie in 3-2(l) gezeigt ist, der DSP 50 Klangerzeugungsparameter 82, 87, ... von dem gemeinsam verwendeten Klangerzeugungsparameterspeicher 54 zu dem Arbeitsspeicher 51.
  • Die Klangerzeugungsparameter sind klein in der Datengröße, so dass der DSP 50 sie zu ihrem internen RAM übertragen kann, anstatt sie zu dem Arbeitsspeicher 51 zu übertragen.
  • Dann überträgt, wie in 3-2(m) gezeigt ist, der DSP 50 den letzten Klangerzeugungszustand 83, 88, ... in dem derzeitigen Rahmen (1) von dem Arbeitsspeicher 51 zu dem gemeinsam verwendeten Klangerzeugungszustandsspeicher 55. Wie oben stehend beschrieben wird der übertragene Klangerzeugungszustand zu dem RAM 47 auf der Seite der Steuerungsdatenverarbeitungseinheit 1 zu Zeitpunkten wie in 3-2(f) gezeigt übertragen.
  • Der Klangerzeugungszustand ist klein in der Datengröße, so dass der DSP 50 ihn zu seinem internen RAM übertragen kann, anstatt ihn zu dem Arbeitsspeicher 51 zu übertragen.
  • Dann überträgt er wie 3-2(n) gezeigt ist, Wellenformdaten 84, 89, ..., welche in dem gemeinsam verwendeten Wellenformpufferspeicher 58 gespeichert sind, zu dem Arbeitsspeicher 51. Diese Übertragungen können direkt durch den DSP 50 selbst gesteuert werden. Alternativ, wenn der DSP 50 einen eingebauten DEMAC hat (Übertragungssteuerung 23) wie in dem Ausführungsbeispiel, kann der eingebaute DEMAC diese Übertragungen gemäß den Anweisungen von der Haupteinheit des DSP 50 steuern.
  • Die Wellenformdaten, welche in dem gemeinsam verwendeten Wellenformpufferspeicher 58 gespeichert sind, sind Wellenformdaten, welche in den Arbeitsspeicher 60 eingelesen werden, wie in 3-1(e) gezeigt ist, und zwar ansprechend auf die Leseanfrage 73 in 3-1(c), und sind in dem gemeinsam verwendeten Wellenformpufferspeicher 58 zum Zeitpunkt 59 in 3-2(e) gespeichert. Man beachte hier, dass die in 3-1(e) ausgelesenen Wellenformdaten nicht in 3-1 und 3-2 gezeigt sind, weil sie bereits vor der Periode des Rahmens (1) ausgelesen wurden.
  • Mit anderen Worten werden unter den Wellenformdaten, welche in dem Arbeitsspeicher 60 gespeichert sind, Wellenformdaten, welche für den nächsten Rahmen (2) notwendig sind, und weitere Rahmen, welche dem nächsten Rahmen folgen, basierend auf dem letzten Klangerzeugungszustand (dem Fortschritt der musikalischen Klangsynthese) 92 in dem derzeitigen Rahmen (1), wie in 3-2(f) gezeigt ist, bestimmt werden, und in dem gemeinsam verwendeten Wellenformpufferspeicher 58 gespeichert werden.
  • Dementsprechend sind die Wellenformdaten 84, welche zu dem Arbeitsspeicher 51 in 3-2(n) übertragen werden, Wellenformdaten, welche notwendig sind für den nächsten Rahmen (2) und ferner Rahmen, welche auf den nächsten Rahmen folgen. Dann wird, weil es bestimmt wird, dass keine neuen Wellenformdaten für die Rahmen (2)-Periode notwendig sind, keine Anfrage zum Übertragen von Wellenformdaten erzeugt, wie in 3-2(g) gezeigt ist. Als ein Ergebnis werden keine Wellenformdaten zu dem gemein sam verwendeten Wellenformpufferspeicher 58 übertragen, wie in 3-2(i) gezeigt ist, und somit zu dem Arbeitsspeicher 51 wie in 3-2(n) gezeigt ist.
  • Dann liest, wie in 3-2(o) gezeigt ist, der DSP 50 die Klangerzeugungsparameter (normale Klangerzeugungsparameter) 82 und die Wellenformdaten 84, welche in dem Arbeitsspeicher 51 gespeichert sind, aus und führt auf dem Speicher 51 die musikalische Klangsynthese von 64 Samples in den nächsten Rahmen (2) basierend auf den gelesenen Parametern und den Wellenformdaten aus.
  • Der DSP 50 führt musikalische Klangsynthese für einen Rahmen nacheinander in der Reihenfolge für jeden der Kanäle aus, welche zum Erzeugen von Klängen zu der gleichen Zeit in der Lage sind, und addiert die eben synthetisierten musikalischen Klangwellenformdaten der Kanäle zu den akkumulierten Wellenformen.
  • Der CODEC 52 D/A konvertiert die musikalischen Klangwellenformdaten für einen Rahmen, welcher in dem Arbeitsspeicher 51 gespeichert ist, Sample um Sample zum Ausgeben eines synthetisierten Klangs.
  • In der obigen Beschreibung überlappen die Periode für die Übertragung von Wellenformdaten von dem gemeinsam verwendeten Wellenformpufferspeicher 58 zu dem Arbeitsspeicher 51 und die Periode für die Übertragung von Wellenformdaten von dem DSP 50 zu dem Arbeitsspeicher 51 nicht auf dem DSP-Bus 42, wie in 3-2(l) und 3-2(n) gezeigt ist, weil der DSP 50 Busausgleich derart durchführt, dass sie in Rotation durchgeführt werden.
  • Andererseits wird der HDD-Bus derart gesteuert, dass die Übertragung von Wellenformdaten von dem Arbeitsspeicher 60 zu dem gemeinsam verwendeten Wellenformpufferspeicher 58 durch den DEMAC 61, wie in 3-2(e) gezeigt ist, höhere Priorität gegeben wird als der Übertragung von Wellen formdaten von dem HDC 59 zu dem Arbeitsspeicher 60, wie in 3-1(e) gezeigt ist.
  • Konsequenterweise wird, wenn Verstopfung auftritt, Busausgleich durchgeführt werden zum Unterbrechen der Übertragung von Wellenformdaten von dem HDC 59 zu dem Arbeitsspeicher 60 und zum Erlauben der Übertragung von Wellenformdaten von dem Arbeitsspeicher 60 zu dem gemeinsam verwendeten Wellenformpufferspeicher 58.
  • Diese Prioritätssteuerung wird durchgeführt zum Verhindern des Lesens von dem HDD 44 vom Beeinflussen der Verarbeitung für musikalische Klangwellenformsynthese, welche durch die Wellenformdatenverarbeitungseinheit 2 durchgeführt wird.
  • Es sei angenommen, dass der gemeinsam verwendete Wellenformpufferspeicher 58 nicht vorgesehen wird und der HDD-Bus 43 direkt mit dem DSP-Bus 42 in 2 verbunden ist. In diesem Fall, wenn der DSP 50 Busausgleich durchführt, wird ein Teil der tatsächlich benötigten Wellenformdaten, welche von dem HDT 59 zu dem Arbeitsspeicher 60 übertragen werden, von dem Arbeitsspeicher 60 zu dem Arbeitsspeicher 51 übertragen werden. Dies verursacht, das eine Menge von Wellenformdaten fließt, die das Doppelte des vorbestimmten Übertragungsbetrags bei dem Maximum ist. Weil der DSP-Bus 42 beabsichtigt ist zum Übertragen von beträchtlichen Mengen von Daten, verursacht ein Verkehrsstau auf dem DSP-Bus 42 eine Übertragungsverzögerung, was zu einem Hindernis in der Verarbeitung von musikalischen Klangwellenformsynthese führt, welche durch den DSP 50 durchgeführt wird.
  • Im Gegensatz dazu beeinflusst die Struktur mit dem gemeinsam verwendeten Wellenformpufferspeicher 58 nicht die Datenübertragungskapazität des DSP-Bus 42.
  • Ferner wird in der obigen Beschreibung die Leseanfrage durchgeführt wie in 3-1(c) gezeigt ist, und zwar synchron mit der Vervollständigung des Wellenformdatenlesebetriebs, wie in 3-1(e) gezeigt ist. Alternativ kann ein gemeinsam verwendeter Speicher zum Speichern der Benachrichtigung der Vervollständigung des Lesebetriebs eben in dem gemeinsam verwendeten Speicherblock 45 derart geliefert werden, so dass die Benachrichtigung der Vervollständigung des Lesebetriebs von dem HDD 59 zu der CPU 46 durch den gemeinsam verwendeten Speicher gesendet werden wird, wodurch die Leseanfrage asynchron mit dem Lesebetrieb gemacht wird.
  • Ebenso kann ein gemeinsam verwendeter Speicher zum Speichern von Benachrichtigung der Vervollständigung des Wellenformübertragungsbetriebs auch eben in dem gemeinsam verwendeten Speicherblock 45 derart vorgesehen werden, dass die Benachrichtigung der Vervollständigung der Wellenformübertragungsoperation von dem HDT 59 zu der CPU 46 durch den gemeinsam verwendeten Speicher gesendet werden wird, wodurch die Übertragungsanfrage asynchron mit der Wellenformübertragungsoperation gemacht wird. Ferner wird in der obigen Beschreibung der gemeinsam verwendete Leseanfragespeicher 56 wie in den 3(c) und 3(d) gezeigt verwendet. Alternativ kann ein Interruptsignal verwendet werden zum Senden der Benachrichtigung einer Leseanfrage von der CPU 46 zu dem HDC 59.
  • Ebenso kann ein solches Interruptsignal auch zum Senden der Benachrichtigung einer Übertragungsanfrage anstatt der Verwendung des gemeinsam verwendeten Übertragungsanfragespeichers 57 verwendet werden.
  • Ferner werden in der obigen Beschreibung die gemeinsam verwendeten Speicher verwendet zum Benachrichtigen der Klangerzeugungsparameter und des Klangerzeugungszustands. Alternativ kann der DSP-Bus mit einem I/O-Anschluss vorgesehen sein, durch welchen er mit dem CPU Bus 41 verbunden ist, wie der Wiedergabeklangerzeuger 131 in 5. In diesem Fall gibt es, weil ein solcher I/O-Anschluss mit sowohl dem DSP-Bus 41 wie auch dem CPU Bus 41 verbunden ist, keinen Bedarf zum Vorsehen des gemein sam verwendeten Klangerzeugungsparameterspeichers 54 und des gemeinsam verwendeten Klangerzeugungszustandsspeichers 55.
  • Ebenso können der HDC 59 und der DEMAC 61 auch mit I/O-Anschlüssen jeweils vorgesehen sein, durch welche sie mit dem CPU Bus 41 ebenso wie die SCSI-Schnittstelle 129 in 5 verbunden sind. In diesem Fall gibt es keinen Bedarf zum Vorsehen der gemeinsam verwendeten Speicher jeweils zum Benachrichtigen der Leseanfrage und der Übertragungsanfrage.
  • Ferner werden in der obigen Beschreibung das Verarbeitungsprogramm, welches für den Betrieb der CPU 46 notwendig ist, und das Verarbeitungsprogramm, welches für den Betrieb des DSP 50 notwendig ist, in den Boot-ROMs 59 und 53 jeweils gespeichert, und werden in die Arbeitsspeicher 47 und 51 beim Anschalten des Systems geladen.
  • Alternativ können die Boot-ROMs 49 und 53 nur einen Boot-Lader speichern, um zu Erlauben, dass das Verarbeitungsprogramm in der HDD 44 gespeichert ist. In diesem Fall liest der Boot-Lader jedes Programm von der HDD 44 beim Anschalten des Systems aus und liest es in den Arbeitsspeicher 47 oder 51.
  • Beim Laden des Programms von der HDD 44 muß ein Datenpuffer zur Programmübertragung nur in dem gemeinsam verwendeten Speichertopf 45 vorgesehen sein.
  • Ferner nimmt die obige Beschreibung die HDD als ein Beispiel des Wellenformdatenspeichers, aber sie kann jeglicher andere Speicher mit hoher Kapazität sein, auch wenn er Zeit zum Lesen von Daten von seinem Speichermedium braucht. Zum Beispiel kann er eine Wiedergabeeinrichtung für Speichermedien, wie eine CD-ROM (Compact Disc Read Only Memory), MO (Magneto Optical Disk), und DVD (Digital Versstile Disk), oder ein RAM mit niedriger Geschwindigkeit mit großer Zugriffsverzögerung sein. Es kann auch ein USB 2.0 Flashspeicher oder anderer Flash-ROM sein.
  • Das Obige beschreibt das spezifische Beispiel dieses Falls, in welchem Aufführungsinformation wie MIDI-Nachrichten, welche in Echtzeit eingegeben und zum Synthetisieren einer musikalischen Klangwellenform verarbeitet werden. Jedoch können Musikdaten wie ein SMF (Standard-MIDI-File), welche in einem Speicher gespeichert sind, auch zum Synthetisieren einer musikalischen Klangwellenform wiedergegeben werden. In diesem Fall, wenn Musikdaten in Echtzeit-MIDI-Daten gemäß Zeitinformation konvertiert werden (Dauerinformation), welche in den musikalischen Daten beinhaltet ist, zeitlich zu steuern, kann die musikalische Klangwellenform auf die gleiche Art und Weise wie das obige spezifische Beispiel synthetisiert werden.
  • Alternativ kann die Zeitinformation in den Klangerzeugungsparametern (Steuerungsparameter) in einer solchen Art und Weise beinhaltet sein, dass die Zeitinformation zu dem DSP 50 benachrichtigt wird und durch den DSP 50 zum Synthetisieren der musikalischen Klangwellenform interpretiert wird.
  • In diesem Fall kann, weil die Verzögerungszeit bis zum Start des Klangs vorbestimmt ist, die Kapazität des Arbeitsspeichers auch verringert werden.
  • Ferner wird die obige Beschreibung durchgeführt basierend auf der Annahme, dass die musikalische Klangwellenform in einem Wellenformspeicherklangerzeugungssystem erzeugt wird. Jedoch ist die vorliegende Erfindung auf jegliche andere Klangerzeugungssysteme unter Verwendung von Wellenformdaten als Materialien anwendbar.
  • Zum Beispiel ist sie auf ein Multi-Aufführung AEM (Articulation Element Modeling) Klangerzeugungssystem anwendbar.
  • Ferner ist sie nicht auf die Synthese von musikalischen Klangwellenformen eingeschränkt, welche den Klang von akustischen Musikinstrumenten imitieren. Sie kann musikalische Klangwellenformen verwenden, welche künstlich erzeugt sind. Sie ist ferner anwendbar auf die Synthese einer menschlichen Stimme, die ein Lied singt, oder eine Ankündigung macht, solang das System zum Synthetisieren von Klangwellenformen ist. Zusammengefasst ist die Erfindung auf die Synthese von Klang einschließlich musikalischen Klangsignalen und menschlicher Stimme anwendbar.

Claims (7)

  1. Eine Klangwellenformsynthetisiervorrichtung zum Durchführen einer Klangwellenformsynthese basierend auf Wellenformsteuerungsinformation, welche von außen geliefert wird, und Wellenformdaten, welche in einem Speichermedium (4) gespeichert sind, wobei die Klangwellenformsynthetisiervorrichtung folgendes aufweist: einen Wellenformdatenlieferabschnitt (3), einen Wellenformdatenverarbeitungsabschnitt (2), einen Wellenformpuffer (6), welcher zwischen dem Wellenformdatenlieferabschnitt und dem Wellenformdatenverarbeitungsabschnitt verbunden ist, und einen Steuerungsdatenverarbeitungsabschnitt (1), welcher zwischen dem Wellenformdatenlieferabschnitt und dem Wellenformdatenverarbeitungsabschnitt verbunden ist, wobei die Klangwellenformsynthetisiervorrichtung dadurch gekennzeichnet ist, dass sie folgendermaßen konfiguriert ist: der Wellenformdatenlieferabschnitt (3) empfängt eine erste Übertragungsanforderung von dem Steuerungsdatenverarbeitungsabschnitt (1) und liest die Wellenformdaten von dem Speichermedium (4) zum Liefern der Wellenformdaten zu dem Wellenformpuffer (6) ansprechend auf die erste Übertragungsanforderung; der Wellenformpuffer (6) speichert die Wellenformdaten, welche von dem Wellenformdatenlieferabschnitt geliefert werden; der Wellenformdatenverarbeitungsabschnitt (2) empfängt eine zweite Übertragungsanforderung von dem Steuerungsdatenverarbeitungsabschnitt (1) und überträgt die Wellenformdaten von dem Wellenformpuffer (6) zu dem Wellenformdatenverarbeitungsabschnitt (2) ansprechend auf die zweite Übertragungsanforderung, der Wellenformdatenverarbeitungsabschnitt (2) für die Klangwellenformsynthese basierend auf den übertragenen Wellenformdaten und Steuerungsparametern, welche von dem Steuerungsdatenverarbeitungsabschnitt (1) geliefert werden, aus, während ein Zustand der Klangwellenformsynthese und ein Fortschritt der Klangwellenformsynthese zu dem Steuerungsdatenverarbeitungsabschnitt (1) geliefert werden; und ein Steuerungsdatenverarbeitungsabschnitt (1) kreiert die erste Übertragungsanforderung basierend auf dem Fortschritt der Klangwellenformsynthese, welche von dem Wellenformdatenverarbeitungsabschnitt (2) benachrichtigt wird, und sendet dem Wellenformdatenverarbeitungsabschnitt die erste Übertragungsanforderung, der Steuerungsdatenverarbeitungsabschnitt (1) empfängt die Wellenformsteuerungsinformation von außen und kreiert die Steuerungsparameter basierend auf der Wellenformsteuerungsinformation und dem Zustand der Klangwellenformsynthese, welche von dem Wellenformdatenverarbeitungsabschnitt (2) benachrichtigt wird, der Steuerungsdatenverarbeitungsabschnitt (1) sendet dem Wellenformdatenverarbeitungsabschnitt (2) die zweite Übertragungsanforderung auf der Basis der ersten Übertragungsanforderung zusammen mit den kreierten Steuerungsparametern.
  2. Die Klangwellenformsynthetisiervorrichtung gemäß Anspruch 1, wobei der Wellenformdatenverarbeitungsabschnitt (2) einen ersten Bus (20), einen ersten Speicher (22), welcher mit dem ersten Bus zum Speichern der Wellenformdaten verbunden ist, und einen digitalen Signalprozessor (21), welcher mit dem ersten Bus zum Verarbeiten der Wellenformdaten während der Klangwellenformsynthese beinhaltet, während der Wellenformdatenlieferabschnitt (3) einen zweiten Bus (30), eine Leseeinrichtung (31) zum Lesen der Wellenformdaten von dem Speichermedium (4) und zum Eingeben der gelesenen Wellenformdaten zu dem zweiten Bus, und einen zweiten Speicher (32) beinhaltet, welcher mit dem zweiten Bus zum Speichern der Wellenformdaten verbunden ist, und zwar derart, dass der Wellenformpuffer (6) zwischen dem ersten Bus (20) und dem zweiten Bus (30) zum Übertragen der Wellenformdaten von dem zweiten Speicher (32) des Wellenformdatenlieferabschnitts (3) zu dem ersten Speicher (22) des Wellen formdatenverarbeitungsabschnitt (2) durch den Wellenformpuffer (6) verbunden ist.
  3. Die Klangwellenformsynthetisiervorrichtung gemäß Anspruch 2, wobei der Steuerungsdatenverarbeitungsabschnitt (1) ferner derart konfiguriert ist, dass er eine Leseanforderung gemäß der Wellenformsteuerungsinformation erzeugt, und die Leseanforderung zu der Leseeinrichtung (31) des Wellenformdatenlieferabschnitt (3) sendet, und wobei die Leseeinrichtung (31) derart konfiguriert ist, dass sie betrieben wird, wenn die Leseanforderung zum Auslesen der Wellenformdaten von dem Speichermedium (4) empfangen wird, und zum Übertragen der gelesenen Wellenformdaten zu dem zweiten Speicher (32).
  4. Die Klangwellenformsynthetisiervorrichtung gemäß Anspruch 3, wobei der Wellenformdatenlieferabschnitt (3) eine Steuerung (33) zum Steuern des zweiten Bus (30) derart beinhaltet, dass der Übertragung der Wellenformdaten von dem zweiten Speicher (32) zu dem Wellenformpuffer (6) höhere Priorität gegeben wird als der Übertragung der Wellenformdaten von dem Speichermedium (4) zu dem zweiten Speicher (32).
  5. Die Klangwellenformsynthetisiervorrichtung gemäß Anspruch 3, wobei der Steuerungsdatenverarbeitungsabschnitt (1) derart konfiguriert ist, dass er die Leseanforderung zu der Leseeinrichtung (31) des Wellenformdatenlieferabschnitts (3) vor dem Beginn der Eingabe der Wellenformsteuerungsinformation in dem Steuerungsdatenverarbeitungsabschnitt (1) sendet, und zwar derart, dass die Wellenformdaten von dem Speichermedium (4) zu dem zweiten Speicher (32) vor der Klangwellenformsynthese übertragen werden.
  6. Die Klangwellenformsynthetisiervorrichtung gemäß Anspruch 1, wobei der Wellenformdatenverarbeitungsabschnitt (2) derart konfiguriert ist, dass er die Klangwellenformsynthese zum Synthetisieren einer Klangwellenform auf einer Rahmen-um-Rahmen-Basis ausführt, und zwar basierend auf den Wellenformdaten synchron mit einer gegebenen Rahmenperiode, und zwar derart, dass jeder Rahmen eine Vielzahl von Sampels der Klangwellenform enthält, und wobei der Wellenformdatenlieferabschnitt (3) derart konfiguriert ist, dass er betrieben wird, wenn die erste Übertragungsanforderung zum Transferieren der Wellenformdaten von dem Speichermedium (4) zu dem Wellenformpuffer (6) korrespondierend mit der Rahmenperiode empfangen wird.
  7. Ein Verfahren zum Betreiben einer Klangwellenformsynthetisiervorrichtung, welche aus einem Wellenformdatenlieferabschnitt (3), einem Wellenformdatenverarbeitungsabschnitt (2), einem Wellenformpuffer (6), welcher zwischen dem Wellenformdatenlieferabschnitt und dem Wellenformdatenverarbeitungsabschnitt verbunden ist, und einem Steuerungsdatenverarbeitungsabschnitt (1), welcher zwischen dem Wellenformdatenlieferabschnitt und dem Wellenformdatenverarbeitungsabschnitt verbunden ist, besteht, und zwar zum Durchführen von Klangwellenformsynthese basierend auf Wellenformsteuerungsinformation und Wellenformdaten, wobei das Verfahren folgende Schritte aufweist: Betreiben des Wellenformdatenlieferabschnitt (3), wenn eine erste Übertragungsanforderung von dem Steuerungsdatenverarbeitungsabschnitt (1) empfangen wird, zum Auslesen der Wellenformdaten von einem Speichermedium (4) und Liefern der gelesenen Wellenformdaten zu dem Wellenformpuffer (6) ansprechend auf die erste Übertragungsanforderung; Betreiben des Wellenformpuffers (6) zum Speichern der Wellenformdaten, welche von dem Wellenformdatenlieferabschnitt (3) geliefert werden; Betreiben eines Wellenformdatenverarbeitungsabschnitts (2), wenn eine zweite Übertragungsanforderung von dem Steuerungsdatenverarbeitungsabschnitt (1) empfangen wird, zum Übertragen der Wellenformdaten von dem Wellenformpuffer (6) zu dem Wellenformdaten verarbeitungsabschnitt (2) ansprechend auf die zweite Übertragungsanforderung; Betreiben des Wellenformdatenverarbeitungsabschnitts (2) zum Durchführen der Klangwellenformsynthese basierend auf den übertragenen Wellenformdaten und Steuerungsparametern, welche von dem Steuerungsdatenverarbeitungsabschnitt (1) eingegeben wurden, während ein Zustand der Klangwellenformsynthese und ein Fortschritt der Klangwellenformsynthese zu dem Steuerungsdatenverarbeitungsabschnitt (1) berichtet wird; Betreiben des Steuerungsdatenverarbeitungsabschnitts (1) zum Kreieren der ersten Übertragungsanforderung basierend auf dem Fortschritt der Klangwellenformsynthese, welche von dem Wellenformdatenverarbeitungsabschnitt (2) benachrichtigt wird, und zum Senden der ersten Übertragungsanforderung zu dem Wellenformdatenlieferabschnitt (3); Betreiben des Steuerungsdatenverarbeitungsabschnitts (1), wenn die Wellenformsteuerungsinformation empfangen wird, zum Kreieren der Steuerungsparameter, basierend auf der Wellenformsteuerungsinformation und des Zustands der Klangwellenformsynthese, welche von dem Wellenformdatenverarbeitungsabschnitt (2) benachrichtigt wird; und Betreiben des Steuerungsdatenverarbeitungsabschnitts (1) zum Senden zu dem Wellenformdatenverarbeitungsabschnitt (2) der zweiten Übertragungsanforderung auf der Basis der ersten Übertragungsanforderung zusammen mit den kreierten Steuerungsparametern.
DE602005004685T 2004-03-26 2005-03-23 Tonwellenform Synthesizer Active DE602005004685T2 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2004091517 2004-03-26
JP2004091517A JP4102930B2 (ja) 2004-03-26 2004-03-26 音波形合成装置
JP2004091518 2004-03-26
JP2004091518A JP4102931B2 (ja) 2004-03-26 2004-03-26 音波形合成装置

Publications (2)

Publication Number Publication Date
DE602005004685D1 DE602005004685D1 (de) 2008-03-27
DE602005004685T2 true DE602005004685T2 (de) 2009-02-12

Family

ID=34863571

Family Applications (1)

Application Number Title Priority Date Filing Date
DE602005004685T Active DE602005004685T2 (de) 2004-03-26 2005-03-23 Tonwellenform Synthesizer

Country Status (4)

Country Link
US (1) US7381879B2 (de)
EP (1) EP1580729B1 (de)
CN (1) CN1674090B (de)
DE (1) DE602005004685T2 (de)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7420115B2 (en) * 2004-12-28 2008-09-02 Yamaha Corporation Memory access controller for musical sound generating system
US7807914B2 (en) * 2007-03-22 2010-10-05 Qualcomm Incorporated Waveform fetch unit for processing audio files
JP4475323B2 (ja) * 2007-12-14 2010-06-09 カシオ計算機株式会社 楽音発生装置、及びプログラム
US8183452B2 (en) * 2010-03-23 2012-05-22 Yamaha Corporation Tone generation apparatus
JP5614420B2 (ja) * 2012-03-09 2014-10-29 カシオ計算機株式会社 楽音発生装置、電子楽器、プログラム及び楽音発生方法
JP5915420B2 (ja) * 2012-07-05 2016-05-11 カシオ計算機株式会社 楽音発生装置、楽音発生方法、電子楽器及びプログラム
JP2014092722A (ja) * 2012-11-05 2014-05-19 Yamaha Corp 音発生装置
JP6904141B2 (ja) 2017-07-28 2021-07-14 カシオ計算機株式会社 楽音発生装置、方法、プログラム、及び電子楽器
JP6922614B2 (ja) * 2017-09-27 2021-08-18 カシオ計算機株式会社 電子楽器、楽音発生方法、及びプログラム
CN109741720A (zh) * 2018-11-28 2019-05-10 星海音乐学院 一种合成器软件

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5446237A (en) * 1992-01-08 1995-08-29 Yamaha Corporation Electronic musical instrument having a control section memory for generating musical tone parameters
US5525748A (en) * 1992-03-10 1996-06-11 Yamaha Corporation Tone data recording and reproducing device
JP3235409B2 (ja) * 1995-06-07 2001-12-04 ヤマハ株式会社 ミュージックシステム、音源および楽音合成方法
JP2882311B2 (ja) * 1995-06-07 1999-04-12 ヤマハ株式会社 ミュージックシステム、音源および楽音合成方法
JP2904088B2 (ja) * 1995-12-21 1999-06-14 ヤマハ株式会社 楽音生成方法および装置
US5811706A (en) * 1997-05-27 1998-09-22 Rockwell Semiconductor Systems, Inc. Synthesizer system utilizing mass storage devices for real time, low latency access of musical instrument digital samples
US6441290B2 (en) * 2000-02-01 2002-08-27 Yamaha Corporation Apparatus and method for reproducing or recording, via buffer memory, sample data supplied from storage device

Also Published As

Publication number Publication date
DE602005004685D1 (de) 2008-03-27
CN1674090B (zh) 2011-02-02
US20050211070A1 (en) 2005-09-29
EP1580729A1 (de) 2005-09-28
EP1580729B1 (de) 2008-02-13
US7381879B2 (en) 2008-06-03
CN1674090A (zh) 2005-09-28

Similar Documents

Publication Publication Date Title
DE602005004685T2 (de) Tonwellenform Synthesizer
DE19882486B4 (de) Synchroner, nicht-flüchtiger Seitenmodus-Speicher
DE3546774C2 (de)
DE69730873T2 (de) Software-Tonerzeuger
DE69734404T2 (de) Echtzeitdurchgabe von Musiktoninformation
DE69632696T2 (de) Digitales Musikinstrument mit Wellenformbearbeitung zur Erzeugung eines Klangeffektes
DE60220876T2 (de) Musikaufnahmegerät und Musikwiedergabegerät auf Basis von verschiedenen Musikdatensorten
DE102015209298A1 (de) Synchronisation von unabhängigen ausgabeströmen
DE3318667C1 (de) Elektronisches Tastenmusikinstrument und Verfahren zu dessen Betrieb
DE69836472T2 (de) Tonverarbeitungsverfahren, tonprozessor und aufzeichnungs-/wiedergabevorrichtung
DE3023581C2 (de) Verfahren zur digitalen Hüllkurvensteuerung eines polyphonen Musiksyntheseinstruments und Schaltungsanordnung zur Durchführung des Verfahrens
DE69632695T2 (de) Verfahren und Vorrichtung zur Musiktonerzeugung
DE102004050037B4 (de) Speicherbauelement, Speichersystem und Betriebsmodussetzverfahren
DE19882539B3 (de) Verfahren und System zum Speichern von Daten in einem verteilten Speichersystem und Bereitstellen der Wiedergabe von Effekten die durch die Daten beschrieben werden
DE60118083T2 (de) Speicherkarte mit einer Funktion zur Aufführung von Musik
DE69732797T2 (de) Verfahren und vorrichtung zur speicherung von tonfolgen in cyclischen schleifen
DE69923752T2 (de) Vorrichtung zum Senden und Empfängen von Musikdaten und Speicherungsmittel
DE69918240T2 (de) Vorrichtung und verfahren zur tonerzeugung
EP0126975A2 (de) Elektronisches Tasteninstrument
DE3923872A1 (de) Schaltungsanordnung zum steuern des zugriffs auf einen speicher
EP1548603B1 (de) Verfahren und Vorrichtung zum Steuern eines Speicherzugriffs
DE3901637C2 (de)
DE69734186T2 (de) Verfahren und Vorrichtung zur Kodierung von Videodaten
DE10106431A1 (de) Verfahren zur Unterbrechungskompensation von Streaming-Date sowie Vorrichtung hierfür
DE19843704A1 (de) Vorrichtung und Verfahren zur Digitalaufzeichnung und -wiedergabe

Legal Events

Date Code Title Description
8364 No opposition during term of opposition