[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:
- 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;
- b) Berechnen eines Eigenähnlichkeitswerts für jede Liste, welcher auf den Ähnlichkeiten
der Instanzen jedes Kandidatenmusters einer Liste untereinander basiert;
- 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
- 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 ch
1, ch
2 und ch
3 (allgemein chp) verteilte Notensequenzen q
1, q
2 und q
3 (allgemein q
p) enthält, die in Fig. 2 schematisch dargestellt sind. Die Kanäle ch
p 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
q
p 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.
- 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;
- b) Berechnen eines Eigenähnlichkeitswerts für jede Liste, welcher auf den Ähnlichkeiten
der Instanzen jedes Kandidatenmusters einer Liste untereinander basiert;
- 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
- 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 m
I, m
II, m
III, m
IV, usw. mit den Positionen ihres Auftretens bzw. Vorkommens in der Notensequenz q
p, 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 ch
p 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 m
I, m
II usw. gesucht, (ii) dieses als Kandidatenmuster m
1a, m
2a usw. in einer ersten Liste L
1 (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 m
I, m
II 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 L
1 von Kandidatenmustern m
1a, m
1b (allgemein m
1x), welche den Kanal chp bzw. dessen Notensequenz q
p ü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
q
p) 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 S
1, S
2 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 S
s und S
t 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 S
s und S
t 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 S
s, S
t 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 S
s mit allen anderen Segmenten S
t 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 S
1, S
3 und S
6, wie in Fig. 12 gezeigt: Die Segmente S
1 und S
3 sind hier zu 50% ähnlich, die Segmente S
3 und S
6 zu 60% ähnlich, und die Segmente S
1 und S
6 "transitivähnlich" zu 40%.
[0045] Alle zueinander ähnlichen oder auch nur transitivähnlichen Segmente werden nun wieder
als Instanzen i
i 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 L
2 von Kandidatenmustern m
2a, m
2b usw. mit ihren jeweiligen Instanzen i
1, i
2 usw. gespeichert, siehe Fig. 13.
[0046] Alle Listen L
2, L
3 usw. für alle möglichen Sequentierungsarten I, II usw. eines Kanals ch
p, zusammen mit der zuvor erörterten ersten Liste L
1 aus Schritt a1), ergeben einen Satz von Listen L
n für jeden Kanal ch
p, siehe Fig. 14, welcher verschiedene mögliche Abdeckungen des Kanals chp mit Kandidatenmustern
repräsentiert, siehe Fig. 15.
[0047] Die Listen L
n 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 L
n ein Eigenähnlichkeitswert E
n auf Grundlage von Ähnlichskeitsmatrizen für alle Kandidatenmuster m
na, m
nb usw. (allgemein m
nx) der Liste L
n berechnet. Fig. 16 zeigt eine beispielhafte Ähnlichkeitsmatrix für die Instanzen
i
1, i
2, i
3 und i
4 eines Kandidatenmusters m
n der Liste L
n: 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 i
1 und Instanz i
3 80%.
[0049] Aus allen Werten der Ähnlichkeitsmatrix Fig. 16 wird nun ein Eigenähnlichkeitswert
E
nx für das Kandidatenmuster m
nx 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 E
nx des Kandidatenmusters m
nx wird auch als "Loopfitness" des Kandidatenmusters m
nx bezeichnet.
[0052] Der Eigenähnlichkeitswert E
n der Liste L
n ergibt sich anschließend als Summe der Eigenähnlichkeitswerte E
nx aller Kandidatenmuster m
nx der Liste L
n, multipliziert mit der Kanalabdeckung P, welche alle Instanzen aller Kandidatenmuster
m
nx der Liste L
n erreichen, d.h.

[0053] Unter der Kanalabdeckung P
n einer Liste L
n eines Kanals ch
p 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
E
n der Listen L
n, beispielsweise unmittelbar im Anschluß an Schritt b), für einen bestimmten Kanal
chp all jene Listen L
n des Kanals ch
p gelöscht werden, deren Eigenähnlichkeitswerte E
n einen vorgegebenen Schwellwert nicht erreichen. Der Schwellwert kann bevorzugt adaptiv
bzw. dynamisch vorgegeben werden, beispielsweise als Prozentsatz des höchsten Eigenähnlichkeitswerts
E
n aller Listen L
n des Kanals chp, z.B. als mindestens 70% oder besonders bevorzugt als etwa 85% des
höchsten Eigenähnlichkeitswerts E
n aller Listen L
n des Kanals ch
p.
c) Berechnung der Koinzidenzwerte
[0055] In Schritt c) werden für jede Liste L
n Koinzidenzwerte berechnet, und zwar zwischen jeder Liste L
n jedes Kanals chp und jeder Liste L
n jedes anderen Kanals ch
p', wie in den Fig. 17 und 18 skizziert.
[0056] Fig. 18 zeigt - stellvertretend für alle diese Koinzidenzwertberechnungen - die erste
Liste L
21 des Kanals ch
2, welche jeweils mit allen anderen Listen (jedoch nicht mit den Listen des eigenen
Kanals ch
2) verglichen wird, um jeweils Koinzidenzwerte K
21-12, K
21-31 usw., allgemein K
pn-p'n' (mit p' ≠ p), zu berechnen, aus denen dann ein Gesamt-Koinzidenzwert K
pn für jede Liste L
pn ermittelt wird, wie weiter unten noch beschrieben.
[0057] Gemäß Fig. 17 wird ein Koinzidenzwert aus den zeitlichen Überlappungen u der Instanzen
i
i zweier miteinander zu vergleichenden Listen - in Fig. 17 der Einfachheit halber nur
als L
1 und L
2 bezeichnet - berechnet: Der Koinzidenzwert K
pn-p'n' ist die Summe aller Zeitdauern t
i 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 i
i eines Kandidatenmusters m
1x der Liste L
1 mit Instanzen i
i der Kandidatenmuster m
2x der anderen Liste L
2 berücksichtigt, welche zumindest zweimal auftreten, und auch dann nur jene Überlappungen
u, welche die - kandidatenmusterbezogen - längsten Überlappungszeiten t
i erzeugen. In dem Beispiel von Fig. 17 bedeutet dies: Das Kandidatenmuster m
1b (d.h. seine drei Instanzen i
1, i
2, i
3) überlappt sich dreimal mit Instanzen ein und desselben Kandidatenmusters der zweiten
Liste L
2, und zwar mit den drei Instanzen i
1, i
2 und i
5 des Kandidatenmusters m
2a zu den Überlappungszeiten t
1, t
2 und t
5; und nur diese Überlappungszeiten werden für das Kandidatenmuster m
1b berücksichtigt.
[0059] Unberücksichtigt bleiben alle weiteren Überlappungen des Kandidatenmusters m
1b mit Instanzen anderer Kandidatenmuster, z.B. den Instanzen i
1 und i
4 von m
2b, weil diese Überlappungen kürzer sind als die vorgenannten. Auch die nochmalige Überlappung
der Instanz i
2 von m
1b mit der Instanz i
3 von m
2a wird nicht gezählt, sondern nur jeweils eine einzige Doppelüberlappung pro Instanz
der ersten Liste L
1, und zwar die zeitlängste.
[0060] Ebenso bleiben nochmalige Überlappungen v der Instanzen i
1 und i
2 des Kandidatenmusters m
1a mit den Instanzen i
1 und i
2 des Kandidatenmusters m
2b unberücksichtigt, weil bereits die Überlappungen u der Instanzen i
3 und i
4 von m
1a mit den Instanzen i
1 und i
u von m
2a berücksichtigt wurden.
[0061] Der Koinzidenzwert K
pn-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
i
1 der Kandidatenmuster m
1b und m
2a sowie das Zusammenfallen der Enden der dritten Instanzen i
3 von m
1a und m
2a bzw. der Beginne der vierten Instanzen i
4 von m
1a und m
2a - 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 L
pn des Kanals chp die folgenden Koinzidenzwerte K
pn-p'n' gegenüber den Listen aller anderen Kanäle:

d) Verknüpfung der Eigenähnlichkeits- und Koinzidenzwerte
[0063] Die für jede Liste L
pn ermittelten Eigenähnlichkeitswerte E
pn und Koinzidenzwerte K
pn-p'n' werden zu einem Gesamtwert G
pn der Liste L
pn 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 L
21 des zweiten Kanals ch
2, nur jene Koinzidenzwerte K
21-p'n' gegenüber den Listen L
p'n' der anderen Kanäle ch
p' berücksichtigt, welche dort in jedem Kanal jeweils den höchsten Wert haben. In dem
gezeigten Beispiel sind das der Koinzidenzwert K
21-12 zur zweiten Liste L
12 des ersten Kanals ch
1 und der Koinzidenzwert K
21-31 zur ersten Liste L
31 des dritten Kanals ch
3.
[0065] Diese kanalmaximalen Koinzidenzwerte werden zu einem Gesamt-Koinzidenzwert K
pn für die Liste L
pn aufsummiert, d.h.:

[0066] Der Gesamt-Koinzidenzwert K
pn der Liste L
pn wird anschließend mit dem Eigenähnlichkeitswert E
pn der Liste L
pn multipliziert, um einen Gesamtwert G
pn für die Liste L
pn zu ergeben:

[0067] Anschließend wird in jedem Kanal ch
p jeweils jene Liste L
p 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 L
12 als Ergebnisliste L
1 des ersten Kanals ch
1, die Liste L
21 als Ergebnisliste L
2 des zweiten Kanals ch
2 und die Liste L
33 als Ergebnisliste L
3 des dritten Kanals ch
3.
[0068] Die Kandidatenmuster m
px 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.
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.