(19)
(11) EP 2 180 463 A1

(12) EUROPÄISCHE PATENTANMELDUNG

(43) Veröffentlichungstag:
28.04.2010  Patentblatt  2010/17

(21) Anmeldenummer: 08450164.2

(22) Anmeldetag:  22.10.2008
(51) Internationale Patentklassifikation (IPC): 
G10H 1/00(2006.01)
(84) Benannte Vertragsstaaten:
AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MT NL NO PL PT RO SE SI SK TR
Benannte Erstreckungsstaaten:
AL BA MK RS

(71) Anmelder: Oertl, Stefan M.
1080 Wien (AT)

(72) Erfinder:
  • OERTL, Stefan M.
    A-1080 Wien (AT)
  • Der andere Erfinder hat auf seine Nennung verzichtet.

(74) Vertreter: Weiser, Andreas 
Hietzinger Hauptstrasse 4
1130 Wien
1130 Wien (AT)

   


(54) Verfahren zur Erkennung von Notenmustern in Musikstücken


(57) Verfahren zur Erkennung ähnlich wiederkehrender Muster von Noten in einem Musikstück, das auf parallele Kanäle (ch) verteilte Notensequenzen (q) enthält, mit den Schritten:
a) wiederholtes Segmentieren jedes Kanals (ch) und, für jede Segmentierungsart, Bestimmen zueinander ähnlicher Segmente (S) und Speichern derselben in Listen (L) von Kandidatenmustern (m) mit ihren jeweiligen Instanzen (i);
b) Berechnen eines Eigenähnlichkeitswerts (E) für jede Liste (L);
c) Berechnen von Koinzidenzwerten (K) für jede Liste (L) jedes Kanals (ch) gegenüber den Listen aller anderen Kanäle; und
d) Verknüpfen der Eigenähnlichkeits- und Koinzidenzwerte (E, K) jeder Liste (L) zu einem Gesamtwert (G) pro Liste und Verwenden der Musterkandidaten (m) der Listen (L) mit dem höchsten Gesamtwert (G) in jedem Kanal (ch) als erkannte Notenmuster des Kanals.




Beschreibung


[0001] Die vorliegende Erfindung betrifft ein Verfahren zur Erkennung ähnlich wiederkehrender Muster von Noten in einem Musikstück, das auf parallele Kanäle verteilte Notensequenzen enthält.

[0002] Die Erkennung von wiederkehrenden Notenmustern in Musikstücken, z.B. von Loops, Riffs, Phrasen, Motiven, Themen, Strophen, Refrains, Überleitungen, Sätzen usw., ist in den letzten Jahren zu einem umfassenden Forschungsgebiet mit konkreten und vielversprechenden technischen Anwendungen geworden. Als einige Anwendungsbeispiele seien die automatisierte Analyse musikalischer Strukturen von Musikstücken in computerunterstützten Recordingstudio-, Audioworkstation- und Musikproduktionsumgebungen genannt, welche sich für Archivierungs- und Sortierungszwecke sowie zur Resynthese bestehender Notenmuster zu Neukompositionen auf eine verläßliche Mustererkennung stützen müssen. Eine weitere konkrete technische Anwendung ist die Analyse und Indexierung großer Musikdatenbanken, z.B. von Musikarchiven oder Online-Musikshops, nach identifizierbaren Notenmustern für das neue Gebiet des "music information retrieval" (MIR), beispielsweise um unscharfe Benutzerabfragen ("fuzzy queries") automatisiert verarbeiten zu können, Stichwort "query by humming".

[0003] Für die Mustererkennung in einkanaligen Musikstücken wurden in der Vergangenheit bereits verschiedenste Verfahren vorgeschlagen, welche auch Konzepte aus anderen Bereichen der Mustererkennung übernehmen, wie "string matching"-Techniken aus dem Bereich der DNA-Sequenzanalyse, siehe z.B. in Kilian Jürgen, Hoos Holger H.: "MusicBLAST - Gapped Sequence Alignment for MIR", International Conference on Music Information Retrieval (ISMIR), 2004. "String matching"-Verfahren beruhen häufig auf dem Einsatz von "Dynamic Programming"-Algorithmen zur Ausrichtung und zum Ähnlichkeitsvergleich von Notensubsequenzen, vgl. z.B. Hu Ning, Dannenberg Roger B. , Lewis Ann L.: "A Probabilistic Model of Melodic Similarity", Proceedings of the ICMC, 2002.

[0004] Speziell zur Erkennung ident wiederkehrender Notenmuster für Musikanalyse- und MIR-Zwecke wird in Hsu Jia-Lien, Liu Chih-Chin, Chen Arbee L.P.: "Discovering Nontrivial Repeating Patterns in Musical Data", IEEE Transactions On Multimedia, Vol. 3, No. 3, 2001, der Einsatz einer Korrelationsmatrix vorgeschlagen, welche nicht-triviale, d.h. sich nicht gegenseitig enthaltende, in einem Kanal ident wiederkehrende Muster auffinden läßt.

[0005] Alle bislang bekannten Verfahren haben die Eigenschaft, daß sie jeden Kanal eines mehrkanaligen Musikstücks jeweils gesondert analysieren. Die Erfinder des vorliegenden Verfahrens haben erkannt, daß darin ein wesentlicher Nachteil der bekannten Verfahren liegt, weil damit Strukturinformationen, die gerade in der musikalischen Parallelität der Kanäle, d.h. ihrem rhythmischen, melodischen und polyphonen Kontext, enthalten sind, gänzlich unberücksichtigt bleiben, was sich in der wenig zufriedenstellenden Erkennungsrate und -qualität der bekannten Verfahren niederschlägt.

[0006] Es besteht daher ein ungebrochener Bedarf nach einem verbesserten Mustererkennungsverfahren für mehrkanalige Musikstücke. Die Erfindung setzt sich zum Ziel, ein solches Verfahren zu schaffen.

[0007] Dieses Ziel wird mit einem Verfahren der einleitend genannten Art erreicht, das sich durch die folgenden Schritte auszeichnet:
  1. a) wiederholtes Segmentieren jedes Kanals unter Variierung von Segmentlänge und -beginn und, für jede Segmentierungsart, Bestimmen zueinander ähnlicher Segmente und Speichern derselben in Listen von Kandidatenmustern mit ihren jeweiligen Instanzen, und zwar jeweils einer Liste pro Segmentierungsart und Kanal;
  2. b) Berechnen eines Eigenähnlichkeitswerts für jede Liste, welcher auf den Ähnlichkeiten der Instanzen jedes Kandidatenmusters einer Liste untereinander basiert;
  3. c) Berechnen von Koinzidenzwerten für jede Liste jedes Kanals gegenüber den Listen aller anderen Kanäle, welcher jeweils auf den Überlappungen von Instanzen eines Kandidatenmusters der einen Liste mit Instanzen eines Kandidatenmuster der anderen Liste basiert, wenn sich diese zumindest zweimal überlappen; und
  4. d) Verknüpfen der Eigenähnlichkeits- und Koinzidenzwerte jeder Liste zu einem Gesamtwert pro Liste und Verwenden der Musterkandidaten der Listen mit dem höchsten Gesamtwert in jedem Kanal als erkannte Notenmuster des Kanals.


[0008] Das Verfahren der Erfindung berücksichtigt damit erstmals und in signifikanter Weise die parallelen Strukturinformationen eines mehrkanaligen Musikstücks, die in den zeitlichen Koinzidenzen potentieller Muster ("Kandidatenmuster") verschiedener Kanälen verborgen sein können, und verknüpft diese mit einer Bewertung der Robustheit aufgefundener Kandidatenmuster aufgrund der Eigenähnlichkeiten ihrer Instanzen, ihrer sogenannten "Fitness". Im Ergebnis wird damit ein wesentlich verläßlicheres, aussagekräftigeres und treffenderes Mustererkennungsergebnis erzielt als mit allen bisher bekannten Verfahren.

[0009] An dieser Stelle sei erwähnt, daß der hier verwendete Begriff "Kanal" für ein mehrkanaliges Musikstück in seiner allgemeinsten Form aufzufassen ist, d.h. sowohl im Sinne einer einzigen (monophonen) Stimme eines mehrstimmigen (polyphonen) Satzes, im Sinne einer (gegebenenfalls auch polyphonen) Instrumentenstimme, wie eines Baß-, Trompeten-, Streicher-, Schlagzeug-, Klavierparts usw., als auch im Sinne eines technischen Kanals wie eines Midi-Channels, welcher sowohl monophone als auch polyphone Stimmen, Parts oder deren Kombinationen enthalten kann, z.B. ein Drumpattern, eine Akkordfolge, einen Streichersatz usw.

[0010] Eine besonders vorteilhafte Ausführungsform der Erfindung zeichnet sich dadurch aus, daß in Schritt a) zusätzlich folgender Schritt ausgeführt wird:

a1) Detektieren der in einem Kanal ident wiederkehrenden Muster, daraus Auswählen der den Kanal bestabdeckenden Muster und Speichern derselben in einer weiteren Liste von Kandidatenmustern mit ihren jeweiligen Instanzen pro Kanal.



[0011] Dadurch kann der Erkennungsgrad noch weiter gesteigert werden. Die kanalbezogene Mustererkennung wird damit auf zwei gleichwertige Grundlagen gestellt, einmal eine Identerkennung und einmal eine Ähnlichkeitserkennung, für welche Varianten unterschiedliche Verfahren eingesetzt werden können. Durch Einbeziehung der Erkennungsergebnisse beider Varianten in ein und denselben Listensatz von Kandidatenmustern ergibt sich eine implizite Verknüpfung der beiden Verfahren in der anschließenden Listenbewertung mittels der Eigenähnlichkeits- und Koinzidenzwerte, weil die Ergebnisse der beiden Verfahren dort in Konkurrenz stehen. Das Verfahren der Erfindung wird damit "selbstadaptiv" für unterschiedliche Arten von Eingangssignalen, welche auf verschiedene Arten von Erkennungsverfahren unterschiedlich ansprechen.

[0012] Bevorzugt wird in Schritt a1) das Detektieren ident wiederkehrender Muster mittels des Korrelationsmatrix-Verfahrens durchgeführt, wie es an sich aus Hsu Jia-Lien et al. (aaO) bekannt ist. Besonders bevorzugt erfolgt in Schritt a1) das Auswählen der bestabdeckenden Muster durch iteratives Auswählen des jeweils häufigsten und/oder längsten Musters aus den detektierten Mustern.

[0013] Gemäß einem weiteren bevorzugten Merkmal der Erfindung wird in Schritt a) die Segmentlänge in Vielfachen der Takteinheit des Musikstücks variiert, was die Variationsmöglichkeiten auf ein geeignetes Maß begrenzt und Rechenzeit spart. Besonders günstig ist es, wenn die Segmentlänge vom Zweifachen der durchschnittlichen Notendauer des Musikstücks bis zur halben Länge des Musikstücks variiert wird.

[0014] Gemäß einer weiteren vorteilhaften Ausführungsform der Erfindung erfolgt in Schritt a) das Bestimmen zueinander ähnlicher Segmente durch gegenseitiges Ausrichten der Noten zweier Segmente, Bestimmen eines Übereinstimmungsgrades der beiden Segmente und Erkennen auf Ähnlichkeit, wenn der Übereinstimmungsgrad einen vorgegebenen Schwellwert übersteigt. Diese Maßnahmen sind mit vertretbarem Rechenleistungsaufwand rasch implementierbar.

[0015] Insbesondere erfolgt dabei das Ausrichten der Noten bevorzugt mittels des "Dynamic Programming"-Verfahrens, wie es aus Kilian Jürgen et al. (aaO) oder Hu Ning et al. (aaO, mit weiteren Nachweisen) an sich bekannt ist.

[0016] Gemäß einer bevorzugten Ausführungsform des Verfahrens erfolgt das Berechnen des Eigenähnlichkeitswerts in Schritt b) dadurch, daß für jedes Kandidatenmuster der Liste eine Ähnlichkeitsmatrix seiner Instanzen aufgestellt wird, deren Werte zum Eigenähnlichkeitswert der Liste verknüpft werden, bevorzugt unter Gewichtung durch die Kanalabdeckung der Kandidatenmuster der Liste. Es hat sich gezeigt, daß diese Ausführungsform zu einer raschen und stabilen Implementierung führt.

[0017] Zur weiteren Verbesserung des Erkennungsergebnisses können optional am Ende von Schritt b) jene Listen eines Kanals, deren Eigenähnlichkeitswert einen vorgegebenen Schwellwert nicht erreicht, gelöscht werden. Bevorzugt ist dieser vorgegebene Schwellwert adaptiv, insbesondere ein Prozentsatz des höchsten Eigenähnlichkeitswerts aller Listen des Kanals, besonders bevorzugt mindestens 70%. In einer praktisch besonders geeigneten Ausführungsform beträgt der Schwellwert etwa 85%.

[0018] Eine weitere vorteilhafte Variante des Verfahrens der Erfindung besteht darin, daß in Schritt c) für ein bestimmtes Kandidatenmuster einer Liste nur die Überlappungen zu jenen Instanzen der anderen Liste berücksichtigt werden, mit welchen die zeitlängsten Überlappungen vorliegen. In praktischen Versuchen hat sich gezeigt, daß dies zu einer zufriedenstellenden Erkennungsrate führt und das Verfahren in diesem Schritt vereinfacht.

[0019] Gemäß einer weiteren bevorzugten Variante der Erfindung wird vorgesehen, daß bei dem Verknüpfen von Schritt e) für jede Liste jedes Kanals nur jene Koinzidenzwerte zu den Listen der anderen Kanäle berücksichtigt werden, die dort den jeweils höchsten Wert darstellen, was die Erkennungsrate noch weiter verbessert.

[0020] Aus demselben Grund wird bevorzugt vorgesehen, daß bei dem Verknüpfen von Schritt e) die für eine Liste berücksichtigten Koinzidenzwerte jeweils aufsummiert und die aufsummierten Koinzidenzwerte besonders bevorzugt mit dem Eigenähnlichkeitswert der Liste zum genannten Gesamtwert multipliziert werden.

[0021] Die Erfindung wird nachstehend anhand von bevorzugten Ausführungsbeispielen unter Bezugnahme auf die begleitenden Zeichnungen näher erläutert, in denen zeigen:

die Fig. 1 und 2 ein beispielhaftes mehrkanaliges Musikstück als Eingangssignal des vorliegenden Verfahrens in Musiknotation (Fig. 1) und Notensequenzschreibweise (Fig. 2);

Fig. 3 ein globales Flußdiagramm des erfindungsgemäßen Verfahrens;

Fig. 4 ein Beispiel einer Korrelationsmatrix für den Schritt a1) des Verfahrens;

Fig. 5 das Ergebnis der Detektionsphase von Schritt a1);

Fig. 6 ein Flußdiagramm für die Auswahlphase für die bestabdeckenden Muster in Schritt a1);

Fig. 7 das Ergebnis von Schritt a1) in Form einer ersten Liste von Kandidatenmustern und ihren Instanzen für einen Kanal;

Fig. 8 die Bedeutung der Liste von Fig. 7 in Bezug auf die Kanalabdeckung;

Fig. 9 verschiedene Segmentierungsarten eines Kanals für die Ähnlichkeitsbestimmung in Schritt a) des Verfahrens;

Fig. 10 ein Beispiel eines "Dynamic Programming"-Algorithmus zur Ausrichtung zweier Segmente;

Fig. 11 das Ergebnis der Ausrichtung von Fig. 11 für den Ähnlichkeitsvergleich zweier Segmente;

Fig. 12 ähnliche und transitiv-ähnliche Segmente eines Kanals, welche die Instanzen eines erkannten Kandidatenmusters darstellen;

Fig. 13 das Ergebnis von Schritt a) in Form einer weiteren Liste von Kandidatenmustern und ihren Instanzen für einen Kanal und eine bestimmte Segmentierungsart dieses Kanals;

Fig. 14 das gesamte Ergebnis des Schrittes a), dargestellt als Satz von mehreren Listen für einen Kanal;

Fig. 15 die Bedeutung der Listen von Fig. 14 in Form verschiedener möglicher Abdeckungen eines Kanals mit jeweils den Kandidatenmustern seiner Listen;

Fig. 16 eine Ähnlichkeitsmatrix für die Instanzen eines Kandidatenmusters einer Liste als Grundlage für die Berechnung des Eigenähnlichkeitswerts einer Liste gemäß Schritt b);

Fig. 17 einen Überlappungsvergleich zwischen den Musterinstanzen zweier Listen als Grundlage für die Berechnung der Koinzidenzwerte einer Liste gemäß Schritt c);

Fig. 18 die Verknüpfung der Eigenähnlichkeits- und Koinzidenzwerte und die Berechnung des Gesamtwerts einer Liste gemäß Schritt d); und

die Fig. 19 und 20 das Ergebnis der Anwendung des Verfahrens auf das Eingangssignal der Fig. 1 und 2 in Form der möglichen (Fig. 19) und der besten (Fig. 20) Kanalabdeckungen, welch letztere die in den Kanälen erkannten Notenmuster darstellen.



[0022] Fig. 1 zeigt einen Ausschnitt aus einem Musikstück, das auf parallele Kanäle ch1, ch2 und ch3 (allgemein chp) verteilte Notensequenzen q1, q2 und q3 (allgemein qp) enthält, die in Fig. 2 schematisch dargestellt sind. Die Kanäle chp sind beispielsweise gesonderte MIDI-Kanäle für die verschiedenen Instrumente oder Stimmen des Musikstücks, auch wenn dies nicht zwingend ist, wie eingangs erläutert.

[0023] Der Einfachheit halber werden bei den vorliegenden Beispielen in den Notensequenzen qp nur die Tonhöhen und Auftrittszeitpunkte der einzelnen Noten berücksichtigt, nicht jedoch weitere Notenparameter wie z.B. Notendauer, Lautstärke, Anschlagsgeschwindigkeit, Hüllkurve, Klang, Tonartenkontext usw. Es versteht sich jedoch, daß alle im Folgenden beschriebenen Vergleiche von einzelnen Noten bzw. Notenmustern sich ebensogut auch auf solche Parameter erstrecken können, falls gewünscht, d.h. in diesen Vergleichen dementsprechend auch mehrstufige oder mehrdimensionale Identitäts- oder Ähnlichkeitsvergleiche zwischen mehreren Parametern durchgeführt werden können.

[0024] Darüber hinaus werden in den vorliegenden Beispielen der Einfachheit halber auch nur monophone Notensequenzen in jedem Kanal betrachtet. Es versteht sich jedoch, daß das hier vorgestellte Verfahren ebensogut für polyphone Notensequenzen in den Kanälen geeignet ist, wozu dementsprechend erweiterte Identitäts- bzw. Ähnlichkeitsvergleiche, z.B. Akkordvergleiche und Tonarten-Kontextvergleiche usw., angestellt werden können.

[0025] Wie somit für den Fachmann ersichtlich, ist das hier vorgestellte Verfahren in einfacher Weise auf multiple Notenparametervergleiche und polyphone Notensequenzen skalierbar.

[0026] Fig. 3 zeigt den globalen Ablauf des Verfahrens anhand seiner grundlegenden fünf Schritte a1), a), b), c) und d), welche im Anschluß im Detail erörtert werden. Diese fünf globalen Schritte sind:

a1) Detektieren der in einem Kanal ident wiederkehrenden Muster, daraus Auswählen der den Kanal bestabdeckenden Muster und Speichern derselben in einer Liste von Kandidatenmustern mit ihren jeweiligen Instanzen pro Kanal.

  1. a) wiederholtes Segmentieren jedes Kanals unter Variierung von Segmentlänge und -beginn und, für jede Segmentierungsart, Bestimmen zueinander ähnlicher Segmente und Speichern derselben in weiteren Listen von Kandidatenmustern mit ihren jeweiligen Instanzen, und zwar jeweils einer Liste pro Segmentierungsart und Kanal;
  2. b) Berechnen eines Eigenähnlichkeitswerts für jede Liste, welcher auf den Ähnlichkeiten der Instanzen jedes Kandidatenmusters einer Liste untereinander basiert;
  3. c) Berechnen von Koinzidenzwerten für jede Liste jedes Kanals gegenüber den Listen aller anderen Kanäle, welcher jeweils auf den Überlappungen von Instanzen eines Kandidatenmusters der einen Liste mit Instanzen eines Kandidatenmuster der anderen Liste basiert, wenn sich diese zumindest zweimal überlappen; und
  4. d) Verknüpfen der Eigenähnlichkeits- und Koinzidenzwerte jeder Liste zu einem Gesamtwert pro Liste und Verwenden der Musterkandidaten der Listen mit dem höchsten Gesamtwert in jedem Kanal als erkannte Notenmuster des Kanals.


[0027] Die dargestellte Abfolge der Schritte a1) - a) - b) - c) - d) ist nur insoweit zwingend, als manche Schritte das Ergebnis anderer voraussetzen; ansonsten ist die Abfolge beliebig. Beispielsweise könnte die Abfolge der Schritte a1) und a) vertauscht werden, oder die Abfolge der Schritte b) und c), usw.

[0028] In einer vereinfachten Ausführungsform des Verfahrens kann optional auf Schritt a1) verzichtet werden, mit entsprechend eingeschränktem Anwendungsspektrum des Verfahrens, wie eingangs erörtert.

[0029] Die Schritte a1) bis d) werden nun im einzelnen ausführlich beschrieben.

a1) Musterdetektion mittels Korrelationsmatrix



[0030] In Schritt a1) wird zum Detektieren der in einem Kanal chp ident wiederkehrenden Notenmuster (identen "Loops") zunächst für jeden Kanal chp eine Korrelationsmatrix gemäß Hsu Jia-Lien et al. (aaO) aufgestellt. Fig. 4 zeigt ein Beispiel einer solchen Korrelationsmatrix: Die erste Zeile und die erste Spalte enthält jeweils die gesamte Notensequenz eines Kanals, in welcher Muster zu detektieren sind; und nur ein Dreieck der Matrix ist relevant. Der erste Eintrag "1" in einer Zeile bedeutet, daß eine Note in der Sequenz bereits das zweite Mal auftritt; ein Eintrag "2" bedeutet, daß das aus dieser und der vorhergehenden Note bestehende Muster der Länge 2 ("2er-Loop") das zweite Mal auftritt; der Eintrag "3", daß das aus dieser, der vorhergehenden und der vorvorhergehenden Noten bestehende Muster der Länge 3 ("3er-Loop") das zweite Mal in dieser Zeile auftritt, usw. Für Details des Korrelationsmatrix-Verfahrens sei auf Hsu Jia-Lien et al. (aaO) verwiesen.

[0031] Durch statistische Auswertung der Einträge in der Korrelationsmatrix Fig. 4 läßt sich für jeden Kanal eine vorläufige Liste gemäß Fig. 5 erstellen, in welcher als ident wiederkehrend gefundene Notenmuster mI, mII, mIII, mIV, usw. mit den Positionen ihres Auftretens bzw. Vorkommens in der Notensequenz qp, d.h. ihren sog. "Instanzen", sowie ihrer Länge und Häufigkeit aufgeführt sind.

[0032] Aus der vorläufigen Liste von Fig. 5 werden nun mit Hilfe des in Fig. 6 skizzierten Suchverfahrens jene Notenmuster als "Kandidatenmuster" für die weitere Verarbeitung herausgesucht, welche den Kanal chp möglichst weitgehend und auch überlappungsfrei abdecken. Dazu wird gemäß Fig. 6 in einer Schleife die vorläufige Liste Fig. 5 abgearbeitet und jeweils (i) das "beste" Muster mI, mII usw. gesucht, (ii) dieses als Kandidatenmuster m1a, m2a usw. in einer ersten Liste L1 (Fig. 7) mitsamt seinen Instanzen abgespeichert, und (iii) alle mit diesem Kandidatenmuster überlappende Muster werden aus der vorläufigen Liste Fig. 5 gelöscht.

[0033] Das in Schritt (i) "beste" Muster ist dabei jeweils das in der vorläufigen Liste Fig. 5 häufigste und/oder längste Muster mI, mII usw. Besonders bevorzugt wird folgendes Kriterium für das "beste" Muster eingesetzt:

Es wird das häufigste Muster ausgewählt, außer es gibt ein längeres Kandidatenmuster, das mehr als 75% des Kanals abdeckt und mindestens 2/3 so oft auftritt.



[0034] Als Ergebnis von Schritt a1) ergibt sich somit pro Kanal chp eine erste Liste L1 von Kandidatenmustern m1a, m1b (allgemein m1x), welche den Kanal chp bzw. dessen Notensequenz qp überlappungsfrei und möglichst weitgehend, d.h. möglichst lükkenfrei abdecken, siehe Fig. 8.

a) Musterdetektion mittels Segmentähnlichkeitsvergleich



[0035] In Schritt a) wird ein zweiter Ansatz verfolgt. Jeder Kanal chp (bzw. seine Notensequenz qp) wird wiederholt und jeweils auf verschiedene Arten segmentiert, und zwar unter Variierung von Segmentlänge und -beginn. Fig. 9 zeigt fünf beispielhafte Segmentierungsarten I - V, wobei die Segmentlänge in Vielfachen der Takteinheit des Musikstücks, d.h. der Dauer eines Taktschlags (beat) des Musikstücks, variiert wird; z.B. bei einem 4/4-Takt ist die Takteinheit eine Viertelnote.

[0036] Die gezeigten Segmentierungsarten I und II beruhen auf einer Segmentierung in Segmenten mit einer Länge von zwei Taktschlägen, wobei in der Segmentierung II der Segmentbeginn um einen Taktschlag versetzt wurde.

[0037] Die Segmentierungsarten III - V basieren auf einer Segmentlänge von drei Taktschlägen und einem sukzessivem Versatz des Segmentbeginns um jeweils einen Taktschlag.

[0038] Es versteht sich, daß dieses Konzept entsprechend auf beliebige Segmentierungslängen, -beginne und auch beliebig feine Quantisierungseinheiten (beats) der Notensequenzen erweitert werden kann.

[0039] Bevorzugt wird dabei die Segmentlänge vom Zweifachen der durchschnittlichen Notendauer des Musikstücks bis maximal zur halben Länge des gesamten Musikstücks variiert, da die maximale Länge eines Notenmusters höchstens die halbe Länge des Musikstücks sein kann. Falls gewünscht, könnte zur Verkürzung das Verfahren auch früher abgebrochen werden, d.h. die Segmentlänge beispielsweise nur bis zu einer vorgegebenen Anzahl von Takten variiert werden.

[0040] Für jede mögliche Segmentierungsart I, II, III usw. wird nun die Ähnlichkeit der Segmente S1, S2 usw. untereinander ermittelt, und zwar bevorzugt mit Hilfe des in der Technik bekannten "Dynamic Programming"-Verfahrens.

[0041] Zur Erläuterung dieses Verfahrens sei hier nur kurz auf Fig. 10 verwiesen, in welcher Notensequenzen aus zwei beispielhaften Segmenten Ss und St einander in einer Matrix gegenübergestellt werden. Gemäß den Regeln des "Dynamic Programming"-Algorithmus werden nun Gewichtungen für das Fortschreiten von Zelle zu Zelle vergeben, z.B. in dem vorliegenden Beispiel die "Dynamic Programming"-Gewichtungen {0, 0, 0, 1} als {"Strafe für Insert", "Strafe für Delete", "Strafe für Replace", "Punkte für Match"}. Für Details des "Dynamic Programming"-Verfahrens sei hier auf Kilian Jürgen et al. (aaO) und Hu Ning et al. (aaO) verwiesen, welche auch weitere Literaturnachweise dazu enthalten.

[0042] Mit Hilfe des "Dynamic Programming"-Ausrichtverfahrens von Fig. 10 können selbst nicht-idente, d.h. bloß ähnliche und sogar ungleich lange Notensequenzen in den Segmenten zueinander ausgerichtet werden. Fig. 11 zeigt das erhaltene Ausrichtergebnis.

[0043] Die Ähnlichkeit der Segmente Ss und St wird anschließend mit Hilfe eines entsprechend gewählten Punktebewertungsschemas zwischen 0% (unähnlich) und 100% (ident) bewertet, beispielsweise anhand der Anzahl identer Noten, der Anzahl von Lücken, des Tonhöhenabstandes abweichender Noten usw. Zwei Segmente Ss, St werden anschließend als "ähnlich" erkannt, wenn ihr derart bestimmter Ähnlichkeitswert über einem vorgegebenen Schwellwert liegt, bevorzugt über 50%.

[0044] Auf diese Weise werden nun alle Segmente Ss mit allen anderen Segmenten St einer Segmentierungsart I, II usw. eines Kanals chp verglichen. Dies führt beispielsweise für die Segmentierungsart II des Kanals chp zu dem Erkennen einer Ähnlichkeit zwischen den Segmenten S1, S3 und S6, wie in Fig. 12 gezeigt: Die Segmente S1 und S3 sind hier zu 50% ähnlich, die Segmente S3 und S6 zu 60% ähnlich, und die Segmente S1 und S6 "transitivähnlich" zu 40%.

[0045] Alle zueinander ähnlichen oder auch nur transitivähnlichen Segmente werden nun wieder als Instanzen ii eines Kandidatenmusters aufgefaßt, das sich aus der Notensequenz eines (z.B. des ersten) dieser Segmente ergibt. Die auf diese Weise für eine Segmentierungsart eines Kanals aufgefundenen Kandidatenmuster werden in Form einer weiteren Liste L2 von Kandidatenmustern m2a, m2b usw. mit ihren jeweiligen Instanzen i1, i2 usw. gespeichert, siehe Fig. 13.

[0046] Alle Listen L2, L3 usw. für alle möglichen Sequentierungsarten I, II usw. eines Kanals chp, zusammen mit der zuvor erörterten ersten Liste L1 aus Schritt a1), ergeben einen Satz von Listen Ln für jeden Kanal chp, siehe Fig. 14, welcher verschiedene mögliche Abdeckungen des Kanals chp mit Kandidatenmustern repräsentiert, siehe Fig. 15.

[0047] Die Listen Ln werden nun in den folgenden Schritten b), c) und d) bewertet.

b) Berechnung der Eigenähnlichkeitswerte



[0048] Zunächst wird in Schritt b) für jede Liste Ln ein Eigenähnlichkeitswert En auf Grundlage von Ähnlichskeitsmatrizen für alle Kandidatenmuster mna, mnb usw. (allgemein mnx) der Liste Ln berechnet. Fig. 16 zeigt eine beispielhafte Ähnlichkeitsmatrix für die Instanzen i1, i2, i3 und i4 eines Kandidatenmusters mn der Liste Ln: Die Zellen der Matrix geben den Ähnlichkeitsgrad, beispielsweise wie nach dem "Dynamic Programming"-Schritt von Schritt a) ermittelt, wieder; z.B. beträgt hier die Ähnlichkeit zwischen Instanz i1 und Instanz i3 80%.

[0049] Aus allen Werten der Ähnlichkeitsmatrix Fig. 16 wird nun ein Eigenähnlichkeitswert Enx für das Kandidatenmuster mnx ermittelt, beispielsweise durch Aufsummieren in der Form:



[0050] Alternativ kann auch ein Bewertungsschema eingesetzt werden, welches die Werte in den Zellen der Ähnlichkeitsmatrix statistisch aus- bzw. bewertet, bevorzugt in der Form:
  • wenn mindestens eine Zelle pro Zeile den Eintrag "1" hat, dann wird Enx um 2 inkrementiert d.h.

  • wenn nicht, dann wird Enx nur um den Durchschnittswert aller Zellen dieser Zeile inkrementiert, d.h.



[0051] Der Eigenähnlichkeitswert Enx des Kandidatenmusters mnx wird auch als "Loopfitness" des Kandidatenmusters mnx bezeichnet.

[0052] Der Eigenähnlichkeitswert En der Liste Ln ergibt sich anschließend als Summe der Eigenähnlichkeitswerte Enx aller Kandidatenmuster mnx der Liste Ln, multipliziert mit der Kanalabdeckung P, welche alle Instanzen aller Kandidatenmuster mnx der Liste Ln erreichen, d.h.



[0053] Unter der Kanalabdeckung Pn einer Liste Ln eines Kanals chp wird entweder
  • die zeitliche Abdeckung des Kanals verstanden, als Summe der Zeitdauern tnxi aller Instanzen i aller Kandidatenmuster mnx des Kanals, bezogen auf die Gesamtdauer Tp des Kanals chp; oder
  • die notenmäßige Abdeckung des Kanals, als Summe der Notenanzahlen nnxi in allen Instanzen i aller Kandidatenmuster mnx des Kanals, bezogen auf die Gesamtanzahl Np von Noten des Kanals chp; oder bevorzugt
  • sowohl die zeitliche als auch die notenmäßige Abdekkung in gewichteter Form, beispielsweise gleich gewichtet, d.h.:



[0054] In einem optionalen Schritt können nach der Bestimmung der Eigenähnlichkeitswerte En der Listen Ln, beispielsweise unmittelbar im Anschluß an Schritt b), für einen bestimmten Kanal chp all jene Listen Ln des Kanals chp gelöscht werden, deren Eigenähnlichkeitswerte En einen vorgegebenen Schwellwert nicht erreichen. Der Schwellwert kann bevorzugt adaptiv bzw. dynamisch vorgegeben werden, beispielsweise als Prozentsatz des höchsten Eigenähnlichkeitswerts En aller Listen Ln des Kanals chp, z.B. als mindestens 70% oder besonders bevorzugt als etwa 85% des höchsten Eigenähnlichkeitswerts En aller Listen Ln des Kanals chp.

c) Berechnung der Koinzidenzwerte



[0055] In Schritt c) werden für jede Liste Ln Koinzidenzwerte berechnet, und zwar zwischen jeder Liste Ln jedes Kanals chp und jeder Liste Ln jedes anderen Kanals chp', wie in den Fig. 17 und 18 skizziert.

[0056] Fig. 18 zeigt - stellvertretend für alle diese Koinzidenzwertberechnungen - die erste Liste L21 des Kanals ch2, welche jeweils mit allen anderen Listen (jedoch nicht mit den Listen des eigenen Kanals ch2) verglichen wird, um jeweils Koinzidenzwerte K21-12, K21-31 usw., allgemein Kpn-p'n' (mit p' ≠ p), zu berechnen, aus denen dann ein Gesamt-Koinzidenzwert Kpn für jede Liste Lpn ermittelt wird, wie weiter unten noch beschrieben.

[0057] Gemäß Fig. 17 wird ein Koinzidenzwert aus den zeitlichen Überlappungen u der Instanzen ii zweier miteinander zu vergleichenden Listen - in Fig. 17 der Einfachheit halber nur als L1 und L2 bezeichnet - berechnet: Der Koinzidenzwert Kpn-p'n' ist die Summe aller Zeitdauern ti all jener Instanzüberlappungen u, welche wie nachstehend berücksichtigt werden, bezogen auf die Zeitdauer T des gesamten betrachteten Kanals chp.

[0058] Dabei werden nur solche Überlappungen u von Instanzen ii eines Kandidatenmusters m1x der Liste L1 mit Instanzen ii der Kandidatenmuster m2x der anderen Liste L2 berücksichtigt, welche zumindest zweimal auftreten, und auch dann nur jene Überlappungen u, welche die - kandidatenmusterbezogen - längsten Überlappungszeiten ti erzeugen. In dem Beispiel von Fig. 17 bedeutet dies: Das Kandidatenmuster m1b (d.h. seine drei Instanzen i1, i2, i3) überlappt sich dreimal mit Instanzen ein und desselben Kandidatenmusters der zweiten Liste L2, und zwar mit den drei Instanzen i1, i2 und i5 des Kandidatenmusters m2a zu den Überlappungszeiten t1, t2 und t5; und nur diese Überlappungszeiten werden für das Kandidatenmuster m1b berücksichtigt.

[0059] Unberücksichtigt bleiben alle weiteren Überlappungen des Kandidatenmusters m1b mit Instanzen anderer Kandidatenmuster, z.B. den Instanzen i1 und i4 von m2b, weil diese Überlappungen kürzer sind als die vorgenannten. Auch die nochmalige Überlappung der Instanz i2 von m1b mit der Instanz i3 von m2a wird nicht gezählt, sondern nur jeweils eine einzige Doppelüberlappung pro Instanz der ersten Liste L1, und zwar die zeitlängste.

[0060] Ebenso bleiben nochmalige Überlappungen v der Instanzen i1 und i2 des Kandidatenmusters m1a mit den Instanzen i1 und i2 des Kandidatenmusters m2b unberücksichtigt, weil bereits die Überlappungen u der Instanzen i3 und i4 von m1a mit den Instanzen i1 und iu von m2a berücksichtigt wurden.

[0061] Der Koinzidenzwert Kpn-p'n' kann optional für exakt in ihrem Beginn oder Ende zusammenfallende Instanzen - im gezeigten Beispiel von Fig. 17 die zusammenfallenden Beginne der ersten Instanzen i1 der Kandidatenmuster m1b und m2a sowie das Zusammenfallen der Enden der dritten Instanzen i3 von m1a und m2a bzw. der Beginne der vierten Instanzen i4 von m1a und m2a - für jeden Zusammenfall besonders erhöht, z.B. um einen vorgegebenen "Bonuswert" inkrementiert werden.

[0062] Zurückkommend auf die allgemeine Bezeichnungsweise von Fig. 18 ergeben sich damit beispielsweise für die Liste Lpn des Kanals chp die folgenden Koinzidenzwerte Kpn-p'n' gegenüber den Listen aller anderen Kanäle:


d) Verknüpfung der Eigenähnlichkeits- und Koinzidenzwerte



[0063] Die für jede Liste Lpn ermittelten Eigenähnlichkeitswerte Epn und Koinzidenzwerte Kpn-p'n' werden zu einem Gesamtwert Gpn der Liste Lpn verknüpft, beispielsweise durch Aufsummieren, Multiplizieren oder andere mathematische Operationen.

[0064] Bevorzugt wird die folgende Verknüpfung angewandt: Wie in Fig. 18 veranschaulicht, werden für eine Liste, beispielsweise die erste Liste L21 des zweiten Kanals ch2, nur jene Koinzidenzwerte K21-p'n' gegenüber den Listen Lp'n' der anderen Kanäle chp' berücksichtigt, welche dort in jedem Kanal jeweils den höchsten Wert haben. In dem gezeigten Beispiel sind das der Koinzidenzwert K21-12 zur zweiten Liste L12 des ersten Kanals ch1 und der Koinzidenzwert K21-31 zur ersten Liste L31 des dritten Kanals ch3.

[0065] Diese kanalmaximalen Koinzidenzwerte werden zu einem Gesamt-Koinzidenzwert Kpn für die Liste Lpn aufsummiert, d.h.:



[0066] Der Gesamt-Koinzidenzwert Kpn der Liste Lpn wird anschließend mit dem Eigenähnlichkeitswert Epn der Liste Lpn multipliziert, um einen Gesamtwert Gpn für die Liste Lpn zu ergeben:



[0067] Anschließend wird in jedem Kanal chp jeweils jene Liste Lp gesucht, welche den höchsten Gesamtwert Gp

hat. In dem in Fig. 19 gezeigten Beispiel, welches auf den Eingangssequenzen der Fig. 1 und 2 beruht, sind das die Liste L12 als Ergebnisliste L1 des ersten Kanals ch1, die Liste L21 als Ergebnisliste L2 des zweiten Kanals ch2 und die Liste L33 als Ergebnisliste L3 des dritten Kanals ch3.

[0068] Die Kandidatenmuster mpx der Listen Lp stellen damit die für jeden Kanal chp - und zwar unter Berücksichtigung seiner Strukturbeziehungen zu allen anderen Kanälen - jeweils besterkannten, ähnlich wiederkehrenden Notenmuster des Kanals dar, wie in Fig. 20 gezeigt.

[0069] Die Erfindung ist nicht auf die dargestellten Ausführungsformen beschränkt, sondern umfaßt alle Varianten und Modifikationen, die in den Rahmen der angeschlossenen Ansprüche fallen.


Ansprüche

1. Verfahren zur Erkennung ähnlich wiederkehrender Muster von Noten in einem Musikstück, das auf parallele Kanäle (ch) verteilte Notensequenzen (q) enthält, mit den Schritten:

a) wiederholtes Segmentieren jedes Kanals (ch) unter Variierung von Segmentlänge und -beginn und, für jede Segmentierungsart, Bestimmen zueinander ähnlicher Segmente (S) und Speichern derselben in Listen (L) von Kandidatenmustern (m) mit ihren jeweiligen Instanzen (i), und zwar jeweils einer Liste pro Segmentierungsart und Kanal;

b) Berechnen eines Eigenähnlichkeitswerts (E) für jede Liste (L), welcher auf den Ähnlichkeiten der Instanzen (i) jedes Kandidatenmusters (m) einer Liste untereinander basiert;

c) Berechnen von Koinzidenzwerten (K) für jede Liste (L) jedes Kanals (ch) gegenüber den Listen aller anderen Kanäle, welcher jeweils auf den Überlappungen (u) von Instanzen (i) eines Kandidatenmusters (m) der einen Liste (L) mit Instanzen (i) eines Kandidatenmuster (m) der anderen Liste (L) basiert, wenn sich diese zumindest zweimal überlappen; und

d) Verknüpfen der Eigenähnlichkeits- und Koinzidenzwerte (E, K) jeder Liste (L) zu einem Gesamtwert (G) pro Liste und Verwenden der Musterkandidaten (m) der Listen (L) mit dem höchsten Gesamtwert (G) in jedem Kanal (ch) als erkannte Notenmuster des Kanals.


 
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß in Schritt a) zusätzlich folgender Schritt ausgeführt wird:

a1) Detektieren der in einem Kanal (ch) ident wiederkehrenden Muster (m), daraus Auswählen der den Kanal bestabdekkenden Muster und Speichern derselben in einer weiteren Liste (L) von Kandidatenmustern (m) mit ihren jeweiligen Instanzen (i) pro Kanal.


 
3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß in Schritt a1) das Detektieren ident wiederkehrender Muster (m) mittels des an sich bekannten Korrelationsmatrix-Verfahrens durchgeführt wird.
 
4. Verfahren nach Anspruch 2 oder 3, dadurch gekennzeichnet, daß in Schritt a1) das Auswählen der bestabdeckenden Muster (m) durch iteratives Auswählen des jeweils häufigsten und/oder längsten Musters aus den detektierten Mustern erfolgt.
 
5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß in Schritt a) die Segmentlänge in Vielfachen der Takteinheit des Musikstücks variiert wird.
 
6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, daß die Segmentlänge vom Zweifachen der durchschnittlichen Notendauer des Musikstücks bis zur halben Länge des Musikstücks variiert wird.
 
7. Verfahren nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, daß in Schritt a) das Bestimmen zueinander ähnlicher Segmente (S) durch gegenseitiges Ausrichten der Noten zweier Segmente, Bestimmen eines Übereinstimmungsgrades der beiden Segmente und Erkennen auf Ähnlichkeit, wenn der Übereinstimmungsgrad einen vorgegebenen Schwellwert übersteigt, erfolgt.
 
8. Verfahren nach Anspruch 7, dadurch gekennzeichnet, daß das Ausrichten der Noten mittels des an sich bekannten "Dynamic Programming"-Verfahrens erfolgt.
 
9. Verfahren nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, daß in Schritt b) für jedes Kandidatenmuster (m) der Liste (L) eine Ähnlichkeitsmatrix seiner Instanzen (i) aufgestellt wird, deren Werte zum Eigenähnlichkeitswert (E) der Liste (L) verknüpft werden, bevorzugt unter Gewichtung durch die Kanalabdeckung (P) der Kandidatenmuster (m) der Liste (L).
 
10. Verfahren nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, daß am Ende von Schritt b) jene Listen (L) eines Kanals (ch), deren Eigenähnlichkeitswert (E) einen vorgegebenen Schwellwert nicht erreicht, gelöscht werden.
 
11. Verfahren nach Anspruch 10, dadurch gekennzeichnet, daß der vorgegebene Schwellwert ein Prozentsatz des höchsten Eigenähnlichkeitswerts (E) aller Listen (L) des Kanals (ch) ist, bevorzugt mindestens 70%, besonders bevorzugt etwa 85%.
 
12. Verfahren nach einem der Ansprüche 1 bis 11, dadurch gekennzeichnet, daß in Schritt c) für ein bestimmtes Kandidatenmuster einer Liste (L) nur die Überlappungen (u) zu jenen Instanzen (i) der anderen Liste (L) berücksichtigt werden, mit welchen die zeitlängsten Überlappungen vorliegen.
 
13. Verfahren nach einem der Ansprüche 1 bis 12, dadurch gekennzeichnet, daß bei dem Verknüpfen von Schritt e) für jede Liste (L) jedes Kanals (ch) nur jene Koinzidenzwerte (K) zu den Listen (L) der anderen Kanäle (ch) berücksichtigt werden, die dort den jeweils höchsten Wert darstellen.
 
14. Verfahren nach einem der Ansprüche 1 bis 13, dadurch gekennzeichnet, daß bei dem Verknüpfen von Schritt e) die für eine Liste (L) berücksichtigten Koinzidenzwerte (K) jeweils aufsummiert werden.
 
15. Verfahren nach Anspruch 14, dadurch gekennzeichnet, daß bei dem Verknüpfen von Schritt e) die aufsummierten Koinzidenzwerte (K) mit dem Eigenähnlichkeitswert (E) der Liste (L) zum genannten Gesamtwert (G) multipliziert werden.
 




Zeichnung











































Recherchenbericht










Angeführte Verweise

IN DER BESCHREIBUNG AUFGEFÜHRTE DOKUMENTE



Diese Liste der vom Anmelder aufgeführten Dokumente wurde ausschließlich zur Information des Lesers aufgenommen und ist nicht Bestandteil des europäischen Patentdokumentes. Sie wurde mit größter Sorgfalt zusammengestellt; das EPA übernimmt jedoch keinerlei Haftung für etwaige Fehler oder Auslassungen.

In der Beschreibung aufgeführte Nicht-Patentliteratur