DE69517896T2 - Elektronisches Musikinstrument und Vorrichtung zum Hinzufügen von Klangeffekten zum Tonsignal - Google Patents

Elektronisches Musikinstrument und Vorrichtung zum Hinzufügen von Klangeffekten zum Tonsignal

Info

Publication number
DE69517896T2
DE69517896T2 DE69517896T DE69517896T DE69517896T2 DE 69517896 T2 DE69517896 T2 DE 69517896T2 DE 69517896 T DE69517896 T DE 69517896T DE 69517896 T DE69517896 T DE 69517896T DE 69517896 T2 DE69517896 T2 DE 69517896T2
Authority
DE
Germany
Prior art keywords
sound
effect
signal
channels
channel
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
DE69517896T
Other languages
English (en)
Other versions
DE69517896D1 (de
Inventor
Kiyoshi Hasebe
Makoto Takahashi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP24483294A external-priority patent/JP3358324B2/ja
Priority claimed from JP7210996A external-priority patent/JP3050779B2/ja
Application filed by Yamaha Corp filed Critical Yamaha Corp
Application granted granted Critical
Publication of DE69517896D1 publication Critical patent/DE69517896D1/de
Publication of DE69517896T2 publication Critical patent/DE69517896T2/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/0091Means for obtaining special acoustic effects
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H7/00Instruments in which the tones are synthesised from a data store, e.g. computer organs
    • 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/08Circuits for establishing the harmonic content of tones, or other arrangements for changing the tone colour by combining tones
    • 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/18Selecting circuits
    • G10H1/183Channel-assigning means for polyphonic instruments
    • G10H1/185Channel-assigning means for polyphonic instruments associated with key multiplexing
    • G10H1/186Microprocessor-controlled keyboard and assigning means
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • General Engineering & Computer Science (AREA)
  • Electrophonic Musical Instruments (AREA)

Description

  • Die vorliegende Erfindung bezieht sich auf ein elektronisches Musikinstrument und einen Effektor, der ein Tonsignal mit einem gewünschten Effekt belegen kann.
  • Die vorliegende Erfindung bezieht sich auch auf Signalverarbeitung und insbesondere auf einen Signalprozessor zur Durchführung von Tonerzeugung und Tonsignalverarbeitung, die effiziente Verwendung eines Speicher, dynamische Auswahl eines Programms und dynamische Zuweisung eines Speichers ermöglicht.
  • Elektronische Musikinstrumente mit einem Effektor (Effektbeigebungsvorrichtung) sind generell bekannt, wobei sie so konzipiert sind, das Töne nach dem Beigeben eines oder mehrerer Effekte zu diesen über die Klangfarbe erzeugt werden. Zum Beispiel werden in solchen Instrumenten, die eine sogenannte Mehrfachtimbre-Tonquelle zur Erzeugung von mehreren Klangfarben verwenden, ein oder mehrere Effekte für jede Klangfarbe beigegeben.
  • Obgleich die bekannten elektronischen Musikinstrumente einen unterschiedlichen Effekt für jede Klangfarbe beigeben können, sind sie jedoch nicht in der Lage, den Effektbeigebungsmodus von ein und derselben Klangfarbe im Ansprechen auf Variationen bei der Taste-EIN- oder Taste-AUS-Ereignisfrequenz und bei einem Tastengeschwindigkeitswert zu variieren. Die frühreren Instrumente konnten den Effektbeigebungszeitpunkt für jeden Tonerzeugungskanal im Ansprechen auf Variationen bei der Taste-EIN- oder Taste-AUS-Ereignisfrequenz nicht getrennt variieren, noch konnten sie den Effektbeigebungsparameter für jeden Tonerzeugungskanal im Ansprechen auf Variationen bei dem Tastengeschwindigkeitswert getrennt steuern.
  • Digitalsignalprozessoren (nachfolgend als DSP bezeichnet) wurden herkömmlicherweise zum Zecke des Beigebens verschiedener Effekte zu Klängen oder Tönen oder der Erzeugung von Klängen oder Tönen verwendet. Neuerdings ist es für derartige DSP üblich, mehrere Prozesse in einer Abtastperiode durchzuführen. In Anbetracht der Tatsache, dass große Fortschritte in der LSI-Technik es möglich gemacht haben, bei derzeitigen DSP eine Signalverarbeitung in großem Maßstab durchführen, und der Programmumfang, der pro Abtastperiode abarbeitbar ist, beträchtlich zugenommen hat, gibt es zudem heute eine große Nachfrage nach verbesserten DSP, die außer nur der bloßen Durchführung von komplexer Verarbeitung irgendeins von mehreren unterschiedlichen Programmen entsprechend den Gegebenheiten in geeigneter Weise verwenden können.
  • Es bestehen außerdem die folgenden Probleme bei dem Verzögerungsspeicher, der zur Verzögerung von Daten verwendet wird, die von einem Programm zu verwenden sind.
  • Wenn mehrere Prozesse in einer Abtastperiode durchzuführen sind, dann müssen in dem Verzögerungsspeicher mehrere Speicherbereiche vorgesehen sein, die für jeden der mehreren Prozesse zu verwenden sind. Diese Bereiche sind in Position und Größe in dem Verzögerungsspeicher gewöhnlich fixiert. Diese Bereiche sind jedoch fest eingestellt, wobei die größtmögliche Datenmenge in die Überlegung einbezogen wird, viele Abschnitte der Bereiche werden tatsächlich jedoch nicht verwendet und somit wird eine effiziente Verwenden des Speichers nach dem Stand der Technik nicht erreicht. Es gibt zum Beispiel einen Effektor, der als ein sogenannter "Verzögerungseffektor" bezeichnet wird, zum Beigeben einer Zeitverzögerung auf ein Eingangssignal in Entsprechung zu einem Verzögerungsparameter, der charakteristischerweise über einen Bereich von 0,1 bis 5.000 ms variabel ist. Für das Beigeben eines solchen Verzögerungseffekts war es üblich, Speicherbereiche zuzuweisen, die der größtmöglichen Verzögerung von 5.000 ms entsprechen. Die größte Verzögerung wurde jedoch tatsächlich selten eingestellt; was tatsächlich verwendet wird, waren sehr oft viel kleinere Verzögerungen. Folglich wurden die meisten Teile der zugewiesenen Speicherbereiche in verschwenderischer Weise unbenützt gelassen.
  • Von den mehreren Prozessen können einige besondere Speicherbereichen überhaupt nicht verwenden, während andere fast jeden Speicherbereich zu verwenden haben. Es ist auch möglich, das die Verzögerungszeit mit der Frequenz des zu erzeugenden Tons variiert. Sogar in einem solchen Fall wurde jedoch eine feststehende Menge der Speicherbereiche unabhängig von der Frequenz in der üblichen Weise zugewiesen, und somit wurden einige zugewiesene Speicherbereiche unerwünschterweise verschwendet.
  • Es ist daher ein Ziel der vorliegenden Erfindung ein elektronisches Musikinstrument zu schaffen, das für jeden Tonerzeugungskanal getrennt einen Effektbeigebungszeitpunkt einstellen und einen Effektbeigebungsparameter steuern kann.
  • Es ist ein weiteres Ziel der vorliegenden Erfindung einen Signalprozessor zu schaffen, der irgendeinen von mehreren unterschiedlichen Prozessen in Entsprechung zu einer Spielinformation oder dergleichen auswählen kann.
  • Es ist außerdem ein weiteres Ziel der vorliegenden Erfindung, einen Signalprozessor zu schaffen, der einen durch ein Programm zu verwendenden Speicherbereich dynamisch bewegen kann, um so eine effiziente Verwendung des Speichers zu erreichen.
  • Es ist zudem ein weiteres Ziel der vorliegenden Erfindung, ein Verfahren oder eine Vorrichtung zum Löschen eines von einen Programm zu verwendenden Verzögerungsspeichers zu schaffen, ohne durch eine Programmausführung beeinflußt zu sein, um so zu ermöglichen, dass der Verzögerungsspeicher in gelöschtem Zustand für irgendeinen neuen Prozeß zu verwenden ist.
  • Um eines der vorher erwähnten Ziele zu erreichen, stellt die vorliegende Erfindung ein elektronisches Musikinstrument bereit, das einen Tonquellenabschnitt zum unabhängigen Erzeugen von Tonsignalen in mehreren Kanälen desselben und einen Effektbeigebungsabschnitt zum Beigeben eines Effekts auf ein von den Tonquellenmitteln erzeugtes Tonsignal aufweist, dadurch gekennzeichnet, dass der Effektbeigebungsabschnitt in entsprechenden Beziehungen zu den Kanälen ausgestattet ist, so dass einzelne Effekte den jeweiligen Tonsignalen der Kanäle, die von dem Tonquellenabschnitt erzeugt werden, beigegeben werden und dass der Effektbeigebungsabschnitt einen Parameter des Effekts steuert, der dem Tonsignal des jeweiligen Kanals entsprechend der dem Tonsignal des jeweiligen Kanals zugehörenden Tonsteuerinformation beigegeben werden soll.
  • Gemäß dem so ausgelegten elektronischen Musikinstrument ist es möglich, einen optionalen Effekt für jeden Kanal unabhängig beizugeben und den Parameter des beizugebenden Effekts in Entsprechung zu der Tonsteuerinformation, die dem in diesem Kanal erzeugten Tonsignal zugehörig oder einzigartig ist, zu steuern, um so eine Effektbeigebung voll Variationsmöglichkeit zu ermöglichen. Eine ausdrucksvolle Effektbeigebung kann auch durch eine mannigfache Effektsteuerung auf der Grundlage der tonspezifischen Steuerinformation erreicht werden.
  • Beispielsweise kann die Tonsteuerinformation zur Steuerung des Effektparameters wenigstens eines von Taste-EIN- und Taste-AUS-Signalen, einem Geschwindigkeitssignal und einem Hüllkurvensignal aufweisen, und der zu steuernde Effektparameter kann wenigstens einer von mehreren Faktoren, wie beispielsweise Hallzeit und Rückkopplungskoeffizient eines Flangereffekts, sein. Wenn der beizugebende Effekt ein Effekt auf Modulationsbasis (wie beispielsweise Chorus oder Flanger) oder eine Effekt auf Verzögerungsbasis (wie beispielsweise Echo oder Hall) ist, wird ein Signalverzögerungsspeicher in dem Effektbeigebungsabschnitt verwendet. Falls für diesen Fall ein Tonerzeugungsprozeß ausgeführt wird, um die Erzeugung eines neuen Tons in irgendeinem der Kanäle zu initiieren, unmittelbar nachdem ein Abklingprozeß durchgeführt wurde, um den in dem gleichen Kanal erzeugten vorhergehenden Ton schnell zum Verstummen zu bringen, wird ein verzögertes Tonsignal des vorhergehenden Tons in dem Signalverzögerungsspeicher belassen. Wenn das Tonsignal des neuen Tons mittels des gleichen Speichers verzögert ist, würde daher das verzögerte Signal des vorhergehenden Tons unerwünschterweise in das Signal des neuen Ton gemischt werden. Die vorliegende Erfindung funktioniert angesichts dieses Nachteils in der folgenden Weise. Wenn nämlich ein Abkling-(oder Abschneide) Prozeß in irgendeinem der Kanäle der Tonquelle ausgeführt wird, schaltet der Effektbeigebungsabschnitt den Speicherbereich des Signalverzögerungsspeichers, der für den Kanal zu verwenden ist, zu einen anderen Speicherbereich um, der nicht in Verwendung ist. Dies ermöglicht, dass der nichtverwendete Speicherbereich des Signalverzögerungsspeichers erneut verwendet wird, wenn das neue Tonsignal erzeugt wird, so dass verhindert wird, dass das Signal des vorhergehenden Tons mit dem Signal des neuen Tons vermischt wird. Das vorher erwähnte Konzept kann ebenso bei einem allein Einzeleffektor angewendet werden.
  • Die Vorrichtung kann außerdem Bezeichnungsmittel zur Bezeichnung einer Note eines zu erzeugenden Tons und Zuweisungsmittel zum Zuweisen der durch die Bezeichnungsmittel bezeichneten Note zu wenigstens einem der mehreren Kanälen aufweisen. Im Ansprechen auf eine Zuweisung der bezeichneten Note durch die Zuweisungsmittel, legt der Effektbeigebungsabschnitt eine Art eines beizugebenden Effekts in dem Kanal, dem die bezeichnete Note zugewiesen worden ist, fest.
  • Die Vorrichtung kann zudem Klangfarbenauswählmittel zum Auswählen einer Klangfarbe eines in dem jeweiligen Kanal zu erzeugenden Tons und Mittel aufweisen zum Auswählen eines Effekts in Entsprechung zu der durch die Auswählmittel ausgewählten Klangfarbe. Die Effektbeigebungsmittel geben in dem jeweiligen Kanal den in Entsprechung zu der Klangfarbe ausgewählten Effekt bei. Die Effektbeigebungsmittel können auch getrennt für den jeweiligen Kanal die Art eines Effekts auswählen, der dem Kanal beigegeben werden soll.
  • Die Effektbeigebungsmittel können in entsprechenden Beziehungen zu den Kanälen Verzögerungsmittel oder Speichermittel aufweisen, die zur Signalverzögerung verwendet zu werden sind. Die Tonquellenmittel können dann einen Abklingprozeß durchführen, um eine Tonerzeugung in irgendeinem der Kanäle zu stoppen, die Effektbeigebungsmittel schalten nach Beendigung des Abklingprozesses die Verzögerungsmittel oder Speichermittel, die bis dahin verwendet worden sind, auf andere Verzögerungsmittel oder Speichermittel um.
  • Alternativ oder zusätzlich weisen die Effektbeigebungsmittel Signalverzögerungsspeichermittel, die in entsprechenden Beziehungen zu den Kanälen vorgesehen sind, und Mittel auf, um, wenn ein Abschneideprozeß durchgeführt wird, einen Ton zu verstummen, der in einem bestimmten der Kanäle erzeugt worden ist, so dass ein neuer Ton in diesem bestimmten Kanal erzeugt werden kann, gespeicherte Inhalte der Speichermittel, die für den bestimmten Kanal verwendet wurden, zu löschen, so dass der bestimmte Kanal zur Signalverzögerung des neuen Ton im Ansprechen auf die Verstummung des Tons verfügbar wird.
  • Nach einer weiteren Ausführungsform der Erfindung weisen die Effektbeigebungsmittel Speichermittel mit wenigstens zwei Speicherbereichen auf, die zur Verzögerung eines Tonabtastdatenwerts von wenigstens einem der Tonsignale zu verwenden sind, und die Effektbeigebungsmittel führen einen Verzögerungsprozeß durch, um mehrere Abtastdaten eines Tonsignals mittels eines der Speicherbereiche sequentiell zu verzögern, so dass ein vorgegebener Effekt einem Ton auf der Grundlage des Verzögerungsprozesses beigegeben wird. Das elektronische Musikinstrument weist außerdem folgendes auf:
  • Zuführmittel zur Zuführung einer Steuerinformation, die anzeigt, dass eine Tonerzeugung für die ersten Tonabtastdaten, die den Effektbeigebungsmitteln vorher eingegeben worden sind, zum Abklingen gebracht werden sollen, um so zu ermöglichen, dass zweite Tonabtastdaten den Effektbeigebungsmitteln anstelle der ersten Tonabtastdaten nachfolgend eingegeben werden, und
  • Steuermittel, die auf die Steuerinformation ansprechen, zum Beenden der Verwendung von einem der zwei Speicherbereiche, die für den Verzögerungsprozeß der ersten Tonabtastdaten verwendet worden sind, um so einem anderen der Speicherbereich zu ermöglichen, für den Verzögerungsprozeß der zweiten Tonabtastdaten verwendet zu werden.
  • Die Effektbeigebungsmittel können den Tonabtastdatenwert individuell für mehrere Kanäle empfangen und die Effektbeigebungsmittel geben individuelle Effekte der Tonabtastdateneingabe für die mehreren Kanäle bei. Die Steuerinformation wird durch die Zuführmittel zugeführt, falls der erste Tonabtastdatenwert zuerst einem bestimmten der Kanäle eingegeben wird und dann der zweite Abtastdatenwert dem bestimmten Kanal eingegeben wird.
  • Die erfindungsgemäße Vorrichtung kann außerdem folgendes aufweisen:
  • Eingabemittel zum Eingeben von Tonabtastdaten von wenigstens einem der Tonsignale, das mit einem Effekt belegt werden soll, in die Effektbeigebungsmittel. Die Effektbeigebungsmittel geben Toneffekte individuell für mehrere Kanäle bei und enthalten Speicherbereiche, die zur Verzögerung von Tonabtastdaten des jeweiligen Kanals getrennt von dem anderen Kanal verwendet werden sollen, die Anzahl der Speicherbereiche ist wenigstens um einen größer als die Anzahl der Kanäle, wobei die Effektbeigebungsmittel einen Verzögerungsprozeß durchführen, um mehrere Abtastdaten eines Tonsignals für irgendeinen der Kanäle mittels eines der Speicherbereiche sequentiell zu verzögern, so dass ein vorgegebener Klangeffekt dem Tonsignal auf der Grundlage des Verzögerungsprozesses beigegeben wird. Das elektronische Musikinstrument gemäß dieser Ausführungsform zudem folgendes aufweist:
  • Steuermittel, um, wenn ein neuer Tonabtastdatenwert für einen bestimmten der Kanäle über die Eingabemittel eingegeben wird, einen unbenutzten der Speicherbereiche für den bestimmten Kanal zu belegen, so dass der unbenutzte Speicherbereich neu für den Verzögerungsprozeß des neuen Tonabtastdatenwert verwendet wird. Jeder der Speicherbereiche kann eine Größe haben, die nicht festliegt, sondern wahlweise variiert wird.
  • Zum besseren Verständnis des vorhergehenden und anderer Merkmale der vorliegenden Erfindung werden die bevorzugten Ausführungsformen der Erfindung nachfolgend unter Bezugnahme auf die anhängenden Zeichnungen detailliert beschrieben.
  • In den Zeichnungen ist folgendes dargestellt:
  • Fig. 1 ist ein Blockschaltbild, das ein Beispiel des detailliertem Aufbaus einer Tonquelle und eines Effektor zeigt, die in einem elektronischen Musikinstrument gemäß einer Ausführungsform der vorliegenden Erfindung vorgesehen sind.
  • Fig. 2 ist ein Blockschaltbild, das den allgemeinen Hardware-Aufbau des elektronischen Musikinstruments aus Fig. 1 zeigt.
  • Fig. 3 ist ein schematisches Blockschaltbild, das einen der Effektbeigebungsabschnitte aus Fig. 1 im Detail zeigt.
  • Fig. 4 ist ein Blockschaltbild, das eine Anordnung zur Erzielung eines Flangereffekts in dem Effektor auf Modulationsbasis aus Fig. 3 zeigt.
  • Fig. 5 ist ein Blockschaltbild, das eine Anordnung zeigt, um einen Erregereffekt in dem Effektor auf auf Berechnungsbasis aus Fig. 3 zu erzielen.
  • Fig. 6 ist ein Blockschaltbild, das ein Beispiel der Struktur eines Effektbeigebungsabschnitts zeigt, bei dem zwei Verzögerungsspeicher alternierend bei einem Abklingprozeß verwendet werden.
  • Fig. 7 ist ein Blockschaltbild, das einen Beispiel einer detaillierten Struktur einer modifizierten Ausführungsform zeigt, bei der der Effektor aus Fig. 1 oder 2 durch einen Digitalsignalprozessor (DSP) realisiert ist und bei der zwei Verzögerungsspeicher alternierend wie in dem Beispiel aus Fig. 6 verwendet werden.
  • Fig. 8 ist ein Ablaufschema, das Zeitfenster für eine Mikroprogrammausführung und eine Ausgabe für versetzte Adressen zeigt.
  • Fig. 9A und 9B zeigen Diagramme eines Beispiel der Struktur eines Verzögerungsspeichers aus Fig. 7 bzw. Inhalte eines Registers für versetzte Adressen aus Fig. 7.
  • Fig. 10 ist ein Blockschaltbild, das eine Ausführungsform eines Signalprozessors gemäß der vorliegenden Erfindung zeigt.
  • Fig. 11 ist ein Diagramm zur Erläuterung gespeicherter Inhalte eines Mikroprogrammspeichers und eines externen RAM aus Fig. 10.
  • Fig. 12 ist ein Blockschaltbild, das eine Ausführungsform eines elektronischen Musikinstruments zeigt, das den Signalprozessor aus Fig. 10 enthält.
  • Fig. 13 ist eine Darstellung eines Ablaufschemas zur Erläuterung einer beispielhaften Operation des Signalprozessors aus Fig. 10.
  • Fig. 14 ist ein Blockschaltbild, das ein Beispiel eines Mikroprogramm- Speicherabschnitts in dem Signalprozessor aus Fig. 10 zeigt.
  • Fig. 15 zeigt ein Flußdiagramm einer Hauptroutine, die in dem elektronischen Musikinstrument aus Fig. 12 durchgeführt wird.
  • Fig. 16 zeigt ein Flußdiagramm eines Beispiels eines in Fig. 15 gezeigten Zuweisungsprozesses. Und
  • Fig. 17 zeigt ein Flußdiagramm eines Beispiels eines in Fig. 15 gezeigten Effektprozesses.
  • Fig. 2 ist ein Blockschaltbild, das die allgemeine Hardware-Struktur eines elektronischen Musikinstruments gemäß einer Ausführungsform der vorliegenden Erfindung zeigt. Bei dieser Ausführungsform wird das gesamte elektronische Musikinstrument durch einen Mikrocomputer gesteuert, der eine Mikroprozessoreinheit (CPU) 10, einen Programm-ROM 11 und einen Daten- und Arbeits-RAM 12 aufweist.
  • Die CPU 10 steuert die Gesamtoperation des elektronischen Musikinstruments. Mit dieser CPU 10 stehen über einen Adressen- und Daten-Bus 18 der Programm-ROM 11, der Daten- und Arbeits-RAM 12, eine Tastaturschnittstelle 13, eine Schaltleistenschnittstelle 14, eine Tonquelle 15, ein Effektor 16 und ein Tonsystem 17 in Verbindung.
  • Der Programm-ROM 11, der ein Festwertspeicher ist, speichert Systemprogramme für die CPU 10, verschiedene Klangparameter (effektbezogene Mikroprogramme) und verschiedene andere Daten.
  • Der Daten- und Arbeits-RAM 12 ist in verschiedenen vorgegebenen Adressenbereichen eines Direktzugriffsspeichers zur Verwendung als Register und Kennzeichen zur temporären Speicherung verschiedener Daten, die erzeugt werden, wenn die CPU 10 die Programme ausführt, zugeordnet.
  • Die Tastatur 19 weist eine Vielzahl von Tasten zur Bestimmung der Tonhöhe jedes zu erzeugenden Tons und Tastenschalter auf, die in entsprechenden Beziehungen zu den Tasten vorgesehen sind. Die Tastatur 19 kann, wenn es erforderlich ist, auch Tastenanschlagnachweismittel, wie beipielsweise eine Tastenanschlaggeschwindigkeits oder -kraft-Nachweisvorrichtung aufweisen. Die Tastatur 19 wird hier verwendet, gerade weil sie ein Basisspielelement ist, das für einen Musizierenden leicht zu handhaben ist, natürlich können jedoch irgendwelche andere geeignete Spielelemete verwendet werden.
  • Die Tastaturschnittstelle 13, die eine Schaltung mit einer Vielzahl von Tastenschaltern, die den Tasten auf der Tastatur 19 entsprechen, aufweist, gibt eine Taste- EIN-Ereignisinformation, die den Tastenkode KC einer neu angeschlagenen Taste nach deren Feststellung enthält, und eine Taste-AUS-Ereignisinformation aus, die den Tastenkode KC einer erneut freigegebenen Taste nach deren Feststellung enthält. Die Tastaturschnittstelle 13 erzeugt auch Tastenanschlagdaten IT durch Ermittlung der Tastenanschlaggeschwindigkeit oder -kraft und gibt die erzeugten Anschlagdaten als Geschwindigkeitsdaten aus.
  • Eine Bedienungsschaltleiste 20 weist eine Vielfalt von Elementen oder Bedienungselementen zum Auswählen, Einstellen und Steuern der Klangfarbe, der Hüllkurve, des Effekts usw. eines zu erzeugenden Tons auf. Die Schaltleistenschnittstelle 14 stellt fest, welches der Bedienungselemente auf der Bedienungsschaltleiste 20 betätigt wurde. Auf diese Weise werden bei dieser Ausführungsform Parameter für die Tonquelle 15 und den Effektor 16 durch den Mikrocomputer in Entsprechung zu der über die Bedienungsschaltleiste 20 ausgewählten Klangfarbe und Effekt gesetzt. In diesem Fall kann die Art des beizugebenden Effekts für jeden Kanal getrennt wählbar gemacht werden, oder alternativ kann ein Effekt in Entsprechung zu einer bezeichneten Klangfarbe in der Weise wählbar gemacht werden, dass die Art des Effekts, der jedem Kanal beizugeben ist, entsprechend einer dem Kanal zugewiesenen Klangfarbe ermittelt wird.
  • Die Tonquelle 15 weist eine Vielzahl von Tonerzeugungskanälen (32 Kanäle bei dieser Ausführungsform) auf, durch die sie in die Lage versetzt wird, mehrere Töne simultan zu erzeugen. Die Tonquelle 15 empfängt Spielinformation (Tastenkode KC, Taste-EIN- Signal KON, Anschlagdaten IT, verschiedene Parameter TC, EG, EF), die über den Adressen- und Daten-Bus 18 zugeführt wird, und auf der Grundlage der empfangenen Daten erzeugt sie Tonsignale. Es kann irgendein Tonsignalerzeugungsverfahren bei der Tonquelle 15 in Abhängigkeit von dem gewünschten Verwendungszweck verwendet werden. Beispielsweise kann irgendein herkömmliches bekanntes Tonsignalerzeugungsverfahren verwendet werden, wie beispielsweise: das Speicher-Auslese- Verfahren, bei dem in einem Wellenformspeicher gespeicherte Tonwellenform- Abtastwertdaten sequentiell in Entsprechung zu Adressendaten ausgelesen werden, die entsprechend der Tonhöhe eines zu erzeugenden Ton geändert werden; das FM- Verfahren, bei dem Tonwellenform-Abtastwertdaten mittels Durchführen vorgegebener Frequenzmodulationsoperationen erhalten werden, wobei die vorher erwähnten Adressendaten als Phasenwinkelparameterdaten verwendet werden; oder das AM-Verfahren, bei dem Tonwellenform-Abtastwertdaten mittels Durchführen vorgegebener Amplitudenmodulationsoperationen erhalten werden, wobei die vorher erwähnten Adressendaten als Phasenwinkelparameterdaten verwendet werden.
  • Der Effektor 16 empfängt das Tonsignal von der Tonquelle 15, um diesem einen Effekt beizugeben, der über die Bedienungschaltleiste 20 eingestellt ist, und gibt das mit einem Effekt belegte Tonsignal an das Tonsystem 17.
  • Das Tonsystem 17 weist Verstärker und Lautsprecher auf, durch die das mit einem Effekt belegte Tonsignal von dem Effektor 16 hörbar reproduziert oder zum Erklingen gebracht wird. Das Tonsystem 17 steuert auch die Lautstärke, Lokalisierung usw. des zu ertönenden Tons entsprechend den von der CPU 10 ausgegebenen Befehlen.
  • Fig. 1 ist ein Blockschaltbild, das die detaillierte Struktur der Tonquelle 15 und des Effektors 16 aus Fig. 2 zeigt. Die Tonquelle 15 gibt Tonsignale für 32 Kanäle (erster bis zweiunddreißigster Kanal CH1 bis CH32) zu den jeweiligen Effektbeigebungsabschnitten EF1 bis EF32 des Effektors 16 aus. Zusätzlich zu den Effektbeigebungsabschnitten EF1 bis EF32 für 32 Kanäle weist der Effektor 16 einen ersten Mischer 5, einen Raum-Effektbeigebungsabschnitt 6 und einen zweiten Mischer 7 auf.
  • Jeder der Effektbeigebungsabschnitte EF1 bis EF32 gibt getrennt einen optionalen Effekt dem Signal von dem entsprechenden Kanal CH1 - CH32 bei und gibt dann das daraus resultierende mit einem Effekt belegte Signal an den ersten Mischer 5.
  • Gerade zu diesem Zeitpunkt führt jeder der Effektbeigebungsabschnitte EF1 bis EF32 einen Effektbeigebungsprozeß aus, wie er durch ein Taste-EIN- oder Taste-AUS- Signal, Geschwindigkeitssignal, Hüllkurvensignal, usw. für den entsprechenden Kanal CH1 - CH32 angeordnet wird, die über den Adressen- und Daten-Bus beliefert werden. Es könnte jedoch einige Effektbeigebungsabschnitte geben, die nicht den Effektbeigebungsprozeß ausführen, wie er durch diese Signale angeordnet wird.
  • Wenn die Art eines beizugebenden Effekts in einem vorgegebenen Effektbeigebungsabschnitt beispielsweise ein Halleffekt ist, variiert der Effektbeigebungsabschnitt die Hallzeit entsprechend dem Geschwindigkeitssignal für den entsprechenden Kanal, erzeugt einen Hallton im Ansprechen auf das Taste-EIN-Signal für den Kanal, führt einen Abklingprozeß im Ansprechen auf das Taste-AUS-Signal usw. durch. Wenn das Geschwindigkeitssignal eine relativ hohe Intensität hat, wird die Hallzeit lang, während bei einem Geschwindigkeitssignal von geringer Intensität, die Hallzeit kurz wird.
  • Wenn die Art eines beizugebenden Effekts in einem vorgegebenen Effektbeigebungsabschnitt ein Flangereffekt ist, steuert der Effektbeigebungsabschnitt die Verzögerungszeit eines Kammfilters entsprechend dem Hüllkurvensignal, steuert den Rückkopplungskoeffizienten für das Kammfilter entsprechend dem Geschwindigkeitssignal, usw.. Wenn außerdem die Art eines beizugebenden Effekts ein Erregereffekt ist, steuert der Effektbeigebungsabschnitt die Tiefe des Effekts entsprechend dem Geschwindigkeitssignal, usw.. Wenn die Art eines beizugebenden Effekts eine Tonhöhenänderung ist, steuert der Effektbeigebungsabschnitt die Verstimmungsgröße des Effekts entsprechend dem Hüllkurven- oder Geschwindigkeitssignal, usw..
  • Der erste Mischer 5 mischt die mit einem Effekt belegte Tonsignale, die von dem Effektbeigebungsabschnitt EF1 bis EF32 in gewünschten Kombinationen ausgegeben werden, und beliefert den zweiten Mischer 7 mit den so gemischten Tonsignalen als Tonsignale für rechte und linke Kanäle R1 und L1. Der Raum-Effektbeigebungsabschnitt 6 gibt einen vorgegebenen räumlichen Effekt den gemischten Tonsignalen aus dem ersten Mischer 5 bei und beliefert den zweiten Mischer 7 mit den mit einem räumlichen Effekt belegten Signalen als die Tonsignale für die rechten und linken Kanäle R2 und L2.
  • Der zweite Mischer 7 mischt mittels vorgegebener Koeffizienten die Tonsignale der rechten Kanäle R1 und R2, die von dem ersten Mischer 5 und dem Raum- Effektbeigebungsabschnitt 6 geliefert werden, und versorgt das Tonsystem 17 mit den daraus resultierenden gemischten Tonsignalen als endgültige Tonsignale für den rechten Kanal R. In gleicher Weise mischt der zweite Mischer 7 mittels vorgegebener Koeffizienten die Tonsignale der linken Kanäle L1 und L2, die von dem ersten Mischer 5 und dem Raum-Effektbeigebungsabschnitt 6 geliefert werden, und versorgt das Tonsystem 17 mit den daraus resultierenden gemischten Tonsignalen als endgültige Tonsignale für den linken Kanal L.
  • Fig. 3 zeigt beispielhaft den Aubau jedes der Effektbeigebungsabschnitte aus Fig. 1. Der Effektbeigebungsabschnitt enthält eine Reihe aus einem Effektor auf Berechnungsbasis 3C, einem Effektor auf Modulationsbasis 3M und einem Effektor auf Verzögerungsbasis 3D. Der Effektor auf Berechnungsbasis 3C soll Effekte beigeben, wie beispielsweise, Verzerrung, Filter und Erreger, der Effektor auf Modulationsbasis 3M soll Effekte beigeben, wie beispielsweise Chorus, Flanger und Tonhöhenänderung und der Effektor auf Verzögerungsbasis 3D soll Effekte beigeben, wie beispielsweise Echo, Verzögerung, Frühreflexion und Hall. Bei jedem der Effektoren 3C, 3M und 3D werden Parameter, die für verschiedene Effektprozesse zu verwenden sind, in Echtzeit in Entsprechung zu einem Taste-EIN- oder Taste-AUS-Signal und Geschwindigkeitssgnal gesteuert. Die dargestellte Verbindung ist nur beispielhaft, die Effektoren 3C, 3M uns 3D können parallel verbunden sein oder in einer Kombination aus Parallel- und Serienschaltung miteinander verbunden sein.
  • Fig. 4 zeigt ein Beispiel einer Struktur eines Abschnitts, der in dem Effektor auf Modulationsbasis 3M enthalten ist, zum Beigeben des Flangereffekts (Flangerbeigebungsabschnitt). Dieser Flangerbeigebungsabschnitt weist einen Addierer 4A, eine Verzögerungsleitung 4B, einen Multiplizierer 4C, einen Konvertierer 4D, einen Hüllkurvengenerator 4E und einen weiteren Addierer 4F auf. Der Addierer 4A, die Verzögerungsleitung 4B und der Multiplizierer 4C bilden eine Rückkopplungsschleife für den Flangerbeigebungsabschnitt.
  • Der Addierer 4A addiert ein Eingabesignal und ein Rückkopplungssignal von dem Multiplizierer 4C und liefert das Additionsergebnis der Verzögerungsleitung 4B. Die Verzögerungsleitung 4B verzögert das Additionsergebnis von dem Addierer 4A um eine vorgegebene Zeit, die einer Lese-Adresse RA entspricht, die von dem Addierer 4F bereitgestellt wird, um so das verzögerte Signal dem Addierer 4C und ebenso nach außen als ein Flangereffektbeigebungssignal bereitzustellen. Der Multiplizuerer 4C multipliziert das verzögerte Signal von der Verzögerungsleitung 4B mit einem Multiplikationskoeffizienten von dem Konvertierer 4D und versorgt den Addierer 4A mit dem Multiplikationsergebnis als dem Rückkopplungssignal.
  • In dem Flangerbeigebungsabschnitt hängt die Verzögerungszeit in der Verzögerungsleitung 4B von der Lese-Adressse RA ab, die von dem Addierer 4F bereitgestellt wird; die Verzögerungsleitung 4B gibt nämlich ein Signal aus, das in derselben bei einer Adresse gespeichert wird, die durch die Lese-Adresse RA bezeichnet wird. Je größer daher der Wert der Lese-Adresse RA ist, desto länger wird die Verzögerungszeit, und je geringer der Wert der Lese-Adresse RA ist, desto kürzer wird die Verzögerungszeit. Da der Addierer 4F als die Lese-Adresse RA die Summe einer versetzten Adresse OSA und ein von dem Hüllkurvengenerator 4E vorgegebenes Hüllkurvensignal an die Verzögerungsleitung 4B liefert, wird die Lese-Adresse RA zeitweise in Abhängigkeit zeitvariablen Summe des Hüllkurvensignals, das im Ansprechen auf den Empfang eines Taste-EIN-Signals und der versetzten Adresse OSA erzeugt wird, variieren. Die Erzeugung des Hüllkurvensignals wird im Ansprechen auf den Empfang eines Taste- AUS-Signals beendet.
  • Der Konvertierer 4D empfängt zudem ein Geschwindigkeitssignal, um es in einen Multiplikationskoeffizienten zu konvertieren, der dann dem Multiplizierer 4C zugeführt wird. Der Multiplizierer 4C multipliziert somit das verzögerte Signal von der Verzögerungsleitung 4B mit dem Multiplikationskoeffizienten, der dem Geschwindigkeitssignal entspricht.
  • Wie bereits beschrieben, werden in dem Flangerbeigebungsabschnitt der Ausführungsform verschiedene Parameter (wie beispielsweise Rückkopplungskoeffizient und Verzögerungszeit) in Echtzeit im Ansprechen auf ein Taste-EIN/Taste- AUS-Signal und entsprechend einem Geschwindigkeitssignal gesteuert. Während die Ausführungsform im vorhergehenden so beschrieben wurde, dass sowohl der Rückkopplungskoeffizient als auch die Verzögerungszeit variiert werden, kann natürlich auch nur einer dieser zwei Parameter variiert werden.
  • Fig. 5 zeigt ein Beispiel einer Struktur eines Abschnitts, der in dem Effektor auf Berechnungsbasis 3C enthalten ist, zum Beigeben des Erregereffekts (Erregerbeigebungsabschnitt). Dieser Erregerbeigebungsabschnitt enthält ein Hochpaß-Filter (HPF) 51, einen Multiplizierer 52, einen Verzerrungsgenerator 53, einen weiteren Multiplizierer 54, einen Addierer 55, einen Konvertierer 56, einen Hüllkurvengenerator 57 und einen weiteren Addierer 58.
  • Das Hochpaß-Filter 51 ermöglicht den Durchgang eines Bands, das höher ist als eine Grenzfrequenz FC aus dem Konvertierer 56, so dass das durchgeleitete Hochfrequenzsignal aus dem Hochpaß-Filter 51 dem Multiplizierer 52 zugeführt wird. Der Multiplizierer 52 multipliziert das Hochfrequenzsignal aus dem Hochpaßfilter 51 mit einem Multiplikationskoeffizienten aus dem Konvertierer 56 und gibt das Multiplikationsergebnis an den Verzerrungsgenerator 53 aus. Der Verzerrungsgenerator 53 addiert Oberschwingungen zu dem Multiplikationsergebnis aus dem Multiplizierer 52 durch einen Begrenzungs- oder nichtlinearen Tabellenkonvertierungsprozeß, so dass der Multiplizierer 54 mit dem verzerrten Signal, dem die Oberschwingungen hinzugefügt sind, beliefert wird. Der Multiplizierer 54 seinerseits multipliziert das verzerrte Signal aus dem Verzerrungsgenerator 53 mit einem Multiplikationskoeffizienten von dem Addierer 58 und gibt das Multiplikationsergebnis an den Addierer 55 als ein Mitkopplungssignal aus. Der Addierer 55 addiert ein Eingabesignal und das Mitkopplungssignal aus dem Multiplizierer 54, um so das Additionsergebnis nach außen als ein Signal mit beigegebenen Erregereffekt zu liefern.
  • Der Konvertierer 56 empfängt ein Geschwindigkeitssignal und konvertiert das empfangene Geschwindigkeitssignal in die Grenzfrequenz FC entsprechend einer vorgegebenen Vorschrift, um diese Grenzfrequenz FC dem Hochpaß-Filter 51 zu liefern. Der Konvertierer 56 konvertiert auch das empfangene Geschwindigkeitssignal in den Multiplikationskoeffizienten entsprechend einer vorgegebenen Vorschrift, um diesen dem Multiplizierer 52 zu liefern. Demgemäß variiert die Grenzfrequenz FC des Hochpaß-Filters 51 entsprechend dem Geschwindigkeitssignal, und folglich wird die spektrale Verteilung in dem Hochfrequenzsignal, das das Hochpaß-Filter 51 durchlaufen hat, schwanken. Der Multiplizierer 52 wird ebenfalls das Hochfrequenzsignal aus dem Hochpaßfilter 51 mit dem Multiplikationskoeffizienten entsprechend dem Geschwindigkeitssignal multiplizieren.
  • In diesem Erregerbeigebungsabschnitt wird zudem der Multiplikationskoeffizient des Multiplizierers 54 durch das Additionsergebnis des Addierers 58 ermittelt. Der Addierer 58 stellt nämlich die Summe eines versetzten Koeffizienten OSK und eines Hüllkurvensignals von dem Hüllkurvengenerator 57 als den Multiplikationskoeffizienten für den Multiplizierer 54 bereit, und daher wird der Multiplikationskoeffizient des Multiplizierers 54 zeitweise in Entsprechung zu der variierenden Summe des versetzten Koeffizienten OSK und des Hüllkurvensignals, das in Ansprechen auf den Empfang eines Taste-EIN-Signals erzeugt wurde, variieren. Die Erzeugung des Hüllkurvensignals wird im Ansprechen auf den Empfang eines Taste-AUS-Signals beendet werden. Bei diesem Erregerbeigebungsabschnitt wird der Mitkopplungskoeffizient durch die Multiplikationskoeffizienten der Multiplizierer 52 und 54 ermittelt.
  • Wie bereits beschrieben, werden in dem Erregerbeigebungsabschnitt der Ausführungsform verschiedene Parameter (wie beispielsweise die Grenzfrequenz FC und der Mitkopplungskoeffizient) in Echtzeit im Ansprechen auf ein Taste-EIN/Taste- AUS-Signal und entsprechend einem Geschwindigkeitssignal gesteuert. Während die Ausführungsform im vorhergehenden so beschrieben wurde, dass sowohl der Multiplikationskoeffizient der Multiplizierer 52 und 54 als auch die Grenzfrequenz des Hochpaß-Filters 51 variiert werden, können natürlich auch wenigstens nur einer dieser Parameter variiert werden.
  • Obgleich die Ausführungsform im vorhergehenden den Fall betreffend beschrieben wurde, bei dem ein Tastenanschlag eine Klangfarbe erzeugt, wird folgende Steuerung in einem Fall ausgeführt, bei dem ein Tastenanschlag zwei (Doppel-)Klangfarben erzeugt.
  • Da die Tonquelle 15 in der Lage ist, simultan Töne in 32 Kanälen zu erzeugen, werden der erste bis sechzehnte Kanal CH1 bis CH16 gesetzt, um Töne einer ersten Klangfarbe zu erzeugen, und der siebzehnte bis zweiunddreißigste Kanal CH17 bis CH32 werden gesetzt, um Töne der der zweiten Klangfarbe zu erzeugen. Die Effektbeigebungsabschnitte EF1 bis EF16 werden in der gleichen Weise gesetzt, um einen Effekt beizugeben, der der ersten Klangfarbe entspricht, und die Effektbeigebungsabschnitte EF17 bis EF32 werden gesetzt, um einen Effekt beizugeben, der der zweiten Klangfarbe entspricht.
  • Wenn ein Taste-EIN-Signal von der Tastaturschnittstelle 13 ausgegeben wird, durchsucht die CPU 10 den ersten bis sechzehnten Kanal CH1 bis CH16 nach einem für die Tonerzeugung verfügbaren leeren Kanal. Wenn beispielsweise der vierte Kanal CH4 ein leerer Kanal ist, gibt die CPU 10 einen Tonerzeugungsbefehlan den vierten Kanal CH4 und den zwanzigsten Kanal CH2O, der der sechzehnte Kanal vom vierten Kanal CH4 aus ist. Die CPU 10 versorgt die entsprechenden Effektbeigebungsabschnitte EF4 und EF20 mit Effektparametern, die der ersten bzw. zweiten Klangfarbe entsprechen. Die CPU 10 versorgt zum Beispiel den Effektbeigebungsabschnitt EF4 mit nur einen Geschwindigkeitssignal und den Effektbeigebungsabschnitt EF20 mit nur einem Hüllkurvensignal. So wird ein geeigneter Effektbeigebungsprozeß erzielt, sogar für den Fall wenn zwei Klangfarben durch einen Tastenanschlag erzeugt werden.
  • Falls kein leerer Kanal bei der Suche der CPU 10 gefunden wird, wird ein herkömmlicher Abschneideprozeß oder Abbruchprozeß durchgeführt, so dass einer der Kanäle, in welchem die Lautstärkenabschwächung am weitesten fortgeschritten ist, einem Zwangsabklingvorgang unterworfen wird und die Erzeugung des bezeichneten Tons diesem Kanal zugewiesen wird. Ein solcher Abschneideprozeß ist jedoch nicht bei den Effektbeigebungsabschnitten anwendbar, da für eine bestimmte Art von Effekt ein Ton nicht unmittelbar durch Dämpfen zum Verstummen gebracht werden kann. Für den Effektor auf Berechnungsbasis 3C, der ein Effektbeigebungssignal ohne eine wesentliche Zeitverzögerung bei Empfang des Eingabesignal liefern kann, kann der Ton unmittelbar durch Dämpfung zum Verstummen gebracht werden; für die Effektoren auf Modulationsbasis und Verzögerungsbasis 3M und 3D jedoch, die einen Verzögerungsspeicher wie beispielsweise die Verzögerungsleitung verwenden, wird der vorhergehende verzögerte Tone, der in dem Verzögerungsspeicher verbleibt, eine Zeitlang unerwünschterweise ausgegeben, sogar nachdem eine Bearbeitung stattfand, in der er durch einen Abklingprozeß in dem Tonquellenkanal zum Verstummen gebracht werden sollte.
  • Daher sind bei dieser Ausführungsform zwei Verzögerungsspeicher in entsprechender Beziehung zu den Effektoren auf Modulationsbasis und Verzögerungsbasis 3M und 3D vorgesehen. Nach Beendigung des Abklingvorgangs in dem Tonquellenkanal wird in diesem Fall der zu verwendende Speicher von einem auf den anderen umgeschaltet, so dass immer ein gelöschter (unbenutzter) Verzögerungsspeicher für einen neuen Ton verwendet wird. Dies gestattet, dass der Ton von dem zu dämpfenden Effektor auf Modulationsbasis oder Verzögerungsbasis 3M oder 3D in ähnlicher Weise wie bei der Dämpfung in dem Tonquellenkanal ausgegeben wird.
  • Fig. 6 zeigt ein Beispiel einer Struktur des Effektbeigebüngsabschnitts, bei welchem der Dämpfungsprozeß (oder Abklingprozeß) durch Schaltung des zu verwendenden Verzögerungsspeichers durchgeführt wird, i. e., wobei alternativ die zwei Verzögerungsspeicher verwendet werden. Bei dem dargestellten Beispiel werden Tonerzeugungs- und Dämpfungsbefehle von der CPU 10 dem ersten Kanal CH1 der Tonquelle 15 gegeben. Dem Effektbeigebungsabschnitt EF1 werden ein Tonsignal von dem ersten Kanal CH1 der Tonquelle 15 und der Dämpfungsbefehl von der CPU 10 gegeben. Die zwei Verzögerungsspeicher (erster und zweiter Speicher 62 und 63) werden mit dem Effektbeigebungsabschnitt EF1 über einen Selektor 61 verbunden. im Ansprechen auf einen Schaltbefehl von der CPU 10, verbindet der Selektor 61 irgendeinen der zwei Verzögerungsspeicher 62 und 63 mit dem Effektbeigebungsabschnitt EF1. Es wird hier vorausgesetzt, dass der erste Speicher 62 mit dem Effektbeigebungsabschnitt EF1 verbunden ist.
  • Wenn der erste Kanal CH1 aus Fig. 6 in einem Abschneideprozeß gedämpft werden soll, gibt die CPU 10 einen Dämpfungsbefehl an den ersten Kanal CH1 der Tonquelle 15 und den Effektbeigebungsabschnitt EF1. Nach Beendigung der Dämpfung gibt die CPU 10 dann einen Tonerzeugungsbefehl an den ersten Kanal CH1 der Tonquelle 15 und gibt ebenfalls einen Schaltbefehl an den Selektor 61, so dass der unbenutzte zweite Speicher 63 mit dem Effektbeigebungsabschnitt EF1 verbunden wird und der bis dahin mit dem Abschnitt EF1 verbundene erste Speicher 61 von diesem abgetrennt wird. Danach wird das neu zu erzeugende Tonsignal in den zweiten Speicher 63 geschrieben, und es wird verhindert, dass das in dem ersten Speicher 62 verbleibende vorhergehende verzögerte Tonsignal unerwünschterweise ausgegeben wird.
  • Nach Beendigung von einer Reihe solcher Operationen werden Daten, die in dem ersten Speicher 62, der von dem Effektbeigebungsabschnitt EF1 getrennt worden ist, verblieben sind, im Ansprechen auf den Schaltbefehl zur Vorbereitung für einen nächsten Abschneideprozeß gelöscht. Auf diese Weise werden die zwei Verzögerungsspeicher 62 und 63 alternierend in einem Effektkanal verwendet.
  • Fig. 7 zeigt ein Beispiel einer spezifischen Struktur einer modifizierten Ausführungsform, bei der der Effektor 16 aus Fig. 2 durch einen Digitalsignalprozessor (nachfolgend als DSP bezeichnet) ersetzt ist und ein Dämpfungsprozeß durch Schalten des zu verwendenden Verzögerungsspeichers wie in Fig. 6 durchgeführt wird.
  • Der DSP weist eine Berechnungsschaltung oder Operationsschaltung 70, ein Datenregister 71, ein Eingaberegister 72, ein Koeffizientenregister 73, einen Niederfrequenzoszillator (LFO) 74, ein Adressenregister 75, eine Adressensteuerschaltung 76, einen DSP-Datenbus 77, einen externen Verzögerungsspeicher 78, ein Mikroprogrammregister 79, ein Register für versetzte Adressen 7A, eine Löschungsschaltung 7B und Selektoren 7C, 7D und 7E auf. Der DSP in so konzipiert, dass verschiedene Effekte durch Zeitteilungsverarbeitung den jeweiligen Tonsignalen von 32 Kanälen, die von der Tonquelle 15 zugeführt werden, beigegeben werden können.
  • In Mikroprogrammausführungs-Zeitfenstern, wie es in Fig. 8 gezeigt ist, führt der DSP einen Effektbeigebungsprozeß für die Effektbeigebungsabschnitte EF1 bis EF32, die den 32 Kanälen CH1 bis CH32 entsprechen, aus.
  • Die Berechnungs- oder Operationsschaltung 70, die Addierer und Multiplizierer aufweist, empfängt die jeweiligen Tonsignale der einzelnen Kanäle CH1 bis CH32 von dem Eingaberegister 71, Daten von dem Datenregister 72, Koeffizientendaten aus dem Koeffizientenregister 73 und ein Niederfrequenzsignal von dem Niederfrequenzoszillator 74, um so Berechnungen an den empfangenen Daten und Signalen in Entsprechung zu Mikroprogrammen durchzuführen, die von dem Mikroprogrammregister 79 geliefert werden.
  • Das Eingaberegister 71 empfängt Schreibsignale von dem Mikroprogrammregister 79 während einer Periode, in der die Tonsignale der einzelnen Kanäle CH1 bis CH32 diesen von der Tonquelle 15 geliefert werden, und das Register 71 speichert temporär die empfangenen Tonsignale, um die Signale dann der Berechnungsschaltung 70 zu einem vorgegebenen Zeitpunkt zu liefern.
  • Das Datenregister 72 speichert temporär Berechnungsergebisdaten von der Berechnungsschaltung 70 ebenso wie Verzögerungsdaten von dem Verzögerungsspeicher 78 und liefert diese Daten an die Berechnungsschaltung 70. Das Datenregister 72 enthält eine Vielzahl von Speicherbereichen, und Adressen zum Schreiben und Lesen von Daten in und aus dem Register 72 werden zu einem vorgegebenen Zeitpunkt durch Mikroprogramme bezeichnet, die von dem Mikroprogrammregister 79 geliefert werden.
  • Das Koeffizientenregister 73 ist ein Register zum Zuführen eines unterschiedlichen Koeffizienten für jede von mehreren (n) Berechnungen, die pro Abtastperiode von der Berechnungsschaltung 70 durchgeführt werden. Das Register 73 besteht aus n- Stufen-Schieberegistern, in denen Daten in einem Zyklus durch die n Stufen pro Abtastperiode geschoben werden. Koeffizienten in dem Register 73 sind durch die CPU 10 über den CPU-Bus (Adressen - und Daten-Bus) 18 überschreibbar, so dass für die Effektberechnung usw. zu verwendende Koeffizienten in Echtzeit durch eine externe Steuereinheit oder in Entsprechung zu einem Geschwindigkeitssignal, Hüllkurvensignal oder dergleichen variiert werden können.
  • Der Niederfrequenzoszillator 74, der eine Dreiecks-, Zägezahn- oder Sinuswelle erzeugt, versorgt die Berechnungs- und Adressensteuerschaltungen 70 und 76 mit einer modulierten Wellenform, die für eine Amplitudenmodulation oder eine Verzögerungszeitmodulation zu verwenden ist.
  • Der Verzögerungsspeicher 78 weist eine Speichervorrichtung mit großer Kapazität (wie beispielsweise einen RAM) auf, die außerhalb des DSP vorgesehen ist. Der DSP schreibt Daten in diesen Verzögerungsspeicher 78 und erzeugt ein Verzögerungssignal durch Auslesen der eingeschriebenen Daten nach Durchlaufen einer vorgegebenen Zeit. Obgleich es für den Verzögerungsspeicher 78 ausreichend ist, dass er 32 Bankbereiche enthält, die den 32 Tonerzeugungskanälen entsprechen, weist der Verzögerungsspeicher 78 bei dieser Ausführungsform tatsächlich mehr Bankbereiche als die Anzahl der Kanäle auf, da die Ausführungsform so konzipiert ist, dass der Dämpfungsprozeß durch Schalten des zu verwendenden Dämpfungsbereichs durchgeführt wird. Wie in Fig. 9A dargestellt, enthält der Verzögerungsspeicher 78 bei dieser Ausführungsform 40 Bankbereiche, die aus Speicherbereichen einer vorgegebenen Kapazität bestehen. Die jeweiligen Startadressen der 40 Bankbereiche sind "A1 ", "A2", ..., "A40".
  • Für jeden der Bankbereiche speichert das Adressenregister 75 dort relative Adressen, die durch Verwenden der entsprechenden Startadresse "A1", "A2", ..., "A40" als die Basisadresse "0" gesetzt werden, so dass eine Adresse ausgegeben wird, die dem Zugriffszeitpunkt des Mikroprogrammregisters 79 entspricht.
  • Das Register für versetzte Adressen 7A speichert dort die jeweiligen Startadressen der einzelnen Bankbereiche für die Kanäle CH1 bis CH32. Wenn zum Beispiel die Inhalte des Registers für versetzte Adressen 7A so sind, wie es in Fig. 9B gezeigt ist, verwendet der erste Kanal CH1 wie ein Verzögerungsspeicher den Bankbereich, dessen Startadresse "A6"; gleichermaßen verwendet der zweite Kanal CH2 den Bankbereich, dessen Startadresse "A5" ist, der dritte Kanal CH3 verwendet den Bankbereich, dessen Startadresse "A1, der fünfte Kanal CH5 verwendet den Bankbereich, dessen Startadresse "A2", der siebente Kanal CH7 verwendet den Bankbereich, dessen Startadresse "A4", der achte Kanal CH8 verwendet den Bankbereich, dessen Startadresse "A3" und der zweiunddreißigste Kanal CH32 verwendet den Bankbereich, dessen Startadresse "A9". In dem dargestellten Beispiel aus Fig. 9B wird kein Bankbereich dem vierten und sechsten Kanal CH4 und CH6 zugewiesen, was bedeuetet, dass diese Kanäle keinen Verzögerungsspeicher verwenden.
  • Somit wird für jedes Mikroprogrammausführungs-Zeitfenster eine versetzte Adresse von dem Register für versetzte Adressen 7A der Adressensteuerschaltung 76 zu einem solchen Zeitpunkt zugeführt, wie es für die versetzte Adressen ausgebenden Zeitfenster aus Fig. 8 gezeigt ist. Das heißt, dass der Effektbeigebungsabschnitt EF1, der dem ersten Kanal CH1 entspricht, einen Effektbeigebungsprozeß mittels des Bankbereichs durchführt, dessen Startadresse "A6" ist. In gleicher Weise führt jeder der anderen Effektbeigebungsabschnitte EF2 bis EF32, die dem zweiten bis zweiunddreißigsten Kanal CH2 bis Ch32 entsprechen, einen Effektbeigebungsprozeß mittels des zugehörigen Bankbereichs durch, dessen Startadresse die versetzte Adresse ist, die von dem Register für versetzte Adressen 7A geliefert wird.
  • Wenn beispielsweise irgendeiner der Kanäle in einem Abschneideprozeß in einer zu der vorher erwähnten ähnlichen Weise gedämpft werden soll, gibt die CPU 10 einen Dämpfungsbefehl an den entsprechenden Kanal der Tonquelle 15. Nach Beendigung des erforderlichen Dämpfungprozesses in diesem Kanal, gibt die CPU 10 dann einen Tonerzeugungsbefehl an den Kanal der Tonquelle 15 und überschreibt auch die versetzte Adresse für den Kanal, der in dem Register für versetzte Adressen 7A gespeichert ist. Ein neu zu erzeugendes Tonsignal wird somit in einen anderen Bankbereich in dem Verzögerungsspeicher 78 geschrieben, so dass kein Ton, der in dem zuletzt verwendeten Bankbereich verbleibt, nach außen abgegeben wird. Danach löscht die CPU 10 die Daten in dem zuletzt verwendeten Bankbereich zur Vorbereitung für einen nächsten Abschneideprozeß. Dieser Löschvorgang wird über die Löschungsschaltung 7B durch die CPU 10 bewerkstelligt, wobei die Startadresse, i. e., die versetzte Adresse des zuletzt verwendeten Bankbereichs in die Löschungsschaltung 7B geschrieben wird.
  • Die Adressensteuerschaltung 76 addiert die relative Adresse aus dem Adressenregister 75 und die versetzte Adresse aus dem Register für versetzte Adressen 7A, so dass eine absolute Adresse in dem Verzögerungsspeicher 78 erzeugt wird, und die Steuerschaltung 76 gibt die absolute Adresse an den Selektor 7D aus. Die so an den Selektor 7D auszugebende absolute Adresse wird durch die Steuerschaltung 76 für jede Abtastperiode um eins erhöht. Obgleich nicht in der Figur gezeigt, wird die Adressensteuerschaltung 76 manchmal auch mit einer relativen Adresse über den DSP-Bus 77 beliefert. Dies kommt dann vor, wenn es notwendig ist, eine Adresse durch eine Berechnung zu erhalten, und in einem solchen Fall wird eine durch die Berechnungsschaltung 70 berechnete Adresse an die Adressensteuerschaltung 76 geliefert.
  • Das Mikroprogrammregister 79 speichert Mikroprogramme, die den Effektbeigebungsabschnitten EF1 bis EF32 entsprechen. Die beizugebende Effektart kann durch Überschreiben des Mikroprogramms geändert werden. Da mehrere Mikroprogramme in dem über den CPU-Bus 18 verbundenen Programm-ROM 11 vorgespeichert sind, liest die CPU 10 irgendeins der vorgespeicherten Programme aus dem Programm-ROM 11 im Ansprechen auf eine Effektbezeichnung an der Bedienungsschaltleiste 20 aus und schreibt das ausgelesene Mikroprogramm in das Mikroprogramm-Register 79 ein.
  • Wenn eine Bankbereichschaltung in dem Verzögerungsspeicher 78 stattfindet, damit ein Dämpfungsprozeß durchgeführt wird, löschen die Löschungsschaltung 7B und die Selektoren 7C, 7D und 7E Daten in dem zuletzt verwendeten Bankbereich. Genauer gesagt, der Selektor 7C arbeitet, um entweder Daten von dem DSP-Datenbus 77 oder Löschdaten (Daten eines niedrigen Pegels "0") dem Dateneingabeanschluß DI des Verzögerungsspeichers 78 zu zuführen. Der Selektor 7D liefert entweder eine Adresse von der Adressensteuerschaltung 76 oder eine Adresse von der Löschungsschaltung 7B an den Adressenanschluß ADR des Verzögerungsspeichers 78. Der Selektor 7E liefert entweder eine Lese/Schreib-Steuersignal aus dem Mikroprogramm-Register 79 oder ein Schreibsteuersignal von der Löschungsschaltung 7B an den Lese/Schreib- Anschluß R/W des Verzögerungsspeichers 78.
  • Die Löschungsschaltung 7B ermittelt, ob ein Zugriffssignal (Lese/Schreib- Steuersignal) aus dem Mikroprogramm-Register 79 an den Verzögerungsspeicher 78 geliefert wurde oder nicht. Wenn ein Zugriffssignal geliefert wurde, wird der Selektor 7C mit dem DSP-Datenbus 77 verbunden, der Selektor 7D mit der Adressensteuerschaltung 76 und der Selektor 7E mit dem Mlkroprogramm-Register 79. Wenn im Gegensatz dazu kein Zugriffssignal geliefert wurde, wird der Selektor 7C mit den Löschungsdaten verbunden, und die Selektoren 7D und 7E werden beide mit der Löschungsschaltung 7B verbunden. Die Löschungsschaltung 7B löscht somit die Daten in dem zuletzt verwendeten Bankbereich der Verzögerungsschaltung 78 für jede Adresse zu einem geeigneten Zeitpunkt, wenn das Mikroprogramm-Register 79 nicht auf den Verzögerungsspeicher 78 zugreift.
  • Nachfolgend wird der Abschneideprozeß beschrieben, der von dem DSP durchgeführt wird.
  • Soll zunächst der erste Kanal CH1 gedämpft werden, gibt die CPU 10 einen Dämpfungsbefehl an den ersten Kanal CH1 der Tonquelle 15. Nach Beendigung des erforderlichen Dämpfungsprozesses in diesem Kanal CH1 gibt die CPU 10 dann einen Tonerzeugungsbefehl an den Kanal CH1 und überschreibt auch die versetzte Adresse "A6" in die versetzte Adresse von irgendeinem der anderen bereits gelöschten Bankbereiche in dem Verzögerungsspeicher 78, beispielsweise "A10",. Ein neu zu erzeugendes Tonsignal wird in den Bankbereich geschrieben, dem die versetzte Adresse "A10" zugewiesen wurde.
  • Dann schreibt die CPU 10 die Startadresse des zuletzt verwendeten Bankbereichs in die Löschungsschaltung 7B, und die Löschungsschaltung 7B löscht die Daten des zuletzt verwendeten Bankbereichs der Verzögerungsschaltung 78 für jede Adresse durch Schalten der Selektoren 7C, 7D und 7E zu einem geeigneten Zeitpunkt, wenn das Mikroprogramm-Register 79 nicht auf den Verzögerungsspeicher 78 zugreift. Nach Beendigung der Löschoperation gibt dann die Löschungsschaltung 7B der CPU 10 ein Löschoperationsbeendigungssignal. Wenn es noch irgendeinen Bankbereich gibt, bei dem eine Löschung von Daten notwendig ist, schreibt die CPU 10 in ähnlicher Weise die Startadresse dieses Bankbereichs in die Löschungsschaltung 7B, um so zu veranlassen, dass die Schaltung 7B eine Löschoperation durchführt. Durch Schalten des Bankbereichs des in dem oben erwähnten Abschneideprozeß zu verwendenden Verzögerungsspeichers 78, kann der DSP den Mißstand verhindern, dass ein Ton eine Zeitlang unerwünschterweise ausgegeben wird, auch wenn eine Dämpfungsoperation bei dem Tonquellenkanal angewandt wurde.
  • Bei einer anderen Ausführungsform der Erfindung kann der Speicher 78 so konzipiert sein, dass er Bankbereiche aufweist, deren Anzahl wenigstens um eins größer ist als die Anzahl der Kanäle, so dass wenigstens einer der Bankbereich in einem Leer- (verfügbaren) Zustand gehalten wird, sogar wenn Töne in allen Kanälen erzeugt werden. In diesem Fall kann die Entsprechung zwischen den Kanälen und dem Bankbereich derart variabel gestaltet werden, dass, wenn ein neuer Ton in irgendeinem der Kanäle erzeugt wird, der leere Bankbereich zur Effektverarbeitung für diesen Kanal unabhängig von dem Vorhandensein oder Fehlen eines Dämpfungsvorgangs zugewiesen wird.
  • Wie bereits beschrieben wurde, kann die vorliegende Erfindung einen Effektbeigebungszeitpunkt und einen Steuereffektbeigebungsparameter getrennt für jeden Tonerzeugungkanal einstellen.
  • Unter Bezugnahme auf die Fig. 10 bis 17 wird nachfolgend eine Ausführungsform eines Signalprozessors gemäß der vorliegenden Erfindung beschrieben.
  • Fig. 12 ist ein Blockschaltbild, das die allgemeine Hardware-Struktur eines elektronischen Musikinstruments zeigt, das mit einem erfindungsgemäßen Signalprozessor ausgestattet ist. Bei diesem elektronischen Musikinstrument werden Tonerzeugung, Effektbeigebung, usw. durch einen Mikrocomputer gesteuert.
  • Mit einem Adressen- und Daten-Bus 46 sind eine CPU 50, ein RAM 49, ein ROM 48, eine Tastatur 47, eine LCD 40, Betriebselemente 41, eine Tonquelle 42, ein DSP 43 und dergleichen verbunden.
  • Die Tastatur 47 weist eine Vielzahl von Tasten auf, und wenn irgendeine der Tasten von dem Spieler betätigt wird, wird die Betätigung der Taste als Tastenbetätitigunsinformation festgestellt. Anstelle des Verwendens der Tastatur 47 als Spielinformationseingabemittel kann die Spielinformation von einem MIDI-Instrument zu einem Spielinformationsempfangsgerät auf MIDI-Standardbasis, das mit dem Adressen- und Daten-Bus 46 verbunden ist, eingegeben werden.
  • In Entsprechung zu den in dem ROM 48 gespeicherten Programmen führt die CPU 50 verschiedene Prozesse zur Tonerzeugung, Effektbeigebung und dergleichen durch. Zur Tonerzeugung führt die CPU 50 Prozesse durch, um jede angeschlagene Taste auf der Tastatur 47 festzustellen und um die Tonquelle 42 mit einer Tonhöheninformation und einem Taste-EIN-Signal der angeschlagenen Taste zur Erzeugung eines digitalen Tonsignals zu beliefern.
  • Die Tonquelle 42 weist eine Vielzahl von Tonerzeugungskanälen für jeweilige digitale Tonsignale oder Erregungswellenformsignale auf. Die von diesen Kanälen erzeugten Tonsignale werden dem DSP 43 gestaffelt zugeführt. Wenn mehrere Tasten simultan auf der Tastatur 47 angeschlagen werden, werden Tonhöheninformation und Taste- EIN-Signale, die zu diesen angeschlagenen Tasten gehören, mehreren Tonerzeugungskanälen zugeführt, die ihrerseits simulatan jeweilige Tonsignale erzeugen.
  • Jedes Tonsignal und Erregungswellenformsignal, das auf diese Weise von der Tonquelle 42 erzeugt wird, wird dem DSP 43 geliefert, welcher Tonerzeugungs- und Effektbeigebungsprozesse durchführt. Ein externer RAM 33 wird zu Daten- Einschreib- und Lesezwecken entsprechend Befehlen von Mikroprogrammen, die in dem DSP 43 enthalten sind, verwendet. Die Arbeitsweise des DSP 43 und des externen RAM 33 wird nachfolgend detailliert beschrieben.
  • Jedes von dem DSP 43 bearbeitete Tonsignal wird an einen Digital/Analog-Wandler (DAC) 44 ausgegeben, von dem das resultierende konvertierte analoge Signal an ein Tonsystem 45 geleitet wird. Das Tonsystem 45, das aus Verstärkern und Lautsprechern besteht, verstärkt das analoge Signal zu einem vorgegebenen Pegel, um so das verstärkte Signal durch die Lautsprecher akustisch zu reproduzieren oder zum Erklingen zu bringen.
  • Fig. 11 ist ein Diagramm zur Erläuterung der Betriebsweise des Signalprozessors der Erfindung, der mehrere Speicherbereiche in dem externen RAM 33 zeigt, die von mehreren Programmen verwendet werden, die in einem in dem DSP 43 vorgesehenen Mikroprogrammspeicher gespeichert sind. In dem dargestellten Beispiel werden sechs Programme in dem Mikroprogrammspeicher gespeichert. Diese sechs Programme sind die, die entsprechend Befehlen von der CPU 50 aus einer Vielzahl von Programmen ausgewählt wurden, die in dem ROM 48 gespeichert sind und zu dem Mikroprogrammspeicher übertragen werden. Obgleich bei dieser Ausführungsform vorausgesetzt wird, dass die Anzahl der Programmschritte, die pro Abtastperiode durch den DSP 43 ausführbar sind, 512 ist, kann der Mikroprogrammspeicher eine solche Speicherkapazität aufweisen, dass mehr als 512 Schritte gespeichert werden, da es erforderlich ist, dort ein solches Programm vorher zu laden, das man unmittelbar zuweisen kann.
  • Die dem Mikroprogrammspeicher übertragenen Programme, die augenblicklich auszuführen sind, werden so ausgewählt, dass eine Gesamtzahl von Programmschritten 512 oder weniger ist. Ein gleiches Programm kann zudem wiederholt mit irgendeiner gewünschten Häufigkeit in einer Abtastperiode ausgeführt werden, und die Reihenfolge zur Auführung der Programme kann wunschgemäß variiert werden. Es wird vorausgesetzt, dass die maximale Anzahl der Programme, die in einer Abtasperiode ausführbar sind, vier ist, obgleich irgendeine gewünschte Kombination der Programme möglich ist.
  • Bei dem dargestellten Mikroprogrammspeicher aus Fig. 11 sind Programme, die mit einem schraffierten Block gekennzeichnet sind (i. e., Programm 1, Programm 2, Programm 4 und Programm 6) die, die aktuell ausgeführt werden, und Bereiche in dem externen RAM 33, die durch solche Programme verwendet werden, sind durch Pfeile gekennzeichnet. Der externe RAM 33 weist fünf Speicherbereiche auf, und wie es durch die Pfeile gekennzeichnet ist, wird der Speicherbereich 1 durch Programm 1, Speicherbereich 2 durch Programm 4, Speicherbereich 4 durch Programm 2 und Speicherbereich 5 durch Programm 6 verwendet. Der Speicherbereich 3 in dem externen RAM 33 wird hier als ein leerer Bereich gezeigt, der von keinem der Programme verwendet wird.
  • Die Größe von jedem dieser Speicherbereiche in dem externen RAM 33 ist abhängig von verschiedenen Situationen variabel, und es ist möglich, frei einzustellen, welches Programm welchen Speicherbereich verwendet. Es ist auch möglich, die Position des Speicherbereichs zu ändern, der von einen bestimmten Programm verwendet wird. Wenn zum Beispiel Programm 1 ein Verzögerungseffekt-Programm ist, kann die Größe des Speicherbereichs 1 in Entsprechung zu dem Ausmaß der Verzögerung, die voreingestellt oder über ein vorgegebenes Betriebselement 41 bezeichnet ist, dynamisch variiert werden. Wenn Programm 4 zudem ein Tonquellen-Programm enthält, das aus einem eine Rückkopplungsschleife enthaltendem Algorithmus besteht, kann ein bestimmter Speicherbereich, wie beispielsweise Speicherbereich 2, der in soweit benutzt wurde, dynamisch in den gelöschten Speicherbereich 3 umgeschaltet werden.
  • Fig. 10 zeigt den Innenaufbau des Signalprozessors der Erfindung, bei dem eine Vielzahl von Adressenzählern 91 vorgesehen sind, die jeweils einen Zähler 92, einen Vergleicher 93, ein Bereichsgrößenregister 94, ein Register für unterste Adressen 95 und einen Addierer 96 aufweisen. Die gesamte Anzahl der Adressenzähler 91 ist gleich der Anzahl der pro Abtastperiode ausführbaren Kanäle. Es ist möglich, gewünschte Programme den einzelnen Kanälen A bis D zuzuweisen und zu veranlassen, dass diese zugewiesene Programme simultan ausgeführen. Bei dieser Ausführungsform gibt es maximal vier Kanäle und Kanal A, B, C und D werden vom Beginn einer Abtastperiode sequentiell ausgeführt.
  • Programme, die solchen Kanälen zuzuweisen sind, sind frei wählbar aus Programmen, die in dem Mikroprogrammspeicher gespeichert sind. In Fig. 3 ist eine Methode gezeigt, bei der den einzelnen Kanälen zugewiesene Programme innerhalb einer Abtasperiode ausgeführt werden. Aus der Tatsache, dass Programm 1 Kanal A, Programm 4 Kanal B und Programm 2 Kanal C zugewiesen ist, ist zu sehen, dass die Reihenfolge der zuzuweisenden Programme in keinem Bezug zu der Reihenfolge steht, in der die Programme in dem Mikroprogrammspeicher gespeichert sind. Obgleich Programm 6 hier als dem Kanal D zugewiesen gezeigt ist, kann dieses Programm 6 zudem durch Programm 4, das bereits in Kanal B ausgeführt wurde, ersetzt werden.
  • Es ist möglich, wie bereits erwähnt, die Reihenfolge und Häufigkeit der Ausführung der Programme frei einzustellen, aber die Programmzuweisung muß mit Sorgfalt so durchgeführt werden, dass die Gesamtzahl der Schritte des Programms, das den einzelnen Kanälen zugewiesen wird, nicht die Gesamtzahl der pro Abtastperiode ausführbaren Schritte überschreitet. Sogar wenn die Gesamtzahl der Schritte der zugewiesenen Programme geringer als die Anzahl der ausführbaren Schritte ist, muß Sorge getragen werden, dass ein einem bestimmten Kanal zugewiesenes Programm nicht ausgeführt wird bevor ein anderes Programm, das dem vorhergehenden Kanal zugewiesen wurde, vollständig bis zu seinem Ende ausgeführt ist. Dies wird durch die Steuerung der CPU erreicht.
  • Zurückkommend zu Fig. 10 wird der Zähler 92 mit einem Takt φ0 mit einer Periode, die der Abtastperiode entspricht, beliefert, so dass der Zähler 92 seinen Zählwert pro Abtasperiode erhöht. Die Zählwertausgabe von dem Zähler 92 wird in den Addierer 96 in Form eines Zweierkomplements ebenso wie in den Vergleicher 93 eingespeist. Dem Vergleicher 93 wird auch der Größenwert von einem der mehreren Speicherbereiche von dem Bereichsgrößenregister 94 zugeführt. Wenn der Ausgabewert von dem Zähler 92 sich mit der Bereichsgröße deckt, gibt der Vergleicher 93 ein Signal aus, den Zähler 92 zurückzustellen. Das heißt, der Zähler 92 wird auf "0" zurückgestellt, wenn er einen mit der Bereichsgröße sich deckenden Zählwert ausgibt, und der Zähler 92 wiederholt in Wirklichkeit seine Zählung von seinem Anfangszählwert "0" bis zu einem maximalen Zählwert, der dem Wert der Bereichsgröße um eins vermindert entspricht.
  • Der Addierer 96 addiert den Ausgabewert von dem Zähler 92 und die unterste Adresse von jedem der Speicherbereiche aus dem Register für unterste Adressen 95. Da die Ausgabe des Zählers 92 in Form eines Zweierkomplements ist, subtrahiert der Addierer in Wirklichkeit die Zälwertausgabe des Zählers 92 von der untersten Adresse, um so das Subtraktionsergebnis an den Selektor 97 auszugeben.
  • Über eine Schnittstelle 34 schreibt die CPU 50 in die mehreren Adressenzähler 91 die jeweiligen Größen und untersten Adressen der Speicherbereiche, die von den den einzelnen Kanälen zugewiesenen Programmen zu verwenden sind.
  • Die Zählwertausgabe von jedem der Adressenzähler 91 wird an den Selektor 97 abgegeben, und ein Auswählsignal an den Selektor 97 wird gesteuert, um eine Auswahl zu ermöglichen, die während des Betriebs des zugewiesenen Programms durchzuführen ist. Das Auswählsignal wird von dem Zähler 98 vorgegeben. Takt φ0, der zu Beginn einer Abtastperiode ansteigt, wird dem Zähler 98 als ein Rückstellsignal zugeführt, welcher Zähler somit "0" zu Beginn der Abtastperiode ausgibt. Takt φ0 wird ebenfalls als ein Rückstellsignal dem Programmzähler 110 aufgegeben, der somit auf "0" zu Beginn der Abtastperiode zurückgestellt wird. Dem Programmzähler 110 wird ebenfalls ein Takt φ1 aufgegeben, dessen Periode der Ausführungszeit eines Programmschritts entspricht. Wenn die Gesamtzahl der Mikroprogrammschritte 512 ist, dann wird der Takt φ1 eine Periode aufweisen, die ein 1/512 der Abtasperiode ist.
  • Der Ausgabewert des Programmzählers 110 wird in ein Adressenregister 118 und einen Mikroprogrammspeicherabschnitt 29, ebenso wie in Vergleicher 111, 112 und 113 eingespeist. Diesen Vergleichern 111, 112 und 113 werden auch von dem zugehörigen Registern für oberste Schritte 114, 115 und 116 Startschritte aufgegeben, bei denen die Ausführung der den einzelnen Kanälen zugewiesenen Programme gestartet werden. Bei dieser Ausführungsform ist, obgleich die Anzahl von in einer Abtastperiode ausgeführten Programme als vier vorausgesetzt wird, die Anzahl der Register für oberste Schritte drei. Das kommt daher, dass kein Register für oberste Schritte für Kanal A notwendig ist, da der Startschritt des ersten Kanals A "0" ist und der Zähler 98 durch Takt φ0 zurückgestellt wird.
  • Über die Schnittstelle 34 schreibt die CPU 50 die jeweiligen Startschritte der Programme, die den Kanälen B, C und D zugewiesen sind, in die Register für oberste oberste Schritte 114, 115 und 116. Daraus kann man entnehmen, dass die Grenze zwischen den Kanälen ebenfalls frei eingestellt werden kann. Dies ist erforderlich, um den DSP effizient zu nützen, ohne den Umfang der zuzuweisenden Programme zu begrenzen.
  • Wenn der Ausgabewert des Programmzählers 110 mit dem Startschritt irgendeines der zugewiesenen Programme übereinstimmt, gibt irgendeiner der Vergleicher 111, 112 und 113 ein Koinzidenzsignal aus, welches dann über eine ODER-Schaltung 99 zu dem Zähler 98 geführt wird. Auf diese Weise zählt der Zähler 98 an der Grenze der Kanäle, so dass im Ansprechen auf das gezählte Ergebnis der Selektor 97 die Ausgaben der mehreren Adressenzähler entsprechend den Kanälen sequentiell auswählt. Die jeweiligen Adressen der Speicherbereiche des externen RAM 33, die von den den Kanälen zugewiesenen Programmen verwendet werden, werden im Ansprechen auf die Ausführung des jeweiligen Kanals geändert.
  • Der Ausgabewert des Adressenzählers 91, der jedem durch den Selektor 97 ausgewählten Kanal entspricht, wird von dem Addierer 117 zu dem Ausgabewert des Adressenregisters 118 addiert. Auf das Adressenregister 118, das 512 Adressen aufweist, die der Gesamtzahl der Mikroprogrammschritte entsprechen, wird zum Adressenauslesen mittels des Ausgabewert des Programmzählers 110 als Leseadresse zugriffen. Das Auslesen aus dem Adressenregister 118 wird synchron mit dem Datenauslesen aus dem Mikroprogrammspeicherabschnitt 29 durchgeführt. Jede in dem Adressenregister 118 gespeicherte Adresse dient für den Zugriff des externen RAM 33, und diese Adresse wird in Form einer relativen Adresse gespeichert, welche als die Basisadresse "0" eingestellt wird unter Verwendung der Startadresse des entsprechenden Speicherbereichs des externen RAM 33. Die Ausgabe aus dem Adressenregister 118 wird von dem Addierer 117 zu dem Ausgabewert des Adressenzählers 91 addiert, um eine aktuelle oder absolute Adresse für den Zugriff auf den externen RAM 33 bereitzustellen.
  • Ein Berechnungs- oder Operationsabschnitt 30 weist einen Multiplizierer, einen Addierer und ein Koeffizientenregister zum Zuführen eines für eine Multiplikation erforderlichen Koeffizienten auf. Der Berechnungsabschnitt 30 führt vorgegebene Berechnungen entsprechend einem Steuersignal von dem Mikroprogrammspeicherabschnitt 29 aus, speichert die Rechenergebnisse in dem externen RAM 33 über einen Selektor 31, wenn erforderlich, und liest das Rechenergebnis aus dem RAM 33 aus, um damit weitere Berechnungen durchzuführen, um eine komplexe Signalverarbeitung zu schaffen. Die letzte Ausgabe von dem Berechnungsabschnitt 33 wird an den DAC 44 geliefert.
  • Der Mikroprogrammspeicherabschnitt 29, in welchen Mikroprogramme durch die CPU 50 über die Schnittstelle 34 geschrieben werden, gibt die Mikroprogramme im Ansprechen auf den Ausgabewert des Programmzählers 110 sequentiell aus, wie es in Fig. 14 detailliert gezeigt ist. Bei diesem Abschnitt 29 haben die Elemente, die durch die Bezugszeichen 110 bis 116 gekennzeichnet sind, die gleiche Funktion wie die in Fig. 10 und daher werden sie hier nicht beschrieben, um unnötige Wiederholungen zu vermeiden. Die Ausgabe von einer ODER-Schaltung 99 und Takt φ0 werden an die ODER-Schaltung 108 geliefert, und die resultierende Ausgabe von der ODER-Schaltung 108 wird als Rückstellsignal einem Zähler 107 aufgegeben, so dass der Zähler 107 zu Beginn jedes Kanals zurückgestellt wird, um mittels eines Takt 41 eine Zählung durchzuführen und seinen Zählwert einem Addierer 101 zuzuführen.
  • Vier Programmstartadressenregister 103 bis 106 sind in entsprechenden Beziehungen zu den Kanälen vorgesehen. Die CPU schreibt über die Schnittstelle 34 in die Adressenregister 103 bis 106 die jeweiligen Startadressen der Programme, die in einen Mikroprogrammspeicher 100 gespeichert ist, welche den einzelnen Kanälen zuzuweisen sind, und die Register 103 bis 106 geben die so eingeschriebenen Adressen an einen Selektor 102 aus. Bezugnehmend auf Fig. 11 wird die Startadresse von Programm 1 in das Programmstartadressenregister 103, die Startadresse von Programm 4 in das Programmstartadressenregister 104, die Startadresse von Programm 2 in das Programmstartadressenregister 105 und die Startadresse von Programm 6 in das Programmstartadressenregister 106 geschrieben.
  • Der Zähler 98 gibt sequentiell "0", "1", "2" und "3" in Entsprechung zu Kanalausführungszeitfenstern aus, so dass der Selektor 102 sequentiell die Startadressen der Programme auswählt, die den einzelnen Kanaälen A, B, C und D zugewiesen wurden, um so die ausgewählten Adressen an den Addierer 101 sequentiell auszugeben. Der Addierer 101 addiert die ausgewählte Adresse und den Ausgabezählwert des Zählers 107 und liefert das Additionsergebnis an den Mikroprogrammspeicher 100. In dem Mikroprogrammspeicher 100 wird ein Mikroprogramm unter Verwendung des Ausgabezählwerts des Zählers 107 als Leseadresse ausgelesen. Das ausgelesene Mikroprogramm wird als ein Steuersignal an den Berechnungsabschnitt 30, verschiedenen Elementen des DSP 43 und externen RAM 33 geliefert, um so dort als Signalverarbeitung verwendet zu werden.
  • Zurückkehrend zu Fig. 10 erhält die Ausgabe von einer UND-Schaltung 28 ein logisches "0", wenn der Mikroprogrammspeicherabschnitt 29 ein negatives logisches Schreib- oder Lesesignal an den externen RAM 33 ausgibt, so dass die UND-Schaltung 26 ebenfalls "0" an den Selektor 32 ausgibt. Der Selektor 32 seinerseits führt die Ausgabe von dem Addierer 117 zu dem externen RAM 33 als Adresse. Der Ausgabewert "0" der UND-Schaltung 26 wird auch dem Selektor 31 zugeführt, der so die Signalleitung des Berechnungsabschnitts 30 auswählt. Folglich wird der Berechnungsabschnitt 30 mit dem Datenanschluß des externen RAM 33 verbunden.
  • Die Ausgabe von der UND-Schaltung 26 wird auch einem Selektor 27 als ein Auswählsignal zugeführt, und wenn die Ausgabe von der UND-Schaltung 26 "0" ist, liefert der Selektor 27 daher ein Schreib-Freigabesignal von dem Mikroprogrammspeicherabschnitt 29 zu dem Schrieb-Freigabeanschluß des externen RAM 33. Wenn das Mikroprogramm folglich auf den externen RAM 33 zum Datenlesen oder -schreiben zugreift, wird der Datenanschluß folglich mit dem Berechnungsabschnitt 30 verbunden, wobei der Adressenanschluß mit der Adressenausgabe verbunden wird, die irgendeinem der den Kanälen zugewiesenen Programme entspricht, und normales Daten-Lesen/Schreiben wird in bezug auf den externen RAM 33 durchgeführt. Dem Ausgabe-Freigabesignal wird ein Ausgabe-Freigabesignal direkt von dem Mikroprogrammspeicher aufgegeben.
  • Wenn andererseits der Mikroprogrammspeicherabschnitt 29 nicht ein Schreib- oder Lese-Signal an den externen RAM 33 liefert, gibt die UND-Schaltung 28 ein logisches "1" an die UND-Schaltungen 26 und 120. Die UND-Schaltung 120 wird auch mit einem φ1 beliefert, so dass, während kein Zugriff auf den externen RAM 33 stattfindet, die UND-Schaltung 120 Taktimpulse ausgibt, um den Zähler 119 zu veranlassen, einen Zählvorgang für jeden Schritt durchzuführen. Ein Rückstellsignal wird an den Zähler 119 von der CPU 50 über die Schnittstelle 34 ausgegeben.
  • Der Ausgabezählwert des Zählers 119 wird an den Addierer 21 gegeben, in welchem der Zählwert zu einer von einem Startadressenregister 22 zugeführten Startadresse eines bestimmten Speicherbereichs des RAM 33, der zu löschen ist, addiert wird. Einen Zeitraum ausnützend, in welchen der externe RAM 33 nicht in Gebrauch ist, gibt der Addierer 21 sequentiell zu löschende Adressen aus, wobei mit der Startadresse des bestimmten Speicherbereichs des RAM 33 begonnen wird. Die Ausgabe des Addierers 21 wird zu dem Selektor 32 geleitet, in welchem diese als Adresse zum Zugriff auf den externen RAM 33 ausgewählt wird, wenn die Ausgabe von der UND-Schaltung 26 "1" ist. Die Ausgabe von der UND-Schaltung 26 wird auch als ein Auswählsignal den Selektoren 27 und 32 derart zugeführt, dass jeder der Selektoren 27 und 32 "0" wählt, wenn die Ausgabe von der UND-Schaltung 26 "1" ist. Eine derartiges Auswählen von "0" hat einen Schreibbefehl an den externen RAM 33 zur Folge, und ein Datenwert "0" wird in eine Adresse des RAM 33 geschrieben, die dem Ausgabewert des Addierers 21 entspricht.
  • Der Ausgabewert des Addierers 21 wird auch dem Vergleicher 23 zum Vergleichen mit der Ausgabe eines Addierers 36 aufgegeben, so dass, wenn beide Ausgaben übereinstimmen, der Vergleicher 23 ein Rückstellsignal an einen Flip-Flop 25 ausgibt.
  • Der Addierer 36 addiert "1" zu einer Endadresse, die von einem Endadressenregister 24 geliefert wird. Ein Einstellsignal wird von der CPU 50 an den Flip-Flop 25 über die Schnittstelle 34 gesandt. Der so eingestellte Flip-Flop 25 gibt "1" an die UND- Schaltung 26, und wird durch ein von dem Vergleicher 23 ausgegeben Koinzidenzsignal zurückgestellt. Der so zurückgestellte Flip-Flop 25 gibt ein logisches "0" aus, um zu veranlassen, dass die UND-Schaltung 26 "0" ausgibt, so dass die Selektoren 27, 31 und 32 jeweils das Schrei-Freigabesignal von dem Mikroprogrammanschnitt 29, die Ausgabe von dem Addierer 117 und das Ausgabesignal von dem Berechnungsabschnitt 30 auswählen werden.
  • Die Ausgabe von dem Addierer 21 wird über die Schnittstelle 34 an die CPU 50 geschickt, um zu kennzeichnen, dass der erforderliche Löschvorgang beendet worden ist.
  • Die CPU 50 schreibt in das Startadressenregister 22 die zu löschende Startadresse des bestimmten Speicherbereichs des RAM 33 und schreibt auch die Endadresse des bestimmten Speicherbereichs in das Endadressenregister 24. Durch Senden der Rückstell- und Einstellsignale an den Zähler 119 bzw. den Flip-Flop 25 behält die CPU 50 ein sequentielles Schreiben von "0" in die Start- bis Endadressen über einen Zeitraum bei, in welchem der Mikroprogrammspeicher nicht auf den externen RAM 33 zugreift. Wenn dann die Ausgabe von dem Addierer 21 mit einer Adresse übereinstimmt, die der Endadresse plus eins entspricht, ist der Löschvorgang beendet und die Beendigung wird über die Schnittstelle 34 der CPU 50 in Form eines Löschbeendigungskennzeichens signalisiert. Nach dem Lesen des Löschbeendigungskennzeichens speichert die CPU 50 den bestimmten Speicherbereich als einen gelöschten Speicherbereich in Vorbereitung für eine Zuweisung, die den gelöschten Speicherbereich benötigt. Wenn noch irgendein anderer Speicherbereich zu löschen ist, wird der vorher beschriebene Löschvorgang für diesen Speicherbereich wiederholt.
  • Mit der vohergehend beschriebenen Anordnung kann irgendein Speicherbereich während eines Zeitraums gelöscht werden, in welchem der externe RAM 33 nicht von einem Mikroprogramm verwendet wird, und dies gestattet, dass der erforderliche Löschvorgang durchgeführt wird, auch während das Mikroprogramm ausgeführt wird, so dass die Mikroprogrammverarbeitung nicht aufgrund des Löschvorgangs unterbrochen wird. Daher scheint die Anordnung besonders für Anwendungen geeignet, die eine dynamische Zuweisung eines gelöschten Speicherbereich erfordern.
  • Nachfolgend wird eine beispielhafte Anwendung des Signalprozessors der Erfindung beschrieben.
  • In Fig. 15 ist ein Flußdiagramm einer Hauptroutine, die die allgemeine Funktion des in Fig. 12 gezeigten elektronischen Musikinstruments an einem Beispiel zeigt. Nach Einschalten des Geräts wird ein Initialisierungsprozeß in Schritt S1 durchgeführt, um verschiedene Register zu löschen, Initialwerte in verschiedene Register zu laden, usw. Insbesondere für den DSP 43 werden ein Standard-Programm und ein Koeffizient und eine Adresse, die dem Programm entsprechen, aus dem ROM 48 ausgelesen und jeweils dem Mikroprogrammspeicherabschnitt 29 und dem Koeffizienten- und Adressenregister des Berechnungsabschnitt 30 übertragen.
  • Nach der Initialisierung wird eine Zuweisungsprozeß-Unterroutine in Schritt S2 durchgeführt, um ein Programm auszuführen, das einem Flußdiagramm aus Fig. 16 entspricht. Zunächst wird in Schritt S20 ein Ermittlung gemacht, ob irgendein Ton- Ein-Ereignis stattgefunden hat. Die Ermittlung wird positiv (JA), wenn irgendeine der Tasten auf der Tastatur 37 angeschlagen oder betätigt wurde, oder wenn ein Ton- EIN-Ereignis von einem nichtdargestellten externen MIDI-Instrument empfangen wurde, und dann wird die Verarbeitung bei Schritt S21 fortgesetzt.
  • In Schritt S21 wird ermittelt, ob irgendeiner der vier Kanäle in dem DSP 43 ein leerer oder nichtzugewiesener Kanal ist. Der Ausdruck "nichtzugewiesener Kanal" gilt hier für einen Kanal, in dem augenblicklich kein Ton erzeugt wird oder der augenblicklich praktisch nicht in eine Tonausgabe involviert ist. Das dem Kanal zugewiesene Programm ist dann in Betrieb, aber seine Ausgabeumfang ist begrenzt. Eine positive Ermittlung in Schritt S21 bedeutet, dass kein Kanal in Gebrauch ist (unbenutzter Kanal), und somit wird die Verarbeitung bei Schritt S22 fortgesetzt, in welchem ein zuzuweisendes Programm in Entsprechung zu Tonparametern, wie beispielsweise eine Klangfarbe und ein Tastenkode, ermittelt wird, und die Startadresse des zuzuweisenden Programms wird in das Programmstartadressenregister geschrieben, das dem leeren Kanal entspricht.
  • Bei einer negativen (NEIN) Ermittlung in Schritt S21, zweigt die Verarbeitung zu Schritt S23 ab, in welchem ein Dämpfungsprozeß für einen der Kanäle durchgeführt wird, in dem die Lautstärke am geringsten ist, um so die Erzeugung des Tons zu beenden. So wird zwangsläufig ein leerer Kanal erzeugt.
  • In Schritt S24 wird eine vergleichende Ermittlung gemacht, ob die Anzahl der Programmschritte, die in dem leeren Kanal gespeichert werden können, gleich oder größer als die Anzahl der Schritte des zuzuweisenden ermittelten Programms ist. Wenn die Ermittlung in Schritt S24 positiv ist, bedeutet das, dass die Programmzuweisung zu dem leeren Kanal möglich ist, und daher schreitet die Verarbeitung zu Schritt S25 fort. Wenn das nicht der Fall ist, bedeutet das, dass die Programmzuweisung zu dem leeren Kanal nicht möglich ist, und die Verarbeitung zweigt zu Schritt S26 ab, um so ein anderes Programm zu ermitteln, dessen Umfang klein genug für den leeren Kanal ist. Inbesondere wird ein Programm ermittelt, dessen Umfang klein genug für einen Austausch ist.
  • In Schritt S25 wird die Größe des zu verwendenden externen Speicherbereichs durch Parameter ermittelt, wie beispielsweise Klangfarbe, Tastenkode und Verzögerungszeit, und wird einem gelöschten Speicherbereich zugewiesen. Dies macht man durch Einschreiben der Größe und untersten Adresse des Speicherbereichs in das Bereichgrößenregister bzw. Register für unterste Adressen des Adressenzählers 91, der dem leeren Kanal entspricht. Im nächsten Schritt S27 werden die Adressen- und Koeffizientendaten für das zugewiesene Programm übertragen und in Adressen in dem Adressenregister 118 und Koeffizientenregister des Berechnungsabschnitts 30, der dem zuzuweisendem Programm entspricht, geschrieben.
  • In Schritt S28 wird zudem ein Tonerzeugungsbefehl an den entsprechenden Kanal der Tonquelle 42 gegeben, so das eine Tonerzeugung initiiert wird. Um die Beschreibung zu vereinfachen, wird hier vorausgesetzt, dass die Kanäle der Tonquelle 42 und des DSP 43 einander entsprechen. Ein Tonerzeugungsbefehl wird auch an den entsprechenden Kanal des DSP 43 gegeben. Dieser Befehl soll veranlassen, dass eine Koeffizienteninterpolation und Hüllkurvenerzeugung gestartet wird, obgleich dies hier nicht detailliert beschrieben wird, da es sich hierbei um Dinge handelt, die von Programmmalgorithmen abhängen.
  • In dem nächsten Schritt S29 werden, um irgendeinen der Speicherbereiche in dem externen RAM zu löschen, der unbenutzt und noch ungelöscht ist, die Start- und Endadressen des Speicherbereichs in die Start- bzw. Endadressenregister 22 und 24 geschrieben. Danach kehrt die Verarbeitung zu der Hauptroutine zurück.
  • Wenn andererseits kein Ton-EIN-Ereignis stattgefunden hat, wie in Schritt S20 ermittelt wird, zweigt die Verarbeitung zu Schritt S10 ab, in welchem ermittelt wird, ob irgendein Ton-AUS-Ereignis stattgefunden hat. Bei einer positiven Ermittlung geht die Verarbeitung zu Schritt S11, um einen Taste-AUS-Prozeß in der Tonquelle und den DSP-Kanälen durchzuführen, wobei ein Ton des Tastenkodes erzeugt wird, der dem Ton-AUS-Ereignis entspricht.
  • Wenn im nächsten Schritt S12 der Kanal, der dem vorausgeht, der aufgrund der Taste- AUS-Operation geleert wurde, in Gebrauch ist und wenn der Umfang des Programms, das dem vorhergehenden Kanal zugewiesen wurde, kleiner ist als das Programm, das diesem vorher zugewiesen wurde, bedeutet dies, dass ein oder mehrere Programmschritte unbenutzt sind, und wird somit das dem leeren Kanal entsprechende Startschrittregister in einer solchen Weise überschrieben, dass kein unbenutzter Programmschritt vorkommt. Dies wird zur Optimierung der Kapazität des Speicherbereichs, der dem leeren Kanal entspricht, in Vorbereitung auf eine zukünftige Zuweisung auf den Speicherbereich eines umfangreicheren Programms durchgeführt. Die Verarbeitung geht dann zu Schritt S29. Wenn in Schritt S10 ermittelt wurde, dass kein Taste-AUS-Ereignis stattgefunden hat, kehrt die Verarbeitung zu der Hauptroutine zurück.
  • Nach dem Zurückkehren zur Hauptroutine wird die Verarbeitung zu Schritt S3 geführt, um eine Effektprozeß-Unterroutine von Fig. 17 durchzuführen. In Schritt S30 der Effektprozeß-Unterroutine wird ermittelt, ob eine Verzögerungszeit geändert worden ist oder nicht. Wenn die Verzögerungszeit durch ein vorgegebenes Betriebselement 41 oder im Ansprechen auf eine Parameteränderungsmeldung von einem nichtdargestellten externen MIDI-Instrument geändert worden ist, schreitet die Verarbeitung zu Schritt S31, um einen der Speicherbereiche in dem externen RAM zu ermitteln, der zu der geänderten Verzögerungszeit paßt. In Schritt S32 wird dann geprüft, ob der ermittelte Speicherbereich momentan zur Zuweisung verwendet werden kann, da es wahrscheinlich ist, dass kein unbenutzter Speicherbereich in dem externen RAM vorhanden ist, wenn der Bereich im Umfang vergrößert oder erweitert ist, obwohl eine Zuweisung möglich ist, wenn der Speicherbereich in der Größe reduziert ist. Wenn die Zuweisung unmöglich ist, kehrt die Verarbeitung zu Schritt S30 zurück, um auf eine wieder zuändernde Verzögerungszeit zu warten. Zu diesem Zeitpunkt ist es vorzuziehen, dass eine Fehlermeldung, die auf dem LCD 40 anzuzeigen ist, den Anwender oder Spieler auffordert, die Verzögerungszeit zu ändern.
  • Wenn die erforderliche Zuweisung möglich ist, wie in Schritt S32 ermittelt, werden die Größe und unterste Adresse des in Schritt S31 ermittelten Speicherbereichs dem Bereichsgrößenregister 94 bzw. Register für unterste Adressen 95 übertragen, die dem Kanal entsprechen, dem der Effekt zugewiesen ist (Schritt S33). In Schritt S34 werden die Start- und Endadressen des Speicherbereichs, der einen Löschvorgang aufgrund einer Bereichsgrößenvermindung erfordert, in das Start- und Endadressenregister 22 bzw. 24 geschrieben. Der Zähler 119 wird dann zurückgestellt und der Flip-Flop 25 wird so eingestellt, dass der Löschvorgang initiiert wird. Danach kehrt die Verarbeitung zu der Hauptroutine zurück. Wenn die Verzögerungszeit nicht verändert wurde, wie ebenfalls in Schritt S30 ermittelt, kehrt die Verarbeitung zu der Hauptroutine zurück.
  • Bezugnehmend auf die Hauptroutine wird auf die Schnittstelle 34 in Schritt S4 zugegriffen, um das Löschbeendigungskennzeichen auszulesen, und dann wird in Schritt S5 festgestellt, ob der Löschvorgang beendet worden ist. Bei einer positiven Ermittlung in Schritt S5 wird der leere Speicherbereich in Vorbereitung für die nächste Zuweisung gespeichert. Wenn es noch irgendeinen anderen Speicherbereich gibt, der gelöscht werden muß, wird ein weiterer Löschbefehl ausgegeben. Danach kehrt die Verarbeitung zu Schritt S2 zurück, nachdem andere notwendige Verarbeitungen in Schritt S7 durchgeführt wurde. Wenn Schritt S5 festgestellt, dass der Löschvorgang noch nicht beendet worden ist, springt die Verarbeitung zu Schritt S7 für andere notwendige Verarbeitungen. Durch Wiederholen der Operationen von Schritten S2 bis S7 in der vorhergehend erwähnten Weise wird das Löschbeendigungskennzeichen periodisch ausgelesen, so dass es immer möglich ist, den Zeitpunkt zu erkennen, wenn der Löschvorgang beendet ist.
  • Mit dem in der voher beschriebenen Weise angeordneten Signalprozessor kann der von einem Programm zu verwendende Speicherbereich geändert werden, und daher kann der Speicher mit höchstem Wirkungsgrad genützt werden. Da zudem ein Programm zur Tonerzeugung oder Tonverarbeitung ausgewählt werden kann, um eine augenblickliche Erzeugung oder Verarbeitung des Tons in Entsprechung zu dem ausgewählten Programm auszuführen, kann eine Tonverarbeitung erreicht werden, die für zeitvariierende Spielinformation geeignet ist. Da außerdem irgendeiner der Speicherbereiche, der gelöscht werden muß, tatsächlich zu einem Zeitpunkt gelöscht wird, wenn der Speicher nicht von einem Programm benützt wird, kann der Löschvorgang unabhängig von der Programmausführung durchgeführt werden.

Claims (12)

1. Elektronisches Musikinstrument, das folgende aufweist:
Tonquellenmittel (15; CH1 - CH32) zum unabhängigen Erzeugen von Tonsignalen in mehreren Kanälen derselben, und
Effektbeigebungsmittel (16) zum Beigeben eines Effekts auf ein Tonsignal, das von den Tonquellenmitteln erzeugt wird,
dadurch gekennzeichnet, dass
die Effektbeigebungsmittel (16; EF1 - EF32) in entsprechenden Beziehungen zu den Kanälen ausgestattet sind, so dass einzelne Effekte den jeweiligen Tonsignalen der Kanäle, die von den Tonquellenmitteln (15; CH1 - CH32) erzeugt werden, beigegeben werden und dass die Effektbeigebungsmittel (16; EF1 - EF32) einen Parameter des Effekts steuern, der dem Tonsignal des jeweiligen Kanals entsprechend der dem Tonsignal des Kanals zugehörenden Tonsteuerinformation beigegeben werden soll.
2. Elektronisches Musikinstrument nach Anspruch 1, bei dem die Tonsteuerinformation wenigstens ein Signal von Taste-EIN-und Taste-AUS-Signalen, einem Geschwindigkeitssignal und einem Hüllkurvensignal aufweist.
3. Elektronisches Musikinstrument nach Anspruch 1 oder 2, bei dem der in Entsprechung zu der Tonsteuerinformation zu steuernde Parameter wenigstens einer von mehreren Parametern für den beizugebenden Effekt ist.
4. Elektronisches Musikinstrument nach irgendeinem der Ansprüche 1-3, das außerdem Bezeichnungsmittel (19) zur Bezeichnung einer Note eines zu erzeugenden Tons und Zuweisungsmittel (10, 11, 12) zum Zuweisen der durch die Bezeichnungsmittel bezeichneten Note zu wenigstens einem der mehreren Kanäle aufweist, und bei dem im Ansprechen auf eine Zuweisung der bezeichneten Note durch die Zuweisungsmittel die Effektbeigebungsmittel (16) eine Art eines beizugebenden Effekts in dem Kanal festlegen, dem die bezeichnete Note zugewiesen worden ist.
5. Elektronisches Musikinstrument nach irgendeinem der Ansprüche 1-4, das außerdem Klangfarbenauswählmittel (20) zum Auswählen einer Klangfarbe eines in dem jeweiligen Kanal zu erzeugenden Tons und Mittel (20, 10) aufweist zum Auswählen eines Effekt in Entsprechung zu der durch die Auswählmittel ausgewählten Klangfarbe, und bei dem die Effektbeigebungsmittel (16) in dem jeweiligen Kanal den in Entsprechung zu der Klangfarbe ausgewählten Effekt beigeben.
6. Elektronisches Musikinstrument nach irgendeinem der Ansprüche 1-5, bei dem die Effektbeigebungsmittel in der Lage sind, getrennt für den jeweiligen Kanal die Art eines Effekts auszuwählen, der dem Kanal beigegeben werden soll.
7. Elektronisches Musikinstrument nach irgendeinem der Ansprüche 1-6, bei dem die Effektbeigebungsmiftel in entsprechenden Beziehungen zu den Kanälen Verzögerungsmittel (4B) oder Speichermittel (62, 63; 78) enthalten, die zur Signalverzögerungsverarbeitung verwendet werden sollen, und bei der, wenn die Tonquellenmittel einen Abklingprozess durchführen, um, eine Tonerzeugung in irgendeinem der Kanäle zu stoppen, die Effektbeigebungsmittel nach Beendigung des Abklingprozesses die Verzögerungsmittel oder Speichermittel, die bis dahin benutzt worden sind, auf andere Verzögerungsmittel oder Speichermittel umschalten.
8. Elektronisches Musikinstrument nach irgendeinem der Ansprüche 1-6, bei dem die Effektbeigebungsmittel Signalverzögerungsspeichermittel (4B; 62, 63; 78), die in entsprechenden Beziehungen zu den Kanälen vorgesehen sind, und Mittel (7B) aufweisen, um, wenn ein Abschneideprozess durchgeführt wird, um einen Ton zu verstummen, der in einem bestimmten der Kanäle erzeugt worden ist, so dass ein neuer Ton in dem bestimmten Kanal erzeugt werden kann, gespeicherte Inhalte der Speichermittel, die für den bestimmten Kanal verwendet wurden, zu löschen, so dass der bestimmte Kanal zur Signalverzögerung des neuen Tons im Ansprechen auf die Verstummung des Tons verfügbar wird.
9. Elektronisches Musikinstrument nach Anspruch 1, bei dem die Effektbeigebungsmittel (16; EF1 - EF32) Speichermittel (62, 63; 78) mit wenigstens zwei Speicherbereichen aufweisen, die zur Verzögerung eines Tonabtastdatenwertes von wenigstens einem der Tonsignale zu verwenden sind, und die Effektbeigebungsmittel einen Verzögerungsprozess durchführen, um mehrere Abtastdaten eines Tonsignals mittels eines der Speicherbereiche sequentiell zu verzögern, so dass ein vorgegebener Effekt einem Ton auf der Grundlage des Verzögerungsprozesses beigegeben wird, und
wobei das elektronische Musikinstrument außerdem folgendes aufweist:
Zuführmittel (10, 18) zur Zuführung einer Steuerinformation, die anzeigt, dass eine Tonerzeugung für die ersten Tonabtastdaten, die den Effektbeigebungsmitteln vorher eingegeben worden sind, zum Abklingen gebracht werden sollen, um so zu ermöglichen, dass zweite Tonabtastdaten den Effektbeigebungsmitteln anstelle der ersten Tonabtastdaten nachfolgend eingegeben werden, und
Steuermittel (10, 7A; 61), die auf die Steuerinformation ansprechen zum Beenden der Verwendung von einem der zwei Speicherbereiche, die für den Verzögerungsprozess der ersten Tonabtastdaten verwendet worden sind, um so einem anderen der Speicherbereich zu ermöglichen, für den Verzögerungsprozess der zweiten Tonabtastdaten verwendet zu werden.
10. Elektronisches Musikinstrument nach Anspruch 9, bei dem die Effektbeigebungsmittel den Tonabtasdatenwert individuell für mehrere Kanäle empfangen und die Effektbeigebungsmittel individuelle Effekte der Tonabtastdateneingabe für die mehreren Kanäle beigeben, und bei dem die Steuerinformation durch die Zuführmittel (10, 18) zugeführt wird, falls der erste Tonabtastdatenwert zuerst einem bestimmten der Kanäle eingegeben wird und dann der zweite Abtastdatenwert diesem bestimmten Kanal eingegeben wird.
11. Elektronisches Musikinstrument nach Anspruch 1, das außerdem folgendes aufweist:
Eingabemittel (71) zum Eingeben von Tonabtastdaten von wenigstens einem der Tonsignale, das mit einem Effekt belegt werden soll, in die Effektbeigebungsmittel, und
bei dem die Effektbeigebungsmittel (16; EF1 - EF32) Toneffekte individuell für mehrere Kanäle beigeben und Speicherbereiche (78; A1 - A40) enthalten, die zur Verzögerung von Tonabtastdaten des jeweiligen Kanals getrennt von dem anderen Kanal verwendet werden sollen, wobei die Anzahl der Speicherbereiche wenigstens um einen größer ist als die Anzahl der Kanäle, die Effektbeigebungsmittel einen Verzögerungsprozess durchführen, um mehrere Abtastdaten eines Tonsignals für irgendeinen der Kanäle mittels einem der Speicherbereiche sequentiell verzögern, so dass ein vorgegebener Klangeffekt dem Tonsignal auf der Grundlage des Verzögerungsprozesses beigegeben wird, und
wobei das elektronische Musikinstrument zudem folgendes aufweist:
Steuermittel (10, 7A, 75, 76), um, wenn ein neuer Tonabtastdatenwert für einen bestimmten der Kanäle über die Eingabemittel (71) eingegeben wird, einen unbenutzten der Speicherbereiche für den bestimmten Kanal zu belegen, so dass der unbenutzte Speicherbereich neu für den Verzögerungsprozess des neuen Tonabtastdatenwert verwendet wird.
12. Elektronisches Musikinstrument nach Anspruch 11, bei dem jeder der Speicherbereiche eine Größe hat, die nicht festliegt, sondern wahlweise variiert wird.
DE69517896T 1994-09-13 1995-09-11 Elektronisches Musikinstrument und Vorrichtung zum Hinzufügen von Klangeffekten zum Tonsignal Expired - Lifetime DE69517896T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP24483294A JP3358324B2 (ja) 1994-09-13 1994-09-13 電子楽器
JP7210996A JP3050779B2 (ja) 1995-07-26 1995-07-26 信号処理装置

Publications (2)

Publication Number Publication Date
DE69517896D1 DE69517896D1 (de) 2000-08-17
DE69517896T2 true DE69517896T2 (de) 2001-03-15

Family

ID=26518378

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69517896T Expired - Lifetime DE69517896T2 (de) 1994-09-13 1995-09-11 Elektronisches Musikinstrument und Vorrichtung zum Hinzufügen von Klangeffekten zum Tonsignal

Country Status (4)

Country Link
US (1) US5703312A (de)
EP (1) EP0702348B1 (de)
KR (2) KR100366721B1 (de)
DE (1) DE69517896T2 (de)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3261878B2 (ja) * 1994-08-10 2002-03-04 ヤマハ株式会社 音響信号発生装置
JP2924745B2 (ja) * 1995-10-20 1999-07-26 ヤマハ株式会社 楽音発生装置及び方法
US5596159A (en) * 1995-11-22 1997-01-21 Invision Interactive, Inc. Software sound synthesis system
JP3019767B2 (ja) * 1995-12-28 2000-03-13 ヤマハ株式会社 デジタル信号処理装置
DE69704996T2 (de) * 1996-08-05 2002-04-04 Yamaha Corp., Hamamatsu Software-Tonerzeuger
EP1094442B1 (de) * 1996-11-27 2005-01-19 Yamaha Corporation Verfahren zur Erzeugung von Musiktönen
JP3134806B2 (ja) * 1997-05-22 2001-02-13 ヤマハ株式会社 効果付与装置および記録媒体
US5998724A (en) * 1997-10-22 1999-12-07 Yamaha Corporation Tone synthesizing device and method capable of individually imparting effect to each tone to be generated
JP3365354B2 (ja) * 1999-06-30 2003-01-08 ヤマハ株式会社 音声信号または楽音信号の処理装置
JP2001318672A (ja) * 2000-03-03 2001-11-16 Sony Computer Entertainment Inc 楽音発生装置
US7728213B2 (en) * 2003-10-10 2010-06-01 The Stone Family Trust Of 1992 System and method for dynamic note assignment for musical synthesizers
WO2007123549A1 (en) * 2006-04-25 2007-11-01 The Stone Family Trust Of 1992 System and method for dynamic note assignment for musical synthesizers
EP2015855B1 (de) * 2006-05-05 2016-10-05 The Stone Family Trust Of 1992 System und verfahren zur dynamischen notenzuordnung für musik-synthesizer
JP4656076B2 (ja) * 2007-03-16 2011-03-23 カシオ計算機株式会社 音響効果割当制御装置及び音響効果割当制御プログラム
TWI337339B (en) * 2007-06-23 2011-02-11 Princeton Technology Corp Audio process system
US9418641B2 (en) 2013-07-26 2016-08-16 Audio Impressions Swap Divisi process
WO2015053415A1 (ko) * 2013-10-07 2015-04-16 허효영 전원 공급장치
JP6252642B1 (ja) * 2016-09-27 2017-12-27 カシオ計算機株式会社 効果付与装置、効果付与方法、プログラムおよび電子楽器

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5865487A (ja) * 1981-10-15 1983-04-19 ヤマハ株式会社 電子楽器
US4703680A (en) * 1985-04-24 1987-11-03 Nippon Gakki Seizo Kabushiki Kaisha Truncate prioritization system for multi channel electronic music generator
US4998281A (en) * 1987-08-20 1991-03-05 Casio Computer Co., Ltd. Effect addition apparatus
EP0463411B1 (de) * 1990-06-28 1999-01-13 Casio Computer Company Limited Vorrichtung zur Erzeugung von Musikwellenformen
EP0463409B1 (de) * 1990-06-28 1998-12-30 Casio Computer Company Limited Vorrichtung zur Erzeugung von Musikwellenformen
JP2545297B2 (ja) * 1990-07-18 1996-10-16 株式会社河合楽器製作所 電子楽器のパラメータ設定装置
JP2538809B2 (ja) * 1990-09-25 1996-10-02 株式会社河合楽器製作所 楽音発生装置
US5410603A (en) * 1991-07-19 1995-04-25 Casio Computer Co., Ltd. Effect adding apparatus
US5463691A (en) * 1992-10-11 1995-10-31 Casio Computer Co., Ltd. Effect imparting apparatus having storage units for storing programs corresponding to form and effect to be imparted to an input signal and for storing output form programs to determine form of output signal with imparted effect
JP3072452B2 (ja) * 1993-03-19 2000-07-31 ヤマハ株式会社 カラオケ装置

Also Published As

Publication number Publication date
KR960011830A (ko) 1996-04-20
KR100366721B1 (ko) 2003-03-10
EP0702348B1 (de) 2000-07-12
EP0702348A1 (de) 1996-03-20
DE69517896D1 (de) 2000-08-17
KR100411940B1 (ko) 2003-12-18
US5703312A (en) 1997-12-30

Similar Documents

Publication Publication Date Title
DE69517896T2 (de) Elektronisches Musikinstrument und Vorrichtung zum Hinzufügen von Klangeffekten zum Tonsignal
DE69614765T2 (de) Durch Rechner gesteuertes Musiksystem mit hard- und softwareorientierter Tonerzeugung
DE69619587T2 (de) Verfahren und Vorrichtung zur Tonerzeugung
DE69711518T2 (de) Auf Software basierendes Tonquellensystem und Verfahren zur Erzeugung von akustischen Wellenformdaten
DE69617480T2 (de) Vorrichtung zur Verarbeitung eines digitales Klangsignals
DE3546665C2 (de)
DE3788710T2 (de) Tonsignalverarbeitungsvorrichtung mit einem digitalen Filter.
DE3177313T2 (de) Elektronisches Musikinstrument
DE2350143B2 (de) Digitaler tonsynthesizer
DE3786654T2 (de) Tonsignal-Erzeugungsvorrichtung mit einer digitalen Ton-Speicher-Funktion.
DE3750186T2 (de) Liefervorrichtung für Parameter in einem elektronischen Musikinstrument.
DE2404431B2 (de) Elektronisches Musikinstrument
DE3630611C2 (de)
DE3689928T2 (de) Effektvorrichtung für elektronisches Musikinstrument.
DE69130748T2 (de) Vorrichtung zur Erzeugung von Musikwellenformen
DE69613068T2 (de) Digitales Musikinstrument mit Wellenformbearbeitung zur Erzeugung eines Klangeffektes
EP0042555B1 (de) Verfahren zur digitalen Hüllkurvensteuerung eines polyphonen Musiksyntheseinstruments und Schaltungsanordnung zur Durchführung des Verfahrens
DE69130339T2 (de) Vorrichtung zur Erzeugung einer Ton-Wellenform
DE2828919C2 (de) Schaltungsanordnung für ein polyphones elektronisches Musikinstrument
DE69611874T2 (de) Verfahren und Vorrichtung zur Musiktonerzeugung
DE69519149T2 (de) Elektronisches Musikinstrument mit Klangveränderung durch äussere Angabe von Auswahl-Möglichkeiten
DE69321650T2 (de) In elektronischen Musikinstrumenten verwendete Vorrichtung zur Verarbeitung von digitalen Signalen
DE69515569T2 (de) Elektronisches Musikinstrument mit einer Umsetzungsfunktion für Effektdaten
DE69625625T2 (de) Verfahren und Vorrichtung zur auf Software basierten Tonwellenformerzeugung
DE69618738T2 (de) Verfahren und Vorrichtung zur Tonerzeugung

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