[go: up one dir, main page]

DE69321650T2 - In elektronischen Musikinstrumenten verwendete Vorrichtung zur Verarbeitung von digitalen Signalen - Google Patents

In elektronischen Musikinstrumenten verwendete Vorrichtung zur Verarbeitung von digitalen Signalen

Info

Publication number
DE69321650T2
DE69321650T2 DE69321650T DE69321650T DE69321650T2 DE 69321650 T2 DE69321650 T2 DE 69321650T2 DE 69321650 T DE69321650 T DE 69321650T DE 69321650 T DE69321650 T DE 69321650T DE 69321650 T2 DE69321650 T2 DE 69321650T2
Authority
DE
Germany
Prior art keywords
input terminal
supplied
digital
selector
sampling clock
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69321650T
Other languages
English (en)
Other versions
DE69321650D1 (de
Inventor
Tetsuji C/O Yamaha Corporation Hamamatsu-Shi Shizuoka-Ken Ichiki
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Application granted granted Critical
Publication of DE69321650D1 publication Critical patent/DE69321650D1/de
Publication of DE69321650T2 publication Critical patent/DE69321650T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/02Means for controlling the tone frequencies, e.g. attack or decay; Means for producing special musical effects, e.g. vibratos or glissandos
    • G10H1/06Circuits for establishing the harmonic content of tones, or other arrangements for changing the tone colour
    • G10H1/12Circuits for establishing the harmonic content of tones, or other arrangements for changing the tone colour by filtering complex waveforms
    • G10H1/125Circuits for establishing the harmonic content of tones, or other arrangements for changing the tone colour by filtering complex waveforms using a digital filter
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/0091Means for obtaining special acoustic effects
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10KSOUND-PRODUCING DEVICES; METHODS OR DEVICES FOR PROTECTING AGAINST, OR FOR DAMPING, NOISE OR OTHER ACOUSTIC WAVES IN GENERAL; ACOUSTICS NOT OTHERWISE PROVIDED FOR
    • G10K15/00Acoustics not otherwise provided for
    • G10K15/08Arrangements for producing a reverberation or echo sound
    • G10K15/12Arrangements for producing a reverberation or echo sound using electronic time-delay networks
    • 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
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/155Musical effects
    • G10H2210/265Acoustic effect simulation, i.e. volume, spatial, resonance or reverberation effects added to a musical sound, usually by appropriate filtering or delays
    • G10H2210/281Reverberation or echo
    • 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
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/155Musical effects
    • G10H2210/265Acoustic effect simulation, i.e. volume, spatial, resonance or reverberation effects added to a musical sound, usually by appropriate filtering or delays
    • G10H2210/295Spatial effects, musical uses of multiple audio channels, e.g. stereo
    • G10H2210/305Source positioning in a soundscape, e.g. instrument positioning on a virtual soundstage, stereo panning or related delay or reverberation changes; Changing the stereo width of a musical source
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S84/00Music
    • Y10S84/26Reverberation

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Electrophonic Musical Instruments (AREA)
  • Reverberation, Karaoke And Other Acoustics (AREA)
  • Stereophonic System (AREA)

Description

    Gegenstand der Erfindung
  • Die vorliegende Erfindung bezieht sich auf eine Vorrichtung zur digitalen Signalverarbeitung, welche ein von einem elektronischen Musikinstrument erzeugtes digitales Musiktonsignal mit verschiedenen Effekten wie Nachhall, Chorus und dergleichen simultan belegt.
  • Stand der Technik
  • Konventionelle Beispiele dieser Art Vorrichtung zur digitalen Signalverarbeitung enthalten beispielsweise den Effektor (Effektgerät), der in der Japanischen Patentveröffentlichung Nr. Hei 1-19593 offenbart ist. Dieser Effektor weist eine Vielzahl von Operatoren auf, wie beispielsweise Multiplizierer und Addierer. Diese Vorrichtung prägt Nachhall- und Modulationseffekte, wie Chorus, Flanger und dergleichen einem erzeugten digitalen Musiktonsignal auf. In dieser Art Vorrichtung wird während beispielsweise einer Abtastperiode nach dem Beigeben von Modulationseffekten ein Nachhall beigegeben. Das heißt, daß in dem Fall, in dem eine Vielzahl von Effekten einem digitalen Musiktonsignal beigegeben werden, in dieser Art Vorrichtung die Verarbeitung für das Beigeben der zahlreichen "Effekte" in Reihe und nacheinander durchgeführt wird.
  • Demzufolge kann in solch einem konventionellen Effektor die Verarbeitung zum Beigeben eines zweiten "Effektes" nicht durchgeführt werden, solange die Verarbeitung eines vorgegebenen "Effektes" läuft. Das Ergebnis ist, daß die Wartezeit der Operatoren groß wird und sich die effektive Nutzungseffizienz der Operatoren verschlechtert. Da die Prozesse zum Beigeben der Effekte seriell ausgeführt werden, ist zudem eine Hochgeschwindigkeitsverarbeitung nicht möglich, US-A-4 472 993 offenbart ein Gerät zum Beigeben eines Klangeffekts für ein elektronisches Musikinstrument. Der digitale Signalprozessor dieses Gerätes zum Beigeben eines Klangeffekts führt einen Modulationseffektprozeß und einen Nachhalleffektprozeß in einer Abtastperiode aus. Durch Steuerdaten und Parameterdaten, die aus einer Steuereinheit bzw. einem Parameterspeicher mittels einer Leseeinheit ausgelesen werden, wird das Umschalten des Betriebsmodus der digitalen Einheit für arithmetische Operationen zeitlich gestaffelt gesteuert, wodurch einem Musikton eine Vielzahl von Klangeffekten mittels digitaler arithmetischer Operationen beigegeben wird. In diesem Gerät zum Beigeben eines Klangeffekts nach dem Stand der Technik wird zuerst ein Modulationseffekt innerhalb einer Abtastperiode des digitalen Musiktonsignals zugefügt, und dann wird sequentiell ein Nachhalleffekt zeitlich gestaffelt zusätzlich dem Modulationseffekt hinzugefügt. Das bedeutet, daß die Verarbeitung zum Beigeben des Modulationseffektes und des Nachhalleffektes in Reihe und nacheinander ausgeführt wird. Während der Ausführung der Verarbeitung zum Beigeben des ersten Effektes ist es nicht möglich, simultan die Verarbeitung zum Beigeben des zweiten Effektes auszuführen. Folglich wird die Wartezeit der Operatoren groß und die Nutzungseffizienzen der Operatoren verschlechtern sich. Hochgeschwindigkeitsverarbeitung ist nicht möglich.
  • EP-A-0 248 527 offenbart eine digitale Signalverarbeitung, die Wellenleiternetzwerke verwendet. Die Wellenleiternetzwerke weisen Signalstreuverbindungen auf. Eine Verbindung verbindet zwei Wellenleiterabschnitte miteinander oder schließt einen Wellenleiter ab. Die Verbindungen bestehen aus konventionellen digitalen Komponenten, wie Multiplizierern, Addierern und Verzögerungselementen. Der Signalprozessor wird typischerweise für digitalen Nachhall und zur Synthese von Rohrblatt-, Saiten- oder anderen Instrumenten verwendet.
  • Kern der Erfindung
  • Es ist daher ein Ziel der vorliegenden Erfindung, eine Vorrichtung zur digitalen Signalverarbeitung zur Verfügung zu stellen, die in der Lage ist, die Nutzungseffizienz der Operatoren zu steigern und sogar in den Fällen, in denen mehrere Effekte beigegeben werden sollen, eine Hochgeschwindigkeitsverarbeitung durchzuführen. Die Erfindung wird durch den anhängenden Anspruch 1 definiert, wobei bevorzugte Ausführungsformen in den anhängenden abhängigen Ansprüchen 2 bis 9 definiert werden.
  • Bei der vorliegenden erfindungsgemäßen Konstruktion erzeugt der Bestimmungsmechanismus die Filterbestimmungsdaten, die Nachhallbestimmungsdaten und die Kenndaten, die eine Kombination aus dem Filtervorgang und dem Nachhallvorgang sind. Der Parametererzeugungsmechanismus erzeugt Filterparameter, die die Filtercharakteristiken bezeichnen, und Nachhallparameter, die die Nachhallcharakteristiken bezeichnen. Der Lesemechanismus liest den ersten Operationsalgorithmus, der die Filterbestimmungsdaten bestimmt, und den zweiten Operationsalgorithmus, der die Nachhallbestimmungsdaten bestimmt, aus dem Speichermechanismus aus, in dem eine Vielzahl von Operationsalgorithmen gespeichert sind. Der Rechnermechanismus bildet ein Digitalfilter mit den den Filterparametern entsprechenden Charakteristiken auf der Grundlage des ersten Operationsalgorithmus aus. Des weiteren bildet er auf der Grundlage des zweiten Operationsalgorithmus eine Operationseinheit mit den den Nachhallparametern entsprechenden Charakteristiken und führt eine zeitgestaffelte Operation dieses Digitalfilters und der Operationseinheit und eine Parallelverarbeitung des Filter- und des Nachhallvorgangs durch.
  • Da das Digitalfilter, das die Filterung des Musiktonsignals durchführt, und die Operationseinheit, die den Musiktonsignal mit Nachhall belegt, parallel betrieben werden, kann die Nutzungseffizienz der Operatoren gesteigert werden und die Verarbeitung kann sehr zügig ausgeführt werden, sogar dann, wenn eine Vielzahl von Effekten beigegeben werden.
  • Kurze Beschreibungen der Zeichnungen
  • Fig. 1 zeigt ein Blockschaltbild des Aufbaus eines digitalen Musikinstruments einer erfindungsgemäßen bevorzugten Ausführungsform.
  • Fig. 2 zeigt ein Blockschaltbild des Aufbaus eines Operationssignalgenerators 10 in derselben bevorzugten Ausführungsform.
  • Fig. 3 zeigt ein Blockschaltbild des Aufbaus eines Rechenteils 5 in derselben bevorzugten Ausführungsform.
  • Fig. 4 zeigt ein Blockschaltbild des Aufbaus des Digitalfilters, das zeitgestaffelt im Rechenteil 5 betrieben wird.
  • Fig. 5 zeigt ein Blockschaltbild des Aufbaus einer Nachhalleffektschaltung, welche zeitgestaffelt im Rechenteil 5 betrieben wird.
  • Fig. 6 zeigt ein Blockschaltbild des Aufbaus einer Nachhalleffektschaltung für den Nachhalleffekt gemäß Fig. 5, wenn diese in Operationseinheiten unterteilt ist.
  • Fig. 7 zeigt ein Blockschaltbild des Aufbaus der Operationseinheit aus Fig. 6.
  • Fig. 8 zeigt ein Diagramm einer Zeittafel des Filter- und Nachhalleffektprozesses, der für jeden Tonerzeugungskanal Och-31 ch innerhalb einer Abtastperiode T ausgeführt wird.
  • Fig. 9 zeigt einen Zeitplan der Inhalte des Filtervorgangs, der im Tonerzeugungskanal Och durchgeführt wird.
  • Fig. 10 A, B zeigen einen Zeitplan der Steuerinhalte der Operationseinheit A.
  • Fig. 11 and 12 zeigen eine Zeitplan der Steuerinhalte der Operationseinheit B.
  • Detaillierte Beschreibung der bevorzugten Ausführungsformen (Erste bevorzugte Ausführungsform)
  • Nachfolgend werden die bevorzugten Ausführungsformen der vorliegenden Erfindung unter Bezug auf die Zeichnungen erklärt.
  • Die in der vorliegenden bevorzugten Ausführungsform erklärte Vorrichtung zur digitalen Signalverarbeitung wird in einem digitalen Musikinstrument als Effektor zur Durchführung eines Filterprozesses und eines Nachhalleffektprozesses verwendet, der nachfolgend erklärt wird.
  • (1) Gesamtaufbau
  • Fig. 1 zeigt ein Blockschaltbild des Aufbaus eines elektronischen Musikinstruments, das eine erfindungsgemäße Vorrichtung für digitale Signalverarbeitung verwendet. In der Figur bezeichnet die Bezugszahl 1 eine Tastaturschaltung. Diese Tastaturschaltung 1 erzeugt entsprechend der Bedienung der Tastatur durch einen Spieler Taste-EIN- Signale KON, Tastenkodes KC, Taste-AUS-Signale KOFF und dergleichen. Die Bezugszahl 2 bezeichnet eine Tonerzeugungszuweisungsschaltung, die das entsprechend eines Tastenanschlags erzeugte Musiktonsignal irgendeinem der Vielzahl der Tonerzeugungskanäle zuweist. Das erfindungsgemäße digitale Musikinstrument besitzt 32 Tonerzeugungskanäle.
  • Die Bezugszahl 3 bezeichnet einen Klangfarbenparameterbereitsteller, der Klangfarbenparameter liefert, die die zu erzeugenden Töne betreffen. Dieser Klangfarbenparameterbereitsteller 3 erzeugt beispielsweise Klangfarbenkodes NTC, die eine Klangfarbe (einen Klavierklang, Orgelklang, Violinenklang oder dergleichen) aus einer Klangfarbeninformation A, die nachfolgend beschreiben wird, bezeichnen, und er erzeugt Klangfarbenparameter, die Informationen bezeichnen, die nicht die durch die Klangfarbenkodes NTC ausgedrückten Klangfarben betreffen.
  • Die Bezugszahl 4 bezeichnet einen Tongenerator. Der Tongenerator 4 ist mit 32 Tonerzeugungskanälen 0-31 ch ausgestattet und erzeugt digitale Musiktonsignale in bezug auf jeden Tonerzeugungskanal durch zeitgestaffelten Betrieb. Die Bezugszahl 5 bezeichnet ein Rechenteil; dieses führt ein Filtervorgang in bezug auf vom Tongenerator 4 gelieferte Musiktonsignale durch und führt einen Nachhall in bezug auf die Ausgabesignale einer Panoramaschaltung 13, die nachfolgend erklärt wird, parallel und zeitlich gestaffelt durch. Dieses Rechenteil 5 wird nachfolgend detailliert erklärt.
  • Die Bezugszahl 6 bezeichnet ein Bedienungsfeld, das eine Vielzahl von Bedienungselementen aufweist; es erzeugt eine Einstellinformation entsprechend der Einstelloperationen, die diesen Bedienungselementen eingegeben werden, und liefert diese Einstellinformationen an das Einstellteil 7. Im Bedienungsfeld 6 sind verschiedene, in dem Schaltplan nicht bezeichnete Schalter vorgesehen, beispielsweise Klangfarbenauswählschalter und verschiedene Schalter zur Einstellung von Filtercharakteristiken oder Nachhalleffekt. Das Einstellteil 7 formt die Einstellinformationen mittels der Klangfarbennummern bezeichnenden Klangfarbeninformation A um und gibt diese aus.
  • Das Einstellteil 7 erzeugt außerdem Kenndaten entsprechend der kombinierten Inhalte der Filtercharakteristiken und des Nachhalls und liefert diese Daten dem Operationssignalgenerator 10.
  • Ein Filterselektor 8 erzeugt Adressensignale, die für das Auslesen des Steuerprogramms, das den Filtervorgang ausführt, nötig sind auf der Grundlage einer Klangfarbeninformation A aus dem Einstellteil 7 und übermittelt diese Adressensignale dem Operationssignalgenerator 10. Der Nachhallselektor 9 erzeugt Adressensignale, die für das Auslesen des Steuerprogramms, das einen Nachhalleffekt ausführt, nötig sind auf der Grundlage der Klangfarbeninformation A aus dem Einstellteil 7 und übermittelt diese Adressensignale dem Operationssignalgenerator 10. Der Operationssignalgenerator 10 bezeichnet die Operationen des im vorhergehenden beschriebenen Rechenteils 5; der Aufbau desselben wird nachfolgend beschrieben.
  • Die Musiktonsignale der 32 Kanäle, bei denen der Filtervorgang jedes einzelnen im Rechenteil 5 durchgeführt wird, werden dann einem Hüllkurvengenerator 11 einzeln zugeführt. Der Hüllkurvengenerator 11 erzeugt eine Hüllkurvenwellenform, multipliziert diese mit einem eingegebenen Musiktonsignal und gibt das Ergebnis aus. Die mit den Hüllkurvenwellenformen derart versehenen Musiktonsignale werden dann an einen Akkumulator 12 weitergegeben und gespeichert.
  • Die Bezugszahl 13 bezeichnet eine Panoramaschaltung; sie spaltet ein eingegebenes Signal in ein linkes und rechtes Stereosignal auf und gibt diese an das Rechenteil 5 weiter. Im Rechenteil 5 werden das linke und rechte Signal mit Nachhalleffekten versehen, und diese Signale werden in einem Digital/Analog-Wandler 14 in analoge Signale konvertiert. Diese analogen Signale werden dann als Musiktöne als die Ausgabe des digitalen Musikinstruments mittels zweier unterschiedlicher Lautsprecher 15 erzeugt.
  • (2) Aufbau des Operationsgenerators 10
  • In Fig. 2 wird nun der Aufbau des Operationsgenerators 10 erklärt. Die von dem Filterselektor 8 erzeugten Adressensignale werden dem Filterparameterbereitsteller 20&sub1; und der Auslesesteuerschaltung 21&sub1; zugeführt. Der Filterparameterbereitsteller 20&sub1; generiert die Parameter FLT-Q FLT-fc und eine Adresse FLT-ad, die beim Filtern verwendet wird, aus der Klangfarbeninformation A und den Adressensignalen; anschließend modifiziert er diese Parameter und Adresse, so daß sie mit dem Taste- EIN-Signal KON synchron sind, und liefert diese dem Rechenteil 5 (siehe Fig. 1). Der Parameter FLT-Q bezeichnet den Resonanzwert des Filters, der Parameter FLT-fc bezeichnet die Grenzfrequenz des Filters, und die Adresse FLT-ad bezeichnet außerdem das Adressensignal, das beim Filterbetrieb erforderlich ist.
  • Die Bezugszahl 22&sub1; bezeichnet einen Steuersignalspeicher für den Filterprozeß. Dieser Speicher 22&sub1; speichert eine Vielzahl von Steuerprogrammen P1&sub1;, P1&sub2;, ... die den Filterprozeß ausführen. Die Steuerprogramme P1&sub1;, P1&sub2;, ... führen die zeitlich gestaffelte Steuerung der Auswahl verschiedener Selektoren und das Auslesen und Schreiben verschiedener Register im Rechenteil 5 durch. Die Lesesteuerschaltung 21&sub1; liest der Reihe nach den Adressensignalen entsprechende Steuerprogramme aus einem Filterselektor 8 aus.
  • Die vom Nachhallselektor 9 erzeugten Adressensignale werden an den Bereitsteller für Nachhallparameter 20&sub2; und an die Lesesteuerschaltung 21&sub2; geliefert. Der Bereitsteller für Nachhallparameter 20&sub2; erzeugt die Nachhallparameter REV-COEF und REV-VOL sowie die Adresse REV-ad aus den Adressensignalen, Kenndaten und der Klangfarbeninformation A und liefert diese Parameter und Adresse dem Rechenteil 5. Der Parameter REV-COEF stellt einen Nachhalloperationskoeffizienten dar, während der Parameter REV-VOL die Größe der Nachhallausgabe ausdrückt. Die Adresse REV-ad bezeichnet ein Adressensignal, das bei der Nachhalloperation erforderlich ist.
  • Die Bezugszahl 22&sub2; bezeichnet einen Steuersignalspeicher für den Nachhall. Dieser Speicher 22&sub2; speichert eine Vielzahl von Steuerprogrammen P2&sub1;, P2&sub2;, ..., welche den Nachhall ausführen. Die Steuerprogramme P2&sub1;, P2&sub2;, ... führen die zeitlich gestaffelte Steuerung der Auswahl der verschiedenen Selektoren und das Lesen und Schreiben in verschiedene Register im Rechenteil 5 durch. Die Lesesteuerschaltung 21&sub2; liest der Reihe nach die Steuerprogramme aus, die den durch den Nachhallselektor 9 zugeführten Adressensignalen entsprechen. Das Rechenteil 5 arbeitet demgemäß auf der Grundlage der Steuerprogramme, die mit Hilfe der im vorhergehenden erwähnten Lesesteuerschaltungen 21&sub1; und 21&sub2; ausgelesen werden.
  • (3) Aufbau des Rechenteils 5
  • Nachfolgend wird in Fig. 3 der Aufbau des Rechenteils 5 erklärt. Dieses Rechenteil 5 führt den Filterprozeß in bezug auf die Musiktonsignale durch, die einem Eingabeanschluß FILT-IN zugeführt werden, und belegt Musiktonsignale mit Nachhalleffekten, die einem Eingabeanschluß REV-IN geliefert werden. Das Rechenteil 5 enthält die Selektoren 51-54, ein Filterregister 55, ein Nachhallregister 56, einen Volladdierer 57 und einen Multiplizierer 58.
  • Die Auswahlsteuerung der Selektoren 51-54 und der Lese/Schreib-Steuerung des Filterregisters 55 und des Nachhallregisters 56 werden, wie bereits erwähnt, mittels eines Operationssignalgenerators 10 durchgeführt. Die zum Zeitpunkt des Auslesens und Schreibens in dem Filterregister 55 und dem Nachhallregister 56 verwendeten Adressen werden mittels der von dem Bereitsteller für Nachhallparameter 20&sub1; übermittelten Adresse FLT-ad und der von dem Bereitsteller für Nachhallparameter 202 übermittelten Adresse REV-ad bestimmt. Die Bezugszeichen D&sub1; - D&sub9; bezeichnen Verzögerungselemente, die die Eingabe von Signalen um die einem Abtasttakt entsprechende Dauer verzögern und diese Signale dann ausgeben; das Bezugszeichen 3D bezeichnet ein Verzögerungselement mit einer 3 Abtasttakten entsprechenden Verzögerungsdauer. "1 Abtasttakt" entspricht hier der Dauer von 1 /256 der Abtastperiode T des digitalen Musikinstruments (dies wird nachfolgend detaillierter erklärt).
  • Das dem Eingabeanschluß FILT-IN übermittelte Musiktonsignal wird dem Eingabeanschluß B des Selektors 52 zugeführt. Die Ausgabe des Selektors 52 wird dem Eingabeanschluß A des Volladdierers 57 über das Verzögerungselement D&sub1; eingegeben. Die Ausgabe des Volladdierers 57 wird dem Hüllkurvengenerator 11 (siehe Fig. 1) vom Ausgabeanschluß FILT-OUT über das Verzögerungselement D&sub2; geliefert und gelangt über den Ausgabeanschluß REV-OUT an den Digital/Analog-Wandler 14 (siehe Fig. 1). Ferner wird die Ausgabe des Volladdierers 57 an den Eingabeanschluß A des Selektors 51 übermittelt, sie gelangt an den Eingabeanschluß C des Selektors 52, sie wird über das Verzögerungselement D&sub3; an den Eingabeanschluß D des Selektors 52 übermittelt, sie gelangt an den Eingabeanschluß B des Selektors 53, sie wird über das Verzögerungselement D&sub4; an den Dateneingabeanschluß des Filterregisters 55 übermittelt und sie gelangt über das Verzögerungselement D&sub5; zum Dateneingabeanschluß des Nachhallregisters 56.
  • Die im vorhergehenden beschriebenen Parameter FLT-Q FLT-fc, REV-COEF und REV- VOL werden jeweils den Eingabeanschlüssen A, B, C, D des Selektors 54 eingegeben. Die Ausgabe des Selektors 54 wird über das Verzögerungselement D&sub6; einem Multiplizierer 58 als Multiplikationskoeffizient zugeführt. Die Ausgabe des Selektors 53 wird in den Multiplizierer 58 eingegeben, und die Ausgabe des Selektors 54, das heißt, der vorher beschriebene Multiplikationskoeffizient, wird dadurch multipliziert. Die Ausgabe des Multiplizierers 58 wird in Verzögerungselement 3D um 3 Abtasttakte verzögert und dann dem Eingabeanschluß B des Selektors 51 geliefert und an den Eingabeanschluß C desselben Selektors übermittelt, nachdem sie um 6 dB in einem Verstärker OP verstärkt worden ist.
  • Die Ausgabe des Selektors 51 wird an einen Eingabeanschluß des Exklusiv-ODER- Gatters 59 gegeben. Außerdem wird ein Addierer/Subtrahierer-Steuersignal SUB mit einem Wert 0 oder 1 an den anderen Eingabeanschluß des Exklusiv-ODER-Gatters 59 von dem Operationssignalgenerator 10 übermittelt. Dieses Addierer/Subtrahierer- Steuersignal SUB enthält die Steuersignale, die von den vorher beschriebenen Lese- Steuerschaltungen 211 und 212 ausgegeben werden.
  • Das Exklusiv-ODER-Gatter 59 gibt den Exklusiv-ODER-Wert der Ausgabe des Selektors 51 und des Addierer/Subtrahierer-Steuersignals SUB aus. Die Ausgabe dieses Exklusiv-ODER-Gatters 59 geht über das Verzögerungselement D&sub6; an den Eingabeanschluß B des Volladdierers 57. Ein 1-Bit-Signal innerhalb des Addierer- /Subtrahierer-Steuersignals SUB wird über das Verzögerungselement D&sub7; in den Volladdierer 57 als Übertragsignal (Überlaufsignal) eingespeist. Mittels diesem addiert der Volladdierer 57 die Signale, die in einen Eingabeanschluß A und einen Eingabeanschluß B eingegeben werden, und gibt diesen Wert aus, wenn jedes Bit des Addierer/Subtrahierer-Steuersignals SUB den Wert 0 hat. Wenn andererseits jedes Bit des Addierer/Subtrahierer-Steuersignafs SUB den Wert 1 hat, wird das an den Eingabeanschluß B übermittelte Signal von dem an den Eingabeanschluß A übermittelten Signal subtrahiert und das Ergebnis ausgegeben.
  • Das oben beschriebene linke Signal und das rechte Signal werden über den Eingabeanschluß REV-IN dem Eingabeanschluß A des Selektors 53 zugeführt. Dann werden die aus Filterregister 55 ausgelesenen Daten dem Eingabeanschluß A des Selektors 52 und über das Verzögerungselement D&sub8; dem Eingabeanschluß C des Selektors 53 zugeführt. Die aus dem Nachhallregister 56 ausgelesenen Daten werden über das Verzögerungselement D&sub9; dem Eingabeanschluß D des Selektors 53 zugeführt.
  • Die Adressen FLT-ad und REV-ad, welche die zum Zeitpunkt des Auslesens/Schreibens verwendeten Adressen bezeichnen, werden dem Filterregister 55 und dem Nachhallregister 56 von dem Filterparameterbereitsteller 20&sub1; und von dem Nachhallparameterbereitsteller 20&sub2;, welche in fig. 2 gezeigt sind, zugeführt.
  • Der Rechenteil 5 mit dem im vorhergehenden beschriebenen Aufbau arbeitet zeitlich gestaffelt als ein "Digitalfilter" und eine "Nachhalleffektschaltung". Das soll heißen, daß das Rechenteil 5 das Filtern in bezug auf die vom Tongenerator 4 übermittelten Musiktonsignale der 32 Kanäle durchführt und simultan den Ausgabesignalen der Panoramaschaltung 13 einen vorgegebenen Nachhall verleiht.
  • (4) Aufbau des Digitalfilters
  • Es wird nun der Aufbau des "Digitalfilters", das zeitlich gestaffelt im Rechenteil 5 ausgebildet ist, unter Bezug auf Fig. 4 erklärt. In Fig. 4 bezeichnen die Bezugszeichen S&sub1; - S&sub4; Addierer und die Bezugszeichen M&sub1; - M&sub3; Multiplizierer mit Multiplikationskoeffizienten K&sub1; - K&sub3;. Des weiteren bezeichnen die Bezugszeichen R&sub1; und R&sub2; Verzögerer mit Verzögerungsperioden, die der Abtastperiode T des digitalen Musikinstruments entsprechen. Diese Verzögerer R&sub1; und R&sub2; werden mittels Adressierens des Filterregisters 55 in dem Rechenteil 5 realisiert (dies wird nachfolgend im Detail erklärt).
  • Zuerst wird das Eingangssignal x(t) (t bezeichnet eine jeder Abtastperiode entsprechende Zahl 0, 1, 2, ...) des Digitalfilters zu dem Multiplikationsergebnis L&sub1; des Multiplizierers M&sub3; in dem Addierer S&sub1; addiert, und zudem wird das Additionsergebnis daraus zu dem Verzögerungsergebnis des Verzögerers R&sub1; in dem Addierer S&sub2; addiert. Zusätzlich wird das Additionsergebnis L&sub3; des Addierers S&sub2; in dem Multiplizierer M&sub1; mit dem Koeffizienten K&sub1; multipliziert und das Multiplikationsergebnis L&sub4; daraus wird dem Subtraktionseingabeanschluß (-) in dem Addierer S&sub3; zugeführt. Das Additionsergebnis L&sub5; des Addierers S&sub3; wird in dem Multipizierer M&sub2; mit dem Koeffizienten K&sub2; multipliziert, und das Multiplikationsergebnis L&sub6; daraus an einen Eingabeanschluß des Addierers S&sub4; und an den Additionseingabeanschluß (+) des Addierers S&sub3; und über den Verzögerer R&sub1; an den Eingabeanschluß des Multiplizierers M&sub3; gegeben.
  • Zusätzlich wird das Additionsergebnis L&sub7; des Addierers S&sub4; als ein durch das Digitalfilter gefiltertes Ausgabesignal X(t) ausgegeben und an den anderen Eingabeanschluß des Addierers S&sub4; und über den Verzögerer R&sub2; zum anderen Eingabeanschluß des Addieres S&sub2; zurückgeschickt.
  • Wenn das Additionsergebnis des Addierers S&sub3; y(t) ist, können die Verzögerungsergebnisse die Verzögerer R&sub1; und R&sub2; in dem Digitalfilter mit diesem Aufbau durch y(t-1) und X(t-1) ausgedrückt werden und außerdem ist es möglich, verschiedene Ausgabedaten in der folgender Weise zu beschreiben.
  • (1) Multiplikationsergebnis L&sub1; des Multiplizierers M&sub3; = K&sub3; · y(t-1) ... (Gleichung 1)
  • (2) Additionsergebnis L&sub2; des Addierers S&sub1; = L&sub1; + X(t) ... (Gleichung 2)
  • (3) Additionsergebnis L&sub3; des Addierers S&sub2; = L&sub2; + X(t-1) ... (Gleichung 3)
  • (4) Multiplikationsergebnis L&sub4; des Multiplizierers M&sub1; = K&sub1; · L&sub3; ... (Gleichung 4)
  • (5) Additionsergebnis L&sub5; des Addierers S&sub3; = y(t) = y(t-1) - L&sub4; ... (Gleichung 5)
  • (6) Multiplikationsergebnis L&sub6; des Multiplizierers M&sub2; = K&sub2; · y(t) = K&sub2; · L&sub5; ... (Gleichung 6)
  • (7) Additionsergebnis L&sub7; des Addierers S&sub4; = X(t) = L&sub6; + X(t-1) ... (Gleichung 7)
  • (5) Aufbau der Nachhalleffektschaltung
  • Nachfolgend wird der Aufbau der Nachhalleffektschaltung, die zeitlich gestaffelt in dem Rechenteil 5 gebildet wird, bezugnehmend auf Fig. 5 erklärt. In der Zeichnung weist die Nachhalleffektschaltung im allgemeinen einen Initialechogenerator 60 und einen Nachhalltongenerator 61 auf. Dieser Initialechogenerator 60 bildet ein Initialecho, das die erste Hälfte der zu simulierenden Nachhallcharakteristiken darstellt. Der Nachhalltongenerator 61 bildet im Gegensatz dazu einen Endnachhallton, der die zweite Hälfte der zu simulierenden Nachhallcharakteristiken darstellt, die sich an das Initialecho anschließt.
  • In Fig. 5 bezeichnen die Bezugszeichen KC&sub1;-KC&sub2;&sub4; Multiplizierer, die eingegebene Signale jeweils mit den Koeffizienten C&sub1;-C&sub2;&sub4; multiplizieren und diese Werte ausgeben. Die Bezugszeichen T&sub1;-T&sub7; bezeichnen Addierer, die jeweils die Additionsergebnisse TC&sub1;-TC&sub7; ausgeben. Ferner kennzeichnen die Bezugszeichen DM&sub1;-DM&sub3; Verzögerer, die die eingegebenen Signale um eine vorgegebene Zeit verzögern bevor diese ausgeben werden. Die Verzögerer DM&sub1;-DM&sub3; enthalten jeweils ein Einfachschieberegister und verschieben die eingeschriebenen Daten der Reihe nach in jeder Abtastperiode T.
  • Im Verzögerer DM&sub1; wird demgemäß das Additionsergebnis TC&sub7; in eine Adresse A&sub1; geschrieben und nach dem Ablauf einer vorgegebenen Verzögerungsperiode wird dieses in den Adressen A&sub2; bis A&sub1;&sub0; gelesen, und dabei können Verzögerungsdaten DC&sub2;-DC&sub1;&sub0; mit einer vorgegebenen Verzögerungszeit in bezug auf das Additionsergebnis TC&sub7; erzeugt werden. In den Verzögerern DM&sub2; und DM&sub3; werden in der gleichen Weise die Additionsergebnisse TC&sub5; und TC&sub6; jeweils in die Adresse A&sub1; und A&sub2; geschrieben, und nach Ablauf einer vorgegebenen Verzögerungsperiode werden diese in die Adressen A&sub1;&sub2;-A&sub1;&sub4; und A&sub1;&sub6;-A&sub1;&sub8; gelesen, und dadurch können Verzögerungsdaten DC&sub1;&sub2;-DC&sub1;&sub4; und Verzögerungsdaten DC&sub1;&sub6;-DC&sub1;&sub8; mit einer vorgegebenen Verzögerungsperiode in bezug auf die Additionsergebnisse TC&sub5; und TC&sub6; erzeugt werden. Eine detaillierte Beschreibung folgt weiter unten.
  • Die in Fig. 5 gezeigte Nachhalleffektschaltung kann in die in Fig. 6 gezeigten Operationseinheiten 70-76 unterteilt werden. Die Operationen dieser Operationseinheiten 70-76 werden innerhalb einer Abtastperiode T ausgeführt, wodurch es möglich ist, den Nachhalleffekt durchzuführen.
  • Die Additionsergebnisse TC1-TC4 in den Operationseinheiten 72-76 werden temporär im Nachhallregister 56 (siehe Fig. 5) gespeichert, und die Additionsergebnisse TC&sub5;- TC&sub7; werden in dem gleichen Register gespeichert, um Verzögerungsdaten zu erzeugen. Wenn in den Operationseinheiten 70-72 zudem die Eingabe aus "X" besteht, kennzeichnet dies, daß nichts eingegeben ist; es wird jedoch ein Multiplikationskoeffizient "0" bereitgestellt, so daß die Ausgabe des entsprechenden Multiplizierers "0" wird. Diese Operationseinheiten 70-76 können weiter entweder in Operationseinheit A oder Operationseinheit B unterteilt werden, die nachfolgend beschrieben werden.
  • Fig. 7 zeigt ein Blockschaltbild des Aufbaus einer Operationseinheit A; diese entspricht den Operationseinheiten 70-74 aus Fig. 6. Analog zeigt Fig. 8 ein Blockschaltbild des Aufbaus einer Operationseinheit B; diese entspricht den Operationseinheiten 75 und 76 aus Fig. 6. Durch Reihenbetrieb dieser Operationseinheiten A und B kann die in Fig. 5 gezeigte Nachhalleffektschaltung auf äquivalente Weise gebildet werden.
  • Nachfolgend wird der Aufbau der Operationseinheit A erklärt, die den Operationseinheiten 70-74 entspricht. Wie in Fig. 7 gezeigt, werden die Eingabedaten E&sub1; mittels des Multiplizierers M&sub1; mit dem Multiplikationskoeffizient K&sub4; multipliziert, und das Multiplikationsergebnis L&sub1;&sub1; daraus wird einem Eingabeanschluß des Addierers S&sub5; zugeführt. Des weiteren werden die Eingabedaten E&sub2; in dem Multiplizierer S&sub5; mit dem Multiplikationskoeffizienten K&sub5; multipliziert, und das Multiplikationsergebnis L&sub1;&sub2; daraus wird an den anderen Eingabeanschluß des Addierers S&sub5; gegeben. In dem Addierer S&sub5; werden außerdem die Multiplikationsergebnisse L&sub1;&sub1; und L&sub1;&sub2; addiert, und das Additionsergebnis L&sub1;&sub3; daraus wird an einen Eingabeanschluß des Addierers S&sub6; gegeben. Der Eingabedatenwert E&sub3; wird mit dem Koeffizient K&sub6; in dem Multiplizierer M&sub6; multipliziert, und das Multiplikationsergebnis L&sub1;&sub4; wird dem anderen Eingabeanschluß des Addierers S&sub6; geliefert. In dem Addierer S&sub6; werden das Additionsergebnis L&sub1;&sub3; und Multiplikationsergebnis L&sub1;&sub4; addiert, und das Additionsergebnis L&sub1;&sub5; daraus wird einem Eingabeanschluß des Addierers S&sub7; zugeführt. Die Eingabedaten E&sub4; werden mit dem Koeffizient K&sub7; in dem Multiplizierer M&sub7; multipliziert, und das Multiplikationsergebnis L&sub1;&sub6; daraus wird dem anderen Eingabeanschluß des Addierers S&sub7; übermittelt. Zusätzlich werden das Additionsergebnis L&sub1;&sub5; und das Multiplikationsergebnis L&sub1;&sub6; addiert, und das Additionsergebnis L&sub1;&sub7; daraus wird als Ausgabedatenwert F&sub1; ausgegeben. Das heißt, die Eingabedaten E&sub1;-E&sub4; werden jeweils mit den Koeffizienten K&sub4;-K&sub7; in den Multiplizierern M&sub4;-M&sub7; multipliziert und die Summe der Multiplikationsergebnisse daraus wird als Ausgabedatenwert F&sub1; ausgegeben.
  • Die verschiedenen Daten der in Fig. 7 gezeigten Operationseinheit A entsprechen den sich verändernden Daten in den in Fig. 6 gezeigten Operationseinheiten 70-74. Die verschiedenen Daten in der Operationseinheit A haben beispielsweise in folgender Weise ihre Entsprechung in der Operationseinheit 70.
  • Die Eingabedaten E&sub1; entsprechen dem linken Signal, die Eigabedaten E&sub2; und E&sub3; entsprechen den Additionsergebnissen TC&sub1; und TC&sub3; und des weiteren entsprechen die Eingabedaten E&sub4; dem "X" (keine Eingabe, wie oben erklärt). Die Additionsergebnisse TC&sub1; und TC&sub3; werden vorübergehend im Nachhallregister 56 gespeichert, so daß das Auslesen in dem erforderlichen Zeittakt durchgeführt wird. Die Ausgabedaten F&sub1; entsprechen der linken Ausgabe, die an einen Digital/Analog-Wandler 14 als das linke Signal ausgegeben werden, welches mit einem Nachhalt belegt wurde.
  • Ebenso haben die verschiedenen Daten in der Operationseinheit A folgendermaßen ihre Entsprechung in der Operationseinheit 71. Das heißt, die Eingabedaten E&sub1; entsprechen dem rechten Signal, die Eigabedaten E&sub2; und E&sub3; entsprechen den Additionsergebnissen TC&sub2; und TC&sub4;, und des weiteren entsprechen die Eingabedaten E&sub4; "X". Außerdem entsprechen die Ausgabedaten F&sub1; der rechten Ausgabe und werden an einen Digital/Analog-Wandler (siehe Fig. 1) ausgegeben.
  • Des weiteren haben die verschiedenen Daten der Operationseinheit A folgendermaßen ihre Entsprechung in den Operationseinheiten 72-74. Das heißt, die Eingabedaten E&sub1; in der Operationseinheit A entsprechen dem linken Signal und den Verzögerungsdaten DC&sub2; bzw. DC&sub3; in den Operationseinheiten 72-74, die Eingabedaten E&sub2; entsprechen jeweils dem rechten Signal und den Verzögerungsdaten DC&sub4; und DC&sub5;, die Eingabedaten E&sub3; entsprechen jeweils "X" und den Verzögerungsdaten DC&sub6; und DC&sub7; und die Eingabedaten E&sub4; entsprechen jeweils "X" und den Verzögerungsdaten DC&sub8; und DC&sub9;. Die Verzögerungsdaten DC&sub2;-DC&sub9; werden ausgelesen und durch die Bestimmung der vorgegebenen Adressen von dem Nachhallregister 56 (siehe Fig. 3) ausgegeben. Zudem entsprechen die Ausgabedaten F&sub1; in der Operationseinheit A jeweils den Additionsergebnissen TC&sub7;, TC&sub1; und TC&sub3; in den Operationseinheiten 72-74, und diese werden in die vorgegebenen Adressen in dem Nachhallregister 56 geschrieben.
  • Nachfolgend wird der Aufbau der Operationseinheit B, die den Operationseinheiten 75 und 76 enspricht, erklärt.
  • Wie in Fig. 8 gezeigt, wird der Eingabedatenwert E&sub5; in dem Multiplizierer M&sub8; mit dem Koeffizient K&sub8; multipliziert und das Multiplikationsergebnis L&sub1;&sub8; daraus an einen Eingabeanschluß des Addierers S&sub8; gegeben. Des weiteren werden die Eingabedaten E&sub6; in dem Multiplizierer M&sub9; mit dem Koeffizient K&sub9; multipliziert und das Multiplikationsergebnis an den anderen Eingabeanschluß des Addierers S&sub8; gegeben. In dem Addierer S&sub8; werden dann die Multiplikationsergebnisse L&sub1;&sub8; und L&sub1;&sub9; addiert, und das Additionsergebnis L&sub2;&sub0; wird als Ausgabedaten F&sub2; ausgegeben. Die Eingabedaten E&sub7; und E&sub8; werden jeweils mit den Koeffizienten K&sub1;&sub0; und K&sub1;&sub1; in den Multiplizierern M&sub1;&sub0; und M&sub1;&sub1; multipliziert, und außerdem werden die Multiplikationsergebnisse L&sub2;&sub1; und L&sub2;&sub2; in dem Addierer S&sub9; addiert, und das Additionsergebnis L&sub2;&sub3; wird als Ausgabedaten F&sub3; ausgegeben.
  • Die Eingabedaten E&sub5;-E&sub8; in der Operationseinheit B entsprechen jeweils den Verzögerungsdaten DC&sub1;&sub0;, DC&sub1;&sub4;, DC&sub1;&sub0; und DC&sub1;&sub8; in der Operationseinheit 75, die in Fig. 6 gezeigt ist. Diese Eingabedaten entsprechen jeweils in der Operationseinheit 76 den Verzögerungsdaten DC&sub1;&sub2;, DC&sub1;&sub6;, DC&sub1;&sub3; und DC&sub1;&sub7;. Diese Verzögerungsdaten werden aus vorgegebenen Adressen in dem Nachhallregister 56 ausgelesen. Des weiteren entsprechen die Ausgabedaten F&sub2; und F&sub3; in der Operationseinheit B jeweils den Additionsergebnissen TC&sub5; und TC&sub6; in der Operationseinheit 75. Zudem entsprechen in der Operationseinheit 76 diese Ausgabedaten jeweils den Additionsergebnissen TC&sub3; und TC&sub4;, und diese Additionsergebnisse TC&sub3;-TC&sub6; werden in vorgegebene Register in dem Nachhallregister 56 geschrieben.
  • Nachfolgend werden die Operationen zum Zeitpunkt des Auslesens/Schreibens des Nachhallregisters 56 und das Prinzip des Erzeugens der verschiedenen Verzögerungsdaten DC&sub2;-DC&sub1;&sub0;, DC&sub1;&sub2;-DC&sub1;&sub4; und DC&sub1;&sub6;-DC&sub1;&sub8; mittels der Verzögerer DM&sub1;, DM&sub2; und DM&sub3; erklärt. Das in Fig. 5 gezeigte Additionsergebnis TC&sub7; wird in die Adresse A&sub1; des Verzögerers DM&sub1; geschrieben. Dies zeigt an, daß die Inhalte der Adresse REV-ad, die im Nachhallregister 56 in Fig. 3 bestimmt wurde, einen Wert "A&sub1;" hat. Das heißt, daß das Additionsergebnis TC&sub7; der Operationseinheit 72 in Fig. 6 in die Adresse A&sub1; in dem Nachhallregister 56 geschrieben wird. Ebenso werden die Additionsergebnisse TC&sub5; und TC&sub6; der Operationseinheit 75 in die Adressen A&sub1;&sub1; und A&sub1;&sub5; in dem Nachhall register 56 geschrieben.
  • Dann wird das Additionsergebnis TC&sub7;, das in die Adresse A&sub1; geschrieben ist, in die Adressen A&sub2;-A&sub1;&sub0; in den Operationseinheiten 73 -75 als Verzögerungsdaten DC&sub2;-DC&sub1;&sub0; eingelesen. Zu diesem Zeitpunkt kann die Beziehung zwischen Adresse A&sub1; und den Adressen A&sub2;-A&sub1;&sub0; folgendermaßen ausgedrückt werden.
  • A&sub2; = A&sub1; + d&sub2;,
  • A&sub3; = A&sub1; + d&sub3;,
  • ...,
  • A&sub1;&sub0; = A&sub1; + d&sub1;&sub0;.
  • Das Nachhallregister 56 ist ein Schieberegister, das die darin gespeicherten Daten in der ansteigenden Richtung der Adressen während jeder Abtastperiode T verschiebt. Das heißt, daß das in Adresse A&sub1; geschriebene Additionsergebnis TC&sub7; zu einer Adresse (A&sub1; + 1) nach einer Abtastperiode bewegt wird. Demzufolge sind die Verzögerungsdaten DC&sub2;, welche aus der Adresse A&sub2; (= A&sub1; + d&sub2;) ausgelesen wurden, Daten, die das Additionsergebnis TC&sub7; um eine Zeitspanne äquivalent zu d&sub2; · (Abtastperiode T) verzögern. Des weiteren sind die Verzögerungsdaten DC&sub3; - DC&sub1;&sub0; Daten, die die Additionsergebnisse TC&sub7; jeweils um eine Zeitspanne äquivalent zu (d&sub3;, d&sub4;, ..., d&sub1;&sub0;) · (Abtastperiode T) verzögern. Das Verzögerungsprinzip der Verzögerer DM&sub2; und DM&sub3; ist identisch mit dem von DM&sub1;.
  • Das Nachhallregister 56 kann ein Pseudoschieberegister sein, das durch Adressieren eines normalen RAM gebildet wird. In einem solchen Fall ist ein Zähler vorhanden, der den Endadressenwert des Nachhallregisters 56 in jeder Abtastperiode um "1" verringert. Das Ergebnis dieser Zählung wird zu den Adressen A&sub1; - A&sub1;&sub0; addiert. Dadurch wird, sogar wenn es erscheint, daß Schreiben/Auslesen in derselben Adresse durchgeführt worden ist, die aktuelle Adresse in jeder Abtastperiode bewegt.
  • Andererseits werden die Additionsergebnisse TC&sub1;, TC&sub2;, TC&sub3; und TC&sub4; der Operationseinheiten 73, 74 und 76 (siehe Fig. 6) zur zeitweiligen Speicherung in das Nachhallregister 56 geschrieben. Die dort an die Adresse REV-ad gegebenen Adressen sind jeweils A&sub1;&sub9;, A&sub2;&sub0;, A&sub2;&sub1; und A&sub2;&sub2;. Nachdem die Additionsergebnisse TC&sub1; - TC&sub4; jeweils in die Adressen A&sub1;&sub9; - A&sub2;&sub2; geschrieben worden sind, können die gleichen Additionsergebnisse ohne Verzögerung auszulesen werden, wenn das Auslesen von den gleichen Adressen A&sub1;&sub9; - A&sub2;&sub2; in der gleichen Abtastperiode durchgeführt wird. Dies tritt jedoch ein, falls Schreiben und Auslesen in dieser Reihenfolge in der gleichen Abtastperiode durchgeführt werden. Falls erst das Auslesen und dann das Schreiben durchgeführt wird, sind die ausgelesenen Daten diejenigen, die in der unmittelbar vorhergegangenen Abtastperiode geschrieben wurden; dies stellt jedoch kein Hindernis für den Nachhall dar.
  • Das Filterregister 55 weist ein Schieberegister oder ein mittels eines RAM gebildetes Pseudoschieberegister auf, und die Operationen zum Zeitpunkt des Auslesens/- Schreibens sind zu den Operationen des Nachhallregisters 56 identisch.
  • (6) Darstellung der Operationen
  • Bei einem digitalen Musikinstrument mit dem im vorhergehenden beschriebenen Aufbau erzeugt, wenn eine Taste auf der Tastatur von einem Spieler angeschlagen wird, eine Tastaturschaltung 1 ein Taste-EIN-Signal KON und einen Tastenkode KC, die der angeschlagenen Taste entsprechen, und liefert diese an eine Tonerzeugungszuordnungsschaltung 2. Dann sucht die Tonerzeugungszuordnungsschaltung 2 der Reihe nach nach unbesetzten Kanälen in dem Tongenerator 4, die zur Tonerzeugungzuordnung in der Lage sind, das heißt Kanäle, die sich in einem Tonerzeugungs-Stand-by-Status befinden. Zu diesem Zeitpunkt übergibt die Tonerzeugungszuordnungsschaltung 2 das Taste-EIN-Signal KON und den Tastenkode KC entsprechend an einen unbesetzten Kanal, wenn ein solcher Kanal gefunden wird, so daß ein Musiktonsignal erzeugt wird. Wenn andererseits kein unbesetzter Kanal vorhanden ist, wird der Kanal ausgewählt, in dem eine Tonerzeugung am weitesten vorangeschritten ist; es wird ein Abbruchvorgang ausgeführt, der diesen Kanal zwangsweise zum Entleeren bringt, und nachdem diesem Kanal eine Anweisung so ausgegeben wurde, daß eine gegenwärtige Tonerzeugung zum Abklingen gebracht wird (Dämpfungsprozeß), werden ein Taste-ElN-Signal KON und ein Tastenkode KC zugeführt. Ein Taste-EIN-Signal KON wird hier dem Hüllkurvengenerator 11 zugewiesen.
  • Der Klangfarbenparameterbereitsteller 3 erzeugt außerdem verschiedene Klangfarbenparameter, die den mittels der Klangfarbeninformation A gesetzten Klangfarben entsprechen, und übermittelt diese Parameter an den Tongenerator 4 und den Hüllkurvengenerator 11. Der Kanal in dem Tongenerator 4, der mittels der Tonerzeugungsschaltung 2 zugeordnet wurde, erzeugt dann ein Musiktonsignal mit einer Klangfarbe, die den zugelieferten Klangfarbenparametern entspricht, und mit einer Tonhöhe, die dem Tastenkode KC aus der Initialisierung des Taste-EIN-Signals KON entspricht. Auf diese Weise werden den 32 Kanälen entsprechende unterschiedliche Musiksignale in dem Tongenerator 4 erzeugt.
  • Ein Bedienungsfeld 6 liefert die Einstellinformation seiner Operationselemente an ein Einstellteil 7. Das Einstellteil 7 erzeugt die Klangfarbeninformation A, die eine Klangfarbennummer von dieser Einstellinformation angibt, und liefert diese an den Klangfarbenparameterbereitsteller 7, den Filterselektor 8, den Nachhallselektor 9 und den Operationssignalgenerator 10. Das Einstellteil 7 erzeugt zudem Spieldaten auf der Grundlage der Einstellinformation von dem Bedienungsfeldes 6, und liefert diese Spieldaten an den Operationssignalgenerator 10. Der Filterselektor 8 und der Nachhallselektor 9 erzeugen dann Adressensignale der Steuerprogramme, die ausgelesen werden sollen, auf der Grundlage der Klangfarbeninformation A.
  • Das heißt, daß der Filterselektor 8 das Steuerprogramm auswählt, das aus der Vielzahl der Steuerprogramme für die Filter P&sub1;, P&sub2;, ... mittels der Klangfarbeninformation A ausgelesen werden soll, und in Übereinstimmung mit dem Steuerabtasttakt wird die Adresse des Steuerprogramms jedesmal um einem Wert "1" aktualisiert. Wenn die Größe eines Steuerprogramms aus 256 Schritten besteht, wird der Steuerabtasttakt in Perioden geliefert, die 1 /256 einer Abtastperiode T entsprechen. Das heißt, daß der Zyklus eines Steuerprogramms in einer Abtastperiode vervollständigt wird. In gleicher Weise wird bei dem Nachhallselektor 9 das Steuerprogramm, das ausgelesen werden soll, aus der Vielzahl von Steuerprogrammen für den Nachhall P2&sub1;, P2&sub2;, ... mittels der Klangfarbeninformation A ausgewählt, und in Übereinstimmung mit dem Steuerabtasttakt wird die Adresse des Steuerprogramms um einen Wert "1" aktualisiert.
  • In Fig. 2 liefert der Filterparameterbereitsteller 20&sub1; die Filterparameter FLT-Q und FLT-fc in Reihenfolge auf der Grundlage einer Klangfarbeninformation A und in Entsprechung zu den Adressensignalen. Diese Filterparameter FLT-Q und FLT-fc werden mit dem ausgewählten Steuerprogramm für den Filtervorgang synchronisiert und werden so zugeführt, daß sie den Koeffizienten K&sub1; - K&sub3; (siehe Fig. 4) für jeden Kanal entsprechen.
  • In gleicher Weise liefert Nachhallparameterbereitsteller 20&sub2; die Nachhallparameter REV-COEF und REV-VOL in Reihenfolge auf der Grundlage der Klangfarbeninformation A und von Spieldaten in Entsprechung zu den Adressensignalen. Diese Nachhallparameter REV-COEF und REV-VOL werden mit dem ausgewählten Steuerprogramm für Nachhall synchronisiert und werden so zugeführt, daß sie den Koeffizienten K&sub4; - K&sub1;&sub1; (siehe Fig. 4) für jeden Kanal entsprechen.
  • Der Filtervorgang auf der Grundlage der im vorhergehenden beschriebenen entsprechenden Filterparameter wird im Rechenteil 5 für die Musiksignale der 32 Kanäle, die von dem Tongenerator 4 erzeugt wurden, durchgeführt, und nachfolgend werden diese Signale mit einer Hüllkurvenwellenform in dem Hüllkurvengenerator 11 multipliziert. Die so multiplizierten Signale werden zuerst in dem Akkumulator 12 akkumuliert, und dann werden diese Signale in einer Panoramaschaltung 13 in ein linkes Signal und ein rechtes Signal zur Stereoerzeugung getrennt. Daraufhin wird dieses linke Signal und das rechte Signal im Rechenteil 5 mit Nachhall belegt, und dann werden diese Signale in einem Digital/Analog-Wandler 14 in analoge Signale umgewandelt, und die Tonerzeugung erfolgt durch die Lautsprecher 15.
  • (7) Arbeitsweise des Rechenteils 5
  • Im Rechenteil 5, wie es im vorhergehenden beschrieben ist, wird ein Filtervorgang entsprechend der Musiktonsignale eines jeden mittels des Tongenerators 4 erzeugten Tonerzeugungskanals und ein Nachhalleffekt entsprechend der mittels der Panoramaschaltung 13 geteilten rechten und linken Signale durchgeführt; dieses werden innerhalb einer Abtastperiode T zeitlich gestaffelt und parallel durchgeführt.
  • Fig. 9 zeigt die Zeitsteuerungsverarbeitung des Filtervorgangs und des Nachhalleffekts, die in jedem Tonerzeugungskanal innerhalb einer Abtastperiode T ausgeführt wird. Wie in dem Diagramm gezeigt ist, ist eine Abtastperiode T in 32 gleiche Blöcke geteilt. Die Zahlen "0" - "31", die jedem Tonerzeugungskanal entsprechen, werden diesen Blöcken zugeordnet.
  • Der Filtervorgang, der für jeden Tonerzeugungskanal 0 - 31 ch durchgeführt wird, wird so ausgeführt, daß er in einer 3-Block-Periode um einen Block zeitlich versetzt wird. Das heißt, daß der für das Musiktonsignal in Kanal Och durchgeführte Filtervorgang während der 0-2-Block-Periode durchgeführt wird und, daß der für das Musiktonsignal in Kanal n ch (n ist eine ganze Zahl zwischen 0 und 31) durchgeführte Filtervorgang so durchgeführt wird, daß er im bezug auf die Verarbeitung des Kanals (n-1) ch um einen 1-Block zeitlich versetzt ist.
  • Die Verarbeitung jeder Operationseinheit 70-76, welche den Effekt des Nachhallens realisiert, wird so durchgeführt, daß sie innerhalb einer 3-Block-Periode um einen 1-Block zeitlich versetzt wird. Das heißt, daß beim Nachhalleffekt zuerst die Verarbeitung der Operationseinheit 70 unter Verwendung der Operationseinheit A in der 0-2-Block-Periode durchgeführt wird, und dann die Verarbeitung der Operationseinheit 71 mit einer 1-Block-Verzögerung in bezug auf die Verarbeitung der Operationseinheit 70 ausgeführt wird. In der gleichen Weise wird danach die Verarbeitung der Operationseinheit 74 unter Verwendung der Operationseinheit A mit einer 1-Block-Verzögerung in bezug auf die Verarbeitung der Operationseinheit 73 durchgeführt. Dann wird die Verarbeitung der Operationseinheit 75 unter Verwendung der Operationseinheit B mit einer 1-Block-Verzögerung in bezug auf der Operationseinheit 74 durchgeführt, und die Verarbeitung der Operationseinheit 76 wird mit einer 1-Block-Verzögerung in bezug auf die Verarbeitung der Operationseinheit 75 durchgeführt.
  • Die tatsächliche Verarbeitungszahl der Operationseinheiten, die in der Abtastperiode T einen Nachhalleffekt durchführen, ist 32. In dem Beispiel, das in der Abbildung gezeigt ist, wurde jedoch der Einfachheit halber die tatsächliche Verarbeitung auf die im vorhergehenden beschriebenen 7 Operationseinheiten 70-76 begrenzt.
  • In einer Abtastperiode T wird folglich ein 32 aufeinander folgende Blöcke aufweisendes Steuerprogramm ausgeführt. Dieses Steuerprogramm wird so ausgeführt, daß der Filtervorgang für die Musiktonsignale der Kanäle 0 - 31 ch und die Operationen der Operationseinheiten 70 - 76 um einen 1-Block in einer 3-Block- Periode zeitlich versetzt und somit überlagert werden.
  • (8) Arbeitsweise des Digitalfilters
  • Nachfolgend wird die Arbeitsweise des in Rechenteil 5 gebildeten Digitalfilters erklärt. Bei der Beschreibung dieser Arbeitsweise wird der Fall, in welchem der Filtervorgang für das Musiktonsignal des Kanals Och ausgeführt wird, beispielhaft verwendet. Fig. 10 zeigt ein Steuerprogramm, das den in Fig. 9 gezeigten Filtervorgang für das Musiktonsignal des Kanals Och ausführt, in Form einer Zeittafel. Zur noch detaillierteren Beschreibung wird zudem die Wahl der Selektoren 51-54 und die Steuerung des Filterregisters 55 in dem Rechenteil 5 als Zeittafel dargestellt. Die zeitliche Steuerung der Addition des Volladdierers 57 und der Multiplikation des Multiplizierers 58 stehen in keiner Beziehung zur Operation des Steuerprogramms; sie sind jedoch in der Zeittafel zur Vereinfachung der Erklärung gezeigt.
  • Wie in Fig. 10 gezeigt, weist dieses Steuerprogramm 3 Blöcke "0" - "2" auf. Jeder Block besteht aus 8 Schritten. Jeder Schritt wird in einer 1-Block-Periode ausgeführt. Folglich wird in einer Abtastperiode 1T ein Steuerprogramm mit 256 (32 Blöcke · 8 Abtasttakte) Schritten ausgeführt. Demzufolge wird das Steuerprogramm in einer Abtastperiode 1T durch das Liefern von 256 Abtasttakten ausgeführt. In einem Abtasttakt werden die Ziffen "0" - "7" in Reihenfolge den Blöcken zugeordnet. Um die Erklärung in folgendem zu vereinfachen, wird in dem Fall, in dem beispielsweise der fünfte Abtasttakt des ersten Blocks bezeichnet ist, als Abtasttakt 1-5 benannt.
  • Das Rechenteil 5 führt jede der nachfolgend beschriebenen Operationen [1]-[7] gemäß der in Fig. 10 gezeigten Zeittafel aus und ermittelt die Arbeitsergebnisse L&sub1; bis L&sub7; des Digitalfilters (siehe Fig. 4).
  • [1] Berechnung des Multiplikationsergebnisses L&sub1;
  • Zuerst wird, wie in Fig. 10 gezeigt, im Abtasttakt 0-3 die Adresse FLT-ad von dem Filterparameterbereitsteller 20&sub1; (siehe Fig. 2) als eine Ausleseadresse geliefert, und y(t-1), welches der Verzögerungsdatenwert des Verzögerers R&sub1; (siehe Fig. 4) ist, wird aus dem Filterregister 55 ausgelesen. Dieser Datenwert y(t-1) wurde als Verzögerung R&sub1; eine Abtastperiode vor der aktuellen Zeit t geschrieben. Das heißt, daß die Verzögerungen R&sub1; und R&sub2; unter Verwendung des Filterregisters 55 umgesetzt werden, und durch Auslesen der geschriebenen Daten nach der Periode 1T werden die Daten um eine Abtastperiode T verzögert. Die Daten y(t-1) werden durch das Verzögerungselement D&sub8; (siehe Fig. 3) um einen Abtasttakt zeitlich versetzt, so daß diese Daten während des Abtasttaktes 0-4 an den Selektor 53 gegeben werden.
  • Nachfolgend wählt der Selektor 53 im Abtasttakt 0-4 (siehe Fig. 9) den Eingabeanschluß C aus. Dadurch werden die Daten y(t-1) an den Multiplizierer 58 übermittelt.
  • Im Abtasttakt 0-3 wählt der Selektor 54 den Eingabeanschluß A. Die an diesen Eingabeanschluß A übermittelten Daten entsprechen dem Koeffizienten K&sub3; in Fig. 4, und in Abtasttakt 0-3 sind diese Daten der Parameter FLT-Q, der von dem Filterparameterbereitsteller 20&sub1; geliefert wird. Diese Daten werden während des Abtasttaktes 0-4 über das Verzögerungselement D&sub6; an den Multiplizierer 58 geliefert.
  • Während des Abtasttaktes 0-4 werden demzufolge die Daten y(t-1) und der Koeffizient K&sub3; an den Multiplizierer 58 übermittelt, so daß das in Gleichung 1 gezeigte Multiplikationsergebnis L&sub1; berechnet wird. Das Multiplikationsergebnis L&sub1; wird in Reihenfolge an den Eingabeanschluß C des Selektors 51 über das Verzögerungselement 3D und die Verstärker OP geliefert. Das heißt, daß das Multiplikationsergebnis L&sub1; um 6 dB während des Abtasttaktes 0-7 verstärkt wird und an den Eingabeanschluß C des Selektors 51 übermittelt wird.
  • [2] Berechnung des Additionsergebnisses L&sub2;
  • Im Abtasttakt 0-7 wählt der Selektor 51 Eingabeanschluß C, und Selektor 52 wählt Eingabeanschluß B. Durch die Wahl des Selektors 51 wird das Multiplikationsergebnis L&sub1; über das Exklusiv-ODER-Gatter 59 und das Verzögerungselement D&sub6; an den Eingabeanschluß B des Volladdierers 57 übermittelt. Des weiteren ist das dem Eingabeanschluß FILT-IN gelieferte Signal das Digitalfiltereingabesignal x(t), und dieses wird durch die Wahl des Selektors 52 über das Verzögerungselement D&sub1; an den Eingabeanschluß A des Volladdierers 57 gegeben.
  • Das Multiplikationsergebnis L&sub1; und das Eingabesignal x(t) werden hier jeweils über die Verzögerungselemente D&sub6; und D&sub1; so geliefert, daß sie während des Abtasttaktes 1- 0 an den Volladdierer 57 übermittelt werden. Demgemäß wird das in Gleichung 2 gezeigte Additionsergebnis L&sub2; berechnet.
  • [3] Berechnung des Additionsergebnisses L&sub3;
  • Dann wählt im Abtasttakt 1-1 der Selektor 51 den Eingabeanschluß A. Zu diesem Zeitpunkt wird das mittels des Volladdierers 57 im Abtasttakt 1-0 berechnete Additionsergebnis L&sub2; um einen Abtasttakt über das Verzögerungselement D&sub2; verzögert und an den Eingabeanschluß A des Selektors 51 übermittelt. Dadurch wird das Additionsergebnis L&sub2; über das Exklusiv-ODER-Gatter 59 und das Verzögerungselement D&sub6; an den Eingabeanschluß B des Volladdierers 57 übermittelt.
  • Im Abtasttakt 1-0 werden die Daten X(t-1) des Verzögerers R&sub2;, welche in der unmittelbar vorhergehenden Abtastperiode geschrieben wurden, aus dem Filterregister 55 ausgelesen. Diese Daten werden durch das Verzögerungselement D&sub8; um einen Abtasttakt verzögert, so daß sie im Abtasttakt 1-1 an den Eingabeanschluß A des Selektors 52 übermittelt werden. Der Selektor 52 wählt in Abtasttakt 1-1 den Eingabeanschluß A, so daß die Daten X(t-1) über das Verzögerungselement D&sub1; an den Eingabeanschluß A des Volladdierers 57 geliefert werden. Das heißt, daß das Additionsergebnis L&sub2; und die Daten X(t-1) jeweils über die Verzögerungselemente D&sub6; und D&sub1; so geliefert werden, daß sie in Abtasttakt 1-2 an den Volladdierer 57 geliefert werden. Dadurch wird das in Gleichung 3 gezeigte Additionsergebnis L&sub3; berechnet.
  • [4] Berechnung des Multiplikationsergebnisses L&sub4;
  • Nachfolgend wählt der Selektor 53 in Abtasttakt 1-3 den Eingabeanschluß B. Zu diesem Zeitpunkt wird das mittels des Volladdierers 57 im Abtasttakt 1-2 berechnete Additionsergebnis L&sub3; um einen Abtasttakt über das Verzögerungselement D&sub2; verzögert und an den Eingabeanschluß B des Selektors 53 übermittelt, so daß dieses Additionsergebnis an den Multiplizierer 58 geliefert wird.
  • In Abtasttakt 1-2 wählt der Selektor 54 den Eingabeanschluß B. Die an diesen Eingabeanschluß B übermittelten Daten entsprechen dem Koeffizienten K&sub1; in Fig. 4 und sind der Parameter FLT-fc, der von dem Filterparameterbereitsteller 20&sub1; in Abtasttakt 1-2 geliefert wird. Diese Daten werden in Abtasttakt 1-3 über das Verzögerungselement D&sub6; dem Multiplizierer 58 übergeben.
  • In Abtasttakt 1-3 werden demgemäß das Additionsergebnis L&sub3; und der Koeffizient K&sub1; an den Multiplizierer 58 übermittelt, so daß das in Gleichung 4 gezeigte Multiplikationsergebnis L&sub4; berechnet wird. Dieses Multiplikationsergebnis L&sub4; wird über das Verzögerungselement 3D ausgegeben, so daß es in Abtasttakt 1-6 an den Selektor 51 geliefert wird.
  • [5] Berechnung des Additionsergebnisses L&sub5;
  • Dann wählt der Selektor 51 in Abtasttakt 1-6 den Eingabeanschluß B. Folglich wird das Multiplikationsergebnis L&sub4; über das Exklusiv-ODER-Gatter 59 und das Verzögerungselement D&sub6; an den Eingabeanschluß B des Volladdierers 57 übermittelt. Zu diesem Zeitpunkt nimmt jedes Bit des Addierer/Subtrahierer-Steuersignals SUB einen Wert "1" an, so daß die Subtraktionsverarbeitung des Eingabeanschlusses (A-B) in dem Volladdierer 57 durchgeführt wird. Das Multiplikationsergebnis L&sub4; wird des weiteren über das Verzögerungselement D&sub6; geliefert, so daß es um einen Abtasttakt gegenüber Abtasttakt 1-6 verzögert ist und in Abtasttakt 1-7 an den Volladdierer 57 übermittelt wird.
  • In Abtasttakt 1-5 werden die Daten y(t-1) des Verzögerers R&sub1; wieder aus dem Filterregister 55 ausgelesen. Der Selektor 52 wählt in Abtasttakt 1-6 den Eingabeanschluß A. Die Daten y(t-1) werden über die Verzögerungselemente D&sub8; und D&sub1; in der Reihenfolge übermittelt, so daß diese Daten gegenüber Abtasttakt 1-5 um 2 Abtasttakte verzögert werden, das bedeutet, daß sie in Abtasttakt 1-7 an den Eingabeanschluß B des Volladdierers 57 geliefert werden.
  • Demgemäß werden in Abtasttakt 1-7 das Multiplikationsergebnis L&sub4; und die Daten y(t-1) an den Volladdierer 57 weitergegeben, so daß das in Gleichung 5 gezeigte Additionsergebnis L&sub5; berechnet wird. Dieses Additionsergebnis L&sub5; wird über das Verzögerungselement D&sub2; ausgegeben, so daß es in Abtasttakt 2-0 an den Selektor 53 geliefert wird. Des weiteren wird das Additionsergebnis L&sub5; über das Verzögerungselement D&sub4; übermittelt, so daß es in Abtasttakt 2-1 an den Dateneingabeanschluß des Filterregisters 55 gelangt. Zu diesem Zeitpunkt wird das Additionsergebnis L&sub5; in das Filterregister 55 als die Daten y(t) des Verzögerers R&sub1; zum gegenwärtigen Zeitpunkt T geschrieben.
  • Die als y(t) geschriebenen Daten werden hier in den Abtasttakten 0-3 und 1-5 als Daten y(t-1), die um einen 1-Abtasttakt verzögert wurden, ausgelesen. Das Filterregister 55 arbeitet als ein Schieberegister, so daß die Schreibadresse und die Leseadresse identisch sind. Das heißt, daß die von dem Filterparameterbereitsteller 201 gelieferte Adresse FLT-ad in den Abtasttakten 0-3,1-5 und 2-1 die gleichen Inhalte hat. Wie oben ausgeführt, ist das in der Tatsache begründet, daß die Reihenfolge des Schreibens und Lesens umgekehrt wird.
  • [6] Berechnung des Multiplikationsergebnisses L&sub6;
  • Nachfolgend wählt der Selektor 3 in Abtasttakt 2-0 den Eingabeanschluß B. Zu diesem Zeitpunkt wird das Additionsergebnis L&sub5; an den Eingabeanschluß B desselben Selektors übermittelt, so daß das Additionsergebnis dem Multiplizierer 58 geliefert wird.
  • In Abtasttakt 1-7 wählt der Selektor 54 den Eingabeanschluß B. Dadurch wird der vom Filterparameterbereitsteller 20&sub1; an den Eingabeanschluß übermittelte Parameter FLT-fc in Abtasttakt 2-0 über das Vezögerungselement D&sub6; dem Multiplizierer 58 geliefert. Dieser Parameter FLT-fc entspricht dem in Fig. 4 gezeigten Koeffizienten K&sub2;.
  • In Abtasttakt 2-0 werden demzufolge das Additionsergebnis L&sub5; und der Koeffizient K&sub2; dem Multiplizierer 58 übermittelt, so daß das in Gleichung 6 gezeigte Multiplikationsergebnis L&sub6; berechnet wird. Dieses Multiplikationsergebnis L&sub6; wird über das Verzögerungselement 3D zugeführt, so daß es in Abtasttakt 2-3 an den Selektor 51 geliefert wird.
  • [7] Berechnung des Additionsergebnisses L&sub7;
  • Im Abtasttakt 2-3 wählt nachfolgend der Selektor 51 den Eingabeanschluß B, und Selektor 52 wählt den Eingabeanschluß A. Zu diesem Zeitpunkt wird das Multiplikationsergebnis L&sub6; an den Selektor 51 geliefert, so daß dieses Multiplikationsergebnis über das Exklusiv-ODER-Gatter 59 und das Verzögerungselement D&sub6; an den Eingabeanschluß B des Volladdierers 57 gelangt. Das heißt, daß das Multiplikationsergebnis in Abtasttakt 2-4 an den Eingabeanschluß B des Volladdierers 57 übermittelt wird.
  • In Abtasttakt 2-2 werden die Daten X(t-1) des Registers R&sub2; wieder aus dem Filterregister 55 ausgelesen. Diese Daten werden über das Verzögerungselement D&sub8; übermittelt, so daß sie in Abtasttakt 2-3 zum Eingabeanschluß A des Selektors 52 gelangen. Zu diesem Zeitpunkt wählt der Selektor 52 den im vorhergehenden genannten Eingabeanschluß. Folglich werden die Daten X(t-1) über das Verzögerungselement D&sub1; so übermittelt, daß sie in Abtasttakt 2-4 an den Eingabeanschluß A des Volladdierers 57 geliefert werden.
  • In Abtasttakt 2-4 werden demgemäß das Multiplikationsergebnis L&sub6; und die Daten X(t-1) an den Volladdierer 57 weitergegeben, so daß das in Gleichung 7 gezeigte Additionsergebnis L&sub7; berechnet wird. Dieses Additionsergebnis L&sub7; wird über das Verzögerungselement D&sub2; übermittelt, so daß dieses von dem Ausgabeanschluß FILT- OUT in Abtasttakt 2-5 über das Verzögerungselement D&sub4; ausgegeben wird. Folglich wird dieses in Abtasttakt 2-6 an den Dateneingabeanschluß des Filterregisters 55 übermittelt.
  • Zu diesem Zeitpunkt wird das Additionsergebnis L&sub7; als Daten X(t) eines neuen Verzögerers R&sub2; in das Filterregister 55 geschrieben. Hier werden die als X(t) geschriebenen Daten in Abtasttakt 1-0 und Abtasttakt 2-2 mit einer Abtastperiodenverzögerung als Daten x(t-1) ausgelesen. Auch in diesem Fall sind jedoch die Schreibadresse und Ausleseadresse aus den gleichen Gründen identisch wie im oben beschriebenen Fall von y(t); das heißt, weil die Reihenfolge von Schreiben und Auslesen umgekehrt ist. Das heißt, daß in den Abtasttakten 1-0, 2-2 und 2-6 die von dem Filterparameterbereitsteller 20&sub1; bereitgestellte Adresse FLT-ad identische Inhalte hat.
  • Auf diese Weise wird mittels des in Fig. 9 gezeigten Steuerprogramms der Filtervorgang für das Musiktonsignal in Kanal Och in der Periode von Abtasttakt 0-0 bis Abtasttakt 2-7 durchgeführt.
  • Dann wird der Filtervorgang für das Musiktonsignal des Tonerzeugungskanals 1 ch derart durchgeführt, daß er in bezug auf die im vorhergehenden beschriebene und in Fig. 9 gezeigte Verarbeitung des Tonerzeugungskanals Och um einen Block zeitlich versetzt wird. Genauso wird der Filtervorgang für das Musiktonsignal eines Kanals n ch derart durchgeführt, daß er in bezug auf den Kanal (n-1) ch um einen Block zeitlich versetzt wird. Folglich schreitet beispielsweise in der Periode des in Fig. 9 gezeigten Blocks 2 der Filtervorgang der Musiksignale der Kanäle 0 - 2 ch simultan und ohne Behinderung voran.
  • Der Filteralgorithmus der 32 Kanäle ist für jeden Tonerzeugungskanal identisch. Unterschiedliche Filterparameter werden jedoch von dem Filterparameterbereitsteller 20&sub1; für jeden Tonerzeugungskanal so geliefert, daß ein individueller Filtervorgang für die Musiktonsignale der 32 Kanäle durchgeführt werden kann.
  • (9) Arbeitsweise der Nachhalleffektschaltung
  • Die Nachhalleffektschaltung wird durch eine zeitgestaffelte Operation der in Fig. 7 gezeigten Operationseinheiten A oder der in Fig. 8 gezeigten Operationseinheiten B realisiert. Zuerst wird die Arbeitsweise der Operationseinheit A bezugnehmend auf Fig. 10 erklärt. Zur Vereinfachung der Erklärung wird hier die Operationseinheit A anhand des Falles erläutert, in dem die Operationseinheiten 73 und 74 betrieben werden.
  • Fig. 10 zeigt eine Zeittafel eines Steuerprogramms zur Ausführung des Nachhalleffekts. Zur detaillierteren Beschreibung wird die Auswahl der Selektoren 51-54 und die Steuerung des Nachhallregisters 56 in dem Rechenteil 5 in Form einer Zeittafel dargestellt.
  • Die Operationseinheiten, welche die Nachhalleffektschaltung ausführen, weisen wie in dem im vorhergehenden beschriebenen Fall des Filtervorgangs 3 Blöcke "0" - "2" auf. Jeder Block besteht aus 8 Schritten (Abtasttakten). Das Rechenteil 5 führt die nachfolgend beschriebenen Operationen [1] bis [7] aus und erhält verschiedene Operationsergebnisse L&sub1;&sub1; - L&sub1;&sub7; der Operationseinheit A (siehe Fig. 7).
  • [1] Berechnung des Multiplikationsergebnisses L&sub1;&sub1;
  • Wie in Fig. 10 gezeigt, wählt im Abtasttakt 0-2 der Selektor 53 zuerst den Eingabeanschluß D. Zu diesem Zeitpunkt werden die Eingabedaten E&sub1;, die in Abtasttakt 0-1 aus dem Nachhallregister 56 ausgelesen wurden, über das Verzögerungselement D&sub9; an den Eingabeanschluß D des Selektors 53 übermittelt. Folglich werden diese Eingabedaten dem Multiplizierer 58 geliefert.
  • In Abtasttakt 0-1 wählt der Selektor 54 den Eingabeanschluß C. Zu diesem Zeitpunkt wird der Parameter REV-COEF von dem Nachhallparameterbereitsteller 20&sub2; an den Eingabeanschluß C als Koeffizient K&sub4; der Operationseinheit A übermittelt und wird in Abtasttakt 0-2 an den Multiplizierer 58 über das Verzögerungselement D&sub6; (siehe Fig. 3) geliefert.
  • Aufgrund dessen werden in Abtasttakt 0-2 der Koeffizient K&sub4; und die Eingabedaten E&sub1; an den Multiplizierer 58 übermittelt, und es wird ein Multiplikationsergebnis L&sub1;&sub1; berechnet, wobei L&sub1;&sub1; = K&sub4; · E&sub1;. Dieses Multiplikationsergebnis L&sub1;&sub1; wird über ein Verzögerungselement 3D so geliefert, daß es in Abtasttakt 0-5 an den Selektor 51 gelangt. Zu diesem Zeitpunkt wählt der Selektor 51 den Eingabeanschluß B und das Multiplikationsergebnis L&sub1;&sub1; wird zudem über das Verzögerungselement D&sub6; geliefert, so daß dieses Multiplikationsergebnis in Abtasttakt 0-6 dem Eingabeanschluß B des Volladdierers 57 zugeführt wird.
  • In Abtasttakt 0-5 wählt der Selektor 52 keinen Eingabeanschluß, so daß in Abtasttakt 0-6 nichts in den Eingabeanschluß A des Volladdierers 57 eingegeben wird. In Abtasttakt 0-6 addiert demgemäß der Volladdierer 57 nichts zum Multiplikationsergebnis L&sub1;&sub1; und gibt dieses aus. Das heißt, daß das Multiplikationsergebnis L&sub1;&sub1; unverändert ausgegeben wird. In diesem Fall ist in Abtasttakt 0-5 für den Selektor 52 auch zulässig, "0" zu wählen.
  • [2] Berechnung des Multiplikationsergebnisses L&sub1;&sub2;
  • In Abtasttakt 0-5 wählt Selektor 53 den Eingabeanschluß D. In Abtasttakt 0-4 werden die Eingabedaten E&sub2; aus dem Nachhallregister 56 ausgelesen. Dadurch gelangen diese Eingabedaten in Abtasttakt 0-5 an den Multiplizierer 58. Des weiteren wählt in Abtasttakt 0-4 der Selektor 54 den Eingabeanschluß C. Zu diesem Zeitpunkt ist der Parameter REV-COEF, der an Eingabeanschluß C übermittelt wird, der Koeffizient K&sub5; der Operationseinheit A, wie in Fig. 7 (1) gezeigt. Dadurch gelangt der Koeffizient K&sub5; in Abtasttakt 0-5 an den Multiplizierer 58.
  • In Abtasttakt 0-5 werden demgemäß der Koeffizient K&sub5; und die Eingabedaten E&sub2; an den Multiplizierer 58 übermittelt, und es wird ein Multiplikationsergebnis L&sub1;&sub2; berechnet, wobei L&sub1;&sub2; = K&sub5; · E&sub2;. Dieses Multiplikationsergebnis L&sub1;&sub2; wird über ein Verzögerungselement 3D so geliefert, daß es in Abtasttakt 1-0 zum Eingabeanschluß B des Selektors 51 gelangt.
  • [3] Berechnung des Additionsergebnisses L&sub1;&sub3;
  • In Abtasttakt 1-0 wählt der Selektor 51 den Eingabeanschluß B. Zu diesem Zeitpunkt wird das Multiplikationsergebnis L&sub1;&sub2; an den Eingabeanschluß B dieses Selektors übermittelt, und das Verzögerungselement D&sub6; wird mit der Ausgabe dieses Selektors verbunden. Folglich wird in Abtasttakt 1-1 das Multiplikationsergebnis L&sub1;&sub2; an den Eingabeanschluß B des Volladdierers 57 gegeben. In Abtasttakt 1-0 wählt der Selektor 52 den Eingabeanschluß D. Zu diesem Zeitpunkt wird das Multiplikationsergebnis L&sub1;&sub1; an den Eingabeanschluß D des Selektors 52 übermittelt. Dies ist so, weil das von dem Volladdierer 57 ausgegebene Multiplikationsergebnis L&sub1;&sub1; und der Abtasttakt 0-6 um zwei Abtasttakte durch die Verzögerungselemente D&sub2; und D&sub3; verzögert werden. Dadurch wird das Multiplikationsergebnis L&sub1;&sub1; von dem Selektor 52 durch das Verzögerungselement D&sub1; geliefert und wird in Abtasttakt 1-1 an den Eingabeanschluß A des Volladdierers 57 übermittelt.
  • Aufgrund dessen werden in Abtasttakt 1-1 die Multiplikationsergebnisse L&sub1;&sub1; und L&sub1;&sub2; an den Volladdierer 57 übermittelt und das Additionsergebnis L&sub1;&sub3; berechnet, wobei L&sub1;&sub3; = L&sub1;&sub1; + L&sub1;&sub2;.
  • [4] Berechnung des Multiplikationsergebnisses L&sub1;&sub4;
  • Auf dieselbe Weise wie im Falle der im vorhergehenden beschriebenen Berechnung der Multiplikationsergebnisse L&sub1;&sub1; und L&sub1;&sub2; wählt in Abtasttakt 0-7 der Selektor 53 den Eingabeanschluß D, und die Eingabedaten E&sub3; werden in Abtasttakt 0-6 aus dem Nachhallregister 56 ausgelesen. Die Eingabedaten E&sub3; werden dadurch in Abtasttakt 0- 7 an den Multiplizierer 58 übermittelt.
  • Des weiteren wählt der Selektor 54 in Abtasttakt 0-6 den Eingabeanschluß C. Zu diesem Zeitpunkt ist der an den Eingabeanschluß C gelieferte Parameter REV-COEF der Koeffizient K&sub6; der Operationseinheit A (siehe Fig. 7). Dadurch gelangt der Koeffizient K&sub6; in Abtasttakt 0-7 an den Multiplizierer 58.
  • Aufgrund dessen werden in Abtasttakt 0-7 der Koeffizient K&sub6; und die Registerdaten E&sub3; an den Multiplizierer 58 übermittelt, und es wird ein Multiplikationsergebnis L&sub1;&sub4; berechnet, wobei L&sub1;&sub4; = K&sub6; · E&sub3;. Dieses Multiplikationsergebnis L&sub1;&sub4; wird über das Verzögerungselement 3D geliefert, so daß es um drei Abtasttakte verzögert wird und in Abtasttakt 1-2 an den Eingabeanschluß B des Selektors 51 gelangt.
  • [5] Berechnung des Additionsergebnisses L&sub1;&sub5;
  • In Abtasttakt 1-2 wählt der Selektor 51 den Eingabeanschluß B. Zu diesem Zeitpunkt wird das Multiplikationsergebnis L&sub1;&sub4; an den Eingabeanschluß B dieses Selektors 51 übermittelt. Des weiteren wird das Verzögerungselement D&sub6; mit der Ausgabe dieses Selektors 51 verbunden, so daß das Multiplikationsergebnis L&sub1;&sub4; in Abtasttakt 1-3 an den Eingabeanschluß B des Volladdierers 57 gelangt.
  • In Abtasttakt 1-2 wählt der Selektor 52 den Eingabeanschluß C. Zu diesem Zeitpunkt wird das Additionsergebnis L&sub1;&sub3; an den Eingabeanschluß C desselben Selektors 52 übermittelt. Das ist so, weil das Additionsergebnis L&sub1;&sub3;, das von dem Volladdierer 57 in Abtasttakt 1-1 ausgegeben wurde, über das Verzögerungselement D&sub2; um einen Abtasttakt verzögert wird. Dadurch wird das Additionsergebnis L&sub1;&sub3; von dem Selektor 52 über das Verzögerungselement D&sub1; geliefert und gelangt in Abtasttakt 1-3 zum Eingabeanschluß A des Volladdierers 57. Aufgrund dessen werden in Abtasttakt 1-3 das Additionsergebnis L&sub1;&sub3; und das Multiplikationsergebnis L&sub1;&sub4; an den Volladdierer 57 übermittelt, und es wird ein zusätzliches Ergebnis L&sub1;&sub5; berechnet, wobei L&sub1;&sub5; = L&sub1;&sub3; + L&sub1;&sub4;.
  • [6] Berechnung des Multiplikationsergebnisses L&sub1;&sub6;
  • In gleicher Weise wie bei den Multiplikationsergebnissen L&sub1;&sub1;, L&sub1;&sub2; und L&sub1;&sub4; wählt der Selektor 53 in Abtasttakt 1-1 den Eingabeanschluß D, und in Abtasttakt 1-0 werden die Eingabedaten E&sub4; aus dem Nachhallregister 56 ausgelesen. Dadurch gelangen in Abtasttakt 1-1 die Eingabedaten E&sub4; an den Multiplizierer 58.
  • Des weiteren wählt der Selektor 54 in Abtasttakt 1-0 den Eingabeanschluß C. Zu diesem Zeitpunkt ist der an den Eingabeanschluß C gelieferte Parameter REV-COEF der Koeffizient K&sub7; der Operationseinheit A (siehe Fig. 7). Folglich wird der Koeffizient K&sub7; in Abtasttakt 1-1 an den Multiplizierer 58 geliefert.
  • Aufgrund dessen werden in Abtasttakt 1-1 der Koeffizient K&sub7; und die Eingabedaten E&sub4; an den Multiplizierer 58 übermittelt, und es wird ein Multiplikationsergebnis L&sub1;&sub6; berechnet, wobei L&sub1;&sub6; = K&sub7; · E&sub4;. Dieses Multiplikationsergebnis L&sub1;&sub6; wird über das Verzögerungselement 3D geliefert, so daß es in Abtasttakt 1-4 mit einer Verzögerung von 3 Abtasttakten an den Eingabeanschluß B des Selektors 51 geliefert wird.
  • [7] Berechnung des Additionsergebnisses L&sub1;&sub7;
  • In Abtasttakt 1-4 wählt der Selektor 51 den Eingabeanschluß B. Zu diesem Zeitpunkt wird das Multiplikationsergebnis L&sub1;&sub6; an den Eingabeanschluß B dieses Selektors 51 übermittelt. Des weiteren wird das Verzögerungselement D&sub6; mit der Ausgabe des Selektors 51 verbunden, so daß das Multiplikationsergebnis in Abtasttakt 1-5 an den Eingabeanschluß B des Volladdierers 57 geliefert wird.
  • In Abtasttakt 1-4 wählt der Selektor 52 den Eingabeanschluß C. Zu diesem Zeitpunkt wird das Additionsergebnis L&sub1;&sub5; an den Eingabeanschluß C des Selektors 52 geliefert. Das ist so, weil das vom Volladdierer 57 in Abtasttakt 1-3 ausgegebene Additionsergebnis L&sub1;&sub5; über das Verzögerungselement D&sub2; um einen Abtasttakt verzögert wird. Dadurch wird das Additionsergebnis von dem Selektor 52 über das Verzögerungselement D&sub1; geliefert, und wird in Abtasttakt 1-5 dem Eingabeanschluß A des Volladdierers 57 zugeführt.
  • In Abtasttakt 1-5 werden demgemäß das Additionsergebnis L&sub1;&sub5; und das Multiplikationsergebniss L&sub1;&sub6; an den Volladdierer 57 übermittelt, und ein Additionsergebnis L&sub1;&sub7; berechnet, wobei L&sub1;&sub7; = L&sub1;&sub5; + L&sub1;&sub6;. Das Additionsergebnis L&sub1;&sub7; wird über die Verzögerungselemente D&sub2; und D&sub5; um 2 Abtasttakte verzögert und in das Nachhallregister 56 als Ausgabedaten F&sub1; geschrieben.
  • Die Operationseinheit A, die jedes diese Operationsergebnisse L&sub1;&sub1; - L&sub1;&sub7; auf diese Weise erhält, entspricht den in Fig. 6 gezeigten Operationseinheiten 70-74, und, wie es in Fig. 9 gezeigt ist, werden diese in 3-Block-Perioden betrieben.
  • Wenn beispielsweise die Verarbeitung einer Operationseinheit 73 unter Verwendung einer Operationseinheit A durchgeführt wird, werden bei den Auslesezeitpunkten der Eingabedaten E&sub1; - E&sub4; in der Operationseinheit A die jeweils entsprechenden Verzögerungsdaten DC&sub2;, DC&sub4;, DC&sub6; und DCg aus dem Nachhallregister 56 ausgelesen. Dies wird mittels der Bestimmungsadressen A&sub2;, A&sub4;, A&sub6; und A&sub8; als Adresse REV-ad durchgeführt. Die Koeffizienten K&sub4; - K&sub7; des Parameters REV-COEF werden zudem als Koeffizienten C&sub5;, C&sub7;, C&sub9; und C&sub1;&sub1; in der Operationseinheit 73 bei jedem Zuführtakt geliefert. Des weiteren werden die Ausgabedaten F&sub1; der Operationseinheit A vorübergehend in dem Nachhallregister 56 als Additionsergebnis TC&sub1; der Operationseinheit 73 gespeichert.
  • Wenn die Verarbeitung der Operationseinheit 74 unter Verwendung einer Operationseinheit A durchgeführt wird, werden auf gleiche Art bei den Auslesezeitpunkten der Eingabedaten E&sub1; - E&sub4; in der Operationseinheit A jeweils die entsprechenden Verzögerungsdaten DC&sub3;, DC&sub5;, DC&sub7; und DC&sub9; aus dem Nachhallregister 56 ausgelesen. Dies wird mit Hilfe der Bestimmung der Adressen A&sub3;, A&sub5;, A&sub7; und A&sub9; als Adresse REV-ad durchgeführt. Die Koeffizienten K&sub4; - K&sub7;, die Parameter REV-COEF sind, werden bei jedem Zuführtakt als Koeffizienten C&sub6;, C&sub8;, C&sub1;&sub0; und C&sub1;&sub2; der Operationseinheit 74 geliefert. Dann werden die Ausgabedaten F&sub1; der Operationseinheit A vorübergehend in dem Nachhallregister 56 als Additionsergebnis TC&sub2; der Operationseinheit 74 gespeichert.
  • Nachfolgend werden die Operationen zum Zeitpunkt der Durchführung der Verarbeitung der Operationseinheiten 70-72 (siehe Fig. 6) mittels der Operationseinheit A erklärt. In diesem Fall liegen die Unterschiede zu den im vorhergehenden beschriebenen Operationseinheiten 73 und 74 darin, daß die Eingabedaten in der Operationseinheit A ein linkes Signal in den Operationseinheiten 70 und 72 und ein rechtes Signal in der Operationseinheit 71 aufweisen.
  • In der in Fig. 10 gezeigten Zeittafel wählt der Selektor 53 in Abtasttakt 0-2 den Eingabeanschluß D. Gemäß der im vorhergehenden erwähnten Unterschiede wählt der Selektor 53 jedoch bei der Durchführung der Verarbeitung der Operationseinheiten 70 -72 den Eingabeanschluß A. Zu diesem Zeitpunkt erzeugt die Panoramaschaltung 13 (siehe Fig. 1) ein linkes Signal, wenn die Operationseinheit 70 oder 72 ausgeführt wird, und ein rechtes Signal, wenn die Operationseinheit 71 ausgeführt wird, und übermittelt diese über den Eingabeanschluß REV-IN.
  • Wenn die Verarbeitung der Operationseinheit 72 durchgeführt wird, weisen die Eingabedaten E&sub2; in der Operationseinheit A ein rechtes Signal auf, und in Abtasttakt 0- 5 wählt der Selektor 53 den Eingabeanschluß A. In den Operationseinheiten 70-72 haben die Eingabedaten E&sub4; und der mit den Eingabedaten E&sub4; in der Operationseinheit A multiplizierte Multiplikationskoeffizient die Werte "X" bzw. "0".
  • Falls die Verarbeitung der Operationseinheiten 70-74 durch die Operationseinheit A dargestellt werden soll, wird in Abtasttakt 1-1 kein Selektionssignal an den Selektor 53 geliefert. In diesem Fall ist die Auswahl eines Eingabeanschlusses in dem Selektor 53 unbestimmt. In der vorliegenden bevorzugten Ausführungsform wird jedoch in Abtasttakt 1-0 der Wert des Koeffizienten K&sub7;, der als Parameter REV-COEF an den Eingabeanschluß C des Selektors 54 geliefert wird, in Übereinstimmung mit dem Multiplikationskoeffizienten in der Operationseinheit 70 auf "0" gesetzt. Folglich wird, weil der Koeffizient K&sub7; über das Verzögerungselement D&sub6; geliefert wird, dieser Koeffizient in Abtasttakt 1-1 an den Multiplizierer 58 übermittelt. Dadurch wird das Multiplikationsergebnis des Multiplizierers 58 "0", und das ist das Multiplikationsergebnis L&sub1;&sub5; in der Operationseinheit A.
  • In gleicher Weise haben die Eingabedaten E&sub3; der Operationseinheit A, die der Operationseinheit 72 entspricht, und der mit diesen Eingabedaten E&sub3; multiplizierte Multiplikationskoeffizient die Werte "X" bzw. "0". In diesem Fall wird in Abtasttakt 0-7 kein Selektionssignal an den Selektor 53 übermittelt, und in Abtasttakt 0-6 hat der Koeffizient K&sub6;, der als Parameter REV-COEF an den Eingabeanschluß C des Selektors 54 übermittelt wird, in Übereinstimmung mit dem Multiplikationskoeffizienten in der Operationseinheit 70 einen Wert "0". Folglich wird dieser Koeffizient über das Verzögerungselement D&sub6; zugeführt, so daß der Koeffizient in Abtasttakt 0-7 an den Multiplizierer 58 übermittelt wird, und das Multiplikationsergebnis des Multiplizierers 58 wird "0". Dies ist das Multiplikationsergebnis L&sub1;&sub4; in der Operationseinheit A.
  • In der vorliegenden Ausführungsform erhalten die Koeffizienten K&sub6; und K&sub7;, die als Parameter REV-COEF zugeführt werden, auf diese Weise bei ihren Zuführtakten die Werte "0", und dadurch wird die Verarbeitung der Eingabedaten "X" und des Multiplikationskoeffizienten "0" in den Operationseinheiten 70-72 durchgeführt.
  • Die Multiplikationskoeffizienten C&sub2;&sub3; und C&sub2;&sub4; in den Operationseinheiten 70 und 71 werden an die Multipliziereren TC&sub2;&sub3; und TC&sub2;&sub4; geliefert, die die Größe der linken und rechten Ausgabe festlegen, wie es der in Fig. 5 gezeigten Nachhalleffektschaltung zu entnehmen ist. Das heißt, daß bei der Verarbeitung der Operationseinheiten 70 und 71 mittels Operationseinheit A die Multiplikationskoeffizienten C&sub2;&sub3; und C&sub2;&sub4; nicht als Parameter REV-COEF, sondern eher als Koeffizient K&sub6; des Parameters REV-VOL übermittelt werden.
  • Bei der Darstellung der Verarbeitung der Operationseinheit 70 mittels der Operationseinheit A ist demgemäß die Situation zu der in Fig. 11 gezeigten unterschiedlich, da der Selektor 54 in Abtasttakt 0-6 den Eingabeanschluß D wählt, und in Abtasttakt 0-5 der Multiplikationskoeffizient C&sub2;&sub3; an den Eingabeanschluß D des Selektors 54 als Koeffizienten K&sub6; des Parameters REV-VOL übermittelt wird.
  • Wenn die Verarbeitung der Operationseinheit 71 mittels der Operationseinheit A ausgeführt wird, wählt in gleicher Weise der Selektor 54 den Eingabeanschluß D in Abtasttakt 0-6, und der Multiplikationskoeffizient C&sub2;&sub4; wird dem Eingabeanschluß D des Selektors 54 als Koeffizient K&sub6; des Parameters REV-VOL in Abtasttakt 0-5 geliefert.
  • Wenn die Verarbeitung unter Verwendung von Operationseinheit A durchgeführt wird, werden folglich auf diese Weise die Unterschiede der Operationseinheiten 70-74, die Auswahl der Selektoren 51-54 und die Schreib/Auslese-Steuerung des Nachhallregisters 56 grundsätzlich nach der in Fig. 11 gezeigten Zeittafel durchgeführt, und die Operationen der Operationseinheit A werden entsprechend den einzelnen Operationseinheiten 70-74 wiederholt durchgeführt.
  • Des weiteren bestimmt das Rechenteil 5 die Operationsergebnisse L&sub1;&sub8; - L&sub2;&sub3; der Operationseinheit B (siehe Fig. 8) entsprechend der in Fig. 12 gezeigten Zeittafel. Die Unterschiede zwischen dieser Zeittafel und den in Fig. 10 gezeigten Zeittafeln sind nachfolgend beschrieben.
  • a) In Abtasttakt 1-3 wird das Additionsergebnis L&sub2;&sub0; als Ausgabedaten F&sub2; in das Nachhhallregister 56 geschrieben.
  • b) In Abtasttakt 1-2 wird zum Multiplikationsergebnis L&sub2;&sub1; nichts hinzuaddiert, so daß der Selektor 52 nichts auswählt.
  • Im Gegensatz dazu verfährt das Rechenteil S entsprechend der Zeittafel in Fig. 12 in einer identischen Weise zu der der Operationseinheit A, und die Operationen der Operationseinheit B werden in Entsprechung zu den einzelnen Operationseinheiten 75 und 76 wiederholt durchgeführt.
  • Wie in Fig. 9 gezeigt, führt das Rechenteil 5 die Operationen der Operationseinheiten 70-76 nacheinander entsprechend den Operationseinheiten A und B aus. Das bedeutet, daß das Rechenteil 5 die Operationseinheit 70 in der Periode des Blocks 0-2, die Operationseinheit 71 mit einer Verzögerung von einem Block (8 Takten) und in gleicher Weise alle Operationseinheiten bishin zur Operationseinheit 76 ausführt. Das Rechenteil 5 führt demgemäß die Operationseinheiten 70-76 in einer Abtastperiode T aus, so daß der Nachhalleffekt in bezug auf die linken und rechten Signale der Panoramaschaltung 13 (siehe Fig. 1) durchgeführt wird.
  • Wie im vorhergehenden erklärt, führt das Rechenteil 5 den Filtervorgang und mittels der Operationseinheiten 70-76 den Nachhalleffekt in bezug auf die Musiktonsignale in den Kanälen 0-31 ch zeitlich gestaffelt und in einer Abtastperiode T durch. Wie es aus Fig. 10-12 klar hervorgeht, gibt es zu diesem Zeitpunkt keine Überlappung bei der Auswahlsteuerung der Selektoren 51-54, der Auslese/Schreib-Steuerung des Filterregisters 55 und der Auslese/Schreib-Steuerung des Nachhallregisters 56 in dem Rechenteil 5.
  • In dem in Fig. 9 gezeigten zweiten Block der Abtastperiode schreiten beispielsweise der Filtervorgang des Musiktonsignals der Kanäle 0 bis 2 ch und die Verarbeitung der Operationseinheiten 70-72 simultan voran. Der Operationszeittakt des Volladdierers 57 und des Multiplizierers 58 überlappt jedoch nicht auf dem Abtasttaktniveau. Dies wird durch Bereitstellen von Verzögerungselementen zwischen jedem Selektor 51 - 54, dem Volladdierer 57 und dem Multiplizierer 58 in dem Rechenteil 5 erreicht.
  • Der Filtervorgang wird zudem in Kanäle und der Nachhalleffekt in Operationseinheiten als eine Einheit des Operationsalgorithmus unterteilt, und diese Operationsalgorithmen werden derart ausgeführt, daß sie um eine festgelegte Periode verzögert werden.
  • Folglich ist es möglich, eine Vielzahl von eingegebenen Daten zeitlich gestaffelt so zu verarbeiten, daß es keine wechselseitige Behinderung gibt, und diese Daten auszugegeben. Der Filtervorgang und der Nachhalleffekt werden in dem gleichen Rechenteil 5 durchgeführt, so daß der Schaltungsaufbau vereinfacht wird.
  • (Zweite bevorzugte Ausführungsform)
  • In der im vorhergehenden beschriebenen Ausführungsform wurden nach dem Filtervorgang die Musiktonsignale mit Nachhall belegt. In dem Aufbau der vorliegenden bevorzugten Ausführungsform ist es jedoch möglich, Effekte wie Chor, Flanger, Verzerrung, Exiter oder dergleichen beizugeben, wenn der Inhalt des Steuerprogramms umgeschrieben wird.
  • Mit diesen Effekten kann nicht nur das gleiche Musiktonsignal belegt werden, sondern eine Vielzahl von unterschiedlichen Effekten können einer Vielzahl von unterschiedlichen Musiktonsignalen beigegeben werden. Es ist außerdem möglich, unterschiedliche Effekte parallel einem einzigen Musiktonsignal beizugeben.

Claims (9)

1. Digitalsignalprozessor, der eine Wellenformverarbeitung wiederholt auf der Grundlage von Arbeitstakten während jeder Abtastperiode von Musiktönen durchführt, wobei der Digitalsignalprozessor folgendes aufweist:
Musiktonsignalzuführmittel, um eine Gruppe von Musiktonsignalen, die ein Musiktonsignal oder mehrere Musiktonsignale enthält, zu liefern;
Parametererzeugungsmittel (20-1, 20-2) zur Erzeugung von Filterparametern, die eine Charakteristik eines Digitalfilters steuern, und Effektorparametern, die eine Charakteristik eines Effektors steuern;
Steuermittel (21-1, 21-2) zur Erzeugung eines ersten Steuersignals, das einen ersten Operationsalgorithmus des Digitalfilters steuert, ebenso wie eines zweiten Steuersignals, das einen zweiten Operationsalgorithmus des Effektors steuert; und
Rechnermittel (5), die mit Operationselementen, wie beispielsweise Multiplizierer, Addierer und Subtrahierer, ausgerüstet sind, um in mehreren Schritten, die Einheiten der Arbeitstakte entsprechen, einen digitalen Filterprozeß mit einer Charakteristik, die den Filterparametern entspricht, bei wenigstens einem Musiktonsignal der Gruppe der Musiktonsignale gemäß dem ersten Steuersignal zu bewirken, wobei die Rechnermittel auch in mehreren Schritten entsprechend den Einheiten der Arbeitstakte einen Effektorprozeß, der den Effektorparametern entspricht, bei wenigstens einem Musiktonsignal der Gruppe der Musiktonsignale gemäß dem zweiten Steuersignal bewirken, dadurch gekennzeichnet, daß das erste Steuersignal und das zweite Steuersignal den Rechnermitteln (5) für jeden Arbeitstakt alternierend zugeführt werden, wobei für jeden der Schritte einige der Operationselemente der Rechnermittel (5) für den digitalen Filterprozeß erforderlich sind, wogegen andere Operationselemente für den digitalen Filterprozeß nicht simultan erforderlich sind, und die nicht für den digitalen Filterprozeß erforderlichen Operationselemente wenigstens zum Teil in den jeweiligen Schritten für den Effektorprozeß gebraucht werden, wobei eine virtuelle Parallelverarbeitung des digitalen Filterprozesses und des Effektorprozesses durchgeführt wird.
2. Digitalsignalprozessor nach Anspruch 1, bei dem ein Musiktonsignal der Gruppe der Musiktonsignale einer Vielzahl von Kanälen entspricht, die nach einer Zeitteilungsweise arbeiten; und der digitale Filterprozeß für die Musiktonsignale jedes Kanals unabhängig durchgeführt wird, wobei unterschiedliche Filterkoeffizienten für jeden Kanal verwendet werden.
3. Digitalsignalprozessor nach Anspruch 1, bei dem die Prozesse, die jeweils auf der Grundlage der ersten und zweiten Steuersignale durchgeführt werden, parallel, verteilt über eine Abtastperiode durchgeführt werden.
4. Digitalsignalprozessor nach Anspruch 1, bei dem jede Abtastperiode in eine Vielzahl von Blöcken unterteilt ist, so daß die ersten und zweiten Steuersignale in jedem Block der Abtastperiode einem Parallelverarbeitungsvorgang unterzogen werden.
5. Digitalsignalprozessor nach Anspruch 4, bei dem ein digitaler Signalprozeß gemäß dem ersten Steuersignal in jedem Block der Abtastperiode durchgeführt wird, so daß eine Vielzahl von digitalen Signalprozessen in einer Abtastperiode durchgeführt wird.
6. Digitalsignalprozessor nach Anspruch 5, der außerdem Filterbestimmungsmittel zur Erzeugung von Filterbestimmungsdaten (8) aufweist, wobei die Steuermittel (221) eine Vielfalt von ersten Steuersignalen erzeugen, so daß die Rechnermittel digitale Filterprozesse verschiedener Algorithmen gemäß der Vielfalt der ersten Steuersignale ausführen.
7. Digitalsignalprozessor nach Anspruch 4, bei dem eine Operationseinheit gemäß dem zweiten Steuersignal in jedem Block der Abtastperiode ausgeführt wird, so daß eine Vielzahl von Operationseinheiten in einer Abtastperiode ausgeführt wird.
8. Digitalsignalprozessor nach Anspruch 7, bei dem eine Durchführung des Effektorprozesses durch Verbinden der Vielzahl der Operationseinheiten, die in einer Abtastperiode durchgeführt werden, gemäß dem zweiten Steuersignal ausgeführt wird.
9. Digitalsignalprozessor nach Anspruch 8, der außerdem Effektorbestimmungsmittel (9) zur Erzeugung von Effektorbestimmungsdaten aufweist, wobei die Steuermittel (22&sub2;) eine Vielfalt von zweiten Steuersignalen erzeugen, so daß die Rechnermittel (5) die Art der Verbindung der Vielzahl der Operationseinheiten im Ansprechen auf die Vielfalt der zweiten Steuersignale ändern, um so Effektorprozesse von unterschiedlichen Algorithmen durchzuführen.
DE69321650T 1992-03-10 1993-03-05 In elektronischen Musikinstrumenten verwendete Vorrichtung zur Verarbeitung von digitalen Signalen Expired - Lifetime DE69321650T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP5189892 1992-03-10
JP5035862A JP2565073B2 (ja) 1992-03-10 1993-02-24 ディジタル信号処理装置

Publications (2)

Publication Number Publication Date
DE69321650D1 DE69321650D1 (de) 1998-11-26
DE69321650T2 true DE69321650T2 (de) 1999-06-24

Family

ID=26374872

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69321650T Expired - Lifetime DE69321650T2 (de) 1992-03-10 1993-03-05 In elektronischen Musikinstrumenten verwendete Vorrichtung zur Verarbeitung von digitalen Signalen

Country Status (5)

Country Link
US (1) US5498835A (de)
EP (1) EP0568789B1 (de)
JP (1) JP2565073B2 (de)
DE (1) DE69321650T2 (de)
SG (1) SG52797A1 (de)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3208990B2 (ja) * 1994-04-27 2001-09-17 ヤマハ株式会社 信号処理装置
JP3019767B2 (ja) * 1995-12-28 2000-03-13 ヤマハ株式会社 デジタル信号処理装置
JP3582809B2 (ja) * 1996-03-12 2004-10-27 ローランド株式会社 効果装置
US6096960A (en) * 1996-09-13 2000-08-01 Crystal Semiconductor Corporation Period forcing filter for preprocessing sound samples for usage in a wavetable synthesizer
US5917917A (en) * 1996-09-13 1999-06-29 Crystal Semiconductor Corporation Reduced-memory reverberation simulator in a sound synthesizer
JP3271532B2 (ja) * 1996-10-29 2002-04-02 ヤマハ株式会社 電気弦楽器の音像定位装置
US5824936A (en) * 1997-01-17 1998-10-20 Crystal Semiconductor Corporation Apparatus and method for approximating an exponential decay in a sound synthesizer
US6088461A (en) * 1997-09-26 2000-07-11 Crystal Semiconductor Corporation Dynamic volume control system
US6091824A (en) * 1997-09-26 2000-07-18 Crystal Semiconductor Corporation Reduced-memory early reflection and reverberation simulator and method
US6483922B1 (en) 1998-04-13 2002-11-19 Allen Organ Company Method and system for generating a simulated reverberation audio signal
JP2004240681A (ja) * 2003-02-05 2004-08-26 Fujitsu Ltd 共同購入サービス提供装置および共同購入サービス提供方法
JP2005347946A (ja) * 2004-06-01 2005-12-15 Matsushita Electric Ind Co Ltd 信号処理装置
EP2602787B1 (de) * 2011-12-09 2017-03-29 Yamaha Corporation Signalverarbeitungsvorrichtung

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5850595A (ja) * 1981-09-22 1983-03-25 ヤマハ株式会社 効果付加装置
US4803731A (en) * 1983-08-31 1989-02-07 Yamaha Corporation Reverbation imparting device
US4706291A (en) * 1985-06-25 1987-11-10 Nippon Gakki Seizo Kabushiki Kaisha Reverberation imparting device
SG52632A1 (en) * 1986-05-02 1998-09-28 Univ Leland Stanford Junior Tone generation system
JPH0766675B2 (ja) * 1987-07-14 1995-07-19 株式会社東芝 プログラマブルrom
US4998281A (en) * 1987-08-20 1991-03-05 Casio Computer Co., Ltd. Effect addition apparatus
KR940001090B1 (ko) * 1987-10-02 1994-02-12 야마하 가부시끼가이샤 악음신호 발생장치
JP2699570B2 (ja) * 1989-09-01 1998-01-19 ヤマハ株式会社 電子楽器
JP2508340B2 (ja) * 1990-02-14 1996-06-19 ヤマハ株式会社 楽音波形信号形成装置
US5410603A (en) * 1991-07-19 1995-04-25 Casio Computer Co., Ltd. Effect adding apparatus

Also Published As

Publication number Publication date
JPH0612069A (ja) 1994-01-21
EP0568789A3 (de) 1994-02-09
EP0568789A2 (de) 1993-11-10
EP0568789B1 (de) 1998-10-21
SG52797A1 (en) 1998-09-28
DE69321650D1 (de) 1998-11-26
US5498835A (en) 1996-03-12
JP2565073B2 (ja) 1996-12-18

Similar Documents

Publication Publication Date Title
DE3177313T2 (de) Elektronisches Musikinstrument
DE2350143C3 (de) Digitaler Tonsynthesizer für ein elektronisches Musikinstrument
DE69321650T2 (de) In elektronischen Musikinstrumenten verwendete Vorrichtung zur Verarbeitung von digitalen Signalen
DE3688600T2 (de) Musikinstrument mit digitalem Filter mit programmierten variablen Koeffizienten.
DE3856103T2 (de) Vorrichtung zur Erzeugung von Tonsignalen
DE2945901C2 (de) Elektronisches Musikinstrument
DE2404431C3 (de) Elektronisches Musikinstrument
DE69325336T2 (de) Gerät zum Beaufschlagen eines Signals mit einem Klangeffekt
DE2431161C2 (de) Tonerzeugungseinrichtung für ein elektronisches Musikinstrument
DE3887809T2 (de) Elektronisches Musikinstrument.
DE3689928T2 (de) Effektvorrichtung für elektronisches Musikinstrument.
DE2711511C2 (de) Polyphones elektronisches Musikinstrument
DE69517896T2 (de) Elektronisches Musikinstrument und Vorrichtung zum Hinzufügen von Klangeffekten zum Tonsignal
DE2920298A1 (de) Binaere interpolatorschaltung fuer ein elektronisches musikinstrument
DE3003385A1 (de) Elektronisches musikinstrument
DE69517263T2 (de) Vorrichtung zur Erzeugung von Tonsignalen
DE69934069T2 (de) Schalleffekt Addiergerät
DE69130339T2 (de) Vorrichtung zur Erzeugung einer Ton-Wellenform
DE69123328T2 (de) Gerät zur Schallfeldkompensation
DE2500720C3 (de) Elektronisches Musikinstrument
DE69032358T2 (de) Datenverarbeitungssystem für Audiosignale
DE3226637C2 (de) Vorrichtung zur Erzeugung eines künstlichen Nachhalls
EP0036074B1 (de) Syntheseschaltung für periodische Signale, insbesondere als Teil eines Musikinstruments
DE3226619C2 (de)
DE2513127C2 (de) Verfahren zum künstlichen Erzeugen eines musikalischen Klangs

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Representative=s name: KEHL & ETTMAYR, PATENTANWAELTE, 81679 MUENCHEN