EP2180463A1 - Method to detect note patterns in pieces of music - Google Patents

Method to detect note patterns in pieces of music Download PDF

Info

Publication number
EP2180463A1
EP2180463A1 EP08450164A EP08450164A EP2180463A1 EP 2180463 A1 EP2180463 A1 EP 2180463A1 EP 08450164 A EP08450164 A EP 08450164A EP 08450164 A EP08450164 A EP 08450164A EP 2180463 A1 EP2180463 A1 EP 2180463A1
Authority
EP
European Patent Office
Prior art keywords
list
channel
instances
patterns
pattern
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.)
Withdrawn
Application number
EP08450164A
Other languages
German (de)
French (fr)
Inventor
Stefan M. Oertl
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.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to EP08450164A priority Critical patent/EP2180463A1/en
Priority to EP09755830A priority patent/EP2351017B1/en
Priority to PCT/AT2009/000401 priority patent/WO2010045665A1/en
Priority to US13/125,200 priority patent/US8283548B2/en
Publication of EP2180463A1 publication Critical patent/EP2180463A1/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/0033Recording/reproducing or transmission of music for electrophonic musical instruments
    • G10H1/0041Recording/reproducing or transmission of music for electrophonic musical instruments in coded form
    • G10H1/0058Transmission between separate instruments or between individual components of a musical system
    • G10H1/0066Transmission between separate instruments or between individual components of a musical system using a MIDI interface
    • 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
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/031Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal
    • G10H2210/061Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal for extraction of musical phrases, isolation of musically relevant segments, e.g. musical thumbnail generation, or for temporal structure analysis of a musical piece, e.g. determination of the movement sequence of a musical work
    • 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
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/131Mathematical functions for musical analysis, processing, synthesis or composition
    • G10H2250/135Autocorrelation

Definitions

  • the present invention relates to a method of recognizing similar recurring patterns of notes in a piece of music containing note sequences distributed in parallel channels.
  • the invention sets itself the goal of creating such a method.
  • the method of the invention thus takes into account, for the first time and significantly, the parallel structural information of a multi-channel piece of music which may be concealed in the temporal coincidences of potential patterns ("candidate patterns") of different channels, and associates these with an assessment of the robustness of found candidate patterns due to the similarities between them Instances, their so-called “fitness”.
  • candidate patterns potential patterns
  • channel used here is to be understood in its most general form for a multi-channel piece of music, ie both in the sense of a single (monophonic) voice of a polyphonic (polyphonic) sentence in the sense of a (possibly also polyphonic) Instrumental voice, such as a bass, trumpet, string, Percussion, piano parts, etc., as well as in the sense of a technical channel such as a midi channel, which can contain both monophonic and polyphonic voices, parts or combinations thereof, eg a drum pattern, a chord progression, a string replacement etc.
  • the channel-related pattern recognition is thus placed on two equal bases, once an identifier and once a similarity detection, for which variants different methods can be used.
  • an implicit combination of the two methods results in the subsequent list evaluation by means of the self-similarity and coincidence values, because the results of the two methods compete there.
  • the method of the invention thus becomes "self-adaptive" for different types of input signals which respond differently to different types of recognition methods.
  • step a1) the detection of identical patterns is carried out by means of the correlation matrix method, as known per se from Hsu Jia-Lien et al. (supra) is known.
  • step a1) the best covering patterns are selected by iteratively selecting the respectively most frequent and / or longest pattern from the detected patterns.
  • step a) the segment length is varied in multiples of the clock unit of the piece of music, which limits the possible variations to an appropriate level and saves computing time. It is particularly advantageous if the segment length is varied from twice the average note duration of the piece of music to half the length of the piece of music.
  • step a) the determination of segments which are similar to each other is carried out by aligning the notes of two segments, determining a degree of agreement of the two segments and recognizing similarity, if the degree of agreement exceeds a predetermined threshold value.
  • the alignment of the notes preferably takes place by means of the "Dynamic Programming" method, as described in Kilian Jürgen et al. (supra) or Hu Ning et al. (supra, with further evidence) known per se.
  • the eigen similarity value is calculated in step b) by establishing for each candidate pattern of the list a similarity matrix of its instances whose values are linked to the self-similarity value of the list, preferably weighted by the channel coverage of the candidate patterns of the list. It has been found that this embodiment leads to a rapid and stable implementation.
  • this predetermined threshold value is adaptive, in particular a percentage of the highest self-similarity value of all lists of the channel, particularly preferred at least 70%. In a practically particularly suitable embodiment, the threshold is about 85%.
  • step c) only the overlaps to those instances of the other list are taken into account for a specific candidate pattern of a list, with which the time-longest overlaps exist. Practical experiments have shown that this leads to a satisfactory recognition rate and simplifies the process in this step.
  • the coincidence values taken into account for a list are respectively summed up and the accumulated coincidence values are particularly preferably multiplied by the intrinsic similarity value of the list to said total value.
  • Fig. 1 shows a section of a piece of music which contains notch sequences q 1 , q 2 and q 3 (generally q p ) distributed in parallel channels ch 1 , ch 2 and ch 3 (generally chp), which in Fig. 2 are shown schematically.
  • the channels ch p are, for example, separate MIDI channels for the various instruments or voices of the piece of music, although this is not mandatory, as explained above.
  • step a1) can optionally be dispensed with, with a correspondingly limited range of applications of the method, as discussed above.
  • Steps a1) to d) will now be described in detail.
  • step a1) a correlation matrix according to Hsu Jia-Lien et al. Is first detected for each channel chp in order to detect the pattern of patterns recurring in a channel chp (identical "loops") .
  • Fig. 4 shows an example of such a correlation matrix: the first row and the first column each contain the entire note sequence of a channel in which patterns are to be detected; and only one triangle of the matrix is relevant.
  • the first entry "1" in a row means that a note in the sequence already occurs the second time ; an entry “2" means that the pattern of length 2 ("2-loop") consisting of this and the preceding note occurs a second time; the entry “3” means that the existing from this, the preceding and two times before the pattern marks of length 3 ( "3-Loop") for the second time occurs in this line, etc.
  • the correlation matrix method is to Hsu Jia- Lien et al. (supra).
  • a provisional list can be set according to Fig. 5 in which note patterns m 1 , m II , m III , m IV , etc., found as identically recurring, with the positions of their appearance or occurrence in the note sequence q p , ie their so-called “instances”, as well as their length and frequency are listed.
  • step a1) this results in each channel chp a first list L 1 of candidate patterns m 1 a m 1b (generally m 1x), that the channel chp or its sequence of notes q p without overlap, and as far as possible, that is, cover lükkenok possible, please refer Fig. 8 ,
  • step a) a second approach is followed.
  • Each channel chp (or its note sequence q p ) is repeated and respectively segmented in various ways, varying with segment length and start.
  • Fig. 9 shows five exemplary types of segmentation I - V, wherein the segment length in multiples of the clock unit of the piece of music, ie the duration of a beat of the piece of music is varied; For example, at a 4/4 time, the clock unit is a quarter note.
  • segmentation types I and II shown are based on a segmentation into segments with a length of two beats, wherein in segmentation II the beginning of the segment has been offset by one beat.
  • the segmentation types III - V are based on a segment length of three beats and a successive offset of the beginning of the segment by one beat at a time.
  • the segment length is varied from twice the average note duration of the piece of music to a maximum of half the length of the entire piece of music, since the maximum length of a note pattern can be at most half the length of the piece of music.
  • the method could also be terminated earlier, i.
  • the segment length may only be varied up to a predetermined number of clocks.
  • the similarity of the segments S s and S t is then evaluated using a correspondingly selected scoring scheme between 0% (unlike) and 100% (ident), for example based on the number of identical scores, the number of gaps, the pitch of deviating scores, etc.
  • Two Segments S s , S t are then recognized as "similar” if their similarity value determined in this way is above a predetermined threshold value, preferably above 50%.
  • a self-similarity value E n is calculated on the basis of similarity matrices for all candidate patterns m na , m nb , etc. (generally m nx ) of the list L n .
  • Fig. 16 Figure 10 shows an example similarity matrix for the instances i 1 , i 2 , i 3 and i 4 of a candidate pattern m n of the list L n :
  • the cells of the matrix give the degree of similarity, for example as determined according to the Dynamic Programming step of step a) , again; For example, here the similarity between instance i 1 and instance i 3 is 80%.
  • the self-similarity value E nx of the candidate pattern m nx is also referred to as "loopfitness" of the candidate pattern m nx .
  • step that lists L can, after determining the intrinsic similarity values E n of the lists L n, for example, immediately after step b), for a particular channel chp all n of the channel ch are deleted p whose intrinsic similarity values E n a predetermined threshold value do not reach.
  • the threshold value can preferably be specified adaptively or dynamically, for example as a percentage of the highest eigennormality value E n of all channels L n of the channel chp, eg as at least 70% or more preferably as approximately 85% of the highest self-similarity value E n of all lists L n of the channel ch p .
  • step c) for each list L n, coincidence values are calculated, between each list L n of each channel chp and each list L n of each other channel ch p ' , as in FIGS Fig. 17 and 18 outlined.
  • Fig. 18 shows - representative of all these coincidence value calculations - the first list L 21 of the channel ch 2 , which is in each case compared with all other lists (but not with the lists of its own channel ch 2 ) in order to obtain coincidence values K 21-12 , K 21- 31 , etc., generally K pn-p'n ' (with p' ⁇ p), from which then a total coincidence value K pn for each list L pn is determined, as described below.
  • Fig. 17 is a coincidence value from the temporal overlaps u of the instances i i of two lists to be compared - Fig. 17 for the sake of simplicity only referred to as L 1 and L 2 - calculated:
  • the coincidence value K pn-p'n ' is the sum of all time durations t i of those instance overlaps u, which are considered below, based on the time duration T of the entire considered channel chp.
  • the candidate pattern m 1b (ie its three instances i 1 , i 2 , i 3 ) overlaps three times with instances of one and the same candidate pattern of the second list L 2 , with the three instances i 1 , i 2 and i 5 the candidate pattern m 2a at the overlap times t 1 , t 2 and t 5 ; and only these overlap periods to be considered for the candidate pattern m 1b.
  • the coincidence value K pn-p'n ' can optionally be for instances coinciding exactly in their beginning or end - in the example shown in FIG Fig. 17 the coincident beginnings of the first instances i 1 of the candidate patterns m 1b and m 2a and the coincidence of the ends of the third instances i 3 of m 1a and m 2a and the starts of the fourth instances i 4 of m 1a and m 2a - for each coincidence especially increased, for example by a predetermined "bonus value" be incremented.
  • the following relationship is applied: As in Fig. 18
  • a list for example the first list L 21 of the second channel ch 2 , only those coincidence values K 21-p'n 'are taken into account with respect to the lists L p'n' of the other channels ch p ' which are present in each channel each have the highest value.
  • K pn ⁇ p' m in ⁇ ax p' ⁇ K pn - p'n' ,
  • the candidate patterns m px of the lists Lp represent the respectively best-known, similarly recurring note patterns of the channel for each channel chp, taking into account its structural relationships to all other channels, as in Fig. 20 shown.

Abstract

The method involves repeatedly segmenting channels (ch1-chp) i.e. musical instrument digital interface channels. Identical segments are determined and stored in lists (L11-Lpn) of music candidate patterns with instances for each segmentation type. Coincidence values (K21-12, K21-31) for each list of each channel are calculated relative to the lists of the channels. Resemblance values (E12, E21) and the coincidence values of each list are concatenated to a total value (Gpn) per list. The patterns with the highest total value in each channel are used as detected note pattern of the channels.

Description

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.The present invention relates to a method of recognizing similar recurring patterns of notes in a piece of music containing note sequences distributed in parallel channels.

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".Recognition of recurrent note patterns in pieces of music, e.g. from loops, riffs, phrases, themes, themes, stanzas, choruses, transitions, movements, etc., has in recent years become a vast field of research with concrete and promising technical applications. As some application examples, the automated analysis of musical structures of pieces of music in computer-aided recording studio, audio workstation and music production environments are mentioned, which must rely on a reliable pattern recognition for archiving and sorting purposes as well as for the resynthesis of existing note patterns to new compositions. Another concrete technical application is the analysis and indexing of large music databases, e.g. of music archives or online music shops, for identifiable music score for the new field of "music information retrieval" (MIR), for example, to process fuzzy queries automated, keyword "query by humming".

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 .For pattern recognition in single-channel pieces of music, various methods have been proposed in the past which also adopt concepts from other areas of pattern recognition, such as "string-matching" techniques from the field of DNA sequence analysis, see eg Kilian Jürgen, Hoos Holger H .: "MusicBLAST - Gapped Sequence Alignment for MIR", International Conference on Music Information Retrieval (ISMIR), 2004 , "String matching" methods are based often on the use of "Dynamic Programming" algorithms for alignment and similarity comparison of note subsequences, cf. eg Hu Ning, Dannenberg Roger B., Lewis Ann L .: "A Probabilistic Model of Melodic Similarity", Proceedings of the ICMC, 2002 ,

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.Specifically for recognizing identical recurrent note patterns for music analysis and MIR purposes, in Hsu Jia-Lien, Liu Chih-Chin, Chen Arbee LP: "Discovering Nontrivial Repeating Patterns in Musical Data", IEEE Transactions On Multimedia, Vol. 3, 2001 proposed the use of a correlation matrix which allows non-trivial, ie non-mutually exclusive, identically recurring patterns to be found in a channel.

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.All previously known methods have the property of separately analyzing each channel of a multi-channel piece of music. The inventors of the present method have recognized that therein is a significant drawback of the known methods, because with it structure information that is precisely in the musical parallelism of the channels, i. their rhythmic, melodic and polyphonic context, are completely disregarded, which is reflected in the unsatisfactory recognition rate and quality of the known methods.

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.There is therefore an unmet need for an improved pattern recognition method for multi-channel pieces of music. The invention sets itself the goal of creating such a method.

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.
This object is achieved by a method of the type mentioned in the introduction, which is characterized by the following steps:
  1. a) repeatedly segmenting each channel by varying segment length and start and, for each type of segmentation, determining segments and memories similar to each other the same in lists of candidate patterns with their respective instances, one list per segmentation type and channel;
  2. b) calculating a self-similarity value for each list based on the similarities of the instances of each candidate pattern of a list with each other;
  3. c) calculating coincidence values for each list of each channel against the lists of all other channels, each based on the overlaps of instances of a candidate pattern of the one list with instances of a candidate pattern of the other list, if they overlap at least twice; and
  4. d) associating the self-similarity and coincidence values of each list to a total value per list, and using the pattern candidates of the highest-total-value lists in each channel as recognized pattern notes of the channel.

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.The method of the invention thus takes into account, for the first time and significantly, the parallel structural information of a multi-channel piece of music which may be concealed in the temporal coincidences of potential patterns ("candidate patterns") of different channels, and associates these with an assessment of the robustness of found candidate patterns due to the similarities between them Instances, their so-called "fitness". As a result, a much more reliable, meaningful and more accurate pattern recognition result is achieved than with all previously known methods.

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.It should be noted at this point that the term "channel" used here is to be understood in its most general form for a multi-channel piece of music, ie both in the sense of a single (monophonic) voice of a polyphonic (polyphonic) sentence in the sense of a (possibly also polyphonic) Instrumental voice, such as a bass, trumpet, string, Percussion, piano parts, etc., as well as in the sense of a technical channel such as a midi channel, which can contain both monophonic and polyphonic voices, parts or combinations thereof, eg a drum pattern, a chord progression, a string replacement etc.

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.
A particularly advantageous embodiment of the invention is characterized in that the following step is additionally performed in step a):
  • a1) detecting the pattern that identifies in a channel identically, selecting therefrom the pattern best covering the channel and storing it in another list of candidate patterns with their respective instances per channel.

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.As a result, the degree of recognition can be further increased. The channel-related pattern recognition is thus placed on two equal bases, once an identifier and once a similarity detection, for which variants different methods can be used. By including the recognition results of both variants in one and the same set of candidate patterns, an implicit combination of the two methods results in the subsequent list evaluation by means of the self-similarity and coincidence values, because the results of the two methods compete there. The method of the invention thus becomes "self-adaptive" for different types of input signals which respond differently to different types of recognition methods.

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.Preferably, in step a1) the detection of identical patterns is carried out by means of the correlation matrix method, as known per se from Hsu Jia-Lien et al. (supra) is known. Particularly preferably, in step a1) the best covering patterns are selected by iteratively selecting the respectively most frequent and / or longest pattern from the detected patterns.

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.According to a further preferred feature of the invention, in step a) the segment length is varied in multiples of the clock unit of the piece of music, which limits the possible variations to an appropriate level and saves computing time. It is particularly advantageous if the segment length is varied from twice the average note duration of the piece of music to half the length of the piece of music.

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.According to a further advantageous embodiment of the invention, in step a) the determination of segments which are similar to each other is carried out by aligning the notes of two segments, determining a degree of agreement of the two segments and recognizing similarity, if the degree of agreement exceeds a predetermined threshold value. These measures can be implemented quickly with reasonable computing power.

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.In particular, the alignment of the notes preferably takes place by means of the "Dynamic Programming" method, as described in Kilian Jürgen et al. (supra) or Hu Ning et al. (supra, with further evidence) known per se.

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.According to a preferred embodiment of the method, the eigen similarity value is calculated in step b) by establishing for each candidate pattern of the list a similarity matrix of its instances whose values are linked to the self-similarity value of the list, preferably weighted by the channel coverage of the candidate patterns of the list. It has been found that this embodiment leads to a rapid and stable implementation.

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%.To further improve the recognition result, optionally at the end of step b), those lists of a channel whose self-similarity value does not reach a predetermined threshold can be deleted. Preferably, this predetermined threshold value is adaptive, in particular a percentage of the highest self-similarity value of all lists of the channel, particularly preferred at least 70%. In a practically particularly suitable embodiment, the threshold is about 85%.

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.A further advantageous variant of the method of the invention is that in step c) only the overlaps to those instances of the other list are taken into account for a specific candidate pattern of a list, with which the time-longest overlaps exist. Practical experiments have shown that this leads to a satisfactory recognition rate and simplifies the process in this step.

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.According to a further preferred variant of the invention, it is provided that, in linking step e), for each list of each channel, only those coincidence values to the lists of the other channels are taken into account, which represent the highest value there, which further improves the recognition rate.

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.For the same reason, it is preferably provided that, in the combination of step e), the coincidence values taken into account for a list are respectively summed up and the accumulated coincidence values are particularly preferably multiplied by the intrinsic similarity value of the list to said total value.

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.
The invention will be explained in more detail below by means of preferred embodiments with reference to the accompanying drawings, in which:
  • the Fig. 1 and 2 an exemplary multi-channel piece of music as an input signal of the present method in musical notation ( Fig. 1 ) and note sequence notation ( Fig. 2 );
  • Fig. 3 a global flow chart of the method according to the invention;
  • Fig. 4 an example of a correlation matrix for step a1) of the method;
  • Fig. 5 the result of the detection phase of step a1);
  • Fig. 6 a flow chart for the selection phase for the Bestabdeckenden pattern in step a1);
  • Fig. 7 the result of step a1) in the form of a first list of candidate patterns and their instances for a channel;
  • Fig. 8 the meaning of the list of Fig. 7 in relation to the channel cover;
  • Fig. 9 various types of segmentation of a similarity determination channel in step a) of the method;
  • Fig. 10 an example of a "Dynamic Programming" algorithm for aligning two segments;
  • Fig. 11 the result of the alignment of Fig. 11 for the similarity comparison of two segments;
  • Fig. 12 similar and transitive-like segments of a channel representing the instances of a recognized candidate pattern;
  • Fig. 13 the result of step a) in the form of another list of candidate patterns and their instances for a channel and a particular segmentation type of that channel;
  • Fig. 14 the entire result of step a), represented as a set of multiple lists for a channel;
  • Fig. 15 the meaning of the lists of Fig. 14 in the form of various possible covers of a channel, each with the candidate patterns of its lists;
  • Fig. 16 a similarity matrix for the instances of a candidate pattern of a list as a basis for the calculation of the self-similarity value of a list according to step b);
  • Fig. 17 an overlap comparison between the pattern instances of two lists as a basis for the calculation of the coincidence values of a list according to step c);
  • Fig. 18 the concatenation of the self-similarity and coincidence values and the calculation of the total value of a list according to step d); and
  • the Fig. 19 and 20 the result of applying the method to the input signal of the Fig. 1 and 2 in the form of the possible ( Fig. 19 ) and the best ( Fig. 20 ) Channel covers, the latter representing the note patterns recognized in the channels.

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. Fig. 1 shows a section of a piece of music which contains notch sequences q 1 , q 2 and q 3 (generally q p ) distributed in parallel channels ch 1 , ch 2 and ch 3 (generally chp), which in Fig. 2 are shown schematically. The channels ch p are, for example, separate MIDI channels for the various instruments or voices of the piece of music, although this is not mandatory, as explained above.

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.For the sake of simplicity, in the present examples in the note sequences q p only the pitches and times of occurrence of the individual notes are taken into account, but not other note parameters such as note duration, volume, velocity, envelope, sound, key context, etc. It is understood, however, that all in the The comparisons of individual notes or note patterns as described below can equally well extend to such parameters, if desired, ie multilevel or multidimensional identity or similarity comparisons between several parameters can correspondingly also be carried out in these comparisons.

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.Moreover, in the present examples, for the sake of simplicity, only monophonic note sequences are considered in each channel. It is understood, however, that the method presented here is just as suitable for polyphonic note sequences in the channels, for which accordingly extended identity comparisons, eg chord comparisons and key-context comparisons etc., can be made.

Wie somit für den Fachmann ersichtlich, ist das hier vorgestellte Verfahren in einfacher Weise auf multiple Notenparametervergleiche und polyphone Notensequenzen skalierbar.Thus, as will be apparent to those skilled in the art, the method presented herein is readily scalable to multiple note parameter comparisons and polyphonic note sequences.

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.
Fig. 3 shows the global flow of the method by its basic five steps a1), a), b), c) and d), which are discussed in detail below. These five global steps are:
  • a1) detecting the pattern recurring in a channel, selecting therefrom the pattern best covering the channel and storing it in a list of candidate patterns with their respective instances per channel.
  1. a) repeatedly segmenting each channel by varying segment length and start and, for each type of segmentation, determining mutually similar segments and storing them in further lists of candidate patterns with their respective instances, one list per segmentation type and channel;
  2. b) calculating a self-similarity value for each list based on the similarities of the instances of each candidate pattern of a list with each other;
  3. c) calculating coincidence values for each list of each channel against the lists of all other channels, each based on the overlaps of instances of a candidate pattern of the one list with instances of a candidate pattern of the other list, if they overlap at least twice; and
  4. d) associating the self-similarity and coincidence values of each list to a total value per list, and using the pattern candidates of the highest-total-value lists in each channel as recognized pattern notes of the channel.

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.The illustrated sequence of steps a1) -a) -b) -c) -d) is only compulsory insofar as some steps presuppose the result of others; otherwise the sequence is arbitrary. For example the sequence of steps a1) and a) could be reversed, or the sequence of steps b) and c), etc.

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.In a simplified embodiment of the method, step a1) can optionally be dispensed with, with a correspondingly limited range of applications of the method, as discussed above.

Die Schritte a1) bis d) werden nun im einzelnen ausführlich beschrieben.Steps a1) to d) will now be described in detail.

a1) Musterdetektion mittels Korrelationsmatrixa1) pattern detection by correlation matrix

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.In step a1), a correlation matrix according to Hsu Jia-Lien et al. Is first detected for each channel chp in order to detect the pattern of patterns recurring in a channel chp (identical "loops") . (supra). Fig. 4 shows an example of such a correlation matrix: the first row and the first column each contain the entire note sequence of a channel in which patterns are to be detected; and only one triangle of the matrix is relevant. The first entry "1" in a row means that a note in the sequence already occurs the second time ; an entry "2" means that the pattern of length 2 ("2-loop") consisting of this and the preceding note occurs a second time; the entry "3" means that the existing from this, the preceding and two times before the pattern marks of length 3 ( "3-Loop") for the second time occurs in this line, etc. For details of the correlation matrix method is to Hsu Jia- Lien et al. (supra).

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.By statistical evaluation of the entries in the correlation matrix Fig. 4 For each channel a provisional list can be set according to Fig. 5 in which note patterns m 1 , m II , m III , m IV , etc., found as identically recurring, with the positions of their appearance or occurrence in the note sequence q p , ie their so-called "instances", as well as their length and frequency are listed.

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.From the preliminary list of Fig. 5 will now be using the in Fig. 6 outlined sketch method those note patterns as "candidate pattern" for further processing, which cover the channel ch p as largely as possible and also without overlap. This is done according to Fig. 6 in a loop the preliminary list Fig. 5 and (i) searched for the "best" pattern m I , m II , etc., (ii) this as a candidate pattern m 1a , m 2a , etc. in a first list L 1 ( FIG . Fig. 7 ) and its instances, and (iii) all patterns overlapping with this candidate pattern are removed from the preliminary list Fig. 5 deleted.

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.
The "best" pattern in step (i) is the one in the preliminary list Fig. 5 most frequent and / or longest patterns m I , m II , etc. The following criterion is most preferably used for the "best" pattern:
  • The most common pattern is selected unless there is a longer candidate pattern that covers more than 75% of the channel and occurs at least 2/3 as often .

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.As a result of step a1), this results in each channel chp a first list L 1 of candidate patterns m 1 a m 1b (generally m 1x), that the channel chp or its sequence of notes q p without overlap, and as far as possible, that is, cover lükkenfrei possible, please refer Fig. 8 ,

a) Musterdetektion mittels Segmentähnlichkeitsvergleicha) pattern detection by means of segment similarity comparison

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.In step a) a second approach is followed. Each channel chp (or its note sequence q p ) is repeated and respectively segmented in various ways, varying with segment length and start. Fig. 9 shows five exemplary types of segmentation I - V, wherein the segment length in multiples of the clock unit of the piece of music, ie the duration of a beat of the piece of music is varied; For example, at a 4/4 time, the clock unit is a quarter note.

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.The segmentation types I and II shown are based on a segmentation into segments with a length of two beats, wherein in segmentation II the beginning of the segment has been offset by one beat.

Die Segmentierungsarten III - V basieren auf einer Segmentlänge von drei Taktschlägen und einem sukzessivem Versatz des Segmentbeginns um jeweils einen Taktschlag.The segmentation types III - V are based on a segment length of three beats and a successive offset of the beginning of the segment by one beat at a time.

Es versteht sich, daß dieses Konzept entsprechend auf beliebige Segmentierungslängen, -beginne und auch beliebig feine Quantisierungseinheiten (beats) der Notensequenzen erweitert werden kann.It goes without saying that this concept can be extended to any segmentation lengths, starts and also arbitrarily fine quantization units (beats) of the note sequences.

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.Preferably, the segment length is varied from twice the average note duration of the piece of music to a maximum of half the length of the entire piece of music, since the maximum length of a note pattern can be at most half the length of the piece of music. If desired, for the sake of brevity, the method could also be terminated earlier, i. For example, the segment length may only be varied up to a predetermined number of clocks.

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.For each possible segmentation type I, II, III, etc., the similarity of the segments S 1 , S 2 , etc. is now determined among each other, preferably with the aid of the "Dynamic Programming" method known in the art.

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.For an explanation of this method, let me just briefly Fig. 10 referenced in which note sequences of two exemplary segments S s and S t are compared to each other in a matrix. According to the rules of the "Dynamic Programming" algorithm We now assign weightings for the progression from cell to cell, eg in the present example the "Dynamic Programming" weights {0, 0, 0, 1} as {"Penalty for Insert", "Penalty for Delete", "Penalty for Replace "," Points for Match "}. For details of the "Dynamic Programming" method, please refer to Kilian Jürgen et al. (supra) and Hu Ning et al. (loc. cit.), which also contains further references.

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.Using the "Dynamic Programming" alignment procedure of Fig. 10 Even non-identical, ie only similar and even unequal length note sequences in the segments can be aligned with each other. Fig. 11 shows the obtained alignment result.

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%.The similarity of the segments S s and S t is then evaluated using a correspondingly selected scoring scheme between 0% (unlike) and 100% (ident), for example based on the number of identical scores, the number of gaps, the pitch of deviating scores, etc. Two Segments S s , S t are then recognized as "similar" if their similarity value determined in this way is above a predetermined threshold value, preferably above 50%.

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%.In this way, all segments S s are compared with all other segments S t of a segmentation type I, II, etc. of a channel chp. For example, for the segmentation type II of the channel chp, this leads to the recognition of a similarity between the segments S 1 , S 3 and S 6 , as in FIG Fig. 12 The segments S 1 and S 3 here are 50% similar, the segments S 3 and S 6 60% similar, and the segments S 1 and S 6 "transitivähnlich" to 40%.

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.All similar or even transitive-like segments are now again considered to be instances i i of a candidate pattern resulting from the note sequence of one (eg the first) of these segments. The on this Candidate patterns found for a segmentation type of a channel are stored in the form of another list L 2 of candidate patterns m 2a , m 2b , etc. with their respective instances i 1 , i 2 , etc., see Fig. 13 ,

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.All lists L 2 , L 3 , etc. for all possible sequencing types I, II, etc. of a channel ch p , together with the first list L 1 of step a1) discussed above, yield a set of lists L n for each channel ch p , please refer Fig. 14 which represents various possible covers of the channel chp with candidate patterns, see Fig. 15 ,

Die Listen Ln werden nun in den folgenden Schritten b), c) und d) bewertet.The lists L n are now evaluated in the following steps b), c) and d).

b) Berechnung der Eigenähnlichkeitswerteb) Calculation of Eigen Similarity Values

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%.First, in step b), for each list L n, a self-similarity value E n is calculated on the basis of similarity matrices for all candidate patterns m na , m nb , etc. (generally m nx ) of the list L n . Fig. 16 Figure 10 shows an example similarity matrix for the instances i 1 , i 2 , i 3 and i 4 of a candidate pattern m n of the list L n : The cells of the matrix give the degree of similarity, for example as determined according to the Dynamic Programming step of step a) , again; For example, here the similarity between instance i 1 and instance i 3 is 80%.

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: E nx = Σ k , l A ¨ hnlichkeit zwischen i k und i l

Figure imgb0001
From all values of the similarity matrix Fig. 16 a self-similarity value E nx for the candidate pattern m nx is now determined, for example by summing up in the form: e nx = Σ k . l A ¨ similarity between i k and i l
Figure imgb0001

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. E nx : = E nx + 2 ;
    Figure imgb0002
  • wenn nicht, dann wird Enx nur um den Durchschnittswert aller Zellen dieser Zeile inkrementiert, d.h. E nx : = E nx + Zeilendurchschnitt .
    Figure imgb0003
Alternatively, an evaluation scheme can also be used which statistically evaluates or evaluates the values in the cells of the similarity matrix, preferably in the form:
  • if at least one cell per line has the entry "1", then E nx is incremented by 2 ie e nx : = e nx + 2 ;
    Figure imgb0002
  • if not, then E nx is only incremented by the average of all cells of that row, ie e nx : = e nx + Line average ,
    Figure imgb0003

Der Eigenähnlichkeitswert Enx des Kandidatenmusters mnx wird auch als "Loopfitness" des Kandidatenmusters mnx bezeichnet.The self-similarity value E nx of the candidate pattern m nx is also referred to as "loopfitness" of the candidate pattern m nx .

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. E n = x E nx * P n .

Figure imgb0004
The self-similarity value E n of the list L n is then obtained as the sum of the eigen similarity values E nx of all candidate patterns m nx of the list L n multiplied by the channel coverage P reaching all instances of all candidate patterns m nx of the list L n , ie e n = Σ x e nx * P n ,
Figure imgb0004

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.: P n = 1 2 x , i t nxi T p + x , i n nxi N p
    Figure imgb0005
Under the channel coverage P n of a list L n of a channel ch p becomes either
  • the temporal coverage of the channel, as the sum of the durations t nxi of all instances i of all candidate patterns m nx of the channel, relative to the total duration Tp of the channel chp; or
  • the notional coverage of the channel, as the sum of the number of notes n nxi in all instances i of all candidate patterns m nx of the channel, relative to the total number N p of notes of the chp channel; or preferred
  • both the temporal and the nominal coverage in weighted form, for example, equally weighted, ie: P n = 1 2 Σ x . i t nxi T p + Σ x . i n nxi N p
    Figure imgb0005

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.In an optional step that lists L can, after determining the intrinsic similarity values E n of the lists L n, for example, immediately after step b), for a particular channel chp all n of the channel ch are deleted p whose intrinsic similarity values E n a predetermined threshold value do not reach. The threshold value can preferably be specified adaptively or dynamically, for example as a percentage of the highest eigennormality value E n of all channels L n of the channel chp, eg as at least 70% or more preferably as approximately 85% of the highest self-similarity value E n of all lists L n of the channel ch p .

c) Berechnung der Koinzidenzwertec) Calculation of the coincidence values

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.In step c), for each list L n, coincidence values are calculated, between each list L n of each channel chp and each list L n of each other channel ch p ' , as in FIGS Fig. 17 and 18 outlined.

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. Fig. 18 shows - representative of all these coincidence value calculations - the first list L 21 of the channel ch 2 , which is in each case compared with all other lists (but not with the lists of its own channel ch 2 ) in order to obtain coincidence values K 21-12 , K 21- 31 , etc., generally K pn-p'n ' (with p' ≠ p), from which then a total coincidence value K pn for each list L pn is determined, as described below.

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.According to Fig. 17 is a coincidence value from the temporal overlaps u of the instances i i of two lists to be compared - Fig. 17 for the sake of simplicity only referred to as L 1 and L 2 - calculated: The coincidence value K pn-p'n ' is the sum of all time durations t i of those instance overlaps u, which are considered below, based on the time duration T of the entire considered channel chp.

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.Only those overlaps u of instances i i of a candidate pattern m 1x of the list L 1 with instances i i of the candidate patterns m 2x of the other list L 2 are taken into account, which occur at least twice, and then only those overlaps u which match the candidate candidates - generate the longest overlap times t i . In the example of Fig. 17 this means that the candidate pattern m 1b (ie its three instances i 1 , i 2 , i 3 ) overlaps three times with instances of one and the same candidate pattern of the second list L 2 , with the three instances i 1 , i 2 and i 5 the candidate pattern m 2a at the overlap times t 1 , t 2 and t 5 ; and only these overlap periods to be considered for the candidate pattern m 1b.

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.All further overlaps of the candidate pattern m 1b with instances of other candidate patterns, for example the instances i 1 and i 4 of m 2b , are disregarded because these overlaps are shorter than the aforementioned ones. Also, the repeated overlapping of the instance i 2 of m 1b with the instance i 3 of m 2a is not counted, but only a single double overlap per instance of the first list L 1 , namely the time-longest.

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.Likewise, repeated overlaps v of the instances i 1 and i 2 of the candidate pattern m 1a with the instances i 1 and i 2 of the candidate pattern m 2b are disregarded because already the overlaps u of the instances i 3 and i 4 of m 1a with the instances i 1 and i u m were taken into account by 2a.

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.The coincidence value K pn-p'n ' can optionally be for instances coinciding exactly in their beginning or end - in the example shown in FIG Fig. 17 the coincident beginnings of the first instances i 1 of the candidate patterns m 1b and m 2a and the coincidence of the ends of the third instances i 3 of m 1a and m 2a and the starts of the fourth instances i 4 of m 1a and m 2a - for each coincidence especially increased, for example by a predetermined "bonus value" be incremented.

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: K pn - pʹnʹ = i t pn , i T p mit T p = T .

Figure imgb0006
Coming back to the general notation of Fig. 18 Thus, for example, for the list L pn of the channel chp, the following coincidence values K pn-p'n 'result from the lists of all other channels: K pn - p'n' = Σ i t pn . i T p With T p = T p' ,
Figure imgb0006

d) Verknüpfung der Eigenähnlichkeits- und Koinzidenzwerted) Linking the self-similarity and coincidence values

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.The inherent similarity values determined for each list L E pn pn pn and coincidence values K p 'n' are linked to form a total value of G pn pn the list L, for example, by summing, multiplication or other mathematical operations.

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.Preferably, the following relationship is applied: As in Fig. 18 For example, for a list, for example the first list L 21 of the second channel ch 2 , only those coincidence values K 21-p'n 'are taken into account with respect to the lists L p'n' of the other channels ch p ' which are present in each channel each have the highest value. In the example shown, these are the coincidence value K 21-12 to the second list L 12 of the first channel ch 1 and the coincidence value K 21-31 to the first list L 31 of the third channel ch 3 .

Diese kanalmaximalen Koinzidenzwerte werden zu einem Gesamt-Koinzidenzwert Kpn für die Liste Lpn aufsummiert, d.h.: K pn = m in ax K pn - pʹnʹ .

Figure imgb0007
These channel-maximum coincidence values are added up to a total coincidence value K pn for the list L pn , ie: K pn = Σ p' m in ax p' K pn - p'n' ,
Figure imgb0007

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: G pn = E pn * K pn

Figure imgb0008
The total coincidence value K pn of the list L pn is then multiplied by the intrinsic similarity value E pn of the list L pn to give a total value G pn for the list L pn : G pn = e pn * K pn
Figure imgb0008

Anschließend wird in jedem Kanal chp jeweils jene Liste Lp gesucht, welche den höchsten Gesamtwert Gp G p = m in ax p G pn

Figure imgb0009
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.Subsequently, in each channel ch p, respectively that list L p is sought which has the highest total value Gp G p = m in ax p G pn
Figure imgb0009
Has. In the in Fig. 19 shown example, which on the input sequences of Fig. 1 and 2 that is, the list L 12 as the result list L 1 of the first channel ch 1 , the list L 21 as the result list L 2 of the second channel ch 2, and the list L 33 as the result list L 3 of the third channel ch 3 .

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.The candidate patterns m px of the lists Lp represent the respectively best-known, similarly recurring note patterns of the channel for each channel chp, taking into account its structural relationships to all other channels, as in Fig. 20 shown.

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.The invention is not limited to the illustrated embodiments, but includes all variants and modifications that fall within the scope of the appended claims.

Claims (15)

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. A method of recognizing similar recurring patterns of notes in a piece of music comprising note sequences (q) distributed on parallel channels (ch), comprising the steps of: a) repeatedly segmenting each channel (ch) by varying segment length and start and, for each type of segmentation, determining mutually similar segments (S) and storing them in lists (L) of candidate patterns (m) with their respective instances (i), one list per segmentation type and channel; b) calculating a self-similarity value (E) for each list (L) based on the similarities of the instances (i) of each candidate pattern (m) of a list with one another; c) calculating coincidence values (K) for each list (L) of each channel (ch) against the lists of all other channels, each on the overlaps (u) of instances (i) of a candidate pattern (m) of the one list (L) is based on instances (i) of a candidate pattern (m) of the other list (L) if they overlap at least twice; and d) associating the self-similarity and coincidence values (E, K) of each list (L) with a total value (G) per list and using the pattern candidates (m) of the highest totality lists (L) in each channel (ch ) as recognized note patterns of the channel. 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. Method according to Claim 1, characterized in that the following additional step is carried out in step a): a1) detecting the pattern (m) recurring in a channel (ch), selecting therefrom the pattern bestabdekkenden and storing it in another list (L) of candidate patterns (m) with their respective instances (i) per channel. 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.Method according to Claim 2, characterized in that, in step a1), the detection of identical recurring patterns (m) is carried out by means of the correlation matrix method known per se. 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.Method according to Claim 2 or 3, characterized in that, in step a1), the selection of the best-covering patterns (m) is carried out by iteratively selecting the respectively most frequent and / or longest pattern from the detected patterns. 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.Method according to one of claims 1 to 4, characterized in that in step a) the segment length is varied in multiples of the clock unit of the piece of music. 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.A method according to claim 5, characterized in that the segment length is varied from twice the average note duration of the piece of music to half the length of the piece of music. 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.Method according to one of claims 1 to 6, characterized in that in step a) determining mutually similar segments (S) by aligning the scores of two segments, determining a degree of agreement of the two segments and recognizing similarity, if the degree of matching a predetermined threshold exceeds, takes place. Verfahren nach Anspruch 7, dadurch gekennzeichnet, daß das Ausrichten der Noten mittels des an sich bekannten "Dynamic Programming"-Verfahrens erfolgt.A method according to claim 7, characterized in that the alignment of the notes by means of the known "Dynamic Programming" method is carried out. 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).Method according to one of Claims 1 to 8, characterized in that in step b) a similarity matrix of its instances (i) is set up for each candidate pattern (m) of the list (L) whose values correspond to the self-similarity value (E) of the list (L). , preferably weighted by the channel coverage (P) of the candidate pattern (m) of the list (L). 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.Method according to one of Claims 1 to 9, characterized in that at the end of step b) those lists (L) of a channel (ch) whose self-similarity value (E) does not reach a predetermined threshold value are deleted. 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%.A method according to claim 10, characterized in that the predetermined threshold value is a percentage of the highest self-similarity value (E) of all the lists (L) of the channel (ch), preferably at least 70%, more preferably about 85%. 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.Method according to one of claims 1 to 11, characterized in that in step c) only the overlaps (u) to those instances (i) of the other list (L) are taken into account for a particular candidate pattern of a list (L), with which the longest overlaps. 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.Method according to one of Claims 1 to 12, characterized in that, in linking step e), for each list (L) of each channel (ch) only those coincidence values (K) to the lists (L) of the other channels (ch) are considered which represent the highest value there. 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.Method according to one of Claims 1 to 13, characterized in that in the combination of step e) the coincidence values (K) taken into account for a list (L) are respectively summed up. 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.A method according to claim 14, characterized in that, in the linking of step e), the accumulated coincidence values (K) are multiplied by the self-similarity value (E) of the list (L) to said total value (G).
EP08450164A 2008-10-22 2008-10-22 Method to detect note patterns in pieces of music Withdrawn EP2180463A1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP08450164A EP2180463A1 (en) 2008-10-22 2008-10-22 Method to detect note patterns in pieces of music
EP09755830A EP2351017B1 (en) 2008-10-22 2009-10-15 Method for recognizing note patterns in pieces of music
PCT/AT2009/000401 WO2010045665A1 (en) 2008-10-22 2009-10-15 Method for recognizing note patterns in pieces of music
US13/125,200 US8283548B2 (en) 2008-10-22 2009-10-15 Method for recognizing note patterns in pieces of music

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP08450164A EP2180463A1 (en) 2008-10-22 2008-10-22 Method to detect note patterns in pieces of music

Publications (1)

Publication Number Publication Date
EP2180463A1 true EP2180463A1 (en) 2010-04-28

Family

ID=40365403

Family Applications (2)

Application Number Title Priority Date Filing Date
EP08450164A Withdrawn EP2180463A1 (en) 2008-10-22 2008-10-22 Method to detect note patterns in pieces of music
EP09755830A Not-in-force EP2351017B1 (en) 2008-10-22 2009-10-15 Method for recognizing note patterns in pieces of music

Family Applications After (1)

Application Number Title Priority Date Filing Date
EP09755830A Not-in-force EP2351017B1 (en) 2008-10-22 2009-10-15 Method for recognizing note patterns in pieces of music

Country Status (3)

Country Link
US (1) US8283548B2 (en)
EP (2) EP2180463A1 (en)
WO (1) WO2010045665A1 (en)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5935503B2 (en) * 2012-05-18 2016-06-15 ヤマハ株式会社 Music analysis apparatus and music analysis method
JP5799977B2 (en) * 2012-07-18 2015-10-28 ヤマハ株式会社 Note string analyzer
US9263013B2 (en) * 2014-04-30 2016-02-16 Skiptune, LLC Systems and methods for analyzing melodies
US11132983B2 (en) 2014-08-20 2021-09-28 Steven Heckenlively Music yielder with conformance to requisites
JP6160599B2 (en) 2014-11-20 2017-07-12 カシオ計算機株式会社 Automatic composer, method, and program
JP6160598B2 (en) * 2014-11-20 2017-07-12 カシオ計算機株式会社 Automatic composer, method, and program
US9672800B2 (en) * 2015-09-30 2017-06-06 Apple Inc. Automatic composer
US9852721B2 (en) 2015-09-30 2017-12-26 Apple Inc. Musical analysis platform
US9804818B2 (en) 2015-09-30 2017-10-31 Apple Inc. Musical analysis platform
US9824719B2 (en) 2015-09-30 2017-11-21 Apple Inc. Automatic music recording and authoring tool
US10074350B2 (en) 2015-11-23 2018-09-11 Adobe Systems Incorporated Intuitive music visualization using efficient structural segmentation
US11615772B2 (en) * 2020-01-31 2023-03-28 Obeebo Labs Ltd. Systems, devices, and methods for musical catalog amplification services

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2354095A (en) * 1999-05-21 2001-03-14 Yamaha Corp Supplying musical content via a communication network
US6225546B1 (en) * 2000-04-05 2001-05-01 International Business Machines Corporation Method and apparatus for music summarization and creation of audio summaries
DE102004047068A1 (en) * 2004-09-28 2006-04-06 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for grouping temporal segments of a piece of music

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW333644B (en) * 1995-10-30 1998-06-11 Victor Company Of Japan The method for recording musical data and its reproducing apparatus
US6747201B2 (en) * 2001-09-26 2004-06-08 The Regents Of The University Of Michigan Method and system for extracting melodic patterns in a musical piece and computer-readable storage medium having a program for executing the method
JP3613254B2 (en) * 2002-03-20 2005-01-26 ヤマハ株式会社 Music data compression method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2354095A (en) * 1999-05-21 2001-03-14 Yamaha Corp Supplying musical content via a communication network
US6225546B1 (en) * 2000-04-05 2001-05-01 International Business Machines Corporation Method and apparatus for music summarization and creation of audio summaries
DE102004047068A1 (en) * 2004-09-28 2006-04-06 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for grouping temporal segments of a piece of music

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
"Algorithmen zur Ausrichtung und zum Ähnlichkeitsvergleich von Notensubsequenzen", DYNAMIC PROGRAMMING
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, XP011036252
HU NING; DANNENBERG ROGER B.; LEWIS ANN L.: "A Probabilistic Model of Melodic Similarity", PROCEEDINGS OF THE ICMC, 2002
JIA-LIEN HSU ET AL: "Discovering Nontrivial Repeating Patterns in Music Data", IEEE TRANSACTIONS ON MULTIMEDIA, IEEE SERVICE CENTER, PISCATAWAY, NJ, US, vol. 3, no. 3, 1 September 2001 (2001-09-01), pages 311 - 325, XP011036252, ISSN: 1520-9210 *
JOSE R. ZAPATA ET AL: "Efficient Detection of Exact Redundancies in Audio Signals", AUDIO ENGINNERING SOCIETY 125TH CONVENTION (CONVENTION PAPER 7504), 2 October 2008 (2008-10-02) - 5 October 2008 (2008-10-05), San Francisco, CA, USA, XP002517579, Retrieved from the Internet <URL:http://www.aes.org/e-lib/browse.cfm?elib=14657> [retrieved on 20090303] *
KILIAN JÜRGEN; HOOS HOLGER H.: "MusicBLAST - Gapped Sequence Alignment for MIR", International Conference on Music Information Retrieval (ISMIR", STRING MATCHING, 2004

Also Published As

Publication number Publication date
WO2010045665A1 (en) 2010-04-29
US8283548B2 (en) 2012-10-09
EP2351017A1 (en) 2011-08-03
US20110259179A1 (en) 2011-10-27
EP2351017B1 (en) 2013-01-02

Similar Documents

Publication Publication Date Title
EP2351017B1 (en) Method for recognizing note patterns in pieces of music
EP1371055B1 (en) Device for the analysis of an audio signal with regard to the rhythm information in the audio signal using an auto-correlation function
EP1797552B1 (en) Method and device for the extraction of a melody on which an audio signal is based
EP1523719B1 (en) Device and method for characterising an information signal
DE69907498T2 (en) METHOD FOR QUICKLY DETECTING THE TONE HEIGHT
EP1368805B1 (en) Method and device for characterising a signal and method and device for producing an indexed signal
EP1407446B1 (en) Method and device for characterising a signal and for producing an indexed signal
DE10123366C1 (en) Device for analyzing an audio signal for rhythm information
WO2006039995A1 (en) Method and device for harmonic processing of a melodic line
EP2099024A1 (en) Method for acoustic object-oriented analysis and note object-oriented processing of polyphonic sound recordings
EP1794745A1 (en) Device and method for changing the segmentation of an audio piece
WO2006039993A1 (en) Method and device for smoothing a melody line segment
WO2002084641A1 (en) Method for converting a music signal into a note-based description and for referencing a music signal in a data bank
EP1794743B1 (en) Device and method for arranging in groups temporal segments of a piece of music
EP1787283A1 (en) Extraction of a melody on which an audio signal is based
DE102004028693B4 (en) Apparatus and method for determining a chord type underlying a test signal
WO2006005448A1 (en) Method and device for the rhythmic processing of audio signals
EP1377924B1 (en) Method and device for extracting a signal identifier, method and device for creating a database from signal identifiers and method and device for referencing a search time signal
EP1671315A1 (en) Process and device for characterising an audio signal
DE10253868B3 (en) Test and reference pattern synchronization method e.g. for speech recognition system, has test pattern potential synchronization points associated with reference synchronization points
EP1743324A1 (en) Device and method for analysing an information signal
DE102006014507B4 (en) Method and device for classifying and assessing musical instruments of the same instrument groups

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): 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

AX Request for extension of the european patent

Extension state: AL BA MK RS

AKY No designation fees paid
REG Reference to a national code

Ref country code: DE

Ref legal event code: 8566

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20101029