DE69619364T2 - Verfahren und vorrichtung zur erzeugung von verschiedenen wellenformen bei der synthesierung von musiktonen - Google Patents

Verfahren und vorrichtung zur erzeugung von verschiedenen wellenformen bei der synthesierung von musiktonen

Info

Publication number
DE69619364T2
DE69619364T2 DE69619364T DE69619364T DE69619364T2 DE 69619364 T2 DE69619364 T2 DE 69619364T2 DE 69619364 T DE69619364 T DE 69619364T DE 69619364 T DE69619364 T DE 69619364T DE 69619364 T2 DE69619364 T2 DE 69619364T2
Authority
DE
Germany
Prior art keywords
waveform
phase
output
shifter
multiplexer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69619364T
Other languages
English (en)
Other versions
DE69619364D1 (de
Inventor
P. Rossum
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Creative Technology Ltd
Original Assignee
Creative Technology Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Creative Technology Ltd filed Critical Creative Technology Ltd
Priority claimed from PCT/IB1996/000398 external-priority patent/WO1996031868A1/en
Publication of DE69619364D1 publication Critical patent/DE69619364D1/de
Application granted granted Critical
Publication of DE69619364T2 publication Critical patent/DE69619364T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H5/00Instruments in which the tones are generated by means of electronic generators
    • G10H5/10Instruments in which the tones are generated by means of electronic generators using generation of non-sinusoidal basic tones, e.g. saw-tooth
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/541Details of musical waveform synthesis, i.e. audio waveshape processing from individual wavetable samples, independently of their origin or of the sound they represent
    • G10H2250/551Waveform approximation, e.g. piecewise approximation of sinusoidal or complex waveforms

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Electrophonic Musical Instruments (AREA)

Description

    Gebiet der Erfindung
  • Die Erfindung betrifft ein Verfahren und eine Vorrichtung zum Erzeugen unterschiedlicher Wellenformen beim Synthetisieren von Musiktönen.
  • Hintergrund der Erfindung
  • Bei der digitalen Musiksynthese ist eine der grundlegenden Funktionseinheiten der Phaseninkrement-Oszillator. Ein Phaseninkrement-Oszillator erzeugt einen "Phasen-Sägezahn" und verwendet dann einen "Wellenformer", um den Phasen-Sägezahn in eine Sinuswelle oder eine andere gewünschte Wellenform umzuwandeln. Bei den frühesten Hardware- Implementierungen wurde eine Nachschlagetabelle in einem RAM oder einem ROM dazu benutzt, den Phasen-Sägezahn in die gewünschte Wellenform umzusetzen. Diese Vorgehensweise hatte die Vorzüge, Wellenformen beliebiger Verläufe zu erzeugen und relativ kosteneffektiv zu sein, verglichen mit anderen verfügbaren Mitteln, zumindest zu jener Zeit. Aufgrund dieser Vorzüge ist diese Vorgehensweise auch heute noch gang und gäbe.
  • Mit der Entwicklung von digitalen Musik-Synthesizern jedoch sind gewisse Wellenformen Standard geworden, so daß kein Bedarf mehr an der Erzeugung beliebiger Wellenformen besteht. Beispielsweise besitzt das bekannte "OPL3"-Synthesizer-Chip der Firma Yamaha Corporation acht Standard-Wellenformen. Weil das OPL3-Chip in der Sound-Karte "SOUND BLASTER" der Firma Creative Technology Ltd. für IBM- kompatible PCs verwendet wird, hat die Popularität dieser Sound-Karten jene acht Wellenformen zu einem Standard für die kompatible FM- Musiksynthese gemacht.
  • Darüber hinaus hat auf dem Gebiet der VLSI (der integrierten Großschaltkreise) die Geschwindigkeit von Rechenschaltungen um Größenordnungen zugenommen. Dies gestattet die Verwendung von Berechnungsverfahren bei der Erzeugung von Wellenformen als Verbesserung (in einigen Fällen) gegenüber Nachschlagetabellen-Verfahren, wie sie früher verwendet wurden, insbesondere dann, wenn der Umfang der Tabelle relativ beträchtlich sein muß, um Ungenauigkeiten und Verzerrungen zu minimieren.
  • So zum Beispiel bildet die bekannte Taylor-Entwicklung für die Cosinus- Funktion:
  • cos(x) = 1 - x²/2! + x&sup4;/4! - x&sup6;/6! ...
  • eine Grundlage für eine rechnerische Approximation an eine abgespeicherte Sinus-Wellenform, in der Phase um π/2 verschoben. Unglücklicherweise müssen, um eine ausreichende Genauigkeit von weniger als einigen Prozent Gesamt-Klirrfaktor zu erreichen (was für billige Musik-Synthese angemessen ist) mehrere Terme dieser Gleichung implementiert werden, wenn der erforderliche Bereich von -π bis π reicht (ein voller Zyklus des Cosinus). Da jeder zusätzlicher Term eine zusätzliche Multiplikation und Addition erfordert, ist diese Vorgehensweise rechenintensiv und mithin kostspielig.
  • Während also Rechen-Näherungsverfahren wie diese anstelle von Nachschlagetabellen verwendet wurden, erfordern sie doch ziemlich komplizierte Multiplikations-, Additions- und andere Funktionen. Dies wiederum erfordert komplizierte Logik, wenn diese fest-verdrahtet ausgeführt ist, oder belastet einen Mikroprozessor, wenn ein solcher statt dessen eingesetzt wird, beträchtlich. Der Kompromiß bestand daher darin, zwischen einer großen Speichermenge, so zum Beispiel bei einem Tabellenspeicher, und beträchtlichen Mengen Rechenkapazität für das rechnerische Verfahren auszuwählen.
  • Offenbarung der Erfindung
  • Die Erfindung schafft eine Schaltung und ein Verfahren gemäß den beigefügten Ansprüchen.
  • Die Erfindung schafft eine neue Schaltung und ein neues Verfahren zum Erzeugen von Wellenformen aus einer Phasenwinkeleingabe beim Synthetisieren von Musiktönen. Bei einer Ausführungsform schafft die Erfindung einen Multiplexer/Schieber, welcher die Phasenwinkeleingabe gemäß der speziellen geforderten Wellenform modifiziert. Bool'sche Logikgatter modifizieren dann das Ausgangssignal des Multiplexers/Schiebers zusätzlich auf der Grundlage der zwei höchstwertigen Bits der Phasenwinkeleingabe und entsprechend der speziellen gewünschten Wellenform. Schließlich multipliziert ein Multiplizierer das Ausgangssignal des Multiplexers/Schiebers mit dem Ausgangssignal der Bool'schen Logikgatter, um die gewünschte Wellenform zu erzeugen. Die Erfindung kann von Bänken aus Exklusiv-Oder-Gattern und UND-Gattern als Bool'scher Logik Gebrauch machen.
  • Eine weitere Ausführungsform der Erfindung schafft ein Wellenformungsverfahren, bei dem eine gewünschte Wellenform aus einer Phasenwinkeleingabe generiert wird. Die Phasenwinkeleingabe wird basierend auf der speziellen gewünschten Wellenform gemultiplext/verschoben. Die Ergebnisse des Multiplexens/Verschiebens werden dann mit Hilfe von Bool'schen Logikgattern modifiziert, basierend auf den zwei höchstwertigen Bits der Phasenwinkeleingabe und gemäß der gewünschten speziellen Wellenform. Die Ergebnisse des Multiplexens/Verschiebens und der Bool'schen Logik werden dann zur Erzeugung der gewünschten Wellenform miteinander multipliziert.
  • Kurze Beschreibung der Zeichnungen
  • Die Ziele, Merkmale und Vorteile der Erfindung ergeben sich für den Fachmann im Lichte der folgenden detaillierten Beschreibung. Es zeigen:
  • Fig. 1 ein Signalflußdiagramm eines bekannten Phaseninkrement- Oszillators.
  • Fig. 2 graphisch die Grundlage für die vorliegende Erfindung;
  • Fig. 3 graphisch die Erzeugung der acht "OPL3"-Wellenform unter Verwendung der vorliegenden Erfindung;
  • Fig. 4 ein Blockdiagramm einer Hardware-Implementierung der vorliegenden Erfindung;
  • Fig. 5 die Beziehung von Signalen gemäß Erfindung für die acht "OPL3 "-Wellenformen.
  • Detaillierte Beschreibung der Erfindung
  • Bevor die vorliegenden Verfahren und Vorrichtungen beschrieben werden, sei angemerkt, daß die vorliegende Erfindung nicht auf diese speziellen Vorrichtungen und Verfahren beschränkt ist, sondern daß der Fachmann diese selbstverständlich abwandeln kann. Es versteht sich außerdem, daß die hier verwendete Terminologie dazu dient, lediglich die besonderen Ausführungsbeispiele zu beschreiben, jedoch nicht den Schutzumfang der Erfindung, der lediglich durch die beigefügten Ansprüche beschränkt wird, einzuschränken.
  • Es sei angemerkt, daß im Rahmen dieser Beschreibung und der beigefügten Ansprüche die Singularformen "ein", "der" sowie die entsprechenden zugehörigen Formen die mehrfachen Bezugsbegriffe beinhalten, wenn der Kontext nicht ausdrücklich anderes vorschreibt.
  • Ohne anderweitige Definition besitzen sämtliche hier verwendeten technischen und wissenschaftlichen Begriffe die gleiche Bedeutung, wie sie ihnen der Fachmann auf dem einschlägigen Gebiet der Technik, auf das sich die vorliegende Erfindung bezieht, zuordnet. Wenngleich jegliche Verfahren und Materialien, die den hier beschriebenen ähnlich oder gleichwertig sind, bei der Ausführung oder bei dem Prüfen der vorliegenden Erfindung möglicherweise nützlich sind, werden im folgenden bevorzugte Verfahren und Materialien beschrieben. Sämtliche Veröffentlichungen und Patente, die hier erwähnt werden, sind durch Bezugnahme inkorporiert.
  • Wie oben erwähnt, liefert die Taylor-Entwicklung für die Cosinusfunktion eine Grundlage für eine rechnerische Approximation an eine gespeicherte Sinuswellenform, allerdings erfordert sie mehrere Terme (und die dazu notwendigen Multiplikationen und Additionen), um im gesamten Bereich von -π bis π ausreichende Genauigkeit zu erzielen. Durch Analyse läßt sich allerdings zeigen, daß, wenn man den Bereich auf -π/2 bis π/2 beschränkt, ein einzelner Term der Taylor-Entwicklung unter Verwendung eines quadratischen Spline-Verfahrens angemessen modifiziert und eingesetzt werden kann. Insbesondere gilt:
  • cos(x)[-π/2 ≤ x ≤ π/2] 1 - (2x/π)²
  • Man kann sich diese Funktion in dem angegebenen Intervall vorstellen als umgekehrte Parabel, welche die Punkte (-1,0), (0,1) und (1,0) schneidet. Man kann dann die "Parabelwellen"-Approximation auf eine Cosinuswelle extrapolieren auf der Grundlage einer passenden Verknüpfung dieses Intervalls mit weiteren Kopien desselben Intervalls, passend invertiert und verlagert.
  • Die obige Formel erfordert ersichtlich mindestens eine Multiplikation. Allerdings ist nicht offensichtlich, daß der Rest der Formel in angemessener Weise vollständig durch Bool'sche Logik approximiert werden kann, ohne daß dafür ein Addierer oder eine "Übertragketten"-Logik erforderlich wäre. Dies bedeutet, daß die Operation zum Erzeugen dieser sinusähnlichen Wellenform mit Hilfe einiger weniger Hundert Logikgatter (die einige wenige Cent in einer modernen VLSI-Schaltung kosten) zuzüglich einer einzigen Multiplikations-Operation ausgeführt werden kann.
  • Da ein Phaseninkrement-Oszillator eine Multiplikations-Operation zum Skalieren der Amplitude des Ausgangssignals erfordert, wird bereits für diese Anwendung ein Multiplizierer erforderlich. Bei der Geschwindigkeit derzeitiger digitaler Schaltungen werden bei Implementieren einer zweiten Multiplikation durch Multiplexen im Zeitbereich die Kosten für die Schaltung für zahlreiche moderne Implementierungen durch diesen Multiplizierer nicht signifikant geändert.
  • Der Fachmann entnimmt den obigen Angaben, daß die vorliegende Erfindung mit einem Klirrfaktor von etwa 2% behaftet ist. Allerdings kann die alternative Vorgehensweise des Oszillators mit Tabellenspeicher an noch ungünstigeren Formen der Verzerrung leiden, wenn eine billig zu implementierende Lösung von einer kleinen Tabelle Gebrauch macht, da die daraus resultierende Wellenform eine "Treppenstufen"-Qualität besitzt. Dies ist viel ungünstiger als das glatte Ausgangssignal, welches die vorliegende Erfindung erzeugt. Damit hat ungeachtet ihrer Verzerrung die vorliegende Erfindung einen hohen Wiedergabetreue-Vorteil gegenüber herkömmlichen Billig-Ausführungen.
  • Kurz gesagt, schafft die vorliegende Erfindung daher eine billige Alternative zum Wellenform-Speicher zum Erzeugen von Standardwellenformen aus einem Phaseninkrement-Oszillator. Die Erfindung bietet auch eine verbesserte Audio-Wiedergabetreue bei geringen Kosten.
  • In den Fig. 1 bis 5 sind verschiedene Ausführungsformen der Erfindung dargestellt. Fig. 1 zeigt in Form eines Signalflußdiagramms den bekannten Phaseninkrement-Oszillator. Während zahlreiche Abwandlungen dieses Oszillators existieren, darunter insbesondere zahlreiche Schaltungs-Topologien zum Implementieren verschiedener FM-Muster, bleibt der Grundkern des Oszillators jedoch unverändert.
  • In Fig. 1 addiert ein Addierer 12 eine Eingabe 10 eines Phaseninkrements (ωn) auf den Wert der vorhergehenden Phase, die in dem Verzögerungsoperator 22 gespeichert war. Ein Modulo-Operator 14 nimmt dann die Modulo-2π-Summe, und die resultierende neue Phase wird sowohl an einen Wellenformer 16 als auch an den Verzögerungsoperator 22 ausgegeben, der sie zur Verwendung bei der Berechnung der nächsten Probe speichert. Dann multipliziert ein Multiplizierer 18 das Ausgangssignal des Wellenformers 16 mit einer Amplituden-Hüllkurve (An), die ein Eingangssignal 24 bildet, um ein Ausgangssignal (Yn) 20 des Oszillators zu bilden.
  • Wie der Fachmann leicht sieht, ist, wenn die Phaseninkrementeingabe (ωn) 10 eine Konstante viel kleiner als 2π ist, das Signal am Ausgang des Modulo-Operators 14 eine "Sägezahn"-Wellenform, die langsam mit konstanter Steigung von Null bis 2π steigt, und dann plötzlich zurück auf Null abfällt, um dann erneut anzusteigen. Folglich wird dieses Signal üblicherweise als "Phasen-Sägezahn" bezeichnet. Graphisch ist er in der Reihe 2a in Fig. 2 dargestellt.
  • Die vorliegende Erfindung führt die Funktion des Wellenformers 16 nach Fig. 1 aus. Fig. 2 zeigt anschaulich die erfindungsgemäße Erzeugung einer invertierten Sinuswellenform. Obschon zur Veranschaulichung das Beispiel eines in den Wellenformer 16 eingegebenen Standard-Phasen- Sägezahns in der detaillierten Beschreibung der vorliegenden Erfindung in einigen Fällen verwendet wird, versteht der Fachmann, daß die Phasenwinkeleingabe nicht auf einen Standard-Phasen-Sägezahn beschränkt sein muß; es kann jede Phasenwinkeleingabe benutzt werden.
  • Die Reihe 2a in Fig. 2 zeigt mehrere Zyklen des Standard-Phasen- Sägezahns, der sich zeitlich über der horizontalen Achse in der Amplitude zwischen -1 und +1 auf der vertikalen Achse ändert. Man beachte, daß die vertikale Achse skaliert und ein fixer Offset auf die Standardform eines von 0 bis 2π variierenden Phasen-Sägezahns addiert wurde, wobei dies natürlich keine hörbaren Folgen hat.
  • Reihe 2b zeigt einen Standard-Phasen-Sägezahn mit einem hinzuaddierten Phasenversatz (Offset) von π. In anderen Worten: der Phasen-Sägezahn wurde entlang der horizontalen Achse um 180 Grad verschoben. Die Reihe 2c zeigt den Absolutwert des Signals von Fig. 2b. Reihe 2d zeigt das Signal, im vorliegenden Fall schlicht y(t) = 1, welches erfindungsgemäß mit der Reihe 2c UND-verknüpft wird. Fig. 2e zeigt die Ergebnisse dieser UND-Verknüpfung. Schließlich zeigt die Reihe 2f das Endergebnis der Erfindung, erhalten durch Multiplizieren des Signals der Reihe 2a mit jenem der Reihe 2e, und ersichtlich eine Annäherung bildend an eine invertierte Sinuswellenform mit einer Amplitude zwischen -¹/&sub4; bis ¹/&sub4;. Dies ist eine invertierte Form der ersten Standard-"OPL3"-Wellenform, die erfindungsgemäß gewonnen wird.
  • Fig. 3 zeigt anschaulich das Verfahren gemäß der Erfindung zur Erzeugung jeder der acht Standard-"OPL3"-Wellenformen (Wellenformen #0 bis #7). Jeder der in Fig. 3 anschaulich dargestellten Schritte des Verfahrens wird im folgenden bei der Beschreibung der Arbeitsweise der Hardware-Ausführungsform der Erfindung näher erläutert.
  • Die Spalte 3a der Fig. 3 zeigt einen von 0 bis 2π reichenden Zyklus jeder der acht Wellenformen. Spalte 3b zeigt die - gegebenenfalls vorhandene - erste Modifikation des Eingangs-Phasen-Sägezahns, wie sie durch die vorliegende Erfindung gefordert wird. Bei dieser ersten Modifikation ergibt sich entweder der ursprüngliche Phasen-Sägezahn (für die Wellenformen #0 bis #3), der in der Frequenz verdoppelte ursprüngliche Phasen- Sägezahn (für die Wellenformen #4 und #5) und - in einem Fall - auch mit halbierter Amplitude (für die Wellenform #7) oder das Vorzeichen des ursprünglichen Phasen-Sägezahn, ebenfalls in der Amplitude halbiert (für die Wellenform #6).
  • Die Spalte 3c zeigt den in der Phase erforderlichenfalls verschobenen, modifizierten Phasen-Sägezahn, von dem der Absolutwert - falls gefordert - gebildet ist, in beiden Fällen erfindungsgemäß gebildet. Die Spalte 3d zeigt die Funktion, die erfindungsgemäß UND-verknüpft wird mit dem modifizierten Phasen-Sägezahn der Spalte 3c, und die Spalte 3e zeigt die Ergebnisse der UND-Verknüpfung der Spalten 3c und 3d. Schließlich zeigt die Spalte 3f die Ergebnisse des abschließenden Schritts gemäß der Erfindung, nämlich des Multiplizierens der Spalte 3b mit der Spalte 3e. Man beachte, daß die vertikale Skala der Spalte 3e von -¹/&sub4; bis ¹/&sub4; reicht, während die vertikale Skala der anderen Spalten von -1 bis 1 reicht.
  • Aus Fig. 3 ist ersichtlich, daß sämtliche acht "OPL3"-Wellenformen erfindungsgemäß approximiert werden können. Erreicht wird dies durch geeignetes erfindungsgemäßes Kombinieren der Schritte des Modifizierens des ursprünglichen eingegebenen Phasen-Sägezahns, des Verschiebens des Ergebnisses in der Phase, Bilden eines Absolutwerts, UND-Verknüpfen des Ergebnisses mit gewissen Bits des Phasen-Sägezahns und der abschließenden einzelnen Multiplikation. Man beachte, daß die Polarität der approximierten Wellenformen als nicht signifikant behandelt wird, da sie nicht den Klang oder den Oberwellenanteil der Wellenform beeinflußt. Wie man im folgenden allerdings sehen wird, kann durch geringfügige Modifikation der soeben beschriebenen Schaltung die Polarität auf Wunsch korrigiert werden.
  • Fig. 4 zeigt eine detaillierte Hardware-Implementierung der Erfindung. Ein Phasenwinkeleingang 300 bildet einen Eingang für sowohl einen Multiplexer/Schieber 304 als auch eine Steuerlogik 314. Der Phasenwinkeleingang 300 entspricht einem 16 Bits umfassenden Wert ohne Vorzeichen, welcher die Phase - Modulo 2π genommen - repräsentiert. Eine Phase von Null beträgt also sedezimal 0000, eine Phase von nahezu 2π beträgt sedezimal FFFF.
  • Der Multiplexer/Schieber 304 ist ein als modifizierter Barrel-Schieber verdrahteter Multiplexer. Die Steuerlogik 314 treibt den Multiplexer/Schieber 304 über ein Steuersignal 316. Bei dieser Ausführungsform besitzt das Steuersignal zwei Bits zur Darstellung von vier möglichen Multiplexer/Schieber-Funktionen. Dem Fachmann ist allerdings ersichtlich, daß das Steuersignal 314 auch mehr als zwei Bits aufweisen kann, falls dies erwünscht ist, um die Logik der Schaltung zu optimieren.
  • Die Schritte des Generierens jeder der Standard-"OPL3"-Wellenformen sollen im folgenden erläutert werden. Als erstes verarbeitet der Multiplexer/Schieber 304 die Phasenwinkeleingabe 300, wie es im folgenden beschrieben wird. Das Ausgangssignal des Multiplexer/Schiebers 304 für jede Wellenform ist in Spalte 3b der Fig. 3 dargestellt.
  • Wenn gemäß Fig. 4 die Steuerlogik 314 ein Steuersignal 316 der binären Form 00 an den Multiplexer/Schieber 304 gibt, so gibt dieser ein 16-Bit- Signal aus, identisch mit dem 16 Bits umfassenden Phasenwinkel- Eingangssignal 300, welches er empfangen hatte. Dies liefert das in den Reihen #0 bis #3 der Spalte 3b in Fig. 3 dargestellte Ausgangssignal.
  • Wenn das Steuersignal 316 für den Multiplexer/Schieber 304 den binären Wert 01 hat, so verschiebt er die 16 Bits umfassende Phasenwinkeleingabe 300 um ein Bit nach links, wobei er das höchstwertige Bit ("MSB") herausschiebt und ignoriert, er setzt das neue kleinstwertige Bit ("LSB") auf 0, und er invertiert das neue MSB. Mathematisch entspricht dies dem Addieren von π/2 auf die Phasenwinkeleingabe 300, dem Multiplizieren des Ergebnisses mit Zwei und der anschließenden Modulo-2π-Bildung des Ergebnisses. Dies liefert das in den Reihen #4 und #5 der Spalte 3b dargestellte Ausgangssignal.
  • Wenn das Steuersignal 316 am Multiplexer/Schieber 304 dem binären Wert 10 entspricht, so gibt dieser einen fixen Sedizimalwert 3FFF aus. Dies liefert das in Reihe #6 der Spalte 3b dargestellte Ausgangssignal.
  • Hat schließlich das an den Multiplexer/Schieber 304 gelieferte Steuersignal 316 den binären Wert 11, so gibt er die vierzehn LSBs des 16 Bits umfassenden Phasenwinkel-Eingangssignals 300 unverändert aus und setzt die zwei MSBs des Ausgangssignals beide auf den inversen Wert des dem höchstwertigen Bit benachbarten Bits, das heißt des Bits 14, des ursprünglichen Eingangssignals. In anderen Worten, ergibt die fünfzehn LSBs des 16 Bits umfassenden Phasenwinkel-Eingangssignals 300 zuzüglich π/2 mit erweitertem Vorzeichen aus. Dies liefert das Ausgangssignal, welches in der Reihe #7 der Spalte 3b gezeigt ist.
  • Als nächstes modifiziert eine Bank 318 aus Exklusiv-Oder-Gattern das 16- Bit-Ausgangssignal des Multiplexer/Schiebers 304 zusätzlich. Die Exlusiv-Oder-Bank 318 besteht aus zwei Abschnitten: der erste Abschnitt von Exklusiv-Oder-Gattern 306 bearbeitet lediglich das MSB des Ausgangssignals des Multiplexer/Schiebers 304, während der zweite Abschnitt der Exklusiv-Oder-Gatter 308 die übrigen fünfzehn LSBs bearbeitet.
  • Die Exklusiv-Oder-Bank 318 führt zwei Funktionen aus, nämlich eine Phasenverschiebung und eine Funktions-Approximation an die Absolutwertfunktion oder eine Kombination aus beiden, oder keine von beiden (Durchlauf). Das Ausgangssignal der Exklusiv-Oder-Bank 318 für jede Wellenform ist in der Spalte 3c der Fig. 3 gezeigt.
  • Wenn die beiden Steuersignale 320 und 322, die von den beiden Abschnitten der Exklusiv-Oder-Bank 318 empfangen werden, beide den logischen Wert "0" haben, ergibt sich keine Änderung. Dieser Durchlauf-Vorgang dient zum Bilden eines Teils des Ausgangssignals, der in den Reihen #6 und #7 der Spalte 3c in Fig. 3 gezeigt ist.
  • Wenn das erste Steuersignal 320 eine logische "0" und das zweite Steuersignal 322 eine logische "1" ist, ist das Ausgangssignal 324 der Exklusiv- Oder-Bank 318 das Einerkomplement des Ausgangssignals des Multiplexer/Schiebers 304 plus π. In diesem Fall ist das Einerkomplement nur um ein LSB verschieden vom Zweierkomplement, welches für die erforderliche Genauigkeit das gleiche Ergebnis ist, wie man es durch Multiplizieren mit -1 erhält. Die Bildung des Einerkomplements läßt sich also dazu benutzen, eine funktionelle Approximation an die Absolutwertfunktion zu bilden. Diese Phasenverschiebung und Absolutwertoperation dienen zum Bilden eines Teils des Ausgangssignals, das in den Reihen #0 und #4 in Spalte 3c dargestellt ist.
  • Wenn das erste Steuersignal 320 eine logische "1" ist, das zweite Steuersignal 322 jedoch eine logische "0", so ist das Ausgangssignal 324 der Exklusiv-Oder-Bank 318 die Summe des Ausgangssignals des Multiplexer/Schiebers 304 und des Werts π, da das MSB die Bedeutung π hat. Dementsprechend läßt sich diese Operation dazu benutzen, ein Signal um π zu verschieben. Diese Operation dient zum Erzeugen des gesamten Ausgangssignals gemäß den Reihen #1, #2, #3 und #4 der Spalte 3c und eines Teils des Ausgangssignals gemäß den Reihen #0 und #4.
  • Wenn die beiden Steuersignale 320 und 322 beide den logischen Wert "1" haben, so ist das Ausgangssignal 324 der Exklusiv-Oder-Bank 318 das Einerkomplement des Ausgangssignals des Multiplexer/Schiebers 304. Wie oben diskutiert, ist diese Operation eine funktionelle Approximation an die Absolutwertfunktion. Diese Operation dient zum Erzeugen eines Teils des Ausgangssignals, das in den Reihen #6 und #T der Spalte 3c der Fig. 3 dargestellt ist.
  • Als nächstes modifiziert eine Bank 310 von UND-Gattern das 16 Bits umfassende Ausgangssignal 324 der Exklusiv-Oder-Bank 318 zusätzlich. Ein Steuersignal 326 für die UND-Bank 310 kann deren 16 Bits umfassendes Ausgangssignal zwangsweise auf die sedizimale Darstellung 0000 bringen oder das Signal unverändert belassen. Dies führt eine UND-Verknüpfung jedes der in Spalte 3c der Fig. 3 mit dem entsprechenden Signal aus Spalte 3d durch, wobei das Ausgangssignal der Bank 310 für jede Wellenform in der Spalte 3e gezeigt ist. Es sei angemerkt, daß die gesamte oben angesprochene Bool'sche Logik von Natur aus parallel abläuft und keinerlei Additionsoperationen oder andere Logik erfordert, so zum Beispiel eine Übertragkette, welche erfordern würde, daß jedes Bit höherer Ordnung als Ergebnis logischer Operationen mit Bits unterer Ordnung zu verarbeiten wären. Das Verarbeiten dieser Daten beinhaltet somit lediglich einige wenige Gatterlaufzeiten und läßt sich innerhalb eines einzigen Taktzyklus abschließen.
  • Ein vorzeichenbehafteter, 16 Bits mal 16 Bits verarbeitender Zweierkomplement-Multiplizierer 312 empfängt dann sowohl das 16 Bits umfassende Ausgangssignal des Multiplexer/Schiebers 304 in nicht modifizierter Form (dargestellt in Spalte 3b in Fig. 3) als auch das 16 Bits umfassende Ausgangssignal der UND-Bank 310 (dargestellt in Spalte 3e) und multipliziert sie. Da die meisten üblichen Audio-Geräte gerade 16-Bit-Signale verwenden, werden lediglich die 16 MSBs des Ausgangssignals des Multiplizierers 312 benötigt, so daß man eine verkürzte Form des Multiplizierers verwenden kann. Die Ergebnisse dieser Multiplikation für jede Wellenform sind in Spalte 3f der Fig. 3 dargestellt. Dies schließt die Verarbeitung zum Bilden jeder der standardmäßigen "OPL3"-Wellenformen benötigte Verarbeitung ab.
  • Wie der Fachmann sieht, kann es abhängig von der Größe des verfügbaren Multiplizierers wünschenswert sein, daß das eine oder das andere Argument oder beide Argumente des Multiplizierers kleiner als 16 Bits sind, da dies nur einen geringen Einfluß auf die Wellenform-Wiedergabetreue hätte. Darüber hinaus ist ebenfalls ersichtlich, daß jeder Typ von Multiplizierer verwendet werden kann, solange es sich um einen Voll-Parallel- Multiplizierer, einen Serien-Multiplizierer oder einen Hybriden/Parallel- Serien-Multiplizierer handelt, um die Funktion auszuführen.
  • Darüber hinaus erreicht das Ausgangssignal des Multiplizierers 312 niemals mehr als ein Viertel seines theoretischen maximalen Ausgangswerts, da die Spitzenwerte dann auftreten, wenn seine Eingangsgrößen jeweils einen Absolutwert der Hälfte der vollen Skala haben. Das Ausgangssignal 328 des Multiplizierers 312 sollte im Hinblick auf diesen Umstand skaliert werden.
  • Wie aus der obigen schrittweisen Beschreibung ersichtlich ist, müssen die vier Steuersignale 316, 320, 322 und 326, die von der Steuerlogik 314 ausgegeben werden, in passender Weise eingestellt sein, um die acht "OPL3"- Wellenform zu bilden. Diese Steuersignale 316, 320, 322 und 326 werden bestimmt durch die Wellenformnummer 302 und die beiden MSBs der Phasenwinkeleingabe 300. Diese Steuersignale 316, 320, 322 und 326 steuern dann in passender Weise den Multiplexer/Schieber 304, die Exklusiv-Oder-Bank 318, die UND-Bank 310 und den Multiplizierer 312, um aus der Phasenwinkeleingabe 300 die gewünschte Wellenform zu erzeugen.
  • Basierend auf der Wellenformnummer 302 und den Bits 15 und 14 der Phasenwinkeleingabe 300 stellt die Steuerlogik 314 die Steuersignale 316, 320, 322 und 326 auf Werte ein, wie sie in der nachstehenden Wahrheitstabelle, der Tabelle 1, dargestellt sind. In Tabelle 1 bedeutet PHn, daß das n-te Bit der Phasenwinkeleingabe 300 gemeint ist, so daß beispielsweise PH15 das höchstwertige Bit ist. ! bedeutet das logische Komplement, und ^ bedeutet ein Exklusiv-Oder. Tabelle 1 Steuersignal-Wahrheitstafel
  • Fig. 5 zeigt in graphischer Form die verschiedenen oben im einzelnen beschriebenen Schritte zum Erzeugen jeder der acht "OPL3"- Wellenformen. Die Spalte 5a zeigt das Ausgangssignal des Multiplexers/Schiebers 304, die Spalte 5b zeigt das Ausgangssignal 324 der Exklusiv-Oder-Bank 318, die Spalte 5c zeigt das Ausgangssignal der UND-Bank 310, und die Spalte 5d zeigt das Ausgangssignal 328 des Multiplizierers 312. Man beachte, daß die vertikale Skala der Spalte 5d von -¹/&sub4; bis ¹/&sub4; reicht, während die vertikale Skala der übrigen Spalten von -1 bis 1 reicht.
  • Wie in Spalte 3f der Fig. 3 und in Spalte 5d der Fig. 5 zu sehen ist, sind sämtliche der Ausgangswellenformen, wenn sie in der oben beschriebenen Weise erzeugt werden, einfach gegenüber den "OPL3"-Wellenformen in ihrer Polarität umgekehrt. Die exakte Wellenform jedoch, korrekt in Phase und Polarität, läßt sich dadurch bilden, daß man das Komplement der Ausgangswellenform erzeugt. Dies läßt sich an verschiedenen Stellen der Schaltung für die weitere Signalverarbeitung als Teil des Multiplizierers 312 oder mit Hilfe einer zusätzlichen Schaltung erreichen. Wie für den Fachmann ersichtlich ist, kann das Einerkomplement des Ausgangssignals ausreichend sein, um diese Inversion für die Genauigkeit von hier beschriebenen Approximationen zu erreichen.
  • Fig. 4 zeigt eine Schaltung oder Hardware als Ausführungsform der Erfindung. Wie dem Fachmann allerdings ersichtlich ist, läßt sich die Erfindung auch als Firmware oder Software ausführen.
  • Wie aus der obigen detaillierten Beschreibung der Erfindung ersichtlich ist, ermöglicht die Erfindung die Produktion jeder der Standard-"OPL3"- Wellenformen, ohne daß großer Speicherplatz oder intensive Rechenarbeit erforderlich wäre. Für solche Anwendungen, in denen die Wellenform durch Approximation gebildet werden kann, bei der für die Wellenform keine hohe Genauigkeit gefordert wird, schafft der erfindungsgemäße Wellenformer Vorteile gegenüber dem Stand der Technik.

Claims (6)

1. Schaltung zum Erzeugen einer vorbestimmten Wellenform aus einer Phasenwinkeleingabe, umfassend:
einen Multiplexer/Schieber (304) zum Modifizieren der Phasenwinkeleingabe (300), um ein Ausgangssignal zu erzeugen;
eine kombinatorische Logikschaltung (310, 318) zum Modifizieren des Ausgangssignals des Multiplexers/Schiebers (304), um ein Ausgangssignal zu erzeugen; und
einen Multiplizierer (312) zum Multiplizieren des Ausgangssignals des Multiplexers/Schiebers (304) mit dem Ausgangssignal der kombinatorischen Logikschaltung (310, 318), um die Wellenform zu erzeugen.
2. Schaltung nach Anspruch 1, bei der die kombinatorische Logikschaltung Bänke von Exklusiv-ODER-Gattern (318) und Bänke von UND-Gattern (310) aufweist.
3. Schaltung nach Anspruch 2, bei dem die Bänke von UND-Gattern (310) an die Bänke von Exklusiv-ODER-Gattern (318) anschließen.
4. Verfahren zum Erzeugen einer vorbestimmten Wellenform aus einer Phasenwinkeleingabe, umfassend die Schritte:
Multiplexen/Schieben der Phasenwinkeleingabe (300);
Modifizieren der Ergebnisse des Schritts des Multiplexens/Schiebens unter Verwendung einer kombinatorischen Logik (310, 318); und
Multiplizieren der Ergebnisse des Schritts des Multiplexens/Schiebens und des Modifizierens, um die Wellenform zu erzeugen.
5. Verfahren nach Anspruch 4, bei dem der Schritt des Multiplexens/Schiebens das Durchführen einer Null-Operation enthält.
6. Verfahren nach Anspruch 4 oder Anspruch 5, bei dem der Schritt des Modifizierens der Ergebnisse des Schritts des Multiplexens/Schiebens unter Verwendung einer kombinatorischen Logik (310, 318) beinhaltet, eine Additionsoperation oder irgendeine andere, eine Übertragkette erfordernde Operation nicht auszuführen.
DE69619364T 1995-04-07 1996-04-05 Verfahren und vorrichtung zur erzeugung von verschiedenen wellenformen bei der synthesierung von musiktonen Expired - Lifetime DE69619364T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US41851895A 1995-04-07 1995-04-07
PCT/IB1996/000398 WO1996031868A1 (en) 1995-04-07 1996-04-05 Method and apparatus for creating different waveforms when synthesizing musical sounds

Publications (2)

Publication Number Publication Date
DE69619364D1 DE69619364D1 (de) 2002-03-28
DE69619364T2 true DE69619364T2 (de) 2002-07-18

Family

ID=23658453

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69619364T Expired - Lifetime DE69619364T2 (de) 1995-04-07 1996-04-05 Verfahren und vorrichtung zur erzeugung von verschiedenen wellenformen bei der synthesierung von musiktonen

Country Status (7)

Country Link
US (1) US6091269A (de)
EP (1) EP0819301B1 (de)
JP (1) JP3228753B2 (de)
AU (1) AU5344796A (de)
DE (1) DE69619364T2 (de)
ES (1) ES2173277T3 (de)
TW (1) TW326521B (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5808691A (en) * 1995-12-12 1998-09-15 Cirrus Logic, Inc. Digital carrier synthesis synchronized to a reference signal that is asynchronous with respect to a digital sampling clock
US6581082B1 (en) * 2000-02-22 2003-06-17 Rockwell Collins Reduced gate count differentiator
US7209937B2 (en) * 2003-07-10 2007-04-24 Raytheon Company Method and apparatus for generation of arbitrary mono-cycle waveforms
US7787634B1 (en) 2006-01-16 2010-08-31 Philip Young Dahl Musical distortion circuits
US7847177B2 (en) * 2008-07-24 2010-12-07 Freescale Semiconductor, Inc. Digital complex tone generator and corresponding methods
KR102386706B1 (ko) 2015-06-11 2022-04-14 삼성디스플레이 주식회사 표시 장치 및 이를 구비한 시계
CN111467643A (zh) * 2020-03-20 2020-07-31 肖赫 助眠方法、装置、计算机设备和存储介质

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US34481A (en) * 1862-02-25 Improved smoothing-iron
US3515039A (en) * 1964-01-29 1970-06-02 Matsushita Electric Ind Co Ltd Electronic musical instruments with tone generating,mixing,and distributing systems
US3979991A (en) * 1968-05-22 1976-09-14 Matsushita Electric Industrial Co., Ltd. Electronic expression device for producing tremulant effect
US3534144A (en) * 1969-01-02 1970-10-13 Hammond Corp Keyer-synthesizer for an electronic musical instrument employing an integrated circuit
US3649821A (en) * 1970-06-15 1972-03-14 Philco Ford Corp Digital multiple-tone generator
US3888153A (en) * 1973-06-28 1975-06-10 Nippon Gakki Seiko Kk Anharmonic overtone generation in a computor organ
US4018121A (en) * 1974-03-26 1977-04-19 The Board Of Trustees Of Leland Stanford Junior University Method of synthesizing a musical sound
JPS5297722A (en) * 1976-02-12 1977-08-16 Nippon Gakki Seizo Kk Electronic musical instrument
US4130876A (en) * 1977-05-27 1978-12-19 Nippon Gakki Seizo Kabushiki Kaisha Method of and apparatus for composing approximate sinusoidal waveform
US4175464A (en) * 1978-01-03 1979-11-27 Kawai Musical Instrument Mfg. Co. Ltd. Musical tone generator with time variant overtones
JPS5567799A (en) * 1978-11-16 1980-05-22 Nippon Musical Instruments Mfg Electronic musical instrument
FR2465477B1 (fr) * 1979-09-21 1985-09-06 Publimepharm Procede et dispositif a transfert circulaire pour le conditionnement automatise d'ampoules pharmaceutiques
US4259888A (en) * 1979-12-06 1981-04-07 Norlin Industries, Inc. Tone generation system employing triangular waves
US4318045A (en) * 1980-04-10 1982-03-02 Rca Corporation Symmetrical waveform signal generator having coherent frequency shift capability
US4453869A (en) * 1981-04-07 1984-06-12 Cremieux George V Fastener technology
JPS5814191A (ja) * 1981-07-17 1983-01-26 ヤマハ株式会社 変調効果装置
US4554858A (en) * 1982-08-13 1985-11-26 Nippon Gakki Seizo Kabushiki Kaisha Digital filter for an electronic musical instrument
USRE34481E (en) 1982-12-17 1993-12-21 Casio Computer Co., Ltd. Electronic musical instrument
JP2599193B2 (ja) * 1989-01-26 1997-04-09 株式会社河合楽器製作所 楽音情報表現方法及び楽音情報表現装置
JP2766662B2 (ja) * 1989-03-15 1998-06-18 株式会社河合楽器製作所 楽音発生装置の波形データ読み出し装置及び波形データ読み出し方法
EP0393702B1 (de) * 1989-04-21 1995-04-19 Yamaha Corporation Musiksynthesizer
US5223653A (en) * 1989-05-15 1993-06-29 Yamaha Corporation Musical tone synthesizing apparatus
JP2580774B2 (ja) * 1989-05-15 1997-02-12 ヤマハ株式会社 楽音合成装置
US5157215A (en) * 1989-09-20 1992-10-20 Casio Computer Co., Ltd. Electronic musical instrument for modulating musical tone signal with voice
JP2580821B2 (ja) * 1990-02-20 1997-02-12 ヤマハ株式会社 楽音波形信号形成装置
US5340938A (en) * 1990-04-23 1994-08-23 Casio Computer Co., Ltd. Tone generation apparatus with selective assignment of one of tone generation processing modes to tone generation channels
US5243658A (en) * 1990-08-10 1993-09-07 Casio Computer Co., Ltd. Modulation effect adding apparatus
US5194684A (en) * 1990-11-01 1993-03-16 International Business Machines Corporation Method and apparatus for selective reduction of upper harmonic content in digital synthesizer excitation signals
JP3102049B2 (ja) * 1991-03-22 2000-10-23 カシオ計算機株式会社 電子楽器の音色パラメータ編集装置
US5187677A (en) * 1991-08-23 1993-02-16 Hewlett-Packard Company Waveform synthesizer through simulating multiplication
US5543578A (en) * 1993-09-02 1996-08-06 Mediavision, Inc. Residual excited wave guide

Also Published As

Publication number Publication date
TW326521B (en) 1998-02-11
EP0819301B1 (de) 2002-02-20
DE69619364D1 (de) 2002-03-28
AU5344796A (en) 1996-10-23
US6091269A (en) 2000-07-18
JPH11503243A (ja) 1999-03-23
ES2173277T3 (es) 2002-10-16
EP0819301A1 (de) 1998-01-21
JP3228753B2 (ja) 2001-11-12

Similar Documents

Publication Publication Date Title
DE3856045T2 (de) Hochauflösungsumwandlung von phase zur sinusamplitude
DE69024919T2 (de) Einrichtung und Methode zur Veränderung von Sprechgeschwindigkeit
DE2362050C3 (de) Elektronisches Musikinstrument
DE3688600T2 (de) Musikinstrument mit digitalem Filter mit programmierten variablen Koeffizienten.
DE2364336C3 (de) Elektronisches Musikinstrument
DE2926090A1 (de) Tonerzeugungsverfahren
DE2627405B2 (de) Schaltungsanordnung zur Berechnung der schnellen Fourier-Transformation (FFT)
DE69103757T2 (de) Ausführung eines sin/cos generators.
DE2431161A1 (de) Elektronisches musikinstrument
DE69629934T2 (de) Umgekehrte transform-schmalband/breitband tonsynthese
DE2920298A1 (de) Binaere interpolatorschaltung fuer ein elektronisches musikinstrument
DE69423240T2 (de) Verfahren und vorrichtung für quadratische interpolation
DE69619364T2 (de) Verfahren und vorrichtung zur erzeugung von verschiedenen wellenformen bei der synthesierung von musiktonen
DE69018687T2 (de) Musiksynthesizer.
DE69603360T2 (de) Verfahren und vorrichtung zur synthetisierung von musiktönen durch frequenzmodulation und mittels eines filters
DE69018858T2 (de) Vorrichtung zum Erzeugen eines Musiktonsignals.
DE102004028693B4 (de) Vorrichtung und Verfahren zum Bestimmen eines Akkordtyps, der einem Testsignal zugrunde liegt
DE3226619C2 (de)
DE69222015T2 (de) Elektronisches Musikinstrument
DE2163621A1 (de) Schaltungsanordnung zur Durchführung der Fourier-Analyse
DE10204647A1 (de) Matrizenrechner des Zeitteilungstyps
DE3050742C2 (de) Tonsyntheseverfahren
DE2901969A1 (de) Elektronisches musikinstrument mit einer einrichtung zur erzeugung variabler impulse
DE69427726T2 (de) Quantisierungsgerät
DE112020004506T5 (de) Signalverarbeitungseinrichtung, signalverarbeitungsverfahren und programm

Legal Events

Date Code Title Description
8364 No opposition during term of opposition