DE10339032A1 - Software-Synthesizer und Verfahren zum Erzeugen von Audiosignalen mit einer variablen Anzahl von Stimmen in Abhängigkeit vom Betriebszustand einer Prozessoreinheit - Google Patents

Software-Synthesizer und Verfahren zum Erzeugen von Audiosignalen mit einer variablen Anzahl von Stimmen in Abhängigkeit vom Betriebszustand einer Prozessoreinheit Download PDF

Info

Publication number
DE10339032A1
DE10339032A1 DE2003139032 DE10339032A DE10339032A1 DE 10339032 A1 DE10339032 A1 DE 10339032A1 DE 2003139032 DE2003139032 DE 2003139032 DE 10339032 A DE10339032 A DE 10339032A DE 10339032 A1 DE10339032 A1 DE 10339032A1
Authority
DE
Germany
Prior art keywords
votes
generated
data processing
voice
voices
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.)
Ceased
Application number
DE2003139032
Other languages
English (en)
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.)
Infineon Technologies AG
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
Priority to DE2003139032 priority Critical patent/DE10339032A1/de
Publication of DE10339032A1 publication Critical patent/DE10339032A1/de
Ceased 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
    • 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/006Instruments 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 using two or more algorithms of different types to generate tones, e.g. according to tone color or to processor workload
    • 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/005Device type or category
    • G10H2230/021Mobile ringtone, i.e. generation, transmission, conversion or downloading of ringing tones or other sounds for mobile telephony; Special musical data formats or protocols therefor
    • 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
    • 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
    • G10H2240/00Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
    • G10H2240/011Files or data streams containing coded musical information, e.g. for transmission
    • G10H2240/046File format, i.e. specific or non-standard musical file format used in or adapted for electrophonic musical instruments, e.g. in wavetables
    • G10H2240/056MIDI or other note-oriented file format

Landscapes

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

Abstract

Ein Software-Synthesizer (SS) umfasst zum Erzeugen von mehrstimmigen Audiosignalen als Reaktion auf bereitgestellte Musikdaten, eine Mehrzahl N (N > 1) an Synthesegeneratoren (SG) und eine Stimmenverwaltungs-Einheit (SV). Die Stimmenverwaltungs-Einheit (SV) wertet die für einen Datenverarbeitungsrahmen einer Prozessoreinheit (DSP) zu einem Zeitpunkt maximal erzeugbare Stimmzahl in Abhängigkeit der zu diesem Zeitpunkt gegebenen Reichenlast der Prozessoreinheit (PE) aus. Abhängig von dieser maximal erzeugbaren Stimmzahl werden aktive und/oder freie Stimmen an- oder abgeschaltet.

Description

  • Die Erfindung betrifft einen Software-Synthesizer zum Erzeugen von mehrstimmigen Audiosignalen als Reaktion auf in einer Datei enthaltenen Musikdaten sowie ein Verfahren zum Erzeugen von derartiger Audiosignalen mit einer variablen Anzahl von Stimmen. Ferner betrifft die Erfindung ein System, welches insbesondere für eine paketorientierte Datenübertragung ausgelegt ist und einen derartigen Software-Synthesizer umfasst.
  • Zum Erzeugen von mehrstimmigen Audiosignalen mit Synthesizern sind mehrere Realisierungen bekannt. So werden beispielsweise in Computern Soundkarten für das Erzeugen von Melodien oder Geräuschen für Spiele, Multimediaanwendungen oder zum Erzeugen und Abspielen von Musikstücken eingesetzt. Ein Vorteil von derartigen Hardware-basierten Ausführungen zur Erzeugung von Tönen liegt darin, dass auch im Falle einer relativ hohen, insbesondere einer maximalen Auslastung der Prozessoreinheit des Computers die Klangqualität bzw. die Anzahl an gleichzeitig erzeugbaren Tönen bzw. Stimmen relativ hoch ist. Dennoch sind bei derartigen ausschließlich Hardware-basierten Ausführungen wesentliche Nachteile darin zu sehen, dass die Kapazität der Soundkarte lediglich für die Klangerzeugung verwendet wird und eine weitere Nutzung dieser durch den Computer nicht gegeben ist. Da die Soundkarte somit als separate Einheit des Gesamtsystems im Hinblick auf eine Erweiterung der Klangqualität beschränkt ist, ist auch durch eine Verbesserung der dem Computer zugrundeliegenden Software im allgemeinen keine Verbesserung der Klangqualität der Soundkarte zu erzielen.
  • Des Weiteren ist in neueren Mobilfunkgeräten das Erzeugen von mehrstimmigen (Klingel-)Tönen ein wesentliches Anforderungs merkmal. Aufgrund der anwachsenden Anforderungen an Mobilfunkgeräte im Hinblick auf deren Multimediafähigkeit, gewinnt eine hochwertige Wiedergabe von Musikdateien, bspw. als Klingeltöne oder als Hintergrundmusik oder aber auch als akustische Unterstützung von Spielen immer mehr an Bedeutung. Da sowohl die Speicherkapazität von Mobilfunkgeräten als auch die Datenrate zum Herunterladen neuer Musikstücke direkt über die Luftschnittstelle relativ stark begrenzt sind, werden die Musikdateien häufig im standardisierten MIDI (Musical Instrument Digital Interface)-Format oder verwandten Formaten übertragen und gespeichert. Insbesondere im Hinblick auf den benötigten Speicherplatz stellt das MIDI-Format ein relativ effizientes Format dar, da in derartigen MIDI-Dateien anstatt der kompletten Audiodaten lediglich die Partiturinformationen einer Komposition enthalten sind. Im Gegensatz zu Klanginformationen enthalten die MIDI-Daten daher nur Informationen zur Ausführung. Beispielsweise enthalten die MIDI-Daten Informationen darüber, welcher Ton oder welche Tonfolge gespielt werden soll, zu welchem Zeitpunkt ein Ton erklingt oder verstummt, ob ein erklingender Ton zusätzlich verstärkt werden soll, sowie alle weiteren Anpassungen, welche im Hinblick auf das zu spielende Musikstück bzw. auf die dafür zu simulierenden Musikinstrumente. Im Allgemeine werden MIDI-Daten als serieller Datenstrom übertragen, welcher in sogenannte MIDI-Nachrichten unterteilt ist, wobei jede MIDI-Nachricht einen MIDI-Befehl bzw. ein MIDI-Ereignis enthält. Typische MIDI-Nachrichten sind z.B. „Note On" zum Anschlagen eines Tons und „Note Off" um einen Ton ausklingen zu lassen.
  • Da die MIDI-Daten keine Audiodaten sondern lediglich diese Partiturinformationen enthalten, können diese MIDI-Daten nicht direkt wiedergegeben werden, sondern müssen erst mit Hilfe eines Synthesizers in Audio-Samples umgewandelt werden. Erst diese Audio-Samples können nach einer D/A-Wandlung und einer Verstärkung über einen Lautsprecher abgestrahlt werden. Ein derartiger Synthesizer ist besonders auch dann erforderlich, wenn hochwertige Klangeffekte in Echtzeit eingesetzt werden sollen, wie dies beispielsweise bei einer Tastenquittung oder einer musikalischen Untermalung von Spielen oder anderen JAVA-Applikationen der Fall ist.
  • In herkömmlichen MIDI-Wiedergabesystemen wird ein MIDI-Synthesizer von einem Strom von MIDI-Nachrichten gesteuert. Dabei werden die empfangenen MIDI-Nachrichten vom Synthesizer decodiert und die in den Nachrichten enthaltenen Anweisungen, wie beispielsweise das Erzeugen von Audio-Samples, die einem geforderten Ton und einer entsprechenden Anschlagstärke und Lautstärke entsprechen, ausgeführt.
  • Eine wesentliche Eigenschaft eines Synthesizers ist seine Stimmzahl, worunter die maximale Anzahl von Stimmen verstanden wird, die dieser gleichzeitig erzeugen kann. Diese maximale Anzahl von gleichzeitig erzeugbaren Stimmen entspricht der maximalen Anzahl von Tönen (Noten), die gleichzeitig erklingen können. Diese maximale Stimmzahl ist nicht standardisiert und hängt von der Komplexität des Arrangements der gesamten Anordnung ab. Ein Problem, das hierbei entstehen kann ist darin zu sehen, dass eine MIDI-Datei mehr Stimmen enthält und somit mehr Stimmen zu erzeugen wären, als der für die Wiedergabe bereitgestellte Synthesizer unterstützt. Dadurch kann es zu wesentlichen Beeinträchtigungen der Wiedergabe bzw. zu deutlich vernehmbaren Effekten, wie einem plötzlichen Aussetzen der zu spielenden Melodie, kommen. Um jedoch möglichst viele MIDI-Dateien fehlerfrei wiedergeben zu können, ist es wünschenswert, eine möglichst hohe Stimmzahl zur Verfügung stellen zu können. Im allgemeinen kann durch eine höhere Stimmzahl ein hochwertigeres Klangbild erzielt und eine Wiedergabe von relativ komplexen und vielstimmigen Musikstücken durchgeführt werden.
  • Bekannt sind verschiedene Ausführungsformen von derartigen Synthesizern zum Erzeugen von mehrstimmigen Audiosignalen. Eine rein Hardware-basierte Ausführung eines Synthesizers bietet unabhängig vom aktuellen Betriebszustand eines Gerätes (bspw. eines Mobilfunkgerätes) eine relativ große Stimmzahl. Ein erheblicher Nachteil dieser Realisierung ist, wie bereits vorab erwähnt, dass dieser Baustein (bspw. Soundkarte/Sound Chip) als eigener Baustein ausgeführt ist und für weitere Funktionen des Gerätes nicht verwendet werden kann. Ferner sind derartige Realisierungen aufgrund des zusätzlich benötigten Bausteins mit weiteren Kosten verbunden.
  • Neben der rein Hardware-basierten Ausführung eines Synthesizers ist auch ein Audio-Synthesizer bekannt, welcher sowohl einen Hardware-basierten als auch einen Software-basierten Synthesizer in Kombination umfasst. Dieser, aus der DE 696 08 292 T2 bekannte Audio-Synthesizer, verarbeitet, abhängig von vorab festgelegten Kriterien, Töne einerseits im Hardware-Synthesizer und andererseits im Software-Synthesizer. Die Erzeugung von Stimmen im Software-Synthesizer ist dabei von einem Über- oder Unterschreiten eines für die Auslastung einer Prozessoreinheit (CPU) fest vorgegebenen Schwellenwertes abhängig. wird dieser Schwellenwert der Auslastung unterschritten, so werden die Stimmen durch den Software-Synthesizer erzeugt. Übersteigt die Auslastung der Prozessoreinheit diesen Schwellenwert, so werden im Falle einer Überlastung der Prozessoreinheit keine zusätzlichen Stimmen mehr durch den Software-Synthesizer erzeugt, sondern alle weiteren Töne, welche nach dem Eintritt der Überlastung durch einen „Note On"-Befehl aktiviert werden sollen, durch den Hardware-Synthesizer des Audio-Synthesizers erzeugt. Abhängig vom Über- oder Unterschreiten des Schwellwertes wird entschieden, ob die „Note On"-Befehle zur Tonerzeugung im Software- oder Hardware-Synthesizer durchgeführt werden.
  • Der bekannte Audio-Synthesizer ist durch die Kombination von Software- und Hardware-Synthesizer in seinem Gesamtsystem sehr komplex und aufwändig. Die Verarbeitung der Stimmen erfordert neben dem technischen Aufwand eine relativ komplizierte Steuerung, welche Stimmen wo erzeugt werden sollen und wann welcher Synthesizer für eine Stimmengenerierung herange zogen wird. Des Weiteren ist besonders der Software-Synthesizer für sich allein betrachtet relativ unflexibel im Hinblick auf die Möglichkeiten einer einfachen und schnellen Änderung der Anzahl der zu berechnenden Stimmen bezüglich einer sich ändernden Rechenlast der CPU. Eine schnelles Ab- und Anschalten von aktiven bzw. erklingenden Stimmen des Software-Synthesizers in Abhängigkeit einer erforderlichen Rechenkapazität der CPU ist hier nicht gegeben. Bereits erklingende Töne können bei dem bekannten Software-Synthesizer erst dann abgestellt werden, wenn die entsprechenden Töne mit einem Befehl „Note Off" abgeschaltet werden, also erst dann deaktiviert werden, wenn sie im wiederzugebenden Musikstück nicht mehr benötigt werden. Ein Abschalten aufgrund einer erforderlichen höheren Rechenleistung der CPU ist daher nicht möglich. Besonders in modernen Echtzeitsystemen ist ein derartiges nicht-deterministisches Verhalten relativ langsam und unakzeptabel im Hinblick auf die Echtzeitanforderungen. In Echtzeitsystemen können jederzeit Ereignisse eintreten, die unmittelbar eine relativ große Rechenkapazität erfordern, welche mit dem Software-Synthesizer des bekannten Audio-Synthesizers nicht bzw. erst zu einem unbestimmten Zeitpunkt erst verfügbar wären.
  • Daher ist es Aufgabe der Erfindung, einen Software-Synthesizer zum Erzeugen von mehrstimmigen Audiosignalen und ein Verfahren dazu zu schaffen, bei dem die Erzeugung von Stimmen flexibel und effizient abhängig von der Auslastung einer Prozessoreinheit durchgeführt werden kann.
  • Diese Aufgabe wird durch einen Software-Synthesizer zum Erzeugen von mehrstimmigen Audiosignalen, welcher die Merkmale nach Patentanspruch 1 aufweist, und einem Verfahren zum Erzeugen von Audiosignalen mit einer variablen Anzahl von Stimmen mittels eines Software-Synthesizers, welches die Merkmale nach Patentanspruch 20 aufweist, gelöst.
  • Ein erfindungsgemäßer Software-Synthesizer ist zum Erzeugen von Audiosignalen bestehend aus einer variablen Anzahl von Stimmen als Reaktion auf bereitgestellte Musikdaten ausgelegt. Ein wesentlicher Gedanke der Erfindung ist es, dass der Software-Synthesizer Mittel umfasst, welche die für einen Datenverarbeitungsrahmen einer Prozessoreinheit zu einem Zeitpunkt maximal erzeugbare Stimmzahl in Abhängigkeit der zu diesem Zeitpunkt gegebenen Rechenlast der Prozessoreinheit auswerten und abhängig von dieser maximal erzeugbaren Stimmzahl aktive und/oder freie Stimmen des Software-Synthesizers an- oder abschalten. Die maximal erzeugbare Stimmzahl ist dabei derart von der Auslastung der Prozessoreinheit abhängig, dass diese mit sinkender Auslastung der Prozessoreinheit zunimmt.
  • In dem erfindungsgemäßen Software-Synthesizer ist somit für jeden Datenverarbeitungsrahmen eine Anzahl von zu erzeugenden Stimmen bekannt, deren gleichzeitiges Erzeugen dahingehend optimiert ist, dass für jeden Datenverarbeitungsrahmen auch die jeweils zu einem Zeitpunkt maximal erzeugbare Stimmzahl bekannt ist. Diese Zeitpunkt-abhängige maximal erzeugbare Stimmzahl ist dabei in flexibler und dynamischer Weise an die jeweilige Auslastung der Prozessoreinheit angepasst, indem die maximal erzeugbare Stimmzahl Betriebszustand-abhängig schrittweise reduziert oder erhöht wird. Für jeden Betriebszustand der CPU sind daher stets möglichst viele Stimmen durch den Software-Synthesizer erzeugbar und die gleichzeitig zu erzeugende Anzahl an Stimmen kann dadurch optimiert bzw. für jeden Datenverarbeitungsrahmen maximiert werden. Damit lässt sich in jedem Betriebszustand der Prozessoreinheit eine jeweils maximal möglich Anzahl der zu erzeugenden Stimmen generieren. Die Anpassung an die zu einem Zeitpunkt gegebene Rechenleistung der Prozessoreinheit erfolgt dadurch, dass die Mittel aktive und/oder freie Stimmen, also stimmen die bereits erklingen bzw. Stimmen die nicht erklingen aber die erklingen könnten gemäß der vorhandenen Rechenkapazität für jeden Datenverarbeitungsrahmen der Prozessoreinheit an- oder abschalten. Die dynamische Anpassung von Stimmen durch den Software-Synthesizer an die momentanen Gegebenheiten kann daher Echtzeitanforderungen genügen.
  • Im Vergleich zum Stand der Technik kann der erfindungsgemäße Software-Synthesizer somit die Stimmzahl an die momentan erforderliche Rechenkapazität der Prozessoreinheit durch An- oder Abschalten der freien und/oder aktiven Stimmen zum erforderlichen Zeitpunkt selbst dynamisch anpassen. Selbst bei relativ hoher Auslastung der Prozessoreinheit ist es somit möglich, mit dem erfindungsgemäßen Software-Synthesizer zumindest noch eine verminderte Anzahl an Stimmen zu erzeugen, da selbst in diesem Betriebszustand der Prozessoreinheit noch eine minimal erzeugbare Stimmzahl bereitgestellt werden kann. Bei einer relativ geringen Auslastung der Prozessoreinheit kann sogar eine relativ große, maximale erzeugbare Stimmzahl bereitgestellt werden, welche die maximale Stimmzahl im Stand der Technik wesentlich übersteigen kann. Das bedeutet, dass die gesamte Anzahl an implementierten Stimmen im erfindungsgemäßen Software-Synthesizer wesentlich größer sein kann als im aus dem Stand der Technik bekannten Software-Synthesizer. Dadurch kann erreicht werden, dass wesentlich mehr Töne, falls erforderlich, gleichzeitig erklingen können und somit eine deutlich verbesserte Klangqualität erzielt werden kann.
  • Die Mittel können derart ausgelegt sein, dass beispielsweise beim Abschalten von Stimmen zunächst geprüft wird, ob freie Stimmen vorhanden sind und falls dies der Fall ist werden diese freien Stimmen vor den aktiven Stimmen abgeschaltet. Da die freien Stimmen keine erklingenden Töne wiedergeben, wird durch deren Abschalten die Klangqualität nicht beeinträchtigt. Eine gute und unbeeinträchtigte Wiedergabe kann somit auch bei einer aufgrund einer steigenden Rechenauslastung der Prozessoreinheit verminderten maximal erzeugbaren Stimmzahl gewährleistet werden.
  • In vorteilhafter Weise umfassen die Mittel eine Mehrzahl an Synthesegeneratoren, wobei jeder Synthesegenerator zum Erzeugen von Audio-Samples einer Stimme ausgelegt ist.
  • Weiterhin erweist es sich als vorteilhaft, wenn die Mittel eine Stimmenverwaltungs-Einheit umfassen, welche die Musikdaten auswertet und gleichzeitig zu erzeugende Stimmen abhängig von der zum jeweiligen Zeitpunkt gegebenen, maximal erzeugbaren Stimmzahl ermittelt und deren Generierung anstößt, indem entsprechende Befehle an die ausführenden Synthesegeneratoren geschickt werden. Bevorzugt ist es, wenn die zu einem Zeitpunkt maximal erzeugbare Stimmzahl durch die zu diesem Zeitpunkt bereitgestellte Anzahl von mit Stimmen belegbaren Synthesegeneratoren gegeben ist. Es kann vorgesehen sein, dass die zu einem Zeitpunkt bereitgestellte Anzahl von mit Stimmen belegbaren Synthesegeneratoren durch die Summe der zu diesem Zeitpunkt freien Synthesegeneratoren und der zu diesem Zeitpunkt aktiven Synthesegeneratoren gegeben ist. Mittels der Synthesegeneratoren können dadurch die zu erzeugenden Stimmen in Abhängigkeit der Rechenkapazität der Prozessoreinheit generiert werden, wobei die Synthesegeneratoren durch die Stimmenverwaltungs-Einheit aufwandsarm und einfach konfiguriert werden können.
  • Bei einer vorteilhaften Ausführung sind die vom jeweiligen Betriebszustand der Prozessoreinheit abhängigen, maximal erzeugbaren Stimmzahlen jeweils in einer Tabelle als zweite Parameterwerte gespeichert.
  • Es kann vorgesehen sein, dass die Stimmenverwaltungs-Einheit derart ausgebildet ist, dass für die maximal erzeugbaren Stimmzahlen des vorhergehenden und des aktuellen Datenverarbeitungsrahmen verglichen werden. Insbesondere ist die Stimmenverwaltungs-Einheit derart ausgebildet, dass ein Vergleich zwischen den entsprechenden zweiten Parameterwerten durchführbar ist. Dadurch kann zu jedem Datenverarbeitungsrahmen eine maximal erzeugbare Stimmzahl ermittelt werden und somit ein möglichst feine Rasterung der möglichen erzeugbaren Stimmzahl bereitgestellt werden, wodurch die Wiedergabe der zu erzeugenden Stimmen bestmöglich gewährleistet werden kann. Die Übergänge können somit sehr harmonisch und ohne nennenswerte Wahrnehmung von möglichen Stimmenreduzierungen aufgrund erhöhter erforderlicher Rechenkapazität durchgeführt werden. Eine Beeinträchtigung der Klangqualität kann dadurch minimiert werden.
  • In vorteilhafter Weise ist jeder Synthesegenerator derart ausgelegt, dass die momentane Lautstärke der von einem Synthesegenerator erzeugten Stimme ermittelbar ist und als Information an die Stimmenverwaltungs-Einheit übertragbar ist. Es kann vorgesehen sein, dass die Lautstärkeinformation durch die Amplitude eines Stimmensignals, insbesondere durch die Amplitude des Stimmensignals am Ende der Zeitdauer eines Datenverarbeitungsrahmens gegeben ist. In vorteilhafter Weise ist die Stimmenverwaltungs-Einheit derart ausgelegt, dass bei einem aufgrund der zwischen dem vorhergehenden und dem aktuellen Datenverarbeitungsrahmens veränderten Anzahl von mit Stimmen belegbaren Synthesegeneratoren und/oder der veränderten Anzahl von zu erzeugenden Stimmen erforderlichen Deaktivierens eines mit einer Stimme belegten Synthesegenerators, derjenige Synthesegenerator deaktiviert wird, welcher im vorhergehenden Datenverarbeitungsrahmen die leiseste Stimme erzeugt. Durch diese vorteilhaften Weiterbildungen der Erfindung kann eine besonders gute Anpassung der Klangqualität an die sich ändernden Gegebenheiten im Hinblick auf die erzeugbaren und zu erzeugenden Stimmen in jedem Datenverarbeitungsrahmen bereitgestellt werden. Die Wiedergabe kann dadurch im wesentlichen ohne wahrnehmbare Störungen der Klangqualität durchgeführt werden. Störende Effekte wie bspw. abruptes Stimmenverstummen können dadurch ausgeschlossen werden.
  • Vorteilhaft ist es, wenn die Musikdaten MIDI-Daten einer MIDI-Datei sind.
  • Weiterhin betrifft die Erfindung ein System welches zum Erzeugen von Audio-Samples einen erfindungsgemäßen Software-Synthesizer oder eine vorteilhafte Ausführungsform davon umfasst.
  • In vorteilhafter Weise umfasst das System eine Prozessoreinheit, insbesondere einen digitalen Signalprozessor, welche den Software-Synthesizer abhängig von den in einem Datenverarbeitungsrahmen enthaltenen Informationen aktiviert bzw. ausführt. Es kann auch vorgesehen sein, dass die Prozessoreinheit des Systems eine Steuereinheit umfasst, welche den Betriebszustand der Prozessoreinheit überwacht und den einem Betriebszustand zugeordneten Parameterwert an den Software-Synthesizer übergibt.
  • Das System kann als Gameboy oder als Spielekonsole oder als Computer, beispielsweise als Personal Computer oder als tragbarer Computer in Form eines Laptops oder Notebooks oder eines Organizers ausgeführt sein. Es kann auch vorgesehen sein, dass das System als digitales Musikinstrument ausgebildet ist und beispielsweise als Keyboard oder als Music Workstation ausgelegt ist. Allgemein kann es als System zur Wiedergabe von Multimedia-Inhalten ausgebildet sein, welches mobil oder batteriebetrieben ausgebildet sein kann und drahtgebunden oder drahtlos zur Kommunikation ausgelegt ist.
  • Das System kann als Mobilfunkgerät ausgebildet sein, das zur paketorientierten Datenübertragung ausgelegt ist. Besonders bei der paketorientierten Datenübertragung kann die Erfindung beonder vorteilhaft eingesetzt werden. Da in diesem Fall nur für eine relativ kurze Zeit die Rechenkapazität der Prozessoreinheit zur Verarbeitung der Datenpakete erhöht werden muss, ist es somit nut für eine kurze Zeit erforderlich, die maximal erzeugbare Stimmzahl zu reduzieren. Für die restliche Zeit kann relativ viel Rechenkapazität zur Erzeugung von Stimmen bereitgestellt werden, wodurch für eine relativ lange Zeit eine hohe Anzahl an Stimmen gleichzeitig erzeugt werden kann und somit sehr komplexe und vielstimmige Musikstücke mit einer hohen Klangqualität wiedergegeben werden können.
  • Bei einem erfindungsgemäßen Verfahren werden Audiosignale bestehend aus einer variablen Anzahl von Stimmen als Reaktion auf bereitgestellte Musikdaten mittels eines Software-Synthesizers erzeugt. Ein wesentlicher Gedanke der Erfindung ist es, dass die für einen Datenverarbeitungsrahmen einer Prozessoreinheit zu einem Zeitpunkt maximal erzeugbare Stimmzahl in Abhängigkeit der zu diesem Zeitpunkt gegebenen Rechenkapazität der Prozessoreinheit bestimmt wird und abhängig von dieser maximal erzeugbaren Stimmzahl aktive und/oder freie Stimmen an- oder abgeschaltet werden.
  • Dadurch kann eine flexible und optimierte Erzeugung von in einem Datenverarbeitungsrahmen enthaltenen Stimmen eines Musikstücks erfolgen. In besonders effizienter Weise kann dadurch eine von dem Betriebszustand abhängige dynamische Modifikation der jeweils zu erzeugenden und der erzeugbaren Stimmzahl durchgeführt werden. Im wesentlichen kann somit für jeden Betriebszustand der Prozessoreinheit eine mehr oder weniger große Anzahl an von erzeugbaren Stimmen bereitgestellt werden, welche durch den Software-Synthesizer abhängig von den empfangenen Musikdaten zur Erzeugung der Stimmen verwendet werden. Durch das An- oder Abschalten der aktiven und/oder freien Stimmen unmittelbar als Reaktion auf die sich ändernde Rechenkapazität der Prozessoreinheit kann das Verfahren auch Echtzeitanforderungen genügen.
  • Die gegebenenfalls vorhandenen freien Stimmen werden bevorzugter Weise vor den aktiven Stimmen an- oder abgeschaltet. Beispielsweise kann bei einem erforderlichen Abschalten überprüft werden, ob freie Stimmen vorhanden sind. Ist dies der Fall, werden zunächst diese freie Stimmen abgeschaltet. Reicht dies nicht aus, so werden zusätzlich aktive Stimmen abgeschaltet. Dadurch kann erreicht werden, dass die Klanqualität möglichst wenig beeinträchtigt wird. Entsprechend kann dies für ein Anschalten erfolgen, indem zunächst freie Stimmen bereitgestellt werden, die aktiviert werden können.
  • Vorteilhaft ist es, wenn die Audio-Samples von zu erzeugenden Stimmen eines Datenverarbeitungsrahmen mittels einer Mehrzahl an Synthesegeneratoren erzeugt werden.
  • Weiterhin erweist es sich vorteilhaft, wenn die Musikdaten mittels einer Stimmenverwaltungs-Einheit ausgewertet werden und alle gleichzeitig zu erzeugenden bzw. erzeugbaren Stimmen abhängig von der zum jeweiligen Zeitpunkt gegebenen, maximal erzeugbaren Stimmzahl generiert werden, indem die von der durch die maximal erzeugbare Stimmzahl gegebene Anzahl von mit Stimmen belegbaren Synthesegeneratoren benötigte Anzahl aktiviert wird.
  • Es kann vorgesehen sein, dass die vom jeweiligen Betriebszustand der Prozessoreinheit abhängigen, maximal erzeugbaren Stimmzahlen in einer Tabelle jeweils als zweite Parameterwerte gespeichert werden. Bevorzugt ist es, wenn die maximal erzeugbaren Stimmzahlen des vorhergehenden und des aktuellen Datenverarbeitungsrahmens, insbesondere die entsprechenden zweiten Parameterwerte, miteinander verglichen werden. Dadurch kann eine besonders schnelle Anpassung der Stimmzahl an die momentan gegebene Situation im Hinblick auf das An- oder Abschalten von aktiven und/oder freien Stimmen erfolgen.
  • Es kann vorgesehen sein, dass als Lautstärkeinformation die Amplitude des Stimmensignals, insbesondere die Amplitude am Ende der Zeitdauer eines Datenverarbeitungsrahmens, bestimmt wird. Bevorzugt ist es, wenn bei einem aufgrund der zwischen dem vorhergehenden und dem aktuellen Datenverarbeitungsrahmen ermittelten veränderten, maximal erzeugbaren Stimmzahl und/oder der veränderten Anzahl an zu erzeugenden Stimmen erforderlichen Deaktivierens einer erzeugten Stimme, diejenige erzeugte Stimme abgeschaltet wird, welche im vorhergehenden Datenverarbeitungsrahmen, insbesondere am Ende der Zeitdauer des vorhergehenden Datenverarbeitungsrahmens, die leiseste der erzeugten Stimme war. Es kann vorgesehen sein, dass diejenige erzeugte Stimme, welche deaktiviert wird, abgeschaltet wird oder über eine vorgegebene Zeitdauer, insbesondere über die gesamte Zeitdauer des aktuellen Datenverarbeitungsrahmens, ausgeblendet wird. Diese bevorzugten Ausgestaltungen des erfindungsgemäßen Verfahrens ermöglichen eine besonders effektive Anpassung der Stimmzahl an die zu einem Zeitpunkt gegebenen Systembedingungen. Die Klangqualität kann besonders harmonisch und kontinuierlich an die jeweiligen Bedingungen angepasst werden und die Stimmen bestmöglich wiedergegeben werden.
  • Es kann vorgesehen sein, dass der die zu deaktivierende Stimme generierende Synthesegenerator abgeschaltet wird oder über eine vorgegebene Zeitdauer, insbesondere der gesamten Zeitdauer des aktuellen Datenverarbeitungsrahmens, ausgeblendet wird. Dies ermöglicht eine weitere Verbesserung der Klanqualität, da somit ein abruptes Verstummen einer Stimme verhindert werden kann.
  • Weitere vorteilhafte Ausgestaltungen der Erfindung sind in den Unteransprüchen angegeben.
  • Nachfolgend wird ein Ausführungsbeispiel der Erfindung anhand schematischer Zeichnungen näher erläutert. Die einzige Figur zeigt ein Blockschaltbild eines erfindungsgemäßen Software-Synthesizers
  • In dieser 1 ist ein digitaler Signalprozessor DSP in einem Mobilfunkgerät gezeigt, welcher eine Ablaufsteuereinheit AS umfasst. Die Ablaufsteuereinheit AS hat Zugriff auf eine Tabelle T. In der Tabelle T sind die für die unterschiedlichen Auslastungsgrade bzw. Betriebszustände des digitalen Signalprozessors DSP jeweils maximal erzeugbaren Stimmzahlen als zweite Parameterwerte abgespeichert.
  • Des Weiteren umfasst der digitale Signalprozessor DSP einen erfindungsgemäßen Software-Synthesizer SS, welcher von der Ablaufsteuereinheit AS kontrolliert und parametriert wird. Der Software-Synthesizer SS weist eine Stimmenverwaltungs-Einheit SV und eine Anzahl N (N > 1) an Synthesegeneratoren SG auf, wobei die Stimmenverwaltungs-Einheit SV die Synthesegeneratoren SG parametriert und zur Erzeugung von Audiosamples aktiviert bzw. deaktiviert. Es kann auch vorgesehen sein, dass die Ablaufsteuereinheit AS teilweise oder ganz als externe Einheit außerhalb des digitalen Signalprozessors DSP realisiert ist. Die Ausgangssignale AUS der Synthesegeneratoren SG werden summiert und bilden nach der Summation das zu erzeugende mehrstimmige digitale Audiosignal ASI.
  • Abhängig von der Anzahl an bereitgestellten implementierten Synthesegeneratoren SG kann eine in vielfältiger Weise gestaltete Untergliederung einer Betriebszustands-abhängigen, maximal erzeugbaren Stimmzahl ermöglicht werden. Es kann beispielsweise für jede prozentuale Wertänderung des Auslastungsgrades des digitalen Signalprozessors DSP eine unterschiedliche, maximal erzeugbare Stimmzahl ermöglicht werden. Es kann beispielsweise aber auch vorgesehen sein, dass nur bei einer Änderung der Auslastung des digitalen Signalprozessors DSP um mehr als fünf oder zehn Prozentpunkte eine Änderung der maximal erzeugbaren Stimmzahl erfolgt. Die maximal erzeugbare Stimmzahl ist durch die Betriebszustands-abhängige Anzahl an mit Stimmen belegbaren Synthesegeneratoren SG festgelegt.
  • Die mit Stimmen belegbare Anzahl an Synthesegeneratoren SG ist durch die Summe der zu diesem jeweiligen Betriebzustand vorhandenen freien und aktiven Synthesegeneratoren SG gegeben. Als freie Synthesegeneratoren SG werden hierbei jene Synthesegeneratoren SG bezeichnet, welche vom Auslastungsgrad des digitalen Signalprozessors DSP aus betrachtet, mit jeweils einer Stimme belegt werden könnten, aber aufgrund der zu diesem Zeitpunkt zu erzeugenden Stimmen für das Erzeugen einer Stimme nicht benötigt werden. Als aktiv werden diejenige Synthesegeneratoren SG bezeichnet, welche zum gegenwärtig betrachteten Zeitpunkt eine zu erzeugende Stimme generieren welche erklingt. Generell ist die Gesamtzahl an implementierten Synthesegeneratoren SG zu einem Zeitpunkt durch die Summe der aktiven, der freien und der zu diesem betrachteten Zeitpunkt gesperrten Synthesegeneratoren SG gegeben. Als gesperrt werden dabei jene Synthesegeneratoren SG bezeichnet, welche aufgrund des momentanen Betriebszustandes des digitalen Signalprozessors DSP nicht mit einer Stimme belegbar sind. Abhängig vom Betriebszustand des digitalen Signalprozessors DSP kann somit maximal die Gesamtzahl an implementierten Synthesegeneratoren zum Erzeugen von Stimmen herangezogen werden. Die maximal implementierte, d.h. physikalisch vorhandene Anzahl an Synthesegeneratoren SG, muss für eine konkrete Implementierung entsprechend der maximal (d.h. im Betriebszustand mit der geringsten Last) verfügbaren Ressourcen (d.h. Speicher und Rechenleistung) dimensioniert werden.
  • Beim erfindungsgemäßen Software-Synthesizer SS ist der Funktionsumfang somit derart erweitert, dass durch die dynamische Modifikation der maximal erzeugbaren Stimmzahl diese jederzeit verändert werden kann, wodurch generell die durch den Software-Synthesizer SS zu erzeugende Stimmzahl vom Betriebszustand des digitalen Signalprozessors DSP abhängig optimiert werden kann und situationsabhängig für jeden Datenverarbeitungsrahmen jeweils maximiert wird. Die aktiven und/oder freien Stimmen werden dabei als unmittelbare Reaktion auf eine sich in aufeinanderfolgenden Datenverarbeitungsrahmen der Prozessoreinheit ändernde Rechenkapazität der Prozessoreinheit an- oder abgeschaltet. Dieses Ändern bzw. Anpassen der zu erzeugenden Stimmzahl an die jeweils gegebene, maximal erzeugbare Stimmzahl erfolgt in vorteilhafter Weise auch bei einer laufenden Wiedergabe einer MIDI-Datei möglichst unhörbar, so dass derartige Übergänge zwischen Betriebszuständen vom Zuhörer im allgemeinen nicht bemerkt werden und eine wesentlich verbesserte Klangqualität erzielt werden kann. Eine wesentliche Verbesserung wird bei der paketorientierten Datenübertragung erzielt, da hier nur zu den relativ kurzen Zeitdauern, in denen eine Verarbeitung eines Datenpakets durchgeführt wird, eine höhere Auslastung des digitalen Signalprozessors DSP erforderlich ist. Dies bedeutet, dass in dieser Zeitdauer aufgrund der erhöhten Auslastung die maximal erzeugbare Stimmzahl reduziert wird. Da jedoch diese Zeitdauer einer Paketverarbeitung, wie erwähnt, relativ kurz ist, muss die maximal erzeugbare Stimmzahl und damit die Anzahl von mit Stimmen belegbaren Synthesegeneratoren SG (freie und aktive) nur für eine relativ kurze Zeitdauer reduziert werden und kann anschließend sofort wieder erhöht werden. In Betriebszuständen des digitalen Signalprozessors DSP mit relativ geringer Auslastung, kann somit eine relativ hohe maximal erzeugbare Stimmzahl erreicht bzw. eine relativ große Anzahl an mit Stimmen belegbaren Synthesegeneratoren SG bereitgestellt werden. Generell ergibt dabei die Summe der Ausgangssignale der aktiven Synthesegeneratoren SG das zu ertönende Musikstück in Form eines digital codierten Audiosignals.
  • Die Funktionsweise des in 1 dargestellten DSP wird nachfolgend erläutert. Der digitale Signalprozessor DSP verarbeitet Daten in einer regelmäßigen Rahmenstruktur. Die Ablaufsteuereinheit AS ruft entsprechend einem Anforderungsprofil Module des Mobilfunkgerätes auf, mittels denen die zur Abarbeitung von Aufgaben benötigten Algorithmen durchgeführt werden. In entsprechender Weise wird somit auch der Software-Synthesizer SS von der Ablaufsteuereinheit AS in regelmäßigen Zeitabständen aufgerufen. Der Software-Synthesizer SS liest die in dem aktuellen Datenverarbeitungsrahmen enthaltenen MIDI-Daten, welche in einer MIDI-Datei im Mobilfunkgerät gespeichert sind, und generiert auf der Basis dieser Musikdaten die Audio-Samples der für das jeweilige Musikstück erforderlichen Stimmen dieses Datenverarbeitungsrahmens. Die Ablaufsteuereinheit AS überprüft den aktuellen Betriebszustand des digitalen Signalprozessors DSP und liest aus der Tabelle T einen diesem Betriebszustand zugeordneten zweiten Parame terwert aus, welcher die für diesen aktuellen Betriebszustand maximal erzeugbare Stimmzahl als Information enthält und von der Ablaufsteuereinheit AS an den Software-Synthesizer SS übertragen wird.
  • Das Lesen und Interpretieren der MIDI-Nachrichten wird mittels der Stimmenverwaltungs-Einheit SV des Software-Synthesizers SS durchgeführt. Anhand der durch den zweiten Parameterwert an die Stimmenverwaltungs-Einheit SV übermittelte, maximal erzeugbare Stimmzahl bzw. Anzahl von mit Stimmen belegbaren Synthesegeneratoren SG und der für diesen Datenverarbeitungsrahmen zu erzeugenden Stimmzahl des Musikstücks, ordnet die Stimmenverwaltungs-Einheit SV anzuschlagende Noten den freien oder den aktiven Synthesegeneratoren SG zu und konfiguriert diese mit Noten belegten Synthesegeneratoren SG. Die Stimmenverwaltungs-Einheit SV vergleicht dabei den aus dem vorhergehenden Datenverarbeitungsrahmen übermittelten zweiten Parameterwert mit dem aus dem aktuellen Datenverarbeitungsrahmen übermittelten zweiten Parameterwert und ermittelt durch Differenzbildung, ob sich die maximal erzeugbare Stimmzahl verändert hat oder nicht.
  • Wird beispielsweise angenommen, dass die zu erzeugende Stimmzahl im Vergleich zwischen dem vorhergehenden und dem aktuellen Datenverarbeitungsrahmen konstant bleibt, und hat sich die maximal erzeugbare Stimmzahl zwischen dem vorhergehenden und dem aktuellen Datenverarbeitungsrahmen ebenfalls nicht verändert, so sind keine weiteren Maßnahmen im Hinblick auf ein Abschalten eines aktiven Synthesegenerators SG erforderlich. Hat sich jedoch bei unveränderter zu erzeugender Stimmzahl die maximal erzeugbare Stimmzahl zwischen dem vorhergehenden und dem aktuellen Datenverarbeitungsrahmen erhöht, so werden einfach zusätzliche freie Synthesegeneratoren SG entsprechend der Erhöhung der maximal erzeugbaren Stimmzahl freigegeben. Dies kann bis hin zur Gesamtzahl an implementierten Synthesegeneratoren SG erfolgen.
  • Als weiterer Fall ist aber auch möglich, dass bei unveränderter zu erzeugender Stimmzahl die maximal erzeugbare Stimmzahl zwischen dem vorhergehenden und dem aktuellen Datenverarbeitungsrahmen abnimmt. In dieser Situation ist zwischen zwei nachfolgenden Szenarien zu unterscheiden. Zum einen kann hier die Situation eintreten, dass mindestens so viele Synthesegeneratoren SG frei sind, wie dies der zahlenmäßigen Verminderung der maximal erzeugbaren Stimmzahl im Vergleich zwischen dem vorhergehenden und dem aktuellen Datenverarbeitungsrahmen entspricht. Hierbei wird eine der Verminderung der maximal erzeugbaren Stimmzahl entsprechende Anzahl von freien Synthesegeneratoren SG gesperrt, welche somit nicht mehr mit Stimmen belegt werden dürfen.
  • Zum anderen kann jedoch auch der Fall eintreten, dass die Verminderung der maximal erzeugbaren Stimmzahl zwischen dem vorhergehenden und dem aktuellen Datenverarbeitungsrahmen zahlenmäßig größer ist, als die Anzahl der freien Synthesegeneratoren SG. In diesem Fall sind neben dem Sperren aller freien Synthesegeneratoren SG auch aktive Synthesegeneratoren SG abzuschalten bzw. zu deaktivieren. Hierfür sind geeignete Kriterien heranzuziehen. Im Ausführungsbeispiel werden beispielsweise diejenigen aktiven Synthesegeneratoren SG abgeschaltet bzw. deaktiviert, welche die leisesten Töne bzw. Stimmen erzeugen. Die Lautstärkeinformation wird dabei von jedem der Synthesegeneratoren SG an die Stimmenverwaltungs-Einheit SV übertragen. Als Lautstärkeinformation wird die Amplitude des jeweils erzeugten Tons am Ende der Zeitdauer des vorhergehenden Datenverarbeitungsrahmens herangezogen. In vorteilhafter Weise werden die ermittelten aktiven Synthesegeneratoren SG, welche die leisesten Stimmen erzeugen, nicht abrupt abgeschaltet, sondern die von ihnen erzeugten Töne werden über eine vorgegebene Zeitdauer hinweg ausgeblendet. Das Ausblenden wird dabei bevorzugt durch eine kontinuierliche Reduzierung der Lautstärke des erzeugten Tons über die gesamte Zeitdauer des aktuellen Datenverarbeitungsrahmens durchgeführt. In diesem Fall wird die im aktuellen Datenver arbeitungsrahmen vorhandene, maximal erzeugbare Stimmzahl nicht sofort erreicht, sondern wird erst im nachfolgenden Datenverarbeitungsrahmen erzielt.
  • Prinzipiell ist diese vorab erläuterte Vorgehensweise auch bei anderen Voraussetzungen heranzuziehen. Beispielsweise auch dann, wenn sich die zu erzeugende Stimmzahl oder die zu erzeugende sowie die maximal erzeugbare Stimmzahl zwischen dem vorhergehenden und dem aktuellen Datenverarbeitungsrahmen verändert. In derartigen Fällen ist jeweils darauf zu achten, wie die Ausgangsbedingungen im vorhergehenden Datenverarbeitungsrahmen waren, bspw. ob die zu erzeugende Stimmzahl gleich, größer oder kleiner der maximal erzeugbaren Stimmzahl war. Ausgehend von diesen jeweils zugrundeliegenden Situationen, kann dann die Situation im aktuellen Datenverarbeitungsrahmen entsprechend den oben ausgeführten Erläuterungen analysiert werden.
  • Als weitere Ausgangsvoraussetzung kann beispielsweise im vorhergehenden Datenverarbeitungsrahmen die Anzahl der zu erzeugenden Stimmen gleich der Anzahl an maximal erzeugbaren Stimmen sein, so dass alle freien Synthesegeneratoren SG aktiv und keine weiteren freien Synthesegeneratoren SG vorhanden sind. Ist nun im aktuellen Datenverarbeitungsrahmen im Vergleich zum vorhergehenden Datenverarbeitungsrahmen die Anzahl der zu erzeugenden Stimmen unverändert und die Anzahl der maximal erzeugbaren Stimmen unverändert, so können weiterhin alle zu erzeugenden Stimmen durch die bereits aktiven Synthesegeneratoren generiert werden. Tritt hingegen die Situation ein, dass im aktuellen Datenverarbeitungsrahmen im Vergleich zum vorhergehenden Datenverarbeitungsrahmen die maximal erzeugbare Stimmzahl unverändert bleibt und sich die Anzahl der zu erzeugenden Stimmen verringert, so sind neben den aktiven Synthesegeneratoren SG zusätzliche freie Synthesegeneratoren SG vorhanden, die nicht mit Noten belegt sind, aber für eine derartige Notenbelegung aufgrund des Betriebszustands des digitalen Signalprozessors DSP freigegeben wären.
  • Entsprechendes gilt für den Fall, dass die zu erzeugende Stimmzahl im Vergleich zwischen dem vorhergehenden und dem aktuellen Datenverarbeitungsrahmen gleich bleibt und die maximal erzeugbare Stimmzahl zunimmt. Auch in diesem Fall werden im aktuellen Datenverarbeitungsrahmen einfach zusätzlich freie Synthesegeneratoren SG bereitgestellt.
  • Es kann jedoch auch der Fall eintreten, dass im Vergleich zwischen dem aktuellen Datenverarbeitungsrahmen und dem vorhergehenden Datenverarbeitungsrahmen die Anzahl der maximal erzeugbaren Stimmen und somit die Anzahl an mit Stimmen belegbaren Synthesegeneratoren SG gleich bleibt und sich die Anzahl von zu erzeugenden Stimmen erhöht. Unter der Berücksichtigung der oben beispielhaft gemachten Annahme, dass im vorhergehenden Datenverarbeitungsrahmen die maximal erzeugbare Stimmzahl gleich der zu erzeugenden Stimmzahl ist, ist in diesem Fall kein freier Synthesegenerator SG verfügbar, und es kann ein bereits aktiver Synthesegenerator SG überladen werden oder ein neu anzuschlagender Ton bzw. eine neu zu erzeugende Stimme ignoriert werden. Ob und falls ja welcher aktive Synthesegenerator SG überladen wird oder welche neu zu erzeugende Stimme ignoriert wird, ist anhand von geeigneten Kriterien zu entscheiden.
  • Ausgehend von der oben als Beispiel angeführten Situation, dass im vorhergehenden Datenverarbeitungsrahmen die Anzahl der zu erzeugenden Stimmen gleich der maximal erzeugbaren Stimmzahl ist, kann auch die Situation eintreten, dass sich im Vergleich zum aktuellen Datenverarbeitungsrahmen die maximal erzeugbare Stimmzahl vermindert. Ist im aktuellen Datenverarbeitungsrahmen im Vergleich zum vorhergehenden Datenverarbeitungsrahmen zusätzlich die Anzahl der zu erzeugenden Stimmen unverändert, so ist bzw. sind wie bereits vorab erläutert, die neu zu erzeugende Stimme bzw. zu erzeugenden Stimmen zu Ignorieren oder durch Überladen eines oder mehrerer aktiver Synthesegeneratoren SG zu generieren.
  • Ausgehend vom oben angenommenen Fall, dass im vorhergehenden Datenverarbeitungsrahmen die zu erzeugende Stimmzahl gleich der maximal erzeugbaren Stimmzahl ist, kann folglich auch die Situation eintreten, dass im Vergleich zwischen dem vorhergehenden und dem aktuellen Datenverarbeitungsrahmen die maximal erzeugbare Stimmzahl abnimmt und die zu erzeugende Stimmzahl zunimmt. Auch in diesem Fall übersteigt im aktuellen Datenverarbeitungsrahmen somit die zu erzeugende Stimmzahl die maximal erzeugbare Stimmzahl. Dies führt auch hier dazu, dass eine oder mehrere zu erzeugende Stimmen ignoriert werden müssen oder aber bereits generierte Noten ausgeblendet werden, indem aktive Synthesegeneratoren SG überladen werden.
  • Unter der ursprünglich gemachten Annahme, dass im vorhergehenden Datenverarbeitungsrahmen die maximal erzeugbare Stimmzahl der zu erzeugenden Stimmzahl entspricht, ist ein weiterer Fall dahingehend denkbar, dass im Vergleich zwischen dem vorhergehenden und dem aktuellen Datenverarbeitungsrahmen sowohl die maximal erzeugbare Stimmzahl als auch die zu erzeugende Stimmzahl abnimmt. Hierbei ist nun zu unterscheiden, ob die zahlenmäßige Verminderung der maximal erzeugbaren Stimmzahl gleich der zahlenmäßigen Verminderung der zu erzeugenden Stimmzahl oder aber diese kleiner oder größer ist. Ist die zahlenmäßige Änderung gleich, so sind keine weiteren Maßnahmen im Hinblick auf ein Abschalten von Synthesegeneratoren SG erforderlich. Ist die zahlenmäßige Verminderung der maximal erzeugbaren Stimmzahl kleiner als die zahlenmäßige Verminderung der zu erzeugenden Stimmzahl, so werden ein oder mehrere der im vorhergehenden Datenverarbeitungsrahmen aktiven Synthesegeneratoren SG im aktuellen Datenverarbeitungsrahmen als freie Synthesegeneratoren SG bereitgestellt. Ist jedoch die zahlenmäßige Verminderung der maximal erzeugbaren Stimmzahl größer als die zahlenmäßige Verminderung der zu erzeugenden Stimmzahl, so ist im aktuellen Datenverarbeitungsrahmen wiederum ein Ignorieren von zu erzeugenden Stimmen oder ein Ausblenden von bereits generierten Stimmen durch Überladen von einem oder mehreren aktiven Synthesegeneratoren SG erforderlich.
  • In entsprechender Weise zu den vorab erläuterten Fällen ist dann zu verfahren, wenn ausgehend von der im Ausführungsbeispiel angenommenen Situation, dass im vorhergehenden Datenverarbeitungsrahmen die maximal erzeugbare Stimmzahl gleich der zu erzeugenden Stimmzahl ist, und im Vergleich zwischen dem vorhergehenden und dem aktuellen Datenverarbeitungsrahmen eine zahlenmäßige Erhöhung der maximal erzeugbaren Stimmzahl eintritt. Auch hier sind dann ausgehend von diesen beispielhaften Annahmen wiederum die Fälle zu unterscheiden, in denen keine Änderung der zu erzeugenden Stimmzahl oder aber eine Erhöhung der zu erzeugenden Stimmzahl oder aber eine Verminderung der zu erzeugenden Stimmzahl zwischen dem vorhergehenden und dem aktuellen Datenverarbeitungsrahmen eintritt.
  • Prinzipiell kann ein Ignorieren oder ein Ausblenden einer zu erzeugenden Note oder einer zu erzeugenden Stimme immer dann durchgeführt werden, wenn die zwischen dem vorhergehenden und dem aktuellen Datenverarbeitungsrahmen auftretende Änderung der maximal erzeugbaren Stimmzahl und/oder der zu erzeugenden Stimmzahl ergeben, dass die zu erzeugende Stimmzahl des aktuellen Datenverarbeitungsrahmen die maximal erzeugbare Stimmzahl des aktuellen Datenverarbeitungsrahmen übersteigt. Dies gilt analog auch für den Fall, dass die maximal erzeugbare Stimmzahl und die zu erzeugende Stimmzahl im Vergleich zwischen dem vorhergehenden und dem aktuellen Datenverarbeitungsrahmen unverändert bleibt und im vorhergehenden Datenverarbeitungsrahmen die maximal erzeugbare Stimmzahl die dort zu erzeugende Stimmzahl unterschritten hat und bereits im vorhergehenden Datenverarbeitungsrahmen ein Ignorieren oder Ausblenden von Stimmen erforderlich war.
  • Wesentlich für die Erfindung ist, dass die maximal erzeugbaren Stimmzahl sofort an die sich zu einem bestimmten Zeitpunkt ändernde Rechenkapazität der Prozessoreinheit flexibel angepasst werden kann. Situationsabhängig werden dabei die Anzahlen der aktiven und/oder freien Synthesegeneratoren bzw. die aktiven und/oder freien Stimmen reduziert oder erhöht.
  • Im erfindungsgemäßen Software-Synthesizer SS sind die Synthesegeneratoren SG derart ausgelegt, dass die Lautstärke der jeweils erzeugten Stimme einfach und aufwandsarm zur Verfügung gestellt werden kann, da die jeweiligen Synthesegeneratoren SG die Stimmen direkt erzeugen und dadurch im wesentlichen ohne Zusatzaufwand ein Ermitteln und Übertragen der Lautstärkeinformation ermöglicht werden kann.
  • Durch das beschriebene erfindungsgemäße Verfahren und den erfindungsgemäßen Software-Synthesizer SS kann in wesentlich vereinfachter Weise stets eine vom Betriebszustand der Prozessoreinheit abhängige maximal erzeugbare Stimmzahl als unmittelbare Reaktion auf eine sich ändernde Auslastung der Prozessoreinheit bereitgestellt werden. Besonders bei der paketorientierten Datenübertragung kann somit aufgrund der Tatsache, dass nicht in jedem Datenverarbeitungsrahmen der Prozessoreinheit eine Änderung der maximal erzeugbaren Stimmzahl aufgrund einer Betriebszustandänderung des Prozessors DSP wegen einer Verarbeitung eines Datenpakets zu erwarten ist, eine generell relativ hohe maximal erzeugbare Stimmzahl gewährleistet werden. Lediglich in relativ kurzen Zeitdauern in denen ein Datenpaket verarbeitet werden muss, ist es erforderlich, die maximal erzeugbare Stimmzahl für eine kurze Zeitdauer (Zeitdauer der Paketverarbeitung) zu reduzieren. In dynamischer Weise ist dadurch die zu einem jeweiligen Zeitpunkt gegebene, maximal erzeugbare Stimmzahl an den Auslastungsgrad der Prozessoreinheit DSP angepasst, und für jeden Datenverarbeitungsrahmen kann eine dynamisch optimierte Generierung von zu erzeugenden Stimmen durch Bereitstellen stets der zu dem jeweiligen Zeitpunkt maximal möglichen, erzeugbaren Stimmzahl gewährleistet werden. Diese maximal erzeugbare Stimmzahl wird durch die Anzahl der zu diesem Zeitpunkt mit Stimmen belegbaren Synthesegeneratoren SG gegeben, welche sich aus der Summe der freien und der aktiven Synthesegeneratoren SG ergibt.

Claims (33)

  1. Software-Synthesizer zum Erzeugen von Audiosignalen mit einer variablen Anzahl von Stimmen als Reaktion auf bereitgestellte Musikdaten, welcher Mittel umfasst, welche die für einen Datenverarbeitungsrahmen einer Prozessoreinheit (PE) zu einem Zeitpunkt maximal erzeugbare Stimmzahl in Abhängigkeit der zu diesem Zeitpunkt gegebenen Rechenlast der Prozessoreinheit (PE) auswerten und abhängig von dieser maximal erzeugbaren Stimmzahl aktive und/oder freie Stimmen an- oder abschalten.
  2. Software-Synthesizer nach Anspruch 1, dadurch gekennzeichnet, dass die Mittel eine Mehrzahl an Synthesegeneratoren (SG) umfassen, wobei jeder Synthesegenerator (SG) zum Erzeugen von Audio-Samples für eine Stimme ausgelegt ist.
  3. Software-Synthesizer nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass die Mittel eine Stimmenverwaltungs-Einheit (SV) umfassen, welche die Musikdaten auswertet und die Generierung aller gleichzeitig zu erzeugenden Stimmen abhängig von der zum jeweiligen Zeitpunkt gegebenen, maximal erzeugbaren Stimmzahl anstößt und kontrolliert.
  4. Software-Synthesizer nach Anspruch 2, dadurch gekennzeichnet, dass die von der Auslastung der Prozessoreinheit (PE) abhängige, zu einem Zeitpunkt maximal erzeugbare Stimmzahl durch die zu diesem Zeitpunkt bereitgestellte Anzahl von mit Stimmen belegbaren Synthesegeneratoren (SG) gegeben ist.
  5. Software-Synthesizer nach Anspruch 4, dadurch gekennzeichnet, dass die zu einem Zeitpunkt bereitgestellte Anzahl von mit Stimmen belegbaren Synthesegeneratoren (SG) durch die Summe der zu diesem Zeitpunkt freien Synthesegeneratoren (SG) und der aktiven Synthesegeneratoren (SG) gegeben ist, welche abhängig von der Auslastung der Prozessoreinheit (PE) an- oder abschaltbar sind.
  6. Software-Synthesizer nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die zu einem Zeitpunkt zu erzeugende Stimmzahl eines Datenverarbeitungsrahmens als erster Parameterwert gegeben ist.
  7. Software-Synthesizer nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die vom jeweiligen Betriebszustand der Prozessoreinheit (DSP) abhängigen, maximal erzeugbaren Stimmzahlen in einer Tabelle (T) als zweite Parameterwerte gespeichert sind.
  8. Software-Synthesizer nach Anspruch 3 und 7, dadurch gekennzeichnet, dass die Stimmenverwaltungs-Einheit (SV) derart ausgebildet ist, dass die maximal erzeugbaren Stimmzahlen des vorhergehenden und des aktuellen Datenverarbeitungsrahmens verglichen werden, indem die entsprechenden zweiten Parameterwerte verglichen werden.
  9. Software-Synthesizer nach Anspruch 2 und 3, dadurch gekennzeichnet, dass jeder Synthesegenerator (SG) derart ausgelegt ist, dass die Lautstärke der von einem Synthesegenerator (SG) erzeugten aktiven Stimme ermittelbar ist und als Information an die Stimmenverwaltungs-Einheit (SV) übertragbar ist.
  10. Software-Synthesizer nach Anspruch 9, dadurch gekennzeichnet, dass die Lautstärkeinformation durch die Amplitude eines Stimmensignals am Ende der Zeitdauer eines Datenverarbeitungsrahmens gegeben ist.
  11. Software-Synthesizer nach Anspruch 2 bis 4 und 9, dadurch gekennzeichnet, dass die Stimmenverwaltungs-Einheit (SV) derart ausgelegt ist, dass bei einem aufgrund der zwischen dem vorhergehenden und dem aktuellen Datenverarbeitungsrahmen veränderten Anzahl von mit Stimmen belegbaren Synthesegeneratoren und/oder der veränderten Anzahl an zu erzeugenden Stimmen erforderlichen Deaktivierens eines mit einer Stimme belegten Synthesegenerators (SG), derjenige Synthesegenerator (SG) deaktiviert wird, welcher im vorhergehenden Datenverarbeitungsrahmen die leiseste Stimme erzeugt.
  12. Software-Synthesizer nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Musikdaten MIDI-Daten einer MIDI-Datei sind.
  13. System das zum Erzeugen von mehrstimmigen Audiosignalen einen Software-Synthesizer (SS) nach einem oder mehreren der Ansprüche 1 bis 12 umfasst.
  14. System nach Anspruch 13, gekennzeichnet durch eine Prozessoreinheit (DSP), insbesondere ein digitaler Signalprozessor, welche den Software-Synthesizer (SS) abhängig von den in einem Datenverarbeitungsrahmen enthaltenen Informationen aktiviert.
  15. System nach Anspruch 14, dadurch gekennzeichnet, dass die Prozessoreinheit (DSP) eine Ablaufsteuereinheit (AS) umfasst, welche den Betriebszustand der Prozessoreinheit (DSP) überwacht und den einem Betriebszustand zugeordneten zweiten Parameterwert an den Software-Synthesizer (SS) übergibt.
  16. System nach einem der Ansprüche 13 bis 15, welches als Gameboy oder als Spielekonsole oder als Computer, insbesondere als tragbarer Computer, oder als digitales Musikinstrument ausgebildet ist.
  17. System nach einem der Ansprüche 13 bis 15, welches ein Mobiltelefon oder ein Mobilfunkgerät ist.
  18. System nach einem der Ansprüche 13 bis 17, welches für eine paketorientierte Datenübertragung ausgelegt ist.
  19. System nach einem der Ansprüche 13 bis 18, dadurch gekennzeichnet, dass die die Musikdaten enthaltende Datei, insbesondere die MIDI-Datei, im System gespeichert ist.
  20. Verfahren zum Erzeugen von Audiosignalen mit einer variablen Anzahl von Stimmen mittels eines Software-Synthesizers als Reaktion auf bereitgestellte Musikdaten, bei welchem die für einen Datenverarbeitungsrahmen einer Prozessoreinheit (PE) zu einem Zeitpunkt maximal erzeugbare Stimmzahl in Abhängigkeit der zu diesem Zeitpunkt gegebenen Rechenkapazität der Prozessoreinheit (PE) ausgewertet wird und abhängig von dieser maximal erzeugbaren Stimmzahl aktive und/oder freie Stimmen an- oder abgeschaltet werden.
  21. Verfahren nach Anspruch 20, dadurch gekennzeichnet, dass gegebenenfalls vorhandene freie Stimmen vor den aktiven Stimmen an- oder abgeschaltet werden.
  22. Verfahren nach Anspruch 20 oder 21, dadurch gekennzeichnet, dass Audio-Samples von zu erzeugenden Stimmen mittels einer Mehrzahl an Synthesegeneratoren (SG) erzeugt werden.
  23. Verfahren nach Anspruch 22, dadurch gekennzeichnet, dass die Musikdaten mittels einer Stimmenverwaltungs-Einheit (SV) ausgewertet werden und durch diese Stimmenverwaltungs-Einheit (SV) gleichzeitig zu erzeugende Stimmen abhängig von der zum jeweiligen Zeitpunkt gegebenen, maximal erzeugbaren Stimmzahl generiert werden, indem höchstens die durch die maximal erzeugbare Stimmzahl gegebene Anzahl von mit Stimmen belegbaren Synthesegeneratoren (SG) aktiviert wird.
  24. Verfahren nach einem der Ansprüche 20 bis 23, dadurch gekennzeichnet, dass die vom jeweiligen Betriebszustand der Prozessoreinheit (DSP) abhängigen, maximal erzeugbaren Stimmzahlen jeweils in einer Tabelle (T) als zweite Parameterwerte gespeichert werden.
  25. Verfahren nach Anspruch 23 und 24, dadurch gekennzeichnet, dass die zu einem Zeitpunkt zu erzeugende Stimmzahl eines Datenverarbeitungsrahmens als erster Parameterwert an die Stimmenverwaltungs-Einheit (SV) übertragen wird.
  26. Verfahren nach einem der Ansprüche 20 bis 25, dadurch gekennzeichnet, dass die maximal erzeugbaren Stimmzahlen des vorhergehenden und des aktuellen Datenverarbeitungsrahmens, insbesondere die entsprechenden zweiten Parameterwerte verglichen werden.
  27. Verfahren nach einem der Ansprüche 20 bis 26, dadurch gekennzeichnet, dass die Lautstärke einer erzeugten Stimme bestimmt wird.
  28. Verfahren nach Anspruch 27, dadurch gekennzeichnet, dass als Lautstärkeinformation die Amplitude des Stimmensignals bestimmt wird, insbesondere die Amplitude am Ende der Zeitdauer eines Datenverarbeitungsrahmens bestimmt wird.
  29. Verfahren nach Anspruch 27 oder 28, dadurch gekennzeichnet, dass bei einem aufgrund der zwischen dem vorhergehenden und dem aktuellen Datenverarbeitungsrahmens ermittelten veränderten, maximal erzeugbaren Stimmzahl und/oder der veränderten Anzahl an zu erzeugenden Stimmen erforderlichen Deaktivierens einer erzeugten Stimme, diejenige erzeugte Stimme deaktiviert wird, welche im vorhergehenden Datenverarbeitungsrahmen, insbesondere am Ende der Zeitdauer des vorhergehenden Datenverarbeitungsrahmens, die leiseste der erzeugten Stimme war.
  30. Verfahren nach Anspruch 29, dadurch gekennzeichnet, dass diejenige erzeugte Stimme, welche deaktiviert wird, abgeschaltet wird oder über eine vorgegebene Zeitdauer, insbesondere über die gesamte Zeitdauer des aktuellen Datenverarbeitungsrahmens, ausgeblendet wird.
  31. Verfahren nach Anspruch 20 und 29 oder 30, dadurch gekennzeichnet, dass der die zu deaktivierende Stimme generierende Synthesegenerator (SG) abgeschaltet wird oder über eine vorgegebene Zeitdauer, insbesondere der gesamten Zeitdauer des aktuellen Datenverarbeitungsrahmens, ausgeblendet wird.
  32. Verfahren nach einem der Ansprüche 20 bis 31, dadurch gekennzeichnet, dass die Auslastung der Prozessoreinheit (DSP), insbesondere des digitalen Signalprozessors, zumindest teilweise von der Verarbeitung von Informationen, welche durch eine paketorientierte Datenübertragung übertragen wurden, abhängt.
  33. Verfahren nach einem der Ansprüche 20 bis 32, dadurch gekennzeichnet, dass die zu erzeugenden Stimmen durch die Musikdaten einer MIDI-Datei vorgegeben werden.
DE2003139032 2003-08-25 2003-08-25 Software-Synthesizer und Verfahren zum Erzeugen von Audiosignalen mit einer variablen Anzahl von Stimmen in Abhängigkeit vom Betriebszustand einer Prozessoreinheit Ceased DE10339032A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE2003139032 DE10339032A1 (de) 2003-08-25 2003-08-25 Software-Synthesizer und Verfahren zum Erzeugen von Audiosignalen mit einer variablen Anzahl von Stimmen in Abhängigkeit vom Betriebszustand einer Prozessoreinheit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2003139032 DE10339032A1 (de) 2003-08-25 2003-08-25 Software-Synthesizer und Verfahren zum Erzeugen von Audiosignalen mit einer variablen Anzahl von Stimmen in Abhängigkeit vom Betriebszustand einer Prozessoreinheit

Publications (1)

Publication Number Publication Date
DE10339032A1 true DE10339032A1 (de) 2005-05-25

Family

ID=34484661

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2003139032 Ceased DE10339032A1 (de) 2003-08-25 2003-08-25 Software-Synthesizer und Verfahren zum Erzeugen von Audiosignalen mit einer variablen Anzahl von Stimmen in Abhängigkeit vom Betriebszustand einer Prozessoreinheit

Country Status (1)

Country Link
DE (1) DE10339032A1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008115873A1 (en) * 2007-03-22 2008-09-25 Qualcomm Incorporated Bandwidth control for retrieval of reference waveforms in an audio device
DE102008032116B4 (de) * 2007-07-11 2013-03-28 Infineon Technologies Ag Klanggenerator, elektronische Vorrichtung mit einem Klanggenerator, und Verfahren zum Steuern eines Klanggenerators

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5604323A (en) * 1993-09-07 1997-02-18 Ethymonics Limited Musical tone electronic synthesizer and method
DE69608292T2 (de) * 1995-10-03 2001-01-04 International Business Machines Corp., Armonk Audio-synthesizer
WO2001039370A2 (en) * 1999-11-29 2001-05-31 Syfx Signal processing system and method
DE69614765T2 (de) * 1995-06-06 2002-06-20 Yamaha Corp., Hamamatsu Durch Rechner gesteuertes Musiksystem mit hard- und softwareorientierter Tonerzeugung
DE69711518T2 (de) * 1996-08-30 2002-11-28 Yamaha Corp., Hamamatsu Auf Software basierendes Tonquellensystem und Verfahren zur Erzeugung von akustischen Wellenformdaten

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5604323A (en) * 1993-09-07 1997-02-18 Ethymonics Limited Musical tone electronic synthesizer and method
DE69614765T2 (de) * 1995-06-06 2002-06-20 Yamaha Corp., Hamamatsu Durch Rechner gesteuertes Musiksystem mit hard- und softwareorientierter Tonerzeugung
DE69608292T2 (de) * 1995-10-03 2001-01-04 International Business Machines Corp., Armonk Audio-synthesizer
DE69711518T2 (de) * 1996-08-30 2002-11-28 Yamaha Corp., Hamamatsu Auf Software basierendes Tonquellensystem und Verfahren zur Erzeugung von akustischen Wellenformdaten
WO2001039370A2 (en) * 1999-11-29 2001-05-31 Syfx Signal processing system and method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008115873A1 (en) * 2007-03-22 2008-09-25 Qualcomm Incorporated Bandwidth control for retrieval of reference waveforms in an audio device
US7807915B2 (en) 2007-03-22 2010-10-05 Qualcomm Incorporated Bandwidth control for retrieval of reference waveforms in an audio device
DE102008032116B4 (de) * 2007-07-11 2013-03-28 Infineon Technologies Ag Klanggenerator, elektronische Vorrichtung mit einem Klanggenerator, und Verfahren zum Steuern eines Klanggenerators

Similar Documents

Publication Publication Date Title
DE69533822T2 (de) Verfahren zur Wiedergabe von Audiosignalen und Vorrichtung dafür
DE69608292T2 (de) Audio-synthesizer
DE112011103067B4 (de) System, Computerprogrammprodukt und Verfahren mit einer grafischen Benutzerschnittstelle für die Programmierung von Musiksequenzen
DE69126655T2 (de) Verfahren und Vorrichtung zur gleichzeitig Erzeugung eines Ausgangssignals aus digitalen Audio-Daten und durch MIDI synthesierter Musik
DE69515742T2 (de) Digitale Bearbeitung von Audio-Mustern
DE4227826C2 (de) Digitales Verarbeitungsgerät für akustische Signale
DE102007049662B4 (de) Musikklanggenerator
DE69816155T2 (de) Einrichtung mit Lautsprechern zur gleichzeitige Erzeugung von Musik sowie reflektiertem Ton
EP0820211A1 (de) Programmierbares Hörgerät
DE102005061000B4 (de) Signalverarbeitung für Hörgeräte mit mehreren Kompressionsalgorithmen
DE102007046025A1 (de) Signalverarbeitungsvorrichtung
DE69327639T2 (de) Vorrichtung und Verfahren zur dynamischen Konfiguration von Synthesizern
EP0126962A2 (de) Elektronisches Tastenmusikinstrument und Verfahren zu dessen Betrieb
DE19720651C2 (de) Hörgerät mit verschiedenen Baugruppen zur Aufnahme, Weiterverarbeitung sowie Anpassung eines Schallsignals an das Hörvermögen eines Schwerhörigen
DE69632351T2 (de) Verfahren und Vorrichtung zur Musiktonerzeugung
DE102022204855A1 (de) Verwalten einer zieltonwiedergabe
DE60106680T2 (de) Wellenformsignalerzeugung mit Synthetisierung von pseudo-tiefen Tönen
DE102008032116B4 (de) Klanggenerator, elektronische Vorrichtung mit einem Klanggenerator, und Verfahren zum Steuern eines Klanggenerators
DE102020122697B4 (de) Verfahren zur resonanzklangsignalerzeugung, vorrichtung zur resonanzklangsignalerzeugung, programm zur resonanzklangsignalerzeugung und elektronische musikvorrichtung
DE69823458T2 (de) Mehrband-Sprachdecoder
DE10339032A1 (de) Software-Synthesizer und Verfahren zum Erzeugen von Audiosignalen mit einer variablen Anzahl von Stimmen in Abhängigkeit vom Betriebszustand einer Prozessoreinheit
DE60302333T2 (de) Optimierung der Wiedergabe einer MIDI-Datei
DE102018207346B4 (de) Verfahren zum Betrieb eines Hörgeräts sowie Hörgerät
DE69615268T2 (de) Elektronisches Musikinstrument
DE102019215300B4 (de) Resonanzklangsignalerzeugungsvorrichtung, resonanzklangsignalerzeugungsverfahren, resonanzklangsignalerzeugungsprogramm und elektronische musikvorrichtung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8131 Rejection