EP2351017B1 - Method for recognizing note patterns in pieces of music - Google Patents

Method for recognizing note patterns in pieces of music Download PDF

Info

Publication number
EP2351017B1
EP2351017B1 EP09755830A EP09755830A EP2351017B1 EP 2351017 B1 EP2351017 B1 EP 2351017B1 EP 09755830 A EP09755830 A EP 09755830A EP 09755830 A EP09755830 A EP 09755830A EP 2351017 B1 EP2351017 B1 EP 2351017B1
Authority
EP
European Patent Office
Prior art keywords
list
channel
patterns
instances
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.)
Not-in-force
Application number
EP09755830A
Other languages
German (de)
French (fr)
Other versions
EP2351017A1 (en
Inventor
Brigitte Rafael
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 EP09755830A priority Critical patent/EP2351017B1/en
Publication of EP2351017A1 publication Critical patent/EP2351017A1/en
Application granted granted Critical
Publication of EP2351017B1 publication Critical patent/EP2351017B1/en
Not-in-force legal-status Critical Current
Anticipated expiration legal-status Critical

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 herein for a multi-channel piece of music is to be understood in its most general form, i. both in the sense of a single (monophonic) voice of a polyphonic sentence, in the sense of a (possibly polyphonic) instrumental voice, such as a bass, trumpet, string, percussion, piano parts, etc., as well as in the sense of a technical Channels like a midi channel, which can contain both monophonic and polyphonic voices, parts or their combinations, 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 Method 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). in that, for each candidate pattern of the list, a similarity matrix of its instances is set up 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 preferably 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.
  • step d) for each list of each channel only those coincidence values to the lists of the other channels are taken into account, which there represent the highest value, which further improves the recognition rate.
  • 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 ch p ), 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) for detecting the identical recurring in a channel ch p touch pattern (identical "loops") at first a correlation matrix according to Hsu Jia-Lien et al for each channel ch p. (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” indicates that the pattern of length 3 ("3-loop") consisting of this, the previous and the previous notes appears a second time in this line, etc.
  • a provisional list can be set according to Fig. 5 in which identity patterns m I , m II , m III , m IV , etc. found as identically identifiable, with the positions of their occurrence or occurrence in the note sequence q p , ie their so-called “instances”, as well as their length and frequency are listed.
  • step a1) results in each channel ch p a first list L 1 of candidate patterns m 1 a m 1b (generally m 1x), that the channel ch p or its sequence of notes q p without overlap, and as far as possible, that is without gaps as possible cover, see Fig. 8 ,
  • step a) a second approach is followed.
  • Each channel ch p (or its note sequence q p ) is repeated and each segmented in different ways, with varying 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. If desired, for shortening the method could also be terminated earlier, ie the segment length can be varied, for example, only 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%.
  • instances i i a candidate pattern resulting from the note sequence of one (eg the first) of these segments.
  • the candidate patterns thus 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 ,
  • 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 exemplary 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 specific channel ch p all n of the channel ch are deleted p whose intrinsic similarity values E n a predetermined Do not reach threshold.
  • the threshold value can preferably be specified adaptively or dynamically, for example as a percentage of the highest eigennormality value E n of all lists L n of the channel ch p , eg as at least 70% or particularly preferably as approximately 85% of the highest eigennormality value E n of all lists L n des Channel ch p .
  • step c) for each list L n, coincidence values are calculated, between each list L n of each channel ch p and each list L n of each other channel ch p ' , as in US Pat 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 ch p .
  • the candidate pattern m 1b (ie its three instances i i , i 2 , i 3 ) overlaps three times with instances of one and the same candidate pattern of the second list L 2 , namely with the three instances i i , 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 times are 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 eigen similarity values E pn and coincidence values K pn-p'n ' determined for each list L pn are linked to a total value G pn of the list L pn , for example by summing, multiplying or other mathematical operations.
  • 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' Max in p' K pn - p'n' ,
  • the candidate patterns m px of the lists L p thus represent the best known for each channel ch p , taking into account its structural relationships with all other channels, similar recurring note pattern of the channel, as in Fig. 20 shown.

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, motifs, 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 techniques are often based on the use of dynamic programming algorithms for alignment and similarity comparison Grade 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. Im Dokument EFFICIENT DETECTION OF EXACT REDUNDANCIES IN AUDIOSIGNALS von Zapata et al. (125th AES Convention 02-10-2008, San Francisco, CA, USA ) offenbart zwar den Begriff "Finding Inter-Channel Redundancy" (siehe Abschnitt 4), aber gibt keinen Hinweis zur Realisierung einer solchen Aufgabe. 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. In the document EFFICIENT DETECTION OF EXACT REDUNDANCIES IN AUDIO SIGNALS by Zapata et al. (125th AES Convention 02-10-2008, San Francisco, CA, USA ) discloses the term "Finding Inter-Channel Redundancy" (see Section 4), but gives no hint to the realization of such a task. The inventors of the present method have recognized that this is a significant disadvantage of the known methods, because structural information which is contained precisely in the musical parallelism of the channels, ie their rhythmic, melodic and polyphonic contexts, remains completely disregarded, as reflected in the low satisfactory detection rate and quality of the known methods reflected.

Es besteht daher ein ungebrochener Bedarf nach einem verbesserten Mustererkennungsverfahren für mehrkanalige Musikstükke. 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 music pieces. 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 mutually similar segments and storing them 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 of which is based on the overlaps of instances of a candidate pattern of the one list of instances of a candidate pattern 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 that the term "channel" used herein for a multi-channel piece of music is to be understood in its most general form, i. both in the sense of a single (monophonic) voice of a polyphonic sentence, in the sense of a (possibly polyphonic) instrumental voice, such as a bass, trumpet, string, percussion, piano parts, etc., as well as in the sense of a technical Channels like a midi channel, which can contain both monophonic and polyphonic voices, parts or their combinations, 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 Method 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). in that, for each candidate pattern of the list, a similarity matrix of its instances is set up 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 preferably 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 d) 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 d) for each list of each channel only those coincidence values to the lists of the other channels are taken into account, which there represent the highest value, which further improves the recognition rate.

Aus demselben Grund wird bevorzugt vorgesehen, daß bei dem Verknüpfen von Schritt d) 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 d), 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ückes, 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 ch p ), 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 should be understood, however, that the method presented herein is equally well suited for polyphonic note sequences in the channels, and accordingly, extended identity comparisons, e.g. 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 process of the method based on its basic five steps a1), a), b), c) and d), which will be 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) for detecting the identical recurring in a channel ch p touch pattern (identical "loops") at first, a correlation matrix according to Hsu Jia-Lien et al for each channel ch p. (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" indicates that the pattern of length 3 ("3-loop") consisting of this, the previous and the previous notes appears a second time in this line, etc. For details of the correlation matrix method, reference is made 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 identity patterns m I , m II , m III , m IV , etc. found as identically identifiable, with the positions of their occurrence 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 common and / or longest patterns m I , m II , etc. It is particularly preferable to use the following criterion 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ückenfrei abdecken, siehe Fig. 8.As a result of step a1), this results in each channel ch p a first list L 1 of candidate patterns m 1 a m 1b (generally m 1x), that the channel ch p or its sequence of notes q p without overlap, and as far as possible, that is without gaps as possible cover, see Fig. 8 ,

a) Musterdetektion mittels Segmentähnlichkeitsvergleich a) 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 ch p (or its note sequence q p ) is repeated and each segmented in different ways, with varying 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 shortening the method could also be terminated earlier, ie the segment length can be varied, for example, only 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, weights are now allocated for the progression from cell to cell, eg in the present example the "Dynamic Programming" weights {0, 0, 0, 1} as ("punishment for insert"). , "Penalty for Delete", "Punishment for Replace", "Points for Match"} For details of the "Dynamic Programming" procedure refer to Kilian Jürgen et al. (Ibid.) And Hu Ning et al. (Ibid.) , which also contain other literature 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 ch p . For example, this leads to the recognition of a similarity for the segmentation type II of the channel ch p between the segments S 1 , S 3 and S 6 , as in 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 understood as instances i i, a candidate pattern resulting from the note sequence of one (eg the first) of these segments. The candidate patterns thus 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 ch p 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 Ahnlichkeitsmatrix für die Instanzen i1, i2, i3 und i4 eines Kandidatenmusters mn der Liste Ln: Die Zellen der Matrix geben den Ahnlichkeitsgrad, 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 exemplary 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 which reach 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 T p of the channel ch p ; or
  • the nominal 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 channel ch p ; 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 specific channel ch p all n of the channel ch are deleted p whose intrinsic similarity values E n a predetermined Do not reach threshold. The threshold value can preferably be specified adaptively or dynamically, for example as a percentage of the highest eigennormality value E n of all lists L n of the channel ch p , eg as at least 70% or particularly preferably as approximately 85% of the highest eigennormality value E n of all lists L n des Channel ch p .

c) Berechnung der Koinzidenzwerte c) 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 ch p and each list L n of each other channel ch p ' , as in US Pat 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 ch p .

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 ii, i2, i3) überlappt sich dreimal mit Instanzen ein und desselben Kandidatenmusters der zweiten Liste L2, und zwar mit den drei Instanzen ii, 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 - longest overlap times generate t i . In the example of Fig. 17 this means that the candidate pattern m 1b (ie its three instances i i , i 2 , i 3 ) overlaps three times with instances of one and the same candidate pattern of the second list L 2 , namely with the three instances i i , 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 times are 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 of m 2a were taken into account.

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 ch p, 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 eigen similarity values E pn and coincidence values K pn-p'n ' determined for each list L pn are linked to a total value G pn of the list L pn , for example by summing, multiplying 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 = max in pʹ 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' Max in 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 = max in 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 that list L p is sought which has the highest total value G p G p = Max in 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 L p thus represent the best known for each channel ch p , taking into account its structural relationships with all other channels, similar recurring note pattern of the channel, 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)

  1. Method for recognising similarly recurring patterns of notes in a piece of music, which contains note sequences (q) distributed on parallel channels (ch), with the following steps:
    a) repeatedly segmenting each channel (ch) by varying segment length and segment beginning and, for each type of segmentation, determining segments (S) that are similar to one another and storing these in lists (L) of candidate patterns (m) with their respective instances (i), i.e. one list respectively for each type of segmentation and channel;
    b) calculating an intrinsic similarity value (E) for each list (L), which is 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) for each channel (ch) with respect to the lists for all other channels, which is respectively based on the overlaps (u) of instances (i) of a candidate pattern (m) of one list (L) with instances (i) of a candidate pattern (m) of the other list (L) when these overlap at least twice; and
    d) combining the intrinsic similarity and coincidence values (E, K) for each list (L) to form a total value (G) for each list and using the pattern candidates (m) in the lists (L) with the highest total value (G) in each channel (ch) as recognised note patterns in the channel.
  2. Method according to claim 1, characterised in that in step a) the following step is additionally conducted:
    a1) detecting the patterns (m) identically recurring in a channel (ch), selecting therefrom the patterns best covering the channel and storing these in a further list (L) of candidate patterns (m) with their respective instances (i) for each channel.
  3. Method according to claim 2, characterised in that in step a1) the detection of identically recurring patterns (m) is conducted by means of the correlation matrix method known per se.
  4. Method according to claim 2 or 3, characterised in that in step a1) the selection of the best covering patterns (m) is achieved by iterative selection of the respective most frequent and/or longest pattern from the detected patterns.
  5. Method according to one of claims 1 to 4, characterised in that in step a) the segment length is varied in multiples of the rhythmic unit of the piece of music.
  6. Method according to claim 5, characterised in that the segment length is varied from double the average note duration of the piece of music to half the length of the piece of music.
  7. Method according to one of claims 1 to 6, characterised in that in step a) the determination of segments (S) that are similar to one another is achieved by aligning the notes of two segments with one another, determining a degree of consistency of both segments and recognising similarity when the degree of consistency exceeds a preset threshold value.
  8. Method according to claim 7, characterised in that the alignment of the notes is achieved by means of the "dynamic programming" method known per se.
  9. Method according to one of claims 1 to 8, characterised in that in step b) for each candidate pattern (m) for the list (L) a similarity matrix of its instances (i) is drawn up, the values of which are combined to form the intrinsic similarity value (E) for the list (L), preferably with weighting by the channel coverage (P) of the candidate patterns (m) for the list (L).
  10. Method according to one of claims 1 to 9, characterised in that at the end of step b) those lists (L) for a channel (ch) whose intrinsic similarity value (E) do not reach a preset threshold value are deleted.
  11. Method according to claim 10, characterised in that the preset threshold value is a percentage of the highest intrinsic similarity value (E) of all lists (L) for the channel (ch), preferably at least 70%, particularly preferred about 85%.
  12. Method according to one of claims 1 to 11, characterised in that in step c) for a specific candidate pattern of a list (L) only the overlaps (u) with those instances (i) of the other list (L), with which the longest overlaps in time are present, are taken into consideration.
  13. Method according to one of claims 1 to 12, characterised in that in combining step d) for each list (L) for each channel (ch) only those coincidence values (K) to the lists (L) of the other channels (ch) that represent the respectively highest value there are taken into consideration.
  14. Method according to one of claims 1 to 13, characterised in that in combining step d) the coincidence values (K) taken into consideration for a list (L) are respectively added up.
  15. Method according to claim 14, characterised in that in combining step d) the added coincidence values (K) are multiplied by the intrinsic similarity value (E) for the list (L) to form the said total value (G).
EP09755830A 2008-10-22 2009-10-15 Method for recognizing note patterns in pieces of music Not-in-force EP2351017B1 (en)

Priority Applications (1)

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

Applications Claiming Priority (3)

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
PCT/AT2009/000401 WO2010045665A1 (en) 2008-10-22 2009-10-15 Method for recognizing note patterns in pieces of music
EP09755830A EP2351017B1 (en) 2008-10-22 2009-10-15 Method for recognizing note patterns in pieces of music

Publications (2)

Publication Number Publication Date
EP2351017A1 EP2351017A1 (en) 2011-08-03
EP2351017B1 true EP2351017B1 (en) 2013-01-02

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 Before (1)

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

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
US9804818B2 (en) 2015-09-30 2017-10-31 Apple Inc. Musical analysis platform
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
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

Family Cites Families (6)

* 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
JP2001042866A (en) * 1999-05-21 2001-02-16 Yamaha Corp Contents provision method via network and system therefor
US6225546B1 (en) * 2000-04-05 2001-05-01 International Business Machines Corporation Method and apparatus for music summarization and creation of audio summaries
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
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

Also Published As

Publication number Publication date
US8283548B2 (en) 2012-10-09
EP2180463A1 (en) 2010-04-28
EP2351017A1 (en) 2011-08-03
US20110259179A1 (en) 2011-10-27
WO2010045665A1 (en) 2010-04-29

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
EP1523719B1 (en) Device and method for characterising an information signal
EP1797552B1 (en) Method and device for the extraction of a melody on which an audio signal is based
EP2099024B1 (en) Method for acoustic object-oriented analysis and note object-oriented processing of polyphonic sound recordings
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
EP1794745A1 (en) Device and method for changing the segmentation of an audio piece
WO2006039995A1 (en) Method and device for harmonic processing of a melodic line
WO2006039993A1 (en) Method and device for smoothing a melody line segment
EP1794743B1 (en) Device and method for arranging in groups temporal segments of a piece of music
WO2006039992A1 (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
EP1381024B1 (en) Method for retrieving a tone sequence

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

17P Request for examination filed

Effective date: 20110517

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 MK MT NL NO PL PT RO SE SI SK SM TR

DAX Request for extension of the european patent (deleted)
GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

GRAS Grant fee paid

Free format text: ORIGINAL CODE: EPIDOSNIGR3

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

AK Designated contracting states

Kind code of ref document: B1

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 MK MT NL NO PL PT RO SE SI SK SM TR

REG Reference to a national code

Ref country code: GB

Ref legal event code: FG4D

Free format text: NOT ENGLISH

REG Reference to a national code

Ref country code: AT

Ref legal event code: REF

Ref document number: 591988

Country of ref document: AT

Kind code of ref document: T

Effective date: 20130115

Ref country code: CH

Ref legal event code: EP

REG Reference to a national code

Ref country code: IE

Ref legal event code: FG4D

Free format text: LANGUAGE OF EP DOCUMENT: GERMAN

REG Reference to a national code

Ref country code: DE

Ref legal event code: R096

Ref document number: 502009005893

Country of ref document: DE

Effective date: 20130314

REG Reference to a national code

Ref country code: NL

Ref legal event code: VDEP

Effective date: 20130102

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: SI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20130102

REG Reference to a national code

Ref country code: LT

Ref legal event code: MG4D

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: NO

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20130402

Ref country code: ES

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20130413

Ref country code: SE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20130102

Ref country code: IS

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20130502

Ref country code: LT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20130102

Ref country code: CZ

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20130102

Ref country code: BG

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20130402

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: FI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20130102

Ref country code: NL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20130102

Ref country code: LV

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20130102

Ref country code: PL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20130102

Ref country code: PT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20130502

Ref country code: GR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20130403

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: HR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20130102

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: DK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20130102

Ref country code: EE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20130102

Ref country code: RO

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20130102

Ref country code: SK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20130102

PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

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

Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: CY

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20130102

26N No opposition filed

Effective date: 20131003

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: IT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20130102

REG Reference to a national code

Ref country code: DE

Ref legal event code: R097

Ref document number: 502009005893

Country of ref document: DE

Effective date: 20131003

BERE Be: lapsed

Owner name: OERTL, STEFAN M.

Effective date: 20131031

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: MC

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20130102

REG Reference to a national code

Ref country code: CH

Ref legal event code: PL

REG Reference to a national code

Ref country code: IE

Ref legal event code: MM4A

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: LI

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20131031

Ref country code: CH

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20131031

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: BE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20131031

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: IE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20131015

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: SM

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20130102

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: TR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20130102

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: MK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20130102

Ref country code: LU

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20131015

Ref country code: HU

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT; INVALID AB INITIO

Effective date: 20091015

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: MT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20130102

REG Reference to a national code

Ref country code: FR

Ref legal event code: PLFP

Year of fee payment: 7

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: GB

Payment date: 20151026

Year of fee payment: 7

Ref country code: DE

Payment date: 20151022

Year of fee payment: 7

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: AT

Payment date: 20151021

Year of fee payment: 7

Ref country code: FR

Payment date: 20151026

Year of fee payment: 7

REG Reference to a national code

Ref country code: DE

Ref legal event code: R119

Ref document number: 502009005893

Country of ref document: DE

REG Reference to a national code

Ref country code: AT

Ref legal event code: MM01

Ref document number: 591988

Country of ref document: AT

Kind code of ref document: T

Effective date: 20161015

GBPC Gb: european patent ceased through non-payment of renewal fee

Effective date: 20161015

REG Reference to a national code

Ref country code: FR

Ref legal event code: ST

Effective date: 20170630

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: GB

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20161015

Ref country code: FR

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20161102

Ref country code: DE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20170503

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: AT

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20161015