DE20321797U1 - Vorrichtung zum automatischen Erzeugen einer allgemeinen Extraktionsfunktion, die aus einem Eingabesignal berechenbar ist, z.B. einem Audiosignal, um daraus einen vorbestimmten globalen charakteristischen Wert seines Inhalts zu erzeugen, z.B. einen Deskriptor - Google Patents

Vorrichtung zum automatischen Erzeugen einer allgemeinen Extraktionsfunktion, die aus einem Eingabesignal berechenbar ist, z.B. einem Audiosignal, um daraus einen vorbestimmten globalen charakteristischen Wert seines Inhalts zu erzeugen, z.B. einen Deskriptor Download PDF

Info

Publication number
DE20321797U1
DE20321797U1 DE20321797U DE20321797U DE20321797U1 DE 20321797 U1 DE20321797 U1 DE 20321797U1 DE 20321797 U DE20321797 U DE 20321797U DE 20321797 U DE20321797 U DE 20321797U DE 20321797 U1 DE20321797 U1 DE 20321797U1
Authority
DE
Germany
Prior art keywords
function
functions
elementary
signal
composition
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE20321797U
Other languages
English (en)
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.)
Sony France SA
Original Assignee
Sony France SA
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
Priority claimed from EP20020293122 external-priority patent/EP1437711A1/de
Application filed by Sony France SA filed Critical Sony France SA
Publication of DE20321797U1 publication Critical patent/DE20321797U1/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)
  • Complex Calculations (AREA)

Abstract

Vorrichtung zum Erzeugen einer allgemeinen Extraktionsfunktion (4), welche auf einem Eingabesignal (Sx) operieren kann, um daraus einen Wert (DVex) einer globalen Charakteristik (De) zu extrahieren, welche ein Merkmal der Information (De) ausdrückt, die von dem Signal befördert wird,
gekennzeichnet durch:
– eine Einrichtung zum Erzeugen mindestens einer Kompositionsfunktion (CF1–CFn), wobei die Kompositionsfunktion erzeugt wird aus mindestens einer Bibliothek (12) von Elementarfunktionen (EF1, EF2, ...) durch Berücksichtigen (22, 25) der Elementarfunktionen als symbolische Objekte,
– eine Einrichtung zum Operieren der Kompositionsfunktion auf mindestens einem Referenzsignal (S1–Sm) mit einem vorab zugewiesenen globalen charakteristischen Wert (Dgt1–Dgtm), welcher der Auswertung dient, und zwar durch Verarbeiten (22, 27) der Elementarfunktionen als ausführbare Operatoren,
– eine Einrichtung zum Bestimmen der Übereinstimmung zwischen:
i) dem Wert/der Werte (Dij), die durch die Kompositionsfunktion als ein Ergebnis des Operierens auf dem Referenzsignal extrahiert werden, und
ii) dem vorab zugewiesenen globalen charakteristischen Wert...

Description

  • Die vorliegende Erfindung betrifft das Gebiet der Signalverarbeitung und insbesondere eine Technik zum automatischen Ableiten oder Herleiten einer so genannten High-Level-Information in Bezug auf die Inhalte eines elektronischen Eingabesignals oder Eingangssignals durch Analysieren der Low-Level-Charakteristika des Signals. In diesem Zusammenhang bezieht sich der Begriff High-Level auf die globalen Charakteristika des Signalinhalts, das heißt auf ein Merkmal oder einen Deskriptor der Signalinhalte, während der Begriff Low-Level sich auf die Feinstruktur oder feinkörnige Struktur des Signals selbst bezieht, typischerweise auf dem Niveau seiner zeitlichen oder räumlichen Modulation.
  • Liegt zum Beispiel der Fall eines digitalen Audiosignals vor, welches zu einem gegebenen Musikstück korrespondiert, bei welchem zum Beispiel der in der Audiodatei enthaltene Musiktitel durch ein Musikabspielgerät gelesen werden kann, würde der Inhalt des Signals das Musikstück als solches sein. Die entsprechende High-Level-Information wäre dann ein Hinweis in Bezug auf das Musikstück. Diese Information kann zum Beispiel angeben, ob das Musikstück gesungen wird oder ein instrumentelles Musikstück ist, um welches Musikgenre es sich handelt, die ”Energie” der Musik, die musikalische Komplexität, das Gesamttembre, das Tempo, die Rhythmusstruktur oder dergleichen. Die Low-Level-Charakteristika wären dann die zeitabhängigen Parameter des Signals, zum Beispiel die Amplitude, der Pitch und so weiter wie sie über aufeinander folgende kurze Sample-Zeitspannen oder Abtastzeitspannen analysiert werden. Die in Rede stehenden Signale können somit in der Form eines digitalen Signals vorliegen, auf welches über einen Speicher zugegriffen wird oder welches als digitaler Strom eingegeben oder zugeführt wird. Die in Rede stehenden Signale können auch in analoger Form vorliegen.
  • Bei derartigen Audioanwendungen sind derartige High-Level-Informationen normalerweise als so genannte ”Deskriptoren” oder Beschreibungselemente bekannt. Im Allgemeinen stellt ein Deskriptor eine Qualität oder Dimension des Inhalts dar, welcher durch das Signal repräsentiert wird, wobei diese für den Menschen eine gewisse Bedeutung haben oder auch für eine Maschine zum Verarbeiten von High-Level- Information. In Abhängigkeit davon, was ausgedrückt werden soll oder ausgedrückt wird, wird den Deskriptoren ein Wert beigemessen oder zugeordnet, welcher unterschiedliche Formen annehmen kann:
    • – Einen Booleschen Wert, zum Beispiel wahr/falsch (true/false), um zum Beispiel anzuzeigen, ob ein Musiktitel gesungen wird oder nicht.
    • – Eine Zahl, um Informationen in Bezug auf eine Bezugsskala quantitativ auszudrücken, zum Beispiel 7,3 in Bezug auf eine Skala von 1 bis 10 für einen Musikenergiedeskriptor.
    • – Einen Pointer in Bezug auf eine Liste von Marken, Markierungen oder Labels, zum Beispiel ”Militärmusik”, um ein musikalisches Genre aus einer vorgegebenen Liste anzuzeigen.
  • Auf dem Gebiet der Musik sind Deskriptoren, insbesondere im Bereich des expandierenden Gebiets der Musikzugriffsysteme (music access systems) und der elektronischen Musikverbreitung (Electronic Music Distribution: EMD) von besonderem Interesse, wo sie den Benutzerzugriff auf große Musikdatenbanken unterstützen. Das Konzept EMD gehört zu den allgemeineren Konzepten des Musikinformationszugriffs (music information retrieval: MIR), welcher auf einer Technik des intelligenten Suchens und Zugreifens auf musikalische Information in großen Musikdatenbanken beruht.
  • Herkömmlicherweise verwenden EMD-Systeme entweder manuell eingegebene Deskriptoren (zum Beispiel unter der Verwendung von Softwaresystemen, die zum Beispiel kommerziell durch die Firmen ”Moodlogic” und ”AllMusicGuide” entwickelt wurden. Die Deskriptoren werden dann verwendet, um auf so genannte Musikbrowser zuzugreifen, und zwar unter Verwendung einer Suche nach Ähnlichkeit oder einer Suche auf der Grundlage von Beispielen oder irgendeiner anderen bekannten Datenbanksuchtechnik.
  • Ein Hauptaspekt beim automatischen Extrahieren von Deskriptoren aus Audiosignalen liegt in dem Umstand, dass es sehr schwierig ist, Signaleigenschaften in Bezug zu setzen auf wahrnehmbare Kategorien (perceptive categories) und auf diese abzubilden. Beim Stand der Technik wurden Versuche unternommen, spezifische Deskriptoren aus dem Schallsignal oder Soundsignal zu extrahieren; diese wurden in den nachfolgend aufgelisteten Dokumenten beschrieben:
    • Scheirer, Eric D., "Tempo an Beat Analysis of Acoustic Musical Signals", J. Acoust. Soc. Am. (JASA) 103:1 (Jan. 1998), S. 588–601., for tempo,
    • Aucouturier Jean-Julien, Pachet Francois, "Music Similarity Measures: What's the Use?", Proceedings of the 3rd International Symposium an Music Information Retrieval (ISMIR02), Paris – Frankreich, Oktober 2002, for timbre,
    • Pachet, F., Delerue, O., Gouyon, F., "Extracting Rhythm from Audio Signals", SONY Research Forum, Tokio, Dezember 2000, for rhythm, und
    • Berenzweig A. L., Ellis D. P. W., "Locating Singig Voice Segments Within Music Signals", IEEE Workshop on Applications of Signal Processing to Acoustics and Audio (WASPAA01), Mohonk NY, Oktober 2001.
  • Es gibt jedoch viele andere Eigenschaften und Dimensionierungen, das heißt Deskriptoren, die im Zusammenhang mit der Musik aus dem Signal extrahiert werden können. Diese sind zum Beispiel
    • – Tanzbarkeit (danceability, dargestellt auf einer Skala),
    • – Musik für Kinder (Ja/Nein),
    • – Militärmusik (Ja/Nein),
    • – Musik für langsame Tänze (Ja/Nein),
    • – Gesamtenergie oder globale Energie (global energy, dargestellt auf einer Ska la),
    • – gesungen oder instrumental (zum Beispiel Ja/Nein in Bezug auf die Frage ”nicht gesungen?”),
    • – Original oder Remix (zum Beispiel Ja/Nein auf die Frage ”Remix?”),
    • – akustisch oder elektrisch/elektronisch (zum Beispiel Ja/Nein auf die Frage ”akustisch?”),
    • – Live oder Studioaufnahme (zum Beispiel Ja/Nein auf die Frage ”Live?”),
    • – musikalische Komplexität (musical complexity, dargestellt auf einer Skala),
    • – musikalische Dichte (musical density, dargestellt auf einer Skala),
    und so weiter.
  • Während derartige Deskriptoren vom menschlichen Zuhörer leicht wahrgenommen und/oder unterschieden werden können, ist das technische Problem, diese Deskrip toren elektronisch aus rohen Musikdatensignalen zu erzeugen, besonders schwierig. Zum Beispiel existieren keine unmittelbar offensichtlichen Low-Level-Charakteristika eines Musikrohsignals, auf deren Grundlage es möglich wäre, zu identifizieren, ob diese zu einem gesungenen Musikstück oder zu einem instrumentellen Musikstück gehören. Dies trifft insbesondere dann zu, wenn die gesungene Stimme mit Musik gemischt wird. Selbst der Deskriptor für die globale Energie (global energy descriptor) besitzt keine direkte Verbindung mit dem Energiepegel oder Energieniveau des Rohsignals.
  • Einige Deskriptoren, zum Beispiel für das Musikgenre, werden beeinflusst durch kulturelle Bezugnahmen und machen daher Kriterien notwendig, die aus einer bestimmten Populationsprobe oder Populationsverteilung eingegeben werden müssen.
  • Im Zusammenhang mit den vorstehend beschriebenen Problemen kann die vorliegende Erfindung ein Werkzeug bereitstellen und schaffen, welches das Erzeugen von Extraktionsfunktionen unterstützt, die auf ein digitales oder ein analoges Signal anwendbar sind, um so genannte High-Level-Information in Bezug auf die Inhalte des Signals zu bestimmen. Die Extraktionsfunktion wird aufgebaut aus einer Anzahl von Elementarfunktion oder elementaren Funktionen (elementary function). Entsprechend wird die Extraktionsfunktion auch als Kompositionsfunktion, Compound-Funktion oder zusammengesetzte Funktion (compound function) bezeichnet; im Folgenden wird gewöhnlich der Begriff Kompositionsfunktion verwendet. Eine Elementarfunktion wird aufgefasst als ein Operator, als eine Operatoreinheit oder als Einheitsoperator, welcher auf ein Argument (das Signal oder ein Zwischenresultat) wirkt. In Abhängigkeit von den Ausführungsformen oder den Betriebsmodi kann das Werkzeug Extraktionsfunktionen automatisch oder semi-automatisch erzeugen. Im letzteren Fall kann der Benutzer – typischerweise ein Entwickler – das Werkzeug beim Erzeugen der Extraktionsfunktionen mit einem bestimmten Pattern oder Muster oder einer bestimmten Struktur von Elementarfunktionen führen oder beschränken, und zwar unter Verwendung einer Menge oder eines Satzes speziell entwickelter Kommandos.
  • Die Erfindung kann auch ein Werkzeug schaffen, welches in der Lage ist, die Möglichkeit einer Kompositionsfunktion oder Compound-Funktion zum Erzeugen eines akkuraten oder verlässlichen Deskriptors zu bewerten, wenn diese auf ein Signal angewandt wird, wobei der Deskriptor als Ergebnis der Kompositionsfunktion oder Compound-Funktion aufgefasst wird, wenn das Signal als deren Argument fungiert. Bei einer bevorzugten Ausführungsform verwendet dieses Werkzeug als Eingabe eine Testdatenbank mit einem Satz oder einer Menge von Referenzsignalen, zum Beispiel mit Audiodateien, die von einem Musikabspielgerät lesbar sind, einen begründeten Wahrheitswert (ground truth value) dieses Deskriptors für jedes der Datenbanksignale und einen Satz oder eine Menge elementarer Signalverarbeitungsfunktionen. Das Werkzeug wählt dann Funktionen aus dem Satz oder der Menge, um ein oder mehrere Kompositionsfunktionen oder Compound-Funktionen zu konstruieren und automatisch auf die Signale der Datenbank anzuwenden. Auf der Grundlage der Korrelationen zwischen dem von der betrachteten Funktion rückgelieferten Wert und den begründeten Wahrheiten (grounded truths) werden neue Kompositionsfunktionen oder Compound-Funktionen erzeugt und ausprobiert, und zwar bis eine beliebige Endbedingung erreicht ist.
  • Gemäß einem ersten Aspekt betrifft die vorliegende Erfindung eine Vorrichtung und ein Verfahren zum Erzeugen einer allgemeinen Extraktionsfunktion, welche in der Lage ist, auf ein Eingabesignal zu wirken, um daraus einen vorbestimmten globalen charakteristischen Wert zu extrahieren, welcher eine Eigenschaft oder ein Merkmal der durch das Signal transportierten Information ausdrückt. Diese Vorrichtung und dieses Verfahren, welche durch die bevorzugte Ausführungsform auf einer automatischen Basis unter Verwendung eines elektronischen Systems oder auch in analoger Weise implementiert werden, ist dadurch gekennzeichnet, dass Mittel für die folgenden Schritte oder die folgenden Schritte vorgesehen werden:
    • – Erzeugen mindestens einer Kompositionsfunktion, wobei die Kompositionsfunktion erzeugt wird aus mindestens einer Bibliothek von elementaren Funktionen durch Auffassen der elementaren Funktionen als symbolische Objekte,
    • – Wirken lassen der Kompositionsfunktion auf mindestens ein Referenzsignal mit einem vorzugeordneten globalen charakteristischen Wert, welcher der Auswertung dient, und zwar durch Verarbeiten der elementaren Funktion als ausführbare Operatoren,
    • – Bestimmen der Übereinstimmung zwischen: i) des Wertes/der Werte, die extrahiert werden durch die Kompositionsfunktion als Ergebnis des Wirkens auf das Referenzsignal und ii) dem vorzugewiesenen globalen charakteristischen Wert des Referenzsignals und
    • – Auswählen mindestens einer Kompositionsfunktion auf der Grundlage der Übereinstimmung, um die allgemeine Extraktionsfunktion zu erzeugen.
  • Durch die Erfindung werden auch viele vorteilhafte optionale Ausführungsformen geschaffen, deren Aspekte im Nachfolgenden dargelegt werden.
  • Der Schritt und die Einrichtung zum Erzeugen kann einen Schritt oder eine Einrichtung zum Erzeugen einer Mehrzahl von Kompositionsfunktionen aufweisen. Der Schritt oder die Einrichtung zum Auswählen kann einen Schritt oder eine Einrichtung zum Auswählen mindestens einer Form von Kompositionsfunktionen aus einer Mehrzahl von Formen von Kompositionsfunktionen aufweisen, deren Grad des Übereinstimmens ein vorbestimmtes Kriterium erfüllt, zum Beispiel diejenigen, die den besten Grad an Übereinstimmung erzeugen.
  • Das Verfahren kann ferner einen Schritt aufweisen des Beschränkens der Form der Kompositionsfunktion gemäß eines Patterns, eines Musters oder einer Anordnung von elementaren Funktionen, wobei dies durch ein Beschränkungskommando vorgegeben wird.
  • Der Schritt des Beschränkens oder Einschränkens kann aufweisen einen Vorgang des Einführens oder Ausschließens mindestens eines Typs von Parametern für den Ausgabewert oder Ausgangswert der Verknüpfungsfunktion oder Kompositionsfunktion.
  • Die beschränkenden Kommandos können aufweisen einen Ausdruck zum Bezeichnen einer unbekannten Elementarfunktion oder einer unbekannten Gruppe von Elementarfunktionen mit einer bestimmten Eigenschaft, welche insbesondere aus einer Bücherei auszuwählen sind.
  • Das Verfahren kann einen Schritt aufweisen des Implementierens zumindest eines zuvor beschriebenen beschränkenden Kommandos um:
    • i) einen Typ eines Arguments in Bezug auf eine Elementarfunktion oder eine Gruppe von Elementarfunktionen zu bestimmen oder vorzuschreiben und/oder
    • ii) einen Typ von Parametern oder eines Parameters einer Elementarfunktion oder einer Gruppe von Elementarfunktionen zu bestimmen oder vorzuschreiben, insbesondere um eine Ausgabe zu erzeugen, wobei das implementierte beschränkende Kommando verwendet wird, um ein Muster oder eine Anordnung in Bezug auf die Verbindungsfunktion, Verknüpfungsfunktion oder Kompositionsfunktion zu erzwingen oder durchzusetzen.
  • Das oder die erzwingenden Kommandos weist oder weisen vorzugsweise eines der nachfolgend beschriebenen Kommandos auf:
    • – ein Kommando zum Auswählen als Teil der Verknüpfungsfunktion oder Kompositionsfunktion ein Beispiel einer Elementarfunktion, welche einen vorgeschriebenen Typ eines Parameters oder von Parametern erzeugt,
    • – ein Kommando zum Auswählen als Teil der Verknüpfungsfunktion oder Kompositionsfunktion ein Beispiel einer unbestimmten Anzahl von Elementarfunktionen mit der Bedingung, dass jede der Elementarfunktionen, welche den ausgewählten Teil bildet, als eine Ausgabe denselben vorbeschriebenen Typ eines Parameters oder von Parametern erzeugt,
    • – ein Kommando zum Auswählen als einen Teil der Verknüpfungsfunktion oder Kompositionsfunktion ein Beispiel einer unbestimmten Anzahl von Elementarfunktionen mit der Bedingung, dass der ausgewählte Teil als Ganzes als eine Ausgabe einen vorbeschriebenen Typ eines Parameters oder von Parametern erzeugt, wobei der Ausgabetyp irgendeiner dazwischengeschalteten oder zwischenliegenden Elementarfunktion nicht eingeführt ist oder wird.
  • Es kann ein beschränkendes Kommando vorgesehen sein zum Erzwingen eines numerischen Werts oder einer Operation in einem Argument, auf welches zugegriffen wird durch eine ausgewählte Elementarfunktion oder eine ausgewählte Gruppe von Elementarfunktionen.
  • Die in Bezug auf das Argument erzwungene Operation kann selbst mindestens eine unbekannte auszuwählende Elementarfunktion aufweisen.
  • Die Verknüpfungsfunktionen oder Kompositionsfunktionen werden vorzugsweise in sukzessiven oder aufeinander folgenden Populationen erzeugt, wobei jede neue Population von Verknüpfungsfunktionen oder Kompositionsfunktionen ausgewählt wird aus einer früheren oder vorangehenden Population von Funktionen, und zwar gemäß einem vordefinierten Kriterium.
  • Das Verfahren kann mittels der nachfolgenden Schritte ausgeführt werden:
    • a) Erzeugen mindestens eines Referenzsignals, für welches der vorbestimmte globale charakteristische Wert vorab zugeschrieben wird,
    • b) Erzeugen einer Population von Verknüpfungsfunktionen oder Kompositionsfunktionen, von denen jede von mindestens einer Elementarfunktion oder elementaren Funktion gebildet wird,
    • c) Modifizieren von Verknüpfungsfunktionen oder Kompositionsfunktionen einer aktuellen Population durch Berücksichtigen ihrer Elementarfunktionen oder elementaren Funktionen als symbolische Objekte,
    • d) Steuern oder Verarbeiten der Verknüpfungsfunktionen der Population in Bezug auf mindestens ein Referenzsignal oder Bezugssignal durch Ausnutzen oder Auswerten der Elementarfunktionen als ausführbare Operatoren, um einen berechneten Wert für jede Verknüpfungsfunktion der Population in Bezug auf das Referenzsignal oder Bezugssignal zu erhalten,
    • e) für mindestens einige der Verknüpfungsfunktionen der Population Bestimmen des Grads an Übereinstimmung zwischen ihrem berechneten Wert und dem vorab zugeschriebenen Wert für das Signal, aus welchem der Wert berechnet wurde,
    • f) Auswählen von Verknüpfungsfunktionen der Population, welche die besten Übereinstimmungen erzeugen, um eine neue Population von Funktionen zu bilden,
    • g) falls ein Endkriterium oder Abbruchkriterium nicht erfüllt ist, Zurückkehren zum Schritt c), wobei die neue Population die aktuelle Population wird,
    • h) falls ein Endkriterium oder Abbruchkriterium erfüllt ist, Ausgeben mindestens einer Verknüpfungsfunktion der aktuellen neuen Population, um eine allgemeine Funktion zu bilden.
  • Die Verknüpfungsfunktionen oder Kompositionsfunktionen werden vorzugsweise erzeugt durch beliebige Auswahlen, die geführt werden oder geleitet werden durch Regeln und/oder durch Heuristiken, welche die allgemeinen Bedingungen definieren zum Regeln oder Steuern der Erzeugung von Verknüpfungsfunktionen oder Kompositionsfunktionen.
  • Die Regeln und/oder Heuristiken können mindestens eine Regel aufweisen, welche aus einem Zufallszug zum Auswählen einer Elementarfunktion, die mit einem Teil der Verknüpfungsfunktion, die sich im Aufbau befindet, assoziiert wird eine Ele mentarfunktion verboten ist oder wird, welche für diesen Teil formal ungeeignet wäre.
  • Die Regeln und/oder Heuristiken können mindestens eine Heuristik aufweisen, welche in einem Zufallszug zum Auswählen einer Elementarfunktion, die mit einem Teil der Verknüpfungsfunktion, die sich im Aufbau befindet, zu assoziieren ist, eine Elementarfunktion bevorzugt, von welcher erwartet werden kann, dass sie potentiell nützliche technische Wirkungen in Verbindung oder Assoziation mit dem Teil erzeugt, und/oder welche aus dem Zufallszug einer Elementarfunktion entgegentritt, von der erwartet wird, dass sie in Verbindung oder in Assoziation mit diesem Teil technische Effekte mit keinem oder nur geringen Nutzen erzeugt.
  • Die Regeln und/oder Heuristiken können mindestens eine Heuristik aufweisen, welche gewährleistet, dass eine Verknüpfungsfunktion nur Elementarfunktionen aufweist, welche in ihrem Zusammenhang einen sinnvollen oder bedeutungsvollen technischen Effekt erzielen.
  • Die Regeln und/oder Heuristiken können mindestens eine Heuristik aufweisen, welche mindestens eine Gesamtcharakteristik des Bezugsignals oder Referenzsignals berücksichtigt.
  • Vorteilhafterweise wird eine Population von Funktionen erzeugt und verwenden so genannte genetische Programmiertechniken.
  • Die genetische Programmiertechnik kann mindestens einen der folgenden Aspekte aufweisen:
    • – Crossover oder Kreuzung,
    • – Mutation,
    • – Klonen.
  • Eine Crossover-Operation oder Kreuzungsoperation und/oder eine Mutationsoperation kann geführt oder geleitet werden durch mindestens eine Heuristik in der oben beschriebenen Art und Weise.
  • Das Verfahren kann ferner einen Schritt aufweisen des Beschränkens oder Einschränkens mindestens einer Verknüpfungsfunktion oder Kompositionsfunktion, die mittels der genetischen Programmierung erzeugt wurde, und zwar hinsichtlich einer Anordnung von Elementarfunktionen, die in der oben beschriebenen Art und Weise mittels einschränkender oder beschränkender Kommandos vorgeschrieben sind oder werden.
  • Vorzugsweise werden die elementaren Funktionen oder Elementarfunktionen als symbolische Objekte behandelt, um Verknüpfungsfunktionen oder Kompositionsfunktionen gemäß einer Baumstruktur auszubilden, welche Knoten und verbindende Zweige oder Äste aufweist, wobei jeder Knoten mit einer symbolischen Darstellung oder symbolischen Repräsentation einer bildenden oder konstituierenden Einheitsfunktion korrespondiert und wobei der Baum eine Topographie gemäß der Struktur der Funktion aufweist.
  • Vorteilhafterweise weist das Verfahren des Weiteren einen Schritt auf des Übertragens einer Verknüpfungsfunktion oder Kompositionsfunktion an mindestens eine Regel zum Überschreiben oder Neuschreiben, welche ausgeführt wird, um zu gewährleisten, dass die Verknüpfungsfunktion oder Kompositionsfunktion ausgebildet und/oder verteilt wird, um ihrer rationellsten, effizientesten oder wirksamsten Gestalt in Bezug auf die Ausführungseffizienz.
  • Vorzugsweise verwendet das Verfahren eine Caching-Technik, welche verwendet wird, um eine Funktion auszuwerten, wobei die Ergebnisse zuvor berechneter Teile von Funktionen korrespondierend mit diesen Teilen gespeichert sind oder werden und wobei eine aktuell in Berechnung befindliche Funktion initial oder anfänglich analysiert wird, um zu ermitteln, ob mindestens ein Teil der Funktion ersetzt werden kann durch ein korrespondierendes gespeichertes Ergebnis, wobei der Teil in einem derartigen Fall ersetzt wird durch das korrespondierende Ergebnis.
  • Das Verfahren kann dann Schritte aufweisen des Überprüfens der Nützlichkeit der Ergebnisse, die gemäß eines bestimmten Kriteriums gespeichert sind oder wurden, und des Löschens derjenigen Ergebnisse, für die ermittelt wurde, dass sie nicht nützlich sind, wobei das Kriterium zum Beibehalten des Ergebnisses Ri eine Funktion ist, welche berücksichtigt: i) die Berechnungszeit zum Erzeugen von Ri, ii) die Häufigkeit oder Frequenz der Benutzung von Ri und – optional – iii) die Größe (in Bytes) von Ri.
  • Die Elementarfunktionen können Signalverarbeitungsoperatoren und mathematische Operatoren aufweisen.
  • In der Ausführungsform weist die Bibliothek der Elementarfunktionen einen Operator (SPLIT) auf, welcher bewirkt, dass ein Argument aufgespalten wird, in eine vorbestimmte Anzahl von Unterabschnitte eines Parameters, zum Beispiel der Zeit, auf welchen ein anderer Parameter abgebildet wird, zum Beispiel die Amplitude oder die Frequenz, wodurch das Aufspalten oder Unterteilen eines Arguments eines gegebe nen Typs, zum Beispiel ein Signal, in einen Vektor von Argumenten desselben Typs erfolgt.
  • Das Verfahren kann des Weiteren einen Schritt aufweisen des Validierens oder Bestätigens einer allgemeinen Funktion gegenüber oder in Bezug auf mindestens einen ein Referenzsignal mit einem bekannten Wert in Bezug auf die allgemeine Charakteristik und welches nicht als Referenz verwendet wurde.
  • Das Signal kann einen Audioinhalt ausdrücken oder darstellen. Die globale Charakteristik kann ein Deskriptor oder Beschreibungselement des Audioinhalts sein.
  • Der Audioinhalt kann in der Form einer Audiodatei vorliegen. Das Signal kann gebildet werden von den Signaldaten der Datei.
  • Beispiele von Deskriptoren oder Beschreibungselementen, in Bezug auf welche die vorliegende Erfindung verwendet werden kann, sind:
    • – eine globale Energieanzeige,
    • – eine Anzeige dafür, ob der Audioinhalt ein gesungenes oder ein instrumentelles Stück ist,
    • – eine Auswertung in Bezug auf die Tanzbarkeit des Audioinhalts,
    • – eine Anzeige dafür, ob der Audioinhalt akustisch oder elektrisch oder elektronisch ist,
    • – eine Anzeige dafür, ob Soloinstrumente, zum Beispiel eine Gitarre oder ein Saxophon, vorliegt oder nicht.
  • Das Verfahren kann auch einen Schritt des Anpassens einer Rohausgabe mindestens einer Verknüpfungsfunktion oder Kompositionsfunktion an eine bestimmte Darstellungsform oder spezifische Darstellungsform des betrachteten Deskriptors oder des Beschreibungselements aufweisen.
  • Der Schritt des Anpassens kann ein Umwandeln oder Wandeln der Rohausgabe an einen der nachfolgenden Aspekte aufweisen:
    • – einen normalisierten oder normierten Wert, und zwar gemäß einer vorbestimmten Skala von Werten für den betrachteten Deskriptor oder für das betrachtete Beschreibungselement,
    • – an eine Markierung oder ein Label innerhalb einer Menge von Markierungen oder Labels für den betrachteten Deskriptor oder das betrachtete Beschreibungselement, und zwar unter Verwendung einer vorbestimmten Korrespondenztabelle,
    • – an einen Booleschen Wert für den betrachteten Deskriptor und das betrachtete Beschreibungselement, zum Beispiel durch Vergleichen der Rohausgabe in Bezug auf einen Schwellwert.
  • Der Anpassungsschritt kann aufweisen einen Vorgang des Nehmens oder Verwendens des Ergebnisses des Verarbeitens oder Steuerns auf den Rohausgabedaten mindestens einer zusammengesetzten Funktion auf der Grundlage eines vorbestimmten Wissens oder vorbestimmter Kenntnisse und einen Vorgang des Zuführens des Ergebnisses des Steuerns oder Verarbeitens als einen Wert des Deskriptors in der geeigneten Form des oder eines Ausdrucks.
  • Die allgemeine Extraktionsfunktion kann zusammengesetzt werden als eine Kombination einer Mehrzahl ausgewählter Kompositionsfunktionen, die gemäß einem vorbestimmten Kriterium konstruiert wird.
  • Gemäß einem zweiten Aspekt betrifft die vorliegende Erfindung ein Verfahren zum Extrahieren globaler charakteristischer Werte, welche ein Merkmal der Information ausdrückt, die mit dem Signal transportiert wird, und ist dadurch gekennzeichnet, dass es einen Vorgang des Berechnens des Wertes einer allgemeinen Funktion für dieses Signal aufweist, welche insbesondere durch das Verfahren gemäß dem ersten Aspekt für diesen globalen charakteristischen Wert erzeugt wurde.
  • Gemäß einem dritten Aspekt betrifft die vorliegende Erfindung eine Vorrichtung zum Erzeugen einer allgemeinen Funktion, welche auf einem Eingangssignal operieren kann, um daraus einen Wert einer globalen Charakteristik oder eines globalen charakteristischen Werts zu extrahieren, welcher ein Merkmal der Information ausdrückt, die mit diesem Signal transportiert wird, und ist dadurch gekennzeichnet, dass sie aufweist:
    • – eine automatische Einrichtung zum Erzeugen mindestens einer Kompositionsfunktion, wobei jede Kompositionsfunktion zusammengesetzt ist oder wird von mindestens einer Bibliothek von Elementarfunktionen, wobei die Einrichtung die Elementarfunktion als symbolische Objekte handhabt oder behandelt,
    • – Einrichtungen zum Verarbeiten oder Steuern der Kompositionsfunktion auf mindestens einem Referenzsignal mit einem zuvor zugeschriebenen oder beigemessenen globalen charakteristischen Wert, welche der Auswertung dienen, wobei diese Einrichtungen die Elementarfunktionen als ausführbare Operatoren verarbeiten,
    • – eine Einrichtung zum Bestimmen des Übereinstimmens oder Zusammenpassens zwischen: i) der Werte, die extrahiert wurden durch die Kompositionsfunktion als ein Ergebnis des Operierens oder Steuerns auf dem Referenzsignal und ii) dem vorher oder zuvor beigemessenen globalen charakteristischen Wert des Referenzsignals, und
    • – eine Einrichtung zum Auswählen mindestens einer Kompositionsfunktion auf der Grundlage des Zusammenpassens oder Übereinstimmens um die allgemeine Extraktionsfunktion zu erzeugen.
  • Gemäß einem vierten Aspekt betrifft die vorliegende Erfindung eine Vorrichtung gemäß dem zweiten Aspekt, die dazu ausgebildet ist, das Verfahren gemäß dem erstem Aspekt in irgendeiner ihrer optionalen Ausgestaltungsformen auszuführen, wobei es selbstverständlich ist, dass die Merkmale die im Zusammenhang mit dem Verfahren definiert wurden, entsprechend in der Vorrichtung implementiert sein können.
  • Gemäß einem fünften Aspekt betrifft die vorliegende Erfindung die Verwendung der Vorrichtung gemäß dem dritten Aspekt der vorliegenden Erfindung als automatisiertes Erzeugungssystem für eine Deskriptorextraktionsfunktion.
  • Gemäß einem sechsten Aspekt betrifft die vorliegende Erfindung die Verwendung der Vorrichtung gemäß dem dritten Aspekt der vorliegenden Erfindung als eine Deskriptorextraktionseinrichtung.
  • Gemäß einem siebten Aspekt betrifft die vorliegende Erfindung die Verwendung der Vorrichtung gemäß dem dritten Aspekt der vorliegenden Erfindung als ein Autorenwerkzeug (authoring tool) zum Erzeugen von Deskriptorextraktionsfunktionen.
  • Gemäß einem achten Aspekt betrifft die vorliegende Erfindung die Verwendung der Vorrichtung gemäß dritten Aspekt der vorliegenden Erfindung als ein Auswertungswerkzeug für extern erzeugte Deskriptorextraktionsfunktionen.
  • Gemäß einem neunten Aspekt betrifft die vorliegende Erfindung eine allgemeine Funktion in einer Form, die von einer elektronischen Maschine oder einem elektronischen Gerät verwendet werden kann, die ihrerseits gebildet wird oder erzeugt wurde von einer Vorrichtung gemäß dem dritten Aspekt der vorliegenden Erfindung.
  • Die allgemeine Funktion kann zumindest eine ausgewählte Kompositionsfunktion aufweisen, die assoziiert ist mit einem Mittel oder einer Einrichtung zum Anpassen des Rohausgabesignals der mindestens einen ausgewählten Kompositionsfunktion in der spezifischen Form eines Ausdrucks des betrachteten Deskriptors, und zwar gemäß eines jeglichen relevanten Aspekts des ersten Aspekts oder der ersten Form der vorliegenden Erfindung.
  • Gemäß einem zehnten Aspekt betrifft die vorliegende Erfindung ein Softwareerzeugnis, welches einen ausführbaren Code aufweist, der, wenn er in eine Datenverarbeitungsvorrichtung geladen wird, diese in die Lage versetzt, ein Verfahren gemäß dem ersten Aspekt der vorliegenden Erfindung auszuführen.
  • Bei einer bevorzugten Ausführungsform wird der oben beschriebene iterative Suchvorgang durch oder über aufeinander folgende Populationen implementiert in einer Art und Weise, die als genetische Programmierung bekannt ist. Die Funktionen – die typischerweise die Form eines ausführbaren Codes annehmen oder aufweisen – werden ausprobiert, die Ergebnisse dienen dazu, automatisch neue Populationen von Funktionen gemäß den genetischen Programmiertechniken zu erzeugen, wobei die am besten passenden oder angepassten Funktionen in einer Art und Weise verwendet werden, die analog ist zur Auswahl oder Selektion und wobei diese ausgewählten oder selektierten Funktionen übersandt oder übermittelt werden, an Aktionen oder Wirkungen die zum Beispiel mit Kreuzungs- oder Mutationsphänomenen korrespondieren, die in biologischen Vorgängen auf chromosomaler Ebene auftreten. Der bemerkenswerte Aspekt beruht in der Anwendung einer genetischen Programmiertechnik in Bezug auf Funktionen, welche als Argument elektronische Rohsignale verwenden, seien diese digitalisiert oder analog.
  • Bei der Anwendung auf dem Gebiet von Musikdateien ermöglicht die vorliegende Erfindung das Extrahieren allgemeiner Deskriptoren aus Musiksignalen. Dies be deutet präziser, dass die Ausführungsform nicht einen bestimmten Deskriptor extrahiert, sondern, sofern ein Satz von Musiktiteln vorgegeben ist, welche beide Beispiele (und möglicherweise auch Gegenbeispiele) für einen Deskriptor aufweisen, automatisch eine Funktion erzeugt, welche aus den Audiosignalen einen optimalen Wert extrahiert. Dasselbe System kann verwendet werden, um eine Funktion zu erzeugen, die mit einem allgemeinen Deskriptor assoziiert ist, zum Beispiel einen, wie er in dem vorangehenden Teil der Einleitung beschrieben wurde. Diese Funktion kann dann als eine allgemeine Extraktionsfunktion für den assoziierten Deskriptor verwendet werden, und zwar in dem Sinn, dass sie aufeinander folgend auf jeglicher Musikdatei operiert, um den Wert des Deskriptors für diese Datei zu erzeugen (unter der Annahme dass die Signale kompatibel sind).
  • Das Design und die Auslegung eines derartigen Systems beruht auf extensiven Experimenten auf dem Gebiet der Extraktion von Audio-/Musikbeschreibungen. Während dieser Experimente hat der Anmelder herausgefunden, dass tiefe Einsichten auf dem Gebiet der Signalverarbeitung notwendig sind, um korrekte und robuste Signalverarbeitungsextraktoren zu gestalten. Jeder Extraktor kann hier als Funktion aufgefasst werden, die als Argument ein gegebenes Musiksignal verwendet (typischerweise 3 Minuten einer Audiodatei) und einen Wert ausgibt. Dieser Wert kann verschiedenen Typen angehören: einer Fließkommazahl (zum Beispiel für das Tempo), einen Vektor (für das Timbre), einem Symbol (für die Unterscheidung eines instrumentellen von einem Gesangsstück) und so weiter.
  • Die Hauptzielsetzung der Auslegung eines Extraktors besteht darin, die richtige Komposition oder Zusammensetzung der grundlegenden Verarbeitungsfunktionen auf einem unteren Niveau (Low-Level signal processing functions) herauszufinden, um einen Wert zu ermitteln, der so stark wie möglich mit den Werten korreliert ist, die mittels psycho-akustischer Tests herausgefunden werden.
  • Eine bevorzugte Ausführungsform weist eine Repräsentation oder Darstellung der menschlichen Erfahrung oder Expertise auf dem Gebiet der Signalverarbeitung auf: es werden verschiedene Kombinationen von Signalverarbeitungsfunktionen ausprobiert, ausgewertet und miteinander und gegen diejenigen Werte verglichen, die auf menschlicher Wahrnehmung beruhen. Unter Verwendung eines Algorithmus auf der Grundlage genetischer Programmierung werden gleichzeitig verschiedene Signalverarbeitungsfunktionen ausprobiert und modifiziert, um eine befriedigende Extraktorfunktion zu ermitteln.
  • Im Vergleich mit bekannten oder existierenden Zugängen auf dem Gebiet der Musikextraktion ist das vorliegende System einen Schritt weiter oben angesiedelt: seine primäre Funktion besteht nicht in der Erzeugung eines Deskriptors für ein Signal, sondern in der Erzeugung einer Funktion, die ihrerseits den Deskriptor erzeugt, wenn sie auf ein anderes Musikdateisignal angewandt wird, welches zum Beispiel von einer Datenbank von Signalen entnommen wurde.
  • Die Funktion und ihre Vorteile ergeben sich auch in der Lektüre der folgenden Beschreibung unter Berücksichtigung der bevorzugten Ausführungsbeispiele, welche allerdings ausschließlich exemplarisch angeführt werden:
  • 1 ist eine Zeichnung, welche die grundlegende Benutzereingabe und -ausgabe eines Programmiersystems oder programmierten Systems zum automatischen Erzeugen einer Deskriptorextraktionsfunktion gemäß der vorliegenden Erfindung zeigt.
  • 2 ist ein vereinfachtes Blockdiagramm, welches die hauptsächlichen funktionalen Einheiten des in 1 gezeigten Systems zeigt.
  • 3 ist eine symbolische Illustration, welche die formalen Kompatibilitätsanforderungen für zwei gruppierte Elementarfunktionen zeigt, die einen Teil einer zusammengesetzten Funktion oder Kompositionsfunktion bilden, die mittels des Systems aus 2 erzeug wurde.
  • 4 ist eine symbolische Illustration einer Elementarfunktion zum Ausführen einer Tiefpassfilterung in Bezug auf ein Signal.
  • 5 ist eine symbolische Illustration einer Elementarfunktion zum Ausführen einer schnellen Fourier-Transformationsoperation in Bezug auf ein Signal auf der Grundlage einer kurzen Zeitbasis (short-time fast Fourier transform operation).
  • 6 ist eine symbolische Illustration einer Gruppierung von Elementarfunktionen, welche einen Term in einer Kompositionsfunktion oder zusammengesetzten Funktion bilden.
  • 7 ist ein Diagramm, welches ein Beispiel einer symbolischen Darstellung oder Repräsentation nach Art einer Baumstruktur in Bezug auf eine zusammengesetzte Funktion oder Kompositionsfunktion zeigt.
  • 8 ist ein Diagramm, welches eine Matrix von Werten zeigt, die in Bezug auf einen Satz oder eine Menge von Referenzsignalen oder Bezugssignalen für eine Population von Kompositionsfunktionen oder zusammengesetzten Funktionen zeigt, und, wie diese Werte verwendet werden, um die Anpassung dieser Funktion in Bezug auf einen Deskriptor zu bestimmen, der mit den Musikinhalten dieser Signale assoziiert ist.
  • 9 ist ein Diagramm, welches mittels einer Baumstrukturdarstellung oder -repräsentation zeigt, wie Teile von zwei Kompositionsfunktionen oder zusammengesetzten Funktionen kombiniert werden, um eine neue Kompositionsfunktion oder zusammengesetzte Funktion zu bilden, und zwar unter Verwendung einer Kreuzungsoperation gemäß einer genetischen Programmiertechnik.
  • 10 ist ein Diagramm, welches mittels einer Baumstrukturrepräsentation oder -darstellung zeigt, wie eine Kompositionsfunktion oder zusammengesetzte Funktion in eine neue Kompositionsfunktion oder zusammengesetzte Funktion mutiert wird, und zwar unter Verwendung einer Mutationsoperation gemäß einer genetischen Programmiertechnik.
  • 11 ist ein Diagramm, welches mittels einer Baumstrukturrepräsentation oder -darstellung zeigt, wie eine Caching-Technik implementiert wird, um Ergebnisdaten für einen Datencache für angehende Ergebnisse zu erfassen und um einen Teil einer Funktion unter der Berechnung mit einem vorangehenden berechneten Ergebnis zu ersetzen.
  • 12 ist ein Flussdiagramm, welches die allgemeinen Schritte zeigt, die gemäß einem System nach 2 zum Erzeugen einer Deskriptorextraktionsfunktion ausgeführt werden.
  • 13 ist ein Beispiel unterschiedlicher Funktionen und ihrer Anpassung oder Eignung, die automatisch auf der Grundlage des Systems von 2 mittels Auswertung in Bezug auf die Anwesenheit einer Stimme in einem Musiktitel verwendet werden.
  • 14 ist ein Beispiel unterschiedlicher Kompositionen oder Zusammensetzungen von Deskriptorextraktionsfunktionen auf der Grundlage von elementaren Funktionen oder Elementarfunktionen und ihrer Anpassung oder Eignung, wie sie automatisch erzeugt wurden mittels des Systems zum Auswerten der Gesamtenergie oder globalen Energie von Musiktiteln.
  • 1 zeigt ein System 2 gemäß der vorliegenden Erfindung zum Anzeigen der Rohdaten, auf welchen es operiert oder wirkt (Benutzerdateneingabe) und der Ausgabe (Benutzerausgabedaten), die aus den zuvor genannten erzeugt werden. Das Beispiel basiert auf einer Musikdatenanwendung, bei welchem das System 2 als Benutzereingabedaten eine ausführbare Funktion 4 erzeugt, die als Deskriptorextraktionsfunktion (DE-Funktion) bezeichnet wird. Diese Funktion wird dann in einen oder innerhalb eines Datenträgers oder Datencarriers 5 (data carrier) in einer Form gepackt, die geeignet ist zum Extrahieren eines gegebenen Deskriptors aus einer beliebigen Audiodatei 6, welche ein Signal Sx enthält. Die Audiodatei ist typischerweise als gespeicherte Binärdatei formatiert, und zwar zum Beispiel gemäß einem bekannten Standard zum Beispiel als CD-Audio, MP3, MPEG7, WAV usw., die von einem Musikabspielgerät verwendbar sind und welche ein Musikstück enthalten, mit welchem der Deskriptorwert Dx zu assoziieren ist. Die DE-Funktion 4 operiert auf dem Rohdatensignal Sx der Audiodatei 6, das heißt, dass sie diese Datei als ihr Argument oder Operand verwendet und den Deskriptorwert DVex für diese Datei liefert. Von dem Signal Sx kann angenommen werden, dass es mit der DE-Funktion 4 in Bezug auf das Datenformat kompatibel ist. Wie im einleitenden Teil erwähnt wurde, ist der Deskriptorwert typischerweise eine Zahl, ein Boolescher Wert oder ein Ausdruck und gehört im Allgemeinen zur Klasse reeller Objekte Rn.
  • Der oben beschriebenen Datenträger oder Datencarrier 5 weist typischerweise ein Softwarepaket auf, welches andere DE-Funktionen aufweisen kann, zum Beispiel zum Extrahieren anderer Deskriptorwerte, und möglicherweise darüber hinaus einen Hilfssoftwarecode, zum Beispiel für die Verwaltung, das Management oder die Benutzerunterstützung. Der Datenträger oder Datencarrier 5 kann eine physikalische Entität sein, zum Beispiel eine CD-ROM. Er kann auch eine immaterielle Form aufweisen, zum Beispiel in Form einer herunterladbaren Software, zum Beispiel aus dem Internet.
  • Das System 2 erzeugt die DE-Funktion 4 auf der Grundlage sowohl der Benutzerdateneingabe als auch intern erzeugter Parameter, Funktionen und Algorithmen, wie später im Detail beschrieben werden wird.
  • Die Benutzerdateneingabe dient unter anderem dem Zuführen einer internen Lerndatenbank und weist auf oder bildet so genanntes Lernrohmaterial, aus welchem die DE-Funktion zu modellieren ist oder modelliert werden kann. Dieses Material umfasst unter anderem einen Satz oder eine Menge von m Audiodateien A1 bis Am und für jedes Ai (1 ≤ i ≤ m) einen gegebenen Wert Dgti eines bestimmten Deskriptors De des Audio-Items Ti, welches jeweils enthalten ist. Die Audiodateien Ai werden nach Art einer Datei 6 in der oben beschriebenen Art und Weise formatiert und erzeugen folglich ein jeweiliges Signal Si, dessen Inhalt das Audioitem Ti ist.
  • Die jeweiligen Deskriptorwerte Dgt1–Dgtm, die mit den Audiodateien assoziiert sind, werden auf der Grundlage einer menschlichen Bewertung ermittelt oder auf der Grundlage eines Komitees menschlicher Bewerter. Falls zum Beispiel der in Rede stehende Deskriptor De die globale oder Gesamtenergie (global energy) des Musiktitels ist, können der Bewerter oder das Komitee für jeden jeweiligen Titel Ti eine Zahl in einem Bereich von einem Minimalwert (zum Beispiel vom Niveau eines Schlafliedes) zu einem Maximalwert vergeben, wodurch der Deskriptorwert Dgti des Titels gebildet wird. Diese Werte Dgti werden als Deskriptorwerte mit ”begründeter Wahrheit” (grounded truth descriptor values) bezeichnet.
  • 2 zeigt die allgemeine Architektur oder den allgemeinen Aufbau des Systems 2. Das System wird vorzugsweise implementiert unter Verwendung der Hardware eines standardmäßigen Personalcomputers PC. Zur Vereinfachung des Verständnisses werden die unterschiedlichen Typen der verwendeten Daten unterteilt in jeweilige Datenbanken 1018, und zwar unter der allgemeinen Steuerung oder Regelung einer Datenmanagementeinheit 20, welche des Weiteren den gesamten Datenfluss des Systems 2 steuert und verwaltet. Die Datenbanken umfassen Folgendes:
    • – Eine Lerndatenbank 10, welche Signaldaten S1–Sm von Referenzaudiodateien A1–Am im Zusammenhang mit deren korrespondierenden Deskriptorwerten Dgt1–Dgtm mit begründeter Wahrheit. Die Inhalte dieser Datenbank 10 werden als Benutzerdateneingabe zugeführt (siehe 1);
    • – Eine Bibliothek 12 von elementaren Funktionen oder Elementarfunktionen EF1, EF2, EF3, ..., die als grundlegende Bausteine dienen, aus welchen die zusam mengesetzten Funktionen oder Kompositionsfunktionen CF erzeugt werden, und zwar in geführter Art und Weise, unter Randbedingungen, oder zufällig gesteuert. Eine ausgewählte Kompositionsfunktion – vorangehend und nachfolgend werden die Begriffe Kompositionsfunktion und zusammengesetzte Funktion synonym verwendet – oder möglicherweise eine ausgewählte Gruppe von Kompositionsfunktionen sollen eine eingegebene DE-Funktion 4 werden;
    • – Eine Benutzerkommandointerpretationsdatenbank 11, welche den notwendigen Code für das Interpretieren verschiedener Kommandos enthält, die ihrerseits vom Benutzer zum Steuern des Systems eingegeben werden. Die Datenbank 11 weist unter anderem einen Interpreter auf zum Verwenden der unterschiedlichen Kommandos, die durch den Benutzer eingegeben werden, und zwar in einem Modus des Systems, bei welchem Randbedingungen hinsichtlich der Eingabemuster vorliegen, wie dies im Zusammenhang mit dem Abschnitt 1.3 unten beschrieben werden wird.
    • – Eine Heuristikendatenbank 14, welche verschiedene Führungsregeln oder Beschränkungsregeln aufweist, die im Zusammenhang mit zufälligen Auswahlereignissen ins Spiel kommen, vorzugsweise auf unterschiedlichen Stufen beim Erarbeiten oder Erzeugen der Kompositionsfunktionen, wie es später im Detail beschrieben werden wird.
    • – Eine Datenbank 15 für formale Regeln und Überschreibregeln, welche einen Satz oder eine Menge deterministischer Regeln aufweist zum automatischen oder semiautomatischen Umgestalten erzeugter Kompositionsfunktionen in ihre formal korrekte und rationalste Form oder Gestalt.
    • – Einen Vorergebniscache 16, welcher Ergebnisse zuvor berechneter Teile oder Abschnitte von Kompositionsfunktionen im Hinblick auf ein Verhindern der Notwendigkeit ihrer Neuberechnung speichert, wenn sie nachfolgend auftreten oder einem begegnen.
    • – Eine Validierungsdatenbank 18, welche denselben Typ von Daten enthält wie die Lerndatenbank 10, jedoch im Hinblick auf andere Musiktitel. Die in dieser Datenbank enthaltenen Audiodaten werden nicht als Referenz oder Bezug zum Erzeugen der Kompositionsfunktionen verwendet und bilden daher eine neutrale Quelle zum ultimativen oder letztendlichen Testen der Validität einer Kandiaten-DE-Funktion 4, die unter den Kompositionsfunktionen ausgewählt wurde.
  • Die Datenverarbeitung und das Gesamtmanagement des Systems werden durch eine Hauptprozessoreinheit 22 bewerkstelligt, welche Programme ausführt, die im Hauptprogrammspeicher 24 enthalten sind. Eine Benutzerschnittstelleneinheit 26 ist mit einem Monitor 28 assoziiert, sowie mit einer Tastatur 30 und einer Maus 31, die die Benutzereingabe und die Datenausgabe gemäß 1 ermöglichen, sowie die Kommunikation im Hinblick auf interne Programmierdaten oder Programmdaten, die einzugeben oder zu extrahieren sind.
  • 3 beschreibt das Prinzip der elementaren Funktion EF oder Elementarfunktion, wie sie im Zusammenhang mit dem System 2 verwendet werden. Vorangehend und nachfolgend werden die Begriffe elementare Funktion und Elementarfunktion synonym verwendet. Um effektiv als Operator zu fungieren, weisen die Elementarfunktionen einen ausführbaren Code und gegebenenfalls und möglicherweise Daten auf, die durch eine symbolisierte Eingabe Pin zugeführt oder eingegeben werden, welche ein oder eine Anzahl assoziierter Parameter begründet. Eine Elementarfunktion wirkt auf einen Operanden oder auf ein Argument 32 – welche aus Signaldaten oder aus einer Eingabe einer vorangehenden Elementarfunktion bestehen können – und erzeugt eine Ausgabe, welche das Ergebnis des auf den Operanden ausgeführten Codes ist. Eine Elementarfunktion EF wird im System katalogisiert gemäß:
    • i) eines Eingabetyps – der Parameter/die Parameter, die sie verwendet, stehen im Argument, und
    • ii) einem Ausgabetyp – der Parameter/die Parameter, gemäß dem sie ihre Ausgabe darstellt (das heißt, das Ergebnis des Operierens auf einem Argument), wie dies im Zusammenhang mit Tabelle I dargestellt ist.
  • In der Ausführungsform werden sämtliche Typen gebildet unter Verwendung von drei Grundformen oder Konstrukten, obwohl mehr oder weniger berücksichtigt werden können, um verschiedenen Anwendungen gerecht zu werden:
    • 1. Atomare Formen/Formeln (atomic form): eine atomare Form oder Formel bezieht sich auf einen Typ (Eingabe und/oder Ausgabe) mit einem einzigen Parameter. Beim vorliegenden Signalverarbeitungsbeispiel werden drei atomare Formen oder Formeln berücksichtigt: i) Zeit (bezeichnet mit t), Frequenz (bezeichnet mit f) und Amplitude (bezeichnet mit a). Atomare Typen weisen auf: Zeit (bezeichnet mit t), Frequenz (bezeichnet mit f) und Amplitude (bezeichnet mit a). Von diesen atomaren Formen oder Formeln können komplexe Typen konstruiert werden, und zwar wie folgt:
    • 2. Funktionen: Eine Funktion bildet einen Typ auf einen anderen ab. Beim verwendeten Formalismus wird eine Funktion symbolisiert durch einen Doppelpunkt ”:”, welcher die beiden betrachteten Typen trennt, und zwar gemäß Folgendem: eine Funktion eines Parameters x bildet auf einem Parameter y ab, dies wird dargestellt durch x:y. Zum Beispiel kann ein Audiosignal betrachtet werden als eine Funktion, welche die Zeit auf die Amplitude abbildet. Dies wird daher mit ”t:a” bezeichnet, wobei dies bedeutet, dass ”eine Funktion vorliegt, die t (Zeit) auf a (Amplitude) abbildet”. In ähnlicher Art und Weise bildet ein Spektrum eine Frequenz auf einer Amplitude ab und wird dargestellt durch ”f:a”.
    • 3. Vektoren: Ein Vektor ist ein Satz oder eine Menge von Werten eines Typs (atomar oder Funktion). Bei dem verwendeten Formalismus wird dies dargestellt durch ein ”V”, gefolgt von dem Typ. Zum Beispiel unterteilt eine Funktion ”SPLIT”, welche auch ein Audiosignal (vom Typ t:a) angewandt wird, dieses Signal in Untersignale. Ihr Typ wird daher mit Vt:a bezeichnet. In rekursiver Art und Weise kann ein Vektor selbst unterteilt werden (mit derselben SPLIT-Funktion), um ein Objekt vom Typ VVt:a zu erzeugen, und so weiter. Wichtig: der Begriff Vektor im vorliegenden Zusammenhang bezeichnet einen Satz oder eine Menge von Werten, wobei jeder denselben Typ besitzt, sowie bei dem oben beschriebenen Beispiel der Ausgabe einer SPLIT-Operation.
  • Die Elementarfunktion SPLIT ist nützlich insofern, als sie eine Unterteilung eines langen Signals in eine beliebige Anzahl kleinerer Bereiche ermöglicht, zum Beispiel entlang der Zeitachse, von denen jeder Bereich dann unabhängig von dem anderen behandelt werden kann. Die Bereiche können zum Beispiel zu Zwecken der statistischen Analyse zum Ermitteln eines gemeinsamen Werts übertragen werden. Folglich wird SPLIT typischerweise verwendet, um einen Typ t:a oder f:a in einen Vektor Vt:a bzw. Vf:a aufzufächern oder aufzuspleißen. Verschiedene Operationen können dann auf jeder Komponente des Vektors (das heißt auf jeden aufgeteilten Abschnitt oder Bereich) durchgeführt werden. Nachfolgend können die finalen Werte oder Endwerte für jeden Bereich zusammengefasst oder kondensiert werden in einen einzigen, zum Beispiel durch Nehmen des Mittelwerts, des Medians und so weiter.
  • Jede atomare Form oder Formel, Funktion oder Vektor kann Gegenstand sein eines bestimmten Typs von Inferenzregeln oder Schlussregeln, die ihren jeweiligen Typ spezifizieren als eine Funktion der Typen ihrer Argumente.
  • Dies wird durch die folgenden Beispiele illustriert.
  • Beispiel 1.
    • – Die Funktion SPLIT definiert den folgenden Typ einer Schlussregel oder Inferenzregel: SPLIT (Vf:a) → Vt:a, das heißt der Typ der Funktion ”SPLIT”, die auf ein Audiosignal angewandt wird, ist ein Vektor von Audiosignalen.
  • SPLIT (Vf:a) → VVf:a, das heißt der Typ der Funktion ”SPLIT”, die angewandt wird auf einen Vektor von Spektren, ist ein Vektor von Vektoren von Spektren.
  • Der Typ Inferenzregel der Funktion ”SPLIT” ist dann: der Typ von SPLIT ist ein Vektor des Typs seines Arguments.
  • Beispiel 2.
    • – Die Funktion ”MEAN” definiert den folgenden Typ von Inferenzregeln: MEAN (t:a) → a, das heißt der Typ der Funktion ”MEAN”, die angewandt wird auf ein Audiosignal, ist eine Amplitude, welche bestimmt, dass der Typ von MEAN, angewandt auf ein Funktion, der rechtsseitige Teil des Typs ihres Arguments ist.
  • MEAN (Vt:a) → Va, das heißt der Typ der Funktion ”MEAN”, angewandt auf einen Vektor von Audiosignalen, ist ein Vektor von Amplituden, welcher spezifiziert, dass der Typ der Funktion ”MEAN”, angewandt auf einen Vektor, ein Vektor ist, der Typen, die erhalten werden durch Anwenden von MEAN auf die Elemente des Vektors.
  • Beispiel 3.
    • – Die Funktion ”FFT” (Fast Fourier Transform: schnelle Fourier-Transformation) definiert den folgenden Typ von Inferenzregeln: FFT (t:a) → f:a, das heißt der Typ der Funktion FFT, angewandt auf ein Audiosignal, ist ein Spektrum.
  • FFT (f:a) → t:a, das heißt der Typ der Funktion FFT, angewandt auf ein Spektrum, ist eine Funktion, die die Zeit auf die Amplitude abbildet.
  • Wenn vorausgesetzt wir, dass die Dimension der Frequenz 'f' der Kehrwert ist der Dimension der Zeit 't', dann ist der Typ von Inferenzregeln für die FFT-Funktion: der Typ von FFT, angewandt auf eine Funktion, ist eine Funktion mit demselben rechtsseitigen Teil und mit einem invertierten linksseitigen Teil.
  • Tabelle I zeigt in nicht erschöpfender Art und Weise ein Beispiel für Elementarfunktionen, die in einer Elementarfunktionsbibliothek 12 gespeichert sein können, und zwar zusammen mit ihrem Eingabetyp, ihrem Ausgabetyp und Parametern. Tabelle I: Beispielliste für Elementarfunktionen, die im System 2 verwendet werden.
    I.1 – Mathematische Funktionen
    Funktion
    Name Operation Param Pin Toper Tout
    DERIV Zeitableitung - t:a t:a
    INTEGR Zeitintegration - t:a t:a
    MAX Maximalwert - t:a a
    MASPOS Position Maximalwert - t:a t
    MIN Minimalwert - t:a a
    SQUARE Quadrieren - t:a t:a
    LOG Logarithmieren - t:a t:a
    MEAN Mittelwert - t:a a
    VAR Varianz - t:a a
    ABS Absolutwert - t:a t:a
    SUM Termsummation - t:a a
    SQRT Quadratwurzel - t:a a
    POWER Potenz 'i' ganze Zahl i t:a t:a
    I.2 – Signalverarbeitungsfunktion
    Funktion
    Name Operation Param Pin Toper Tout
    ENV. Signaleinhüllende Fenstergröße t:a/a t:a
    FFT schnelle Fourier-Transformation - t:a f:a
    SPLIT Windowing Fenstergröße t:a/a Vt:a
    AUTOCOR Autokorrelation - t:a t:a
    COR Korrelation - t:a/t:a t:a
    LPF Tiefpassfilter Fcutoff. t:a/f t:a
    HPF Hochpassfilter Fcutoff. t:a/f t:a
    BPF Bandpassfilter Flow/Fhigh t:a/f/f t:a
    FLAT Flatness t:a a
    RMS Root Mean Square - t:a a
    PITCH Pitch - t:a f
    ZCR Zero Crossing Rat - t:a a
    SC Spectral Centroid - t:a a
    SD Spectral Decrease - t:a a
    SF Spectral Flatness - t:a a
    SK Spectral Kurtosis - t:a a
    SRO Spectral Roll Off - t:a a
    SSK Spectral Skewness - t:a a
    SSP Spectral Spread - t:a a
    1.3 – Kombinations- und Verbindungsfunktionen
    Funktion
    Name Operation Para Pi -
    COMPOSITION o -
    LOOP* Widerhole ..., bis Iterationszahl
    ...
    ( Klammer
    COMBINATION * Multipliziere - -
    ÷ Teile - -
    + Addiere - -
    Subtrahiere - -
    • * Loop/Schleife: Die Ausgabe oder das Ergebnis einer Iteration kann der Eingangsparameter oder Eingabeparameter für die nächste Iteration sein.
  • Die letzten vier Kombinationsoperatoren sind ein arithmetische Operatoren, die aufeinander folgende Funktionen miteinander verbinden, jedoch werden sie ebenfalls als Funktionen behandelt.
  • Wie des Weiteren erklärt wird, behandelt das System 2 Elementarfunktionen EF – welche zu Modulen assimiliert oder zusammengefasst werden können – entweder als symbolische Objekte oder als ausführbare Operatoren, und zwar abhängig von der Natur derjenigen Verarbeitung, die jeweils benötigt wird im Zusammenhang mit dem Erarbeiten oder Auswerten einer Kompositionsfunktion CF.
  • 4 illustriert ein Beispiel einer Elementarfunktion in der Form eines Tiefpassfilteroperators (LPF). Als solcher enthält dessen ausführbarer Code einen digitalen LPF-Algorithmus und dessen Eingabeparameter oder Eingangsparameter Pip werden gebildet von der Cut-Off-Frequenz F und optional von der Abschwächungsrate (dB/Oktave). Die Eingabe- und Ausgabetypen sind beide t:a.
  • 5 illustriert ein anderes Beispiel einer Elementarfunktion, diesmal in der Form eines schnellen Fourier-Transformationsoperators (FFT). Der ausführbare Code weist einen FFT-Algorithmus auf. Seine Eingangsparameter oder Eingabeparameter Pin sind die Summationsgrenzen. Der Eingabetyp ist t:a, der Ausgabetyp ist f:a.
  • 6 illustriert das Prinzip eines Strings oder einer Kette von Elementarfunktionen, und zwar über das Beispiel von drei Elementarfunktionen EFa, EFb und EFc, die einen Term TCF einer Kompositionsfunktion bilden, welche auf einen Typ t:a operiert, welcher das Signal S einer Audiodatei bildet, wobei der Term TCF EFc.EFb.EFa*t:a ist. Es ist zu bemerken, dass in einer derartigen Kette oder in einem derartigen String von Elementarfunktionen eine Elementarfunktion auch ein Argument oder einen Operand bildet, und zwar für seinen linksseitigen Nachbar (das heißt für die nachfolgende Funktion), mit welchem sie über eine ”*”-Funktion verbunden ist. Auch kann ein Ausgabetyp einer Elementarfunktion Parametereingabedaten für seine Nachbarfunktion aufweisen. Dies wird im Zusammenhang mit der 6 illustriert, und zwar gemäß der Ausgabe der Funktion EFb, welche unter anderem einen Typ t:a erzeugt, welcher einen Parameter Pin für seine nachgeschaltete Funktion EFc transportiert, zum Beispiel den Wert der Hochpass-Cut-Off-Frequenz, falls letztere eine Hochpassfilterfunktion darstellt.
  • Die Kompositionsfunktion CF kann eine beliebige Anzahl von Elementarfunktionen aufweisen, die über unterschiedliche arithmetische Operatoren (+, –, * oder ÷) verbunden sind. Über einem multiplikativen oder Divisionsoperator miteinander verbundene Elementarfunktionen bilden einen Term; verschiedene Terme können über assoziative Operatoren + und – verbunden sein, wie dies im Fall des Zusammensetzens einer Kompositionsfunktion CF auftritt.
  • Unter den im Hauptprogrammspeicher 24 gespeicherten Programmen befinden sich folgende Programme:
    • – Ein Kompositionsfunktionskonstruktionsprogramm 25, welchem die Rolle zukommt, Kompositionsfunktionen zu erzeugen durch Zusammensetzen oder Assemblieren einer Anzahl von Elementarfunktionen EF. Letztere können jeweils aufgefasst werden als ein Operator in Form einer einzelnen Einheit oder als Modul, welche einen bestimmten technischen Effekt oder eine bestimmte technische Wirkung auf den Signaldaten Si einer Audiodatei oder auf der Ausgabe einer anderen Elementarfunktion erzeugen.
    • – Ein Funktionsausführungsprogramm 27, welches gebildet wird von den Kompositionsfunktionen selbst, wobei diese nicht länger als symbolische Objekte aufgefasst und verwendet werden, sondern als ausführbare algorithmische Entitäten zum Erzeugen von Operationen auf Signaldaten S mit technischer Bedeutung.
  • Diese zwei Programme 25 und 27 stehen unter der übergeordneten Steuerung eines Masterprogramms 29, welches das Gesamtsystem 2 managt und steuert.
  • Für eine volle Implementation im Hinblick auf das Erzeugen einer ausgewählten Deskriptorextraktionsfunktion, und zwar unter Optimierung im Hinblick auf die Lerndatenbank 10, arbeitet das System gemäß drei Phasen, wobei das System im Hinblick auf das Kompositionsfunktionsprogramm 25 in zwei Phasen arbeitet:
    • – Eine erste Phase des Erzeugens einer Initialen oder Anfangspopulation von Kompositionsfunktionen. Die Kompositionsfunktionen können erzeugt werden gemäß zwei Modi, die vom Benutzer auswählbar sind: i) einem Freiformzufallsmodus (”free-form” random mode), bei welchem nur minimale Randbedingungen Verwendung finden, und ii) einen Zufallsmodus mit erzwungenem oder eingeprägtem Muster oder Struktur, bei welchem die Benutzerkommandos dazu dienen, Muster oder Strukturen auf den Kompositionsfunktionen zu erzwingen oder diesen aufzuprägen.
    • – Eine zweite Phase zum Auswerten einer Population von Kompositionsfunktionen gegenüber den begründeten Wahrheiten der Lerndatenbank und des Auswählens der am besten angepassten Kompositionsfunktion, um eine nachfolgende Generation von Kompositionsfunktionen auszubilden.
    • – Eine dritte Phase des Erzeugens einer neuen folgenden Population von Kompositionsfunktionen auf der Grundlage der aktuellen Population, die in der zweiten Phase erhalten wird. Bei der Ausführungsform wird folgende Population erzeugt durch genetische Programmiertechniken, welche einem Ansatz gemäß künstlicher Intelligenz (AI) folgen. Wie unten beschrieben wird, kann die dritte Phase parallel die Insertion oder das Einschieben neuer Kompositionsfunktionen beinhalten, die gemäß der ersten Phase erzeugt wurden, um die Anzahl der Kompositionsfunktion in einer folgenden Population aufzufüllen oder nachzufüllen.
  • Das System kann zwischen der dritten Phase und der zweiten Phase für eine Anzahl von Zyklen wechseln, wobei jedes Mal eine neue Generation einer Population von Kompositionsfunktionen erzeugt wird, bis eine vorbestimmte Endbedingung erreicht ist. Dann stoppt das System am Ende der zweiten Phase und wählt eine Kompositionsfunktion – oder möglicherweise einen Satz oder eine Menge von Kompositionsfunktionen – aus, welche die beste Übereinstimmung mit sich bringen und welche als die Deskriptorextraktionsfunktion DE betrachtet werden können.
  • In den ersten und dritten Phasen werden die Elementarfunktionen EF als Symbole gehandhabt, wodurch sie als Objekte einer ersten Klasse in ihrer symbolischen Darstellung gehandhabt werden.
  • Folglich ist das System 2 in der Lage, die Elementarfunktionen sowohl als Objekte, wenn nämlich das Konstruktionsprogramm 25 für die Kompositionsfunktion (CF) ausgeführt wird, und als ausführbare Operatoren zu behandeln, besonders zum Auswerten und Testen der Kompositionsfunktion, wenn das Programm 27 zum Ausführen von Funktionen ausgeführt wird. Zu diesem Zweck verwenden die zwei Programme 25 und 27 Sprachen, die jeweils angepasst sind zum Handhaben von Objekten und zum Ausführen numerischer Berechnungen, wobei als Beispiel zu letzterem die ”Matlab”-Sprache dienen mag.
  • Die unterschiedlichen Phasen des Betriebs oder der Arbeitsweise des Systems werden nachfolgend in jeweiligen Abschnitten erläutert. Diese betreffen nacheinander:
  • 1. Erste Phase: Erzeugen einer initialen Population von Kompositionsfunktionen.
  • Wenn das System Elementarfunktionen als Symbole zum Erzeugen von Kompositionsfunktionen CF handhabt, kann es vorteilhafterweise eine Baumstruktur (tree structure) verwenden.
  • Gemäß dieser Baumstruktur wird die Kompositionsfunktion im Sinne von oder in Form von Knoten symbolisiert, wobei jeder Knoten zu einer Elementarfunktion EF korrespondiert und wobei die Zweige die Knoten gemäß den arithmetischen Operatoren +, –, *, ÷, die verwendet werden, verbinden.
  • Als Beispiel zeigt 7 die Baumstruktur für die Kompositionsfunktion CF = MAX.DERIV.FFT.FFT.LPF(B1)(S) + ABS.PITCH.LPF(B2)(S) + PITCH.HPF(VARIANCE(S))(S). Die drei Terme werden entlang der drei jeweiligen Zweige oder Verzweigungen Br1–Br3 entwickelt. Die drei Zweige verbinden die ”+”-Funktion, welche die gemeinsame Verbindung zu CF bildet. Die Reihenfolge des Erscheinens der Elementarfunktionen folgt den aufeinander folgenden Knoten, wobei die erste Elementarfunktion (das heißt die erste auf dem Signal auszuführende) dem freien Ende ihres Zweiges am nächsten ist.
  • 1.1. Zufallskompositionsfunktionserzeugung mit der Möglichkeit durch den Benutzer spezifizierter Neben- oder Zwangsbedingungen über struktur- oder musterbeschränkende Kommandos.
  • Das CF-Konstruktionsprogramm 27 beginnt anfänglich durch Auswählen und Aggregieren von elementaren Funktionen zu einer Zufallsfunktion, jedoch mit Beschränkungen oder Bedingungen, die sich ergeben aus:
    • i) Regeln
    • ii) Heuristiken, und
    • iii) benutzerdefinierte Beschränkungen oder Zwangsbedingungen hinsichtlich der Struktur oder des Musters.
  • Das Programm arbeitet mittels einer Technik auf der Grundlage gewichteter Zufallszüge zum Auswählen jeder Elementarfunktion, die zu der oder in die Kompositionsfunktion hinzuzufügen oder zu aggregieren ist.
  • Falls der Benutzer nur den Ausgabetyp der Kompositionsfunktion spezifiziert, bleibt das System größtenteils auf seinen eigenen Ressourcen zum Erzeugen von Kompositionsfunktion innerhalb der Grenzen der Regeln und Heuristiken, wie dies unten dargelegt wird. Typischerweise betreffen externe Benutzerparameter in diesem Fall ausschließlich die Größe und die Anzahl: i) den Mittelwert oder Median der Anzahl der Elementarfunktionen, welche jede Kompositionsfunktion bilden, und ii) die Gesamtzahl der Kompositionsfunktionen, die zu erzeugen sind.
  • Der Benutzer kann jedoch das System 2 dahingehend zwingen und beschränken dass es Kompositionsfunktionen gemäß einem ausgewählten Funktionsmuster oder einer ausgewählten Funktionsstruktur erzeugt, und zwar mittels so genannter Muster- oder Strukturbeschränkungskommandos. Die Funktionsmuster oder Funktionsstrukturen sind abstrakte Ausdrücke, welche Mengen oder Sätze von Kompositionsfunktionen bezeichnen, auf welche das System während seines Zufallszugsprozesses fokussieren soll. Folglich definieren sie die grundsätzliche Form oder interne Struktur der Kompositionsfunktion gemäß der Typen von Elementarfunktionen, von denen sie gebildet wird. Diese Muster oder Strukturen werden unter Verwendung regulärer Ausdruckskonstrukte (zum Beispiel ”?”, ”!”, ”*”) dargestellt. Diese Konstrukte bezeichnen unbekannte Funktionen, welche das System zu realisieren versucht. Dazu ist ein spezifischer Zufallsfunktionsgenerator innerhalb des CF-Konstruktionsprogramms 25 ausgebildet, um ausschließlich Funktionen zu erzeugen, die zu diesen Strukturen oder Mustern passen. Es werden Funktionsstrukturen oder Funktionsmuster durch das System in der Zufallserzeugungsphase verwendet: der Algorithmus erzeugt ausschließlich Funktionen, die zu den Mustern oder Strukturen passen, die vom Benutzer über angepasste beschränkende Kommandos vorgegeben sind. Die Funktionsmuster oder Funktionsstrukturen erlauben somit eine Steuerung in einer präzisen Art und Weise, und zwar hinsichtlich des Suchraumes, der untersucht wird.
  • Dies bedeutet insbesondere, dass die globale Struktur der Kompositionsfunktionen, die durch das System erzeugt werden sollen, durch die Verwendung von Funktionsmuster oder Funktionsstrukturen gesteuert oder geregelt werden können. Diese Funktionsstrukturen oder Funktionsmuster bestehen aus einem Spezifizieren von Strukturmodellen für die Kompositionsfunktion, und zwar unter Verwendung regulärer Ausdrücke und insbesondere unter Verwendung von Konstrukten, wie zum Beispiel ”?”, ”!” und ”*”, wobei diese in den beschränkenden Kommandos spezifiziert sind. Bei der Ausführungsform verwenden diese Kommandos Konstrukte, die über die nachfolgenden Symbole spezifiziert werden oder sind, die im Allgemeinen als Struktur- oder Musterbeschränkungssymbole PCS bezeichnet werden:
    ”?” bezeichnet eine einzelne beliebige unbekannte Elementarfunktion eines bestimmten Ausgabetypen.
  • ”!” bezeichnet eine Komposition einer beliebigen Anzahl unbekannter Elementarfunktionen, ohne einer Beschränkung auf dem Typ für intermediäre oder zwischengeschaltete Elementarfunktionen. Die einzige Beschränkung besteht darin, dass sich die ergebende Komposition als Ganzes einem gegebenen Argumententyp unterordnet und einen bestimmten Ausgabetyp erzeugt.
  • ”*” bezeichnet eine Komposition einer beliebigen Anzahl beliebiger unbekannter Elementarfunktionen, die sämtlich denselben bestimmten Ausgabetyp besitzen.
  • In dem Beispiel weist die Menge oder der Satz von PCS auf: =, * und !. Die grundlegende Syntax ist ”PCS_output type”.
  • Diese Strukturen oder Muster werden realisiert durch den Funktionengenerator (siehe unten), um reale oder reelle konkrete Funktionen aus Kommandos auf der Grundlage dieser Konstrukte zu realisieren. Die Syntax dieser Kommandos und ihrer Implementation werden durch die nachfolgenden Strukturkommandobeispiele illustriert:
    Strukturkommando Beispiel 1: Die Funktionsstruktur: ?_a(Signal) bezeichnet eine Funktion, die auf ”Signal' (mit dem Typ t:a) angewandt wird und einen Ausgabetyp 'a' erzeugt. Diese Struktur kann mit den nachfolgenden realen oder reellen Funktionen realisiert werden:
    MEAN(Signal),
    MAX(Signal),
    etc.
  • Strukturkommando Beispiel 2: Die Funktionstruktur: ?_a(Max(Signal)) bezeichnet eine Elementarfunktion, die auf 'Max (Signal)' (mit dem Typ a) angewandt wird, welche ein Objekt vom Typ ”a” bereitstellt. Diese Struktur kann realisiert werden als:
    ABS(Max(Signal)),
    LOG(Max(Signal)),
    etc.
  • Strukturkommando Beispiel 3: Die Funktionsstruktur: !_a(Signal) bezeichnet eine Kombination einer beliebigen Anzahl von Elementarfunktionen, die angewandt wird auf 'Signal' (mit dem Typ t:a), welche ein Objekt vom Typ 'a' schafft. Diese Struktur kann realisiert werden durch:
    MEAN(CORRELATION(FFT(Signal))),
    MEAN[a](CORRELATION[f:a](FFT[f:a](Signal[t:a]))),
    MAX(LPFILTER(Signal, 500 Hz)),
    MAX[a](LPFILTER[t:a](Signal[t:a], 500 Hz[f])),
    etc.
  • Strukturkommando Beispiel 4: Die Funktionsstruktur: *_a(Signal) bezeichnet eine Kombination mehrerer Elementarfunktionen, die angewandt wird auf 'Signal' (dessen Typ t:a ist), die ALLE ein Objekt vom Typ 'a' schaffen, diese Struktur kann realisiert werden als:
    SQUARE(LOG(MEAN(Signal))),
    MAX(Signal),
    etc.
  • Für jedes der drei grundlegenden Strukturkommandos ”?”, ”*” und ”!”, können Argumente erzwungen werden. In der verwendeten Syntax wird dieses Erzwingen ausgedrückt durch Setzen des entsprechenden Kommandosymbols in doppelter Ausführung, zum Beispiel ”??”, und durch Eingeben des Parameters x des Arguments nach dem Typ, und zwar unter Verwendung der Form: PCS PCS_[output type]([input type], x). Es ist zu bemerken, dass x ein numerisches Feld sein kann, eine Elementarfunktion oder ein Kommando unter Verwendung der oben beschriebenen Syntax.
  • In Antwort auf das ungezwungene Argumentenkommando: ?_t:a(testwav) kann das System eine Realisierung erzeugen:
    ⇒ hpfilter (testwav, 500 Hz). Hier wird der Parameter 500 Hz (Tiefpassfilter-Cut-Off-Frequenz) vom System zufällig gewählt, da kein Parameter erzwungen wurde. Oder
    ⇒ autocorrelation (testwav), eine Funktion, die keine Parameter benötigt.
  • Wenn andererseits das erzwungene Parameterkommando: ??_t:a(testwav, 1000) angewandt wird, muss das System den Wert 1000 berücksichtigen. Der mit diesem numerischen Wert assoziierte Parameter kann oder sollte abhängig sein von der ausgewählten Elementarfunktion. Zum Beispiel kann das System in Antwort darauf erzeugen:
    ⇒ hpfilter (testwav, 1000 Hz), wobei der Wert mit der Hochpass-Cut-Off-Frequenz korrespondiert oder
    ⇒ envelope (testwav, 1000), wobei der Wert mit der Anzahl der Sample-Werte oder Abtastwerte korrespondiert.
  • Bei dem oben beschriebenen Beispiel besitzt der erzwungene numerische Parameter 1000 keine Einheiten. Falls er jedoch eine bestimmte Einheit besitzt, zum Beispiel 1000 Hz, kann nur eine Funktion realisiert werden, welche diese Einheit verwendet. Folglich kann die oben beschriebene Elementarfunktion ”envelope” (Einhüllende) nicht realisiert werden.
  • In ähnlicher Weise kann, falls der erzwungene Parameter ein Signal ist, wie das im Kommando: ??_t:a(Signal) dargestellt ist, dann eine Elementarfunktion wie zum Beispiel FILTER nicht realisiert werden kann (wohl aber die Funktion AUTOCORRELATION).
  • Es ist auch möglich, ein oder mehrere PCF-Symbole zu verwenden, um ein erzwungenes Argument auszudrücken.
  • Zum Beispiel erzwingt das Kommando ??_t:a, !_f(Signal) das Argumentensignal !_f(Signal). Man beachte, dass das erzwungene Argument ”!_f(Signal)” in der Tat ein Kommando für einen Zufallsfunktionsgenerator darstellt zum Erzeugen eines uufälligen, aber beschränkten oder erzwungenen Arguments, und zwar in dem Fall gebildet von einer beliebigen Anzahl von Elementarfunktionen.
  • Mögliche Realisierungen des Kommandos ?_t:a(Signal, !_f(Signal)) sind zum Beispiel: LPF(Signal, maxPOSITION(FFT(Signal))), mit !_f(Signal) = maxPOSITION(FFT(Signal)).
  • In ähnlicher Weise drückt das Kommando: ??_t:a(!_t:a(testwav), !_t:a(testwav)) die Intention des Benutzers aus, das System zu veranlassen, eine einzelne Elementarfunktion zu erzeugen, welche den Ausgabetyp t:a besitzt. Letztere kann erzeugt werden durch eine Kombination einer beliebigen Anzahl von Elementarfunktionen mit einem unbestimmten Ausgabetyp (außer im Hinblick auf diejenige, die die finale Ausgabe erzeugt), wie dies durch das PCS ”!” angezeigt ist). Diese Funktion verwendet als ihr Argument das Signal Testwav (dessen Eingabetyp ebenfalls t:a ist). Der in Bezug auf diese Kombination von Funktionen erzwungene Parameter ist kein numerischer Wert, sondern eher die Realisierung des Kommandos ”!_t:a(testwav)”. Dies zeigt einen Signalparameter (t:a) an, der seinerseits gebildet wird von einer Kombination einer beliebigen Anzahl von Elementarfunktionen, wobei die Kombination das Signal Testwav als ihren Eingabetyp verwendet.
  • In Reaktion oder Antwort kann das System 2 die folgende Realisierung erzeugen: Correlation(SqrtMpFilter(Testwav, 388.0, 2545.33)), Derivation(Testwav)).
  • Dabei ist die zu ??_t:a korrespondierende Elementarfunktion ”Correlation”. Ihr Argument ist ”Sqrt(MpFilter(Testwav, 388,0, 2545,33)) und der erzwungene Parameter ist Derivation(Testwav).
  • In ähnlicher Art und Weise kann ein Beispiel angegeben werden für die Realisierung einer Benutzerkommandozeile durch das System: !!_a(!_t:a(testwav), !_t:a(testwav) würde sein:
    Max(Correlation(Sqrt(MpFilter(Testwav, 399,,0, 2545,33)), Derivation(Testwav))).
  • Der Modus mit erzwungener Struktur oder erzwungenem Muster wird implementiert durch ein strukturbasiertes oder musterbasiertes Zufallsfunktionsgeneratormodul des CF-Konstruktionsprogramms 25. Der Generator verwendet als Argument ein Muster oder eine Struktur (gegeben durch den Benutzer) und erzeugt eine Zufallsfunktion, die zu dem Muster oder der Struktur passt.
  • Das Prinzip besteht in einem Hinaufgehen oder Durchlaufen des Musters oder der Struktur, und zwar aufgefasst als ein Baum, und im Realisieren einer jeden nicht reellen Funktion in jedem Schritt, und zwar mittels seines PCS (da heißt durch !, * oder ?), und mit einer reellen Funktion oder einer Zusammensetzung oder Komposition von Funktionen eines durch das Muster oder die Struktur angezeigten Typs.
  • Dazu verwendet die Ausführungsform den folgenden Algorithmus zur Realisierung, und zwar als Beispiel einer gegebenen Struktur oder eines gegebenen Musters. In diesem Algorithmus:
    • – korrespondiert ”Star” zu PCS = !, * oder ?.
    • – ”deepstStar” bezieht sich auf die Tiefe, das heißt auf die Anzahl von Abkömmlingen im genealogischen Sinne. ”deepestStar” bezeichnet somit die jüngste ”Star”-Funktion des Baums oder der Baumstruktur (am weitesten entfernt von der Wurzel). ”Father” ist dann der unmittelbar darüber liegende Operator.
    • – ”non-real operator” bezieht sich auf einen ”Star”-Operator bevor dieser realisiert wird. Im Gegensatz dazu bestimmt ”real” einen ”Star”-Operator, der realisiert wurde.
  • Realisierungs-/Instantiierungsalgorithmus (Instantiation algorithm):
    • RandomOperatorPattern (pattern)//erzeugt eine Funktion, die zu dem Muster oder der Struktur passt. * WHILE der steilste nicht reelle Operator 'deepestStar' in der Struktur 'pattern' EXISTS erfüllt – Instantiiere/Realisiere realDeepestStar = buildRealRandomOperator (deepestStar) – IF deepestStar's Father EXISTS
    • Ersetze deepestStar durch realDeepestStar in 'pattern' – ELSE RETURN realDeepestStar * RETURN pattern 'buildRealRandomOperator' instantiiert/realisiert eine reelle Funktion von der nicht reellen Funktion 'father' und seinem reellen Sohn 'current': – if father = ?, Ersetzung durch einen zufälligen reellen Operator desselben Typs. – if father = !, Ersetzung durch eine Komposition zufälliger reeller Operatoren, die hinzugefügt werden bis derselbe Typ erhalten wird. – if father = *, Ersetzung durch eine Komposition zufälliger reeller Operatoren, die alle vom selben Typ sind.
  • Beispiel des Instantiierungs-/Realisierungsalgorithmus, angewandt auf einen spezifischen Fall
  • Der Typenformalismus und seine assoziierten Muster- oder Strukturkommandos schaffen ein mächtiges Werkzeug zum automatischen Erzeugen von zusammenge setzten Funktionen oder Kompositionsfunktionen, und zwar gemäß der Richtlinien oder Prinzipien, die normalerweise in verbaler ausgedrückt werden.
  • Zum Beispiel ist das Verfahren, das von E. Scheirer für seine Tempoextraktion vorgeschlagen wird (siehe die Einleitung), eine typische Realisierung oder Instantiierung für eine allgemeine Struktur oder ein allgemeines Muster, welche wie folgt beschrieben werden können:
    ?_a(*_Va(?_Vf:a(Split(*_t:a(Signal)))))
  • Die Bedeutung dieses Musters oder der Struktur ist wie folgt:
    • – Wende verschiedene Signalverarbeitungsfunktionen in der Zeitdomäne (*_t:a) an unter Verwendung verschiedener Funktionen, zum Beispiel HPFILTER, AUTOCORRELATION, usw.
    • – Spalte das sich ergebene Signal in Zeitframes auf ('Split' ist die einzige reelle oder reale Elementarfunktion in dem Muster oder der Struktur).
    • – Wende verschiedene Signalverarbeitungsfunktionen auf jedes Zeitframe im spektralen Gebiet (?_Vf:a) an, typischerweise FFT.
    • – Berechne einen globalen charakteristischen Wert für jedes Zeitframe (*_Va), verwende verschiedene Funktionen, zum Beispiel SQUARE(MEAN)(x)), LOG(MAX)(x)), usw.
    • – Berechne einen globalen charakteristischen Wert für die Frames – das heißt für das gesamte Signal (?_a), und zwar unter Verwendung einer Elementarfunktion, zum Beispiel MAX oder STD.
  • Zum Beispiel passt die globale Funktion:
    Max(Square(Mean(Fft(Split(HpFilter(Signal, 1000), 1000))))) zu diesem Muster oder dieser Struktur.
  • 1.3: Regeln und Heuristiken (die im Modus mit freier Form und im Modus mit erzwungenem oder eingesetztem Muster oder Struktur anwendbar sind).
  • Für den Modus mit freier Form und für die Modi mit erzwungener Struktur oder erzwungenem Muster intervenieren elementare Regeln und Heuristiken in Bezug auf den Zufallszug zum Steuern oder Regeln des Geeignetseins von Kombinationen von Elementarfunktionen, wobei dies in Bezug auf die Aufnahme einer möglichen Ele mentarfunktion in den Kontext jeglicher Elementarfunktion bemerkenswert ist, die bereits im zu konstruierenden Term vorhanden ist.
  • Regeln.
  • Zunächst werden diejenigen Regeln betrachtet, die den Funktionserzeugungsvorgang beschreiben, und zwar unter Berücksichtigung verschiedener Erwägungen, diese sind:
    • i) Formale Regeln. Diese Regeln die Existenz zweiter kombinierter Elementarfunktionen EFbEFa, falls deren Typen nicht kompatibel sind. Dies bedeutet mit anderen Worten, falls für die oben beschriebenen zwei Funktionen der Ausgabetyp von EFa nicht derselbe ist wie der Eingabetyp von EFb, gilt EFbEFa und die Elementarfunktion EFa wurde bereits ausgewählt, dann wird der Elementarfunktion EFb ein Gewichtskoeffizient mit dem Wert Null für den Zufallszug beigemessen, der eine Elementarfunktion auszuwählen hat, für welche die Elementarfunktion EFa der Operand ist (also das Argument). Zum Beispiel würde das formale Regelgewichtungsschema die bedeutungslosen Operatorkombinationen FFT.MAX.DERIVABS(V), usw. verbieten.
  • Die formalen Regeln gewährleisten auch, dass die am weitesten rechts stehende Funktion eines Terms in einer Kompositionsfunktion einen Eingabetyp besitzt, der zu einem Signal korrespondiert, nämlich t:a, vorausgesetzt dass sie auf dem Signal Si aus einer Audiodatei notwendigerweise operiert.
    • ii) Randbedingungsregeln. Diese Regeln dienen dazu, Randbedingungen oder Nebenbedingungen in Bezug auf die Kompositionsfunktionen und ihrer Populationen in Bezug auf die Systemparameter zu erzwingen, zum Beispiel: eine Längenbedingung in Bezug auf die Kompositionsfunktionen, nämlich durch Gewichten der Anzahl von Elementarfunktionen, die einen vorbeschriebenen Medianwert bevorzugen, die Anzahl von Verzweigungspunkten (vgl. die Baumstruktur), die Anzahl von Kompositionsfunktionen, die erzeugt werden, um eine Anfangspopulation P zu bilden, und so weiter.
  • Heuristiken.
  • Als zweites operieren wissensbasierte Heuristiken gewöhnlich durch Assoziieren eines Gewichtskoeffizienten zu jeder Elementarfunktion EF, wobei diese deren Zu fallszugwahrscheinlichkeit beeinflussen. Diese Koeffizienten werden dynamisch gemäß dem unmittelbaren oder Zusammenhang beigemessen. Die Heuristiken können auf diese Art und Weise einige Kombinationen von Elementarfunktionen über einen Gewichtskoeffizienten mit dem Wert Null auf der einen Seite ausschließen und auf der anderen Seite Kombinationen erzwingen, und zwar durch Einsetzen der Erzwingen eines absoluten Maximalwerts für einen Quotienten. Dazwischen liegende Gewichtskoeffizienten werden für den Zufallszug verwendet, um die Konstruktion der zusammengesetzten oder Kompositionsfunktionen zu bestimmen, und zwar ungeachtet der Randbedingungen oder Nebenbedingungen. Diese Heuristiken werden gewöhnlich aus der Erfahrung abgeleitet, und zwar unter Verwendung des Systems und des formalen und intuitiven Wissens des Benutzers. Sie ermöglichen somit dem Benutzer ihre oder sein Know-how in das System einzubringen und einen bestimmten Grad an Personalisierung zu erzeugen. Sie können auch durch das System selbst erzeugt werden, und zwar auf einer automatisierten Grundlage und unter Verwendung von Algorithmen, die Ähnlichkeiten detektieren zwischen den Kompositionsfunktionen, die als erfolgreich erkannt wurden.
  • Durch das Verwenden des Bereichs von Gewichtskoeffizienten für die Elementarfunktionskandidaten beim Implementieren dieser Heuristiken kann der Systemnutzer diese verwenden:
    • i) Als eine positive Beeinflussung, das heißt um das Vorhandensein oder Kombinationen von Elementarfunktionen von Interesse anzuregen. Zum Beispiel kann das System eine wissensbasierte Heuristik verwenden, um das Vorhandensein zweier aufeinander folgender FFTs auf einem Signal S zu bevorzugen, das heißt FFT.FFT(S), wobei sich ergibt, dass diese Umstände in Bezug auf interessante Ergebnisse förderlich sind.
    • ii) Als negative Beeinflussung, das heißt um im Gegensatz dazu Elementarfunktionskombinationen aufzufinden, von denen ausgegangen werden kann, dass sie ineffektiv oder technisch ungeeignet sind. Es wurde zum Beispiel herausgefunden, dass das Vorhandensein von drei aufeinander folgenden FFTs auf einem Signal S, das heißt FFT.FFT.FFT(S), im Allgemeinen keine interessanten Ergebnisse erzeugt. Die vom System entsprechend verwendete Heuristik wird somit eine entsprechend niedrigen Gewichtskoeffizienten einer FFT-Elementarfunktion im Zug für die Elementarfunktion zuordnen, wenn diese als Operand einer existierenden Kombination von FFT.FFT fungiert.
  • Bevor die neu gebildeten Kompositionsfunktionen mittels des CF-Ausführungsprogramms 27 verarbeitet werden, werden diese vorteilhafterweise zum Neubeschreiben oder Überschreiben mittels der Anwendung oder Verwendung von Überschreibregeln oder Neuschreibregeln übermittelt, die in der Datenbank 15 gespeichert sind. Das Neuschreiben oder Überschreiben beinhaltet ein Neugestalten der Kompositionsfunktionen von deren anfänglicher Form zu einer mathematisch äquivalenten Form, die es ermöglicht, dass diese effizienter ausgeführt werden. Dies wird gesteuert durch einen Satz oder eine Menge deterministischer Neuschreibregeln oder Überschreibregeln mit verschiedenen Komplexitätsniveaus, die auf jeder Kompositionsfunktion CFi der Population durch den Hauptprozessor 22 ausgeführt werden, deren Regeln in maschinenlesbarer Form vorliegen.
  • Einfache Neuschreibregeln oder Überschreibregeln (rewriting rules) eliminieren oder verhindern sich selbst auslöschende Terme (self-cancelling terms) in einer Kompositionsfunktion. Falls zum Beispiel die betrachtete Kompositionsfunktion die Terme HPF(S, Fa) + FFT(S) – FFT(S) enthält, sollten die Neuschreibregeln oder Überschreibregeln ein Aufräumen und Reduzieren dieses Ausdrucks zu HPF(S, Fa) bewirken.
  • Eine andere Kategorie von Neuschreibregeln oder Überschreibregeln eliminiert Elementarfunktionen, die im Hinblick auf ihre Umgebung redundant sind, das heißt, die keinen technischen Effekt oder keine technische Wirkung erzeugen. Falls zum Beispiel ein Ausdruck eine Bandpassfilterfunktion enthält mit einem Passierband zwischen den Frequenzen Fb und Fc, so würden diese Regeln jegliche nachfolgende Funktion in diesem Term eliminieren, welche Frequenzen außerhalb dieses Passierbandbereiches herausfiltern würde, das heißt Frequenzen, die nicht länger vorhanden sind.
  • Andere Neuschreibregeln oder Überschreibregeln führen Vereinfachungen eines weiter fortgeschritteneren Typs durch. Zum Beispiel können sie in systematischer Art und Weise den Ausdruck E(FFT(S)) durch ein Äquivalent ersetzen, zum Beispiel durch den einfacher berechenbaren Ausdruck E(S).
  • Die Implementation der Neuschreibregeln oder Überschreibregeln verwenden die Baumstruktur der betrachteten Kompositionsfunktion. Jeder Knoten oder jeder Bereich oder Abschnitt des Baums wird im Hinblick auf die Neuschreibregeln oder Überschreibregeln abgetastet. Wann immer eine Neuschreibregel oder Überschreibregel in Bezug auf einen Knoten oder in Bezug auf eine Abfolge von Knoten des Teils des Baums unter Analyse anwendbar ist, wird der Knoten oder die in Rede stehende Abfolge von Knoten neu geschrieben oder überschrieben, und zwar gemäß der jeweiligen Regel, und ersetzt durch einen neuen Baumabschnitt oder Knoten, welche mit der so neu geschriebenen oder überschriebenen Form – und somit einer vereinfachten Form – der Kompositionsfunktion entsprechen.
  • Jedes Mal wenn der Baum auf diese Weise modifiziert wird, wird erneut abgetastet oder abgerastert, zumal seine neue Form oder Struktur neue Möglichkeiten zum Anwenden der Neuschreibregeln oder Überschreibregeln bieten kann, die in der zuvor vorliegenden Form des Baums nicht erkannt werden konnten. Entsprechend ist das Abtasten oder Abrastern des Baums ein Vorgang, der in zyklischer Art und Weise wiederholt wird, bis keine weiteren Änderungen bei einem kompletten Abtasten oder Abrastern auftreten.
  • Um zu gewährleisten, dass kein Risiko in Bezug auf Endlosschleifen besteht, sind die Neuschreibregeln oder Überschreibregeln so ausgelegt, dass sie keine Änderung erzeugen, die ihrerseits wieder zu einer anderen Änderung Anlass bieten und umgekehrt ad infinitum. Wenn das System zum Beispiel gleichzeitig eine Regel enthielte, mit welcher A + B als B + A umzuschreiben wäre und andererseits eine andere Regel vorläge, gemäß welcher B + A als A + B umzuschreiben wäre, so würde dies tatsächlich zu einer unendlichen Anwendung der im Wesentlichen selben Regel führen, und zwar mit dem Ergebnis einer Selbsterzeugung und damit einer Endlosschleife.
  • Eine gegebene Anzahl n von Kompositionsfunktionen CF1 bis CFn wird auf diese Art und Weise erzeugt, um eine Anfangspopulation P zu erzeugen, wobei CFi (1 ≤ i ≤ n) jeweils gemäß einem Modus mit freier Form oder einer fixierten Struktur erzeugt werden, und zwar unter Anwendung der oben beschriebenen Regeln und Heuristiken.
  • 2. Zweite Phase: Auswerten einer Population von Kompositionsfunktionen und Auswählen der am besten angepassten, um eine nachfolgende Generation von Kompositionsfunktionen zu erzeugen.
  • Bei der zweiten Phase werden die Kompositionsfunktionen CF1–CFn nicht mehr als symbolische Objekte behandelt, sondern ihrer spezifischen funktionalen Definitionen, und zwar gemäß dem Kompositionsfunktionsausführprogramm 27.
  • Dies bedeutet insbesondere, dass die Kompositionsfunktion CFi durch das System 2 als Berechnungsroutine unter Verwendung der ”Matlab”-Sprache behandelt wird, wodurch diese dazu gebracht wird, auf den Musikdateidatensignalen Sj (1 ≤ j ≤ m) zu operieren, die in der Lerndatenbank 10 gespeichert sind, um einen Ausgabewert Dij = CFi*(Sj) zu erzeugen. Das in Rede stehende Signal Sj korrespondiert mit der digitalisierten Form einer Amplitude (Signalpegel), welche sich mit der Zeit t entwickelt, wobei das Zeitframe für t bei einem Musiktitel typischerweise in der Größenordnung von 200 Sekunden liegt.
  • Jede der n Kompositionsfunktionen CF1–CFn wird dazu gebracht, auf diese Art und Weise auf jedem m Titel zu operieren, die in der Lerndatenbank 10 gespeichert sind, wodurch eine Gesamtheit von n. m Ausgabewerten Dij (für i = 1 bis n und für j = 1 bis m) gemäß einer Matrix für die Population P erzeugt werden. Diese Kombination von Berechnungsereignissen wird im Zusammenhang mit 8 symbolisch illustriert.
  • Wie in 8 dargestellt ist, werden die n. m Ausgabewerte in die Matrix MAT(P) abgebildet, welche in einem Arbeitsspeicher des Hauptprozessors 22 gespeichert wird. Auf diese Werte wird in einer nachfolgenden Stufe des Auswertens der Gesamtanpassung jeder der n Kompositionsfunktionen CF1–CFn zugegriffen, und zwar mit dem Deskriptor De, für welchen begründeten Wahrheiten Dgt1–Dgtm erzeugt wurden. Dieses Bestimmen der Korrelation wird durch Standardtechniken der statistischen Analyse ausgeführt. In dem beschriebenen Beispiel wird jeder m. n Ausgabewerte der Matrix MAT(P) mit einem jeweiligen Deskriptorwert Dgt einer korrespondierenden begründeten Wahrheit verglichen. Dies bedeutet insbesondere, dass die m. n Werte Dij analysiert werden im Hinblick auf ihre jeweiligen korrespondierenden Deskriptorwerte Dgt1–Dgtm der begründeten Wahrheiten.
  • Für eine gegebene Kompositionsfunktion CFi beinhaltet die Analyse hier ein Vergleichen des Wertes Dij, welchen die Funktion auf einem Audiodateisignal Sj erzeugt, mit dem Wert Dgtj der begründeten Wahrheit für diese Audiodatei, um einen korrespondierenden Anpassungswert oder Fitnesswert (fitness value) zu erhalten. Dieser Wert kann eine Zahl sein, welche den Grad der Affinität beschreibt, oder aber ein Hit/Miss-Ergebnis im Fall eines Booleschen Typs oder eines katalogisierenden Deskriptors. Der Vergleich wird für jede der Audiodateien durchgeführt, sodass sich m Vergleichsergebnisse oder Vergleichswerte einstellen. Die m Vergleichswerte für diese Funktion CFi werden an eine statische Analyse übergeben, um eine globale Anpassung oder einen globalen Anpassungswert (global fit value, global fitness value) FIT(afi) in Bezug auf den Deskriptor De zu erhalten. Der globale Anpassungswert FIT(afi) drückt objektiv aus, wie gut die von der Funktion CFi erzeugten Werte ins gesamt mit den Deskriptoren Dgt1–Dgtm der begründeten Wahrheit korrelieren oder zu diesem passen.
  • Die in Rede stehende globale Anpassung oder globale Fitness wird in Form eines Ausdrucks ausgewertet, der geeignet ist für den Deskriptor, zum Beispiel im Hinblick auf die numerische Genauigkeit oder Dichte (numerical closeness) für einen numerischen Deskriptor, Boolesche Korrespondenz für einen Booleschen Deskriptor usw. Dies kann einem Schritt des Verarbeitens der Rohausgabedaten oder der Rohausgabe notwendig machen, die von einem Operieren der Kompositionsfunktion direkt auf dem Datensignal resultiert, um diese Ausgabe zu einem kompatiblen Wert Dij zu machen. Dies bedeutet zum Beispiel Folgendes:
    • – Falls ein Boolescher Deskriptor gehandhabt werden muss, muss jede Rohausgabe – falls sie nicht direkt in Boolescher Form vorliegt – anfangs in einen Binärausdruck umgewandelt werden und es muss bestimmt werden, ob zum Beispiel seine Position in Bezug auf einen Entscheidungsschwellwert, welcher wahr/falsch (oder Ja/Nein) für den Deskriptor unterscheidet, in einem numerischen Bereich möglicher Werte vorliegt. Dieser Binärwert 0 oder 1 wird dann im Sinne eines jeweiligen Booleschen Werts (wahr/falsch) interpretiert.
    • – Fall ein Deskriptor vom Typ einer Marke oder eines Labels aus einer Menge oder einem Satz von Marken oder Labels in einem Katalog gehandhabt wird, zum Beispiel für ein musikalische Genre, so ist anfänglich eine Korrespondenztabelle zu präparieren, nämlich zum Aufbauen einer Korrespondenz zwischen Unterbereichen des Bereichs der Rohausgabewerte und des jeweils katalogisierten Genres, und zwar für diese jeweiligen Unterbereiche. Der Wert der Rohausgabe wird dadurch in das Genre des Unterbereichs konvertiert, in welches der Wert fällt.
    • – Falls der Deskriptor einen bestimmten Wertebereich annimmt (zum Beispiel Gleitkommazahlen im Bereich von 1 bis 10), und falls die Rohausgabe der Kompositionsfunktion einen anderen Bereich einnimmt, so wird letztere renormalisiert oder renormiert, und zwar in Bezug auf einen bestimmten Bereich des Deskriptors.
  • Das Verarbeiten der Rohausgaben der Kompositionsfunktionen für die Adaption an den Deskriptor kann durch einen geeigneten Satz oder eine geeignete Menge an Heuristiken und/oder Regeln implementiert werden. Zum Beispiel kann in dem Fall des Fixierens eines Entscheidungsschwellwerts (numerisch), welcher zwei Boolesche Werte einschränkt oder abgrenzt, die globale Auswertephase mit aufeinander folgenden unterschiedlichen Entscheidungsschwellwerten wiederholt werden. Die Ergebnisse werden dann analysiert, um zu ermitteln, welcher Entscheidungsschwellwert die korrektesten und am schärfsten unterschiedenen Deskriptoren liefert.
  • Bei einer Abwandlung werden die Rohausgaben der Kompositionsfunktionen in der Auswertephase nicht an die Form des Ausdrucks des Deskriptors der begründeten Wahrheit angepasst, gegen welchen sie im Hinblick auf die Anpassung oder Fitness ausgewertet werden oder wurden. Stattdessen wird eine Korrelationsfunktion – oder Autokorrelationsfunktion – verwendet, um einen Grad der Übereinstimmung zwischen der Rohausgabe einer ausgewerteten Kompositionsfunktion und des Deskriptors für die begründete Wahrheit zu erhalten, der in einer anderen Form ausgedrückt werden kann. Falls der Deskriptor intrinsisch eine nicht numerische Struktur besitzt, zum Beispiel im Fall einer Booleschen Struktur oder eines Labels oder einer Marke, kann die begründete Wahrheit dieses Deskriptors anfänglich in ein arithmetisches Objekt (Zahl oder Ziffer) gewandelt werden, um ein Operieren der Korrelationsfunktion oder Autokorrelationsfunktion zu ermöglichen. Zum Beispiel kann ein Boolescher Wert Ja/Nein in 1/0 gewandelt werden. Die Korrelation/Autokorrelation wird dann den gewandelten numerischen Wert oder die Ziffer für die begründete Wahrheit mit dem tatsächlichen Rohausgabewert (typischerweise eine Dezimalzahl) vergleichen. Derartige Korrelations- oder Autokorrelationstechniken sind bekannt und werden hier nicht im Detail beschrieben.
  • Die oben beschriebenen Vergleiche und statistischen Analysen werden für jede der n Kompositionsfunktion CF1–CFn und die jeweiligen Anpassungswerte oder Fitnesswerte FIT(af1)–FIT(afn) gespeichert.
  • Dann werden eine neue Population P1 oder r Kompositionsfunktionen erzeugt, und zwar indem diejenigen n Kompositionsfunktionen CF1–CFn als ihre Elemente oder Mitglieder genommen werden, die die r besten Gesamtanpassungswerte (r < n) ergeben.
  • Die Grundvergleiche und die Grundanalyse beim Durchführen der oben beschriebenen Prozedur wird durch den unten beschriebenen Algorithmus wiedergegeben:
    For CF1: comp. D11 with Dgt1; D12 with Dgt2; D13 with Dgt3; ...; D1m with Dgtm ⇒ STATISTICAL ANALYSIS ⇒ Anpassen von CF1 in Bezug auf Deskriptor De = FI-Taf1(De);
    For CF2: comp. D21 with Dgt1; D22 with Dgt2; D23 with Dgt3; ...; D2m with Dgtm ⇒ STATISTICAL ANALYSIS ⇒ Anpassen von CF2 in Bezug auf Deskriptor De = FI-Taf2(De);
    For CF3: comp. D31 with Dgt1; D32 with Dgt2; D33 with Dgt3; ...; D3m with Dgtm ⇒ STATISTICAL ANALYSIS ⇒ Anpassen von CF3 in Bezug auf Deskriptor De = FI-Taf3(De);
    ...
    For CFn: comp. Dn1 with Dgt1; Dn2 with Dgt2; Dn3 with Dgt3; ...; Dnm with Dgtm ⇒ STATISTICAL ANALYSIS ⇒ Anpassen von CF3 in Bezug auf Deskriptor De = FI-Tafn(De).
    ⇒ Neue Population P1 = Satz/Menge von r Kompositionsfunktionen CF(1)1 bis CF1(r) (die Zahl unmittelbar nach ”P” und die Klammern nach CF bezeichnen den Rang des Absteigens von der Anfangspopulation), welche die r besten Anpassungen FITaf(De) ergeben.
  • 3. Dritte Phase: Erzeugen einer neuen Nachfolgegeneration von Kompositionsfunktionen auf der Grundlage der aktuellen Population aus der zweiten Phase.
  • Die r Kompositionsfunktionen CF(1)1 bis CF(1)r der neuen Population P1 – welche nunmehr die aktuelle Population ist – werden dann in ihrer symbolischen Objektform gemäß der oben beschriebenen Baumstruktur verarbeitet. Zielsetzung ist dabei das Erzeugen einer Population P2 von Kompositionsfunktionen einer nächsten Generator aus dieser Population P1. Vorteilhafterweise erreicht das System 2 dieses durch Verwenden genetischer Programmiertechniken. Diese Programmiertechniken modellieren Aspekte der biologischen Prozesse von Regeneration und Reproduktion, die natürlicherweise auf der Ebenechromosomen auftreten, zum Beispiel in Form von Kreuzungen oder Mutationen. In diesem Fall ist das Analogon zu Chromosom eine Elementarfunktion EF in ihrer symbolischen Repräsentation oder Darstellung.
  • Das genetische Programmieren als solches ist gut dokumentiert, beschränkt sich jedoch bisher auf die Gebiete fernab der elektronischen Signalverarbeitung. Es ist jedoch dabei bemerkenswert, dass es implementiert werden kann, in dem in Rede stehenden technischen Gebiet, und zwar mit großem Vorteil, und zwar gemäß dem vorliegenden Zugang, bei welchem die in Rede stehenden Kompositionsfunktionen, der primäre Zielsetzung darin besteht, auf ein elektronisches Signal einzuwirken, dazu gebracht werden, in geeigneter Art und Weise eingesetzt zu werden, und zwar in Bezug auf die kritischen Phasen ihrer Ausarbeitung oder Darstellung als symbolische Objekte. Diese ”Objekt”-Form, welche in vorteilhafter Art und Weise die oben beschriebene Baumstruktur nutzt, wird dadurch der genetischen Programmierung unter Verwendung von Standardkenntnissen der angewandten genetischen Programmierung zugänglich. Entsprechend sind Detailaspekte unter Verwendung normaler Kenntnisse genetischer Programmiersprachen und deren Praxis dem Durchschnittsfachmann zugänglich, daher werden Details im Zusammenhang mit der vorliegenden Beschreibung der Einfachheit halber nicht erwähnt.
  • Das Prinzip der Anwendung genetischer Programmierung auf die vorliegenden Signalverarbeitungsfunktionen CF wird im Zusammenhang mit zwei interessanten Aspekten erläutert: Kreuzung und Mutation. Jeder dieser Aspekte wird implementiert mittels adaptierter oder angepasster und spezifischer Regeln und Heuristiken, die in der Heuristikendatenbank 14 und der Regeldatenbank 15 gespeichert sind. Unter diesen Regeln und Heuristiken, die im Zusammenhang mit der genetischen Programmierung verwendet werden, liegen auch formale und Randbedingungsregeln vor sowie wissensbasierte Heuristiken, die oben erläutert wurden (siehe auch Abschnitt 1.3) und die an die hier gegebenen Umstände angepasst werden. Entsprechend sind die Inhalte des Abschnitts 1.3 mutatis mutandis anwendbar, wo dies für diese dritte Phase geeignet erscheint. Insgesamt gewährleisten die angewandten Regeln und Heuristiken, dass die Kompositionsfunktion, die aus den Operationen der genetischen Programmierung resultieren, formal akzeptabel sind, die Möglichkeit besitzen, eine Verbesserung (hinsichtlich der Anpassung oder Fitness) im Vergleich zu den Funktionen besitzen, aus denen sie entwickelt wurden, und verbleiben innerhalb des Rahmens des Betriebs des Systems.
  • 3.1. Kreuzung. Einfach ausgedrückt, bedeutet Kreuzung das Verwenden zweier Kompositionsfunktionen, zum Beispiel CF(1)p und AP(1)q, (für die Population P1) und das Erzeugen einer neuen Funktion CF(1)pq aus diesen, welche ein Mischen der Funktionen CF(1)p und AP(1)q in einer Art und Weise enthält, die analog ist zum Kombinieren von zwei Chromosomen zu einem neuen Chromosom.
  • Ein Beispiel einer neuen Funktion CF(2)pq, die durch Kreuzung der Funktionen CF(1)p und CF(1)q erzeugt wird, ist in 9 unter Verwendung der Baumdarstellung veranschaulicht. (Die neue Funktion gehört potentiell zur nächsten Folgepopulation und wird – falls ausgewählt – dadurch mit einer Ziffer 2 in den Klammern nach ”CF” bezeichnet.) In dieser Darstellung werden die Elementarfunktionen in einer Form ep1–ep10 für die Kompositionsfunktion CF(1)p und eq1 bis eq10 für die Kompositionsfunktion CF(1)q abgekürzt.
  • Das Kreuzen oder die Kreuzung wird ausgeführt durch ein Kreuzungsgeneratormodul 33, welches einen Teil des Kompositionsfunktionskonstruktionsprogramms 25 und Speicher 24 bildet. Das Modul 33 empfängt oder nimmt auf die zwei Funktionen CF(1)p und CF(1)q als Eingabewerte und analysiert deren Baumstruktur unter Verwendung einer Menge oder eines Satzes gespeicherter Kreuzungsregeln und -heuristiken. Die Analyse bemüht sich, für jede Funktion einen geeigneten Unterbrechungspunkt (break point) entlang eines Zweiges (branch) zu finden. Der Unterbrechungspunkt unterteilt den in Rede stehenden Baum in einen Bereich der zu verwerfen ist und in einen Bereich, der erhalten bleibt oder wird. In dem Beispiel ist ersichtlich, das für die Kompositionsfunktion CF(1)p der Teil der Baumstruktur mit den Elementfunktionen ep7 bis ep10 erhalten bleibt und dass der Teil auf der anderen Seite des Unterbrechungspunkts mit den Elementarfunktionen ep1 bis ep6 verworfen wird. In entsprechender Art und Weise wird bei der Kompositionsfunktion CF(1)q der Teil der Baumstruktur mit den Elementarfunktionen eq1 bis eq6 erhalten, wogegen der andere Teil auf der anderen Seite des Unterbrechungspunkts mit den Elementarfunktionen eq7 bis eq10 verworfen wird. Die beiden erhaltnen Bereiche oder Abschnitte der jeweiligen Bäume werden miteinander an ihren jeweiligen Unterbrechungspunkten verbunden. Dies wird durchgeführt durch Anlagern der Knoten der jeweiligen erhaltenen Teile, die benachbart zu den Unterbrechungspunkten liegen, mittels eines geraden Verzweigungsstücks (straight branch). Folglich wird in dem dargestellten Beispiel der Knoten eq6 durch einen Zweig mit dem Knoten ep7 verbunden. Der sich ergebende Kreuzungsbaum korrespondiert mit der Kompositionsfunktion CF(2)pq und wird dann von den Elementarfunktionen eq1–eq6, ep7–ep10 gebildet.
  • Weitere komplexe Kreuzungsoperationen können aufweisen, das Extrahieren mindestens eines Abschnitts oder Bereichs eines Baums (nicht notwendigerweise einen Endabschnitt) und dessen Einfügen innerhalb eines anderen Baums, und zwar durch Erzeugen ein oder mehrerer Unterbrechungspunkte in letzterem, abhängig davon, wo der Abschnitt aufzunehmen ist.
  • Die Unterbrechungspunkte werden bestimmt in einem geführten – oder erzwungenen und vorbestimmten – Zufallszug, in welchem die Führung sich ergibt aus einem Satz oder einer Menge von Kreuzungsregeln und Heuristiken (vgl. Abschnitt 1.3).
  • Eine erste Regel ist vom formalen Typ und benötigt, dass zwei Knoten, die miteinander in Verbindung gebracht werden können, formal kompatibel sein müssen im Hinblick auf die Typen, wie dies im Zusammenhang mit den formalen Regeln oben beschrieben wurde. Dazu werden Kandidaten für Unterbrechungspunkte für den Zufallszug in gegenseitig indizierten Paaren betrachtet, von denen jedes Element eines Paars mit einem jeweiligen Baum assoziiert ist. Die entsprechenden Knoten, die zu verbinden sind, werden im Hinblick darauf identifiziert, welches Element der Paare jeweils mit dem Argument und der Operatorfunktion korrespondiert. Es werde nur diejenigen Paare von Unterbrechungspunkten als Kandidaten akzeptiert, welche die formalen Anforderungen erfüllen.
  • Wie im Beispiel beschrieben ist, sollen die in Rede stehenden Regeln somit gewährleisten, dass unabhängig von der sich aus dem Zufallszug ergebenden Kreuzung der Eingabetyp (ep7) der Elementarfunktion ep7 derselbe ist, wie der Ausgabetyp (eq6) der Elementarfunktion eq6.
  • Eine andere Regel ist vom Randbedingungstyp und macht es notwendig, dass der Unterbrechungspunkt vorzugsweise an einer zentralen Stelle des Baums ausgebildet ist, zum Beispiel unter Verwendung gewichteter Zufallszüge, und zwar um zu gewährleisten, dass die Größe der durch Kreuzung erzeugten Kompositionsfunktionen über wiederholte Generationen statistisch ähnlich sind.
  • Schließlich werden wissensbasierte Heuristiken an durch Kreuzung erzeugten Kompositionsfunktionen getestet. Die Operatoren in der neuen Kompositionsfunktion werden einer nach dem anderen, beginnend mit dem Unterbrechungspunkt, getestet. Dies wissensbasierten Heuristiken liefern eine Wahrscheinlichkeit für jeden neuen Operator, und zwar in Bezug darauf, welche der Kompositionsfunktionen in jedem Schritt akzeptiert oder verworfen wird.
  • 3.2. Mutation. Eine Mutation beinhaltet das Verwenden einer Kompositionsfunktion CF(1)s und das Ausbilden einer Variante CF(2)s davon. Die Variante kann erzeugt werden durch Modifizieren einer oder einer Mehrzahl von Parametern von CF(1)s und/oder durch Modifizieren der Struktur der Funktion, zum Beispiel durch Hinzufügen, Entfernen oder Ändern ein oder mehrerer ihrer Elementarfunktionen oder durch eine andere Modifikation.
  • Ein Beispiel für eine neue Kompositionsfunktion CF'(1)s, die durch Mutation einer Funktion CF(1)s erzeugt wird, ist in 10 dargestellt. Bei dieser Darstellung besitzt die anfängliche Kompositionsfunktion CF(1)s eine Baumstruktur, die gemäß der Darstellung gebildet wird von Elementarfunktionen es1 bis es7.
  • Diese Funktion wird einem Mutationsgeneratormodul 34 zugeführt, welches einen Teil des Programms 25 für die Konstruktion der Kompositionsfunktionen bildet. Das Mutationsgeneratormodul 34 erzeugt auf dieser Funktion ein oder mehrere Mutationen auf der Grundlage einer geführten – oder erzwungenen – Zufallsbasis.
  • Wie in dem Beispiel dargestellt ist, ergibt es sich, dass die ausgegebene mutierte Funktion CF'(1)s sich unterscheidet von der eingegebenen Funktion CF(1): i) auf der Ebene oder dem Niveau der Elementarfunktion es6, welche einen Tiefpassfilteroperator bildet, dessen Parameter P'(es6) nun eine Cut-Off-Frequenz von 450 Hz anstelle von 600 Hz bei der Originalform P (es6) spezifiziert, und ii) auf der Ebene einer Elementarfunktion es1, welche einfach gelöscht wird.
  • Der Mutationsvorgang wird durch Mutationsregeln und Heuristiken gesteuert, die formale Regeln enthalten, die in ähnlicher Weise gewährleisten, dass jegliche geänderte Funktion formal korrekt verbleibt, sowie durch Randbedingungsregeln, welche die Natur und die Anzahl der erlaubten Mutationen und so weiter steuern (vgl. Abschnitt 1.3.).
  • Das System kann andere genetische Programmieroperationen implementieren. Zum Beispiel kann ein Vorgang des Klonens vorgesehen werden, welcher beinhaltet, dass eine Kompositionsfunktion CF(1)t genommen wird und dass daraus eine Variante CF'(2)t davon gebildet wird. Die Variante besitzt dieselbe funktionale Struktur wie die Originalfunktion CF(1)s. Es sind nur die Werte der fixen Parameter oder fixierten Parameter modifiziert. Falls zum Beispiel die Kompositionsfunktion einen Tiefpassfilter mit einem festen Cut-Off-Frequenzwert von 500 Hz besitzt, würde ein Klon dieselbe Kompositionsfunktion bilden, jedoch mit einem abweichenden Cut-Off-Frequenzwert zum Beispiel mit 400 Hz. Ein Klonierungsparameter kann das Ausmaß der Variationen der Werte (zum Beispiel ±10%) steuern. Zu bemerken ist, dass das Klonen oder Klonieren einen speziellen – und eingeschränkten – Fall der Mutation in dem oben beschriebenen Sinne darstellt.
  • Zusätzlich zu diesen Operationen fügt die genetische Programmierprozedur vorzugsweise in die aktuelle Population auch einen Anteil vollständig neuer Positions funktionen ein, die für die Kompositionsfunktionen der Anfangspopulation erzeugt werden oder wurden. Dies ist ein Beitrag zum Einführen eines gewissen Anteils an frischem Material (”Gene”) in die Folgepopulationen. Dieses Vorgehen schafft auch eine Möglichkeit, den Pegel oder das Niveau der Population zu erhalten.
  • Die Technik zum Erzeugen dieser vollständig neuen Kompositionsfunktionen ist dieselbe wie sie im Zusammenhang oben mit der ersten Phase beschrieben wurde. Dies wird hier im Detail der Kürze halber nicht weiter beschrieben. Es ist zu bemerken, dass die Randbedingungen schaffenden Kommandos und Möglichkeiten so ebenfalls in dieser dritten Phase des Erzeugens einer Folgegeneration implementiert sind.
  • Es ist ferner möglich, durch die Verwendung der folgenden Schritte eine Beschränkung oder Nebenbedingung auf der Ebene oder dem Niveau der Schritte des genetischen Programmierens als solchen zu implementieren:
    • 1) Konstruieren von Kompositionen durch eine ausgewählte genetische Programmiertechnik (Kreuzung, Mutation, Klonen, usw.), und zwar anfänglich ohne Anwendung von Nebenbedingungen an die Struktur oder das Muster.
  • Für jede gemäß dem Schritt 1) erzeugte Kompositionsfunktion
    • 2) Testen, ob die Kompositionsfunktion den Mustern und Strukturen folgt, die durch die beschränkenden oder einschränkenden Kommandos aufgeprägt werden,
    • 2.1 falls die Kompositionsfunktion den Mustern oder Strukturen folgt, Beibehalten der Funktion in der aktuellen Population,
    • 2.2 falls die Kompositionsfunktion den Mustern oder Strukturen nicht folgt. Verwerfen dieser Funktion, Konstruieren einer neuen Kompositionsfunktion mittels der ausgewählten genetischen Programmiertechnik und Rückkehr zum Schritt 2).
  • Andere Äquivalente oder komplexere Zugänge können verfolgt werden.
  • Die genetische Programmierprozedur weist die oben beschriebenen Kreuzungsoperationen und Mutationsoperationen auf (und möglicherweise andere Operationen, wie sie oben im Zusammenhang dargelegt wurden) und werden auf die Population P1 von Funktionen über eine gegebene Zeitspanne oder eine gegebene Anzahl von Zyklen angewandt. Wenn diese Prozedur für die Population abgeschlossen ist, resultiert daraus eine neue Population P2 von Kompositionsfunktionen, welche die genetischen Nachkommen oder Abkömmlinge derjenigen aus der Population P1 sind.
  • Die Anzahl der Kompositionsfunktionen CF(2), welche die Population P2 bilden, wird so gewählt, dass sie dieselbe ist wie für die Population P (oder in ähnlicher Weise), um eine Auswahl der r am besten angepassten Funktionen dieser Population aufzunehmen, um eine eigene nachfolgende Population oder Folgepopulation P3 von Funktionen zu bilden. Um die Populationsgröße konstant zu halten, sind die kumulierten Anteile oder Verhältnisse von Kompositionsfunktionen, die zufällig (R%), durch Mutation (M%), durch Kreuzung (CO%) bzw. durch Klonen (C%) erzeugt wurden, derart, das R + M + CO + C = 100% gilt. Diese Betrachtung wird auch auf alle nachfolgenden Generationen derart angewandt, dass deren Populationen im Verlauf des Eliminierens der am schlechtesten angepassten Funktionen nicht schwinden. Folglich macht die Erzeugung einer neuen Population typischerweise eine Wiederholung eines Vorgangs des zufälligen Erzeugens notwendig (welcher oben beschrieben wurde im Hinblick auf die erste Phase des zufälligen Erzeugens einer Anfangspopulation P), und zwar gleichzeitig mit anderen Aspekten im Hinblick auf das Auffüllen der Population, vorausgesetzt, die Kreuzungsoperation dazu tendieren, die Population zu reduzieren (falls C < CO).
  • Die neue Population P2 wird dann an die Regeln zum Überschreiben oder Neuschreiben übertragen, wie das oben im Zusammenhang mit der ersten Phase beschrieben wurde (die Regeln und Heustriken, die oben aufgelistet wurden, wurden bereits explizit oder implizit im Verlauf der Operationen der genetischen Programmierung (Kreuzung und Mutation) auf die Population P2 angewandt).
  • Das System schaltet dann in die zweite Phase zurück, um die Kompositionsfunktionen der neuen Population P2 auszuwerten und um die r am besten angepassten Funktionen P2(1)–P2(r) der Population auszuwählen.
  • Entsprechend wird die Korrelation oder Anpassung (Fitness) jeder Kompositionsfunktion CF(2) der neuen Population im Vergleich oder gegen die Deskriptorwerte Dgt1 bis Dgtm der begründeten Wahrheit für den Deskriptor De ermittelt. Dabei ist die Prozedur hier dieselbe wie für den Vorgang des Erhaltens der Population P1. Der oben beschriebene Algorithmus ist also mutatis mutandis durch Ersetzen von P durch P1 und von P1 durch P2 anwendbar.
  • Das Ergebnis liefert einen neuen Satz oder eine neue Menge von r besten Kompositionsfunktionen CF(2)1 bis CF(2)r für den Deskriptor De, welche die neue Population P2 bilden.
  • Die oben beschriebene Prozedur kann iterativ für eine gegebene Anzahl von Zyklen des Alternierens zwischen den zweiten und dritten Phasen ausgeführt werden, wobei jeder Zyklus eine neue Population Pu aus der vorangehenden Population Pu-1 durch genetisches Programmieren und ein Auswählen der besten Kompositionsfunktion für die Population Pu ausgeführt werden.
  • Nach einer gegebenen Anzahl von Zyklen oder einer gegebenen Ausführungszeitspanne gemäß einem ausgewählten Kriterium erzeugt das System 2 als seine Benutzerausgabedaten eine Deskriptorextraktionsfunktion 4 (DE) (vgl. 1). Letztere ist das Element der Population Pf von Kompositionsfunktionen CF(f) der letzten Generation, von der feststeht, dass sie die beste Anpassung für den Deskriptor De besitzt. Die Benutzerausgabe kann mehr als ein Element dieser Population erzeugen, zum Beispiel die b am besten angepassten Funktionen CF(f), wobei b eine beliebige ganze Zahl ist, oder diejenigen Kompositionsfunktionen, die eine Anpassung zeigen, die besser ist als ein gegebener Schwellwert.
  • Ein Kriterium zum Beenden einer Rückverzweigung zum Erzeugen einer neuen Population von Funktion ist beliebig. Ein Abbruchkriterium kann zum Beispiel eins oder eine Kombination von folgenden Kriterien sein: i) Ausführungszeitspanne, ii) die Qualität von Ergebnissen gemäß der Anpassung oder Fitness der Funktionen, iii) die Anzahl von Generationen von Funktionen (von ausgeführten Schleifen), und so weiter.
  • Bevor eine Kompositionsfunktion schlussendlich als DE-Funktion für eine zukünftige Verwendung ausgegeben wird, kann vorzugsweise eine Validierung stattfinden im Vergleich zu oder gegen Signalen an derer Musiktitel, die einer Validierungsdatenbank 18 entnommen werden. Da diese Signale nicht verwendet wurden, um die Konstruktion der DE-Funktionen 4 zu beeinflussen, können diese Funktionen als neutrale Referenz fungieren, um die Wirkung zu überprüfen. Die Überprüfungsprozedur beinhaltet ein Bestimmen des Grads der Anpassung zwischen einem Deskriptorwert einerseits, der erhalten wurde durch Bewirken, dass die DE-Funktion auf einem Signal Sv der Validierungsdatenbank wirkt, und andererseits auf der Grundlage der begründeten Wahrheit für den Deskriptorwert, assoziiert mit dem Musiktitel des Signals Sv. Ein globaler Korrelations- oder Validierungswert wird durch eine stati sche Analyse über eine gegebene Anzahl von Einträgen der Validierungsdatenbank 18 erzeugt. Falls der Validierungswert oberhalb eines akzeptablen Schwellwerts liegt, gilt die DE-Funktion 4 als validiert und kann in Folge verwendet werden. Im entgegen gesetzten Fall wird die DE-Funktion verworfen und es wird eine andere DE-Funktion in Betracht gezogen.
  • 4. Vierte Phase: Erzeugen einer finalisierten oder finalen allgemeinen Funktion zum Extrahieren eines Deskriptors.
  • In Abhängigkeit von der Applikation oder Anwendung und des berücksichtigten Deskriptors DE können verschiedene Anpassungen vor der ausgewählten Positionsfunktion oder ausgewählten Gruppe von Kompositionsfunktionen direkt als eine Deskriptorextraktionsfunktion (DE) abgerufen werden.
  • Wie oben im Zusammenhang mit der Auswahlphase (zweiten Phase) beschrieben wurde, muss die Form des Ausdrucks des Deskriptors nicht mit derjenigen des Ausgabewerts der Kompositionsfunktion korrespondieren. Wenn dies der Fall ist, wird in Wandlungsmodul oder Konversionsmodul (CM) der ausgewählten Kompositionsfunktion/en (SCF) hinzugefügt. Die funktionale Notwendigkeit dieses Moduls kann wie folgt ausgedrückt werden:
    Formale Notwendigkeit: CM.(SCF_output type) ⇒ Form des Ausdrucks des Deskriptors,
  • Quantitative/qualitative Notwendigkeit: CM.(SCF output value). Sc = DVex, wobei ”(SCF_output type”) der Ausgabetyp der ausgewählten Kompositionsfunktion oder der Kombination von Kompositionsfunktionen ist (die von CM als Argument verwendet werden), Sx ist das Signal (zum Beispiel eine digitale Audiodatei) und DVex ist ein berechneter Wert des Deskriptors De.
  • CM kann somit als ein Operator aufgefasst werden, der auf dem SCF-Ausgabewert operiert.
  • Dies wird auch noch einmal auf der Grundlage des nachfolgenden Beispiels illustriert, bei welchem der Deskriptor vom Booleschen Typ ist und anzeigt, ob der Inhalt eines Signals Sx in einer Audiodatei ausschließlich instrumentell (TRUE) oder gesungen (FALSE) ist. (Die logische Bedingung, die angewandt wird auf die Aussage oder das Statement ”die Inhalte sind ausschließlich instrumental”).
  • Nach der dritten Phase, wird eine einzelne Kompositionsfunktion SCF ausgewählt: Sum(Autocorrelation(Signal)). Diese SCF besitzt einen Anpassungswert von 80%. Wenn diese auf das Audiosignal Sx angewandt wird, ergibt sich als ihr Rohausgabewert 0,67. CM wird dann eine Konvertierung dieser Zahl in den Booleschen Wert ”TRUE” durchführen, um (in korrekter Art und Weise) anzuzeigen, dass das Stück rein instrumental ist. Der TRUE/FALSE-Schwellwert würde dann eine Zahl (auf einer Seite oder der anderen von 0,67) sein, die auf der Grundlage einer Lerndatenbank bestimmt wurde.
  • Die korrespondierende DE-Funktion ist CM.SCF
  • CM wird normalerweise in der Form eines ausführbaren Codes oder einer algorithmischen Struktur vorliegen, die in effektiver Art und Weise eine geeignete Umwandlung oder Konversion durchführen, und zwar in der Art und Weise, die im Zusammenhang mit der zweiten Phase erläutert wurde – dabei sind unter anderem diejenigen Fälle zu betrachten, bei welchen ein Deskriptor die Form eines bestimmten Bereiches von Werten, eine Marke oder ein Label, oder einen Booleschen Wert und so weiter annimmt.
  • Wie auch in der zweiten Phase kann CM entsprechend vorgesehene oder installierte Heuristiken und Regeln enthalten, die die Ergebnisse optimieren. Unabhängig davon, ob CM implementiert ist oder nicht, kann eine Deskriptorextraktionsfunktion (DE) gebildet werden von: i) entweder einer einzelnen ausgewählten Kompositionsfunktion oder ii) einer Mehrzahl ausgewählter Kompositionsfunktionen.
    • Fall 1: DE-Funktion wird gebildet von einer einzelnen ausgewählten CF, bezeichnet als CSF(1).
  • Dies ist die einfachste Form, wobei folgendes gelten kann:
    DE = SCF(1), wobei kein Konversions- oder Wandlungsmodul notwendig ist oder
    DE = CM.SCF(1).
    • Fall 2: DE-Funktion wird gebildet von einer Mehrzahl N von SCFs.
  • Dabei werden die N ausgewählten Kompositionsfunktionen miteinander kombiniert, um eine einzelne Deskriptorextraktionsfunktion zu bilden. Dies wird in dem nach folgend beschriebenen einfachen Beispiel für N = 2 mit SCFs illustriert: i) Sum(Autocorrelation(Signal)), Fitness = 80% und ii) Max(HpFilter(Signal, 500 Hz)), Fitness = 78%.
  • In diesem Beispiel werden die zwei SCFs miteinander kombiniert, nachdem deren optimale Linearkombination ermittelt wurde (durch Auswählen geeigneter Gewichtungskoeffizienten). Falls nötig, wird ein CM mit dieser Kombination assoziiert, um eine geeignete Form zu erhalten.
  • Gemäß dem vorangehend beschriebenen Beispiel mit einem Deskriptor für ”ausschließlich instrumental/gesungen” würde die globale Deskriptorextraktionsfunktion zum Beispiel die Form annehmen: DE = 1,22* Sum(Autocorrelation(Signal)) – 12,3* Max(HpFilter(Signal, 500 Hz)), wobei 1,22 und 12,3 die Gewichtskoeffizienten bezeichnen.
  • Dies kann zum Beispiel bestimmt werden aus der Lerndatenbank, so dass, falls: 1,22* Sum(Autocorrelation(Signal)) – 12,3* Max(HpFilter(Signal, 500 Hz).Sx < 0,89 (0,89 ist dabei der Boolesche Entscheidungsschwellwert)⇒ der Wert der DE-Funktion ist TRUE (der Inhalt von Sx ist ausschließlich instrumental).
  • Implementation von Heuristiken
  • Nunmehr werden weitere Aspekte von Heuristiken beschrieben, die von dem System verwendet werden und die bemerkenswert sind für die Funktion zur Erzeugung (erste Phase des Erzeugens der Population P) und für die genetische Programmierung.
  • Eine Heuristik kann dargestellt oder repräsentiert werden als eine Funktion, welche als Argument (Operand) aufweist:
    • i) einen aktuellen Term: ein oder mehrere Funktionen oder einen Baumabschnitt, welche mit der vorliegenden Umgebung im Sinne Zusammensetzung mittels elementarer Funktionen EF korrespondieren – zum Beispiel Kombinationen von Elementarfunktionen die bereits während eines laufenden Prozesses der Konstruktion von Funktionen erzeugt wurden,
    • ii) einen potentiellen Term: in ähnlicher Weise ein oder mehrere Funktionen oder einen Baumabschnitt, für welche die Möglichkeit in einem aktuellen Term eingebunden werden durch die Heuristik in Betracht gezogen wird.
  • Die heuristische Funktion erzeugt aus dem oben beschriebenen Argument ein Ergebnis in Form eines Werts in einem bestimmten Bereich, zum Beispiel 0 bis 10, welcher die Eignung oder das Interesse am Konstruieren einer Funktion ausdrückt, bei welcher der potentielle Term verzweigt ist (gemäß der Baumdarstellung) und zwar zum aktuellen Term, zum Beispiel als dessen Argument.
  • Der Bereich der Gewichtskoeffizienten (die hier mit bis zu einer Dezimalen dargestellt sind) drückt die nachfolgenden Umstände aus:
    Gewichtskoeffizient
    0 potentieller Term, verboten aus Zufallszug
    1 von geringem Interesse
    ...
    5 von mäßigem Interesse
    9 äußerst interessant
    10 potentieller Term erzwungen (das heißt muss
  • Die heuristische Funktion/Funktionen können gemäß dem nachfolgenden Beispiel ins Spiel kommen: aktueller Term = LPF(500 Hz).FFT.S
    potentieller Term (der Argument (Operand) des aktuellen Terms werden wird) = FFT.DERIV.FFT.S
  • Eine Heuristik soll die Eignung des Erzeugens der Verzweigung bestimmen, bei welcher ”S” des aktuellen Terms zu ”FFT.DERIV.FFT.S” wird.
  • Bei dem oben beschriebenen Fall ist ein Beispiel für eine anwendbare heuristische Funktion diejenige, welche mit ”HEURISTIC 245” bezeichnet wird, welche auf der einen Seite die Anwesenheit von zwei FF'Ts (FFT.FFT.(...) bevorzugt und auf der anderen Seite die Anwesenheit von drei FFTs (FFT.FFT.FFT.(...) vermeidet. Dies ist in der Heuristikdatenbank 14 katalogisiert als:
  • HEURISTIC245:
    • – Aussage über die Zielsetzung: ”Interessant, FFT von FFT zu haben, jedoch nicht FFT von FFT von FFT”;
    • – Form: HEURISTIC245 (current, potential term);
    • – Beimessungsprozedur für den Gewichtskoeffizienten eines potentiellen Terms: falls Typ des aktuellen Terms FFT ist, AND falls aktueller Term keine Terme eines anderen Typs außer FFT enthält, AND falls Typ des potentiellen Terms FFT ist, AND falls der potentielle Term FFT enthält, THEN: Gewichtskoeffizient des potentiellen Terms = 0,1 {tatsächlich würde die vollständige Funktion dann drei FFTs aufweisen, und daher würde ein niedriger Gewichtskoeffizient dafür beigemessen werden} ELSE: Gewichtskoeffizient des potentiellen Terms = 8,0.
  • Die Prozeduren und Statements des oben beschriebenen Beispiels können auf andere Heuristiken der Datenbank 14 angepasst werden.
  • Eine andere heuristische Funktion, die mit HEURISTIC250 bezeichnet wird, hat folgende Struktur:
  • HEURISTIC250:
    • – Aussage über die Zielsetzung: ”Angabe einer Präferenz für die Filterung von Rohsignalen”.
    • – potentieller Term anwendbar: Filterklasse {LPF, HPF, BPF, ...}
    • – Form HEURISTIC250 (current term, filter class)
    • – Prozedur des Beimessens des Gewichtskoeffizienten des potentiellen Terms: falls der aktuelle Term FFT enthält, THEN: Gewichtskoeffizient potentieller Term = 0 {Filtern ist bedeutungslos, falls ein FFT zuvor ausgeführt wurde}, falls der aktuelle Term CORRELATION enthält, THEN: Gewichtskoeffizient potentieller Term = 3 {falls eine Korrelation zuvor ausgeführt wurde, ist eine Filterung von zweifelhaftem Nutzen, könnte jedoch einen interessanten Wert liefern}, ELSE: Gewichtskoeffizient potentieller Term = 7 {falls der aktuelle Term keine Signalmodifikationsoperationen, zum Beispiel FFT, CORRELATION enthält, ist es im Allgemeinen sinnvoll, das Signal zu filtern und nur einige der spektralen Komponenten beizubehalten}.
  • Andere Heuristiken können implementiert werden, um einen gegebenen Kontext oder eine Indikation für den Deskriptor De zu berücksichtigen, für welchen die Kompositionsfunktion konstruiert wird oder wurde. Dieser Umstand wird mit dem Begriff ”kontextsensitive Heuristiken” bezeichnet.
  • Als Beispiel einer kontextsensitiven Heuristik wird folgendes angeführt:
  • Kontextsensitive Heuristik CSHEURISTIC280
    • – Aussage über die Zielsetzung: ”das Behandeln von Problemen in Bezug auf eine Singstimme (Vorhandensein, Extraktion, ...), wodurch es nützlich ist, Frequenzen der menschlichen Stimme zu verwenden, zum Beispiel von 200 Hz bis 1500 Hz”;
    • – Kontext = Analyse der Stimme
    • – potentieller Term, auf welchen die gegebenen Umstände anwendbar sind: Filter(lowF, highF)
    • – aktueller Term, auf welchem die gegebenen Umstände anwendbar sind: jeglicher.
    • – Beimessungsprozedur für den Gewichtskoeffizienten des potentiellen Terms:
    • – falls lowF (des Signals) in der Nähe liegt von 200 Hz, ist der Gewichtskoeffizient des potentiellen Terms entsprechend hoch (zum Beispiel 9 für 200 Hz, 8 für 300 Hz, usw.);
    • – falls highF (des Signals) in der Nähe ist von 1500 Hz, ist der Gewichtsfaktor des potentiellen Terms entsprechend hoch (zum Beispiel 9 für 1500 Hz, 8 für 1400 Hz, usw.).
  • Eine weitere Klasse von Heuristiken, die bekannt ist als ”Referenzbasis sensitiver Heuristiken” berücksichtigt die globale Natur der Signale in der Lerndatenbank 10. Letztere wird ausgedrückt durch eine Größe, die als ”globaler Referenzindikator” bezeichnet wird. Diese Heuristiken haben daher zusätzlich diesen globalen Referenzindikator als ihren Parameter. Der letztere kann zum Beispiel einen Satz oder eine Menge von Deskriptoren bezeichnen, die von dieser Referenzdatenbank entnommen sind.
  • Dies ermöglicht ein Auswählen von Funktionen in Abhängigkeit von der Natur des Referenzsignals oder Bezugssignals.
  • Als Beispiel für eine Referenzbasis sensitiver Heuristik wird folgendes angeführt:
  • HEURISTIC465;
    • – Form HEURISTIC45 (current term, potential term, global reference indicator):
    • – Aussage über die Zielsetzung: ”Anzeigen, dass es insbesondere nützlich ist, FFTs zu verwenden, wenn die Referenzdatenbanksignale insgesamt ein komplexes Spektrum aufweisen”.
    • – Beimessungsvorgang für die Gewichtskoeffizienten des potentiellen Terms:
    • – falls der aktuelle Term keine Terme eines anderen Typs außer FFT enthält,
    • – AND falls der potentielle Term ein FFT ist,
    • – AND falls die Referenzdatenbanksignale (für ihren größten Teil) ein komplexes Spektrum aufweisen, mit spektralen Charakteristika SC1, SC2, ... THEN: Gewichtungskoeffizient potentieller Term = 9.
  • Caching-Technik.
  • Die iterativen Schleifen, die vom System 2 verwendet werden, benötigen einen erheblichen Anteil an der Verarbeitung, insbesondere für die Schritte des Extrahierens eines Werts Dij einer Kompositionsfunktion CFi für Signaldaten Sj. Um den Wirkungsgrad für diese Aufgabe zu maximieren, verwendet das System in vorteilhafter Weise einen Vorergebnis-Cache 16 als eine Quelle für zuvor berechnete Ergebnisse, wodurch vermieden wird, Berechnungen zu wiederholen, die zuvor durchgeführt wurden.
  • Die entsprechende Caching-Technik verwendet die Analyse einer Kompositionsfunktion die sich in Ausführung befindet, im Hinblick auf ihre Baumstruktur und verwendet daher sowohl die symbolische Darstellung oder Repräsentation, die Objektrepräsentation der Funktion und ihre Anwendung und Ausnutzung als einen Operator.
  • 11 ist ein Beispiel, welches illustriert, wie die Caching-Technik implementiert ist. Zu einem Zeitpunkt t1 ist es nötig, dass das System 2 den Ausdruck MAX*FFT*LPFILTER(F = 600 Hz)*(Si) (F = Cut-Off-Frequenz) berechnet, welche im Zweig Brp einer gegebenen Kompositionsfunktion CFu(Si) auftritt.
  • Unter der Annahme, dass der Vorergebnis-Cache 24 am Anfang leer ist, fährt der Hauptprozessor 22 schrittweise auf den aufeinander folgenden Elementarfunktionen fort. Also berechnet er LPF(S), F = 600 Hz im ersten Schritt i) und speichert das Ergebnis als R1, berechnet dann FFT*R1 im zweiten Schritt ii) und speichert das Ergebnis als R2 und berechnet schließlich MAX*R2, welches den Wert für den Term des Zweigs Br1 liefert.
  • Die oben beschriebenen Zwischen- und Endwerte R1, R2 und R3 werden an den Vorergebnis-Cache 24 zusammen mit einer Indikation des Teils des Zweigs Br1, welcher diese erzeugt, übertragen. Folglich zeichnet der Cache folgende Aspekte auf LPF(Si), F = 600 Hz = R1, FFT*LPFILTER(F = 600 Hz)*(Si) = R2, und MAX*FFT*LPFILTER(F = 600 Hz)*(Si) = R3, und zwar in einer Zweiwegekorrespondenztabelle (two-way correspondence table). Es ist zu bemerken, dass die Ergebnisse im Cache 24 für eine Operation auf einer spezifischen oder bestimmten Menge oder einem spezifischen oder bestimmten Satz Daten, die in den Signaldaten Si enthalten sind, gespeichert werden. Der in Rede stehende Satz oder die in Rede stehende Menge können mit einer vorbestimmten zeitlichen Abfolge einer assoziierten Audiodatei korrespondieren, zum Beispiel mit einem Sample-Ereignis.
  • Zu einer späteren Zeit t2 ist es nötig, dass der Hauptprozessor den Wert eines Zweigs Brq, welcher zu einer anderen Funktion CFv(S) gehört, berechnet. In dem Beispiel korrespondiert der Zweig Brq mit dem Term AVE*FFT*LPFILTER(F = 600 Hz)*(Si).
  • Der Cache 24 ist nicht länger leer, der Hauptprozessor 22 fährt fort, um zunächst zu bestimmen, ob mindestens eine Elementarfunktion dieses Zweigs bereits berechnet und im Cache 24 gespeichert wurde. Dazu wird eine Scanroutine oder Abtastroutine in Bezug auf Zweig Brq ausgeführt, nämlich durch Bestimmen, ob die erste zu berechnende Funktion, das heißt LPFILTER(F = 600 Hz)*(Si) im Cache 24 indiziert ist. Falls diese mit Ja beantwortet wird, wird bestimmt, ob die benötigten ersten und zweiten Elementarfunktionen zusammen, das heißt FFT*LPFILTER(F = 600 Hz)*(Si) im Cache indiziert sind. Falls dies wiederum bejaht wird, wird bestimmt, ob die benötigten ersten, zweiten und dritten Elementarfunktionen zusammen, da heißt AVE*FFT*LPFILTER(F = 600 Hz)*(Si) im Cache indiziert sind. Ist die Antwort darauf diesmal Nein, so erhält man daraus die Information, dass das nützlichste Ergebnis im Cache R2 = FFT*LPFILTER(F = 600 Hz)*(Si) ist. Entsprechend überschreibt der Hauptprozessor 22 die Inhalt des Zweigs Brj als AVE(R2) und berechnet diesen Wert. Das Ergebnis dieser Berechnung R4, indiziert zur Funktion AVE(R2), oder äquivalent zum Term AVE*FFT*LPFILTER(F = 600 Hz)*(Si) wird an dem Cache 24 gesandt, sodass es auf einer späteren Stufe nicht erneut berechnet werden muss.
  • Somit wird der Cache 24 auf diese Art und Weise mit neuen Ergebnissen angereichert, und zwar jedes Mal, wenn eine neue Funktion oder ein neuer Term aufgenommen und berechnet werden. Die Cache-Technik erweist sich verstärkt als nützlich, zumal die Cache-Inhalte hinsichtlich ihrer Menge und Größe anwachsen, und trägt maßgeblich zur Ausführungsgeschwindigkeit des Systems 2 bei.
  • In der Praxis bedeutet dies, dass die Anzahl von Einträgen im Vorergebnis-Cache 24 zu stark anwachsen kann, um für eine effiziente Nutzung des erlaubten Speicherraums und für eine Suche effizient zu sein. Folglich wird ein Überwachungsalgorithmus bereitgestellt, der regelmäßig die Nützlichkeit de Speicherns jedes Ergebnisses im Cache 24 gemäß einem vorbestimmten Kriterium überprüft und diejenigen Ergebnisse löscht, die als nicht nützlich eingestuft wurden. In dem Beispiel ist das Kriterium zum Halten eines Ergebnisses Ri im Cache 24 eine Funktion, welche folgendes berücksichtigt: i) die Berechnungszeit zum Erzeugen von Ri, ii) die Häufigkeit der Verwendung von Ri und iii) die Größe (in Bytes) von Ri. Die letzte Bedingung kann fortgelassen werden, falls der zur Verfügung stehende Speicherraum kein Problem ist oder falls dies separat mittels eines Computers gemanagt oder geregelt werden kann.
  • 12 ist ein Flussdiagramm, welches einige Schritte zusammenfasst, die durch das System gemäß 2 im Verlauf des Erzeugens einer Deskriptorextraktionsfunktion DE 4 ausgeführt werden, diese sind:
    • – Eingeben von Benutzereingabedaten zum Bilden der Lerndatenbank 10 und (optional) der Validierungsdatenbank 18 (Schritt S2), wodurch die Datenbank den Satz oder die Menge von Referenzsignalen S1–Sm im Zusammenhang mit deren globalen charakteristischen Werten Dgt1–Dgtm vorab beigemessen werden: dies korrespondiert mit einer anfänglichen Vorbereitungsphase.
    • – Erzeugen einer Anfangspopulation P von Funktionen CF1–CFn, von denen jede gebildet wird von mindestens einer Elementarfunktion (EF) unter Verwendung eines Modus mit freier Norm oder mit aufgeprägtem oder erzwungenem Muster oder mit erzwungener Struktur (Schritt S4): dies korrespondiert mit der ersten Phase.
    • – Für jede zusammengesetzte oder Kompositionsfunktion der Population Bestimmen der Korrelation zwischen einerseits dem berechneten Wert Dij für den Wert des Lerndatenbanksignals Sj und auf der anderen Seite den Wert Dgti für die begründete Wahrheit des Signals und Bestimmen der globalen Korrelation FIT(afi) der CFi (Schritt S6), und zwar unter Verwendung programmierter Einrichtungen oder Mittel, welche die Elementarfunktionen als ausführbare Operatoren handhaben.
    • – Auswählen der r CFs der Population, welche die besten Übereinstimmungen erzeugen, um eine neue Population von Funktionen zu bilden (Schritt S8): die Schritte S6 und S8 korrespondieren zur zweiten Phase.
    • – Anwenden genetischer Programmiertechniken auf die Population der r CFs (und Auffüllen der Anzahl der CFs unter Verwendung des Schritts S4), um eine neue Folgepopulation (Nachfahren, Abkömmlinge) von n CFs zu erzeugen (Schritt S10): dies korrespondiert mit der dritten Phase.
    • – Falls ein Endkriterium nicht erfüllt ist (Q1), Zurückkehren zum Schritt S6 (das heißt zur zweiten Phase), wobei die neue Population zur aktuellen Population wird (Schritt S12), und
    • – falls ein Endkriterium erfüllt ist, Ausgeben in mindestens einer Funktion der aktuellen neuen Population mit einer am höchsten bewerteten Anpassung oder Fitness als eine Deskriptorextraktionsfunktion DE (4) der Benutzerausgabe (Schritt S14).
  • Heuristiken und/oder Regeln können eingegeben, editiert und modifiziert werden, und zwar unter Verwendung einer Benutzerschnittstelleneinheit 26, zum Beispiel mittels einer manuellen Eingabe (Tastatur) oder durch Herunterladen, wodurch das System voll adaptiv und konfigurierbar wird.
  • Typischerweise erzeugt das System mehrere hundert Kompositionsfunktionen im Zeitraum von zwölf Stunden. Die Lerndatenbank weist vorzugsweise mehrere hundert Titel und vorzugsweise mehrere tausend Titel auf. Die Handhabung derart großer Datenbanken wird vereinfacht durch die Verwendung der oben beschriebenen Caching-Technik und Heuristiken. Paralleles Verarbeiten, wobei dieselbe Funktion im Hinblick auf verschiedene Titel gleichzeitig berechnet wird, und zwar unter der Verwendung jeweiliger Prozessoren im Netzwerk, kann ebenso ins Auge gefasst werden.
  • Die Größe der Kompositionsfunktionen liegt typischerweise im Bereich von etwa zehn Elementarfunktionen.
  • Das System ist insofern bemerkenswert, als dass es nicht notwendig ist, denjenigen Deskriptor De anzugeben, für welchen das System eine geeignete DE-Funktion auffinden muss. Dies bedeutet mit anderen Worten, dass alles notwendige für das System darin besteht, Beispiele bereitzustellen im Hinblick auf die Deskriptorwerte Dgti assoziiert mit den Musiktiteln Ti und deren Signaldaten Si. Dadurch wird das System 2 vollständig offen im Hinblick auf die Deskriptoren und darüber hinaus zugänglich dafür, geeignete DE-Funktionen für unterschiedliche Deskriptoren zu erzeugen, und zwar ohne die Notwendigkeit eines anfänglichen formalen Trainings oder Programmierens, welches für einen gegebenen Deskriptor spezifisch wäre.
  • Bei der beschriebenen Ausführungsform ist das System mit einem Netzwerk verbunden, zum Beispiel dem Internet oder einem LAN, nämlich um die Erfassung von Musiktiteln über ein Download-Center 36 zu erleichtern. Die Netzwerkanbindung ermöglicht auch das gemeinsame Nutzen und den Austausch von Elementarfunktionen, Kompositionsfunktionen, Heuristiken, Regeln, erzwungenen oder aufgeprägten Mustern oder Strukturen für die Kompositionsfunktionen und von DE-Funktionen, die als interessant klassifiziert wurden, und auch von Ergebnisdaten für den Vorergebnis-Cache 24, wodurch auch eine Parallelverarbeitung und so weiter ermöglicht werden. Auf diese Art und Weise kann eine interaktive Community von Forschern aufgebaut und unterstützt werden. Ferner ist es möglich, eine schnelle Verbreitung neuer Entwicklungen zu fördern.
  • Die Heuristiken und/oder Regeln können eingegeben/editiert, parametrisiert werden, und zwar mittels der Benutzerschnittstelle 26. Sie können darüber hinaus erzeugt/angepasst werden und zwar in interner Art und Weise durch das System, zum Beispiel durch Verarbeitungstechniken auf der Grundlage des Analysierens von Kompositionsfunktionen, welche eine beste Anpassung erzeugen und welche gemeinsame Merkmale als Regeln und/oder Heuristiken darstellen.
  • 12 zeigt ein Beispiel verschiedener Kompositionen oder Zusammensetzungen von DE-Funktionen im Sinne von Elementarfunktionen und deren Anpassung, die automatisch durch das System erzeugt wurde, um die Gesamtenergie der Musiktitel auszuwerten. Die Werte ihrer Anpassung oder Fitness erscheinen als von einem Doppelpunkt gefolgte Zahlen.
  • In ähnlicher Art und Weise zeigt 13 ein Beispiel unterschiedlicher DE-Funktionen und deren Anpassung, die automatisch durch das System zum Bewerten der Anwesenheit oder des Vorhandenseins einer Stimme im Musiktitel erzeugt wurde. In diesem Beispiel wird der durch jede Kompositionsfunktion gelieferte Dezimalwert durch Vergleichen mit einem Wahr/Falsch-Grenzschwellwert in einen Booleschen Wert umgewandelt.
  • Die durch das System implementierte Methoden und Daten können als ausführbarer Code dargestellt werden, welcher ein Softwareerzeugnis bildet, welches auf einem computerlesbaren Aufzeichnungsmedium aufgezeichnet sein kann, zum Beispiel einer CD-ROM oder welches als herunterladbare Quelle zur Verfügung steht, wobei der Code sämtliche oder einen Teil der beschriebenen Vorgänge und Operationen ausführen kann.
  • Aus den vorangehenden Beschreibungen ergibt sich, dass das zuvor beschriebene System in seinen Eigenschaften bemerkenswert ist, unter anderem aufgrund der folgenden Eigenschaften:
    • – Seine Generizität: Das System ist unabhängig von einem gegebenen Deskriptor und darüber hinaus in der Lage für beliebige Probleme einen Extraktor (DE-Funktion) zu erschließen.
    • – Seine Fähigkeit, in unterschiedlichen Modi zu arbeiten, zum Beispiel einem Zufallsmodus mit einem aufgeprägten oder erzwungenen Muster oder einer aufgeprägten oder erzwungenen Struktur, wodurch ein neuer Bereich zum Entdecken neuer Kompositionsfunktionen geöffnet wird, und darüber hinaus Zugriffstheorien und Formalisierungskonzepte und so weiter.
    • – Seine Heuristiken: Das System enthält viele dazugehörige Heuristiken, welche die Suche leiten oder führen können und welche den Suchraum reduzieren. Die Originalität besteht hierbei darin, dass das System Heuristiken codiert, die spezifisch sind für die Signalverarbeitung, und dass es einen Weg aufzeigt, die Anpassung oder die Fitness einer gegebenen Funktion auszuwerten, und zwar durch Testen auf der Grundlage einer realen Datenbank mit Musiktiteln.
    • – Caching, ein Vorgang, durch welchen der Arbeitsaufwand für den Hauptprozessor 22 reduziert wird und wodurch die Berechnung deutlich beschleunigt wird.
    • – Überschreiben oder Neuschreiben, wodurch eine Grundlage geschaffen wird zum Sicherstellen, dass Funktionen in ihrer rationellsten Struktur oder Form berechnet werden.
    • – Implementation: die Zielsetzung besteht darin, Funktionen zu berechnen, und zwar auf einer automatisierten oder semi-automatisierten Grundlage, im Gegensatz zur manuellen Berechnung. In diesem Zusammenhang kann die beschriebene Ausführungsform mit einem Expertensystem auf der Grundlage von Prozessen der künstlichen Intelligenz verbunden werden, wodurch die Rolle eines menschlichen Spezialisten auf dem Gebiet der Signalverarbeitung ersetzt wird. Das automatische Extrahieren von Deskriptoren aus einer digitalen Darstellung oder Repräsentation eines akustischen Signals gemäß der vorliegenden Erfindung ermöglicht eine hochskalierte Deskriptorerfassung (scale-up descriptor aquisition) und gewährleistet darüber hinaus, dass die erhaltenen Deskriptoren objektiv sind.
  • Bemerkenswerte Aspekte des vorliegenden automatisierten Systems 2 ergeben sich auch unter Berücksichtigung, wie eine Zielsetzung bei einem herkömmlichen, zum Beispiel manuellen Vorgehen erreicht werden würde. Der Startpunkt sind jeweils die Rohdatensignale, wie sie auch vom Spezialisten auf dem Gebiet der Signalverarbeitung betrachtet werden. Letzterer wird versuchen, verschiedene Verarbeitungsfunktionen gemäß einer empirischen Methodik auszuprobieren, und zwar in der Erwartung, dass einige der Regeln sich aus der Korrelation komplexer Signalcharakteristika im Zusammenhang mit dem jeweiligen Deskriptor ergeben. Dies bedeutet mit anderen Worten, dass der Zugang in seiner Natur extrem heuristisch ist. Er ist auch über weite Strecken durch Versuch und Irrtum gekennzeichnet.
  • Die Zielsetzung zum manuellen Auffinden einer Kombination von Signalverarbeitungsfunktionen mittels Signalverarbeitungsexperten ist aber zeitraubend und unterliegt auch vielen subjektiven Vorbedingungen, Fehlern und so weiter. In den meisten Fällen wäre es nahezu unmöglich, sämtliche Aspekte in einer tatsächlichen Anwendung zu berücksichtigen.
  • Systemanwendungen.
  • 1. Voll autonomes und automatisches Erzeugungssystem für eine Deskriptorextraktionsfunktion.
  • Im oben beschriebenen Beispiel ist das programmierte System 2 in der Lage, eine verwendbare DE-Funktion 4 zu erzeugen, und zwar ganz von vorne, nur unter Verwendung der Benutzerdateneingabe, wie dies im Zusammenhang mit der Bezugnahme auf 1 dargestellt wurde.
  • Die DE-Funktion nimmt typischerweise die Form eines ausführbaren Codes oder die Form von Instruktionen an, die von einem Menschen oder einer Maschine verstanden werden können. Der Inhalt der DE-Funktion erlaubt somit eine Verarbeitung auf einem Audiodatensignal in Bezug auf einen gegebenen Musiktitel, um dessen Deskriptor De zu extrahieren, wobei dieser Vorgang in Beziehung gesetzt wird mit der jeweiligen Funktion.
  • Der Vorgang des Extrahierens des Deskriptors De eines Musiktitels auf diese Art und Weise kann mittels einer Vorrichtung ausgeführt werden, die von einem Gesamtsystem separiert ist. Die in Rede stehende Vorrichtung kann als Eingabe die DE-Funktion (oder einen Satz oder eine Menge von DE-Funktionen) verwenden, die durch das System 2 erzeugt wurden, und Audiodateien, die die Signale enthalten, für welche ein Deskriptor zu erzeugen ist. Die dabei erzeugte Ausgabe ist dann der Deskriptorwert Dx für den Deskriptor De für das oder für jeden korrespondierenden Musiktitel Tx. Die DE-Funktion (oder der Satz oder die Menge von DE-Funktionen), die durch das System 2 erzeugt wird oder wurde, ist in jedem Fall aufzufassen als eigenes Erzeugnis oder Produkt und damit geeignet zur Distribution entweder über ein Netzwerk oder mittels eines Aufzeichnungsmediums (CD, Speicherkarte, und so weiter), auf welchen es gespeichert ist.
  • 2. Deskriptorextraktion
  • Es ist bemerkenswert, dass das System 2 schon sämtliche Hardware und Software beeinhaltet, welche nötig sind, um eine automatisierte Deskriptorerzeugungsvorrichtung wie sie im vorangehenden Abschnitt beschrieben wurde, bereitzustellen. In diesem Fall werden die DE-Funktionen, die als Benutzerdatenausgabe gemäß 1 dargestellt sind, dem System zurückgeführt (oder innerhalb des Systems gehalten und gespeichert). Das System kann geschaltet werden von einem Deskriptorextraktionsmodus, in welchem Audiosignaldaten korrespondierend zu einem Musiktitel Tx, welcher zu analysieren ist, zugeführt werden, und zwar als Eingabe, und bei welchem der entsprechende Musikdeskriptorwert von Tx für den Deskriptor De als Ausgabe bereitgestellt wird.
  • 3. Autorensystem zum Erzeugen von Deskriptorextraktionsfunktionen.
  • Bei einer Abwandlung wird das vorliegende System mehr als eine Art Autorenwerkzeug oder Autorensystem implementiert. Bei dieser Implementation ermöglicht das System, dass die DE-Funktionen durch externe Einflussnahme modifiziert werden können, im Allgemeinen durch einen menschlichen Bediener. Dabei ist es vernünftig, dass in einigen Fällen, während die automatisch erzeugten Funktionen nicht unbedingt optimal ausgebildet sind, diese nichts desto trotz höchst interessant sind, zum Beispiel als Grundlage für einen Optimierungsvorgang oder, zum Beispiel im Sinne eines Feintunings (”tweaking”). Der Vorteil liegt in diesem Fall darin, dass der Spezialist zunächst eine Deskriptorextraktionsfunktion zu seiner Verfügung hat, von der nachgewiesen ist, dass sie im Vergleich zu einer großen Anzahl anderer möglicher Funktionen besonders wirkungsvoll und effektiv ist, wodurch angezeigt wird, dass es eine Klangstruktur oder Soundstruktur verarbeitet, wobei des Weiteren nachgewiesen ist, dass diese einer schnellen und konsistenten Ausführung zugänglich ist. Es ist zu bemerken, dass die DE-Funktion, die vom System 2 ausgegeben wird, im Allgemeinen modifiziert werden kann durch Einflussnahme, und zwar auch in diesem Fall, entweder auf der Ebene der grundlegenden Elementarfunktion, aufgefasst als symbolisches Objekt, zum Beispiel durch Substitution, Entfernung oder Hinzufügen, oder auf dem Niveau oder der Ebene der internen Parametrisierung einer Elementarfunktion, zum Beispiel durch Ändern der Cut-Off-Frequenzwerte im Fall einer Elementarfunktion für einen Tiefpassfilter.
  • 4. Auswertewerkzeug für extern erzeugte Deskriptorextraktionsfunktionen.
  • Der Aspekt des Systems 2, der die Analyse und Auswertung von Kompositionsfunktionen betrifft, kann zur freien Verfügung in Bezug auf externe Quellen für Kandidaten-DE-Funktionen bereitgestellt werden, sodass Entwickler unterstützt werden, ihre eigenen Deskriptorextraktionsfunktionen auszuwerten. Die Auswertung kann verwendet werden, um eine objektive Prüfung der Fitness oder der Anpassung FIT einer derartigen Kandidatenfunktion in Bezug auf die Lerndatenbank 10 oder Validierungsdatenbank 18 durchzuführen.
  • 5. Funktionsberechnungswerkzeug für extern erzeugte DE-Funktionen.
  • In ähnlicher Art und Weise können die Funktionsberechnungsmöglichkeiten des Systems 2, die merklich erweitert und verstärkt sind durch die zuvor beschriebenen Regeln zum Neuschreiben oder Überschreiben und durch die Cache-Techniken, auch außen stehenden Nutzern zur Verfügung gestellt werden. Letztere können dann komplexe Signalverarbeitungsfunktionen eingeben (nicht notwendigerweise im Zusammenhang mit einer Deskriptorextraktion) und empfangen entsprechend einen berechneten Wert als Ausgabe.
  • Abdeckung der Erfindung
  • Während die Erfindung im Zusammenhang mit einem System beschrieben wurde, welches dazu ausgelegt ist, Audiodateisignaldaten zu Verarbeiten, um Deskriptorextraktionsfunktionen DE zu erzeugen, ergibt es sich, dass die hier vorgestellten Lehren der Erfindung auch anwendbar sind in vielen anderen Applikationen, wo es notwendig ist, Charakteristika eines elektronischen Datensignals (digital oder analog) auf einer unteren Ebene im Hinblick auf das Extrahieren von Informationen auf höherer Ebene im Zusammenhang mit dem Inhalt der Daten zu erzeugen. Zum Beispiel kann die Erfindung auch implementiert werden zum Erhalten von Deskriptorextraktionsfunktionen, die auf Video- oder Bildsignaldaten operieren, wobei die Deskriptoren in diesem Fall in der Lage sind, visuelle Inhalte zu beschreiben. Dies betrifft zum Beispiel das Anzeigen, ob sich eine Szene zur Nachtzeit oder zur Tageszeit abspielt, oder den Anteil an Action an Bewegung und so weiter. Andere Anwendungen auf dem Gebiet des automatischen Katalogisierens von Klängen, Szenen, Objekten, Tieren, Pflanzen und so weiter sind mittels so genannter High-Level-Deskriptoren denkbar.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Nicht-Patentliteratur
    • - Scheirer, Eric D., ”Tempo an Beat Analysis of Acoustic Musical Signals”, J. Acoust. Soc. Am. (JASA) 103:1 (Jan. 1998), S. 588–601 [0006]
    • - Aucouturier Jean-Julien, Pachet Francois, ”Music Similarity Measures: What's the Use?”, Proceedings of the 3rd International Symposium an Music Information Retrieval (ISMIR02), Paris – Frankreich, Oktober 2002 [0006]
    • - Pachet, F., Delerue, O., Gouyon, F., ”Extracting Rhythm from Audio Signals”, SONY Research Forum, Tokio, Dezember 2000 [0006]
    • - Berenzweig A. L., Ellis D. P. W., ”Locating Singig Voice Segments Within Music Signals”, IEEE Workshop on Applications of Signal Processing to Acoustics and Audio (WASPAA01), Mohonk NY, Oktober 2001 [0006]

Claims (36)

  1. Vorrichtung zum Erzeugen einer allgemeinen Extraktionsfunktion (4), welche auf einem Eingabesignal (Sx) operieren kann, um daraus einen Wert (DVex) einer globalen Charakteristik (De) zu extrahieren, welche ein Merkmal der Information (De) ausdrückt, die von dem Signal befördert wird, gekennzeichnet durch: – eine Einrichtung zum Erzeugen mindestens einer Kompositionsfunktion (CF1–CFn), wobei die Kompositionsfunktion erzeugt wird aus mindestens einer Bibliothek (12) von Elementarfunktionen (EF1, EF2, ...) durch Berücksichtigen (22, 25) der Elementarfunktionen als symbolische Objekte, – eine Einrichtung zum Operieren der Kompositionsfunktion auf mindestens einem Referenzsignal (S1–Sm) mit einem vorab zugewiesenen globalen charakteristischen Wert (Dgt1–Dgtm), welcher der Auswertung dient, und zwar durch Verarbeiten (22, 27) der Elementarfunktionen als ausführbare Operatoren, – eine Einrichtung zum Bestimmen der Übereinstimmung zwischen: i) dem Wert/der Werte (Dij), die durch die Kompositionsfunktion als ein Ergebnis des Operierens auf dem Referenzsignal extrahiert werden, und ii) dem vorab zugewiesenen globalen charakteristischen Wert (Dgt1–Dgtm) des Referenzsignals, und – eine Einrichtung zum Auswählen mindestens einer Kompositionsfunktion (CF) auf der Grundlage des Übereinstimmens, um die allgemeine Extraktionsfunktion (4) zu erzeugen.
  2. Vorrichtung nach Anspruch 1, welche aufweist eine Einrichtung zum Erzeugen einer Mehrzahl von Kompositionsfunktionen und welche aufweist eine Einrichtung zum Auswählen mindestens einer Form unter einer Mehrzahl von Kompositionsfunktionen, dessen Grad des Übereinstimmens bzw. der Anpassung ein vorgegebenes Kriterium erfüllt.
  3. Vorrichtung nach Anspruch 1 oder 2, welche aufweist eine Einrichtung zum Beschränken der Form der Kompositionsfunktion gemäß einem Muster oder einer Struktur von Elementarfunktionen, die mittels eines Beschränkungskommandos vorgegeben sind.
  4. Vorrichtung nach Anspruch 3, wobei der Beschränkungsschritt das Vorgeben mindestens eines Typs von Parametern für den Ausgabewert der Kompositionsfunktion aufweist.
  5. Vorrichtung nach Anspruch 3 oder 4, wobei die Beschränkungskommandos mindestens einen Ausdruck zum Bezeichnen einer unbekannten Elementarfunktion oder unbekannten Gruppe von Elementarfunktionen (EF) mit einer spezifischen Eigenschaft aufweisen, die aus einer Bibliothek (12) auszuwählen ist.
  6. Vorrichtung nach Anspruch 5, welche aufweist eine Einrichtung zum Implementierens mindestens eines beschränkten Kommandos: i) um einen Typ eines Arguments auf einer Elementarfunktion (EF) oder einer Gruppe von Elementarfunktionen vorzuschreiben und/oder ii) um einen Typ eines Parameters/von Parametern vorzuschreiben, die eine Elementarfunktion oder eine Gruppe von Elementarfunktionen als ihre Ausgabe erzeugen, wodurch das implementierte beschränkende Kommando verwendet wird, um ein Muster oder eine Struktur einer Kompositionsfunktion (CF) zu erzwingen.
  7. Vorrichtung nach einem der Ansprüche 3 bis 6, wobei das beschränkende Kommando/die beschränkenden Kommandos mindestens einen der folgenden Aspekte aufweisen: – ein Kommando zum Auswählen eines Beispiels einer Elementarfunktion (EF), welche einen vorbeschriebenen Typ eines Parameters/von Parametern als ihre Ausgabe erzeugt, und zwar als einen Teil der Kompositionsfunktion (CF), – ein Kommando zum Auswählen eines Beispiels einer unbestimmten Anzahl von Elementarfunktionen mit der Bedingung, dass jede Elementarfunktion, welche den ausgewählten Teil bildet, als eine Ausgabe denselben vorbeschriebenen des Parameters/der Parameter erzeugt, und zwar als ein Teil der Kompositionsfunktion, – ein Kommando zum Auswählen eines Beispiels einer unbestimmten Anzahl von Elementarfunktionen als Teil der Kompositionsfunktion, und zwar mit der Bedingung, dass der ausgewählte Teil als Ganzes eine Ausgabe eines vorbeschriebenen eines Parameters/von Parametern erzeugt, wobei der Ausgabetyp einer jeglichen intermediären Elementarfunktion nicht erzwungen ist.
  8. Vorrichtung nach einem der Ansprüche 3 bis 7, wobei das beschränkende Kommando oder ein beschränkendes Kommando einen numerischen Wert oder eine Operation in ein Argument zwingt, welches genommen wird von einer gewählten Elementarfunktion oder einer gewählten Gruppe von Elementarfunktionen.
  9. Vorrichtung nach Anspruch 8, wobei die Operation, die in das Argument gezwungen wird, selbst mindestens eine zu wählende unbekannte Elementarfunktion aufweist.
  10. Vorrichtung nach einem der Ansprüche 1 bis 9, wobei die Kompositionsfunktionen erzeugt werden in aufeinanderfolgenden Populationen (P, P1, P2), wobei jede neue Population von Kompositionsfunktionen ausgewählt wird aus früheren Populationsfunktionen gemäß einem vordefinierten Kriterium.
  11. Vorrichtung nach einem der Ansprüche 1 bis 10, welche aufweist eine Einrichtung zum : a) Erzeugen mindestens eines Referenzsignals (S1–Sm), für welche der vorbestimmte globale charakteristische Wert (Dgt1–Dgtm) vorab beigemessen ist oder wird, b) Erzeugen einer Population (P1) von Kompositionsfunktionen (CF1–CFr), von denen jede gebildet wird von mindestens einer Elementarfunktion (EF), c) Modifizieren der Kompositionsfunktionen der aktuellen Population durch Berücksichtigen (22, 25) von deren Elementarfunktionen als symbolische Objekte, d) Operieren der Kompositionsfunktionen der Population auf dem mindestens einen Referenzsignal durch Verwenden der Elementarfunktionen als ausführbare Operatoren, um einen berechneten Wert für jede Kompositionsfunktion der Population in Bezug auf das Referenzsignal zu erhalten, e) für mindestens einige Kompositionsfunktionen der Population Bestimmen des Grads an Übereinstimmung bzw. Anpassung zwischen ihrem berechneten Wert und dem zuvor bemessenen Wert (Dgti) für das Signal, aus welchem der Wert berechnet wurde, f) Auswählen von Kompositionsfunktionen der Population, welche die besten Übereinstimmungen bzw. Anpassungen erzeugen zum Ausbilden einer neuen Population (P2) von Funktionen, g) falls ein Endkriterium nicht erfüllt ist, Zurückkehren zum Schritt c), wobei die neue Population die aktuelle Population wird, h) falls ein Endkriterium erfüllt ist, Ausgeben mindestens einer Kompositionsfunktion der aktuellen neuen Population, um die allgemeine Funktion (4) zu bilden.
  12. Vorrichtung nach einem der Ansprüche 1 bis 11, welche aufweist eine Einrichtung zum Erzeugen der Kompositionsfunktionen durch zufällige Auswahlen, die geführt werden oder geleitet werden durch Regeln und/oder durch Heuristiken, welche allgemeine Bedingungen zum Steuern der Erzeugung von Kompositionsfunktionen definieren.
  13. Vorrichtung nach Anspruch 12, wobei die Regeln und/oder Heuristiken mindestens eine Regel aufweisen, welche – aus einem Zufallszug zum Auswählen einer Elementarfunktion, die zu assoziieren ist mit einem Teil einer aufzubauenden Kompositionsfunktion – eine Elementarfunktion verbietet, welche formal ungeeignet für diesen Teil wäre.
  14. Vorrichtung nach Anspruch 12 oder 13, wobei die Regeln und/oder Heuristiken mindestens eine Heuristik aufweisen, welche in einem Zufallszug zum Auswählen einer mit einem Teil einer aufzubauenden Kompositionsfunktion eine Elementarfunktion bevorzugt, von welcher angenommen wird, dass sie potentiell nützliche technische Effekte im Zusammenhang mit diesem Teil erzeugt, und/oder welche von dem Zufallszug eine Elementarfunktion, welche technische Effekte von geringem oder keinem Nutzen in Zusammenhang mit diesem Teil erzeugt, vermeidet.
  15. Vorrichtung nach einem der Ansprüche 12 bis 14, wobei die Regeln und/oder Heuristiken mindestens eine Heuristik aufweisen, welche gewährleistet, dass die Kompositionsfunktion (CF) eine Elementarfunktion (EF) aufweist, welche jeweils einen bedeutenden technischen Effekt in ihrem Kontext erzeugt.
  16. Vorrichtung nach einem der Ansprüche 12 bis 15, wobei die Regeln und/oder Heuristiken mindestens eine Heuristik aufweisen, welche eine Gesamtcharakteristik des Referenzsignals berücksichtigt.
  17. Vorrichtung nach einem der Ansprüche 10 bis 16, wobei eine neue Population (P1, P2, ...) von Funktionen unter der Verwendung genetischer Programmiertechniken erzeugt wird.
  18. Vorrichtung nach Anspruch 17, wobei die genetische Programmiertechnik mindestens einen der folgenden Aspekte aufweist: – Kreuzung, – Mutation, – Klonen.
  19. Vorrichtung nach Anspruch 18, wobei eine Kreuzungsoperation und/oder eine Mutationsoperation geleitet oder geführt wird von mindestens einer Heuristik nach einem der Ansprüche 12 bis 16.
  20. Vorrichtung nach einem der Ansprüche 17 bis 19, welche aufweist eine Einrichtung zum Beschränken mindestens einer Kompositionsfunktion, die erzeugt wird oder wurde durch genetische Programmierung, nämlich auf ein Muster oder eine Struktur von Elementarfunktionen, wie sie durch ein beschränkendes Kommando nach einem der Ansprüche 3 bis 9 vorgeschrieben sind.
  21. Vorrichtung nach einem der Ansprüche 1 bis 20, wobei die Elementarfunktionen als symbolische Objekte behandelt werden, um die Kompositionsfunktionen (CF) gemäß einer Baumstruktur mit Knoten und verbindenden Zweigen auszubilden, wobei jeder Knoten mit einer symbolischen Darstellung oder Repräsentation einer bildenden Einheitsfunktion (EF) korrespondiert, wobei der Baum eine Topographie gemäß der Struktur der Funktion aufweist.
  22. Vorrichtung nach einem der Ansprüche 1 bis 21, welche aufweist eine Einrichtung zum Übermitteln einer Kompositionsfunktion (CF) an mindestens eine Überschreib- oder Neuschreibregel aufweist, welche ausgeführt wird, um zu gewährleisten, dass die Kompositionsfunktion in ihrer rationalsten Form oder effizientesten Form in Bezug auf die Ausführungseffizienz ausgebildet wird.
  23. Vorrichtung nach einem der Ansprüche 1 bis 22, welche eine Caching-Technik aufweist, um eine Funktion auszuwerten, bei welcher Ergebnisse (R1, R2, ...) zuvor berechneter Teile von Funktionen gespeichert (24) werden, und zwar gemäß dieser Teile, und wobei eine gerade berechnete Funktion am Anfang analysiert wird, um zu ermitteln, ob mindestens ein Teil der Funkti on ersetzt werden kann durch ein korrespondierendes gespeichertes Ergebnis, wobei dieser Teil ersetzt wird durch dessen korrespondierendes Ergebnis, falls dies der Fall ist.
  24. Vorrichtung nach Anspruch 23, welche aufweist eine Einrichtung zum Prüfen der Nützlichkeit gespeicherter (24) Ergebnisse gemäß einem bestimmten Kriterium und zum Löschen von denjenigen, von denen herausgefunden wurde, dass sie nicht nützlich sind, wobei das Kriterium zum Erhalten eines Ergebnisses Ri eine Funktion ist, welches berücksichtigt: i) die Berechnungszeit zum Erzeugen von Ri, ii) die Häufigkeit der Verwendung von Ri und, optional, iii) die Größe (in Bytes) von Ri.
  25. Vorrichtung nach einem der Ansprüche 1 bis 24, wobei die Elementarfunktionen (EF) Signalverarbeitungsoperatoren und mathematische Operatoren aufweisen.
  26. Vorrichtung nach einem der Ansprüche 1 bis 25, wobei die Bibliothek von Elementarfunktionen (EF) einen Operator (SPLIT) aufweist, welcher bewirkt, dass ein Argument aufgeteilt wird in eine vorbestimmte Anzahl von Unterabschnitten eines Parameters, zum Beispiel der Zeit, auf welchen ein anderer Parameter abgebildet wird, zum Beispiel die Amplitude oder die Frequenz, wodurch ein Argument eines gegebenen Typs, zum Beispiels eines Signals, aufgeteilt wird in einen Vektor von Argumenten desselben Typs.
  27. Vorrichtung nach einem der Ansprüche 1 bis 26, welche aufweist eine Einrichtung zum Validieren einer allgemeinen Funktion (CF) gegenüber mindestens einem Referenzsignal, welches einen bekannten Wert für die allgemeine Charakteristik aufweist, und welche nicht als Referenz genutzt wurde.
  28. Vorrichtung nach einem der Ansprüche 1 bis 25, wobei das Signal (S) einen Audioinhalt ausdrückt und wobei die globale Charakteristik einen Deskriptor (De) eines Audioinhalts ist.
  29. Vorrichtung nach Anspruch 28, wobei der Audioinhalt in der Form eines Audiofiles vorliegt und wobei das Signal (S) die Signaldaten der Datei bildet.
  30. Vorrichtung nach einem der Ansprüche 28 oder 29, wobei der Deskriptor mindestens ein Aspekt unter folgenden Aspekten aufweist: – ein globale Energieanzeige, – eine Anzeige dafür, ob der Audioinhalt ein gesungenes oder ein instrumentelles Stück ist, – eine Auswertung der Tanzbarkeit des Audioinhalts, – eine Anzeige dafür, ob der Audioinhalt vom Klang her akustisch oder elektrisch ist, – eine Anzeige dafür, ob die Anwesenheit oder Abwesenheit eines Soloinstrumente, zum Beispiel einer Gitarre oder eines Solosaxophons, gegeben ist oder nicht.
  31. Vorrichtung nach einem der Ansprüche 1 bis 30, welche aufweist eine Einrichtung zum Anpassen einer Rohausgabe mindestens einer Kompositionsfunktion (CF) in einer spezifischen Form eines Ausdrucks des betrachteten Deskriptors (De) aufweist.
  32. Vorrichtung nach Anspruch 31, welche aufweist eine Einrichtung zum Wandeln der Rohausgabe nach einem der folgenden Aspekte: – einen normalisierten oder normierten Wert, und zwar gemäß einer vordefinierten Skala von Werten für den berücksichtigten Deskriptor, – eine Marke oder ein Label unter einem Satz von Marken oder Labels für den berücksichtigten Deskriptor, und zwar unter Verwendung einer vordefinierten Korrespondenztabelle, – einen Booleschen Wert für den berücksichtigten Deskriptor, zum Beispiel durch Vergleichen der Rohausgabe gegen einen Schwellwert.
  33. Vorrichtung nach Anspruch 31 oder 32, welche aufweist eine Einrichtung zum Operieren auf der Rohausgabe mindestens einer Kompositionsfunktion (CF), und zwar auf der Grundlage eines vorbestimmten Wissens, sowie ein Zuführen des Ergebnisses des Operierens als den Wert (Dvex) des Deskriptors in der geeigneten Form des Ausdrucks.
  34. Vorrichtung nach einem der Ansprüche 1 bis 33, wobei die allgemeine Extraktionsfunktion (4) gebildet wird von einer Kombination aus einer Mehrzeit von ausgewählten Kompositionsfunktionen (CF) die gemäß einem vorbestimmten Kriterium konstruiert wurden.
  35. Vorrichtung zum Extrahieren eines Werts (DVex) einer globalen Charakteristik (De), welche ein Merkmal der von einem Signal (Sx) mitgeführten Information, dadurch gekennzeichnet, dass die Vorrichtung ausgebildet ist für einen Vorgang des Berechnens des Werts für eine allgemeine Funktion (4) für das Signal (Sx), welcher erzeugt wird spezifisch durch eine Vorrichtung nach einem der Ansprüche 1 bis 34 für die globale Charakteristik.
  36. Vorrichtung (2) zum Erzeugen einer allgemeinen Funktion (4), welche auf einem Eingabesignal (Sx) operieren kann, um daraus einen Wert (DVex) einer globalen Charakteristik (De) zu extrahieren, welcher ein Merkmal der mit dem Signal transportierten Information ausdrückt, dadurch gekennzeichnet, dass die Vorrichtung aufweist: – eine automatisierte Einrichtung (22, 25) zum Erzeugen mindestens einer Kompositionsfunktion (CF1–CFn), wobei jede Kompositionsfunktion gebildet wird von mindestens einer aus einer Bibliothek (12) von Elementarfunktionen (EF1, EF2, ...), wobei die Einrichtung (22, 25) die Elementarfunktion als symbolische Objekte behandelt, – eine Einrichtung (22, 27) zum Operieren der Kompositionsfunktion auf mindestens einem Referenzsignal (S1–Sm) mit einem zuvor beigemessenen globalen charakteristischen Wert (Dgt1–Dgtm), welcher als Auswertung fungiert, wobei diese Einrichtungen (22, 27) die Elementarfunktionen als ausführbare Operatoren verarbeitet, – eine Einrichtung (22) zum Bestimmen der Übereinstimmung bzw. Anpassung zwischen: i) den Werten (Dij), die durch die Kompositionsfunktion als ein Ergebnis des Operierens auf dem Referenzsignal extrahiert werden oder wurden, und ii) dem vorher oder zuvor beigemessenen globalen charakteristischen Wert (Dgt1– Dgtm) des Referenzsignals, und – eine Einrichtung (22) zum Auswählen mindestens einer Kompositionsfunktion (CF) auf der Grundlage der Übereinstimmung, um die allgemeine Extraktionsfunktion (4) zu erzeugen.
DE20321797U 2002-12-17 2003-03-13 Vorrichtung zum automatischen Erzeugen einer allgemeinen Extraktionsfunktion, die aus einem Eingabesignal berechenbar ist, z.B. einem Audiosignal, um daraus einen vorbestimmten globalen charakteristischen Wert seines Inhalts zu erzeugen, z.B. einen Deskriptor Expired - Lifetime DE20321797U1 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP20020293122 EP1437711A1 (de) 2002-12-17 2002-12-17 Verfahren und Vorrichtung zur Erzeugung einer Funktion um den globalen charakteristischen Wert eines Signalinhaltes zu erzeugen
EP02293122 2002-12-17
EP03290635A EP1431956A1 (de) 2002-12-17 2003-03-13 Verfahren und Vorrichtung zur Erzeugung einer Funktion um den globalen charakteristischen Wert eines Signalinhalts zu gewinnen

Publications (1)

Publication Number Publication Date
DE20321797U1 true DE20321797U1 (de) 2010-06-10

Family

ID=32395467

Family Applications (1)

Application Number Title Priority Date Filing Date
DE20321797U Expired - Lifetime DE20321797U1 (de) 2002-12-17 2003-03-13 Vorrichtung zum automatischen Erzeugen einer allgemeinen Extraktionsfunktion, die aus einem Eingabesignal berechenbar ist, z.B. einem Audiosignal, um daraus einen vorbestimmten globalen charakteristischen Wert seines Inhalts zu erzeugen, z.B. einen Deskriptor

Country Status (3)

Country Link
US (1) US7624012B2 (de)
EP (1) EP1431956A1 (de)
DE (1) DE20321797U1 (de)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005113099A2 (en) 2003-05-30 2005-12-01 America Online, Inc. Personalizing content
US7626110B2 (en) * 2004-06-02 2009-12-01 Stmicroelectronics Asia Pacific Pte. Ltd. Energy-based audio pattern recognition
US7563971B2 (en) * 2004-06-02 2009-07-21 Stmicroelectronics Asia Pacific Pte. Ltd. Energy-based audio pattern recognition with weighting of energy matches
EP1646035B1 (de) * 2004-10-05 2013-06-19 Sony Europe Limited Wiedergabegerät für metadata indexiertes Audiomaterial und hierfür verwendbares Audio Sampling/Sample Verarbeitungssystem
US7921369B2 (en) 2004-12-30 2011-04-05 Aol Inc. Mood-based organization and display of instant messenger buddy lists
JP4405418B2 (ja) * 2005-03-30 2010-01-27 株式会社東芝 情報処理装置及びその方法
EP1908053B1 (de) * 2005-06-24 2010-12-22 Monash University Sprachanalysesystem
JP4935047B2 (ja) * 2005-10-25 2012-05-23 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
JP4948118B2 (ja) * 2005-10-25 2012-06-06 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
JP4987282B2 (ja) * 2005-10-25 2012-07-25 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
US7752538B2 (en) * 2006-07-26 2010-07-06 Xerox Corporation Graphical syntax analysis of tables through tree rewriting
US8726195B2 (en) 2006-09-05 2014-05-13 Aol Inc. Enabling an IM user to navigate a virtual world
US7645929B2 (en) * 2006-09-11 2010-01-12 Hewlett-Packard Development Company, L.P. Computational music-tempo estimation
US9069861B2 (en) * 2007-05-29 2015-06-30 Brainspace Corporation Query generation system for an information retrieval system
US8132162B2 (en) * 2007-07-05 2012-03-06 International Business Machines Corporation Runtime machine analysis of applications to select methods suitable for method level caching
US7949826B2 (en) * 2007-07-05 2011-05-24 International Business Machines Corporation Runtime machine supported method level caching
US8131657B2 (en) * 2007-10-22 2012-03-06 Sony Corporation Information processing device, information processing method, and program
EP2053549A3 (de) 2007-10-22 2010-06-02 Sony Corporation Informationsverarbeitung
US8890869B2 (en) * 2008-08-12 2014-11-18 Adobe Systems Incorporated Colorization of audio segments
US9015046B2 (en) * 2010-06-10 2015-04-21 Nice-Systems Ltd. Methods and apparatus for real-time interaction analysis in call centers
US8589171B2 (en) 2011-03-17 2013-11-19 Remote Media, Llc System and method for custom marking a media file for file matching
US8688631B2 (en) 2011-03-17 2014-04-01 Alexander Savenok System and method for media file synchronization
FR3002058A1 (fr) * 2013-02-08 2014-08-15 Mbda France Procede et dispositif d'optimisation multi-objectif
US10014008B2 (en) * 2014-03-03 2018-07-03 Samsung Electronics Co., Ltd. Contents analysis method and device
US10037750B2 (en) * 2016-02-17 2018-07-31 RMXHTZ, Inc. Systems and methods for analyzing components of audio tracks
CN108846480B (zh) * 2018-06-15 2022-03-25 广东工业大学 一种基于遗传算法的多规格一维套料方法及装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5210820A (en) * 1990-05-02 1993-05-11 Broadcast Data Systems Limited Partnership Signal recognition system and method
US6004015A (en) * 1994-11-24 1999-12-21 Matsushita Electric Industrial Co., Ltd. Optimization adjusting method and optimization adjusting apparatus
JP3658977B2 (ja) * 1998-02-10 2005-06-15 カシオ計算機株式会社 リズム合成装置
US6392133B1 (en) * 2000-10-17 2002-05-21 Dbtech Sarl Automatic soundtrack generator
US6988093B2 (en) * 2001-10-12 2006-01-17 Commissariat A L'energie Atomique Process for indexing, storage and comparison of multimedia documents
US7127120B2 (en) * 2002-11-01 2006-10-24 Microsoft Corporation Systems and methods for automatically editing a video

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Aucouturier Jean-Julien, Pachet Francois, "Music Similarity Measures: What's the Use?", Proceedings of the 3rd International Symposium an Music Information Retrieval (ISMIR02), Paris - Frankreich, Oktober 2002
Berenzweig A. L., Ellis D. P. W., "Locating Singig Voice Segments Within Music Signals", IEEE Workshop on Applications of Signal Processing to Acoustics and Audio (WASPAA01), Mohonk NY, Oktober 2001
Pachet, F., Delerue, O., Gouyon, F., "Extracting Rhythm from Audio Signals", SONY Research Forum, Tokio, Dezember 2000
Scheirer, Eric D., "Tempo an Beat Analysis of Acoustic Musical Signals", J. Acoust. Soc. Am. (JASA) 103:1 (Jan. 1998), S. 588-601

Also Published As

Publication number Publication date
US20040181401A1 (en) 2004-09-16
US7624012B2 (en) 2009-11-24
EP1431956A1 (de) 2004-06-23

Similar Documents

Publication Publication Date Title
DE20321797U1 (de) Vorrichtung zum automatischen Erzeugen einer allgemeinen Extraktionsfunktion, die aus einem Eingabesignal berechenbar ist, z.B. einem Audiosignal, um daraus einen vorbestimmten globalen charakteristischen Wert seines Inhalts zu erzeugen, z.B. einen Deskriptor
DE602004011305T2 (de) Vorrichtung und Verfahren zur automatischen Klassifikation von musikalischen Kompositionen
DE69629486T2 (de) Kontrollstruktur für klangsynthesierung
Hamanaka et al. Musical structural analysis database based on GTTM
CN112153426A (zh) 一种内容账号管理方法、装置、计算机设备及存储介质
DE60032258T2 (de) Bestimmen ob eine variable numerisch oder nicht numerisch ist
Datla Bench marking of classification algorithms: Decision Trees and Random Forests-a case study using R
DE69821933T2 (de) System und verfahren zum erstellen von erfüllungsregeln für handelsysteme
Gounaropoulos et al. Synthesising timbres and timbre-changes from adjectives/adverbs
Huzaifah et al. MTCRNN: A multi-scale rnn for directed audio texture synthesis
CN106294563A (zh) 一种多媒体数据的处理方法和装置
DE202022105338U1 (de) Ein neuronales Netzwerksystem zur Klassifizierung von Musikgenres auf der Grundlage einer evolutionären stochastischen Hyperparameterauswahl
EP1377924B1 (de) VERFAHREN UND VORRICHTUNG ZUM EXTRAHIEREN EINER SIGNALKENNUNG, VERFAHREN UND VORRICHTUNG ZUM ERZEUGEN EINER DAZUGEHÖRIGEN DATABANK und Verfahren und Vorrichtung zum Referenzieren eines Such-Zeitsignals
Çakir et al. Musical instrument synthesis and morphing in multidimensional latent space using variational, convolutional recurrent autoencoders
DE60131521T2 (de) Verfahren und Vorrichtung zur Steuerung des Betriebs eines Geräts bzw. eines Systems sowie System mit einer solchen Vorrichtung und Computerprogramm zur Ausführung des Verfahrens
WO2009013144A1 (de) Verfahren zur bestimmung einer ähnlichkeit, vorrichtung und verwendung hierfür
DE102016226042B4 (de) Vorrichtung, Fortbewegungsmittel und Verfahren zur Gestaltung eines Übergangs zwischen zwei Audio-Dateien
DE102010009745A1 (de) Verfahren und Vorrichtung zur Verarbeitung von Audiodaten
CN111695989A (zh) 一种风控信贷模型的建模方法和平台
Rolland et al. A framework for representing knowledge about synthesizer programming
Cella et al. Dynamic Computer-Aided Orchestration in Practice with Orchidea
Antunes et al. A psychoacoustic-based methodology for sound mass music analysis
Holmes et al. A development environment for predictive modelling in foods
EP1437711A1 (de) Verfahren und Vorrichtung zur Erzeugung einer Funktion um den globalen charakteristischen Wert eines Signalinhaltes zu erzeugen
Bodkhe et al. Prediction of disease using fuzzy random forest

Legal Events

Date Code Title Description
R207 Utility model specification

Effective date: 20100715

R151 Utility model maintained after payment of second maintenance fee after six years

Effective date: 20100610

R152 Utility model maintained after payment of third maintenance fee after eight years

Effective date: 20110405

R071 Expiry of right
R071 Expiry of right