DE102008032116B4 - Klanggenerator, elektronische Vorrichtung mit einem Klanggenerator, und Verfahren zum Steuern eines Klanggenerators - Google Patents

Klanggenerator, elektronische Vorrichtung mit einem Klanggenerator, und Verfahren zum Steuern eines Klanggenerators Download PDF

Info

Publication number
DE102008032116B4
DE102008032116B4 DE102008032116A DE102008032116A DE102008032116B4 DE 102008032116 B4 DE102008032116 B4 DE 102008032116B4 DE 102008032116 A DE102008032116 A DE 102008032116A DE 102008032116 A DE102008032116 A DE 102008032116A DE 102008032116 B4 DE102008032116 B4 DE 102008032116B4
Authority
DE
Germany
Prior art keywords
note
volume
sound
priority
notes
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 - Fee Related
Application number
DE102008032116A
Other languages
English (en)
Other versions
DE102008032116A1 (de
Inventor
Matthias Obermeier
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.)
Intel Deutschland GmbH
Original Assignee
Infineon Technologies AG
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 Infineon Technologies AG filed Critical Infineon Technologies AG
Publication of DE102008032116A1 publication Critical patent/DE102008032116A1/de
Application granted granted Critical
Publication of DE102008032116B4 publication Critical patent/DE102008032116B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • G10H7/00Instruments in which the tones are synthesised from a data store, e.g. computer organs
    • G10H7/002Instruments in which the tones are synthesised from a data store, e.g. computer organs using a common processing for different operations or calculations, and a set of microinstructions (programme) to control the sequence thereof
    • G10H7/004Instruments in which the tones are synthesised from a data store, e.g. computer organs using a common processing for different operations or calculations, and a set of microinstructions (programme) to control the sequence thereof with one or more auxiliary processor in addition to the main processing unit
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/18Selecting circuits
    • G10H1/183Channel-assigning means for polyphonic instruments
    • 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
    • G10H2230/00General physical, ergonomic or hardware implementation of electrophonic musical tools or instruments, e.g. shape or architecture
    • G10H2230/025Computing or signal processing architecture features
    • G10H2230/041Processor load management, i.e. adaptation or optimization of computational load or data throughput in computationally intensive musical processes to avoid overload artifacts, e.g. by deliberately suppressing less audible or less relevant tones or decreasing their complexity

Abstract

Klanggenerator, aufweisend: • eine Mehrzahl von Synthesegeneratoren zum Erzeugen eines Klanges aus einer Note; • einen dynamischen Stimmverwaltungsschaltkreis; • wobei der dynamische Stimmverwaltungsschaltkreis eingerichtet ist, aus den Noten der aktuell erzeugten Klänge eine Note auszuwählen und durch eine neue Note, welche der Mehrzahl von Synthesegeneratoren bereitgestellt werden soll, zu ersetzen in Abhängigkeit von einer der neuen Note und den Noten der aktuell erzeugten Klänge zugehörigen Priorität sowie den Lautstärken der aktuell erzeugten Klänge, • wobei der dynamische Stimmverwaltungsschaltkreis eingerichtet ist, aus den Noten der aktuell erzeugten Klänge die Noten zu ermitteln, deren Priorität niedriger ist als die Priorität der neuen Note, und aus den ermittelten Noten eine Note, deren zugehöriger Klang die geringste Lautstärke aufweist, als die Note auszuwählen, die durch die neue Note ersetzt wird, wobei in dem Fall, dass keine der Noten der aktuell erzeugten Klänge eine niedrigere Priorität hat als die neue Note,...

Description

  • Technisches Gebiet
  • Ausführungsbeispiele der vorliegenden Erfindung betreffen allgemein einen Klanggenerator, eine elektronische Vorrichtung wie zum Beispiel einen Musik-Synthesizer mit einem Klanggenerator, und ein Verfahren zum Erzeugen eines Klanges aus einer Note.
  • Kurze Beschreibung der Zeichnungen
  • In den Zeichnungen bezeichnen ähnliche Bezugszeichen Allgemeinen durchgehend dieselben Bestandteile in den unterschiedlichen Ansichten. Die Zeichnungen sind nicht notwendigerweise maßstabsgetreu gezeichnet, die Betonung liegt stattdessen im Allgemeinen darauf, die Prinzipien der Erfindung zu veranschaulichen. In der nachfolgenden Beschreibung werden verschiedene Ausführungsbeispiele der Erfindung beschrieben unter Bezug auf die nachfolgenden Zeichnungen, in denen:
  • 1 einen Klanggenerator gemäß einem Ausführungsbeispiel der Erfindung zeigt;
  • 2 den internen Datenfluss eines Klanggenerators gemäß einem Ausführungsbeispiel der Erfindung zeigt;
  • 3 ein Flussdiagramm zeigt, welches ein Verfahren gemäß einem Ausführungsbeispiel der Erfindung veranschaulicht;
  • 4 ein Verfahren zum Erzeugen eines Klanges gemäß einem Ausführungsbeispiel der Erfindung zeigt;
  • 5 ein Verfahren zum Erzeugen eines Klanges aus einer Note unter Verwendung von Prioritäts- und Lautstärkeinformation gemäß einem Ausführungsbeispiel der Erfindung zeigt;
  • 6 ein anderes Verfahren zum Erzeugen eines Klanges aus einer Note unter Verwendung von Lautstärkeinformation gemäß einem Ausführungsbeispiel der Erfindung zeigt.
  • Ausführliche Beschreibung beispielhafter Ausgestaltungen
  • Musik-Synthesizer sind heutzutage in einer Vielzahl von Geräten, wie zum Beispiel elektronische Musikinstrumente, PCs, PDAs (Personal Digital Assistent) und Mobiltelefone, anzutreffen. Ihre Einsatzmöglichkeiten reichen von der professionellen Erstellung und Aufnahme von Kompositionen im Musikstudio über die interaktive Untermalung von Computerspielen bis hin zur Generierung von Klingeltönen und Alarmsignalen sowie Benachrichtigungssignalen (beispielsweise Signaltönen). Ein Musik-Synthesizer erzeugt üblicherweise aus einer maschinenlesbaren Darstellung der Partitur eines Musikstücks (Eingangsdaten) ein Audiosignal, das dann entweder direkt über einen akustischen Wandler (beispielsweise einen Lautsprecher oder einen Kopfhörer) abgestrahlt oder auf einem geeigneten Aufnahmemedium zur späteren Wiedergabe gespeichert wird. Als Format für die Synthesizer-Eingangsdaten hat sich das MIDI-Format (Musical Instrument Digital Interface) durchgesetzt.
  • Eine wesentliche Eigenschaft eines Synthesizers ist die maximale Anzahl an Stimmen, die der Synthesizer gleichzeitig erzeugen kann (Stimmzahl; in der Literatur wird auch häufig der Ausdruck „Polyphonie” verwendet). Dies entspricht der maximalen Anzahl von Tönen (Noten), die gleichzeitig erklingen können. Die maximale Stimmzahl von MIDI-Dateien hängt von der Komplexität des Arrangements ab und ist nicht standardisiert. Somit kann jeder Zeit der Fall eintreten, dass die Eingangsdaten mehr Stimmen erfordern, als der Synthesizer wiedergeben kann. Aus diesem Grund enthält ein Synthesizer im Allgemeinen einen Funktionsblock zur dynamischen Stimmverwaltung, dessen Aufgabe es ist, die in den Eingangsdaten angeforderten Noten auf die vorhandenen Stimmen abzubilden. Die Komplexität eines Synthesizers steigt linear mit der maximalen Stimmzahl. Da speziell in mobilen Geräten die in dem Synthesizer zur Verfügung stehenden Ressourcen äußerst begrenzt sind (geringe Rechenleistung, begrenzte Batteriekapazität), ist es wünschenswert, die dynamische Stimmverwaltung so zu optimieren, dass auch bei geringer Stimmzahl noch die bestmögliche Klangqualität erreicht wird (zum Beispiel keine hörbaren Aussetzer in der Melodie). Dies gewinnt beispielsweise an Bedeutung, wenn der Synthesizer mit einer variablen Stimmzahl arbeitet, und somit in bestimmten Betriebszuständen nur eine sehr geringe Stimmzahl verfügbar ist.
  • US 4969385 A beschreibt ein elektronisches Musikinstrument, bei dem einzelnen digitalen Oszillatoren des Musikinstruments Prioritäten zugeordnet sind, die davon abhängen, in welchem Stadium sich die von den Oszillatoren wiedergegebenen Noten befinden.
  • US 4998960 A beschreibt einen Musiksynthesizer, bei dem für die von dem Synthesizer aktuell erzeugten Ausgangssignale mittels eines Prioritätsmittels eine laufende Punktzahl berechnet wird, die einen Anfangswert aufweist, der z. B. vom simulierten Instrumententyp abhängt, und die im Laufe der Zeit abnimmt, wodurch das Alter des Ausgangssignals widergespiegelt wird.
  • Es sind ein Verfahren, ein Klanggenerator sowie eine elektronische Vorrichtung wünschenswert zum Erzeugen eines Klanges aus einer Note in einer Umgebung mit einer begrenzten maximalen Stimmzahl, welche für den Fall, dass die Obergrenze bereits erreicht ist, negative Effekte auf die Wahrnehmung des Zuhörers vermeiden.
  • Im Folgenden beschriebene Ausführungsbeispiele der Erfindung stellen einen Klanggenerator (sound generator), eine elektronische Vorrichtung mit einem Klanggenerator, sowie ein Verfahren zum Steuern eines Klanggenerators bereit zum Erzeugen eines Klanges (Sounds) aus einer Note unter Verwendung von Prioritätsinformation der Klänge und Lautstärkeinformation ausschließlich von den bereits erzeugten Klängen. Implementierungen von Ausführungsbeispielen der Erfindung ermöglichen eine dynamische Stimmverwaltung mit minimalem Aufwand und erzielen bereits mit geringen Stimmzahlen ein volles Klangbild ohne hörbare Artefakte.
  • Falls bereits alle Stimmen eines Synthesizers belegt sind, aber eine weitere Note angeschlagen werden soll, gibt es zwei Möglichkeiten:
    • a) Die neu anzuschlagende Note wird ignoriert, d. h. nicht angeschlagen.
    • b) Eine bereits erklingende Stimme wird überladen, d. h. ein bereits klingender Ton wird abgeschnitten und durch die neue Note ersetzt.
  • Gewöhnlich wird, um zwischen beiden Alternativen zu entscheiden, typischerweise die erwartete Lautstärke- der neuen Note herangezogen. Falls es zum Überladen einer Stimme kommt, wird dazu für gewöhnlich der alteste klingende Ton ausgewählt.
  • Dies hat mehrere Effekte: zum einen erfordert es erheblichen Aufwand, um aus den MIDI-Daten einer anzuschlagenden Note die zu erwartende Lautstärke zu berechnen. Zum anderen ist die älteste klingende Stimme im musikalischen Kontext keineswegs immer die am wenigsten wichtigste. Ein sehr anschauliches Gegenbeispiel ist zum Beispiel ein so genannter Orgelpunkt (lauter Ton im Bass, der über viele Takte liegen bleibt). Darüber hinaus erfordert die Ermittlung des ältesten Tons eine aufwendige Datenhaltung in der Stimmverwaltung (zum Beispiel verkette Liste), die sich sowohl im Speicher – als auch im Rechenaufwand niederschlägt. Herkömmliche Stimmverwaltungen, welche nach diesem Prinzip implementiert sind, erfordern daher erheblich mehr Ressourcen und erreichen eine deutlich verminderte Klangqualität speziell bei geringen Stimmzahlen.
  • Gemäß einem Ausführungsbeispiel der Erfindung verwendet ein Algorithmus zur dynamischen Stimmverwaltung, welcher im Folgenden beschrieben wird, für die Entscheidung, ob und welche Stimme überladen werden soll, ausschließlich die aktuelle Lautstärke der bereits erklingenden Stimmen sowie die Kanalpriorität der neuen Note und der bereits erklingenden Stimmen. Die Lautstärke aller bereits erklingenden Stimmen ist bei geeigneter Implementierung des Synthesizers intern bekannt und kann daher durch eine einfache Abfrage ermittelt werden. Gemäß einem Ausführungsbeispiel der Erfindung kann die Kanalpriorität im Rahmen der MIDI-Standards definiert sein, und ist entweder fest (GM1, GM2; General MIDI) oder variabel (SP-MIDI; Scalable Polyphony MIDI), aber zur Laufzeit jederzeit bekannt. Die grundlegende Idee dabei ist, dass hier der Autor einer MIDI-Datei selbst festlegt, welche Noten bzw.
  • Instrumente im musikalischen Kontext gerade besonders wichtig sind und daher keinesfalls überladen werden sollten.
  • Der Algorithmus kann in zweckbestimmten elektrischen Komponenten oder in einer Standard-Prozessierungs-Hardware mit einem oder mehreren Mikroprozessoren oder programmierbaren Vorrichtungen wie zum Beispiel FPGAs (Field Programmable Gate Arrays) und üblichen Hardware-Vorrichtungen wie zum Beispiel Speicher, Treiberschaltkreise, etc., welche die programmierbaren Vorrichtungen koppeln, implementiert werden.
  • Der Algorithmus kann zum Beispiel implementiert werden als eine Konfiguration wie in 1 gezeigt, welche in einem Ausführungsbeispiel der Erfindung einen Klanggenerator 100 darstellt, welcher eine Mehrzahl von Synthesegeneratoren 108, 110, 112, 114 aufweist zum Erzeugen eines Klanges aus einer Note. Der Klanggenerator 100 weist ferner einen dynamischen Stimmverwaltungsschaltkreis 106 auf, wobei der dynamische Stimmverwaltungsschaltkreis 106 eingerichtet ist zum Auswählen einer neuen Note, welche der Mehrzahl von Synthesegeneratoren 108, 110, 112, 114 in Abhängigkeit von den Lautstärken der erzeugten Klänge bereitgestellt werden soll.
  • Ein Klanggenerator-Steuerschaltkreis 104 steuert und überwacht den gesamten Klanggenerator. Der Klanggenerator-Steuerschaltkreis 104 stellt alle Parameter für die Synthesegeneratoren bereit, wenn eine neue Note angeschlagen werden soll. Der dynamische Stimmverwaltungsschaltkreis 106 wird durch den Klanggenerator-Steuerschaltkreis 104 aufgerufen, wenn eine neue Note zu verarbeiten ist (i. e. aufgrund einer MIDI-Note „Ein”) und erledigt das Zuweisen von Noten zu Generatoren. Der dynamische Stimmverwaltungsschaltkreis 106 realisiert ferner die Ablaufsteuerung (mit anderen Worten den Kontrollfluss), was weiter unten und in 3 ausführlicher beschrieben wird.
  • Die neue Note ist in 1 durch die Eingangsdaten 102 dargestellt.
  • In einem anderen Ausführungsbeispiel weist der Klanggenerator 100 eine Mehrzahl von Synthesegeneratoren 108, 110, 112, 114 zum Erzeugen eines Klanges aus einer Note auf, sowie einen dynamischen Stimmverwaltungsschaltkreis 106, wobei der dynamische Stimmverwaltungsschaltkreis 106 eingerichtet ist zum Auswählen einer neuen Note, welche der Mehrzahl von Synthesegeneratoren 108, 110, 112, 114 bereitgestellt werden soll, in Abhängigkeit von einer der neuen Note und den erzeugten Klängen zugehörigen Priorität und den Lautstärken der erzeugten Klänge.
  • Gemäß einem Ausführungsbeispiel sind zumindest einige der Mehrzahl von Synthesegeneratoren 108, 110, 112, 114 mit dem dynamischen Stimmverwaltungsschaltkreis 106 gekoppelt, um die Lautstärken der erzeugten Klänge dem dynamischen Stimmverwaltungsschaltkreis 106 bereit zu stellen.
  • 1 zeigt ferner eine Ausgestaltung, bei der ein Mischer (Mixer) 116 mit den Ausgängen der Mehrzahl von Synthesegeneratoren 108, 110, 112, 114 gekoppelt ist, um die erzeugten Klänge zu einem Audiosignal zu mischen.
  • In einem Ausführungsbeispiel der Erfindung ist der Klanggenerator 100 in einer elektronischen Vorrichtung (Device) enthalten.
  • Gemäß einer Ausgestaltung ist die elektronische Vorrichtung eine elektronische Vorrichtung, welche ausgewählt ist aus einer Gruppe von elektronischen Vorrichtungen bestehend aus einem Synthesizer, einer Soundkarte, einem Sound-Sampler, einer Soundeffekt-Vorrichtung, einem PC, einem PDA, einem Mobiltelefon und einer Spielekonsole.
  • 2 zeigt ein Beispiel des Signalflusses in dem Klanggenerator 100. Die Note 202 wird mit einem Kommando durch den Kanal 204 mit einer vordefinierten Priorität zu dem Klanggenerator-Steuerschaltkreis 104 gesendet, welcher den dynamischen Stimmverwaltungsschaltkreis 106 aufruft. Die Lautstärke der Note 202 kann berechnet werden als eine erwartete Lautstärke, welche als eine der Eingangsdaten für den dynamischen Stimmverwaltungsschaltkreis 106 verwendet werden kann. Solange wie es freie Synthesegeneratoren 108, 110, 112, 114 gibt, wählt der dynamische Stimmverwaltungsschaltkreis 106 einen freien Synthesegenerator 108, 110, 112, 114, welcher für die neue Note 202 verwendet werden soll, aus, gemäß den mit dem Kommando bereitgestellten Eigenschaften der neuen Note 202. Ansonsten ist die Konfiguration abhängig von der Auswertung des Algorithmus' gemäß einem Ausführungsbeispiel der Erfindung innerhalb des dynamischen Stimmverwaltungsschaltkreises 106. Wie beispielhaft für den Kanal 208 gezeigt ist, sendet der dynamische Stimmverwaltungsschaltkreis 106 eine Anfrage an die Synthesegeneratoren 108, 110, 112, 114, welche als Antwort ein Signal, das Information über die Lautstärke des aktuell erzeugten Klanges enthält, durch die Kanäle 208, 218, 220, 222, welche ebenfalls eine gegebene Priorität aufweisen, zu dem dynamischen Stimmveraltungsschaltkreis 106 senden. Der dynamische Stimmverwaltungsschaltkreis 106 wählt gemäß dem Algorithmus einen der Synthesegeneratoren 108114 aus, in 2 zum Beispiel den Synthesegenerator 108, und weist den Klanggenerator-Steuerschaltkreis 104 an, die Konfigurationsdaten entsprechend der neuen Note 202 zu dem ausgewählten Klanggenerator 108 zu senden. Wie oben beschrieben worden ist, werden die Ausgangssignale 210, 212, 214, 216 in einem Mischer 116 zu einem Audiosignal gemischt, was nicht in 2 gezeigt ist.
  • 2 zeigt einen Kanal 208 als Beispiel für alle Kanäle zwischen den Synthesegeneratoren 108, 110, 112, 114 und dem Klanggenerator-Steuerschaltkreis 104. Die Anzahl der Kanäle bzw. der Synthesegeneratoren 108, 110, 112, 114 ist nicht standardisiert oder festgelegt. Somit kann gemäß einem Ausführungsbeispiel der Erfindung eine beliebige Anzahl von Kanälen und Synthesegeneratoren 108, 110, 112, 114 bereitgestellt sein. Gemäß einem Ausführungsbeispiel der Erfindung sind mehr Kanäle in einem Klanggenerator ausgebildet, als in 2 gezeigt ist. Es ist zu beachten, dass der mit „Auswahl” bezeichnete Pfeil in 2 keine Daten- oder Steuerverbindung darstellt sondern andeuten soll, dass der dynamische Stimmverwaltungsschaltkreis 106 einen ersten Synthesegenerator 108 zum Erzeugen eines Klanges aus einer neuen Note 202 ausgewählt hat.
  • Gemäß einem Ausführungsbeispiel der Erfindung wird die Lautstärke- und Prioritätsinformation der Noten 210, 212, 214, 216 in einem Speicher 206 gespeichert. Dies gewährleistet einen einfachen Zugriff auf die benötigte Information für den dynamischen Stimmverwaltungsschaltkreis 106 und macht es möglich, dass der Ermittlungs- und der Auswahlprozess einer erzeugten Note 210, welche durch eine neue Note 202 ersetzt werden soll, unter Verwendung einer Liste erfolgt, was weiter unten genauer erklärt wird.
  • Gemäß einem Ausführungsbeispiel der Erfindung ist der dynamische Stimmverwaltungsschaltkreis 106 eingerichtet zum Ermitteln einer oder einer Mehrzahl von Noten 210, 212, 214, 216 eines erzeugten Klanges mit einer Priorität innerhalb eines vorgegebenen Prioritätsbereiches bezogen auf die der neuen Note 202 zugehörige Priorität, sowie zum Auswählen einer ermittelten Note 210 eines erzeugten Klanges, welche durch die neue Note 202 ersetzt werden soll, in Abhangigkeit von den Lautstärken der ermittelten Noten 210, 212, 214, 216 der erzeugten Klänge.
  • Gemäß einem Ausführungsbeispiel der Erfindung ist der dynamische Stimmverwaltungsschaltkreis 106 eingerichtet zum Ermitteln einer oder einer Mehrzahl von Noten 210, 212, 214, 216 eines erzeugten Klanges mit einer Priorität, die gleich ist wie oder niedriger ist als die der neuen Note 202 zugehörige Priorität, sowie zum Auswählen einer ermittelten Note 210 eines erzeugten Klanges, welche durch die neue Note 202 ersetzt werden soll, in Abhängigkeit von den Lautstärken der ermittelten Noten 210, 212, 214, 216 der erzeugten Klänge.
  • Gemäß einem Ausführungsbeispiel der Erfindung ist der dynamische Stimmverwaltungsschaltkreis 106 eingerichtet zum Ermitteln einer erwarteten Lautstärke der neuen Note 202 und zum Auswählen einer ermittelten Note 210 eines erzeugten Klanges, welche durch die neue Note 202 ersetzt werden soll, in Abhängigkeit von den Lautstärken der ermittelten Noten 210, 212, 214, 216 der erzeugten Klänge und der erwarteten Lautstärke der neuen Note 202.
  • Gemäß einem Ausführungsbeispiel der Erfindung wird die Lautstärke eines erzeugten Klanges mittels der Amplitude des Signals des erzeugten Klanges dargestellt.
  • Die aktuelle Amplitude stellt ein sehr einfaches Kriterium für die Entscheidung dar. Bei allen Syntheseverfahren, die intern mit Hüllkurvengeneratoren arbeiten (zum Beispiel FM (Frequenzmodulation) oder Wavetable-Synthese), ist eine weitere Vereinfachung möglich, indem lediglich der aktuelle Wert der Amplitudenhüllkurve zurückgegeben wird, so dass gemäß einer Ausgestaltung die Lautstärke eines erzeugten Klanges durch die aktuelle Amplitudenhüllkurve-Generatorausgabe dargestellt wird.
  • Gemäß einem Ausführungsbeispiel ist bei dem vorgeschlagenen Algorithmus eine Liste vorhanden, welche eine Tabelle sein kann, welche die aktuelle Lautstärke und die Kanalpriorität für alle Stimmen enthält.
  • Gemäß einem Ausführungsbeispiel der Erfindung werden die Noten 210, 212, 214, 216 der erzeugten Klänge in einer Liste gespeichert, wobei die Liste für jeden erzeugten Klang die Priorität der dazugehörigen Note und die Lautstärke des entsprechenden erzeugten Klanges enthält.
  • Die Lautstarke jedes einzelnen erzeugten Klanges kann sich mit der Zeit verändern. Daher werden gemäß einem Ausführungsbeispiel die Lautstärke-Einträge in der Liste entweder regelmäßig oder auf Verlangen, wenn eine neue Note anzuschlagen ist, aktualisiert, um zu gewährleisten, dass die aktuelle bzw. letzte Lautstärke des erzeugten Klanges für den Generatorauswahlprozess berücksichtigt wird.
  • Gemäß einem Ausführungsbeispiel der Erfindung wird die Liste in einem Speicher 206 des Klanggenerators gespeichert.
  • Der Speicher 206 in 2 ist logisch dem Klanggenerator-Steuerschaltkreis 104 zugehörig. Der Speicher 206 kann sich jedoch physikalisch irgendwo innerhalb des Klanggenerators 100 befinden oder kann Teil der elektronischen Vorrichtungen sein, wie zum Beispiel ein FPGA des Klanggenerators.
  • Der Prozess des Ermittelns einer Note 210, welche geeignet ist, um durch die neue Note 202 ersetzt zu werden, wird im Folgenden genauer erklärt. Die Prozesse verwenden die Liste mit der Prioritäts- und Lautstärkeinformation der erzeugten Klänge und verwenden einen Minimale-Lautstärke-Parameter, e1cher die minimale Lautstärke der aktuellen Note, welche bisher in dem Ermittlungsprozess betrachtet worden ist, speichert.
  • Wie aus 1 und 2 ersichtlich ist, kann die Implementierung eines Synthesizers getrennt in zwei Teilen erfolgen: ein dynamischer Stimmverwaltungsschaltkreis 106, welcher in dem Klanggenerator-Steuerschalkreis 104 implementiert ist, und ein Satz von Synthesegeneratoren 108, 110, 112, 114.
  • Der dynamische Stimmverwaltungsschaltkreis 106 liest und interpretiert die Eingangsdaten (zum Beispiel MIDI-Kommandos), führt die dynamische Stimmverwaltung aus (die anzuschlagenden Noten werden den vorhandenen Synthesegeneratoren 108, 110, 112, 114 zugeordnet) und konfiguriert diese entsprechend. Jeder Synthesegenerator 108, 110, 112, 114 erzeugt ein Ausgangssignal 210, 212, 214, 216 einer Stimme.
  • Ausführungsbeispiele der Erfindung benötigen lediglich eine minimale Erweiterung der Architektur. Die Synthesegeneratoren 108, 110, 112, 114 melden dem dynamischen Stimmverwaltungsschaltkreis 106 auf Anfrage die aktuelle – Lautstärke zurück. Da die Generatoren 108, 110, 112, 114 das Ausgangssignal 210, 212, 214, 216 einer Stimmer direkt erzeugen, ist die Ableitung und Rückgabe der aktuellen Lautstärke anhand eines geeigneten Kriteriums im Allgemeinen ohne wesentlichen Zusatzaufwand möglich.
  • Damit reduziert sich der Zusatzaufwand auf die Bereitstellung einer zusätzlichen Schnittstelle zwischen dem dynamischen Stimmverwaltungsschaltkreis 106 und den Synthesegeneratoren 108, 110, 112, 114. Mit dem Anschlagen einer neuen Note 202 läuft der Algorithmus zur dynamischen Stimmverwaltung dann wie im Folgenden mittels des in 3 gezeigten Flussdiagramms 300 beschrieben ab:
    In 302 beginnt die Ablaufsteuerung mit der ersten Stimme. Ein Parameter, welcher die minimale Lautstärke der Noten 108, 110, 112, 114 angibt, wird mit der maximal möglichen Lautstärke initialisiert.
  • In 304 wird die Kanalpriorität ermittelt. Falls die Kanalpriorität der neuen Note größer ist als diejenige der aktuellen Stimme wird als nächstes 306 ausgeführt, im anderen Fall wird der Weg 308 verfolgt, und der Prozess fährt fort mit 314.
  • In 306 wird die Lautstärke der aktuellen Stimme ermittelt. Falls die Lautstärke der aktuellen Stimme kleiner ist als-das bisher gefundene Minimum, wird als nächstes 310 ausgeführt, im anderen Fall wird der Weg 312 verfolgt und der Prozess fährt fort mit 314.
  • In 310 wird die Lautstärke der aktuellen Stimme dem Parameter, welcher die minimale Lautstärke enthalt, zugewiesen: gefundenes Minimum = Lautstärke der aktuellen Stimme. Ferner wird die aktuelle Stimme vorgemerkt als Kandidat zum (Über-)Laden.
  • In 314 wird ermittelt, ob alle Stimmen geprüft wurden. Falls alle Stimmen geprüft wurden („Ja” in 314), wird 318 als nächstes ausgeführt, im anderen Fall („Nein” in 314) wird die nächste Stimme ausgewählt und der Prozess fährt fort mit 304.
  • In 318 wird ermittelt, ob eine Stimme zum (Über-)Laden vorgemerkt wurde. Falls eine Stimme zum (Über-)Laden vorgemerkt wurde („Ja” in 318), wird der Prozess fortgesetzt bei 320 mit dem (Über-)Laden der Stimme, im anderen Fall („Nein” in 318) wird der Prozess fortgesetzt bei 322 mit dem Ignorieren der neuen Note.
  • Falls eine neue Note in 320 geladen worden ist, wird die Liste entsprechend aktualisiert. Daher ist gemäß einem Ausführungsbeispiel der Erfindung der dynamische Stimmverwaltungsschaltkreis 106 so eingerichtet, dass er die Liste zumindest teilweise in aufeinander folgender Weise Note für Note auffüllt.
  • Gemäß einem Ausführungsbeispiel ist der Stimmverwaltungsschaltkreis 106 so eingerichtet, dass er die Liste so initialisiert, dass die Lautstärke-Parameter von allen Generatoren auf 0 gesetzt sind und die Prioritäten auf das niedrigste Niveau gesetzt sind.
  • Eine Implementierung eines Ausführungsbeispiels der Erfindung gemäß der oben beschriebenen Ablaufsteuerung 300 wird im Folgenden erläutert.
  • Gemäß einem Ausführungsbeispiel der Erfindung werden bei einer neuen Note 202, welche in die Liste eingefügt werden soll, die folgenden Prozesse durchgeführt.
    • a) Initialisieren eines Minimale-Lautstärke-Parameters auf die maximal mögliche Lautstärke;
    • b) Auswählen einer Note aus der Liste; zum Beispiel Note 210;
    • c) Ermitteln, ob die Priorität der neuen Note 202, welche in die Liste eingefügt werden soll, höher ist als die Priorität der ausgewählten Note 210;
    • d) Für den Fall, dass die Priorität der neuen Note 202, welche in die Liste eingefügt werden soll, höher ist als die Priorität der ausgewählten Note 210: Ermitteln, ob die Lautstärke des erzeugten Klanges der ausgewählten Note 210 kleiner ist als der Wert des Minimale-Lautstärke-Parameters;
    • e) Für den Fall, dass die Lautstärke des erzeugten Klanges der ausgewählten Note 210 kleiner ist als der Wert des Minimale-Lautstärke-Parameters: Vormerken der ausgewählten Note als Kandidat für eine Ersetzung;
    • f) Für den Fall, dass die Lautstärke des erzeugten Klanges der ausgewählten Note 210 nicht kleiner ist als der Wert des Minimale-Lautstärke-Parameters: Ermitteln, ob alle Noten der Liste abgearbeitet worden sind;
    • g) Für den Fall, dass die Priorität der neuen Note 202, welche in die neue Liste eingefügt werden soll, niedriger ist als oder gleich ist wie die Priorität der ausgewählten Note 210: Ermitteln, ob alle Noten 210, 212, 214, 216 aus der Liste abgearbeitet worden sind;
    • h) Für den Fall, dass eine ausgewählte Note 210 als Kandidat für eine Ersetzung vorgemerkt worden ist: Ersetzen der vorgemerkten ausgewählten Note 210 durch die neue Note 202, welche in die Liste eingefügt werden soll.
  • Gemäß einem Ausführungsbeispiel sind die Noten 202, 210, 212, 214, 216 gemäß einem Musikinstrument-Digital-Schnittstellen-Standard (Musical Instrument Digital Interface (MIDI)) kodiert.
  • Im Folgenden werden Verfahren gemäß Ausführungsbeispielen der Erfindung beschrieben, welche den auf dem Klanggenerator 100 implementierten Algorithmus darstellen.
  • Gemäß einem Ausführungsbeispiel der Erfindung ist ein Verfahren zum Erzeugen eines Klanges aus einer Note bereitgestellt. Wie in 4 dargestellt ist und vorangehend in 2 erörtert wurde, werden in 402 aus Noten 210, 212, 214, 216 mittels einer Mehrzahl von Synthesegeneratoren Klänge erzeugt. In 404 werden Parameter der aktuellen Klänge und Parameter einer neuen Note 202 abgerufen oder ermittelt. In 406 wird eine Entscheidung darüber getroffen, ob die neue Note 202 als ein Klang zu erzeugen ist, in Abhängigkeit von den Parameterwerten der Noten 202, 210, 212, 214, 216. In 408 wird im Falle einer positiven Entscheidung ein Klanggenerator ausgewählt zum Erzeugen eines Klanges aus der neuen Note 202.
  • Gemäß einem Ausführungsbeispiel der Erfindung sind die Parameter die Lautstärke der erzeugten Klänge und die Priorität der Noten 202, 210, 212, 214, 216.
  • Diese Parameter sind gewöhnlich in dem Klanggenerator 100 bekannt und für den dynamischen Stimmverwaltungsschaltkreis 106 einfach zugänglich.
  • Gemäß einem anderen Ausführungsbeispiel der Erfindung ist ein Parameter die erwartete Lautstärke der neuen Note 202. Gemäß diesem Ausführungsbeispiel wird dann eine oder eine Mehrzahl von ermittelten Noten 210, 212, 214, 216 eines erzeugten Klanges ausgewählt, um durch die neue Note 202 ersetzt zu werden, in Abhängigkeit von den Lautstärken der ermittelten Noten 210, 212, 214, 216 der erzeugten Klänge und der erwarteten Lautstärke der neuen Note 202.
  • Gemäß einem Ausführungsbeispiel sind die Eingangsparameter die aktuelle Lautstärke von allen Generatoren, die erwartete Lautstärke der neuen Note sowie die Priorität von allen Noten, und eine oder eine Mehrzahl von ermittelten Noten eines erzeugten Klanges wird/werden ausgewählt, um durch die neue Note ersetzt zu werden, in Abhängigkeit von der aktuellen Lautstärke aller Generatoren, der erwarteten Lautstärke der neuen Note und der Priorität von allen Noten.
  • Gemäß einem Ausführungsbeispiel wird die Lautstärke eines erzeugten Klanges dargestellt mittels der aktuellen Amplitudenhüllkurve-Generatorausgabe.
  • Gemäß einem Ausführungsbeispiel der Erfindung basiert die Auswahl eines Synthesegenerators 108, 110, 112, 114 auf der Ermittlung einer oder einer Mehrzahl von Noten 210, 212, 214, 216 eines erzeugten Klanges mit einer Priorität innerhalb eines vorgegebenen Prioritätsbereichs bezüglich der Priorität, welche mit der neuen Note 202 verknüpft ist, sowie einer Auswahl einer ermittelten Note eines erzeugten Klanges, welche durch die neue Note 202 zu ersetzen ist, in Abhängigkeit von den Lautstärken der ermittelten Noten der erzeugten Klänge.
  • Der Prioritätsbereich kann zum Beispiel von der niedrigsten Priorität bis hin zu der Priorität der neuen Note 202 reichen.
  • Gemäß einem Ausführungsbeispiel der Erfindung basiert die Auswahl eines Synthesegenerators 108 bis 114 auf der Ermittlung von einer oder einer Mehrzahl von Noten 210, 212, 214, 216 eines erzeugten Klanges mit einer Priorität, welche gleich ist oder niedriger ist als die Priorität, welche mit der neuen Note 202 verknüpft ist, sowie einer Auswahl einer ermittelten Note eines erzeugten Klanges, welche durch die neue Note 202 zu ersetzen ist, in Abhängigkeit von den Lautstärken der ermittelten Noten der erzeugten Klänge.
  • Gemäß einem Ausführungsbeispiel der Erfindung wird die neue Note ignoriert, falls die Entscheidung, ob die neue Note erzeugt werden soll, negativ ist.
  • Gemäß einem Ausführungsbeispiel der Erfindung wird die Lautstärke eines erzeugten Klanges mittels der Amplitude des Signals des erzeugten Klanges dargestellt.
  • Gemäß einem Ausführungsbeispiel der Erfindung werden die erzeugten Klange zu einem Audiosignal gemischt. Das Audiosignal kann verstärkt werden und zu einem Lautsprecher gesendet werden, oder es kann in weiteren nachfolgenden Stufen verarbeitet werden.
  • Um die Parameterwerte zu ermitteln, kann eine Liste verwendet werden. Die Liste kann eine Art Tabelle sein.
  • Gemäß einem Ausführungsbeispiel der Erfindung werden die Noten 210, 212, 214, 216 der erzeugten Klänge in der Liste gespeichert. Gemäß diesem Ausführungsbeispiel kann die Liste für jeden erzeugten Klang die Priorität der dazugehörigen Note und die Lautstärke des entsprechenden erzeugten Klanges enthalten.
  • Gemäß einem anderen Ausführungsbeispiel der Erfindung kann die Liste zumindest teilweise in aufeinander folgender Weise Note für Note gefüllt sein.
  • Gemäß einem Ausführungsbeispiel ist der Stimmverwaltungsschaltkreis 106 so eingerichtet, dass er die Liste so initialisiert, dass die Lautstärkeparameter aller Generatoren auf 0 gesetzt sind und die Prioritäten auf das niedrigste Niveau gesetzt sind.
  • Gemäß einem Ausführungsbeispiel der Erfindung werden bei einer neuen Note 202, welche in die Liste eingefügt werden soll, die folgenden Prozesse durchgeführt:
    • a) Initialisieren eines Minimale-Lautstärke-Parameters auf die maximal mögliche Lautstärke;
    • b) Auswählen einer Note 210 aus der Liste;
    • c) Ermitteln, ob die Priorität der neuen Note 202, welche in die Liste eingefügt werden soll, höher ist als die Priorität der ausgewählten Note 210;
    • d) Für den Fall, dass die Priorität der neuen Note 202, welche in die Liste eingefügt werden soll, höher ist als die Priorität der ausgewählten Note 210: Ermitteln, ob die Lautstärke des erzeugten Klanges der ausgewählten Note 210 kleiner ist als der Wert des Minimale-Lautstärke-Parameters;
    • e) Für den Fall, dass die Lautstärke des erzeugten Klanges der ausgewählten Note 210 kleiner ist als der Wert des Minimale-Lautstärke-Parameters: Vormerken der ausgewählten Note als Kandidat für eine Ersetzung;
    • f) Für den Fall, dass die Lautstärke des erzeugten Klanges der ausgewählten Note nicht kleiner ist als der Wert des Minimale-Lautstärke-Parameters: Ermitteln, ob alle Noten aus der Liste abgearbeitet worden sind;
    • g) Für den Fall, dass die Priorität der neuen Note 202, welche in die Liste eingefügt werden soll, niedriger ist als oder gleich ist wie die Priorität der ausgewählten Note 210: Ermitteln, ob alle Noten aus der Liste abgearbeitet worden sind;
    • h) Für den Fall, dass eine ausgewählte Note als Kandidat für eine Ersetzung vorgemerkt worden ist: Ersetzen der vorgemerkten ausgewählten Note durch die neue Note 202, welche in die Liste eingefugt werden soll.
  • Gemäß einem Ausführungsbeispiel wird der Wert des Lautstärke-Parameters des Klanges eines freien Synthesegenerators 108, 110, 112, 114 auf 0 gesetzt, und die Priorität des Noten-Parameters des freien Synthesegenerators wird auf die niedrigste Priorität gesetzt. Das heißt, freie Stimmen (Stimmen, die gerade keinen Ton erzeugen) werden darin durch Lautstärke 0 und die niedrigste Kanalpriorität gekennzeichnet. Immer, wenn eine neue Note 202 angeschlagen werden soll, wird aus dieser Liste in einem einzigen Durchgang diejenige mit minimaler Lautstärke bestimmt (Minimumsuche). Dabei werden nur Stimmen berücksichtigt, deren Kanalpriorität kleiner ist als die Priorität der neu anzuschlagenden Note. Durch diesen generischen Ansatz braucht nicht einmal unterschieden zu werden, ob noch Stimmen frei sind, oder ob bereits alle Stimmen belegt sind: solange freie Stimmen vorhanden sind, werden diese automatisch aufgrund der minimalen Lautstärke und Kanalpriorität gefunden. Sobald keine freien Stimmen vorhanden sind, entscheidet die Kanalprioritat darüber, ob die neue Note 202 angeschlagen oder ignoriert wird: nur Noten mit höherer Kanalpriorität können zum Überladen einer Stimme führen. Die Auswahl der Stimme, welche überladen werden kann, erfolgt schließlich anhand der minimalen Lautstärke. Alle drei Fallunterscheidungen (freie Stimmen vorhanden oder nicht, Ignorieren der neuen Note oder Überladen einer Stimme und Auswahl der zu überladenden Stimme) werden implizit mit nur einem Suchvorgang über die Liste aller Stimmen erbracht.
  • Bei Klängen mit ausreichend kurzer Einschwingphase führt selbst das sofortige Überladen von Stimmen (der aktuell erklingende Ton wird sofort abgebrochen und die neue Note wird sofort angeschlagen) nicht zu hörbaren Störgeräuschen, da das aufgrund des abrupten Abbrechens erzeugte Klickgeräusch von den Transienten der neu angeschlagenen Note maskiert wird.
  • Gemäß einem Ausführungsbeispiel wird das Ersetzen der Note 210 dadurch erreicht, dass der aktuell erzeugte Klang sofort abgeschnitten wird.
  • Gemäß einem Ausführungsbeispiel der Erfindung wird das Ersetzen der Note 210 dadurch erreicht, dass der erzeugte Klang ausgeblendet wird. Um die Erzeugung von hörbaren Artefakten, welche durch das Ersetzen der Note bedingt sind, weiter zu verringern, ist es möglich, den zu überladenden Generator 108 nicht einfach abzuschalten, sondern sein Ausgangssignal über einige Millisekunden auszublenden. Damit wird die neue Note 202 allerdings nicht sofort, sondern erst mit leichter Verzögerung angeschlagen. In einer beispielhaften Weise werden die Synthesegeneratoren 108, 110, 112, 114 so implementiert, dass das Laden eines neuen Parametersatzes (der Parametersatz bestimmt den Klang, also das Instrument, dass ein Generator erzeugt) und das Starten einer neuen Note 202 (mit dem vorhandenen Parametersatz) durch den dynamischen Stimmverwaltungsschaltkreis 106 voneinander unabhängig ausgelöst (anders ausgedrückt, getriggert) werden können. Das Laden eines neuen Parametersatzes ist im Allgemeinen weitaus aufwendiger als das Starten einer neuen Note 202.
  • Gemäß einem Ausführungsbeispiel der Erfindung wird ein Klangerzeugungsparametersatz unabhängig von der Klangerzeugung der neuen Note 202 geladen.
  • Gemäß einem Ausführungsbeispiel wird geprüft, welche Klanggeneratoren mit einem geeigneten Klangerzeugungsparametersatz geladen sind, und es wird beim Ermitteln der Note mit der minimalen Lautstärke der Ermittlungsprozess gestoppt, wenn eine Note gefunden wurde mit einem geeigneten Klangerzeugungsparametersatz und einer Lautstärke, die geringer ist als oder gleich ist wie die minimale Lautstarke, welche bisher gefunden wurde. Um eine weitere Reduzierung der Komplexität zu erreichen, bietet es sich an, die Zahl der Ladevorgänge zu minimieren. Dies wird erreicht, wenn Generatoren, die bereits mit dem richtigen Parametersatz geladen sind, beim Anschlagen einer neuen Note 202 bevorzugt werden. Auch das kann durch eine einfache Erweiterung mit dem vorgeschlagenen Algorithmus realisiert werden. Dazu wird beispielsweise in 306 zunächst geprüft, ob die aktuelle Stimme bereits mit dem passenden Parametersatz geladen ist. Falls ja, wird die aktuelle Stimme bereits dann zum Überladen vorgemerkt, falls ihre Lautstarke kleiner oder gleich dem bisher gefundenen Minimum ist. Falls nein, wird weiterhin das Kriterium „kleiner als das aktuelle Minimum” angewandt.
  • Sobald mehrere Stimmen mit minimaler Lautstärke vorhanden sind, bewirkt dies, dass gemäß einem Ausführungsbeispiel der Erfindung Stimmen ausgewählt werden, die bereits richtig parametriert sind. Dies schließt insbesondere den Fall ein, dass noch freie Stimmen vorhanden sind (= mehrere Stimmen mit der minimalen Lautstärke 0). Durch Prüfen einer einzigen weiteren Bedingung in der Stimmverwaltung wird dadurch eine weitere wesentliche Reduktion der Komplexität erreicht.
  • Gemäß einem Ausführungsbeispiel der Erfindung werden die Noten gemäß einem Musikinstrument-Digital-Schnittstellen-Standard kodiert.
  • Gemäß einem Ausführungsbeispiel der Erfindung wird ein Verfahren 500 zum Erzeugen eines Klanges aus einer Note bereitgestellt. 5 veranschaulicht dieses Ausführungsbeispiel. In 502 werden mittels einer Mehrzahl von Synthesegeneratoren Klänge aus Noten erzeugt, wobei ein Klang aus einer neuen Note erzeugt werden soll und wobei die Noten eine vorgegebene Priorität haben. In 504 werden Noten der erzeugten Klänge ermittelt, die eine niedrigere Priorität haben als die Priorität der neuen Note. In 506 wird unter den ermittelten Noten die Note mit der minimalen Lautstärke ermittelt, und in 508 wird die ermittelte Note ausgewählt, um durch die neue Note, welche als Klang zu erzeugen ist, ersetzt zu werden.
  • In einem anderen Ausführungsbeispiel der Erfindung, welches in 6 gezeigt ist, wird ein Verfahren 600 zum Erzeugen eines Klanges aus einer Note bereitgestellt, wobei in 602 eine Note ausgewählt wird, welche einer Mehrzahl von Synthesegeneratoren bereitgestellt werden soll, in Abhängigkeit von den Lautstärken der erzeugten Klänge, und in 604 wird ein Klang aus der Note erzeugt.
  • Gemäß einem Ausführungsbeispiel der Erfindung wird eine erwartete Lautstärke der Note ermittelt und eine ermittelte Note eines erzeugten Klanges wird ausgewählt, um durch die Note ersetzt zu werden, in Abhängigkeit von den Lautstärken der Noten der erzeugten Klänge und der erwarteten Lautstärke der Note.
  • Gemäß einem Ausführungsbeispiel der Erfindung wird die Lautstärke eines erzeugten Klanges dargestellt mittels der Amplitude des Signals des erzeugten Klanges.
  • Gemäß einem Ausführungsbeispiel wird die Lautstärke eines erzeugten Klanges dargestellt mittels der aktuellen Amplitudenhüllkurve-Generatorausgabe.
  • Gemäß einem Ausführungsbeispiel der Erfindung ergibt die Summe der Ausgangssignale von allen Generatoren das gewünschte Audiosignal. Gemäß diesem Ausführungsbeispiel werden somit die erzeugten Klänge zu einem Audiosignal gemischt. Gemäß einem Ausführungsbeispiel erfolgt das Mischen der Ausgangssignale mittels einer Misch-Vorrichtung bzw. eines Mischers (Mixers).
  • Gemäß einem Ausführungsbeispiel ermöglicht die Implementierung eine dynamische-Stimmverwaltung mit minimalem Aufwand und kann bereits bei Stimmzahlen ab ca. 10 ein volles Klangbild ohne hörbare Artefakte erreichen, das vom Zuhörer praktisch nicht von vergleichbaren Implementierungen mit deutlich höherer Stimmzahl unterschieden werden kann.
  • Gemäß einem Ausführungsbeispiel der Erfindung besteht der Algorithmus verglichen mit herkömmlichen Techniken aus einer um die Kanalpriorität erweiterten Suche des Lautstärkeminimums über alle Stimmen. Falls eine geeignete Stimme gefunden wird, wird diese überladen, falls nicht, wird die anzuschlagende Note ignoriert.
  • Als Konsequenz ist zum einen die Komplexität gering: lediglich Abfragen von intern bereits vorhandenen Daten, lediglich eine einfache Minimumsuche, und keine komplexen Datenstrukturen und keine aufwendige Berechnung der zu erwartenden Lautstärke der neuen Note sind erforderlich. Zum anderen erreicht dieser Ansatz auch eine hervorragende Klangqualität: durch die Kombination der Lautstärke der erklingenden Stimmen mit der Kanalpriorität wird sowohl der Wahrnehmung des Zuhörers (nur der leiseste und damit – unhörbarste Ton wird überladen) als auch der Intention des Autors (musikalisch wichtige Stimmen werden nie mit – unwichtigeren überladen) Rechnung getragen.
  • Obwohl die Erfindung vor allem unter Bezugnahme auf bestimmte Ausführungsbeispiele gezeigt und beschrieben wurde, sollte es von denjenigen, die mit dem Fachgebiet vertraut sind, verstanden werden, dass zahlreiche Anderungen bezüglich der Ausgestaltung und Details daran vorgenommen werden können, ohne vom Wesen und Bereich der Erfindung, wie er durch die nachfolgenden Ansprüche definiert wird, abzuweichen. Der Bereich der Erfindung wird daher durch die angefügten Ansprüche bestimmt, und es ist beabsichtigt, dass sämtliche Änderungen, welche unter den Wortsinn oder den Äquivalenzbereich der Ansprüche fallen, umfasst werden.

Claims (30)

  1. Klanggenerator, aufweisend: • eine Mehrzahl von Synthesegeneratoren zum Erzeugen eines Klanges aus einer Note; • einen dynamischen Stimmverwaltungsschaltkreis; • wobei der dynamische Stimmverwaltungsschaltkreis eingerichtet ist, aus den Noten der aktuell erzeugten Klänge eine Note auszuwählen und durch eine neue Note, welche der Mehrzahl von Synthesegeneratoren bereitgestellt werden soll, zu ersetzen in Abhängigkeit von einer der neuen Note und den Noten der aktuell erzeugten Klänge zugehörigen Priorität sowie den Lautstärken der aktuell erzeugten Klänge, • wobei der dynamische Stimmverwaltungsschaltkreis eingerichtet ist, aus den Noten der aktuell erzeugten Klänge die Noten zu ermitteln, deren Priorität niedriger ist als die Priorität der neuen Note, und aus den ermittelten Noten eine Note, deren zugehöriger Klang die geringste Lautstärke aufweist, als die Note auszuwählen, die durch die neue Note ersetzt wird, wobei in dem Fall, dass keine der Noten der aktuell erzeugten Klänge eine niedrigere Priorität hat als die neue Note, die neue Note ignoriert wird.
  2. Klanggenerator gemäß Anspruch 1, wobei zumindest einige der Mehrzahl von Synthesegeneratoren mit dem dynamischen Stimmverwaltungsschaltkreis gekoppelt sind, um dem dynamischen Stimmverwaltungsschaltkreis die Lautstärken der erzeugten Klänge bereit zu stellen.
  3. Klanggenerator gemäß Anspruch 1 oder 2, wobei der dynamische Stimmverwaltungsschaltkreis eingerichtet ist zum Ermitteln einer erwarteten Lautstärke der neuen Note sowie zum Auswählen einer ermittelten Note eines erzeugten Klanges, welche durch die neue Note ersetzt werden soll, in Abhängigkeit von den Lautstärken der ermittelten Noten der erzeugten Klänge und der erwarteten Lautstärke der neuen Note.
  4. Klanggenerator gemäß einem der Ansprüche 1 bis 3, wobei die Lautstärke eines erzeugten Klanges mittels der Amplitude des Signals des erzeugten Klanges dargestellt wird.
  5. Klanggenerator gemäß einem der Ansprüche 1 bis 4, wobei die Lautstärke eines erzeugten Klanges mittels der aktuellen Amplitudenhüllkurve-Generatorausgabe dargestellt wird.
  6. Klanggenerator gemäß einem der Ansprüche 1 bis 5, ferner aufweisend einen Mischer, welcher mit den Ausgängen der Mehrzahl von Synthesegeneratoren gekoppelt ist, zum Mischen der erzeugten Klänge zu einem Audiosignal.
  7. Klanggenerator gemäß einem der Ansprüche 1 bis 6, ferner aufweisend einen Speicher, welcher eine Liste mit Noten der erzeugten Klänge speichert, wobei die Liste für jeden erzeugten Klang die Priorität der dazugehörigen Note und die Lautstärke des entsprechenden erzeugten Klanges aufweist.
  8. Klanggenerator gemäß Anspruch 7, wobei der dynamische Stimmverwaltungsschaltkreis derart eingerichtet ist, dass er die Liste zumindest teilweise in auf einander folgender Weise Note für Note auffüllt.
  9. Klanggenerator gemäß Anspruch 8, wobei der dynamische Stimmverwaltungsschaltkreis derart eingerichtet ist, dass er die Liste für alle Generatoren mit der Lautstärke 0 und minimaler Priorität initialisiert.
  10. Klanggenerator gemäß Anspruch 9, wobei der dynamische Stimmverwaltungsschaltkreis eingerichtet ist, die folgenden Prozesse für eine neue Note, welche in die Liste eingefügt werden soll, durchzuführen: • Initialisieren eines Minimale-Lautstärke-Parameters auf die maximal mögliche Lautstärke; • Auswählen einer Note aus der Liste; • Ermitteln, ob die Priorität der neuen Note, welche in die Liste eingefügt werden soll, höher ist als die Priorität der ausgewählten Note; • Für den Fall, dass die Priorität der neuen Note, welche in die Liste eingefügt werden soll, höher ist als die Priorität der ausgewählten Note, Ermitteln, ob die Lautstärke des erzeugten Klanges der ausgewählten Note geringer ist als der Wert des Minimale-Lautstärke-Parameters; • Für den Fall, dass die Lautstärke des erzeugten Klanges der ausgewählten Note geringer ist als der Wert des Minimale-Lautstärke-Parameters, Vormerken der ausgewählten Note als Kandidat für eine Ersetzung; • Für den Fall, dass die Lautstärke des erzeugten Klanges der ausgewählten Note nicht geringer ist als der Wert des Minimale-Lautstärke-Parameters, Ermitteln, ob alle Noten der Liste abgearbeitet worden sind; • Für den Fall, dass die Priorität der neuen Note, welche in die Liste eingefügt werden soll, niedriger ist als oder gleich ist wie die Priorität der ausgewählten Note, Ermitteln, ob alle Noten der Liste abgearbeitet worden sind; • Für den Fall, dass eine ausgewählte Note als Kandidat für eine Ersetzung vorgemerkt worden ist, Ersetzen der vorgemerkten ausgewählten Note durch die neue Note, welche in die Liste eingefügt werden soll.
  11. Klanggenerator gemäß einem der Ansprüche 1 bis 10, wobei die Noten gemäß einem Musikinstrument-Digital-Schnittstellen-Standard kodiert sind.
  12. Elektronische Vorrichtung, aufweisend einen Klanggenerator gemäß einem der Ansprüche 1 bis 11.
  13. Elektronische Vorrichtung gemäß Anspruch 12, wobei die elektronische Vorrichtung eine elektronische Vorrichtung ist, welche ausgewählt ist aus einer Gruppe von elektronischen Vorrichtungen bestehend aus: Synthesizer; Soundkarte; Sound-Sampler; Soundeffekt-Vorrichtung; PC; PDA; Mobiltelefon; Spielkonsole.
  14. Verfahren zum Erzeugen eines Klanges aus einer Note, bei dem: • Klänge aus Noten erzeugt werden mittels einer Mehrzahl von Synthesegeneratoren; und • aus den Noten der aktuell erzeugten Klänge eine Note ausgewählt und durch eine neue Note, welche der Mehrzahl von Synthesegeneratoren bereitgestellt werden soll, ersetzt wird in Abhängigkeit von einer der neuen Note und den Noten der aktuell erzeugten Klänge zugehörigen Priorität sowie den Lautstärken der aktuell erzeugten Klänge, • wobei aus den Noten der aktuell erzeugten Klänge die Noten ermittelt werden, deren Priorität niedriger ist als die Priorität der neuen Note, und aus den ermittelten Noten eine Note, deren zugehöriger Klang die geringste Lautstärke aufweist, ausgewählt wird, um durch die neue Note ersetzt zu werden, und • wobei in dem Fall, dass keine der Noten der aktuell erzeugten Klänge eine niedrigere Priorität hat als die neue Note, die neue Note ignoriert wird.
  15. Verfahren gemäß Anspruch 14, wobei ein Eingangsparameter die erwartete Lautstärke der neuen Note ist und eine oder eine Mehrzahl von ermittelten Noten eines erzeugten Klanges ausgewählt wird, um durch die neue Note ersetzt zu werden, in Abhängigkeit von den Lautstärken der ermittelten Noten der erzeugten Klänge und der erwarteten Lautstärke der neuen Note.
  16. Verfahren gemäß einem der Ansprüche 14 oder 15, wobei die Eingangsparameter die momentane Lautstärke aller Generatoren, die erwartete Lautstärke der neuen Note und die Priorität aller Noten sind und eine oder eine Mehrzahl von ermittelten Noten eines erzeugten Klanges ausgewählt wird, um durch die neue Note ersetzt zu werden, in Abhängigkeit von der momentanen Lautstärke aller Generatoren, der erwarteten Lautstärke der neuen Note und der Priorität aller Noten.
  17. Verfahren gemäß einem der Ansprüche 14 bis 16, wobei die Lautstärke eines erzeugten Klanges dargestellt wird mittels der Amplitude des Signals des erzeugten Klanges.
  18. Verfahren gemäß einem der Ansprüche 14 bis 17, wobei die Lautstärke eines erzeugten Klanges dargestellt wird mittels der aktuellen Amplitudehüllkurve-Generatorausgabe.
  19. Verfahren gemäß einem der Ansprüche 14 bis 18, wobei der Wert des Lautstärkenparameters des Klanges eines freien Synthesegenerators auf 0 gesetzt wird und die Priorität des Notenparameters des freien Synthesegenerators auf die niedrigste Priorität gesetzt wird.
  20. Verfahren gemäß einem der Ansprüche 14 bis 20, wobei die erzeugten Klänge zu einem Audiosignal gemischt werden.
  21. Verfahren gemäß einem der Ansprüche 14 bis 20, wobei das Ersetzen der Note erreicht wird, indem der aktuell erzeugte Klang sofort abgebrochen wird.
  22. Verfahren gemäß einem der Ansprüche 14 bis 20, wobei das Ersetzen der Note erreicht wird, indem der erzeugte Klang ausgeblendet wird.
  23. Verfahren gemäß einem der Ansprüche 14 bis 22, wobei die Noten der erzeugten Klänge in einer Liste gespeichert werden, wobei die Liste für jeden erzeugten Klang die Priorität der dazugehörigen Note und die Lautstärke des entsprechenden erzeugten Klanges aufweist.
  24. Verfahren gemäß Anspruch 23, wobei die Liste zumindest teilweise in aufeinander folgender Weise Note für Note aufgefüllt wird.
  25. Verfahren gemäß einem der Ansprüche 23 oder 24, wobei die Laustärkeeinträge in der Liste entweder regelmäßig oder auf Verlangen, wenn eine neue Note zu erzeugen ist, aktualisiert werden, um zu gewährleisten, dass die aktuelle Lautstärke des erzeugten Klanges für den Generatorauswahlprozess berücksichtigt wird.
  26. Verfahren gemäß einem der Ansprüche 23 bis 25, wobei die Liste für alle Generatoren mit der Lautstärke 0 und minimaler Priorität initialisiert wird.
  27. Verfahren gemäß Anspruch 26, wobei für eine neue Note, welche in die Liste eingefügt werden soll, die folgenden Prozesse durchgeführt werden: • Initialisieren eines Minimale-Lautstärke-Parameters auf die maximal mögliche Lautstärke; • Auswählen einer Note aus der Liste; • Ermitteln, ob die Priorität der neuen Note, welche in die Liste eingefügt werden soll, höher ist als die Priorität der ausgewählten Note; • für den Fall, dass die Priorität der neuen Note, welche in die Liste eingefügt werden soll, höher ist als die Priorität der ausgewählten Note, Ermitteln, ob die Lautstärke des erzeugten Klanges der ausgewählten Note niedriger ist als der Wert des Minimale-Lautstärke-Parameters; • für den Fall, dass die Lautstärke des erzeugten Klanges der ausgewählten Note niedriger ist als der Wert des Minimale-Lautstärke-Parameters, Vormerken der ausgewählten Note als Kandidat für eine Ersetzung und entsprechendes Aktualisieren des Minimale-Lautstärke-Parameters; • für den Fall, dass die Lautstärke des erzeugten Klanges der ausgewählten Note nicht geringer ist als der Wert des Minimale-Lautstärke-Parameters, Ermitteln, ob alle Noten der Liste abgearbeitet wurden; • für den Fall, dass die Priorität der Note, welche in die Liste eingefügt werden soll, niedriger ist als oder gleich ist wie die Priorität der ausgewählten Note, Ermitteln, ob alle Noten der Liste abgearbeitet worden sind; • für den Fall, dass eine ausgewählte Note als ein Kandidat für eine Ersetzung vorgemerkt worden ist, Ersetzen der vorgemerkten ausgewählten Note durch die neue Note, welche in die Liste eingefügt werden soll.
  28. Verfahren gemäß einem der Ansprüche 14 bis 27, wobei die Noten gemäß einem Musikinstrument-Digital-Schnittstellen-Standard kodiert sind.
  29. Verfahren gemäß einem der Ansprüche 14 bis 29, wobei ein Klangerzeugungsparametersatz unabhängig von der Klangerzeugung der neuen Note geladen wird.
  30. Verfahren gemäß Anspruch 29, wobei geprüft wird, welche Klanggeneratoren mit einem geeigneten Klangerzeugungsparametersatz geladen sind und wobei beim Ermitteln der Note mit der minimalen Lautstärke der Ermittlungsprozess gestoppt wird, wenn eine Note gefunden wurde mit einem geeigneten Klangerzeugungsparametersatz und einer Lautstärke, welche niedriger ist als oder gleich ist wie die minimale Lautstärke, welche bisher gefunden wurde.
DE102008032116A 2007-07-11 2008-07-08 Klanggenerator, elektronische Vorrichtung mit einem Klanggenerator, und Verfahren zum Steuern eines Klanggenerators Expired - Fee Related DE102008032116B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/776,414 2007-07-11
US11/776,414 US7728217B2 (en) 2007-07-11 2007-07-11 Sound generator for producing a sound from a new note

Publications (2)

Publication Number Publication Date
DE102008032116A1 DE102008032116A1 (de) 2009-01-22
DE102008032116B4 true DE102008032116B4 (de) 2013-03-28

Family

ID=40149294

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102008032116A Expired - Fee Related DE102008032116B4 (de) 2007-07-11 2008-07-08 Klanggenerator, elektronische Vorrichtung mit einem Klanggenerator, und Verfahren zum Steuern eines Klanggenerators

Country Status (2)

Country Link
US (1) US7728217B2 (de)
DE (1) DE102008032116B4 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9327193B2 (en) * 2008-06-27 2016-05-03 Microsoft Technology Licensing, Llc Dynamic selection of voice quality over a wireless system
US8657959B2 (en) 2009-07-31 2014-02-25 E I Du Pont De Nemours And Company Apparatus for atomic layer deposition on a moving substrate
CN103893971B (zh) 2012-12-25 2015-05-27 腾讯科技(深圳)有限公司 一种游戏音效的制作方法和客户端
CN110633067B (zh) * 2016-06-16 2023-02-28 Oppo广东移动通信有限公司 一种音效参数的调节方法及移动终端

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4969385A (en) * 1988-01-19 1990-11-13 Gulbransen, Inc. Reassignment of digital oscillators according to amplitude
US4998960A (en) * 1988-09-30 1991-03-12 Floyd Rose Music synthesizer
US20040267541A1 (en) * 2003-06-30 2004-12-30 Hamalainen Matti S. Method and apparatus for playing a digital music file based on resource availability
DE10339032A1 (de) * 2003-08-25 2005-05-25 Infineon Technologies Ag Software-Synthesizer und Verfahren zum Erzeugen von Audiosignalen mit einer variablen Anzahl von Stimmen in Abhängigkeit vom Betriebszustand einer Prozessoreinheit
US20060236848A1 (en) * 2003-10-10 2006-10-26 The Stone Family Trust Of 1992 System and method for dynamic note assignment for musical synthesizers

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5357048A (en) * 1992-10-08 1994-10-18 Sgroi John J MIDI sound designer with randomizer function
ITBO20020361A1 (it) * 2002-06-07 2003-12-09 Roland Europ Spa Sistema per la variazione dei parametri musicali che caratterizzano un brano musicale digitale

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4969385A (en) * 1988-01-19 1990-11-13 Gulbransen, Inc. Reassignment of digital oscillators according to amplitude
US4998960A (en) * 1988-09-30 1991-03-12 Floyd Rose Music synthesizer
US20040267541A1 (en) * 2003-06-30 2004-12-30 Hamalainen Matti S. Method and apparatus for playing a digital music file based on resource availability
DE10339032A1 (de) * 2003-08-25 2005-05-25 Infineon Technologies Ag Software-Synthesizer und Verfahren zum Erzeugen von Audiosignalen mit einer variablen Anzahl von Stimmen in Abhängigkeit vom Betriebszustand einer Prozessoreinheit
US20060236848A1 (en) * 2003-10-10 2006-10-26 The Stone Family Trust Of 1992 System and method for dynamic note assignment for musical synthesizers

Also Published As

Publication number Publication date
DE102008032116A1 (de) 2009-01-22
US7728217B2 (en) 2010-06-01
US20090013858A1 (en) 2009-01-15

Similar Documents

Publication Publication Date Title
DE69625693T2 (de) Verfahren und vorrichtung zur formatierung von digitalen, elektrischen daten
DE102011003976B3 (de) Eingabeschnittstelle zur Erzeugung von Steuersignalen durch akustische Gesten
DE112011103067B4 (de) System, Computerprogrammprodukt und Verfahren mit einer grafischen Benutzerschnittstelle für die Programmierung von Musiksequenzen
DE102007049662B4 (de) Musikklanggenerator
DE60026189T2 (de) Verfahren und Vorrichtung zur Wellenformkomprimierung und Erzeugung
DE2712226A1 (de) Tongeneratoranordnung, insbesondere fuer ein elektronisches musikinstrument
DE102008032116B4 (de) Klanggenerator, elektronische Vorrichtung mit einem Klanggenerator, und Verfahren zum Steuern eines Klanggenerators
DE112013005807T5 (de) Vorrichtung und Verfahren zur Erzeugung einer Echtzeitmusikbegleitung
WO2006005567A1 (de) Verfahren und vorrichtung zur erzeugung einer polyphonen melodie
DE69911129T2 (de) Vorrichtung und Verfahren zur Musiktonsynthetisierung
JP5200434B2 (ja) 音響設定支援装置
DE112018007079T5 (de) Audioparameter-anpassungsvorrichtung, audioparameter-anpassungsverfahren und audioparameter-anpassungsprogramm
DE3332477A1 (de) Elektronisches musikinstrument mit einer vorrichtung zur lokalisierung von klangbildern
DE69632351T2 (de) Verfahren und Vorrichtung zur Musiktonerzeugung
DE60106680T2 (de) Wellenformsignalerzeugung mit Synthetisierung von pseudo-tiefen Tönen
DE60033098T2 (de) Verfahren und Vorrichtung zur Aufnahme/Wiedergabe oder Erzeugung von Wellenformen mittels Zeitlageinformation
DE69915948T2 (de) Bearbeitungsvorrichtung durch Änderung von Musikdaten mit Bearbeitungsdaten
DE112006003794B4 (de) Verbesserter 3D-Sound
DE60006131T2 (de) Verfahren und vorrichtung zur erzeugung von improvisierter musik
DE69923752T2 (de) Vorrichtung zum Senden und Empfängen von Musikdaten und Speicherungsmittel
DE102020200185B4 (de) Klangsteuerungsvorrichtung, klangsteuerungsverfahren und programm
DE60302333T2 (de) Optimierung der Wiedergabe einer MIDI-Datei
DE60032844T2 (de) Verfahren und Vorrichtung zur Erzeugung einer Wellenform auf einem Auslegungsstildatenstrom basiert
DE102019215300B4 (de) Resonanzklangsignalerzeugungsvorrichtung, resonanzklangsignalerzeugungsverfahren, resonanzklangsignalerzeugungsprogramm und elektronische musikvorrichtung
DE60032085T2 (de) Verfahren und Vorrichtung zur Erzeugung einer Wellenform mit verbessertem Übergang zwischen aufeinandervolgenden Dateimodulen

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R081 Change of applicant/patentee

Owner name: INTEL DEUTSCHLAND GMBH, DE

Free format text: FORMER OWNER: INFINEON TECHNOLOGIES AG, 85579 NEUBIBERG, DE

Effective date: 20130207

Owner name: INTEL MOBILE COMMUNICATIONS GMBH, DE

Free format text: FORMER OWNER: INFINEON TECHNOLOGIES AG, 85579 NEUBIBERG, DE

Effective date: 20130207

R082 Change of representative

Representative=s name: VIERING, JENTSCHURA & PARTNER, DE

Effective date: 20130207

R082 Change of representative
R020 Patent grant now final

Effective date: 20130629

R081 Change of applicant/patentee

Owner name: INTEL DEUTSCHLAND GMBH, DE

Free format text: FORMER OWNER: INTEL MOBILE COMMUNICATIONS GMBH, 85579 NEUBIBERG, DE

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee