[0001] Die Erfindung betrifft ein Verfahren zur digitalen Hüllkurvensteuerung eines polyphonen
Musiksyntheseinstruments sowie eine Schaltungsanordnung zur Durchführung des Verfahrens.
[0002] Digital arbeitende elektronische Musikinstrumente, sogenannte Musiksyntheseinstrumente,
sind bekannt und beispielsweise beschrieben in den FR-OSen 79 15 337 und 80 03 892.
Sie beruhen auf dem Prinzip, die zu Gehör zu bringenden Frequenzen durch Abtastung
von Phasenzählern und Integration der Ausgangsimpulse zu synthetisieren. Damit lassen
sich die hörbaren Frequenzen polyphon erzeugen, wobei man davon ausgehen kann, daß
auf dem Instrument gleichzeitig acht Töne spielbar sein können. Unter "Ton" soll dabei
eine einzelne Grundfrequenz plus dem Oberwellengehalt verstanden werden, der für ein
beispielsweise zu simulierendes traditionelles Musikinstrument typisch ist. Der Oberwellenanteil
kann bis zu acht oder sogar zehn Harmonische umfassen, und die Einzelfrequenzen sollen
hier und im folgenden als "Einzeltöne" bezeichnet werden. Ein "Ton" mit fünf Ober-
wellenanteilen
' umfaßt demgemäß sechs "Einzeltöne".
[0003] Der Oberwellengehalt ist jedoch nicht das alleinige zu berücksichtigende Kriterium.
Ebenso bedeutsam ist der Verlauf der Hüllkurve, also das "Anklingen" und "Abklingen",
das wiederum typisch ist für einzelne zu simulierende traditionelle Musikinstrumente;
dabei gibt es nicht nur charakteristische Amplitudentransitionen, sondern auch Frequenzvariationen,
zum Beispiel das typische Vibrato bei Saiteninstrumenten.
[0004] Von einem Musiksyntheseinstrument sollten daher bis zu 200 und mehr unterschiedliche
Hüllkurven gleichzeitig erzeugt werden können, um alle musikalischen Möglichkeiten
und Wünsche zu verwirklichen.
[0005] Bei bisher bekannten Musiksyntheseinstrumenten erzeugt man eine Hüllkurve für das
Anklingen und Abklingen nur eines Einzeltones, während die übrigen gleichzeitig gespielten
Einzeltöne hinsichtlich Amplitude und Frequenz unbeeinflußt bleiben. Um auch für die
übrigen Einzeltöne Hüllkurven zu erzeugen, wird die Zahl der Hüllkurvenschaltkreise
entsprechend vervielfacht.
[0006] Eine Schaltungsanordnung, bei der die Hüllkurven auch der Obertöne eines gespielten
Grundtones variiert werden können, ist aus der DE-OS 25 43 143 bekannt. Dort werden
in einem Tonfarbenspeicher die Zeitdauer für das Anklingen bis zu einem durch Schalter
einstellbaren Maximalwert und die Zeitdauer für das Abklingen bis zu einem ebenfalls
schalterbeeinflußbaren Haltewert gespeichert, und diese Werte werden im Zeitmultiplex
ausgelesen und einer Steuereinheit zugeführt. Mit dieser Schaltung wird zwar nur wenig
Speicherkapazität benötigt, doch ist die Variationsbreite sehr begrenzt, weil eben
nur ein -- wenn auch häufig benötigter - Verlauf der Hüllkurve erzeugbar ist; für
weitere Hüllkurvenformen einschließlich Amplituden- und Frequenzmodulation, Repetition,
Modulationen und so weiter benötigt man dann weitere umfangreiche und komplexe Schaltungen.
[0007] Aufgabe der vorliegenden Erfindung ist es, ein Verfahren zur digitalen Hüllkurvensteuerung
eines Musiksyntheseinstruments zu schaffen, bei dem der Schaltungsaufwand auf ein
Minimum reduziert ist, aber gleichwohl eine große Anzahl von Einzeltönen hinsichtlich
ihrer Hüllkurve unabhängig voneinander steuerbar ist.
[0008] Die erfindungsgemäß vorgesehene Lösung dieser Aufgabe ist in dem Patentanspruch 1
definiert; die Unteransprüche betreffen zweckmäßige Ausgestaltungen des Verfahrens
sowie die Ausbildung entsprechender Schaltungsanordnungen.
[0009] Die Wirkungsweise des Gegenstandes der Erfindung läßt sich am besten unter Bezugnahme
auf die beigefügten Zeichnungen erläutern.
[0010]
Fig. 1a - 1g zeigen Beispiele für Hüllkurven mit zeitabhängiger Amplitudenänderung,
wie sie bei elektronischen Musikinstrumenten häufig gewünscht werden,
Fig. 2a - 2d zeigen Beispiele für Hüllkurven mit zeitabhängiger Frequenzänderung,
wie sie bei elektronischen Musikinstrumenten häufig gewünscht werden,
Fig. 3a - 3c zeigen weitere Beispiele für Hüllkurven, die typischerweise bei elektronischen
Musikinstrumenten gewünscht werden,
Fig. 4 stellt ein Blockschaltbild einer Schaltungsanordnung dar, mittels der die in
Fig. 1-3 dargestellten Hüllkurven erzeugt werden können,
Fig. 5a - 5c sind Flußdiagramme zur Erläuterung der Schaltung nach Fig. 4,
Fig. 6 stellt schematisch den Speicherinhalt des Festwertspeichers aus Fig. 4 dar,
und
Fig. 7 zeigt schematisch die Blockschaltung der Steuerlogik.
[0011] In Fig. 1a - 1g ist die Amplitude eines Einzeltones über der Zeit aufgetragen dargestellt.
Dabei stellt ein Einzelton natürlich eine Sinusschwingung dar; ein aus einer Grundschwingung
(="Einzelton") und Oberwellen bestehender Ton hat dann Rechteck-, Dreieck- oder sonstige
Impulsformen, die aber hier nicht zur Diskussion stehen; dargestellt ist in den Diagrammen
vielmehr nur die Änderung der jeweiligen Spitzenamplitude. Es ist ferner daran zu
erinnern, daß das Anklingen und Abklingen eines Tones normalerweise einer Exponentialfunktion
folgt, da es sich ja um die Simulation von Einschwingvorgängen handelt, die periodisch
verlaufen können ("Vibraphon") oder aperiodisch. Schließlich ist daran zu erinnern,
daß die dargestellten und zu erzeugenden Hüllkurven nichts mit der vom Spieler gegebenenfalls
willkürlich veränderbaren Lautstärke zu tun haben, diese vielmehr allenfalls den Ordinatenmaßstab
der Diagramme verändern würde.
[0012] Was den Abszissenmaßstab angeht, also die Zeitdauer eines Einschwingvorgangs, so
ist dieser für verschiedene zu simulierende Instrumente durchaus unterschiedlich und
kann auch für die Einzeltöne, aus denen ein (Gesamt-)Ton besteht, unterschiedlich
sein. Es sei bereits hier angemerkt, daß ein wesentlicher Vorteil des Gegenstandes
der Erfindung darin liegt, daß in dem Festwertspeicher tatsächlich nur die Hüllkurvenform
gespeichert zu werden braucht, während die zugehörige Zeitdauer ihres Durchlaufs je
nach dem zu simulierenden Instrument extern vorgegeben wird. Damit wird erheblich
an Speicherkapazität gespart.
[0013] In den Diagrammen ist daher kein Maßstab eingetragen, weder für Absizsse noch für
Ordinate. Nur die Zeitpunkte, zu denen ein Auslösebefehl für eine Hüllkurve vom Spieler
gegeben wird, sind markiert, wobei "A" den Zeitpunkt des "Beginns" eines Einzeltons
angibt und "R" den Zeitpunkt des "Endes". "Beginn" bedeutet dabei die Betätigung des
zugehörigen Organs durch den Spieler, etwa das Niederdrücken einer Taste, und "Ende"
bedeutet, daß die Betätigung aufhört, also etwa die Taste losgelassen wird. Beide
Befehle A und R lösen jeweils eine unterschiedliche Hüllkurve aus.
[0014] Der einfachste Fall ist.in Fig. 1a gezeigt. Vom Zeitpunkt A an steigt die Amplitude,
einer Exponentialfunktion im aperiodischen Grenzfall folgend, also entsprechend einer
ersten Hüllkurve A
1, bis auf die Maximalamplitude H an. Die Amplitude bleibt auf diesem Wert bis zum
Zeitpunkt R, von dem aus die Amplitude, wiederum gemäß einem aperiodischen Exponentialverlauf
der Hüllkurve R
1 folgend, auf Null abfällt. Obwohl
A1 und R
1 spiegelbildlich ähnlich sein können, werden sie getrennt im Festwertspeicher gespeichert.
[0015] Das Diagramm 1b zeigt den Fall, daß der Speicher den Befehl "Ende" bereits auslöst,
bevor die AnklingHüllkurve bis zum Nominalwert H der Amplitude durchlaufen worden
ist. Es ergibt sich eine verkürzte Anklinghüllkurve A
2, der aber nicht etwa die Abklinghüllkurve R
1 folgen darf, da sich dann ein Amplitudensprung ergäbe. Vielmehr muß die Hüllkurve
A
2 mindestens annähernd genau in eine entsprechend verkürzte Abklinghüllkurve R
2 übergehen. Wie dies bewirkt wird, soll weiter unten erläutert werden.
[0016] Fig. 1c zeigt eine Anklinghüllkurve A
3, wie sie etwa typisch ist für ein Klavier: Die Amplitude steigt sprunghaft auf einen
Maximalwert und fällt dann gemäß einer Exponentialfunktion ab. Läßt der Spieler die
"Klaviertaste" los, so wird die Schwingung gedämpft, und die Kurve A
3 muß - ohne Amplitudensprung - in die Abklinghüllkurve R
3 übergehen. Dies ist ein Sonderfall des Diagramms 1b.
[0017] Ähnlich liegen die Verhältnisse, wenn ein "beendeter" Ton erneut "begonnen" wird,
bevor seine Abkling- hüllkurve vollständig durchlaufen ist: Wie Fig. 1d zeigt, muß
dann die Abklinghüllkurve R
4 zumindestens annähernd amplitudengleich in die Anklinghüllkurve
A4 übergehen.
[0018] Eine andere Form der Hüllkurve A
S mit Uberschwingung ist in Fig. 1e dargestellt; dieser Verlauf ist typisch für Blechbläser.
[0019] Fig. 1f zeigt eine Abklinghüllkurve R 5 mit Subaudio-Amplitudenmodulation: Diese Hüllkurve
wird für Vibraphon benötigt.
[0020] Fig. 1g schließlich zeigt eine Anklinghüllkurvenform A
6, die eigentlich aus der mehrmaligen Wiederholung einundderselben Kurvenform, die
man als A
3 mit verkürztem Zeitmaßstab wiedererkennt, besteht. Die in Fig. 4 dargestellte Schaltungsanordnung
ermöglicht, tatsächlich nur die Kurvenform A
3 zu speichern und diese mehrmals zu wiederholen. Diese Anklinghüllkurve tritt beispielsweise
bei Instrumenten wie Mandoline oder Banjo auf. Die zugehörige Abklinghüllkurve R
6 ist die Verlängerung der Anklinghüllkurve A
6 bis auf Null, ausgehend vom jeweils bei R erreichten Amplitudenwert.
[0021] Die Diagramme in Fig. 2a - 2d stellen die Audiofrequenz in ihrem zeitlichen Verlauf
dar. Hinsichtlich des Zeitmaßstabes und des Frequenzhubes gilt sinngemäß dasselbe,
was zu den Maßstäben in Fig. 1 bereits festgehalten wurde; es gilt auch hier, daß
die jeweils extern vorgegebenen ZeitmaBstäbe für den Abruf der im Festwertspeicher
unter einundderselben Speicheradresse festgehaltenen Frequenzhübe dienen kann.
[0022] Fig. 2a zeigt eine Anklinghüllkurve A
7' bei der die Frequenz f mit allmählich zunehmendem Hub um eine Trägerfrequenz f
o pendelt. Nach Erreichen eines maximalen Hubes f
max wiederholt sich der Verlauf solange, wie der Ton gespeichert wird: Sogenanntes "normales
verzögertes Vibrato". Wie anhand der Fig. 4 noch zu erläutern, ist es auch in diesem
Falle möglich, diese Hüllkurvenrepetition mit einfachen Schaltungsmaßnahmen zu realisieren.
[0023] Fig. 2b stellt einen für Gitarren typischen Hüllkurvenverlauf A
8 dar: Ausgehend von einer gering-
fügig gegenüber der Nominalfrequenz f
o zu hohen Frequenz fällt diese allmählich auf den Wert f , wonach sich ein ähnlicher
Verlauf wie in Fig. 2a dargestellt anschließt. Fig. 2c zeigt den in etwa umgekehrten
Verlauf A
9 der Frequenz beim Anblasen eines Blechblasinstruments. Fig. 2d schließlich zeigt
den Choruseffekt, das heißt das gleichzeitige Erklingen A
10 mehrerer nominell gleichgestimmter, in Wirklichkeit aber geringfügig gegeneinander
verstimmter Schwingungen.
[0024] Fig. 3 schließlich stellt als drei Beispiele weitere mögliche Effekte dar. Fig. 3a
zeigt den sogenannten "Leslie-Effekt", der entsteht, wenn ein Lautsprecher zum Umlauf
angetrieben wird. Der Höhrer hat dann den Eindruck, als würde die Frequenz mit einem
Hub f
L im Sinusverlauf um die Nominalfrequenz pendeln. Dieser Effekt kann aber auch mittels
Hüllkurvensteuerung hervorgerufen werden, indem zwei Audiokanäle mit 180
o Phasenverschiebung angesteuert werden und der Frequenzhub f
L als Frequenzmodulations-Hüllkurve eingeführt wird. Die Hüllkurvenrepetition ist ebenfalls
mit der Schalutnsanordnung nach Fig. 4 möglich. Fig. 3b zeigt, daß dieser Lesley-Effekt
auch zeitlich variabel realisiert werden kann entsprechend dem simulierten "Anlauf"'
und "Auslauf" eines rotierenden Lautsprechers, wobei auch der Frequenzhub F
L variiert werden muß.
[0025] In ähnlicher Weise kann man gemäß Fig. 3c den Zusammenklang mehrerer Saiteninstrumente,
etwa mehrerer Gitarren oder eines Klaviers, bei dem ja jeder Taste mehrere gleichgestimmte
Saiten zugeordnet sind, simulieren, indem für die Frequenzmodulation jedes Einzeltones
eine Phasenverschiebung um 120° eingeführt wird. Auch dies ist mit der Hüllkurvensteuerung
gemäß der Erfindung zu realisieren, wobei wiederum von der Hüllkurvenrepetitionstechnik
Gebrauch gemacht wird.
[0026] Fig. 4 zeigt in Blockdarstellung eine Schaltungsanordnung, mit der das Verfahren
gemäß der Erfindung ausführbar ist. Dabei wird vorausgesetzt, daß ein Musiksyntheseinstrument
etwa nach den eingangs genannten FR-OS vorliegt mit Schaltkreisen, bei denen jedem
Einzelton ein Phasenzählerblock.zugeordnet ist und digitale Signale AMP bzw. FRE die
jeweilige Hüllkurve des betreffenden Einzelblocks hinsichtlich Amplitude bzw. Frequenz
festlegen können. Die Einzeltonblöcke arbeiten im Zeitmultiplex.
[0027] Da dieser Teil der Schaltungsanordnung mithin selbst bekannt ist und keinen Teil
der vorliegenden Erfindung bildet, ist er auch in Fig. 4 nicht dargestellt und rechts
jenseits der strichpunitierten Linie zu denken; die von der erfindungsgemäßen Schaltungsanordnung
erzeugten Signale umfassen die Nummer des betreffenden Syntheseblocks (also dessen
Adresse) und die jeweils an diesen Block (diese Adresse) zu übertragenden Hüllkurvendaten
AMP/FRE.
[0028] Auf der Eingangsseite der erfindungsgemäßen Schaltungsanordnung sind ebenfalls an
sich bekannte Teile eines Musiksyntheseinstruments vorgesehen, nämlich die Bedienungsorgane
für den Spieler, wie Manuale, Pedale, Schalter, Knöpfe, Registereinsteller und so
weiter, sowie Kodierkreise, die aus den jeweils mittels dieser Organe bewirkten Schalterstellungen
die zugehörigen Steuersignale bilden. Soweit diese Steuersignale direkt zu den Syntheseblöcken
übertragen werden, können sie hier außer acht bleiben, da sie für die Erfindung nicht
wesentlich sind. Wohl aber sind die Signale zu erläutern, die der erfindungsgemäßen
Hüllkurvensteuerung zuzuführen sind.
[0029] Für die Hüllkurvensteuerung werden die folgenden Eingangsdaten benötigt:
[0030] AD: Dies ist die laufende Adresse, die bestimmt, welcher Syntheseblock NR im gegebenen
Zeitpunkt des Zeitmultiplexrahmens die Steuersignale von der Hüllkurvensteuerschaltung
erhalten muß.
[0031] INT: Dieser Digitalwert legt das Realzeit-Intervall fest, innerhalb dessen eine vorgegebene
(gespeicherte) Hüllkurvenform zu durchlaufen ist, das heißt, mit diesem Signal wird
der Abszissenmaßstab für die Abläufe gemäß Fig. 1-3 bestimmt.
[0032] FR-IN: Dieser Digitalwert definiert die Frequenz f im Falle von Frequenzmodulations-Hüllkurven.
In einfacher Weise dient dieser Eingang auch dazu,
[0033] überhaupt zwischen Frequenz- und reiner Amplitudenmodulation zu unterscheiden: Die
Schaltung ist so ausgelegt, daß bei FR-IN gleich Null nur Amplitudenmodulation erfolgt.
[0034] HK-IN: Dieser Digitalwert gibt an, welche Hüllkurvenform zur Anwendung gelangen soll.
Wie später noch zu erläutern, hat er die Form einer FestwertspeicherAdresse, unter
der der Beginn der Hüllkurvenabtastung abgespeichert ist.
[0035] MAN: Dieses Signal gibt an, ob ein bestimmter Einzelton erzeugt werden soll oder
nicht. Die Schaltung ist so ausgelegt, daß dieses Signal logisch -0 ist, wenn der
Ton erzeugt werden soll, und auf logisch -1 geht, wenn er enden soll. Das bedeutet,
daß der Sprung O-1 das Kommando für eine Abkling-Hüllkurve bedeutet und der Sprung
1-O das Kommando für eine Anklinghüllkurve. ESA: Dies sind die Anschlüsse für Eingangs-
und Ausgangssignale der Steuerlogik für die Schaltungsanordnung.
[0036] Mit AD werden vier Randomspeicher 10, 12, 14 und 16 adressiert. Die vier Randomspeicher
haben eine Speicherkapazität gleich der oder größer als die Zahl der gleichzeitig
zu erzeugenden Hüllkurven; wie oben ausgeführt, kann diese Zahl größer als zweihundert
sein. Im Ausführungsbeispiel weist jeder Randomspeicher 256 Speicherplätze auf, die
alle homologe Adressen besitzen. Die Adressen sind die Nummern der entsprechenden
Tonsynthese-Schaltungsblöcke.
[0037] Erfolgt die Adressierung der Randomspeicher durch AD, so können unter den betreffenden
Adressen extern zugeführte Daten entsprechend INT, FR-IN, HK-CT (noch zu erläutern)
eingegeben werden. Der Datenabruf erfolgt dagegen bei Adressierung durch einen Zähler
18, der in regelmäßigen Zeitintervallen von - im Ausführungsbeispiel - 4 Mikrosekunden
getaktet wird. Dieser Takt soll als Hüllkurventakt bezeichnet werden zum Unterschied
vom Systemtakt, der an der Steuerlogikeinheit 20 liegt und auf dem der Zeitmultiplex
des Gedamtinstruments beruht; der Systemtakt arbeitet im Ausführungsbeispiel mit etwa
500 Nanosekunden. Von beiden Werten kann natürlich abgewichen werden. Der Vier-Mikrosekunden-Takt
wurde in der Erwägung festgelegt, daß für eine musikalisch befriedigende Hüllkurvenentwicklung
etwa alle Millisekunden ein Hüllkurvenabtastwert neu berechnet werden muß; das heißt,
daß die 256 Speicherplätze der Randomspeicher innerhalb dieser Millisekunde sämtlich
einmal adressiert werden sollen. Mit vier Mikrosekunden wird dies annähernd verwirklicht.
Mit modernen Schaltungskomponenten wird dieser Takt als relativ langsam anzusehen
sein.
[0038] Die extern (AD) bzw. vom Zähler 18 ausgegebenen Adressen laufen über einen Multiplexer
21, der einen Steuereingang SE aufweist. Es muß nämlich vermieden werden, daß gleichzeitig
wegen AD Daten eingegeben werden und wegen der Zähleradressierung Daten abgerufen
werden. Deshalb wird mittels Komparator 22 bei gleichzeitig vom Zähler 18 und von
AD kommenden Signalen ein BELEGT-Signal erzeugt, das über die Steuerlogikeinheit 20
dann den Multiplexer 22 für die Zähleradressierung sperrt.
[0039] Im Randomspeicher 10 werden die Binärworte abgespeichert, welche als INT eingegeben
worden sind. Im Randomspeicher 12 werden die laufenden Adressen von in einem Festwertspeicher
24 abgespeicherten Hüllkurven-Abtastwerten gespeichert, und zwar im links angedeuteten
Abschnitt HK-CT, wo die "Adressenbeträge" des Festwertspeichers "links vom Komma"
erneuert werden. Im rechten Abschnitt HK-BR dagegen werden die "Adressenbruchteile"
des Festwertspeichers "rechts vom Komma" laufend nachgestellt. Um nun die nur einmal
im Festwertspeicher vorliegenden Hüllkurvenabtastwerte mit unterschiedlichen Realzeit-Intervallen
gemäß INT zu reproduzieren, wird im Randomspeicher 10 diese gewünschte Realzeit in
Form eines Adressen-Bruchteils gespeichert, also als Komplement. Soll beispielsweise
die Hüllkurve doppelt so lange dauern wie sonst durch den Takt des Zählers 18 einerseits,
die Zahl der Abtastwerte im Festwertspeicher andererseits vorgegeben, so wird der
nächste Abtastwert nicht auch beim nächsten Adressenimpuls für diesen Speicherplatz
abgerufen, sondern erst beim übernächsten, und so weiter. Obwohl selbstverständlich
die Schaltung im Binärsystem arbeitet, ist es anschaulicher, diesen Ablauf mit Dezimalzahlen
zu verdeutlichen.
[0040] Im Randomspeicher 10 sei der Bruchteil "0,25" gespeichert, was nach obigem bedeutet,
daß die Hüllkurve viermal länger als normal dauern soll. Bei Adressierung durch Zähler
18 wird diese Größe einer arithmetischen Logikeinheit 26 als ein Eingang zugeführt.
Ihr anderer Eingang ist der laufende Wert von HK-CT im Randomspeicher 12. Die Logikeinheit
addiert die Bruchteilwerte, und das Ergebnis der Addition wird über den Multiplexer
28 wieder als Inhalt in den Randomspeicher 12 eingegeben, wo "rechts vom Komma" dann
ein um den aus Randomspeicher 10 entnommenen Wert vergrößerter Bruchteil eingeschrieben
wird. Die Adresse der Hüllkurvenabtastwerte im Festwertspeicher 24 sind dagegen "ganzzahlig".
Im hier betrachteten Beispiel wird also die nächste Adresse für den Festwertspeicher
- im Abschnitt HK-CT des Randomspeichers 12 - erst nach viermaliger Adressierung durch
den Zähler 18 erschienen, was bedeutet, daß ein geänderter Abtastwert erst nach ca.
vier Millisekunden aus dem Festwertspeicher abgerurfen wird, dieser dann wieder viermal
nacheinander abgerufen wird, dann erst der neue Adressenwert eingegeben wird und so
weiter. - Die Anfangsadresse des Festwertspeichers, unter der der Beginn der betreffenden
Hüllkurve abgespeichert ist, wird natürlich als erstes in den Randomspeicher 12 eingegeben
(Signal HK-IN), und zwar über den Multiplexer 28 unter Steuerung MU durch die Steuerlogikeinheit
20, die wiederum auf das Signal MAN reagiert.
[0041] Der Multiplexer ist als Drei-Kanal-Multiplexer ausgebildet. In der Tat können FestwertspeicherAdressen
in den Abschnitt HK-CT des Randomspeichers 12 auch von dem Festwertspeicher 24 selbst
"zurück" eingegeben werden.
[0042] (Eine Klarstellung scheint an dieser Stelle angebracht. Für den Festwertspeicher
24 wird zwischen den "Adressen" der Speicherp-ätze und den in diesen Speicherplätzen
abgespeicherten "Daten", oder dem Inhalt des Speichers, unterschieden. Über die Leitung
30 wird der Festwertspeicher 24 adressiert und gibt auf der Leitung 32 die "Daten"
aus. In dem hier zur Diskussion stehenden Fall haben die abgespeicherten Daten dann
die Bedeutung einer Festwertspeicheradresse, wenn sie über Leitungszweig 34 und über
Multiplexer 28 zum Randomspeicher 12 übertragen werden. Dies ist jedoch der Ausnahmefall;
im allgemeinen sind im Festwertspeicher 24 die Abtastwerte der Hüllkurve oder - im
Falle einer Frequenzmodulation - die Modulationshubwerte abgelegt).
[0043] Das Ergebnis ist dann, daß bei Durchlauf des Zählers 18 diejenige Hüllkurve oder
Teil derselben zu durchlaufen begonnen wird, die von der betreffenden zurückgeführten
Adresse beginnt, wobei nach wie vor die Realzeit durch Entnahme der betreffenden Daten
aus dem Randomspeicher 10 vorgegeben bleibt. Diese Operation ist für die Repetition
einer bereits einmal durchlaufenen Hüllkurve oder Teilhüllkurve vorgesehen. Wenn nämlich
eine Hüllkurve Repetitionen haben soll, ist das entsprechende Kommando im Festwertspeicher
unter der entsprechenden Adresse abrufbar und erscheint auf Ausgang REP des Festwertspeichers,
von dem das Signal zur Logikeiheit 20 übertragen wird, die den Multiplexer 28 auf
den betreffenden Kanal umschaltet. Es sei gleich an dieser Stelle angemerkt, daß auch
ein Signal EN ausgegeben wird, wenn eine Hüllkurve vollständig aus dem Festwertspeicher
abgerufen worden ist; dieses "Ende"-signal veranlaßt die Logikeinheit 20, die Speicherplätze
unter der betreffenden Adresse zu löschen, wonach - je nach dem Pegel von MAN - entweder
der unmodulierte Ton weiter erklingt oder der betreffende Einzelton gar nicht mehr
erzeugt wird. "Unmoduliert" bezieht sich selbstverständlich nur auf eine durch den
Schaltkreis nach Fig. 4 eingeführte Hüllkur venmodulation; an anderer Stelle der Gesamtschaltung
kann auch eine sonstige Modulation eines "Dauertons" vorgenommen werden.
[0044] Bevor der Fall erörtert wird, daß eine nicht vollständig durchlaufene Hüllkurve in
eine andere Hüllkurve übergeht, soll noch die Weiterverarbeitung der Inhalte aus dem
Festwertspeicher 24 betrachtet werden. Auf Leitung 36 werden diese Hüllkurvendaten
einem Zweierkomplement-Binäraddierkreis 38 zugeführt. Die Hüllkurvendaten sind im
Falle reiner Amplitudenmodulation vorzeichenlose Abtastwerte, im Falle von Frequenzmodulation
vorzeichenbehaftete Hubwerte.
[0045] Da dem Addierkreis 38 über Leitung 40-signalisiert wird, ob Frequenzmodulation vorliegt
oder nicht - im Randomspeicher 16 sind zu jeder der 256 zu erzeugenden Hüllkurven
die zugehörigen Trägerfrequenzen f
o abgespeichert-(FR-IN) oder Null, wenn nur Amplitudenmodulation verlangt wird -, erscheinen
an seinem Ausgang die zu dem jeweiligen Einzelton gehörigen Hüllkurvenwerte. Diese
sind den Amplitudenmodulations- oder aber den Freqeunzmodulationsblöcken der Syntehseschaltung
zuzuführen. Die Zuordnung erfolgt durch die Steuerlogikeinheit 20, der über ein Gatter
42 dann und nur dann ein Signal AM zugeführt wird, wenn es sich um Amplitudenmodulation
handelt.
[0046] Funktion und Arbeitsweise der Schaltungsanordnung bezüglich "unterbrochener" Hüllkurve
sollen im folgenden erläutert werden; dabei wird auch auf die Flußdiagramme nach Fig.
5 verwiesen, in denen der Ablauf übersichtlich dargestellt ist.
[0047] Es ist klar, daß dann, wenn eine laufende Hüllkurve abgebrochen werden und eine andere
einsetzen soll, ein Adressenwechsel im Festwertspeicher 24 erfolgen muß. Es ist ferner
klar,.daß in diesem Falle nicht die neue Hüllkurvenform unter der neuen Adresse HK-IN
beginnen darf, da unter dieser der Abtastwert Null für Anklinghüllkurven und der Abtastwert
H für Ablinghüllkurven abgerufen wird. Erforderlich ist aber ein Einsetzen bei einer
Adresse, unter der ein Abtastwert gespeichert ist, welcher mindestens annähernd demjenigen
gleich ist, bei dem die vorhergehende Hüllkurve abgebrochen wurde. Dies ist anschaulich
in Fig. 2b dargestellt.
[0048] Es muß also der letzte Abtastwert der abbrechenden Hüllkurve festgehalten werden
und im Festwertspeicher 24 muß derjenige Speicherplatz der fortsetzenden Hüllkurve
gesucht werden, wo ein mindestens annähernd gleicher Abtastwert vorliegt; die zugehörige
Adresse muß dann als Anfangsadresse in den Rhandomspeicher 12 eingegeben werden..
[0049] Hierfür weist die Schaltungsanordnung nach Fig. 4 den Randomspeicher 14 auf, in welchem
für den jeweils durch Zähler 18 adressierten Speicherplatz der laufende Abtastwert
VL eingeschreiben wird, der hinter dem Addierkreis 38 ansteht. Derselbe Wert VL liegt
an einem Eingang eines Komparators 50, an dessen anderem Eingang der unmittelbar vorhergehende,
aus dem entsprechenden Speicherplatz bei Adressierung durch Zähler 18 abgerufene Wert
VL' liegt. Der Komparator liefert an seinem Ausgang ein Logiksignal, hier mit VLK
bezeichnet, solange der spätere Abtastwert VL kleiner ist als der vorhergehende Abtastwert
VL'. Dieses Logiksignal wird der Steuerlogikeinheit 20 zugeführt.
[0050] Die Steuerlogikeinheit benötigt diese Angabe nur in dem Zeitpunkt, in welchem durch
einen Sprung des Signals MAN signalisiert wird, daß eine neue Hüllkurve benötigt wird.
Es sei zunächst angenommen, daß eine Abklinghüllkurve durch einen MAN-Wechsel von
1 auf Null abgebrochen und mit einer Anklinghüllkurve fortgesetzt werden soll. HK-IN
gibt dann die zugehörige Festwertspeicheradresse ein, unter der - als Anfangsabtastwert
einer Anklinghüllkurve - der Abtastwert Null abgerufen wird. Dieser erscheint hinter
Addierkreis 38 als neuer Wert VL. Da aber der unmittelbar vorher in Randomspeicher
14 abgelegte Wort VL' aus der abgebrochenen Abklinghüllkurve stammte und mithin größer
ist, gibt der Komparator 50 das Logiksignal VLK ab. Dies bewirkt nun in der Steuerlogikeinheit
20 die Erzeugung eines Steuerlogiksignals OP, welches der arithmetischen Logikeinheit
26 das Kommando übermittelt, die gespeicherte Adresse HK-CT des Festwertspeichers
um eine zu erhöhen. Dieser Vorgang wiederholt sich mit dem Systemtakt solange, bis
das Logiksignal VLK wechselt, weil der Komparator 50 keine Größendifferenz mehr feststellen
kann. Die zu diesem Zeitpunkt im Randomspeicher 12 stehende Adresse HK-CT ist dann
die "Anfangsadresse" der fortsetzenden Hüllkurve.
[0051] Dieses Aufaddieren der Festwertspeicheradresse führt deshalb zu dem gewünschten Ergebnis,
weil für Anklinghüllkurven die größeren Abtastwerte auch unter größeren Adressen des
Festwertspeichers abgelegt sind.
[0052] Dies trifft nicht zu für Abklinghüllkurven, wo bei höheren Adressen des Festwertspeichers
niedrigere Abtastwerte vorliegen. Deshalb muß in dem Falle der komplementäre Logikpegel
VLK den "Aufholvorgang" einleiten; diese Unterscheidung kann die Steuerlogikeinheit
20 treffen, weil sie zwischen den Sprüngen 0-1 und 1-0 für den MAN-Eingang unterscheidet.
[0053] Die Flußdiagramme Fig. 5a bzw. 5b fassen die geschilderten Vorgänge noch einmal zusammen.
In Fig. 5c schließlich ist der Ablauf beim Takten des Zählers 18 für den "Normalfall"
dargestellt; die zugehörige Erläuterung wurde bereits oben gegeben.
[0054] In Fig. 6 ist schematisch die Organisation des Festwertspeichers 24 angedeutet. Die
Hüllkurvenabtastwerte sind als Analog-Äquivalente gezeichnet, obwohl es sich natürlich
in Wirklichkeit um Binärworte handelt. Von oben nach unten sind die Hüllkurven "Langsames
Anklingen", "Abklingen", "Perkussion mit Wiederholung" und "Verzögert einsetzendes
Virbrato mit Wiederholung" als Beispiele dargestellt. Das erste Bit ist das Logiksignal
REp, das zweite Bit das Logiksignal EN. Die folgenden Bits definieren die Abtastwerte
oder, in Verbindung mit REP=1 die Adresse, von der aus die Abtastwerte erneut abzurufen
sind. In Fig. 6 ist durch die strichpunktierten Pfeile angedeutet, zu welcher Adresse
beispielsweise zurückzukehren ist. Die Adresse, unter der eine Hüllkurve beginnt,
wird - wie oben erläutert - extern als HK-IN eingegeben.
[0055] Die Steuerlogikeinheit kann gemäß Fig. 7 einen weiteren Festwertspeicher 60 umfassen,
dem als Adressen die oben erwähnten Logiksignale zugeführt werden und der über ein
Sequenzregister 62 abgefragt wird, das seinerseits von dem Systemakt weitergeschaltet
wird und in das die jeweils zu durchlaufende Logiksequenz aus dem Festwertspeicher
selbst eingegeben wird. Unter dessen Adressen werden dann die von der Logikeinheit
benötigten Steuersignale abgerufen.
[0056] Es versteht sich, daß die dargestellte und beschriebene Schaltungsanordnung nur ein
bevorzugtes Ausführungsbeispiel ist und daß das Verfahren auch mit anderen, äquivalenten
Mitteln durchführbar ist. Ferner läßt sich die dargestellte Schaltung so abwandeln,
daß der Festwertspeicher 24 durch einen Randomspeicher ersetzt wird, in den die Hüllkurvendaten
extern eingegeben werden. Die Anordnung ist auch nicht auf die nur als Beispiele zu
verstehenden Hüllkurven beschränkt. In analoger Form würden die insoweit diskutierten
Hüllkurven mittels spannungsgesteuerter Verstärker (Amplitudenmodulation) oder spannungsgesteuerter
Oszillatoren (Frequenzmodulation) erzeugt; mit der beschriebenen Schaltung können
aber auch solche Hüllkurven erzeugt werden, wie sie bei analogen Schaltungen durch
spannungssteuerbare Filter realisiert werden, einschließlich Resonanzerscheinungen
und ähnlichem.
1. Verfahren zur digitalen Hüllkurvenerzeugung bei einem polyphonen Musiksyntheseinstrument
mit einem Festwertspeicher, in welchem Hüllkurvenabtastwerte unter Hüllkurvenadressen
gespeichert sind, dadurch gekennzeichnet, daß die Hüllkurvenadressen aller Einzeltöne
in Kurven-Randomspeichern gespeichert werden, daß die Kurven-Randomspeicher sequentiell
ausgelesen werden und die ausgelesenen Hüllkurvenabtastwerte zu Modulationsblöcken
der Syntheseschaltung übertragen werden.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß jede Hüllkurvenform nur
einmal im Festwertspeicher eingeschrieben ist und die Realzeit des Hüllkurvenverlaufs
durch Verkürzen bzw. Verlängern der Speicherdauer der betreffenden Adressen im Kurven-Randomspeicher
bestimmt wird.
3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß alle Speicherplätze des
Kurvenrandomspeichers mit gleichem Takt ausgelesen werden.
4. Verfahren nach einem der Ansprüche von 1-3, dadurch gekennzeichnet, daß die im
Kurven-Randomspeicher abgelegten Adressen des Festwertspeichers unter Steuerung durch
ein dem letzteren selbst entnehmbares Repetitionskommando mehrmals nacheinander ausgelesen
werden.
5. Verfahren nach einem der Ansprüche von 1-4, dadurch gekennzeichnet, daß der jeweils
für eine Hüllkurve aus dem Festwertspeicher ausgelesene Abtastwert mit dem bei der
unmittelbar vorhergehenden Auslesesequenz ausgelesenen Abtastwert verglichen und ein
Logiksignal gebildet wird, das zumindest annähernde Gleichheit beider Werte anzeigt,
und daß bei Auftreten eines Hüllkurvenwechsel-Befehls als Anfangadresse diejenige
Festwertspeicheradresse der nunmehr zu durchlaufenden Hüllkurve durch schnelles Takten
des Kurven-Randomspeichers gesucht wird, bei der das Logiksignal auftritt.
6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, daß während des Taktens die
Auslesesequenz des KurvenRandomspeichers für den betreffenden Einzelton unterbrochen
wird.
7. Schaltungsanordnung zur Durchführung des Verfahrens nach Anspruch 1, gekennzeichnet,
durch Randomspeicher (10, 12, 14, 16) mit ebensovielen Speicherplätzen wie gleichzeitig
zu erzeugenden Hüllkurven, und durch einen Adressenzähler (18), mittels dem alle Randomspeicher
parallel zu entsprechenden Tonerzeugungs-Syntheseblöcken adressierbar sind.
8. Schaltungsanordnung nach Anspruch 7 zur Durchführung des Verfahrens nach Anspruch
3, gekennzeichnet durch einen Intervall-Randomspeicher (10), in welchem Adressenbruchteile
der aus dem Kurven-Randomspeicher (12) zu entnehmenden Festwertspeicheradressen geladen
sind, und durch einen Addierschaltkreis (26), mittels dem die Adressenbruchteile zu
ganzen Adressenworten ergänzbar sind.
9. Schaltungsanordnung nach Anspruch 8 zur Durchführung des Verfahrens nach Anspruch
4, gekennzeichnet durch einen Multiplexer (28), über den - gesteuert durch Steuersignale
(MU) einer Steuerlogikeinheit (20)-wahlweise eine Hüllkurven-Anfangsadresse (HK-IN),
der laufende vom Addierschaltkreis (26) gelieferte Adressenwert (HK-CT+HK-BR) oder
eine aus dem Festwertspeicher (24) rückgeführte FestwertspeicherAdresse in den Kurven-Randomspeicher
(12) geladen wird.
10. Schaltungsanordnung nach einem der Ansprüche von 7-9 zur Durchführung des Verfahrens
nach Anspruch 5, gekennzeichnet durch einen Werte-Randomspeicher (14), in den die
aus dem Festspeicher ausgelesenen Abtastwerte eingegeben und zugleich mit dem unmittelbar
vorher gespeicherten Abtastwert mittels eines Komparators (50) verglichen werden,
an dessen Ausgang das Logiksignal erscheint.
11. Schaltungsanordnung nach Anspruch 10 und 8, dadurch gekennzeichnet, daß der Addierschaltkreis
(26) für schnelles Erhöhen der im Kurven-Randomspeicher (12) stehenden Adresse um
ganze Einheiten ausgebildet ist und in diese Funktion durch die Steuerlogikeinheit
(20) schaltbar ist, wenn dieser das Fehlen des Logiksignals (VLK) und ein Hüllkurvenwechsel
(MAN 0-1) oder MAN 1-0) signalisiert wird.