[0001] Die Erfindung bezieht sich auf ein elektronisches Tastenmusikinstrument mit Eingabeelementen,
wie Tonauslösetasten und digitalen und/oder analogen Bedienelementen, mit einem Hauptsystem,
das einen Daten-, Adreß- und Steuerleitungen aufweisenden Hauptsystem-Bus und einen
Speicher und Mikroprozessor aufweisenden Hauptsystem-Rechner besitzt, und mit mindestens
einem Stimmenmodul, das über den Hauptsystem-Bus mit dem Hauptsystem-Rechner verbunden
ist und aus von ihm in Abhängigkeit von den betätigten Eingabeelementen zugeführten
Parametern Tonsignale formt, und auf ein Verfahren zum Betrieb eines solchen elektronischen
Tastenmusikinstruments.
[0002] Bei einem bekannten elektronischen Tastenmusikinstrument dieser Art erzeugt jeder
Stimmenmodul das Tonsignal einer Stimme, indem dieses Signal punktweise aus gespeicherten
Digitalwerten zusammengesetzt wird. Diese Digitalwerte sind im Hauptsystem-Datenspeicher
als Tabelle oder aufgrund einer Berechnung durch den Hauptsystem-Rechner abgelegt.
Irgendwelche Änderungen der Eingabedaten führen praktisch sofort zu einer Änderung
des Speicherinhalts und damit zu einer Änderung des Tonsignals. Wenn aber mehrere
Stimmen vorhanden sind, wird der Datenspeicher sehr groß und die Arbeitsgeschwindigkeit
des Mikroprozessors reicht nicht mehr aus, um alle Stimmen akustisch einwandfrei zu
erzeugen.
[0003] Der Erfindung liegt die Aufgabe zugrunde, ein elektronisches Tastenmusikinstrument
der eingangs beschriebenen Art anzugeben, das auch beim Vorhandensein von mehreren
Stimmen oder Tonsignalen einwandfrei arbeitet, trotzdem aber auf Änderungen der Eingabedaten
sofort reagiert.
[0004] Diese Aufgabe wird erfindungsgemäß dadurch gelöst, daß der Stimmenmodul ein Untersystem
mit einem ebenfalls Daten-, Adreß- und Steuerleitungen aufweisenden Untersystem-Bus
und mit einem Speicher und Mikroprozessor aufweisenden Untersystem-Rechner besitzt
und daß zum Datenaustausch zwischen Haupt- und Untersystem ein Bus-Schalter vorgesehen
ist, der den Untersystem-Speicher abwechselnd mit dem Hauptsystem-Bus und dem Untersystem-Bus
verbindet.
[0005] Durch die Verwendung des Untersystem-Rechners wird der Hauptsystem-Rechner wirksam
entlastet. Der Hauptsystem-Rechner braucht lediglich bei einer Änderung der Eingabedaten
neue Parameter für die betreffende Stimme zu berechnen und über den Bus-Schalter in
den Untersystem-Speicher zu übertragen. Alsdann steht die Kapazität des Hauptsystem-Rechners
für andere Aufgaben zur Verfügung. Er kann beispielsweise Peripherie-Baugruppen zyklisch
abfragen. Der Mehraufwand für den Untersystem-Rechner ist gering, da sowohl an den
Mikroprozessor als auch an den Speicher keine hohen Anforderungen gestellt werden
müssen. Der den Untersystem-Speicher abwechselnd mit dem Hauptsystem- Bus und dem
Untersystem-Bus verbindende Bus-Schalter ermöglicht einen praktisch kontinuierlichen
Datenaustausch zwischen Haupt- und Untersystem, so daß jede im Hauptsystem verarbeitete
Änderung der Eingabedaten im "real time-Verfahren" in das Untersystem übertragen wird.
[0006] Günstig ist es, wenn der Bus-Schalter für bidirektionalen Datenaustausch ausgelegt
ist. Das Hauptsystem kann daher Rückmeldesignale vom Stimmenmodul empfangen, was für
manche Betriebsweisen zweckmäßig ist.
[0007] Bei einer bevorzugten Ausführungsform sind der Bus-Schalter und der Untersystem-Speicher
mit der doppelten Taktfrequenz des Hauptsystem-Mikroprozessors betreibbar. Sowohl
der Hauptsystem-Bus als auch der Untersystem-Bus stehen daher in jedem Takt des Hauptsystem-Mikroprozessors
mit dem Untersystem-Speicher in Verbindung. Das bedeutet, daß in jedem Zyklus des
Hauptsystem-Mikropro- zessors ein Datenaustausch erfolgen kann. Dies bereitet auch
technisch keine Schwierigkeiten, weil es handels- übliche Schalter und Speicher gibt,
die eine wesentlich höhere Arbeitsgeschwindigkeit als ein Mikroprozessor haben.
[0008] Der weiteren Vereinfachung dient es, wenn der Untersystem-Speicher ausschließlich
aus RAM-Speicherbereichen besteht. Es werden dann nicht nur Parameter für die Tonsignale
vom Hauptsystem auf das Untersystem übertragen sondern auch das jeweilige Steuerprogramm.
Dies erhöht die Flexibilität des Instruments.
[0009] Mit besonderem Vorteil hat der Stimmenmodul Ausgänge für mehrere von demselben Untersystem-Rechner
abhängige Stimmen. Hierdurch wird der Aufwand noch weiter verringert, weil nicht für
jede Stimme ein Untersystem-Rechner benötigt wird.
[0010] Ein Verfahren zum Betrieb eines solchen elektronischen Tastenmusikinstruments ist
erfindungsgemäß dadurch gekennzeichnet, daß Hauptsystem-Mikroprozessor und Untersystem-Mikroprozessor
mit gleicher Taktfrequenz, jedoch um eine halbe Zykluszeit versetzt, betrieben werden
und daß der Bus-Schalter den Untersystem-Speicher während der zweiten Hälfte der Zykluszeit
des Hauptsystem-Mikroprozessors mit dem Hauptsystem-Bus und während der zweiten Hälfte
der Zykluszeit des Untersystem-Mikroprozessors mit dem Untersystem-Bus verbindet.
Durch die zeitlich versetzte Betriebsweise der beiden Mikroprozessoren erhält man
die Möglichkeit, daß das Untersystem Daten des Hauptsystems mit einer Verzögerung
von nur einer halben Zykluszeit verarbeiten kann.
[0011] Aufgrund der Tatsache, daß wegen des bidirektionalen Datenaustauschs auch Rückmeldungen
möglich sind, empfiehlt sich eine Betriebsweise derart, daß für jede Stimme vom Untersystem-Rechner
ein Belegsignal, dessen Größe der augenblicklichen Bedeutung der Stimme im Gesamtklang
entspricht, in den Untersystem-Speicher geschrieben wird und der Hauptsystem-Rechner
im Bedarfsfall alle Belegsignale vergleicht und die Stimme mit dem kleinsten Belegsignal
stoppt. Wenn der Spieler eine neue Stimme anfordert, aber noch alle Stimmenmodule
besetzt sind, wird diejenige Stimme gestoppt, die im Gesamtklang die geringste Bedeutung
hat und deren Fortfall daher am wenigsten auffällt. An die Stelle der gestoppten Stimme
kann dann die neue Stimme treten.
[0012] Im einfachsten Fall ist das Belegsignal von der Lautstärke des Tonsignals der Stimme
abgeleitet.
[0013] Günstig ist es ferner, wenn alle Informationen, die zur Erzeugung einer Stimme erforderlich
sind, jeweils nach Beginn der Betätigung einer Tonauslösetaste vom Hauptsystem-Rechner
über den Bus-Schalter in den Untersystem-Speicher übertragen werden. Auf diese Weise
lassen sich die Stimmenausgänge der Untersysteme im Augenblick der Tonauslösung der
betreffenden Tonauslösetaste, gleichgültig, ob in Obermanual, Untermanual, Pedal oder
i Begleitautomatik, einschließlich der momentanen Registrierung zuordnen, so daß eine
optimale Ausnutzung der Stimmen möglich ist. Weiterhin kann nacheinander geschickten
Tasten jeweils ein neuer Klang zugeordnet werden.
[0014] Ferner kann man während der Stimmabgabe durch das Untersystem die Stimme ändernde
Parameter vom Hauptsystem-Rechner über den Bus-Schalter in den Untersystem-Speicher
nachführen. Während der Tonausgabe können daher auch Lautstärke-, Frequenz- und andere
Informationen vom Bediener nachgeführt werden.
[0015] Die Erfindung wird nachstehend anhand in der Zeichnung dargestellter, bevorzugter
Ausführungsformen näher erläutert. Es zeigen:
Fig. 1 ein Blockschaltbild des erfindungsgemäßen Tastenmusikinstruments,
Fig. 2 das Blockschaltbild eines Stimmenmoduls,
Fig. 3 ein Zeitdiagramm der Bus-Schalter-Arbeitsweise
Fig. 4 das Blockschaltbild eines weiteren Stimmenmoduls und
Fig. 5 das Blockschaltbild eines abgewandelten Stimmenmoduls.
[0016] In Fig. 1 ist ein elektronisches Musikinstrument in der Form einer Orgel veranschaulicht.
Sie weist ein Peripherie-Teil 1 auf, dessen Baugruppen sich im wesentlichen an der
Vorderseite der Orgel befinden, und einen Funktions-Teil 2, der im wesentlichen im
Innern des Orgelgehäuses angeordnet ist. Der Peripherie-Teil 1 weist in diesem Ausführungsbeispiel
die folgenden Baugruppen auf:
- Ein Bedien- und Anzeigefeld PAN1, das Bedientasten und zugehörige Anzeigeelemente
für den Orgelbetrieb aufweist, z.B. Registerschalter zum Ein- und Ausschalten von
Filtergruppen, Effekten, Tonkanälen u.dgl.
- Ein Bedien- und Anzeigefeld PAN2, das digitale Eingabeelemente in der Form von Bedientastern
und zugehörige Anzeigeelemente aufweist, welche einem eingebauten Rhythmusgerät und
Begleitautomaten zugeordnet sind.
- Ein Bedienfeld POT, das analoge, stetig veränderbare Bedienelemente, z.B. in der
Form von Potentiometern aufweist, beispielsweise Sinus-Zugriegel-Lautstärke-Einsteller,
Tonhöhenregler u.dgl.
- Ein Obermanual OM mit Tonauslösetasten.
- Ein Untermanual UM mit Tonauslösetasten.
- Ein Pedal PD mit Tonauslösetasten.
[0017] Die vorgenannten Baugruppen sind über einen Peripherie-Bus PB mit einem Hauptsystem
3 verbunden, das einen Rechner MC besitzt, welcher einen Mikroprozessor CPU, einen
Programmspeicher ROM und einen Datenspeicher RAM enthält. Mit Hilfe des Hauptsystem-Rechners
werden die Zustände der aus den Tonauslösetasten, den digitalen und den analogen Bedienelementen
bestehenden Eingabeelementen zyklisch abgefragt und im Datenspeicher RAM festgehalten.
Der Hauptsystem-Rechner MC steuert auch die Anzeigeelemente.
[0018] Zum Hauptsystem 3 gehört ein Hauptsystem-Bus HB, der wie der Peripherie-Bus Adreß-,
Daten- und Steuerleitungen aufweist. An diesen Hauptsystem-Bus sind die nachstehenden
Baugruppen des Funktions-Teils 2 angeschlossen:
- Eine Stimmenerzeugungs-Baugruppe 4 mit mehreren Stimmenmodulen V1, V2 und V3, die
beim Betätigen einer Tonauslösetaste in Abhängigkeit von den betätigten Bedienelementen
unter Steuerung durch den Rechner MC Tonsignale zu erzeugen vermag, die an einen Audio-Bus
ausgebbar sind.
- Eine Effekterzeugungs-Baugruppe 5 mit mehreren Effektmodulen E1, E2 und E3, welche
der Nachbehandlung der von den Stimmenmodulen V1-V3 erzeugten Tonsignale dienen.
- Eine Schlagzeug-Baugruppe D, die Schlagzeug-Audio-Signale auf den Audio-Bus AB ausgibt.
- Eine Schnittstellen-Baugruppe IF, die eine bidirektionale Verbindung zwischen Hauptsystem-Bus
und Audio-Bus ermöglicht.
- Eine Verstärker-Baugruppe A, welche mehrere Lautsprecher L1 und L2 sowie einen Kopfhöreranschluß
KH versorgt.
[0019] Ferner ist mit dem Audio-Bus AB eine Anschluß-Vorrichtung C verbunden, die den Anschluß
von Tonträgern, z.B. von Kassetten, ermöglicht.
[0020] Fig. 2 zeigt den Aufbau eines Stimmenmoduls V1, der gleichzeitig vier Stimmen zu
erzeugen vermag, wobei jede Stimme aus zwei Tonkurven und zwei Hüllkurven gebildet
wird. Demzufolge hat der Stimmenmodul V1 acht Ausgangsregister AR. Zur Stimmenerzeugung
dient ein Untersystem 6 mit einem Untersystem-Rechner UMC, der einen Untersystem-Speicher
URAM und einen Untersystem-Mikroprozessor UCPU aufweist. Ein Bus-Schalter BS vermag
den zu dem Untersystem-Speicher URAM führenden Speicher-Bus SB abwechselnd mit dem
Hauptsystem-Bus HB und einem Untersystem-Bus UB zu verbinden. Zu diesem Zweck ist
die Taktgeschwindigkeit des Bus-Schalters BS doppelt so groß wie diejenige vom Hauptsystem-Rechner
MC und Untersystem-Rechner UMC. Auf diese Weise kann sowohl das Untersystem 6 Daten
aus dem Hauptsystem 3 als auch das Hauptsystem Daten aus dem Untersystem übernehmen.
In den Untersystem-Speicher URAM werden vom Hauptsystem sowohl das Programm für das
Untersystem als auch Parameter für die vier Stimmen geladen.
[0021] Der Untersystem-Bus UB verbindet den Untersystem-Rechner UCPU, einen Mehrfach-Zeitgeber
T, eine Speicherzugriffssteuerschaltung DMAC, einen 12-bit-Digital-Analog-Wandler
DAC1, einen 8-Kanal-Multiplexer MUX1 mit acht Hüllkurvenregistern SH in der Form von
Abtast- und Haltegliedern, einen doppelt gepufferten 8-Kanal-8-bit-Digital-Analog-Wandler
DAC2 und eine als Kreuzpunkt-Matrix CPM ausgelegte Anordnung von Stimmenausgangsschaltern
miteinander. Außerdem gibt es eine Ablaufsteuerschaltung ALO. Der Untersystem-Mikroprozessor
UCPU dient der Initialisierung, der Berechnung der Hüllkurven sowie der Programmierung
des Mehrfach-Zeitgebers T, der Speicherzugriffssteuerschaltung DMAC und der Kreuzpunkt-Matrix
CPM. Der Mehrfach-Zeitgeber T bestimmt die Frequenz der vier Stimmen und die Wiederholfrequenz
der Hüllkurvenberechnung. Er gibt daher vier voneinander unabhängige Zeitsignale TO,
nämlich für jede Stimme eine Folge von Zeitsignalen mit der vielfachen Frequenz der
Stimmen, ab. Die Speicherzugriffssteuerschaltung DMAC bewirkt ein wiederholtes Auslesen
der Tonkurven-Digitalwerte für die vier Stimmen aus dem Untersystem-Speicher URAM.
Im Digital-Analog-Wandler DAC1 erfolgt die Digital-Analog-Wandlung der Hüllkurven
der vier Stimmen, deren Einzelwerte anschließend über eine Leitung HK und den Multiplexer
MUX1 auf die Hüllkurven-Register SH gegeben werden. Über den Hüllkurven-Bus HKB werden
daher acht verschiedene Hüllkurvenspannungen an den Digital-Analog-Wandler DAC2 gelegt.
Dieser Wandler empfängt mit Hilfe der Speicherzugriffsschaltung DMAC einzelne Werte
aus einer im Datenspeicher URAM abgelegten Tabelle zur Erzeugung von acht Tonkurven.
Diese Werte werden in acht Kanälen über einen Zwischenspeicher ZS in digitale Ausgangsregister
AR übertragen, mit der jeweiligen Hüllkurvenspannung multipliziert und dann als analoge
Tonsignale auf die entsprechende Leitung des 8-Kanal-Tonsignal-Bus TSB geleitet. Mittels
der Kreuzpunkt-Matrix CPM werden die Tonsignale auf eine oder mehrere Leitungen des
Audio-Bus AB geschaltet oder von diesen Leitungen abgeschaltet.
[0022] Hiermit ergibt sich im Betrieb der folgende Ablauf:
Beim Initialisieren (Einschalten) wird mittels des Hauptsystem-Bus HB das Programm
für die Untersystem-Mikroprozessor UCPU über den Bus-Schalter BS in die Untersystem-Speicher
URAM geladen. Dieses Programm ist leicht änderbar, da es jeweils vom Hauptsystem bestimmt
wird. Durch Wegschalten eines Resetsignals wird der Untersystem-Mikroprozessor UCPU
gestartet und initialisiert die Baugruppen des Untersystems, wie Zeitgeber T, Kreuzpunkt-Matrix
CPM, Speicherzugriffssteuerschaltung DMAC usw.
[0023] Sobald ein beliebiger Ton erklingen soll, gleichgültig ob er durch eine Tonauslösetaste
des Obermanuals OM, des Untermanuals UM oder des Pedals PD oder von einer Begleitautomatik
ausgelöst ist, schreibt das Hauptsystem über den Bus-Schalter BS Parameter (beispielsweise
etwa 170 Bytes) in den Untersystem-Speicher URAM und gibt dann ein Startkommando in
diesen Speicher. Der Untersystem-Mikroprozessor UCPU kann dieses Startkommando nach
dem nächsten Umschalten des Bus-Schalters lesen und erzeugt darauf die entsprechende
Stimme, indem er den Zeitgeber T setzt, die Speicherzugriffssteuerschaltung DMAC aktiviert,
die Kreuzpunkt-Matrix CPM auf den gewünschten Audio-Kanal durchschaltet sowie Hüllkurven
berechnet und ausgibt.
[0024] Der Zeitgeber T gibt für die gewählte Stimme Zeitsignale TO mit einem Vielfachen
der gewünschten Frequenz an die Ablaufsteuerschaltung ALO ab. Diese gibt einen Übertragungsbefehl
DREQ an die Speicherzugriffssteuerschaltung DMAC, die für die gewählte Stimme Digitalwerte
einer Tonkurve aus dem Untersystem-Speicher URAM abruft. Sobald dies erfolgt, wird
durch ein Bestätigungssignal DACK die Ablaufsteuerschaltung ALO angesteuert, um ein
Schreibsignal WR an den Zwischenspeicher ZS des zugehörigen Kanals des Digital-Analog-Wandlers
DAC2 abzugeben. Eine Vorrangschaltung in der Ablaufsteuerschaltung ALO sorgt dafür,
daß der zur zweiten Tonkurve der gewählten Stimme gehörende Übertragungsbefehl DREQ
und der entsprechende Schreibbefehl WR um einen Arbeitszyklus verzögert wird. Die
zum gleichen Zeitsignal gehörenden Digitalwerte werden daher zeitlich versetzt in
den Zwischenspeicher der entsprechenden Kanäle des Digital-Analog-Wandlers DAC2 eingeschrieben.
[0025] Dem Zwischenspeicher ZS ist ein digitales Ausgangsregister AR nachgeschaltet, in
welches die Zwischenspeicherwerte beim Auftreten eines Ablagebefehls XFER übertragen
werden. Dieser Ablagebefehl tritt zeitgleich mit dem Zeitsignal TO auf. Die zeitlich
versetzt eingelesenen Daten werden daher zeitgleich vom Ausgangsregister ZR her auf
den Tonsignal-Bus TSB analog umgesetzt und abgegeben. Die gleiche zeitliche Versetzung
der Übertragungsbefehle DREQ erfolgt auch, wenn die Zeitsignale zweier Stimmen gleichzeitig
auftreten sollten.
[0026] Der Digital-Analog-Wandler DAC1 setzt die Hüllkurven für die verschiedenen Tonsignale
aus im Untersystem berechneten Digitalwerten zusammen. Da dies im Zeitmultiplex-Verfahren
erfolgt, werden die über den einen Kanal HK abgegebenen Analogwerte mit dem Multiplexer
MUX1 auf die Hüllkurvenregister SH verteilt. Die so gebildeten Hüllkurvenspannungen
dienen als Multiplikationsfaktor für die vom digitalen Ausgangsregister AR her zugeführten
Tonkurvenwerte.
[0027] Da für jede Stimme zwei Hüllkurven und zwei Tonkurven zur Verfügung stehen, kann
man aus den jeweils zwei Tonsignal-Komponenten äußerst komplizierte Klänge erzeugen.
Beispielsweise kann gleichzeitig Sinus + Perkussion oder Piano + Streicher erzeugt
werden. Es können aber auch veränderliche Klänge hervorgerufen werden, beispielsweise
eine Gitarre mit Saitenton + angezupftem Plektrum oder bei einer Panflöte Sinuston
+ Rauschen oder eine Schwebung durch gegenläufige Amplitutenmodulation der Komponenten.
[0028] Wenn sämtliche Stimmen aller Stimmenmodule belegt sind, aber eine neue Stimme erklingen
soll, muß eine der bisher laufenden Stimmen gestoppt werden. Zu diesem Zweck schreibt
der Untersystem-Mikroprozessor UCPU für jede Stimme ein Belegsignal in den Untersystem-Speicher
URAM, wo ihn der Hauptsystem-Mikroprozessor CPU abrufen kann. Das Belegsignal entspricht
der momentanen Lautstärke der Stimme und gibt daher ein Maß für die Bedeutung der
Stimme im Gesamtklang. Falls der Ton perkussiv ist, klingt er von selber aus und das
Untersystem meldet dies mit dem Belegsignal Null. Durch Abfragen der Belegsignale
aller Untersysteme kann das Hauptsystem, wenn eine neue Stimme ausgegeben werden soll,
einen nicht vollständig belegten Stimmenmodul suchen oder wenn alle Stimmen im Moment
belegt sind, diejenige mit dem niedrigsten Belegsignal suchen und für diese einen
Abbruchbefehl geben. Der Untersystem-Mikroprozessor UCPU liest diesen Befehl und schaltet
die Stimme aus, worauf das Belegsignal auf Null geht. Jetzt kann das Hauptsystem die
neue Stimme starten.
[0029] Wenn das Tonsignal ausgeschaltet werden soll, prüft der Hauptsystem-Rechner, ob dieses
Tonsignal im Untersystem noch läuft, also nicht perkussiv ist und noch nicht gestoppt
wurde oder bei perkussivem Klang noch nicht ganz ausgeklungen ist. Gegebenenfalls
schreibt er einen Freigabebefehl für diese Stimme in den Untersystem-Speicher URAM.
Das Untersystem geht dann bei der Hüllkurvenberechnung auf die Freigabe-Phase, die
je nach Hüllkurvenart kürzer oder länger ist und meldet sich mit dem Belegsignal Null
dann frei, wenn die Hüllkurve ganz ausgeklungen ist.
[0030] Daneben führt das Hauptsystem auf bestimmten Adressen den Untersystem-Speichern URAM
die zu den im Moment erzeugten Stimmen gehörigen Lautstärken, Slalomeinstellungen
und womöglich andere während der Tondauer veränderliche Parameter nach.
[0031] Die als Kreuzpunkt-Matrix CPM angeordneten Stimmenausgangsschalter dienen dazu, die
Stimmen je nach Art auf bestimmte Nachbehandlungskanäle zu schalten, so daß eine Nachbehaltung
in den Effekt-Baugruppen El - E3 erfolgen kann, oder zur Unterdrückung von Störsignalen
ganz von den Audio-Bus-Leitungen wegzuschalten, wenn die Stimme nicht belegt ist.
[0032] Die Betriebsweise des Bus-Schalters,BS ist in Fig. 3 veranschaulicht. In der obersten
Zeile sind die Zyklen N, N+1, N+2 ... des Hauptsystem-Mikroprozessors CPV angegeben,
in der zweiten Zeile die um die halbe Zyklusdauer versetzten Zyklen i, i+1, i+2 ...
des Untersystem-Mikroprozessors UCPU. In der dritten Zeile ist das Schaltsignal bzw.
der Schaltzustand des Bus-Schalters BS gezeigt. Die vierte Zeile gibt an, wielange
der Speicher-Bus SB jeweils mit dem Hauptsystem-Bus HB und dem Untersystem- Bus UB
in Verbindung steht. Der Speicher-Bus SB wird immer in der zweiten Hälfte des jeweiligen
Rechnerzyklus an den zugehörigen Bus des Hauptsystems bzw. des Untersystems geschaltet.
Dadurch kann jeder Mikroprozessor CPU und UCPU den Untersystem-Speicher URAM lesen
und in ihn schreiben, als wäre er normal auf den zugehörigen Bus geschaltet. Da der
Untersystem-Speicher URAM schneller arbeitet als die Mikroprozessoren, ist es zulässig,
daß er nur über einen Teil der Zykluszeit mit dem jeweiligen Mikroprozessor in Verbindung
steht.
[0033] Bei der Ausführungsform nach Fig. 4 werden für gleiche Teile dieselben Benennungen
wie in Fig. 1 benutzt. Unterschiedlich ist im wesentlichen, daß die Ablaufsteuerschaltung
ALO direkt auf den Untersystem-Mikroprozessor UCPU einwirkt und beim Auftreten des
Übertragungsbefehls DREQ das Hintergrundprogramm dieses Mikroprozessors unterbricht
und ein Übergabeprogramm startet. Außerdem werden Tonkurven und Hüllkurven nicht getrennt
nachgebildet sondern die Digitalwerte für das ausgehende Tonsignal rechnerisch ermittelt
und in den l-Kanal-Digital-Analog-Wandler DAC3 gegeben. Die Ausgänge des nachgeschalteten
Multiplexers MUX2 können daher unmittelbar auf die Ausgangsregister AR gelegt werden,
die über den Tonsignal-Bus TSB mit der Kreuzpunkt-Matrix CPM in Verbindung stehen.
Dem Ausgangsregister AR ist ein Zwischenspeicher ZS vorgeschaltet, der beim Auftreten
des mit einem Zeitsignal TO übereinstimmenden Ablagebefehl XFER die Analogwerte der
zur gleichen Stimme gehörenden Tonsignale gleichzeitig in das Ausgangsregister gibt,
auch wenn sie zuvor nacheinander im Digital-Analog-Wandler DAC3 behandelt worden sein
sollen.
[0034] In Fig. 5 ist ein Stimmenmodul veranschaulicht, das lediglich für eine Stimme bestimmt
ist. Hier werden wiederum die bereits aus Hüllkurve und Tonkurve zusammengesetzten
Werte des Tonsignals berechnet und im Digital-Analog-Wandler DAC4 zu einem Tonsignal
zusammengesetzt. Dieses kann mit einem Analog-Multiplexer MUX3 auf eine von mehreren
Audio-Bus-Leitungen gegeben werden.
[0035] Für alle Bauelemente, wie
Hauptsystem-Mikroprozessor CPU
Programmspeicher ROM
Datenspeicher RAM
Untersystem-Mikroprozessor UCPU
Untersystem-Speicher URAM
Bus-Schalter BS
Zeitgeber T
Speicherzugriffssteuerschalter DMAC
Ablauf-Steuerschaltung ALO
Multiplexer MUXI
Multiplexer MUX2
Multiplexer MUX 3
Kreuzpunkt-Matrix CPM
Digital-Analog-Wandler DAC1
Digital-Analog-Wandler DAC2
Digital-Analog-Wandler DAC3
Digital-Analog-Wandler DAC4
wurden handelsübliche Bauteile verwendet.
1. Elektronisches Tastenmusikinstrument mit Eingabeelementen, wie Tonauslösetasten
und digitalen und/oder analogen Bedienelementen, mit einem Hauptsystem, das einen
Daten-, Adreß- und Steuerleitungen aufweisenden Hauptsystem-Bus und einen Speicher
und Mikro- prozessor aufweisenden Hauptsystem-Rechner besitzt, und mit mindestens
einem Stimmenmodul, der über den ! Hauptsystem-Bus mit dem Hauptsystem-Rechner verbunden
ist und aus von ihm in Abhängigkeit von den betätigten Eingabeelementen zugeführten
Parametern Tonsignale formt, dadurch gekennzeichnet, daß der Stimmenmodul (V1 - V3)
ein Untersystem (6) mit einem ebenfalls Daten-, Adreß- und Steuerleitungen aufweisenden
Untersystem-Bus (UB) und mit einem Speicher (URAM) und Mikroprozessor (UCPU) aufweisenden
Untersystem-Rechner (UMC) besitzt und daß zum Datenaustausch zwischen Haupt- und Untersystem
ein Bus-Schalter (BS) vorgese- hen ist, der den Untersystem- Speicher abwechselnd
mit dem Hauptsystem-Bus (HB) und dem Untersystem-Bus (UB) verbindet.
2. Tastenmusikinstrument nach Anspruch 1, dadurch gekennzeichnet, daß der Bus-Schalter
(BS) für bidirektionalen Datenaustausch ausgelegt ist.
3. Tastenmusikinstrument nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß der Bus-Schalter
(BS) und der Untersystem-Speicher (URAM) mit der doppelten Taktfrequenz des Hauptsystem-Mikroprozessors
(CPV) betreibbar sind.
4. Tastenmusikinstrument nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet,
daß der Untersystem-Speicher (URAM) ausschließlich aus RAM-Speicherbereichen besteht.
5. Tastenmusikinstrument nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet,
daß der Stimmenmodul (V1) Ausgänge für mehrere von demselben Untersystem-Rechner (UMC)
abhängige Stimmen hat.
6. Verfahren zum Betrieb eines elektronischen Tastenmusikinstruments nach einem der
Ansprüche 1 bis 5, dadurch gekennzeichnet, daß Hauptsystem-Mikroprozessor und Untersystem-Mikroprozessor
mit gleicher Taktfrequenz, jedoch um eine halbe Zykluszeit versetzt, betrieben werden
und daß der Bus-Schalter den Untersystem-Speicher während der zweiten Hälfte der Zykluszeit
des Hauptsystem-Mikroprozessors mit dem Hauptsystem-Bus und während der zweiten Hälfte
der Zykluszeit des Untersystem-Mikroprozessors mit dem Untersystem-Bus verbindet.
7. Verfahren zum Betrieb eines elektronischen Tastenmusikinstruments nach einem der
Ansprüche 2 bis 6, dadurch gekennzeichnet, daß für jede Stimme vom zugehörigen Untersystem-Rechner
ein Belegsignal, dessen Größe der augenblicklichen Bedeutung der Stimme im Gesamtklang
entspricht, in den Untersystem-Speicher geschrieben wird und der Hauptsystem-Rechner
im Bedarfsfall alle Belegsignale vergleicht und die Stimme mit dem kleinsten Belegsignal
stoppt.
8. Verfahren nach Anspruch 7, dadurch gekennzeichnet, daß das Belegsignal von der
Lautstärke des Tonsignals der Stimme abgeleitet ist.
9. Verfahren zum Betrieb eines elektronischen Tastenmusikinstruments nach einem der
Ansprüche 1 bis 5, dadurch gekennzeichnet, daß alle Informationen, die zur Erzeugung
einer Stimme erforderlich sind, jeweils nach Beginn der Betätigung einer Tonauslösetaste
vom Hauptsystem-Rechner über den Bus-Schalter in den Untersystem-Rechner übertragen
werden.
10. Verfahren nach Anspruch 9, dadurch gekennzeichnet, daß während der Stimmenausgabe
durch das Untersystem die Stimme ändernde Parameter vom Hauptsystem-Rechner über den
Bus-Schalter in den Untersystem-Speicher nachführbar sind.