(19)
(11) EP 0 042 555 A1

(12) EUROPÄISCHE PATENTANMELDUNG

(43) Veröffentlichungstag:
30.12.1981  Patentblatt  1981/52

(21) Anmeldenummer: 81104526.9

(22) Anmeldetag:  12.06.1981
(51) Internationale Patentklassifikation (IPC)3G10H 1/057
(84) Benannte Vertragsstaaten:
AT DE FR GB IT NL

(30) Priorität: 24.06.1980 DE 3023581

(71) Anmelder: Matth. Hohner AG
D-78647 Trossingen (DE)

(72) Erfinder:
  • Deforeit, Christian Jacques, Dipl.-Ing.
    F-21140 Semur-en-Auxois (DE)

(74) Vertreter: Sparing Röhl Henseler Patentanwälte 
Postfach 14 04 43
40074 Düsseldorf
40074 Düsseldorf (DE)


(56) Entgegenhaltungen: : 
   
       


    (54) Verfahren zur digitalen Hüllkurvensteuerung eines polyphonen Musiksyntheseinstruments und Schaltungsanordnung zur Durchführung des Verfahrens


    (57) In einem Musik-Synthesegerät werden Hüllkurven für eine Vielzahl einzelner Töne (Frequenzen) dadurch erzeugt, daß jede Hüllkurvenform nur einmal in einem Festwertspeicher (24) gespeichert wird und der Realzeitablauf dadurch variiert wird, daß die Ausleseadressen des Festwertspeichers (24) in Random-Speichern (10,12,14,16) abgelegt sind und das Auslesen mit einem Hüllkurventakt erfolgt. Mit dem erheblich schnelleren Systemtakt können glatte Übergange zwischen unterschiedlichen Hüllkurventypen bewirkt werden. Die Schaltung zur Durchführung des Verfahrens ist einfach und erlaubt trotzdem eine große Variationsbreite der erzeugbaren Töne.




    Beschreibung


    [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 A1, 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 R1 folgend, auf Null abfällt. Obwohl A1 und R1 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 A2, der aber nicht etwa die Abklinghüllkurve R1 folgen darf, da sich dann ein Amplitudensprung ergäbe. Vielmehr muß die Hüllkurve A2 mindestens annähernd genau in eine entsprechend verkürzte Abklinghüllkurve R2 übergehen. Wie dies bewirkt wird, soll weiter unten erläutert werden.

    [0016] Fig. 1c zeigt eine Anklinghüllkurve A3, 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 A3 muß - ohne Amplitudensprung - in die Abklinghüllkurve R3 ü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 R4 zumindestens annähernd amplitudengleich in die Anklinghüllkurve A4 übergehen.

    [0018] Eine andere Form der Hüllkurve AS 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 A6, die eigentlich aus der mehrmaligen Wiederholung einundderselben Kurvenform, die man als A3 mit verkürztem Zeitmaßstab wiedererkennt, besteht. Die in Fig. 4 dargestellte Schaltungsanordnung ermöglicht, tatsächlich nur die Kurvenform A3 zu speichern und diese mehrmals zu wiederholen. Diese Anklinghüllkurve tritt beispielsweise bei Instrumenten wie Mandoline oder Banjo auf. Die zugehörige Abklinghüllkurve R6 ist die Verlängerung der Anklinghüllkurve A6 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 A7' bei der die Frequenz f mit allmählich zunehmendem Hub um eine Trägerfrequenz fo pendelt. Nach Erreichen eines maximalen Hubes fmax 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 A8 dar: Ausgehend von einer gering- fügig gegenüber der Nominalfrequenz fo 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 A9 der Frequenz beim Anblasen eines Blechblasinstruments. Fig. 2d schließlich zeigt den Choruseffekt, das heißt das gleichzeitige Erklingen A10 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 fL im Sinusverlauf um die Nominalfrequenz pendeln. Dieser Effekt kann aber auch mittels Hüllkurvensteuerung hervorgerufen werden, indem zwei Audiokanäle mit 180o Phasenverschiebung angesteuert werden und der Frequenzhub fL 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 FL 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 fo 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.


    Ansprüche

    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.
     




    Zeichnung



















    Recherchenbericht