[go: up one dir, main page]

EP1794745B1 - Device and method for changing the segmentation of an audio piece - Google Patents

Device and method for changing the segmentation of an audio piece Download PDF

Info

Publication number
EP1794745B1
EP1794745B1 EP05762452A EP05762452A EP1794745B1 EP 1794745 B1 EP1794745 B1 EP 1794745B1 EP 05762452 A EP05762452 A EP 05762452A EP 05762452 A EP05762452 A EP 05762452A EP 1794745 B1 EP1794745 B1 EP 1794745B1
Authority
EP
European Patent Office
Prior art keywords
segment
class
segments
similarity
segmentation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
EP05762452A
Other languages
German (de)
French (fr)
Other versions
EP1794745A1 (en
Inventor
Markus Van Pinxteren
Michael Saupe
Markus Cremer
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.)
Fraunhofer Gesellschaft zur Foerderung der Angewandten Forschung eV
Original Assignee
Fraunhofer Gesellschaft zur Foerderung der Angewandten Forschung eV
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 Fraunhofer Gesellschaft zur Foerderung der Angewandten Forschung eV filed Critical Fraunhofer Gesellschaft zur Foerderung der Angewandten Forschung eV
Publication of EP1794745A1 publication Critical patent/EP1794745A1/en
Application granted granted Critical
Publication of EP1794745B1 publication Critical patent/EP1794745B1/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • 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

Definitions

  • the present invention relates to audio segmentation, and more particularly to the analysis of pieces of music on the individual major parts contained in the pieces of music which may occur repeatedly in the piece of music.
  • Rock and pop music mostly consists of more or less distinct segments, such as intro, verse, chorus, bridge, outro, etc. Detecting the start and end times of such segments and the segments according to their affiliation to the most important classes ( Stanza and chorus) is the target of audio segmentation. Correct segmentation and labeling of the calculated segments can be usefully used in different areas. For example, pieces of music from online providers, such as Amazon, Musicline, etc., can be intelligently "played”.
  • Another application example of the technique of audio segmentation is the integration of the segmentation / grouping / marking algorithm into a music player.
  • the information about segment beginnings and segment ends enables the targeted navigation through a piece of music. Due to the class affiliation of the segments, ie whether a segment is a verse, a chorus, etc., z. B. also jump directly to the next chorus or the next stanza.
  • Such an application is of interest to large music markets, offering their customers the opportunity to listen to complete albums. This saves the customer the annoying, searching fast-forward to characteristic parts in the song, which might perhaps cause him to actually buy a piece of music in the end.
  • a WAV file 500 is provided.
  • a feature extraction then takes place, as a feature, extracting the spectral coefficients per se or, alternatively, the mel frequency cepstral coefficients (MFCCs).
  • MFCCs mel frequency cepstral coefficients
  • STFT short-term Fourier transform
  • STFT short-term Fourier transform
  • the MFCC features are then extracted in the spectral range.
  • the extracted features are then stored in a memory 504.
  • the feature extraction algorithm now has a segmentation algorithm that ends in a similarity matrix, as shown in block 506.
  • the feature matrix is read in (508), to then group feature vectors (510), and then build a similarity matrix based on the grouped feature vectors, which consists of a distance measurement between each of all features.
  • all pairs of audio window pairs are compared using a quantitative similarity measure, distance.
  • the structure of the similarity matrix is in Fig. 8 shown. So is in Fig. 8 the music piece is represented as stream or stream 800 of audio samples. The audio piece is windowed as it has been executed, with a first window labeled i and a second window labeled j. Overall, the audio piece has z. B. K windows. This means that the similarity matrix has K rows and K columns. Then, for each window i and for each window j, a similarity measure to each other is calculated, and the calculated similarity measure or distance measure D (i, j) is input to the row or column designated by i and j in the similarity matrix. One column therefore shows the similarity of the window designated by j to all other audio windows in the piece of music.
  • the similarity of the window j to the very first window of the piece of music would then be in the column j and in the line 1.
  • the similarity of the window j to the second window of the piece of music would then be in the column j, but now in the line 2.
  • the similarity of the second window to the first window in the second column of the matrix and in the first row of the matrix would then be in the column j and in the line 1.
  • the matrix is redundant in that it is symmetric to the diagonal, and that on the diagonal the similarity of a window is to itself, which is the trivial case of 100% similarity.
  • FIG. 6 An example of a similarity matrix of a piece is in Fig. 6 to see.
  • the completely symmetrical structure of the matrix with respect to the main diagonal is recognizable, whereby the main diagonal is visible as a light stripe.
  • the main diagonal is not to be seen as a lighter solid line, but off Fig. 6 only approximately recognizable.
  • FIG. 6 A kernel correlation 512 is performed on a kernel matrix 514 to obtain a novelty measure, also known as a novelty score, that could be averaged and smoothed into Fig. 9 is shown.
  • the smoothing of this Novelty Score is in Fig. 5 schematically represented by a block 516.
  • the segment boundaries are read using the smoothed novelty value trace, whereupon the local maxima in the smoothed novelty profile must be determined and possibly even shifted by a constant number of samples caused by the smoothing to actually represent the correct segment boundaries of the audio piece as absolute or relative time.
  • FIG. 7 An example of a segment similarity matrix is in Fig. 7 shown.
  • the similarity matrix in Fig. 7 is basically similar to the feature similarity matrix of Fig. 6 , but now not more, as in Fig. 6
  • Features are used in windows, but features from a whole segment.
  • the segment similarity matrix has a similar meaning to the feature similarity matrix, but with a much coarser resolution, which of course is desired when considering that window lengths are in the order of 0.05 seconds while reasonably long segments are in the order of perhaps 10 seconds of a piece ,
  • a clustering is carried out, ie an arrangement of the segments into segment classes (an arrangement of similar segments in the same segment class), in order then to mark the found segment classes in a block 524, which is also referred to as "labeling".
  • labeling it is determined which segment class contains segments that are stanzas that are choruses that are intros, outros, bridges, and so on.
  • z. B. can be provided to a user, without redundancy of a piece only z. B. a verse, a chorus and the intro to hear.
  • the corresponding feature matrix is read out and loaded into a main memory for further processing.
  • the feature matrix has the dimension number of analysis windows times the number of feature coefficients.
  • the similarity matrix brings the feature course of a piece into a two-dimensional representation.
  • the distance measure is computed, which is recorded in the similarity matrix.
  • There are various possibilities for calculating the distance measure between two vectors namely, for example, the Euclidean distance measurement and the cosine distance measurement.
  • a result D (i, j) between the two feature vectors is stored in the i, jth element of the window similarity matrix (block 506).
  • the main diagonal of the similarity matrix represents the course over the entire piece. Accordingly, the elements of the main diagonal result from the respective comparison of a window with itself and always have the value of the greatest similarity. For the cosine distance measurement this is the value 1, for the simple scalar difference and the Euclidean distance this value is 0.
  • each element i, j is assigned a gray value.
  • the gray values are graded in proportion to the similarity values, so that the maximum similarity (the main diagonal) corresponds to the maximum similarity.
  • the structure of the similarity matrix is important to the novelty measure calculated in kernel correlation 512.
  • the novelty measure arises from the correlation of a particular kernel along the main diagonal of the similarity matrix.
  • An exemplary kernel K is in Fig. 5 shown. If one correlates this kernel matrix along the main diagonal of the similarity matrix S, and thereby sums all the products of the superimposed matrix elements for each time point i of the piece, one obtains the measure of novelty, which in a smoothed form exemplifies Fig. 9 is shown.
  • the kernel K is not in Fig. 5 but an enlarged kernel, which is also superimposed with a Gaussian distribution, so that the edges of the matrix go to zero.
  • the selection of the striking maxima in the novelty course is important for the segmentation.
  • the selection of all maxima of the unsmoothed novelty course would lead to a strong over-segmentation of the audio signal.
  • the novelty measure should be smoothed with different filters, such as IIR filters or FIR filters.
  • segment boundaries of a piece of music are extracted, then similar segments must be identified as such and grouped into classes.
  • Foote and Cooper describe the calculation of a segment-based similarity matrix using a Cullback-Leibler distance.
  • individual segment feature matrices are extracted from the entire feature matrix on the basis of the segment boundaries obtained from the novelty process, ie each of these matrices is a submatrix of the entire feature matrix.
  • the resulting segment similarity matrix 520 is now subjected to Singular Value Decomposition (SVD).
  • an automatic digest of a piece is then performed based on the segments and clusters of a piece of music. For this purpose, first the two clusters with the largest singular values are selected. Then, the segment with the maximum value of the corresponding cluster indicator is added to this summary. This means that the summary includes a stanza and a chorus. Alternatively, all repeated segments can also be removed to ensure that all piece information is provided, but always exactly once.
  • a disadvantage of the known method is the fact that the singular value decomposition (SVD) for segment class formation, that is to say for the assignment of segments to clusters, is very computationally intensive and is problematic in the evaluation of the results. Thus, if the singular values are nearly equal, then a possibly wrong decision is made that the two similar singular values actually represent the same segment class and not two different segment classes.
  • SSVD singular value decomposition
  • the object of the present invention is to achieve a more precise segmentation concept, which should also be compatible with an already existing first segmentation of the audio piece.
  • This object is achieved by a device for changing a segmentation of an audio piece according to claim 1 or 19, a method for changing a segmentation of an audio piece according to claim 18 or 20 or a computer program according to claim 21.
  • the present invention is based on the finding that the over-segmentation is effectively counteracted if, after an original segmentation and subsequent segmentation class assignment, the originally already completed original segmentation is post-corrected.
  • the device according to the invention comprises a segmentation correction device for correcting the segmentation, which is designed to merge a segment having a length which is shorter than a predetermined minimum length with a time predecessor segment or a successor segment, by a changed segmentation of the audio piece to obtain.
  • this post-correction takes place after the first segmentation and the allocation to the segment classes subsequent to the first segmentation, that is also after the clustering.
  • segmentation correction makes it possible for the segmentation correction to merge not only short segments according to certain criteria with a preceding segment and a subsequent segment but also information about the segment class affiliation of the predecessor segment, about the segment class affiliation of the predecessor segment or about the segment class affiliation for this merger of the short segment itself.
  • the segment merge is preferably carried out only to a certain extent as a last resort, if a corresponding short segment could not be merged by previous reviews in which the segment class affiliation of the affected forerunner / successor segments was taken into account.
  • an adaptive segment assignment is performed based on the primary segmentation, however, upon the occurrence of segmentation assignment conflicts, segments that are actually associated with a first segment class are provided with a bias to another class of segment that caused the conflict become. If it then turns out that a segment with such a tendency is at the same time a short segment, and it also turns out that the trend is indicative of a segment class to which the temporally preceding segment or the temporally succeeding segment belongs at the same time, one of the original segmentation of similarity on the basis of this trend or trend.
  • the inventive concept is particularly advantageous in that no portion of the audio piece is completely eliminated.
  • the user who then navigates through the audio piece when all processing is complete, will find segments constituting the changed segmentation whose total length is still equal to the original length of the audio piece.
  • the minimum length of a segment can be adjusted variably, solely on the basis of a temporal threshold value specification, which opens up possibilities in this regard, in particular in connection with a music genre identification, of minimum permissible minimum segment lengths Music genre adapt, especially since different genre of music can bring different lengths segments with it.
  • the concept according to the invention also makes it possible to reduce the number of segment classes by assigning short segments on the basis of a minimum length threshold specification until an expected number is met, without the segment representation of the audio piece comprising holes.
  • a segment is assigned to a segment class based on an adaptive similarity mean for a segment such that the similarity mean takes into account which overall similarity score a segment has in the entire piece.
  • an adaptive similarity mean for a segment
  • the actual assignment of a segment to a segment class ie to a cluster, then becomes apparent based on this similarity mean. For example, if a similarity value of a segment to the segment under consideration is above the similarity mean, then the segment is assigned as belonging to the currently considered segment class. Conversely, if the similarity value of a segment to the segment under consideration is below that similarity mean, it will not be assigned to the segment class.
  • the similarity mean will be lower than for a segment that is a stanza or chorus.
  • the inventive concept is particularly suitable for pieces of music that consist not only of stanzas and choruses, so have the segments that belong to segment class that have the same similarity values, but also for pieces that in addition to stanza and chorus also have other parts, namely an introduction (Intro), an interlude (Bridge) or a finale (Outro).
  • the calculation of the adaptive similarity mean and the assignment of a segment are performed iteratively, ignoring similarity values of assigned segments at the next iteration run. This results in a new maximum similarity absolute value for the next iteration run, ie the sum of the similarity values in a column of the similarity matrix, since the similarity absolute values corresponding to the previously assigned segments have been set to zero.
  • a segmentation post-correction is carried out in such a way that after the segmentation z. B. based on the novelty value (the local maxima of the novelty value) and after a subsequent assignment to segment classes relatively short segments are examined to see if they can be assigned to the predecessor segment or the successor segment, since segments below a minimum Segment length is likely to indicate over-segmentation.
  • a labeling is performed using a special selection algorithm to obtain the most correct labeling of the segment classes as a stanza or chorus.
  • Fig. 1 shows a device for grouping temporal segments of a piece of music, which is divided into main parts repeatedly occurring in the piece of music, into different segment classes, one segment class being assigned to a main part.
  • the present invention thus relates particularly to pieces of music which are subject to a certain structure in which similar sections appear several times and alternate with other sections. Most rock and pop songs have a clear structure in terms of their main parts.
  • the literature deals with the theme of music analysis mainly on the basis of classical music, but it also applies much to rock and pop music.
  • the main parts of a piece of music are also called "large moldings".
  • a large shaped part of a piece is understood to mean a section which, with respect to various features, e.g. B. melody, rhythm, texture, etc., has a relatively uniform nature. This definition applies generally in music theory.
  • ABABCDAB where A equals strophe, B equals refrain, C equals bridge, and D equals solo. Often a piece of music is introduced with a prelude. Intros often consist of the same chord progression as the stanza, but with different instrumentation, eg. B. without drums, without bass or distortion of the guitar in rock songs etc.
  • the apparatus of the invention comprises first means 10 for providing a similarity representation to the segments, the similarity representation having for each segment an associated plurality of similarity values, the similarity values indicating how similar the segment is to each other segment.
  • the similarity representation is preferably that in Fig. 7 shown segment similarity matrix. It has for each segment (in Fig. 7 Segments 1-10) has its own column, which has the index "j". Further, the similarity representation has a separate row for each segment, with one row labeled with a row index i. This will be referred to below with reference to the exemplary segment 5.
  • the element (5,5) in the main diagonal of the matrix of Fig. 7 is the similarity value of the segment 5 with itself, ie the maximum similarity value.
  • segment 5 is still medium-like to the segment No. 6, as it is by the element (6,5) or by the element (5,6) of the matrix in Fig. 7 is designated. Moreover, the segment 5 is still similar to the segments 2 and 3, as represented by elements (2,5) or (3,5) or (5,2) or (5,3) in FIG Fig. 7 is shown. As for the other segments 1, 4, 7, 8, 9, 10, the segment No. 5 has a similarity as described in FIG Fig. 7 is no longer visible.
  • a plurality of similarity values associated with the segment is, for example, a column or a row of the segment similarity matrix in FIG Fig. 7 , which indicates this column or row based on their column / row index which segment it refers to, namely, for example, to the fifth segment, and where this row / column comprises the similarities of the fifth segment to each other segment in the piece.
  • the plurality of similarity values is, for example, a row of the similarity matrix or, alternatively, a column of the similarity matrix of Fig. 7 ,
  • the device for grouping temporal segments of the piece of music further comprises means 12 for calculating a similarity mean for a segment, using the segments and the similarity values of the plurality of similarity values associated with the segment.
  • the device 12 is designed to z. For column 5 in Fig. 7 to calculate a similarity mean.
  • means 12 will add the similarity values in the column and divide by the number of segments in total. In order to eliminate self-similarity, the similarity of the segment to itself could also be deducted from the result of the addition, whereby, of course, a division should no longer be performed by all elements, but by all elements less 1.
  • the means 12 for computing could also calculate the geometric mean, that is, squiggle each similarity value of a column separately to sum the squared results, and then calculate a root from the summation result represented by the number of elements in the column the number of elements in the column is less 1) to divide.
  • Any other mean values, such as the median value, etc., are usable as long as the mean value for each column of the similarity matrix is adaptively calculated, that is, a value calculated using the similarity values of the plurality of similarity values associated with the segment.
  • the adaptively calculated similarity threshold is then provided to a segment 14 for assigning a segment to a segment class.
  • the means 14 for assigning is arranged to associate a segment with a segment class if the similarity value of the segment satisfies a predetermined condition with respect to the mean of similarity. For example, if the similarity mean is such that a larger value indicates greater similarity and a smaller value indicates lesser similarity, then the predetermined relationship will be that the similarity value of a segment must be equal to or above the similarity mean, thus the segment is assigned to a segment class.
  • a segment selection device 16 In a preferred embodiment of the present invention, there are still other devices to realize specific embodiments, which will be discussed later. These devices are a segment selection device 16, a segment assignment conflict device 18, a segmentation correction device 20 and a segment class designation device 22.
  • the segment selector 16 will first calculate the value V (j) for each segment to then find the vector element i of the maximum value vector V. In other words, this means that the column in Fig. 7 chosen becomes the largest value or score when the individual similarity values in the column are added.
  • this segment could be segment no. 5 or column 5 of the matrix in Fig. 7 be, since this segment has at least a certain similarity with three other segments.
  • Another candidate in the example of Fig. 7 could also be the segment with the number 7, since this segment also has a certain similarity to three other segments, which is even greater than the similarity of the segment 5 to the segments 2 and 3 (higher shade of gray in FIG Fig. 7 ).
  • V (7) is the component of the vector V which has the maximum value among all the components of V.
  • segment similarity matrix for the seventh row or column it is checked which segment similarities are above the calculated threshold, i. H. with which segments the ith segment has an above-average similarity. All these segments are now also assigned to a first segment class like the seventh segment.
  • segment no. 10 is not classified in the first segment class due to the below-average similarity to segment no.
  • V (j) of all segments which have been assigned to a cluster in this threshold value analysis are set to 0.
  • V (7) also the components V (4) and V (1). This immediately implies that the 7th, 4th, and 1st columns of the matrix will no longer be available for a later maximum search, that they are zero, so they can not be a maximum.
  • a new maximum is now selected from the remaining elements of V, that is to say V (2), V (3), V (5), V (6), V (8), V (9) and V (10) searched.
  • the segment no. 5, ie V (5), is expected to yield the largest similarity score.
  • the second segment class then obtains segments 5 and 6. Due to the fact that the similarities to segments 2 and 3 are below average, segments 2 and 3 are not placed in the second order clusters.
  • the elements V (6) and V (5) are set to 0 by the vector V due to the assignment made, while still the components V (2), V (3), V (8), V (9) and V (10) of the vector for the selection of the third-order cluster remain.
  • a simple kind of resolution could be to simply not assign the segment 7 into the third segment class and e.g. For example, instead of assigning the segment 4, if for the segment 4 would not also conflict exist.
  • the similarity between 7 and 10 is considered in the following algorithm.
  • the invention is designed not to discount the similarity between i and k. Therefore, the similarity values S s (i, k) of segment i and k are compared with the similarity value S s (i *, k), where i * is the first segment assigned to the cluster C *.
  • the cluster or the segment class C * is the cluster to which segment k is already assigned on the basis of a previous examination.
  • the similarity value S s (i *, k) is decisive for the fact that the segment k belongs to the cluster C *. If S s (i *, k) is greater than S s (i, k), segment k in cluster C * is left.
  • S s (i *, k) is smaller than S s (i, k)
  • the segment k is taken out of the cluster C * and assigned to the cluster C.
  • a tendency towards the cluster i is noted for the cluster C *.
  • this tendency is also noted when segment k changes cluster membership.
  • a tendency of this segment to the cluster in which it was originally recorded is noted.
  • the similarity value check will be in favor of the first segment class due to the fact that the segment 7 is the "source segment” in the first segment class.
  • the segment 7 will therefore not change its cluster membership (segment affiliation), but it will remain in the first segment class.
  • this fact is taken into account by the fact that segment no. 10 in the third segment class is attested a trend towards the first segment class.
  • an over-segmentation of a piece often occurs, ie too many segment boundaries or generally too short segments are calculated.
  • An over-segmentation, z. B. caused by an incorrect subdivision of the stanza is inventively corrected by the fact that due to the segment length and the information in which segment class a predecessor or successor segment has been sorted, is corrected.
  • the correction serves to completely eliminate segments that are too short, ie to merge with adjacent segments, and segments that are short but are not too short, ie that are short in length but longer than the minimum length to undergo a special investigation into whether they may not yet be merged with a predecessor segment or a successor segment.
  • successive segments belonging to the same segment class are always fused together.
  • Fig. 3 indicated by a block 30. It is now examined in a block 31 whether segments have a segment length which is smaller than a minimum length. Thus, there are preferably different minimum lengths.
  • Relatively short segments shorter than 11 seconds are only examined at all, while later still shorter segments (a second threshold, smaller than the first one) shorter than 9 seconds, and later remaining segments shorter than 6 seconds (a third threshold shorter than the second threshold) are again treated alternatively.
  • the segment length check in block 31 is initially directed to finding the segments shorter than 11 seconds. For the segments that are longer than 11 seconds, no post processing is done, as indicated by a "No" at block 31. For segments shorter than 11 seconds, a trend check (block 32) is first performed. Thus, it is first examined whether a segment due to the functionality of the segment allocation conflicting device 18 of Fig. 1 has an associated trend or an associated trend. In the example of Fig. 7 this would be the segment 10 that has a trend towards the segment 7 or a trend towards the first segment class. If the tenth segment is shorter than 11 seconds, the in Fig.
  • segment no. 10 is the only segment in the third segment class. If it was shorter than 9 seconds, it will automatically be assigned to the segment class to which segment no. 9 belongs. This automatically leads to a fusion of the segment 10 with the segment 9. If the segment 10 is longer than 9 seconds, then this merger is not performed.
  • a block 33c an examination is then made for segments shorter than 9 seconds which are not the only segment in a corresponding cluster X than in a corresponding segment group. They undergo closer scrutiny to establish regularity in clustering.
  • a novelty value check is performed by resorting to the novelty value curve, which in Fig. 9 is shown.
  • the novelty curve which resulted from the kernel correlation, is read out at the locations of the affected segment boundaries, and the maximum of these values is determined. If the maximum occurs at the beginning of a segment, the segments that are too short are assigned to the cluster of the successor segment. If the maximum occurs at a segment end, the segments that are too short are assigned to the cluster of the predecessor segment.
  • segment labeled 90 has a segment that is shorter than 9 seconds
  • the novelty check at the beginning of segment 90 would give a higher novelty value 91 than at the end of the segment, with the novelty value at the end of the segment labeled 92. This would mean that the segment 90 would be assigned to the successor segment since the novelty value to the successor segment is less than the novelty value to the predecessor segment.
  • This procedure according to the invention has the advantage that no elimination of parts of the piece has been carried out, that is to say that no simple elimination of the segments which are too short has been carried out by setting them to zero, but that the entire complete piece of music remains as a whole
  • the segmentation is therefore no information loss occurred, which would be, however, if one z. B. in response to the over-segmentation would simply eliminate all too short segments "regardless of losses" easily.
  • Fig. 4a and Fig. 4b a preferred implementation of the segment class designator 22 of Fig. 1 shown.
  • two clusters are assigned the labels "stanza" and "refrain” during labeling.
  • a largest singular value of a singular value decomposition and the associated cluster are used as a refrain and the cluster for the second largest singular value as a stanza.
  • each song starts with a stanza, so that the cluster with the first segment is the stanza cluster and the other cluster is the refrain cluster.
  • the cluster in the candidate selection having the last segment is called a refrain, and the other cluster is called a stanza.
  • the last segment may actually be the last segment in the song, or a segment later in the song than any segment of the other segment class. If this segment is not the actual last segment in the song, this means that there is still an outro.
  • the investigation in block 40 reveals that which segment class in the selection has the last segment in the music track progression, that this is the second, ie rather non-hierarchical segment class, then it is examined in block 42 whether the second segment class has the first segment in the music piece , This investigation is based on the knowledge that the likelihood is very high that a song starts with a verse, not a chorus.
  • the second segment class is referred to as a refrain
  • the first segment class is referred to as a stanza, as indicated in a block 43
  • the second segment group is called a stanza and the first segment group as a refrain, as indicated in a block 44.
  • the designation in block 44 occurs because the probability that the second segment class corresponds to the refrain is already quite low. If the improbability that a piece of music is introduced with a refrain comes to the fore, there are some signs of an error in clustering. B. that the last considered segment was erroneously assigned to the second segment class.
  • Fig. 4b It was shown how the stanza / chorus determination was performed on the basis of two available segment classes. After this stanza / refrain determination, the remaining segment classes may then be designated in a block 45, where an outro will possibly be the segment class having the last segment of the piece, while an intro will be the segment class comprising the first Segment of a piece in itself.
  • Fig. 4a It shows how to determine the two segment classes that represent the candidates for the in Fig. 4b given algorithm.
  • an assignment of the label "stanza” and "refrain” is performed in the labeling, whereby one segment group is marked as a stanza segment group, while the other segment group is marked as a refrain segment group.
  • this concept is based on the assumption (A1) that the two clusters (segment groups) with the highest similarity values, ie cluster 1 and cluster 2, correspond to the chorus and stanza clusters. The last of these two clusters is the refrain cluster, assuming that a verse follows a chorus.
  • cluster 1 in most cases corresponds to the refrain.
  • cluster 2 the assumption (A1) is often not fulfilled.
  • This situation usually occurs when there is either a third, frequently repeating part in the play, eg. As a bridge, with a high similarity of intro and outro, or for the not uncommon case that a segment in the piece has a high similarity to the chorus, thus also has a high overall similarity, the similarity to the chorus but just not great is enough to still belong to cluster 1.
  • a step 46 the cluster or segment group with the highest similarity value (value of the component of V which is once a maximum for the segment class determined first, ie segment 7 in the example of FIG Fig. 7 , was), that is, the segment group that at the first pass of Fig. 1 has been identified as the first candidate included in the stanza refrain selection.
  • the second highest segment class has, for example, B. at least three segments, or two segments, one of which is within the piece and not at the "edge" of the piece, the second segment class initially remains in the selection and is henceforth referred to as "Second Cluster".
  • Second clusters still have to measure themselves with a third segment class (48b), which is referred to as a "third cluster" in order to ultimately survive the selection process as a candidate.
  • the segment class "Third Cluster” corresponds to the cluster, which occurs most frequently in the entire song, but neither the highest segment class (cluster 1) nor the segment class "Second Cluster” corresponds, so to speak, the next most common (often equally common) occurring clusters by cluster 1 and "Second Cluster".
  • the first examination in block 49a is to examine whether each segment of third cluster has a certain minimum length, using as threshold z. B. 4% of the total song length is preferred. Other values between 2% and 10% can also lead to meaningful results.
  • a block 49b it is then examined whether ThirdCluster has a greater total portion of the song than SecondCluster. To do this, the total time of all segments in ThirdCluster is added up and compared to the corresponding total of all Segments in SecondCluster, where ThirdCluster has a larger overall song share than SecondCluster, if the accumulated segments in ThirdCluster are greater than the accumulated SecondCluster segments.
  • ThirdCluster enters the verse-chorus selection. If, on the other hand, at least one of these conditions is not met, ThirdCluster does not get into the stanza-refrain selection. Instead, SecondCluster enters the stanza-refrain selection as it passes through a block 50 in Fig. 4a is shown. This completes the "Candidate search" for the verse-chorus selection, and the in Fig. 4b shown algorithm, which is finally determined which Segment class that includes stanzas, and which class of segments includes the chorus.
  • the three conditions in the blocks 49a, 49b, 49c could alternatively also be weighted, so that z.
  • a no answer in block 49a will be "overruled” if both the query in block 49b and the query in block 49c are answered "yes.”
  • a condition of the three conditions could be emphasized, so that z.
  • it only examines whether there is regularity of the sequence between the third segment class and the first segment class, while the queries in blocks 49a and 49b are not performed or performed only if the query in block 49c is "no". answered, but z. B. a relatively large total amount in block 49b and relatively large minimum quantities in block 49a are determined.
  • the refrain option is to choose a version of the chorus as a summary. This will attempt to choose a chorus version that lasts between 20 and 30 seconds if possible. If a segment with such a length is not contained in the refrain cluster, a version is chosen which has the smallest possible deviation to a length of 25 seconds. Is the chosen chorus longer than 30 seconds, it is hidden in this embodiment for 30 seconds and if it is shorter than 20 seconds, it will be extended to 30 seconds with the following segment.
  • Storing a medley for the second option is more like an actual summary of a piece of music.
  • a section of the stanza, a section of the chorus and a section of a third segment are constructed in their actual chronological order as a medley.
  • the third segment is selected from a cluster that has the largest total portion of the song and is not a verse or chorus.
  • the selected segments are not installed in their full length in the medley.
  • the length is preferably set to a fixed 10 seconds per segment, so that a total of 30 seconds is created again.
  • alternative values are also readily feasible.
  • a grouping of a plurality of feature vectors is performed in block 510 by forming an average over the grouped feature vectors.
  • the grouping can save computing time in the next processing step, the calculation of the similarity matrix.
  • a distance is determined between all possible combinations of two feature vectors.
  • a grouping factor g indicates how many consecutive feature vectors are grouped into a vector by averaging. This can reduce the number of calculations.
  • the grouping is also a kind of noise suppression in which small changes in the feature expression of successive vectors are compensated on average. This property has a positive effect on finding large song structures.
  • the concept according to the invention makes it possible to navigate through the calculated segments by means of a special music player and to selectively select individual segments, so that a consumer in a music shop can immediately immediately refrain, for example by pressing a certain key or by activating a certain software command jump to see if the chorus pleases him, and then maybe listen to a stanza so that the consumer can finally make a purchase decision.
  • This makes it easy for a prospective buyer to hear from a piece exactly what he is particularly interested in, while he z. B. the solo or the bridge then actually save for the listening pleasure at home.
  • the concept according to the invention is also of great advantage for a music store, since the customer can listen in and therefore also quickly and ultimately buy, so that the customers do not have to wait long to listen in, but also quickly get their turn. This is because a user does not have to constantly go back and forth, but gets targeted and quickly all the information of the piece he would like to have.
  • the present invention is also applicable in other application scenarios, for example in advertising monitoring, ie where an advertiser wants to check whether the audio piece for which he has bought advertising time, has actually been played over the entire length.
  • An audio piece may include, for example, music segments, speaker segments, and noise segments.
  • the Segment michsalgori thmus, so the segmentation and subsequent classification in segment groups then allows a quick and much less expensive review than a complete sample-wise comparison.
  • the efficient checking would simply consist of segment class statistics, that is, a comparison of how many segment classes have been found and how many segments are in each segment class, with a default given the ideal ad item.
  • segment class statistics that is, a comparison of how many segment classes have been found and how many segments are in each segment class, with a default given the ideal ad item.
  • the present invention is further advantageous in that it can be used for searching in large music databases, for example, to listen only to the choruses of many pieces of music, and then to a music program selection perform.
  • only individual segments would be selected from the "class" segmented class of many different pieces and provided by a program provider.
  • these can also readily be provided by always selecting one or more segments (if present) in the segment class designated "Solo" from a large number of pieces of music, e.g. B. assembled and provided as a file.
  • inventive concept can be easily automated, since it requires at no point a user intervention. This means that users of the inventive concept by no means require special training, except for. For example, a common skill in dealing with normal software user interfaces.
  • the inventive concept can be implemented in hardware or in software.
  • the implementation may be on a digital storage medium, in particular a floppy disk or CD with electronically readable control signals, which may interact with a programmable computer system such that the corresponding method is executed.
  • the invention thus also consists in a computer program product with a program code stored on a machine-readable carrier for carrying out the method according to the invention, when the computer program product runs on a computer.
  • the invention thus is a computer program with a program code for carrying out the method when the computer program runs on a computer.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Auxiliary Devices For Music (AREA)
  • Machine Translation (AREA)
  • Stereo-Broadcasting Methods (AREA)
  • Document Processing Apparatus (AREA)

Abstract

For grouping temporal segments of an audio piece, which is structured into main parts repeatedly occurring in the audio piece, into various segment classes, at first a similarity representation for the segments is provided, wherein the similarity representation for each segment comprises an associated plurality of similarity values, wherein the similarity values indicate how similar the segment is to every other segment of the audio piece. Hereupon, using the similarity values associated with the segment, a similarity threshold value for a segment is calculated in order to then associate a segment with a segment class when the similarity value of the segment meets a predetermined relation with reference to the similarity threshold value. With this, clustering is achieved, which also works efficiently and correctly where there are segments with strongly different or almost equal combined similarity values.

Description

Die vorliegende Erfindung bezieht sich auf die Audiosegmentierung und insbesondere auf die Analyse von Musikstücken auf die in den Musikstücken enthaltenen einzelnen Hauptteile, die in dem Musikstück wiederholt auftreten können.The present invention relates to audio segmentation, and more particularly to the analysis of pieces of music on the individual major parts contained in the pieces of music which may occur repeatedly in the piece of music.

Musik aus dem Rock- und Popbereich besteht meistens aus mehr oder weniger eindeutigen Segmenten, wie beispielsweise Intro, Strophe, Refrain, Bridge, Outro, etc. Die Anfangs- und Endzeitpunkte solcher Segmente zu detektieren und die Segmente nach ihrer Zugehörigkeit zu den wichtigsten Klassen (Strophe und Refrain) zu gruppieren, ist Ziel der Audiosegmentierung. Eine korrekte Segmentierung und auch Kennzeichnung der berechneten Segmente kann in verschiedenen Bereichen sinnvoll eingesetzt werden. Beispielsweise können so Musikstücke von Online-Anbietern, wie Amazon, Musicline, etc. intelligent "angespielt" werden.Rock and pop music mostly consists of more or less distinct segments, such as intro, verse, chorus, bridge, outro, etc. Detecting the start and end times of such segments and the segments according to their affiliation to the most important classes ( Stanza and chorus) is the target of audio segmentation. Correct segmentation and labeling of the calculated segments can be usefully used in different areas. For example, pieces of music from online providers, such as Amazon, Musicline, etc., can be intelligently "played".

Die meisten Anbieter im Internet beschränken sich bei ihren Hörbeispielen auf einen kurzen Ausschnitt aus den angebotenen Musikstücken. In diesem Fall wäre es natürlich auch sinnvoll, dem Interessenten nicht nur die ersten 30 Sekunden oder beliebige 30 Sekunden, sondern einen möglichst repräsentativen Ausschnitt aus dem Lied anzubieten. Dies könnte z. B. der Refrain sein, oder aber auch eine Zusammenfassung des Liedes, bestehend aus Segmenten, die den verschiedenen Hauptklassen (Strophe, Refrain, ...) angehören.Most providers on the Internet are limited to a short excerpt from the offered pieces of music in their audio samples. In this case, it would of course also make sense to offer the interested parties not only the first 30 seconds or any 30 seconds, but a most representative excerpt from the song. This could be z. B. the refrain, or else a summary of the song, consisting of segments that belong to the various main classes (stanza, chorus, ...).

Ein weiteres Anwendungsbeispiel für die Technik der Audiosegmentierung ist das Integrieren des Segmentierungs/Gruppierungs-/Markierungsalgorithmus in einen Musicplayer. Die Informationen über Segmentanfänge und Segmentenden ermöglichen das gezielte Navigieren durch ein Musikstück. Durch die Klassenzugehörigkeit der Segmente, also ob ein Segment eine Strophe, ein Refrain, etc. ist, kann z. B. auch direkt zum nächsten Refrain oder zur nächsten Strophe gesprungen werden. Eine derartige Anwendung ist für große Musikmärkte von Interesse, die ihren Kunden die Möglichkeit bieten, in komplette Alben hinein zu hören. Dadurch erspart sich der Kunde das lästige, suchende Vorspulen zu charakteristischen Stellen im Lied, die ihn vielleicht dazu bewegen könnten, ein Musikstück am Ende tatsächlich zu kaufen.Another application example of the technique of audio segmentation is the integration of the segmentation / grouping / marking algorithm into a music player. The information about segment beginnings and segment ends enables the targeted navigation through a piece of music. Due to the class affiliation of the segments, ie whether a segment is a verse, a chorus, etc., z. B. also jump directly to the next chorus or the next stanza. Such an application is of interest to large music markets, offering their customers the opportunity to listen to complete albums. This saves the customer the annoying, searching fast-forward to characteristic parts in the song, which might perhaps cause him to actually buy a piece of music in the end.

Auf dem Gebiet der Audiosegmentierung existieren verschiedene Ansätze. Nachfolgend wird der Ansatz von Jonathan Foote und Matthew Cooper beispielhaft dargestellt. Dieses Verfahren ist in FOOTE, J.T. / Cooper, M.L.: Summarizing Popular Music via Structural Similarity Analysis. Proceedings of the IEEE Workshop of Signal Processing to Audio and Acoustics 2003 . FOOTE, J.T. / COOPER, M.L.: Media Segmentation using Self-Similar Decomposition. Proceedings of SPIE Storage and Retrieval for Multimedia Databases, Bd. 5021, S. 167-75, Januar 2003 , dargestellt.There are several approaches in the field of audio segmentation. In the following, the approach of Jonathan Foote and Matthew Cooper is exemplified. This procedure is in FOOTE, JT / Cooper, ML: Summarizing Popular Music via Structural Similarity Analysis. Proceedings of the IEEE Workshop on Signal Processing to Audio and Acoustics 2003 , FOOTE, JT / COOPER, ML: Media Segmentation using Self-Similar Decomposition. Proceedings of SPIE Storage and Retrieval for Multimedia Databases, Vol. 5021, pp. 167-75, January 2003 represented.

Das bekannte Verfahren von Foote wird anhand des Blockschaltbilds von Fig. 5 beispielhaft erläutert. Zunächst wird eine WAV-Datei 500 bereitgestellt. In einem nachgeschalteten Extraktionsblock 502 findet dann eine Merkmalsextraktion statt, wobei als Merkmal die Spektralkoeffizienten an sich oder alternativ die Mel-Frequenz-Cepstral-Koeffizienten (MFCCs) extrahiert werden. Vor dieser Extraktion wird eine Kurzzeit-Fourier-Transformation (STFT) mit 0,05 Sekunden breiten nicht-überlappenden Fenstern mit der WAV-Datei durchgeführt. Die MFCC-Merkmale werden dann im Spektralbereich extrahiert. Hierbei sei darauf hingewiesen, dass die Parametrisierung nicht für eine Kompression, Übertragung oder Rekonstruktion optimiert ist, sondern für eine Audioanalyse. Die Anforderung besteht dahingehend, dass ähnliche Audiostücke ähnliche Merkmale erzeugen.The known method of Foote is based on the block diagram of Fig. 5 exemplified. First, a WAV file 500 is provided. In a subsequent extraction block 502, a feature extraction then takes place, as a feature, extracting the spectral coefficients per se or, alternatively, the mel frequency cepstral coefficients (MFCCs). Prior to this extraction, a short-term Fourier transform (STFT) is performed with 0.05 second wide non-overlapping windows with the WAV file. The MFCC features are then extracted in the spectral range. It should be noted that the parameterization is not optimized for compression, transmission or reconstruction, but for a Audio analysis. The requirement is that similar audio pieces produce similar features.

Die extrahierten Merkmale werden dann in einem Speicher 504 abgelegt.The extracted features are then stored in a memory 504.

Auf den Merkmalsextraktionsalgorithmus findet nunmehr ein Segmentierungsalgorithmus statt, der in einer Ähnlichkeitsmatrix endet, wie es in einem Block 506 dargestellt ist. Zunächst wird jedoch die Merkmalsmatrix eingelesen (508), um dann Merkmalsvektoren zu gruppieren (510), um dann auf Grund der gruppierten Merkmalsvektoren eine Ähnlichkeitsmatrix aufzubauen, die aus einer Distanzmessung zwischen jeweils allen Merkmalen besteht. Im Einzelnen werden alle paarweisen Kombinationen von Audiofenstern unter Verwendung eines quantitativen Ähnlichkeitsmaßes, also der Distanz, verglichen.The feature extraction algorithm now has a segmentation algorithm that ends in a similarity matrix, as shown in block 506. First, however, the feature matrix is read in (508), to then group feature vectors (510), and then build a similarity matrix based on the grouped feature vectors, which consists of a distance measurement between each of all features. In particular, all pairs of audio window pairs are compared using a quantitative similarity measure, distance.

Der Aufbau der Ähnlichkeitsmatrix ist in Fig. 8 dargestellt. So ist in Fig. 8 das Musikstück als Strom oder Stream 800 von Audioabtastwerten dargestellt. Das Audiostück wird, wie es ausgeführt worden ist, gefenstert, wobei ein erstes Fenster mit i und ein zweites Fenster mit j bezeichnet sind. Insgesamt hat das Audiostück z. B. K Fenster. Dies bedeutet, dass die Ähnlichkeitsmatrix K Zeilen und K Spalten hat. Dann wird für jedes Fenster i und für jedes Fenster j ein Ähnlichkeitsmaß zueinander berechnet, wobei das berechnete Ähnlichkeitsmaß oder Distanzmaß D(i,j) an der durch i und j bezeichneten Zeile bzw. Spalte in der Ähnlichkeitsmatrix eingegeben wird. Eine Spalte zeigt daher die Ähnlichkeit des durch j bezeichneten Fensters zu allen anderen Audiofenstern in dem Musikstück. Die Ähnlichkeit des Fensters j zum allerersten Fenster des Musikstücks würde dann in der Spalte j und in der Zeile 1 stehen. Die Ähnlichkeit des Fensters j zum zweiten Fenster des Musikstücks würde dann in der Spalte j, aber nunmehr in der Zeile 2 stehen. Dagegen würde die Ähnlichkeit des zweiten Fensters zum ersten Fenster in der zweiten Spalte der Matrix und in der ersten Zeile der Matrix stehen.The structure of the similarity matrix is in Fig. 8 shown. So is in Fig. 8 the music piece is represented as stream or stream 800 of audio samples. The audio piece is windowed as it has been executed, with a first window labeled i and a second window labeled j. Overall, the audio piece has z. B. K windows. This means that the similarity matrix has K rows and K columns. Then, for each window i and for each window j, a similarity measure to each other is calculated, and the calculated similarity measure or distance measure D (i, j) is input to the row or column designated by i and j in the similarity matrix. One column therefore shows the similarity of the window designated by j to all other audio windows in the piece of music. The similarity of the window j to the very first window of the piece of music would then be in the column j and in the line 1. The similarity of the window j to the second window of the piece of music would then be in the column j, but now in the line 2. By contrast, the similarity of the second window to the first window in the second column of the matrix and in the first row of the matrix.

Es ist zu sehen, dass die Matrix dahingehend redundant ist, dass sie zur Diagonalen symmetrisch ist, und dass auf der Diagonalen die Ähnlichkeit eines Fensters zu sich selbst steht, was den trivialen Fall einer 100%-igen Ähnlichkeit darstellt.It can be seen that the matrix is redundant in that it is symmetric to the diagonal, and that on the diagonal the similarity of a window is to itself, which is the trivial case of 100% similarity.

Ein Beispiel für eine Ähnlichkeitsmatrix eines Stücks ist in Fig. 6 zu sehen. Hier ist wieder die komplett symmetrische Struktur der Matrix bezüglich der Hauptdiagonalen erkennbar, wobei die Hauptdiagonale als heller Streifen ersichtlich ist. Ferner wird darauf hingewiesen, dass auf Grund der kleinen Fensterlänge im Vergleich zu der relativ groben Zeitauflösung in Fig. 6 die Hauptdiagonale nicht als heller durchgehender Strich zu sehen ist, sondern aus Fig. 6 nur in etwa erkennbar ist.An example of a similarity matrix of a piece is in Fig. 6 to see. Here again the completely symmetrical structure of the matrix with respect to the main diagonal is recognizable, whereby the main diagonal is visible as a light stripe. It should also be noted that due to the small window length compared to the relatively coarse time resolution in Fig. 6 the main diagonal is not to be seen as a lighter solid line, but off Fig. 6 only approximately recognizable.

Hierauf wird unter Verwendung der Ähnlichkeitsmatrix, wie sie z. B. in Fig. 6 dargestellt ist, eine Kernel-Korrelation 512 mit einer Kernel-Matrix 514 durchgeführt, um ein Neuheitsmaß, das auch als "Novelty Score" bekannt ist, zu erhalten, das gemittelt werden könnte und in geglätteter Form in Fig. 9 dargestellt ist. Die Glättung dieses Novelty Scores ist in Fig. 5 schematisch durch einen Block 516 dargestellt.This is done using the similarity matrix as described, for. In Fig. 6 A kernel correlation 512 is performed on a kernel matrix 514 to obtain a novelty measure, also known as a novelty score, that could be averaged and smoothed into Fig. 9 is shown. The smoothing of this Novelty Score is in Fig. 5 schematically represented by a block 516.

Hierauf werden in einem Block 518 die Segmentgrenzen unter Verwendung des geglätteten Neuheitswertverlaufs ausgelesen, wobei hierzu die lokalen Maxima im geglätteten Neuheitsverlauf ermittelt und gegebenenfalls noch um eine durch die Glättung verursachte konstante Anzahl von Samples verschoben werden müssen, um tatsächlich die richtigen Segmentgrenzen des Audiostücks als absolute oder relative Zeitangabe zu erhalten.Thereafter, in a block 518, the segment boundaries are read using the smoothed novelty value trace, whereupon the local maxima in the smoothed novelty profile must be determined and possibly even shifted by a constant number of samples caused by the smoothing to actually represent the correct segment boundaries of the audio piece as absolute or relative time.

Hierauf wird, wie es bereits in einem mit Clustering bezeichneten Block aus Fig. 5 ersichtlich ist, eine so genannte Segmentähnlichkeitsdarstellung oder Segmentähnlichkeitsmatrix erstellt. Ein Beispiel für eine Segmentähnlichkeitsmatrix ist in Fig. 7 dargestellt. Die Ähnlichkeitsmatrix in Fig. 7 ist prinzipiell ähnlich zu der Merkmals-Ähnlichkeitsmatrix von Fig. 6, wobei nun jedoch nicht mehr, wie in Fig. 6, Merkmale aus Fenstern verwendet werden, sondern Merkmale aus einem ganzen Segment. Die Segmentähnlichkeitsmatrix hat eine ähnliche Aussage wie die Merkmalsähnlichkeitsmatrix, jedoch mit einer wesentlich gröberen Auflösung, was natürlich gewünscht ist, wenn betrachtet wird, dass Fensterlängen im Bereich von 0,05 Sekunden liegen, während vernünftig lange Segmente im Bereich von vielleicht 10 Sekunden eines Stückes liegen.This is done, as it already is in a block called clustering Fig. 5 can be seen, creates a so-called segment similarity representation or segment similarity matrix. An example of a segment similarity matrix is in Fig. 7 shown. The similarity matrix in Fig. 7 is basically similar to the feature similarity matrix of Fig. 6 , but now not more, as in Fig. 6 Features are used in windows, but features from a whole segment. The segment similarity matrix has a similar meaning to the feature similarity matrix, but with a much coarser resolution, which of course is desired when considering that window lengths are in the order of 0.05 seconds while reasonably long segments are in the order of perhaps 10 seconds of a piece ,

Hierauf wird dann in einem Block 522 ein Clustering durchgeführt, also eine Einordnung der Segmente in Segmentklassen (eine Einordnung von ähnlichen Segmenten in dieselbe Segmentklasse), um dann in einem Block 524 die gefundenen Segmentklassen zu markieren, was auch als "Labeling" bezeichnet wird. So wird im Labeling ermittelt, welche Segmentklasse Segmente enthält, die Strophen sind, die Refrains sind, die Intros, Outros, Bridges, etc. sind.Then, in a block 522, a clustering is carried out, ie an arrangement of the segments into segment classes (an arrangement of similar segments in the same segment class), in order then to mark the found segment classes in a block 524, which is also referred to as "labeling". Thus, in labeling, it is determined which segment class contains segments that are stanzas that are choruses that are intros, outros, bridges, and so on.

Schließlich wird in einem mit 526 in Fig. 5 bezeichneten Block eine Musicsummary erstellt, die z. B. einem Benutzer bereitgestellt werden kann, um ohne Redundanz von einem Stück nur z. B. eine Strophe, einen Refrain und das Intro zu hören.Finally, in one with 526 in Fig. 5 designated block creates a music grammar, the z. B. can be provided to a user, without redundancy of a piece only z. B. a verse, a chorus and the intro to hear.

Nachfolgend wird auf die einzelnen Blöcke noch detaillierter eingegangen.Below, the individual blocks are discussed in more detail.

Wie es bereits ausgeführt worden ist, findet die eigentliche Segmentierung des Musikstücks erst dann statt, wenn die Merkmalsmatrizen generiert und gespeichert sind (Block 504).As already stated, the actual segmentation of the piece of music does not take place until the feature matrices have been generated and stored (block 504).

Je nach dem, anhand welchen Merkmals das Musikstück auf seine Struktur hin untersucht werden soll, wird die entsprechende Merkmalsmatrix ausgelesen und zur Weiterverarbeitung in einen Arbeitsspeicher geladen. Die Merkmalsmatrix hat die Dimension Anzahl der Analysefenster mal Anzahl der Merkmalskoeffizienten.Depending on which feature the piece of music is to be examined for its structure, the corresponding feature matrix is read out and loaded into a main memory for further processing. The feature matrix has the dimension number of analysis windows times the number of feature coefficients.

Durch die Ähnlichkeitsmatrix wird der Merkmalsverlauf eines Stücks in eine zweidimensionale Darstellung gebracht. Für jede paarweise Kombination von Merkmalsvektoren wird das Distanzmaß berechnet, das in der Ähnlichkeitsmatrix festgehalten wird. Zur Berechnung des Distanzmaßes zwischen zwei Vektoren gibt es verschiedene Möglichkeiten, nämlich beispielsweise die Euklidsche Distanzmessung und die Cosinus-Distanzmessung. Ein Ergebnis D(i,j) zwischen den zwei Merkmalsvektoren wird im i,j-ten Element der Fenster-Ähnlichkeitsmatrix (Block 506) gespeichert. Die Hauptdiagonale der Ähnlichkeitsmatrix repräsentiert den Verlauf über das gesamte Stück. Dementsprechend resultieren die Elemente der Hauptdiagonalen aus dem jeweiligen Vergleich eines Fensters mit sich selbst und weisen immer den Wert der größten Ähnlichkeit auf. Bei der Cosinus-Distanzmessung ist dies der Wert 1, bei der einfachen skalaren Differenz und der Euklidschen Distanz ist dieser Wert gleich 0.The similarity matrix brings the feature course of a piece into a two-dimensional representation. For each pairwise combination of feature vectors, the distance measure is computed, which is recorded in the similarity matrix. There are various possibilities for calculating the distance measure between two vectors, namely, for example, the Euclidean distance measurement and the cosine distance measurement. A result D (i, j) between the two feature vectors is stored in the i, jth element of the window similarity matrix (block 506). The main diagonal of the similarity matrix represents the course over the entire piece. Accordingly, the elements of the main diagonal result from the respective comparison of a window with itself and always have the value of the greatest similarity. For the cosine distance measurement this is the value 1, for the simple scalar difference and the Euclidean distance this value is 0.

Zur Visualisierung einer Ähnlichkeitsmatrix, wie sie in Fig. 6 dargestellt ist, bekommt jedes Element i, j einen Grauwert zugewiesen. Die Grauwerte sind proportional zu den Ähnlichkeitswerten abgestuft, so dass die maximale Ähnlichkeit (die Hauptdiagonale) der maximalen Ähnlichkeit entspricht. Durch diese Darstellung kann man die Struktur eines Liedes bereits optisch auf Grund der Matrix erkennen. Bereiche ähnlicher Merkmalsausprägung entsprechen Quadranten ähnlicher Helligkeit entlang der Hauptdiagonalen. Die Grenzen zwischen den Bereichen zu finden, ist die Aufgabe der eigentlichen Segmentierung.To visualize a similarity matrix, as in Fig. 6 is shown, each element i, j is assigned a gray value. The gray values are graded in proportion to the similarity values, so that the maximum similarity (the main diagonal) corresponds to the maximum similarity. Through this representation, one can already recognize the structure of a song visually on the basis of the matrix. Areas of similar feature expression correspond to quadrants of similar brightness along the main diagonal. Finding the boundaries between the areas is the task of the actual segmentation.

Die Struktur der Ähnlichkeitsmatrix ist wichtig für das in der Kernel-Korrelation 512 berechnete Neuheitsmaß. Das Neuheitsmaß entsteht durch die Korrelation eines speziellen Kernels entlang der Hauptdiagonalen der Ähnlichkeitsmatrix. Ein beispielhafter Kernel K ist in Fig. 5 dargestellt. Korreliert man diese Kernel-Matrix entlang der Hauptdiagonalen der Ähnlichkeitsmatrix S, und summiert dabei alle Produkte der übereinander liegenden Matrixelemente für jeden Zeitpunkt i des Stücks, so erhält man das Neuheitsmaß, das in geglätteter Form beispielhaft in Fig. 9 dargestellt ist. Vorzugsweise wird nicht der Kernel K in Fig. 5 verwendet, sondern ein vergrößerter Kernel, der zudem mit einer Gaussverteilung überlagert ist, so dass die Kanten der Matrix gegen 0 streben.The structure of the similarity matrix is important to the novelty measure calculated in kernel correlation 512. The novelty measure arises from the correlation of a particular kernel along the main diagonal of the similarity matrix. An exemplary kernel K is in Fig. 5 shown. If one correlates this kernel matrix along the main diagonal of the similarity matrix S, and thereby sums all the products of the superimposed matrix elements for each time point i of the piece, one obtains the measure of novelty, which in a smoothed form exemplifies Fig. 9 is shown. Preferably, the kernel K is not in Fig. 5 but an enlarged kernel, which is also superimposed with a Gaussian distribution, so that the edges of the matrix go to zero.

Die Selektion der markanten Maxima im Neuheitsverlauf ist wichtig für die Segmentierung. Die Auswahl aller Maxima des ungeglätteten Neuheitsverlaufs würde zu einer starken Übersegmentierung des Audiosignals führen.The selection of the striking maxima in the novelty course is important for the segmentation. The selection of all maxima of the unsmoothed novelty course would lead to a strong over-segmentation of the audio signal.

Daher sollte das Neuheitsmaß geglättet werden, und zwar mit verschiedenen Filtern, wie beispielsweise IIR-Filter oder FIR-Filter.Therefore, the novelty measure should be smoothed with different filters, such as IIR filters or FIR filters.

Sind die Segmentgrenzen eines Musikstücks extrahiert, so müssen nun ähnliche Segmente als solche gekennzeichnet und in Klassen gruppiert werden.If the segment boundaries of a piece of music are extracted, then similar segments must be identified as such and grouped into classes.

Foote und Cooper beschreiben die Berechnung einer segmentbasierten Ähnlichkeitsmatrix mittels einer Cullback-Leibler-Distanz. Hierfür werden anhand der aus dem Neuheitsverlauf gewonnenen Segmentgrenzen einzelne Segmentmerkmalsmatrizen aus der gesamten Merkmalsmatrix extrahiert, d. h. jede dieser Matrizen ist eine Submatrix der gesamten Merkmalsmatrix. Die damit entstandene Segmentähnlichkeitsmatrix 520 wird nunmehr einer Singularwertzerlegung (SVD; SVD = Singular Value Decomposition) unterzogen.Foote and Cooper describe the calculation of a segment-based similarity matrix using a Cullback-Leibler distance. For this purpose, individual segment feature matrices are extracted from the entire feature matrix on the basis of the segment boundaries obtained from the novelty process, ie each of these matrices is a submatrix of the entire feature matrix. The resulting segment similarity matrix 520 is now subjected to Singular Value Decomposition (SVD).

Hierauf erhält man Singulärwerte in absteigender Reihenfolge.Then one obtains singular values in descending order.

Im Block 526 wird dann eine automatische Zusammenfassung eines Stücks anhand der Segmente und Cluster eines Musikstücks durchgeführt. Hierzu werden zunächst die zwei Cluster mit den größten Singulärwerten ausgewählt. Dann wird das Segment mit dem Maximalwert des entsprechenden Cluster-Indikators zu dieser Summary hinzugefügt. Dies bedeutet, dass die Summary eine Strophe und einen Refrain umfasst. Alternativ können auch alle wiederholten Segmente entfernt werden, um sicherzustellen, dass alle Informationen des Stücks bereitgestellt werden, jedoch immer genau einmal.At block 526, an automatic digest of a piece is then performed based on the segments and clusters of a piece of music. For this purpose, first the two clusters with the largest singular values are selected. Then, the segment with the maximum value of the corresponding cluster indicator is added to this summary. This means that the summary includes a stanza and a chorus. Alternatively, all repeated segments can also be removed to ensure that all piece information is provided, but always exactly once.

Bezüglich weiterer Techniken zur Segmentierung/Musikanalyse wird auf CHU, s. / LOGAN B.: Music Summary using Key Phrases. Technical Report, Cambridge Research Laboratory 2000 , BARTSCH, M.A. / WAKEFIELD, g. H.: To Catch a Chorus: Using Chroma-Based Representation for Audio Thumbnailing. Proceedings of the IEEE Workshop of Signal Processing to Audio and Acoustics 2001. http://musen.engin.umich.edu/papers/bartsch wakefield waspaa01 final.pdf , verwiesenRegarding further techniques for segmentation / music analysis will be on CHU, s. / LOGAN B .: Music Summary using Key Phrases. Technical Report, Cambridge Research Laboratory 2000 . BARTSCH, MA / WAKEFIELD, g. H .: To Catch a Chorus: Using Chroma-Based Representation for Audio Thumbnailing. Proceedings of the IEEE Workshop on Signal Processing to Audio and Acoustics 2001. http://musen.engin.umich.edu/papers/bartsch wakefield waspaa01 final.pdf , referenced

Nachteilig an dem bekannten Verfahren ist die Tatsache, dass die Singularwertzerlegung (SVD) zur Segmentklassenbildung, also zum Zuordnen von Segmenten zu Clustern zum einen sehr rechenaufwendig ist und zum anderen problematisch in der Beurteilung der Ergebnisse ist. So wird dann, wenn die Singularwerte nahezu gleich groß sind, eine möglicherweise falsche Entscheidung dahingehend getroffen, dass die beiden ähnlichen Singularwerte eigentlich die gleiche Segmentklasse und nicht zwei unterschiedliche Segmentklassen darstellen.A disadvantage of the known method is the fact that the singular value decomposition (SVD) for segment class formation, that is to say for the assignment of segments to clusters, is very computationally intensive and is problematic in the evaluation of the results. Thus, if the singular values are nearly equal, then a possibly wrong decision is made that the two similar singular values actually represent the same segment class and not two different segment classes.

Ferner wurde herausgefunden, dass die Ergebnisse, die durch die Singularwertzerlegung erhalten werden, dann immer problematischer werden, wenn es starke Ähnlichkeitswertunterschiede gibt, wenn also ein Stück sehr ähnliche AnteiLe enthält, wie Strophe und Refrain, aber auch relativ unähnliche Anteile, wie Intro, Outro oder Bridge.Further, it has been found that the results obtained by the singular value decomposition become more and more problematic when it differentiates strong similarity values So if a piece contains very similar components, such as stanza and chorus, but also relatively dissimilar parts, such as Intro, Outro or Bridge.

Ferner problematisch an dem bekannten Verfahren ist, dass immer davon ausgegangen wird, dass der Cluster unter den beiden Clustern mit den höchsten Singularwerten, der das erste Segment im Lied hat, der Cluster "Strophe" ist, und dass der andere Cluster der Cluster "Refrain" ist. Dieses Prozedere basiert darauf, dass man im bekannten Verfahren davon ausgeht, dass ein Lied immer mit einer Strophe beginnt. Erfahrungen haben gezeigt, dass damit erhebliche Labelingfehler erhalten werden. Dies ist insofern problematisch, da das Labeling gewissermaßen die "Ernte" des gesamten Verfahrens ist, also das, was der Benutzer unmittelbar erfährt. Waren die vorhergehenden Schritte noch so präzise und aufwändig, so relativiert sich alles, wenn am Ende falsch gelabelt wird, da dann beim Benutzer das Vertrauen in das gesamte Konzept insgesamt Schaden nehmen könnte.Further problematic in the known method is that it is always assumed that the cluster among the two clusters with the highest singular values having the first segment in the song is the cluster "stanza", and that the other cluster is the cluster "chorus "is. This procedure is based on the assumption in the known method that a song always begins with a stanza. Experience has shown that this will result in significant labeling errors. This is problematic insofar as the labeling is effectively the "harvest" of the entire process, that is, what the user experiences directly. Even if the previous steps were so precise and time-consuming, everything becomes relative if the label is incorrectly labeled at the end, because then the user's overall confidence in the entire concept could be damaged.

An dieser Stelle sei ferner darauf hingewiesen, dass insbesondere Bedarf nach automatischen Musikanalyseverfahren besteht, ohne dass das Ergebnis immer überprüft und gegebenenfalls korrigiert werden kann. Statt dessen ist ein Verfahren nur dann am Markt einsetzbar, wenn es automatisch ohne menschliche Nachkorrektur ablaufen kann.It should also be noted at this point that there is a particular need for automatic music analysis methods, without the result always being able to be checked and, if necessary, corrected. Instead, a method can only be used on the market if it can run automatically without human correction.

Ferner nachteilig an dem bekannten Konzept ist die Tatsache, dass bei der Segmentierung auf der durch die Singularwertzerlegung berechneten Segmentierung aufgebaut wird. In anderen Worten ausgedrückt bedeutet dies, dass sowohl das Clustering als auch das abschließende Labeling auf der durch Singularwertzerlegung ermittelten Segmentierung aufbaut. So kann jedoch das Clustering und das Labeling und damit auch die Music-Summary, die das für den Hörer eigentliche Produkt des gesamten Verfahrens ist, niemals besser werden als die zugrunde liegende Segmentierung.Another disadvantage of the known concept is the fact that in the segmentation is built on the segmentation calculated by the Singularwertzerlegung. In other words, this means that both clustering and final labeling are based on the segmentation determined by singular value decomposition. However, clustering and labeling, and thus the music summary, which is the actual product of the entire process for the listener, can never be better than the underlying segmentation.

Findet eine Übersegmentierung statt, wie sie insbesondere für Kernel-Korrelations-basierte Konzepte häufig vorkommt, erhält man am Ende voraussichtlich viel zu viele Segmentklassen, die dann nachzuarbeiten sind, um störende Segmentklassen, die eigentlich keinem Hauptteil entsprechend, gegebenenfalls ganz zu entfernen. Diese "Nachreparatur" ist dahingehend ungünstig, dass damit Audioinformationen eliminiert werden. Ein Zuhörer wird dann, wenn er auf Grund der bereits bezeichneten Segmentklassen durch das Audiostück navigiert, nicht die gesamten Audioinformationen hören können, da unbedeutende Segmente, die eigentlich keinem Hauptteil entsprechen, bei diesem Verfahren komplett eliminiert worden sind.If an over-segmentation takes place, as occurs frequently in particular for kernel-correlation-based concepts, one will end up with far too many segment classes which have to be reworked in order to completely remove disturbing segment classes which are actually not appropriate for a major part. This "post-repair" is unfavorable in that it eliminates audio information. A listener, when navigating through the audio track due to the already designated segment classes, will not be able to hear all the audio information, as insignificant segments, which are not actually a major part, have been completely eliminated in this procedure.

Noch gewichtiger ist jedoch die Tatsache, dass einer Übersegmentierung, die auch durch andere Segmentierungsverfahren auftreten kann, auf die Tatsache hinweist, dass die ursprüngliche primäre Segmentierung nicht korrekt war. Die Segmente beispielsweise der Segmentklasse, die mit "Refrain" bezeichnet ist, sind dann von unterschiedlicher Qualität. So hat ein Segment, bei dem die Segmentierung korrekt war, einen längeren Refrain, während ein anderes Segment, bei dem die Segmentierung nicht korrekt war, einen kürzeren Refrain hat. Wird anschließend mit der segmentierten Darstellung des Audiostücks gearbeitet, so führt dies zu Synchronisationsproblemen und ferner zu Irritationen beim Benutzer, die sogar so weit gehen können, dass er das gesamte Vertrauen in das Segmentierungskonzept verliert.Even more important, however, is the fact that over-segmentation, which may also occur through other segmentation techniques, indicates the fact that the original primary segmentation was incorrect. The segments of, for example, the segment class denoted "refrain" are of different quality. Thus, a segment where the segmentation was correct has a longer refrain, while another segment where the segmentation was not correct has a shorter refrain. Subsequently, working with the segmented representation of the audio piece, this leads to synchronization problems and also to irritation in the user, who may even go so far that he loses all confidence in the segmentation concept.

Die Fachveröffentlichung: " A Fuzzy Approach Towards Perceptual Classification And Segmentation of MP3/AAC Audio, S. Kiranyaz, u.s., Control, Communications and Signal Processing, 2004, Seiten 727 - 730 , offenbart einen Ansatz zur Klassifizierung und Segementierung von MP3- und AAC-Audiostücken in der Kompressionsdomäne. Das Audiosignal wird in Segmente aufgeteilt, die als Sprache, Musik, Fuzzy oder Stille klassifiziert werden. Insbesondere werden kleine Stille-Segmente eliminiert und benachbarte Nicht-Stille-Segmente verschmolzen.The specialist publication: " A Fuzzy Approach Towards Perceptual Classification And Segmentation of MP3 / AAC Audio, S. Kiranyaz, US, Control, Communications and Signal Processing, 2004, pages 727-730 discloses an approach to classify and segment MP3 and AAC audio pieces in the compression domain. The audio signal is divided into segments classified as speech, music, fuzzy or silence. In particular, small silence segments are eliminated and adjacent non-silence segments are merged.

Die Aufgabe der vorliegenden Erfindung besteht darin, ein genaueres Segmentierungskonzept zu erreichen, das zudem mit einer bereits existierenden ersten Segmentierung des Audiostücks kompatibel sein soll.The object of the present invention is to achieve a more precise segmentation concept, which should also be compatible with an already existing first segmentation of the audio piece.

Diese Aufgabe wird durch eine Vorrichtung zum Ändern einer Segmentierung eines Audiostücks gemäß Patentanspruch 1 oder 19, ein Verfahren zum Ändern einer Segmentierung eines Audiostücks gemäß Patentanspruch 18 oder 20 oder ein Computer-Programm gemäß Patentanspruch 21 gelöst.This object is achieved by a device for changing a segmentation of an audio piece according to claim 1 or 19, a method for changing a segmentation of an audio piece according to claim 18 or 20 or a computer program according to claim 21.

Der vorliegenden Erfindung liegt die Erkenntnis zugrunde, dass der Übersegmentierung dadurch wirkungsvoll begegnet wird, wenn nach einer ursprünglichen Segmentierung und anschließenden Segmentierungsklassenzuweisung die eigentlich bereits abgeschlossene ursprüngliche Segmentierung nachkorrigiert wird. Zu diesem Zweck umfasst die erfindungsgemäße Vorrichtung eine Segmentierungskorrektureinrichtung zum Korrigieren der Segmentierung, die ausgebildet ist, um ein Segment mit einer Länge, die kürzer als eine vorbestimmte Minimallänge ist, mit einem zeitlichen Vorgängersegment oder einem zeitlichen Nachfolgersegment zu verschmelzen, um eine geänderte Segmentierung des Audiostücks zu erhalten. Diese Nachkorrektur findet erfindungsgemäß nach der ersten Segmentierung und der sich an die erste Segmentierung anschließenden Zuweisung in die Segmentklassen, also auch nach dem Clustering statt. Dies ermöglicht die Option, für die Korrektur der Segmentierung nicht nur Kurz-Segmente nach bestimmten Kriterien mit einem vorhergehenden Segment und einem nachfolgenden Segment zu verschmelzen, sondern für diese Verschmelzung auch Informationen über die Segmentklassenzugehörigkeit des Vorgängersegments, über die Segmentklassenzugehörigkeit des Nachfolgersegments oder über die Segmentklassenzugehörigkeit des Kurz-Segments selbst zu verwenden.The present invention is based on the finding that the over-segmentation is effectively counteracted if, after an original segmentation and subsequent segmentation class assignment, the originally already completed original segmentation is post-corrected. For this purpose, the device according to the invention comprises a segmentation correction device for correcting the segmentation, which is designed to merge a segment having a length which is shorter than a predetermined minimum length with a time predecessor segment or a successor segment, by a changed segmentation of the audio piece to obtain. According to the invention, this post-correction takes place after the first segmentation and the allocation to the segment classes subsequent to the first segmentation, that is also after the clustering. This makes it possible for the segmentation correction to merge not only short segments according to certain criteria with a preceding segment and a subsequent segment but also information about the segment class affiliation of the predecessor segment, about the segment class affiliation of the predecessor segment or about the segment class affiliation for this merger of the short segment itself.

Einfache Algorithmen können jedoch bereits ohne Rücksicht auf die Segmentklassenzugehörigkeiten des Kurz-Segments, das Vorgänger-Segments oder das Nachfolger-Segments allein auf Grund einer Überprüfung der Neuheitswerte an den Segmentgrenzen eine Segmentverschmelzung erreichen, die bereits eine akzeptable Trefferwahrscheinlichkeit hat.However, even without regard to the segment class affiliations of the short segment, the predecessor segment or the successor segment, simple algorithms can achieve a segment merge already having an acceptable hit probability based on a review of the novelty values at the segment boundaries.

Vorzugsweise wird jedoch die Segmentverschmelzung auf Grund der Neuheitswerte an den Segmentgrenzen erst dann - gewissermaßen als letztes Mittel - durchgeführt, wenn ein entsprechendes kurzes Segment durch vorausgehende Überprüfungen, in denen die Segmentklassenzugehörigkeit der betroffenen Vorläufer-/Nachfolger-Segmente berücksichtig worden sind, nicht verschmolzen werden konnte.However, due to the novelty values at the segment boundaries, the segment merge is preferably carried out only to a certain extent as a last resort, if a corresponding short segment could not be merged by previous reviews in which the segment class affiliation of the affected forerunner / successor segments was taken into account.

Bei einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung wird eine adaptive Segmentzuweisung auf der Basis der primären Segmentierung durchgeführt, wobei jedoch beim Auftreten von Segmentierungszuweisungskonflikten Segmente, die eigentlich einer ersten Segmentklasse zugeordnet sind, mit einer Tendenz auf eine andere Segmentklasse, die den Konflikt verursacht hatte, versehen werden. Stellt sich dann heraus, dass ein Segment mit einer solchen Tendenz gleichzeitig ein Kurz-Segment ist, und stellt sich ferner heraus, dass die Tendenz auf eine Segmentklasse hinweist, zu der zugleich das zeitlich vorhergehende oder das zeitlich nachfolgende Segment gehört, so wird eine der ursprünglichen Ähnlichkeitsdarstellung gerecht werdende Segmentverschmelzung auf der Basis dieser Tendenz bzw. Trend erhalten.In a preferred embodiment of the present invention, an adaptive segment assignment is performed based on the primary segmentation, however, upon the occurrence of segmentation assignment conflicts, segments that are actually associated with a first segment class are provided with a bias to another class of segment that caused the conflict become. If it then turns out that a segment with such a tendency is at the same time a short segment, and it also turns out that the trend is indicative of a segment class to which the temporally preceding segment or the temporally succeeding segment belongs at the same time, one of the original segmentation of similarity on the basis of this trend or trend.

Das erfindungsgemäße Konzept ist insbesondere dahingehend vorteilhaft, dass kein Abschnitt des Audiostücks komplett eliminiert wird. Der Benutzer, der dann, wenn die gesamte Verarbeitung beendet ist, durch das Audiostück navigiert, wird Segmente, die die geänderte Segmentierung bilden, vorfinden, deren Gesamtlänge nach wie vor gleich der ursprünglichen Länge des Audiostücks ist.The inventive concept is particularly advantageous in that no portion of the audio piece is completely eliminated. The user, who then navigates through the audio piece when all processing is complete, will find segments constituting the changed segmentation whose total length is still equal to the original length of the audio piece.

Darüber hinaus wird eine Anzahl von Segmentklassen erhalten, die gleich der Anzahl der in einem Audiostück vorkommenden Hauptteile ist.In addition, a number of segment classes equal to the number of main parts occurring in an audio track are obtained.

Ferner kann variabel, allein auf Grund einer zeitlichen Schwellwertvorgabe die Minimallänge eines Segments eingestellt werden, was insbesondere in Verbindung mit einer Musikgenreidentifikation dahingehend Möglichkeiten eröffnet, überhaupt zulässige minimale Segmentlängen an das betrachtete Musikgenre anzupassen, zumal unterschiedliche Musikgenre unterschiedlich lange Segmente mit sich bringen können.Furthermore, the minimum length of a segment can be adjusted variably, solely on the basis of a temporal threshold value specification, which opens up possibilities in this regard, in particular in connection with a music genre identification, of minimum permissible minimum segment lengths Music genre adapt, especially since different genre of music can bring different lengths segments with it.

Des weiteren ermöglicht es das erfindungsgemäße Konzept auch, allein auf Grund einer Minimallängen-Schwellwertvorgabe die Anzahl der Segmentklassen durch Zuordnung von Kurz-Segmenten so weit zu reduzieren, bis eine überhaupt erwartete Anzahl erfüllt wird, ohne dass die Segmentdarstellung des Audiostücks Löcher umfasst.Furthermore, the concept according to the invention also makes it possible to reduce the number of segment classes by assigning short segments on the basis of a minimum length threshold specification until an expected number is met, without the segment representation of the audio piece comprising holes.

Bei einem bevorzugten Ausführungsbeispiel erfolgt die Zuweisung eines Segments zu einer Segmentklasse auf der Basis eines adaptiven Ähnlichkeits-Mittelwerts für ein Segment, derart, dass durch den Ähnlichkeits-Mittelwert berücksichtigt wird, welchen insgesamten Ähnlichkeits-Score ein Segment im gesamten Stück hat. Nachdem für ein Segment ein solcher Ähnlichkeits-Mittelwert berechnet worden ist, zu dessen Berechnung die Anzahl der Segmente und die Ähnlichkeitswerte der dem Segment zugeordneten Mehrzahl von Ähnlichkeitswerten benötigt werden, wird dann die tatsächliche Zuweisung eines Segments zu einer Segmentklasse, also zu einem Cluster, auf der Basis dieses Ähnlichkeits-Mittelwerts durchgeführt. Liegt ein Ähnlichkeitswert eines Segments zu dem gerade betrachteten Segment beispielsweise oberhalb des Ähnlichkeits-Mittelwerts, so wird das Segment als zu der gerade betrachteten Segmentklasse zugehörig zugewiesen. Liegt der Ähnlichkeitswert eines Segments zu dem gerade betrachteten Segment dagegen unterhalb dieses Ähnlichkeits-Mittelwerts, so wird es nicht der Segmentklasse zugewiesen.In a preferred embodiment, a segment is assigned to a segment class based on an adaptive similarity mean for a segment such that the similarity mean takes into account which overall similarity score a segment has in the entire piece. After such a similarity mean has been calculated for a segment, for the calculation of which the number of segments and the similarity values of the plurality of similarity values assigned to the segment are required, the actual assignment of a segment to a segment class, ie to a cluster, then becomes apparent based on this similarity mean. For example, if a similarity value of a segment to the segment under consideration is above the similarity mean, then the segment is assigned as belonging to the currently considered segment class. Conversely, if the similarity value of a segment to the segment under consideration is below that similarity mean, it will not be assigned to the segment class.

In anderen Worten ausgedrückt bedeutet dies, dass die Zuweisung nicht mehr abhängig von der absoluten Größe der Ähnlichkeitswerte durchgeführt wird, sondern relativ zu dem Ähnlichkeits-Mittelwert. Dies bedeutet, dass für ein Segment, das einen relativ geringen Ähnlichkeits-Score hat, also z. B. für ein Segment, das ein Intro oder Outro hat, der Ähnlichkeits-Mittelwert niedriger sein wird als für ein Segment, das eine Strophe oder ein Refrain ist. Damit werden die starken Abweichungen der Ähnlichkeiten von Segmenten in Stücken bzw. der Häufigkeit des Auftretens von bestimmten Segmenten in Stücken berücksichtigt, wobei z. B. numerische Probleme und damit auch Mehrdeutigkeiten und damit verbundene Falsch-Zuweisungen vermieden werden können.In other words, this means that the assignment is no longer made dependent on the absolute size of the similarity values, but relative to the similarity mean. This means that for a segment that has a relatively low similarity score, so z. For example, for a segment that has an intro or outro, the similarity mean will be lower than for a segment that is a stanza or chorus. Thus, the strong deviations of the similarities of segments in pieces or the frequency of occurrence of certain segments are considered in pieces, with z. B. numerical problems and thus ambiguities and associated misallocations can be avoided.

Das erfindungsgemäße Konzept eignet sich besonders für Musikstücke, die nicht nur aus Strophen und Refrains bestehen, also die Segmente haben, die zu Segmentklasse gehören, die gleich große Ähnlichkeitswerte haben, sondern auch für Stücke, die neben Strophe und Refrain auch andere Teile haben, nämlich eine Einführung (Intro), ein Zwischenspiel (Bridge) oder einen Ausklang (Outro).The inventive concept is particularly suitable for pieces of music that consist not only of stanzas and choruses, so have the segments that belong to segment class that have the same similarity values, but also for pieces that in addition to stanza and chorus also have other parts, namely an introduction (Intro), an interlude (Bridge) or a finale (Outro).

Bei einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung werden die Berechnung des adaptiven Ähnlichkeits-Mittelwertes und das Zuweisen eines Segments iterativ durchgeführt, wobei Ähnlichkeitswerte von zugewiesenen Segmenten beim nächsten Iterationsdurchgang ignoriert werden. Damit ergibt sich für den nächsten Iterationsdurchgang ein neuer maximaler Ähnlichkeits-Absolutwert, also die Summe der Ähnlichkeitswerte in einer Spalte der Ähnlichkeitsmatrix, da die den früher zugewiesenen Segmenten entsprechenden Ähnlichkeits-Absolutwerte zu Null gesetzt worden sind.In a preferred embodiment of the present invention, the calculation of the adaptive similarity mean and the assignment of a segment are performed iteratively, ignoring similarity values of assigned segments at the next iteration run. This results in a new maximum similarity absolute value for the next iteration run, ie the sum of the similarity values in a column of the similarity matrix, since the similarity absolute values corresponding to the previously assigned segments have been set to zero.

Erfindungsgemäß wird eine Segmentierungs-Nachkorrektur durchgeführt, und zwar dahingehend, dass nach der Segmentierung z. B. auf Grund des Neuheitswertes (der lokalen Maxima des Neuheitswertes) und nach einer anschließenden Zuordnung zu Segmentklassen relativ kurze Segmente untersucht werden, um zu sehen, ob sie dem Vorgänger-Segment oder dem Nachfolger-Segment zugeordnet werden können, da Segmente unterhalb einer minimalen Segmentlänge mit hoher Wahrscheinlichkeit auf eine Übersegmentierung hindeuten.According to the invention, a segmentation post-correction is carried out in such a way that after the segmentation z. B. based on the novelty value (the local maxima of the novelty value) and after a subsequent assignment to segment classes relatively short segments are examined to see if they can be assigned to the predecessor segment or the successor segment, since segments below a minimum Segment length is likely to indicate over-segmentation.

Bei einem alternativen bevorzugten Ausführungsbeispiel der vorliegenden Erfindung wird nach der abschließenden Segmentierung und Zuordnung in die Segmentklassen ein Labeling durchgeführt, und zwar unter Verwendung eines speziellen Auswahlalgorithmus, um eine möglichst korrekte Kennzeichnung der Segmentklassen als Strophe oder Refrain zu erhalten.In an alternative preferred embodiment of the present invention, after the final segmentation and assignment into the segment classes, a labeling is performed using a special selection algorithm to obtain the most correct labeling of the segment classes as a stanza or chorus.

Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf die beiliegende Zeichnung detailliert erläutert. Es zeigen:

Fig. 1
ein Blockschaltbild der erfindungsgemäßen Vorrichtung zum Gruppieren gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung;
Fig. 2
ein Flussdiagramm zur Darstellung einer bevorzugten Ausführungsform der Erfindung zum iterativen Zuweisen;
Fig. 3
ein Blockdiagramm der Funktionsweise der Segmentierungskorrektureinrichtung;
Fig. 4a
und Fig. 4b eine bevorzugte Ausführungsform der Segmentklassenbezeichnungseinrichtung;
Fig. 5
ein Gesamtblockschaltbild eines Audioanalysewerkzeugs;
Fig. 6
eine Darstellung einer beispielhaften Merkmalsähnlichkeitsmatrix;
Fig. 7
eine beispielhafte Darstellung einer Segmentähnlichkeitsmatrix;
Fig. 8
eine schematische Darstellung zur Veranschaulichung der Elemente in einer Ähnlichkeitsmatrix S; und
Fig. 9
eine schematische Darstellung eines geglätteten Neuheitswerts.
Preferred embodiments of the present invention will be explained below in detail with reference to the accompanying drawings. Show it:
Fig. 1
a block diagram of the device according to the invention for grouping according to a preferred embodiment of the present invention;
Fig. 2
a flow chart for illustrating a preferred embodiment of the invention for iterative assignment;
Fig. 3
a block diagram of the operation of the Segmentierungskorrektureinrichtung;
Fig. 4a
and Fig. 4b a preferred embodiment of the segment class designator;
Fig. 5
an overall block diagram of an audio analysis tool;
Fig. 6
a representation of an exemplary feature similarity matrix;
Fig. 7
an exemplary representation of a segment similarity matrix;
Fig. 8
a schematic representation for illustrating the elements in a similarity matrix S; and
Fig. 9
a schematic representation of a smoothed novelty value.

Fig. 1 zeigt eine Vorrichtung zum Gruppieren von zeitlichen Segmenten eines Musikstücks, das in in dem Musikstück wiederholt auftretende Hauptteile gegliedert ist, in verschiedene Segmentklassen, wobei eine Segmentklasse einem Hauptteil zugeordnet ist. Die vorliegende Erfindung bezieht sich somit besonders auf Musikstücke, die einer gewissen Struktur unterliegen, in der ähnliche Abschnitte mehrmals erscheinen und sich mit anderen Abschnitten abwechseln. Die meisten Rock- und Popsongs besitzen eine klare Struktur in Bezug auf ihre Hauptteile. Fig. 1 shows a device for grouping temporal segments of a piece of music, which is divided into main parts repeatedly occurring in the piece of music, into different segment classes, one segment class being assigned to a main part. The present invention thus relates particularly to pieces of music which are subject to a certain structure in which similar sections appear several times and alternate with other sections. Most rock and pop songs have a clear structure in terms of their main parts.

Die Literatur behandelt das Thema der Musikanalyse hauptsächlich anhand klassischer Musik, davon gilt jedoch auch vieles für Rock- und Popmusik. Die Hauptteile eines Musikstücks werden auch "Großformteile" genannt. Unter einem Großformteil eines Stücks versteht man einen Abschnitt, der hinsichtlich verschiedener Merkmale, z. B. Melodik, Rhythmik, Textur, usw., eine relativ einheitliche Beschaffenheit hat. Diese Definition gilt allgemein in der Musiktheorie.The literature deals with the theme of music analysis mainly on the basis of classical music, but it also applies much to rock and pop music. The main parts of a piece of music are also called "large moldings". A large shaped part of a piece is understood to mean a section which, with respect to various features, e.g. B. melody, rhythm, texture, etc., has a relatively uniform nature. This definition applies generally in music theory.

Großformteile in der Rock- und Popmusik sind z. B. Strophe, Refrain, Bridge und Solo. In der klassischen Musik wird ein Wechselspiel von Refrain und anderen Teilen (Couplets) einer Komposition auch Rondo genannt. Im Allgemeinen kontrastieren die Couplets zum Refrain, beispielsweise hinsichtlich Melodik, Rhythmik, Harmonik, Tonart oder Instrumentation. Dies lässt sich auch auf moderne Unterhaltungsmusik übertragen. So wie es bei dem Rondo verschiedene Formen gibt (Kettenrondo, Bogenrondo, Sonatenrondo), bestehen auch in Rock- und Popmusik bewährte Muster zum Aufbau eines Liedes. Diese sind natürlich nur einige Möglichkeiten aus vielen. Letztendlich entscheidet natürlich der Komponist, wie sein Stück aufgebaut ist. Ein Beispiel für einen typischen Aufbau eines Rockliedes ist das Muster.
A-B-A-B-C-D-A-B,
wobei A gleich Strophe, B gleich Refrain, C gleich Bridge und D gleich Solo gilt. Oftmals wird ein Musikstück mit einem Vorspiel (Intro) eingeleitet. Intros bestehen häufig aus der gleichen Akkordfolge wie die Strophe, allerdings mit anderer Instrumentation, z. B. ohne Schlagzeug, ohne Bass oder ohne Verzerrung der Gitarre bei Rockliedern etc.
Large moldings in rock and pop music are z. Eg verse, chorus, bridge and solo. In classical music, an interplay of chorus and other parts (couplets) of a composition is also called rondo. In general, the couplets contrast with the chorus, for example in terms of melody, rhythm, harmony, key or instrumentation. This can also be transferred to modern light music. Just as there are different forms in the rondo (chain rondo, bowed rondo, sonata rondo), there are also proven patterns in rock and pop music for setting up a song. Of course these are just a few options out of many. Ultimately, of course, the composer decides how his piece is constructed. An example of a typical structure of a rock song is the pattern.
ABABCDAB,
where A equals strophe, B equals refrain, C equals bridge, and D equals solo. Often a piece of music is introduced with a prelude. Intros often consist of the same chord progression as the stanza, but with different instrumentation, eg. B. without drums, without bass or distortion of the guitar in rock songs etc.

Die erfindungsgemäße Vorrichtung umfasst zunächst eine Einrichtung 10 zum Bereitstellen einer Ähnlichkeitsdarstellung für die Segmente, wobei die Ähnlichkeitsdarstellung für jedes Segment eine zugeordnete Mehrzahl von Ähnlichkeitswerten aufweist, wobei die Ähnlichkeitswerte angeben, wie ähnlich das Segment zu jedem anderen Segment ist. Die Ähnlichkeitsdarstellung ist vorzugsweise die in Fig. 7 gezeigte Segment-Ähnlichkeitsmatrix. Sie hat für jedes Segment (in Fig. 7 Segmente 1-10) eine eigene Spalte, die den Index "j" hat. Ferner hat die Ähnlichkeitsdarstellung für jedes Segment eine eigene Zeile, wobei eine Zeile mit einem Zeilenindex i bezeichnet ist. Dies wird nachfolgend anhand des beispielhaften Segments 5 bezeichnet. Das Element (5,5) in der Hauptdiagonale der Matrix von Fig. 7 ist der Ähnlichkeitswert des Segments 5 mit sich selbst, also der maximale Ähnlichkeitswert. Ferner ist das Segment 5 noch mittelähnlich zum Segment Nr. 6, wie es durch das Element (6,5) oder durch das Element (5,6) der Matrix in Fig. 7 bezeichnet ist. Darüber hinaus hat das Segment 5 noch Ähnlichkeiten zu den Segmenten 2 und 3, wie es durch die Elemente (2,5) oder (3,5) oder (5,2) oder (5,3) in Fig. 7 gezeigt ist. Zu den anderen Segmenten 1, 4, 7, 8, 9, 10 hat das Segment Nr. 5 eine Ähnlichkeit, die in Fig. 7 nicht mehr sichtbar ist.The apparatus of the invention comprises first means 10 for providing a similarity representation to the segments, the similarity representation having for each segment an associated plurality of similarity values, the similarity values indicating how similar the segment is to each other segment. The similarity representation is preferably that in Fig. 7 shown segment similarity matrix. It has for each segment (in Fig. 7 Segments 1-10) has its own column, which has the index "j". Further, the similarity representation has a separate row for each segment, with one row labeled with a row index i. This will be referred to below with reference to the exemplary segment 5. The element (5,5) in the main diagonal of the matrix of Fig. 7 is the similarity value of the segment 5 with itself, ie the maximum similarity value. Furthermore, the segment 5 is still medium-like to the segment No. 6, as it is by the element (6,5) or by the element (5,6) of the matrix in Fig. 7 is designated. Moreover, the segment 5 is still similar to the segments 2 and 3, as represented by elements (2,5) or (3,5) or (5,2) or (5,3) in FIG Fig. 7 is shown. As for the other segments 1, 4, 7, 8, 9, 10, the segment No. 5 has a similarity as described in FIG Fig. 7 is no longer visible.

Eine dem Segment zugeordnete Mehrzahl von Ähnlichkeitswerten ist beispielsweise eine Spalte oder eine Zeile der Segment-Ähnlichkeitsmatrix in Fig. 7, wobei diese Spalte oder Zeile auf Grund ihres Spalten-/Zeilen-Indexes angibt, auf welches Segment sie sich bezieht, nämlich beispielsweise auf das fünfte Segment, und wobei diese Zeile/Spalte die Ähnlichkeiten des fünften Segments zu jedem anderen Segment in dem Stück umfasst. Die Mehrzahl von Ähnlichkeits werten ist also beispielsweise eine Zeile der Ähnlichkeitsmatrix oder, alternativ, eine Spalte der Ähnlichkeitsmatrix von Fig. 7.A plurality of similarity values associated with the segment is, for example, a column or a row of the segment similarity matrix in FIG Fig. 7 , which indicates this column or row based on their column / row index which segment it refers to, namely, for example, to the fifth segment, and where this row / column comprises the similarities of the fifth segment to each other segment in the piece. Thus, the plurality of similarity values is, for example, a row of the similarity matrix or, alternatively, a column of the similarity matrix of Fig. 7 ,

Die Vorrichtung zum Gruppieren von zeitlichen Segmenten des Musikstücks umfasst ferner eine Einrichtung 12 zum Berechnen eines Ähnlichkeits-Mittelwertes für ein Segment, unter Verwendung der Segmente und der Ähnlichkeitswerte der dem Segment zugeordneten Mehrzahl von Ähnlichkeitswerten. Die Einrichtung 12 ist ausgebildet, um z. B. für die Spalte 5 in Fig. 7 einen Ähnlichkeits-Mittelwert zu berechnen. Wird bei einem bevorzugten Ausführungsbeispiel der arithmetische Mittelwert verwendet, so wird die Einrichtung 12 die Ähnlichkeitswerte in der Spalte addieren und durch die Anzahl der Segmente insgesamt teilen. Um die Selbstähnlichkeit zu eliminieren, könnte von dem Additionsergebnis auch die Ähnlichkeit des Segments mit sich selbst abgezogen werden, wobei natürlich dann auch eine Teilung nicht mehr durch sämtliche Elemente, sondern durch sämtliche Elemente weniger 1 durchzuführen ist.The device for grouping temporal segments of the piece of music further comprises means 12 for calculating a similarity mean for a segment, using the segments and the similarity values of the plurality of similarity values associated with the segment. The device 12 is designed to z. For column 5 in Fig. 7 to calculate a similarity mean. In a preferred embodiment, when the arithmetic mean is used, means 12 will add the similarity values in the column and divide by the number of segments in total. In order to eliminate self-similarity, the similarity of the segment to itself could also be deducted from the result of the addition, whereby, of course, a division should no longer be performed by all elements, but by all elements less 1.

Die Einrichtung 12 zum Berechnen könnte alternativ auch den geometrischen Mittelwert berechnen, also jeden Ähnlichkeitswert einer Spalte für sich quadrieren, um die quadrierten Ergebnisse zu summieren, um dann eine Wurzel aus dem Summationsergebnis zu berechnen, welche durch die Anzahl der Elemente in der Spalte (bzw. die Anzahl der Elemente in der Spalte weniger 1) zu teilen ist. Beliebige andere Mittelwerte, wie beispielsweise der Median-Wert etc. sind verwendbar, so lange der Mittelwert für jede Spalte der Ähnlichkeitsmatrix adaptiv berechnet wird, also ein Wert ist, der unter Verwendung der Ähnlichkeitswerte der dem Segment zugeordneten Mehrzahl von Ähnlichkeit-swerten berechnet wird.Alternatively, the means 12 for computing could also calculate the geometric mean, that is, squiggle each similarity value of a column separately to sum the squared results, and then calculate a root from the summation result represented by the number of elements in the column the number of elements in the column is less 1) to divide. Any other mean values, such as the median value, etc., are usable as long as the mean value for each column of the similarity matrix is adaptively calculated, that is, a value calculated using the similarity values of the plurality of similarity values associated with the segment.

Der adaptiv berechnete Ähnlichkeits-Schwellenwert wird dann einer Einrichtung 14 zum Zuweisen eines Segments zu einer Segmentklasse geliefert. Die Einrichtung 14 zum Zuweisen ist ausgebildet, um ein Segment einer Segmentklasse zuzuordnen, wenn der Ähnlichkeitswert des Segments eine vorbestimmte Bedingung bezüglich des Ähnlichkeits-Mittelwerts erfüllt. Ist beispielsweise der Ähnlichkeits-Mittelwert so, dass ein größerer Wert auf eine größere Ähnlichkeit und ein kleinerer Wert auf eine geringere Ähnlichkeit hinweist, so wird die vorbestimmte Beziehung darin bestehen, dass der Ähnlichkeitswert eines Segments gleich oder oberhalb des Ähnlichkeits-Mittelwerts sein muss, damit das Segment einer Segmentklasse zugewiesen wird.The adaptively calculated similarity threshold is then provided to a segment 14 for assigning a segment to a segment class. The means 14 for assigning is arranged to associate a segment with a segment class if the similarity value of the segment satisfies a predetermined condition with respect to the mean of similarity. For example, if the similarity mean is such that a larger value indicates greater similarity and a smaller value indicates lesser similarity, then the predetermined relationship will be that the similarity value of a segment must be equal to or above the similarity mean, thus the segment is assigned to a segment class.

Bei einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung existieren noch weitere Einrichtungen, um spezielle Ausführungsformen zu verwirklichen, auf die später eingegangen wird. Diese Einrichtungen sind eine Segmentauswahleinrichtung 16, eine Segmentzuweisungskonflikteinrichtung 18, eine Segmentierungskorrektureinrichtung 20 sowie eine Segmentklassen-Bezeichnungseinrichtung 22.In a preferred embodiment of the present invention, there are still other devices to realize specific embodiments, which will be discussed later. These devices are a segment selection device 16, a segment assignment conflict device 18, a segmentation correction device 20 and a segment class designation device 22.

Die Segmentauswahleinrichtung 16 in Fig. 1 ist ausgebildet, um zunächst für jede Spalte in der Matrix von Fig. 7 einen Gesamt-Ähnlichkeitswert V(j) zu berechnen, der folgendermaßen ermittelt wird: V j = i = 1 P S s i j - S A ¨ j = 1 , , P

Figure imgb0001

P ist die Anzahl der Segmente. SÄ ist der Wert der Selbstähnlichkeit eines Segments mit sich selbst. Je nach verwendeter Technik kann der Wert z. B. Null oder Eins sein. Die Segmentauswahleinrichtung 16 wird zunächst den Wert V(j) für jedes Segment berechnen, um dann das Vektorelement i des Vektors V mit maximalem Wert herauszufinden. Anders ausgedrückt bedeutet dies, dass die Spalte in Fig. 7 gewählt wird, die bei der Aufaddition der einzelnen Ähnlichkeitswerte in der Spalte den größten Wert oder Score erreicht. Dieses Segment könnte beispielsweise das Segment Nr. 5 bzw. die Spalte 5 der Matrix in Fig. 7 sein, da dieses Segment mit drei anderen Segmenten zumindest eine gewisse Ähnlichkeit hat. Ein anderer Kandidat bei dem Beispiel von Fig. 7 könnte auch das Segment mit der Nr. 7 sein, da dieses Segment ebenfalls zu drei anderen Segmenten eine gewisse Ähnlichkeit hat, die zudem noch größer ist als die Ähnlichkeit des Segments 5 zu den Segmenten 2 und 3 (höhere Grauschattierung in Fig. 7).The segment selector 16 in FIG Fig. 1 is trained to look for each column in the matrix first Fig. 7 to calculate an overall similarity value V (j), which is determined as follows: V j = Σ i = 1 P S s i j - S A ¨ j = 1 . ... . P
Figure imgb0001

P is the number of segments. SÄ is the value of self-similarity of a segment to itself. Depending on the technique used, the value z. B. zero or one. The segment selector 16 will first calculate the value V (j) for each segment to then find the vector element i of the maximum value vector V. In other words, this means that the column in Fig. 7 chosen becomes the largest value or score when the individual similarity values in the column are added. For example, this segment could be segment no. 5 or column 5 of the matrix in Fig. 7 be, since this segment has at least a certain similarity with three other segments. Another candidate in the example of Fig. 7 could also be the segment with the number 7, since this segment also has a certain similarity to three other segments, which is even greater than the similarity of the segment 5 to the segments 2 and 3 (higher shade of gray in FIG Fig. 7 ).

Für das nachfolgende Beispiel wird nunmehr angenommen, dass die Segmentauswahleinrichtung 16 das Segment Nr. 7 auswählt, da es den höchsten Ähnlichkeits-Score auf Grund der Matrixelemente (1,7), (4,7) und (10,7) hat. Dies bedeutet in anderen Worten, dass V (7) die Komponente des Vektors V ist, die den maximalen Wert unter allen Komponenten von V hat.For the following example, it is now assumed that the segment selector 16 selects the segment # 7 because it has the highest similarity score due to the matrix elements (1,7), (4,7), and (10,7). In other words, this means that V (7) is the component of the vector V which has the maximum value among all the components of V.

Nunmehr wird der Ähnlichkeits-Score der Spalte 7, also für das Segment Nr. 7 noch durch die Zahl "9" geteilt, um aus der Einrichtung 12 den Ähnlichkeits-Schwellwert für das Segment zu erhalten.Now, the similarity score of column 7, that is, for segment no. 7, is still divided by the number "9" in order to obtain from the means 12 the similarity threshold value for the segment.

Hierauf wird in der Segment-Ähnlichkeitsmatrix für die siebte Zeile bzw. Spalte überprüft, welche Segmentähnlichkeiten über dem berechneten Schwellwert liegen, d. h. mit welchen Segmenten das i-te Segment eine überdurchschnittliche Ähnlichkeit aufweist. All diese Segmente werden nunmehr ebenfalls wie das siebte Segment einer ersten Segmentklasse zugewiesen.Then, in the segment similarity matrix for the seventh row or column, it is checked which segment similarities are above the calculated threshold, i. H. with which segments the ith segment has an above-average similarity. All these segments are now also assigned to a first segment class like the seventh segment.

Für das vorliegende Beispiel wird angenommen, dass die Ähnlichkeit des Segments 10 zum Segment 7 unterdurchschnittlich ist, dass jedoch die Ähnlichkeiten des Segments 4 und des Segments 1 zum Segment 7 überdurchschnittlich sind. Daher werden in die erste Segment klasse neben dem Segment Nr. 7 auch das Segment Nr. 4 und das Segment Nr. 1 eingeordnet. Dagegen wird das Segment Nr. 10 auf Grund der unterdurchschnittlichen Ähnlichkeit zum Segment Nr. 7 nicht in die erste Segmentklasse eingeordnet.For the present example, it is assumed that the similarity of the segment 10 to the segment 7 is below average, but that the similarities of the segment 4 and the segment 1 to the segment 7 are above average. Therefore, in the first segment class next to the segment no. 7 also segment no. 4 and segment no. 1 are classified. By contrast, segment no. 10 is not classified in the first segment class due to the below-average similarity to segment no.

Nach der Zuweisung werden die korrespondierenden Vektorelemente V(j) aller Segmente, die in dieser Schwellwertuntersuchung einem Cluster zugeordnet wurden, zu 0 gesetzt. Im Beispiel sind dies neben V(7) auch die Komponenten V(4) und V(1). Dies bedeutet unmittelbar, dass die 7., 4. und 1. Spalte der Matrix nicht mehr für eine spätere Maximalsuche zur Verfügung stehen werden, das sie Null sind, also keinesfalls ein Maximum sein können.After the assignment, the corresponding vector elements V (j) of all segments which have been assigned to a cluster in this threshold value analysis are set to 0. In the example these are beside V (7) also the components V (4) and V (1). This immediately implies that the 7th, 4th, and 1st columns of the matrix will no longer be available for a later maximum search, that they are zero, so they can not be a maximum.

Dies ist in etwa gleichbedeutend damit, dass die Einträge (1,7), (4,7), (7,7) und (10,7) der Segmentähnlichkeitsmatrix zu 0 gesetzt werden. Dasselbe Prozedere wird für die Spalte 1 (Elemente (1,1), (4,1) und (7,1)) und die Spalte 4 (Elemente (1,4), (4,4), (7,4) und (10, 4)) durchgeführt. Aufgrund der einfacheren Handhabbarkei-t, wird jedoch die Matrix nicht verändert, sondern werden die Komponenten von V, die zu einem zugewiesenen Segment gehören, bei der nächsten Maximumsuche in einem späteren Iterationsschritt ignoriert.This is roughly equivalent to setting the entries (1,7), (4,7), (7,7) and (10,7) of the segment similarity matrix to 0. The same procedure is used for column 1 (elements (1,1), (4,1) and (7,1)) and column 4 (elements (1,4), (4,4), (7,4) and (10, 4)). Due to the ease of handling, however, the matrix is not changed, but the components of V that belong to an assigned segment are ignored on the next maximum search in a later iteration step.

In einem nächsten Iterationsschritt wird nunmehr ein neues Maximum unter den noch verbleibenden Elementen von V, also unter V(2), V(3), V(5), V(6,), V(8), V(9) und V (10) gesucht. Voraussichtlich wird dann das Segment Nr. 5, also V(5), den größten Ähnlichkeits-Score ergeben. Die zweite Segmentklasse erhält dann die Segmente 5 und 6. Auf Grund der Tatsache, dass die Ähnlichkeiten zu den Segmenten 2 und 3 unterdurchschnittlich sind, werden die Segmente 2 und 3 nicht in den Cluster zweiter Ordnung gebracht. Damit werden die Elemente V(6) und V(5) vom Vektor V auf Grund der erfolgten Zuweisung zu 0 gesetzt, während noch die Komponenten V(2), V(3), V(8), V(9) und V(10) des Vektors für die Auswahl des Clusters dritter Ordnung verbleiben.In a next iteration step, a new maximum is now selected from the remaining elements of V, that is to say V (2), V (3), V (5), V (6), V (8), V (9) and V (10) searched. The segment no. 5, ie V (5), is expected to yield the largest similarity score. The second segment class then obtains segments 5 and 6. Due to the fact that the similarities to segments 2 and 3 are below average, segments 2 and 3 are not placed in the second order clusters. Thus, the elements V (6) and V (5) are set to 0 by the vector V due to the assignment made, while still the components V (2), V (3), V (8), V (9) and V (10) of the vector for the selection of the third-order cluster remain.

Hierauf wird wieder ein neues Maximum unter den genannten verbleibenden Elementen von V gesucht. Das neue Maximum könnte V(10) sein, also die Komponente von V für das Segment 10. Segment 10 kommt also in die Segmentklasse dritter Ordnung. So könnte sich ferner herausstellen, dass das Segment 7 auch zum Segment 10 eine überdurchschnittliche Ähnlichkeit hat, obgleich das Segment 7 bereits der ersten Segmentklasse zugehörig gekennzeichnet ist. Es entsteht somit ein Zuweisungskonflikt, der durch die Segmentzuweisungskonflikteinrichtung 18 von Fig. 1 aufgelöst wird.Then again a new maximum among the mentioned remaining elements of V is searched for. The new maximum could be V (10), ie the component of V for segment 10. Segment 10 thus comes in the segment class of third order. Thus, it could also be found that the segment 7 also has an above-average similarity to the segment 10, although the segment 7 is already identified as belonging to the first segment class. This results in an assignment conflict that is caused by the segment assignment conflicting device 18 of FIG Fig. 1 is resolved.

Eine einfache Art der Auflösung könnte sein, einfach in die dritte Segmentklasse das Segment 7 nicht zuzuweisen und z. B. statt dessen das Segment 4 zuzuweisen, falls für das Segment 4 nicht ebenfalls ein Konflikt existieren würde.A simple kind of resolution could be to simply not assign the segment 7 into the third segment class and e.g. For example, instead of assigning the segment 4, if for the segment 4 would not also conflict exist.

Vorzugsweise wird jedoch, um die Ähnlichkeit zwischen dem Segment 7 und dem Segment 10 nicht unberücksichtigt zu lassen, die Ähnlichkeit zwischen 7 und 10 in nachfolgendem Algorithmus berücksichtigt.Preferably, however, in order not to disregard the similarity between the segment 7 and the segment 10, the similarity between 7 and 10 is considered in the following algorithm.

Allgemein ist die Erfindung ausgelegt, um die Ähnlichkeit zwischen i und k nicht unberücksichtigt zu lassen. Daher werden die Ähnlichkeitswerte Ss(i,k) von Segment i und k mit dem Ähnlichkeitswert Ss(i*,k) verglichen, wobei i* das erste Segment ist, das dem Cluster C* zugeordnet wurde. Der Cluster bzw. die Segmentklasse C* ist der Cluster, dem das Segment k bereits auf Grund einer vorherigen Untersuchung zugeordnet ist. Der Ähnlichkeitswert Ss(i*,k) ist ausschlaggebend dafür, dass das Segment k dem Cluster C* zugehörig ist. Ist Ss(i*,k) größer als Ss(i,k), so bLeibt das Segment k im Cluster C*. Ist Ss(i*,k) kleiner als Ss(i,k), so wird das Segment k aus dem Cluster C* herausgenommen und dem Cluster C zugewiesen. Für den ersten Fall, also wenn das Segment k nicht die Clusterzugehörigkeit wechselt, wird für das Segment i eine Tendenz zum Cluster C* vermerkt. Vorzugsweise wird diese Tendenz jedoch auch dann vermerkt, wenn das Segment k die Clusterzugehörigkeit wechselt. In diesem Fall wird eine Tendenz dieses Segments zum Cluster, in den es ursprünglich aufgenommen wurde, vermerkt. Diese Tendenzen können vorteilhafterweise bei einer Segmentierungskorrektur, die durch die Segmentierungskorrektureinrichtung 20 ausgeführt wird, verwendet werden.Generally, the invention is designed not to discount the similarity between i and k. Therefore, the similarity values S s (i, k) of segment i and k are compared with the similarity value S s (i *, k), where i * is the first segment assigned to the cluster C *. The cluster or the segment class C * is the cluster to which segment k is already assigned on the basis of a previous examination. The similarity value S s (i *, k) is decisive for the fact that the segment k belongs to the cluster C *. If S s (i *, k) is greater than S s (i, k), segment k in cluster C * is left. If S s (i *, k) is smaller than S s (i, k), the segment k is taken out of the cluster C * and assigned to the cluster C. For the first case, ie if the segment k does not change the cluster membership, a tendency towards the cluster i is noted for the cluster C *. Preferably, however, this tendency is also noted when segment k changes cluster membership. In this case, a tendency of this segment to the cluster in which it was originally recorded is noted. These tendencies may be advantageously used in a segmentation correction performed by the segmentation correction means 20.

Die Ähnlichkeitswertüberprüfung wird, auf Grund der Tatsache, dass das Segment 7 das "Ursprungssegment" in der ersten Segmentklasse ist, zugunsten der ersten Segmentklasse ausgehen. Das Segment 7 wird also seine Clusterzugehörigkeit (Segmentzugehörigkeit) nicht ändern, sondern es wird in der ersten Segmentklasse verbleiben. Diese Tatsache wird jedoch dadurch berücksichtigt, dass dem Segment Nr. 10 in der dritten Segmentklasse ein Trend zur ersten Segmentklasse attestiert wird.The similarity value check will be in favor of the first segment class due to the fact that the segment 7 is the "source segment" in the first segment class. The segment 7 will therefore not change its cluster membership (segment affiliation), but it will remain in the first segment class. However, this fact is taken into account by the fact that segment no. 10 in the third segment class is attested a trend towards the first segment class.

Erfindungsgemäß wird damit berücksichtigt, dass insbesondere für die Segmente, deren Segment-Ähnlichkeiten zu zwei unterschiedlichen Segmentklassen existieren, diese Ähnlichkeiten dennoch nicht ignoriert werden, sondern gegebenenfalls später durch den Trend bzw. die Tendenz doch noch berücksichtigt werden.According to the invention, it is thus taken into account that, in particular for the segments whose segment similarities to two different segment classes exist, these similarities are nevertheless not ignored, but may eventually be taken into account later by the trend or the tendency.

Das Prozedere wird so lange fortgeführt, bis alle Segmente in der Segment-Ähnlichkeitsmatrix zugeordnet sind, was der Fall ist, wenn alle Elemente vom Vektor V zu Null gesetzt sind.The procedure continues until all segments in the segment similarity matrix are assigned, which is the case when all elements of vector V are set to zero.

Dies würde für das in Fig. 7 gezeigte Beispiel bedeuten, dass als nächstes, in die vierte Segmentklasse, das Maximum von V(2), V(3), V(8), V(9), also das Segment 2 und 3 eingeordnet werden, um dann, in einer fünften Segmentklasse, die Segmente 8 bzw. 9 einzuordnen, bis alle Segmente zugeordnet worden sind. Damit ist der in Fig. 2 gezeigte iterative Algorithmus beendet.This would be for the in Fig. 7 shown example mean that next, in the fourth segment class, the maximum of V (2), V (3), V (8), V (9), so the segment 2 and 3 are classified, then, in a fifth segment class, segments 8 and 9, respectively, until all segments have been assigned. This is the in Fig. 2 shown iterative algorithm finished.

Nachfolgend wird detailliert auf die bevorzugte Implementierung der Segmentierungskorrektureinrichtung 20 anhand von Fig. 3 eingegangen.In the following, the preferred implementation of the segmentation correction device 20 will be described in detail with reference to FIG Fig. 3 received.

So ergibt sich, dass bei der Berechnung der Segmentgrenzen mittels der Kernel-Korrelation, jedoch auch bei der Berechnung von Segmentgrenzen mittels anderer Maßnahmen häufig eine Übersegmentierung eines Stücks entsteht, d. h. es werden zu viele Segmentgrenzen bzw. allgemein zu kurze Segmente berechnet. Eine Übersegmentierung, z. B. hervorgerufen durch eine falsche Unterteilung der Strophe, wird erfindungsgemäß dadurch korrigiert, dass auf Grund der Segmentlänge und der Information, in welche Segmentklasse ein Vorgänger- oder Nachfolger-Segment einsortiert worden ist, korrigiert wird. In anderen Worten ausgedrückt dient die Korrektur dazu, zu kurze Segmente vollständig zu eliminieren, also mit benachbarten Segmenten zu verschmelzen, und um Segmente, die kurz sind, jedoch nicht zu kurz sind, also die eine kurze Länge haben, jedoch länger als die Minimallänge sind, noch einer besonderen Untersuchung zu unterziehen, ob sie vielleicht nicht doch noch mit einem Vorgängersegment oder einem Nachfolgersegment verschmolzen werden können. Grundsätzlich werden erfindungsgemäß aufeinander folgende Segmente, die der gleichen Segmentklasse angehören, immer verschmolzen. Ergibt das in Fig. 7 gezeigte Szenario z. B., dass die Segmente 2 und 3 in dieselbe Segmentklasse kommen, so werden diese automatisch miteinander verschmolzen, während die Segmente in der ersten Segmentklasse, also die Segmente 7, 4, 1 voneinander beabstandet sind und daher (wenigstens zunächst) nicht verschmelzbar sind. Dies wird in Fig. 3 durch einen Block 30 angedeutet. Nunmehr wird in einem Block 31 untersucht, ob Segmente eine Segmentlänge haben, die kleiner als eine Mindestlänge ist. So existieren vorzugsweise verschiedene Mindestlängen.Thus, when calculating the segment boundaries by means of the kernel correlation, but also when calculating segment boundaries by means of other measures, an over-segmentation of a piece often occurs, ie too many segment boundaries or generally too short segments are calculated. An over-segmentation, z. B. caused by an incorrect subdivision of the stanza, is inventively corrected by the fact that due to the segment length and the information in which segment class a predecessor or successor segment has been sorted, is corrected. In other words, the correction serves to completely eliminate segments that are too short, ie to merge with adjacent segments, and segments that are short but are not too short, ie that are short in length but longer than the minimum length to undergo a special investigation into whether they may not yet be merged with a predecessor segment or a successor segment. In principle, successive segments belonging to the same segment class are always fused together. Results in Fig. 7 shown scenario z. B. that the segments 2 and 3 come in the same segment class, they are automatically merged together, while the segments in the first segment class, ie the segments 7, 4, 1 are spaced apart and therefore (at least initially) are not merged. This will be in Fig. 3 indicated by a block 30. It is now examined in a block 31 whether segments have a segment length which is smaller than a minimum length. Thus, there are preferably different minimum lengths.

Es werden relativ kurze Segmente, die kürzer als 11 Sekunden (eine erste Schwelle) sind, überhaupt nur untersucht, während später noch kürzere Segmente (eine zweite Schwelle, die kleiner als die erste ist), die kürzer als 9 Sekunden sind, untersucht werden, und später noch verbleibende Segmente, die kürzer als 6 Sekunden (eine dritte Schwelle, die kürzer als die zweite Schwelle ist) sind, wieder alternativ behandelt werden.Relatively short segments shorter than 11 seconds (a first threshold) are only examined at all, while later still shorter segments (a second threshold, smaller than the first one) shorter than 9 seconds, and later remaining segments shorter than 6 seconds (a third threshold shorter than the second threshold) are again treated alternatively.

Bei dem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung, bei dem diese gestaffelte Längenüberprüfung stattfindet, ist die Segmentlängenüberprüfung im Block 31 zunächst darauf gerichtet, dass die Segmente kürzer als 11 Sekunden gefunden werden. Für die Segmente, die länger als 11 Sekunden sind, wird keine Nachbearbeitung vorgenommen, wie es durch ein "Nein" am Block 31 erkennbar ist. Für Segmente, die kürzer als 11 Sekunden sind, wird zunächst eine Tendenzenüberprüfung (Block 32) durchgeführt. So wird zunächst untersucht, ob ein Segment auf Grund der Funktionalität der Segmentzuweisungskonflikteinrichtung 18 von Fig. 1 einen zugeordneten Trend bzw. eine zugeordnete Tendenz hat. Bei dem Beispiel von Fig. 7 wäre dies das Segment 10, das einen Trend zu dem Segment 7 bzw. einen Trend zur ersten Segmentklasse hat. Ist das zehnte Segment kürzer als 11 Sekunden, so würde bei dem in Fig. 7 gezeigten Beispiel dennoch auch auf Grund der Tendenzüberprüfung nichts geschehen, da eine Verschmelzung des betrachteten Segments nur dann stattfindet, wenn es eine Tendenz nicht zu irgendeinem Cluster, also zu irgendeiner Segmentklasse hat, sondern eine Tendenz zu einem Cluster eines angrenzenden (vorher oder nachher) Segments. Dies ist jedoch für das Segment 10 bei dem in Fig. 7 gezeigten Beispiel nicht der Fall.In the preferred embodiment of the present invention in which this staggered length check occurs, the segment length check in block 31 is initially directed to finding the segments shorter than 11 seconds. For the segments that are longer than 11 seconds, no post processing is done, as indicated by a "No" at block 31. For segments shorter than 11 seconds, a trend check (block 32) is first performed. Thus, it is first examined whether a segment due to the functionality of the segment allocation conflicting device 18 of Fig. 1 has an associated trend or an associated trend. In the example of Fig. 7 this would be the segment 10 that has a trend towards the segment 7 or a trend towards the first segment class. If the tenth segment is shorter than 11 seconds, the in Fig. 7 Nevertheless, due to the trend check, nothing is done, since a fusion of the considered segment takes place only if it has a tendency not to any cluster, ie to any segment class, but a tendency to a cluster of an adjacent (before or after) segment , However, this is for the segment 10 in the in Fig. 7 example not shown.

Um auch die zu kurzen Segmente zu vermeiden, die keine Tendenz zu dem Cluster eines benachbarten Segments aufweisen, wird vorgegangen, wie es in den Blöcken 33a, 33b, 33c und 33d in Fig. 3 dargestellt ist. So wird an Segmenten, die länger als 9 Sekunden, jedoch kürzer als 11 Sekunden sind, nichts mehr gemacht. Sie werden belassen. In einem Block 33a wird nun jedoch für Segmente aus dem Cluster X, die kürzer als 9 Sekunden sind, und bei denen sowohl das Vorgänger-Segment als auch das Nachfolge-Segment zum Cluster Y gehören, eine Zuweisung zum Cluster Y vorgenommen, was automatisch bedeutet, dass ein solches Segment mit sowohl dem Vorgänger- als auch dem Nachfolger-Segment verschmolzen wird, so dass ein insgesamt längeres Segment entsteht, das sich aus dem betrachteten Segment sowie dem Vorgänger- als auch dem Nachfolger-Segment zusammensetzt. Somit kann durch eine nachfolgende Verschmelzung eine Zusammenfassung von zunächst getrennten Segmenten über ein zu verschmelzendes dazwischenliegendes Segment gelingen.In order to avoid too short segments, which have no tendency to cluster an adjacent segment, the procedure is as shown in the blocks 33a, 33b, 33c and 33d in Fig. 3 is shown. Thus, nothing is done on segments longer than 9 seconds, but shorter than 11 seconds. They are left. In a block 33a, however, is now for segments of the cluster X, which are shorter than 9 seconds, and where both the predecessor segment As well as the successor segment to cluster Y, an assignment to cluster Y is made, which automatically means that such a segment is merged with both the predecessor and successor segments, resulting in an overall longer segment from the considered segment as well as the predecessor and the successor segments. Thus, a subsequent merger may result in a combination of initially separate segments over an intervening segment to be merged.

In einem Block 33b ist ferner ausgeführt, was mit einem Segment geschieht, das kürzer als 9 Sekunden ist, und das das einzige Segment in einer Segmentgruppe ist. So ist in der dritten Segmentklasse das Segment Nr. 10 das einzige Segment. Wäre es nun kürzer als 9 Sekunden, so wird es automatisch der Segmentklasse zugeordnet, zu der das Segment Nr. 9 gehört. Dies führt automatisch zu einer Verschmelzung des Segments 10 mit dem Segment 9. Ist das Segment 10 länger als 9 Sekunden, so wird diese Verschmelzung nicht vorgenommen.In a block 33b it is further explained what happens to a segment that is shorter than 9 seconds and that is the only segment in a segment group. For example, segment no. 10 is the only segment in the third segment class. If it was shorter than 9 seconds, it will automatically be assigned to the segment class to which segment no. 9 belongs. This automatically leads to a fusion of the segment 10 with the segment 9. If the segment 10 is longer than 9 seconds, then this merger is not performed.

In einem Block 33c wird dann eine Untersuchung vorgenommen für Segmente, die kürzer als 9 Sekunden sind, und die nicht das einzige Segment in einem entsprechenden Cluster X, als in einer entsprechenden Segmentgruppe sind. Sie werden einer genaueren Überprüfung unterzogen, in der eine Regelmäßigkeit in der Clusterabfolge festgestellt werden soll. Zunächst werden alle Segmente aus der Segmentgruppe X gesucht, die kürzer als die Mindestlänge sind. Im Anschluss wird für jedes dieser Segmente geprüft, ob die Vorgänger- und Nachfolge-Segmente jeweils zu einem einheitlichen Cluster gehören. Sind alle Vorgänger-Segmente aus einem einheitlichen Cluster, so werden alle zu kurzen Segmente aus dem Cluster X dem Vorgänger-Cluster zugeordnet. Sind dagegen alle Nachfolger-Segmente aus einem einheitlichen Cluster, werden die zu kurzen Segmente aus dem Cluster X jeweils dem Nachfolger-Cluster zugeordnet.In a block 33c an examination is then made for segments shorter than 9 seconds which are not the only segment in a corresponding cluster X than in a corresponding segment group. They undergo closer scrutiny to establish regularity in clustering. First, all segments from segment group X shorter than the minimum length are searched for. Subsequently, it is checked for each of these segments whether the predecessor and successor segments each belong to one uniform cluster. If all predecessor segments are from a uniform cluster, all segments that are too short from cluster X are assigned to the predecessor cluster. If, on the other hand, all successor segments are from a uniform cluster, the segments too short from cluster X are each assigned to the successor cluster.

In einem Block 33d ist ausgeführt, was passiert, wenn auch diese Bedingung für Segmente nicht erfüllt ist, die kürzer als 9 Sekunden sind. In diesem Fall wird eine Neuheitswertüberprüfung durchgeführt, indem auf die Neuheitswertkurve zurückgegriffen wird, die in Fig. 9 dargestellt ist. Insbesondere wird die Neuheitskurve, die aus der Kernel-Korrelation entstanden ist, an den Stellen der betroffenen Segmentgrenzen ausgelesen, und das Maximum dieser Werte wird ermittelt. Tritt das Maximum an einem Segmentanfang auf, werden die zu kurzen Segmente dem Cluster des Nachfolge-Segments zugeordnet. Tritt das Maximum an einem Segmentende auf, werden die zu kurzen Segmente dem Cluster des Vorgänger-Segments zugeordnet. Wäre das in Fig. 9 mit 90 bezeichnete Segment ein Segment, das kürzer als 9 Sekunden ist, so würde die Neuheitsüberprüfung am Anfang des Segments 90 einen höheren Neuheitswert 91 ergeben als am Ende des Segments, wobei der Neuheitswert am Ende des Segments mit 92 bezeichnet ist. Dies würde bedeuten, dass das Segment 90 dem Nachfolger-Segment zugeordnet werden würde, da der Neuheitswert zum Nachfolger-Segment geringer ist als der Neuheitswert zum Vorgänger-Segment.In a block 33d is executed what happens, even if this condition is not fulfilled for segments that are shorter than 9 seconds. In this case, a novelty value check is performed by resorting to the novelty value curve, which in Fig. 9 is shown. In particular, the novelty curve, which resulted from the kernel correlation, is read out at the locations of the affected segment boundaries, and the maximum of these values is determined. If the maximum occurs at the beginning of a segment, the segments that are too short are assigned to the cluster of the successor segment. If the maximum occurs at a segment end, the segments that are too short are assigned to the cluster of the predecessor segment. Would that be in Fig. 9 If the segment labeled 90 has a segment that is shorter than 9 seconds, the novelty check at the beginning of segment 90 would give a higher novelty value 91 than at the end of the segment, with the novelty value at the end of the segment labeled 92. This would mean that the segment 90 would be assigned to the successor segment since the novelty value to the successor segment is less than the novelty value to the predecessor segment.

Verbleiben nunmehr noch Segmente, die kürzer als 9 Sekunden sind und noch nicht verschmolzen werden durften, so wird unter diesen noch einmal eine gestaffelte Auswahl durchgeführt. Insbesondere werden nunmehr alle Segmente unter den verbleibenden Segmenten, die kürzer als 6 Sekunden sind, ausgewählt. Die Segmente, deren Länge zwischen 6 und 9 Sekunden aus dieser Gruppe sind, werden "unangetastet" zugelassen.If segments still remain that are shorter than 9 seconds and could not yet be merged, a staggered selection will be carried out among them. In particular, now all segments among the remaining segments shorter than 6 seconds are selected. The segments whose length is between 6 and 9 seconds from this group are allowed "untouched".

Die Segmente, die kürzer als 6 Sekunden sind, werden nunmehr jedoch alle der anhand der Elemente 90, 91, 92 erklärten Neuheitsprüfung unterzogen und entweder dem Vorgänger- oder dem Nachfolger-Segment zugeordnet, so dass am Ende des in Fig. 3 gezeigten Nachkorrekturalgorithmus alle zu kurzen Segmente, nämlich alle Segmente unterhalb einer Länge von 6 Sekunden, mit Vorgänger- und Nachfolger-Segmenten intelligent verschmolzen worden sind.However, the segments shorter than 6 seconds are now all subjected to the novelty check explained by elements 90, 91, 92 and assigned to either the predecessor or the successor segment, so that at the end of the in Fig. 3 Correction algorithm shown all too short segments, namely all segments below a length of 6 Seconds, have been merged intelligently with predecessor and successor segments.

Dieses erfindungsgemäße Prozedere hat den Vorteil, dass keine Elimination von Teilen des Stücks durchgeführt worden ist, da ss also keine einfache Eliminierung der zu kurzen Segmente durch Zu-Null-Setzen durchgeführt worden ist, sondern dass nach wie vor das gesamte komplette Musikstück durch die Gesamtheit der Segmente repräsentiert ist- Durch die Segmentierung ist daher kein Informationsverlust aufgetreten, der jedoch sein würde, wenn man z. B. als Reaktion auf die Übersegmentierung einfach alle zu kurzen Segmente "ohne Rücksicht auf Verluste" einfach eliminieren würde .This procedure according to the invention has the advantage that no elimination of parts of the piece has been carried out, that is to say that no simple elimination of the segments which are too short has been carried out by setting them to zero, but that the entire complete piece of music remains as a whole The segmentation is therefore no information loss occurred, which would be, however, if one z. B. in response to the over-segmentation would simply eliminate all too short segments "regardless of losses" easily.

Nachfolgend wird Bezug nehmend auf Fig. 4a und Fig. 4b eine bevorzugte Implementierung der Segmentklassen-Bezeichnungseinrichtung 22 von Fig. 1 dargestellt. Erfindungsgemäß werden beim Labeling zwei Clustern die Label "Strophe" und "Refrain" zugewiesen.Subsequently, reference will be made to Fig. 4a and Fig. 4b a preferred implementation of the segment class designator 22 of Fig. 1 shown. According to the invention, two clusters are assigned the labels "stanza" and "refrain" during labeling.

Erfindungsgemäß wird nun nicht etwa ein größter Singularwert einer Singularwertzerlegung und der dazugehörige Cluster als Refrain und der Cluster für den zweitgrößten Singularwert als Strophe verwendet. Ferner wird nicht grundsätzlich davon ausgegangen, dass jedes Lied mit einer Strophe anfängt, dass also der Cluster mit dem ersten Segment der Strophencluster ist und der andere Cluster der Refraincluster ist. Statt dessen wird erfindungsgemäß der Cluster in der Kandidatenauswahl, der das letzte Segment hat, als Refrain bezeichnet, und der andere Cluster wird als Strophe bezeichnet.According to the present invention, not a largest singular value of a singular value decomposition and the associated cluster are used as a refrain and the cluster for the second largest singular value as a stanza. Furthermore, it is not generally assumed that each song starts with a stanza, so that the cluster with the first segment is the stanza cluster and the other cluster is the refrain cluster. Instead, according to the invention, the cluster in the candidate selection having the last segment is called a refrain, and the other cluster is called a stanza.

So wird also für die beiden letztendlich zur Strophe/Refrai n-Auswahl bereitstehenden Cluster überprüft (40), welcher Cluster das Segment hat, das als letztes Segment der Segmente der beiden Segmentgruppen im Liedverlauf vorkommt, um denselben als Refrain zu bezeichnen.Thus, for the two clusters finally available for stanza / refraction selection, it is checked (40) which cluster has the segment which occurs as the last segment of the segments of the two segment groups in the song progression, in order to designate it as refrain.

Das letzte Segment kann das tatsächlich im Lied letzte Segment sein oder aber ein Segment, das im Lied später a uftritt als alle Segmente der anderen Segmentklasse. Ist dieses Segment nicht das tatsächlich letzte Segment im Lied, so bedeutet dies, dass noch ein Outro vorliegt.The last segment may actually be the last segment in the song, or a segment later in the song than any segment of the other segment class. If this segment is not the actual last segment in the song, this means that there is still an outro.

Diese Entscheidung basiert auf der Erkenntnis, dass der Refrain in den allermeisten Fällen in einem Lied hinter der letzten Strophe kommt, also direkt als letztes Segment des Liedes, wenn ein Stück z. B. mit dem Refrain ausgeblendet wird, oder als Segment vor einem Outro, das auf einen Refrain folgt und mit dem das Stück beendet wird.This decision is based on the realization that the chorus comes in the vast majority of cases in a song behind the last stanza, so directly as the last segment of the song, if a piece z. B. is hidden with the chorus, or as a segment in front of an outro, which follows a chorus and with which the piece is terminated.

Ist das letzte Segment aus der ersten Segmentgruppe, dann werden alle Segmente dieser ersten (höchstwertigen) Segmentklasse als Refrain bezeichnet, wie es durch einen BLock 41 in Fig. 4b dargestellt ist. Zusätzlich werden in diesem Fall alle Segmente der anderen Segmentklasse, die zur Auswahl steht, als "Strophe" gekennzeichnet, da typischerweise von den beiden Kandidaten-Segmentklassen eine Klasse der Refrain und damit unmittelbar die andere Klasse die Strophen haben wird.If the last segment is from the first segment group, then all segments of that first (most significant) segment class are referred to as a refrain, as indicated by a BLock 41 in FIG Fig. 4b is shown. In addition, in this case all segments of the other segment class to be selected are marked as "stanza", since typically of the two candidate segment classes, one class will have the chorus, and thus immediately the other class will have the stanzas.

Ergibt dagegen die Untersuchung im Block 40, nämlich welche Segmentklasse in der Auswahl das letzte Segment im Musikstückverlauf hat, dass dies die zweite, also eher niecierwertige Segmentklasse ist, so wird in einem Block 42 untersucht, ob die zweite Segmentklasse das erste Segment im Musikstück hat. Diese Untersuchung basiert auf der Erkenntnis, dass die Wahrscheinlichkeit sehr hoch ist, dass ein Lied mit einer Strophe, und nicht mit einem Refrain anfängt.If, on the other hand, the investigation in block 40 reveals that which segment class in the selection has the last segment in the music track progression, that this is the second, ie rather non-hierarchical segment class, then it is examined in block 42 whether the second segment class has the first segment in the music piece , This investigation is based on the knowledge that the likelihood is very high that a song starts with a verse, not a chorus.

Wird die Frage im Block 42 mit "Nein" beantwortet, hat also die zweite Segmentklasse nicht das erste Segment im Musikstück, so wird die zweite Segmentklasse als Refrain bezeichnet, und wird die erste Segmentklasse als Strophe bezeichnet, wie es in einem Block 43 angedeutet ist. Wird dagegen die Abfrage im Block 42 mit "Ja" beantwortet, so wird entgegen der Regel die zweite Segmentgruppe als Strophe und die erste Segmentgruppe als Refrain bezeichnet, wie es in einem Block 44 angedeutet ist. Die Bezeichnung im Block 44 geschieht deswegen, da die Wahrscheinlichkeit, dass die zweite Segmentklasse dem Refrain entspricht, schon recht gering ist. Kommt nun noch die Unwahrscheinlichkeit hinzu, dass ein Musikstück mit einem Refrain eingeleitet wird, so deutet einiges auf einen Fehler im Clustering hin, z. B. dass das zuletzt betrachtete Segment fälschlicher Weise der zweiten Segmentklasse zugeordnet wurde.If the question is answered with "No" in block 42, that is, if the second segment class does not have the first segment in the piece of music, then the second segment class is referred to as a refrain, and the first segment class is referred to as a stanza, as indicated in a block 43 , Will against it the query in the block 42 with "Yes" answered, then, contrary to the rule, the second segment group is called a stanza and the first segment group as a refrain, as indicated in a block 44. The designation in block 44 occurs because the probability that the second segment class corresponds to the refrain is already quite low. If the improbability that a piece of music is introduced with a refrain comes to the fore, there are some signs of an error in clustering. B. that the last considered segment was erroneously assigned to the second segment class.

In Fig. 4b wurde dargestellt, wie anhand von zwei zur Verfügung stehenden Segmentklassen die Strophe-/Refrain-Bestimmung durchgeführt worden ist. Nach dieser Strophe-/Refrain-Bestimmung können dann die restlichen Segmentklassen in einem Block 45 bezeichnet werden, wobei ein Outro gegebenenfalls die Segmentklasse sein wird, die das letzte Segment des Stücks an sich hat, während ein Intro die Segmentklasse sein wird, die das erste Segment eines Stücks an sich hat.In Fig. 4b It was shown how the stanza / chorus determination was performed on the basis of two available segment classes. After this stanza / refrain determination, the remaining segment classes may then be designated in a block 45, where an outro will possibly be the segment class having the last segment of the piece, while an intro will be the segment class comprising the first Segment of a piece in itself.

Nachfolgend wird anhand von Fig. 4a dargestellt, wie die beiden Segmentklassen ermittelt werden, die die Kandidaten für den in Fig. 4b gezeigten Algorithmus abgeben.The following is based on Fig. 4a It shows how to determine the two segment classes that represent the candidates for the in Fig. 4b given algorithm.

Allgemein wird im Labeling eine Zuweisung der Label "Strophe" und "Refrain" durchgeführt, wobei eine Segmentgruppe als Strophen-Segmentgruppe markiert wird, während die andere Segmentgruppe als Refrain-Segmentgruppe markiert wird. Grundsätzlich basiert dieses Konzept auf der Annahme (A1), dass die beiden Cluster (Segmentgruppen) mit den höchsten Ähnlichkeitswerten, also Cluster 1 und Cluster 2, den Refrain- und Strophenclustern entsprechen. Das von diesen beiden Clustern als letztes auftretende ist das Refrain-Cluster, wobei davon ausgegangen wird, dass eine Strophe auf einen Refrain folgt.In general, an assignment of the label "stanza" and "refrain" is performed in the labeling, whereby one segment group is marked as a stanza segment group, while the other segment group is marked as a refrain segment group. Basically, this concept is based on the assumption (A1) that the two clusters (segment groups) with the highest similarity values, ie cluster 1 and cluster 2, correspond to the chorus and stanza clusters. The last of these two clusters is the refrain cluster, assuming that a verse follows a chorus.

Die Erfahrung aus zahlreichen Tests hat gezeigt, dass Cluster 1 in den meisten Fällen dem Refrain entspricht. Für Cluster 2 wird die Annahme (A1) jedoch oftmals nicht erfüllt. Diese Situation tritt meistens dann auf, wenn es entweder noch einen dritten, sich häufig wiederholenden Teil im Stück gibt, z. B. eine Bridge, bei einer hohen Ähnlichkeit von Intro und Outro, oder aber für den nicht selten auftretenden Fall, dass ein Segment im Stück eine hohe Ähnlichkeit zum Refrain aufweist, somit auch eine hohe Gesamtähnlichkeit hat, die Ähnlichkeit zum Refrain aber gerade nicht groß genug ist, um noch zum Cluster 1 zu gehören.The experience from numerous tests has shown that cluster 1 in most cases corresponds to the refrain. For cluster 2, however, the assumption (A1) is often not fulfilled. This situation usually occurs when there is either a third, frequently repeating part in the play, eg. As a bridge, with a high similarity of intro and outro, or for the not uncommon case that a segment in the piece has a high similarity to the chorus, thus also has a high overall similarity, the similarity to the chorus but just not great is enough to still belong to cluster 1.

Untersuchungen haben gezeigt, dass diese Situation häufig für Abwandlungen des Refrains am Ende des Stücks auftritt. Um mit möglichst hoher Sicherheit Refrain und Strophe richtig zu markieren (labeln), wird die in Fig. 4b beschriebene Segmentauswahl dahingehend verbessert, dass, wie es in Fig. 4a dargestellt wird, die beiden Kandidaten für die Strophe-Refrain-Auswahl abhängig von den in denselben vorhandenen Segmenten bestimmt wird.Research has shown that this situation often occurs for variations of the refrain at the end of the piece. In order to mark (label) chorus and stanza correctly with as high a certainty as possible, the in Fig. 4b described segment selection in that, as shown in Fig. 4a is shown, the two candidates for the verse-chorus selection is determined depending on the existing in the same segments.

Zunächst wird in einem Schritt 46 der Cluster bzw. die Segmentgruppe mit höchstem Ähnlichkeitswert (Wert der Komponente von V, die einmal ein Maximum für die zuerst bestimmte Segmentklasse, also Segment 7 bei dem Beispiel von Fig. 7, war), also die Segmentgruppe, die beim ersten Durchlauf von Fig. 1 ermittelt worden ist, in die Strophe-Refrain-Auswahl als erster Kandidat einbezogen.First, in a step 46, the cluster or segment group with the highest similarity value (value of the component of V which is once a maximum for the segment class determined first, ie segment 7 in the example of FIG Fig. 7 , was), that is, the segment group that at the first pass of Fig. 1 has been identified as the first candidate included in the stanza refrain selection.

Fraglich ist nunmehr, welche weitere Segmentgruppe der zweite Teilnehmer an der Strophe-Refrain-Auswahl sein wird. Der wahrscheinlichste Kandidat ist die zweithöchste Segmentklasse, also die Segmentklasse, die beim zweiten Durchlauf durch das in Fig. 1 beschriebene Konzept gefunden wird. Dies muss jedoch nicht immer so sein. Daher wird zunächst für die zweithöchste Segmentklasse (Segment 5 in Fig. 7), also Cluster 2 überprüft, ob diese Klasse nur ein einziges Segment oder genau zwei Segment hat, wobei eines der beiden Segmente das erste Segment ist und das andere Segment der beiden das letzte Segment im Lied ist (Block 47).It is now questionable which other segment group will be the second participant in the verse-chorus selection. The most likely candidate is the second highest segment class, that is, the segment class that passes through the in Fig. 1 described concept is found. However, this does not always have to be this way. Therefore, for the second highest segment class (segment 5 in Fig. 7 ), that is, cluster 2 checks whether this class has only a single segment or exactly two segments, one of them the two segments is the first segment and the other segment of the two is the last segment in the song (block 47).

Wird die Frage dagegen mit "Nein" beantwortet, hat die zweithöchste Segmentklasse also z. B. wenigstens drei Segmente, oder zwei Segmente, von denen eines innerhalb des Stücks und nicht am "Rand" des Stücks ist, so bleibt die zweite Segmentklasse vorerst in der Auswahl und wird fortan als "Second Cluster" bezeichnet.If, on the other hand, the question is answered with "No", the second highest segment class has, for example, B. at least three segments, or two segments, one of which is within the piece and not at the "edge" of the piece, the second segment class initially remains in the selection and is henceforth referred to as "Second Cluster".

Wird die Frage im Block 47 dagegen mit "Ja" beantwortet, scheidet die zweithöchste Klasse also aus (Block 48a), so wird sie durch die Segmentklasse ersetzt, die am häufigsten im gesamten Lied vorkommt (anders ausgedrückt: die am meisten Segmente beinhaltet) und nicht der höchsten Segmentklasse (Cluster 1) entspricht. Diese Segmentklasse wird fortan als "Second Cluster" bezeichnet.On the other hand, if the question is answered "yes" in block 47, then the second highest class is eliminated (block 48a), then it is replaced by the segment class most commonly found in the entire song (in other words, containing the most segments) and does not correspond to the highest segment class (cluster 1). This segment class will henceforth be referred to as "Second Cluster".

"Second Cluster" muss sich, wie es nachfolgend dargelegt wird, noch mit einer dritten Segmentklasse messen (48b), welche als "Third Cluster" bezeichnet wird, um am Ende als Kandidat den Auswahlprozess zu überstehen.Second clusters, as explained below, still have to measure themselves with a third segment class (48b), which is referred to as a "third cluster" in order to ultimately survive the selection process as a candidate.

Die Segmentklasse "Third Cluster" entspricht dem Cluster, welcher am häufigsten im gesamten Lied vorkommt, jedoch weder der höchsten Segmentklasse (Cluster 1) noch der Segmentklasse "Second Cluster" entspricht, sozusagen das am nächsthäufigsten (oftmals auch gleich häufig) vorkommende Cluster nach Cluster 1 und "Second Cluster".The segment class "Third Cluster" corresponds to the cluster, which occurs most frequently in the entire song, but neither the highest segment class (cluster 1) nor the segment class "Second Cluster" corresponds, so to speak, the next most common (often equally common) occurring clusters by cluster 1 and "Second Cluster".

Hinsichtlich der so genannten Bridge-Problematik wird nun für "Third Cluster" überprüft, ob es eher in die Strophe-Refrain-Auswahl gehört als "Second Cluster" oder nicht. Dies geschieht deshalb, da "Second Cluster" und "Third Cluster" oftmals gleich oft vorkommen, eins von beiden also evtl. eine Bridge oder ein anderes wiederkehrendes Zwischenteil darstellt. Um zu gewährleisten, dass die Segmentklasse von den beiden ausgewählt wird, die am ehesten der Strophe oder dem Refrain entspricht, also nicht einer Bridge oder einem anderen Zwischenstück, werden die in den Blöcken 49a, 49b, 49c dargestellten Untersuchungen durchgeführt.With regard to the so-called bridge problem, it is now checked for "third cluster" whether it belongs more in the stanza-refrain selection than "second cluster" or not. This happens because "Second Cluster" and "Third Cluster" often occur the same number of times, so one of them may represent a bridge or another recurring intermediate part. To ensure that the segment class is selected from the two that most closely corresponds to the stanza or chorus, so not a bridge or other intermediate piece, the investigations shown in blocks 49a, 49b, 49c are performed.

Die erste Untersuchung in Block 49a lautet dahingehend, dass untersucht wird, ob jedes Segment aus ThirdCluster eine gewisse Mindestlänge hat, wobei als Schwellwert z. B. 4% der gesamten Liedlänge bevorzugt wird. Andere Werte zwischen 2% und 10% können ebenfalls zu sinnvollen Ergebnissen führen.The first examination in block 49a is to examine whether each segment of third cluster has a certain minimum length, using as threshold z. B. 4% of the total song length is preferred. Other values between 2% and 10% can also lead to meaningful results.

In einem Block 49b wird dann untersucht, ob ThirdCluster einen größeren Gesamtanteil am Lied hat als SecondCluster. Hierzu wird die Gesamtzeit aller Segmente in ThirdCluster aufaddiert und mit der entsprechend aufaddierten Gesamtzahl aller Segmente in SecondCluster verglichen, wobei dann ThirdCluster einen größeren Gesamtanteil am Lied als SecondCluster hat, wenn die aufaddierten Segmente in ThirdCluster einen größeren Wert ergeben als die aufaddierten Segmente in SecondCluster.In a block 49b, it is then examined whether ThirdCluster has a greater total portion of the song than SecondCluster. To do this, the total time of all segments in ThirdCluster is added up and compared to the corresponding total of all Segments in SecondCluster, where ThirdCluster has a larger overall song share than SecondCluster, if the accumulated segments in ThirdCluster are greater than the accumulated SecondCluster segments.

In dem Block 49c wird schließlich überprüft, ob der Abstand der Segmente aus ThirdCluster zu den Segmenten aus Cluster 1, also dem häufigsten Cluster konstant sind, d. h. ob eine Regelmäßigkeit in der Abfolge ersichtlich ist.In block 49c, it is finally checked whether the distance of the segments from third cluster to the segments from cluster 1, ie the most frequent cluster, is constant, ie. H. whether a regularity is evident in the sequence.

Sind alle diese drei Bedingungen mit "Ja" beantwortet, so kommt ThirdCluster in die Strophe-Refrain-Auswahl. Ist dagegen wenigstens eine dieser Bedingungen nicht erfüllt, so kommt ThirdCluster nicht in die Strophe-Refrain-Auswahl. Statt dessen kommt SecondCluster in die Strophe-Refrain-Auswahl, wie es durch einen Block 50 in Fig. 4a dargestellt ist. Damit ist die "Kandidatensuche" für die Strophe-Refrain-Auswahl beendet, und es wird der in Fig. 4b gezeigte Algorithmus gestartet, bei dem am Ende feststeht, welche Segmentklasse die Strophen umfasst, und welche Segmentklasse den Refrain umfasst.If all these three conditions are answered with "yes", ThirdCluster enters the verse-chorus selection. If, on the other hand, at least one of these conditions is not met, ThirdCluster does not get into the stanza-refrain selection. Instead, SecondCluster enters the stanza-refrain selection as it passes through a block 50 in Fig. 4a is shown. This completes the "Candidate search" for the verse-chorus selection, and the in Fig. 4b shown algorithm, which is finally determined which Segment class that includes stanzas, and which class of segments includes the chorus.

An dieser Stelle sei darauf hingewiesen, dass die drei Bedingungen in den Blöcken 49a, 49b, 49c alternativ auch gewichtet werden könnten, so dass z. B. eine Nein-Antwort im Block 49a dann "überstimmt" wird, wenn sowohl die Abfrage im Block 49b als auch die Abfrage im Block 49c mit "Ja" beantwortet werden. Alternativ könnte auch eine Bedingung der drei Bedingungen hervorgehoben werden, so dass z. B. nur untersucht wird, ob es die Regelmäßigkeit der Abfolge zwischen der dritten Segmentklasse und der ersten Segmentklasse gibt, während die Abfragen in den Blöcken 49a und 49b nicht durchgeführt werden oder nur dann durchgeführt werden, wenn die Abfrage im Block 49c mit "Nein" beantwortet wird, jedoch z. B. ein relativ großer Gesamtanteil im Block 49b und relativ große Mindestmengen im Block 49a ermittelt werden.It should be noted at this point that the three conditions in the blocks 49a, 49b, 49c could alternatively also be weighted, so that z. For example, a no answer in block 49a will be "overruled" if both the query in block 49b and the query in block 49c are answered "yes." Alternatively, a condition of the three conditions could be emphasized, so that z. For example, it only examines whether there is regularity of the sequence between the third segment class and the first segment class, while the queries in blocks 49a and 49b are not performed or performed only if the query in block 49c is "no". answered, but z. B. a relatively large total amount in block 49b and relatively large minimum quantities in block 49a are determined.

Alternative Kombinationen sind ebenfalls möglich, wobei für eine Low-Level-Untersuchung auch nur die Abfrage eines der Blöcke 49a, 49b, 49c für bestimmte Implementierungen ausreichend sein wird.Alternative combinations are also possible, and for a low-level investigation, only polling one of the blocks 49a, 49b, 49c will be sufficient for certain implementations.

Nachfolgend werden beispielhafte Implementierungen des Blocks 526 zum Durchführen einer Music-Summary dargelegt. So existieren verschiedene Möglichkeiten, was als Music Summary abgespeichert werden kann. Zwei davon werden nachfolgend beschrieben, nämlich die Möglichkeit mit dem Titel "Refrain" und die Möglichkeit mit dem Titel "Medley".Hereinafter, exemplary implementations of the block 526 for performing a music summary are set forth. So there are different possibilities, which can be stored as music summary. Two of them are described below, namely the option entitled "Refrain" and the option entitled "Medley".

Die Refrain-Möglichkeit besteht darin, eine Version des Refrains als Summary zu wählen. Hierbei wird versucht, eine Ausführung des Refrains zu wählen, die möglichst zwischen 20 und 30 Sekunden lang ist. Ist ein Segment mit einer solchen Länge im Refrain-Cluster nicht enthalten, so wird eine Version gewählt, die eine möglichst geringe Abweichung zu einer Länge von 25 Sekunden hat. Ist der gewählte Refrain länger als 30 Sekunden, wird er bei diesem Ausführungsbeispiel über 30 Sekunden ausgeblendet und ist er kürzer als 20 Sekunden, so wird er mit dem darauf folgenden Segment auf 30 Sekunden verlängert.The refrain option is to choose a version of the chorus as a summary. This will attempt to choose a chorus version that lasts between 20 and 30 seconds if possible. If a segment with such a length is not contained in the refrain cluster, a version is chosen which has the smallest possible deviation to a length of 25 seconds. Is the chosen chorus longer than 30 seconds, it is hidden in this embodiment for 30 seconds and if it is shorter than 20 seconds, it will be extended to 30 seconds with the following segment.

Das Abspeichern eines Medleys für die zweite Möglichkeit entspricht noch eher einer tatsächlichen Zusammenfassung eines Musikstücks. Hierbei werden ein Ausschnitt der Strophe, ein Ausschnitt des Refrains und ein Ausschnitt eines dritten Segments in ihrer tatsächlichen chronologischen Reihenfolge als Medley konstruiert. Das dritte Segment wird aus einem Cluster ausgewählt, das den größten Gesamtanteil am Lied hat und nicht Strophe oder Refrain ist.Storing a medley for the second option is more like an actual summary of a piece of music. Here, a section of the stanza, a section of the chorus and a section of a third segment are constructed in their actual chronological order as a medley. The third segment is selected from a cluster that has the largest total portion of the song and is not a verse or chorus.

Mit folgender Priorität wird nach der geeignetsten Abfolge der Segmente gesucht:

  • "drittes Segment"-Strophe-Refrain;
  • Strophe-Refrain-"drittes Segment"; oder
  • Strophe-"drittes Segment"-Refrain.
The following priority is used to search for the most appropriate sequence of segments:
  • "third segment" stanza refrain;
  • Stanza refrain "third segment"; or
  • Stanza "third segment" refrain.

Die gewählten Segmente werden nicht in ihrer vollen Länge in des Medley eingebaut. Die Länge ist vorzugsweise auf feste 10 Sekunden pro Segment festgelegt, damit insgesamt wieder eine Summary von 30 Sekunden entsteht. Alternative Werte sind jedoch ebenfalls ohne weiteres realisierbar.The selected segments are not installed in their full length in the medley. The length is preferably set to a fixed 10 seconds per segment, so that a total of 30 seconds is created again. However, alternative values are also readily feasible.

Vorzugsweise wird zur Rechenzeiteinsparung nach der Merkmalsextraktion im Block 502 bzw. nach dem Block 508 eine Gruppierung mehrerer Merkmalsvektoren im Block 510 durchgeführt, indem ein Mittelwert über die gruppierten Merkmalsvektoren gebildet wird. Die Gruppierung kann im nächsten Verarbeitungsschritt, der Berechnung der Ähnlichheitsmatrix, Rechenzeit einsparen. Zur Berechnung der Ähnlichkeitsmatrix wird zwischen allen möglichen Kombinationen von je zwei Merkmalsvektoren eine Distanz ermittelt. Dara-us ergeben sich bei n Vektoren über das gesamte Stück n x n Berechnungen. Ein Gruppierungsfaktor g gibt an, wie viele aufeinander folgende Merkmalsvektoren über die Mittelwertbildung zu einem Vektor gruppiert werden. Dadurch kann die Anzahl der Berechnungen reduziert werden.Preferably, in order to save computation time after the feature extraction in block 502 and after block 508, respectively, a grouping of a plurality of feature vectors is performed in block 510 by forming an average over the grouped feature vectors. The grouping can save computing time in the next processing step, the calculation of the similarity matrix. To calculate the similarity matrix, a distance is determined between all possible combinations of two feature vectors. Dara-us surrendered with n vectors over the whole piece of nxn calculations. A grouping factor g indicates how many consecutive feature vectors are grouped into a vector by averaging. This can reduce the number of calculations.

Die Gruppierung ist auch eine Art von Rauschunterdrückung, bei der kleine Änderungen in der Merkmalsausprägung von aufeinander folgenden Vektoren im Mittel kompensiert werden. Diese Eigenschaft hat eine positive Auswirkung auf das Auffinden von großen Liedstrukturen.The grouping is also a kind of noise suppression in which small changes in the feature expression of successive vectors are compensated on average. This property has a positive effect on finding large song structures.

Das erfindungsgemäße Konzept ermöglicht es, mittels eines speziellen Music-Players durch die berechneten Segmente zu navigieren und gezielt einzelne Segmente anzuwählen, so dass ein Konsument in einem Musikladen durch beispielsweise Drücken einer bestimmten Taste oder durch Aktivieren eines bestimmten Software-Befehls ohne weiteres sofort zum Refrain eines Stücks springen kann, um festzustellen, ob der Refrain ihm gefällt, um dann, vielleicht noch eine Strophe anzuhören, damit der Konsument schließlich eine Kaufentscheidung treffen kann. Damit ist es einem Kaufinteressenten komfortabel möglich, von einem Stück genau das zu hören, was ihn besonders interessiert, während er sich z. B. das Solo oder die Bridge dann tatsächlich für den Hörgenuss zu Hause aufsparen kann.The concept according to the invention makes it possible to navigate through the calculated segments by means of a special music player and to selectively select individual segments, so that a consumer in a music shop can immediately immediately refrain, for example by pressing a certain key or by activating a certain software command jump to see if the chorus pleases him, and then maybe listen to a stanza so that the consumer can finally make a purchase decision. This makes it easy for a prospective buyer to hear from a piece exactly what he is particularly interested in, while he z. B. the solo or the bridge then actually save for the listening pleasure at home.

Alternativ ist das erfindungsgemäße Konzept auch für einen Musikladen von großem Vorteil, da der Kunde gezielt und damit auch schnell reinhören und letztendlich kaufen kann, so dass die Kunden nicht lange auf ein Reinhören warten müssen, sondern ebenfalls schnell an die Reihe kommen. Dies liegt daran, dass ein Benutzer nicht ständig hin- und herspulen muss, sondern gezielt und schnell sämtliche Informationen des Stücks erhält, die er auch haben möchte.Alternatively, the concept according to the invention is also of great advantage for a music store, since the customer can listen in and therefore also quickly and ultimately buy, so that the customers do not have to wait long to listen in, but also quickly get their turn. This is because a user does not have to constantly go back and forth, but gets targeted and quickly all the information of the piece he would like to have.

Ferner sei auf einen wesentlichen Vorteil des erfindungsgemäßen Konzepts hingewiesen, nämlich dass insbesondere auf Grund der Nachkorrektur der Segmentierung keine Informationen des Stücks verloren gehen. So werden zwar alle Segmente, die vorzugsweise kürzer als 6 Sekunden sind, mit dem Vorgänger- oder Nachfolger-Segment verschmolzen. Allerdings werden keine Segmente, so kurz sie auch sind, eliminiert. Dies hat den Vorteil, dass der Benutzer prinzipiell alles im Stück anhören kann, so dass ein zwar kurzes aber einem Benutzer doch sehr gut gefallendes markantes Stück, das bei einer Segmentierungs-Nachkorrektur weggefallen wäre, die tatsächlich einen Abschnitt des Stücks komplett eliminiert hätte, dennoch dem Benutzer zur Verfügung steht, damit er vielleicht gerade aufgrund des kurzen markanten Stücks eine wohl überlegte Kaufentscheidung treffen kann.Furthermore, reference is made to a significant advantage of the inventive concept, namely that in particular Reason for the post-correction of the segmentation no information of the piece will be lost. Thus, although all segments, which are preferably shorter than 6 seconds, merged with the predecessor or successor segment. However, no segments as short as they are will be eliminated. This has the advantage that the user can basically listen to everything in the play, so that a striking but clear piece that would very well have fallen off a segmentation post-correction that would have actually completely eliminated a portion of the play, nevertheless is available to the user so that he may perhaps make a well considered purchase decision just because of the short distinctive piece.

Die vorliegende Erfindung ist jedoch auch in anderen Anwendungsszenarien anwendbar, beispielsweise beim Werbe-Monitoring, also dort, wo ein Werbekunde überprüfen möchte, ob das Audiostück, für das er Werbezeit gekauft hat, auch tatsächlich über die gesamte Länge abgespielt worden ist. Ein Audiostück kann beispielsweise Musiksegmente, Sprechersegmente, und Geräuschsegmente umfassen. Der Segmentierungsalgori thmus, also die Segmentierung und nachfolgende Einordnung in Segmentgruppen ermöglicht dann eine schnelle und wesentlich weniger aufwendige Überprüfung als ein kompletter Sample-weiser Vergleich. Die effiziente Überprüfung würde einfach in einer Segmentklassen-Statistik bestehen, also einem Vergleich, wie viel Segmentklassen gefunden worden sind, und wie viel Segmente in den einzelnen Segmentklassen sind, mit einer Vorgabe aufgrund des idealen Werbestücks. Damit ist es einem Werbekunden ohne weiteres möglich, zu erkennen, ob ein Rundfunksender oder Fernsehsender tatsächlich alle Hauptteile (Abschnitte) des Werbesignals ausgestrahlt hat oder nicht.However, the present invention is also applicable in other application scenarios, for example in advertising monitoring, ie where an advertiser wants to check whether the audio piece for which he has bought advertising time, has actually been played over the entire length. An audio piece may include, for example, music segments, speaker segments, and noise segments. The Segmentierungsalgori thmus, so the segmentation and subsequent classification in segment groups then allows a quick and much less expensive review than a complete sample-wise comparison. The efficient checking would simply consist of segment class statistics, that is, a comparison of how many segment classes have been found and how many segments are in each segment class, with a default given the ideal ad item. Thus, it is readily possible for an advertiser to recognize whether or not a broadcaster or television station has actually broadcast all the main parts (sections) of the commercial signal.

Die vorliegende Erfindung ist ferner dahingehend von Vorteil, dass sie zur Recherche in großen Musikdatenbanken eingesetzt werden kann, um beispielsweise nur die Refrains von vielen Musikstücken durchzuhören, um danach eine Musikprogrammauswahl durchzuführen. In diesem Fall würden nur einzelne Segmente aus der mit "Refrain" markierten Segmentklasse von vielen verschiedenen Stücken ausgewählt werden und von einem Programmanbieter bereitgestellt werden. Alternativ könnte auch ein Interesse dahingehend bestehen, von einem Interpreten alle z. B. Gitarrensolos miteinander zu vergleichen. Erfindungsgemäß können diese ebenfalls ohne weiteres bereitgestellt werden, indem immer eines oder mehrere Segmente (falls vorhanden) in der mit "Solo" bezeichneten Segmentklasse aus einer großen Anzahl von Musikstücken z. B. zusammengefügt und als ein File bereitgestellt werden.The present invention is further advantageous in that it can be used for searching in large music databases, for example, to listen only to the choruses of many pieces of music, and then to a music program selection perform. In this case, only individual segments would be selected from the "class" segmented class of many different pieces and provided by a program provider. Alternatively, there could also be an interest, from an interpreter all z. B. to compare guitar solo with each other. According to the invention, these can also readily be provided by always selecting one or more segments (if present) in the segment class designated "Solo" from a large number of pieces of music, e.g. B. assembled and provided as a file.

Wieder andere Anwendungsmöglichkeiten bestehen darin, aus verschiedenen Audiostücken Strophen und Refrains zu mischen, was insbesondere für DJs von Interesse sein wird und völlig neue Möglichkeiten der kreativen Musiksynthese eröffnet, welche einfach und vor allem automatisch zielgenau durchgeführt werden können. So ist das erfindungsgemäße Konzept ohne weiteres automatisierbar, da es an keiner Stelle eine Benutzerintervention erfordert. Dies bedeutet, dass Nutzer des erfindungsgemäßen Konzepts keineswegs eine besondere Ausbildung benötigen, außer z. B. eine übliche Geschicktheit im Umgang mit normalen Software-Benutzeroberflächen.Still other applications are to mix stanzas and choruses from different audio pieces, which will be particularly interesting for DJs and opens up completely new possibilities of creative music synthesis, which can be carried out easily and above all automatically accurately. Thus, the inventive concept can be easily automated, since it requires at no point a user intervention. This means that users of the inventive concept by no means require special training, except for. For example, a common skill in dealing with normal software user interfaces.

Je nach den praktischen Gegebenheiten kann das erfindungsgemäße Konzept in Hardware oder in Software implementiert werden. Die Implementierung kann auf einem digitalen Speichermedium, insbesondere einer Diskette oder CD mit elektronisch auslesbaren Steuersignalen erfolgen, die so mit einem programmierbaren Computersystem zusammenwirken können, dass das entsprechende Verfahren ausgeführt wird. Allgemein besteht die Erfindung somit auch in einem Computerprogrammprodukt mit einem auf einem maschinenlesbaren Träger gespeicherten Programmcode zur Durchführung des erfindungsgemäßen Verfahrens, wenn das Computerprogrammprodukt auf einem Rechner abläuft. In anderen Worten ausgedrückt stellt die Erfindung somit ein Computerprogramm mit einem Programmcode zur Durchführen des Verfahrens dar, wenn das Computerprogramm auf einem Computer abläuft.Depending on the practical circumstances, the inventive concept can be implemented in hardware or in software. The implementation may be on a digital storage medium, in particular a floppy disk or CD with electronically readable control signals, which may interact with a programmable computer system such that the corresponding method is executed. In general, the invention thus also consists in a computer program product with a program code stored on a machine-readable carrier for carrying out the method according to the invention, when the computer program product runs on a computer. In other words puts the invention thus is a computer program with a program code for carrying out the method when the computer program runs on a computer.

Claims (21)

  1. Apparatus for changing a segmentation of an audio piece into temporal segments, wherein the audio piece is structured into main parts repeatedly occurring in the audio piece, comprising:
    means (10, 12, 14) for providing a representation of the audio piece, in which the segments of the audio piece are assigned into various segment classes, wherein one segment class each is associated with a main part, wherein the means (10, 12, 14) for providing is formed to provide a novelty value for segment boundaries of the short segment, the novelty value indicating how much novelty content the short segment has with reference to a segment adjoining the segment boundary; and
    segment correction means (20) for correcting the segmentation, wherein the segment correction means (20) is formed to merge a short segment with a length shorter than a predetermined minimum length with a temporal predecessor segment or a temporal successor segment to obtain a changed segmentation of the audio signal, and wherein the segment correction means (20) is formed to merge the short segment with the segment adjoining the segment boundary of the short segment, which has a novelty value indicating a lower novelty content compared with a novelty content at another segment boundary of the short segment.
  2. Apparatus of claim 1, wherein the segment correction means (20) is formed to further use a segment class membership of the short segment for merging the short segment.
  3. Apparatus of claim 1 or 2, wherein the segment correction means (20) is formed to determine such segments as short segments, the temporal length of which is smaller than 18 seconds and in particular smaller than 12 seconds.
  4. Apparatus of one of the preceding claims, wherein the segment correction means (20) is formed to merge the short segment with the temporal predecessor segment or the temporal successor segment using information on a segment class membership of a temporal predecessor segment or a temporal successor segment or the short segment itself.
  5. Apparatus of claim 1, wherein the segment correction means (20) is formed to perform the merging due to the novelty value only for short segments having a predetermined minimum length smaller than 8 seconds and in particular smaller than 6 seconds.
  6. Apparatus of claim 1 or 5, wherein the segment correction means (20) is formed to merge only such short segments due to an examination of a novelty value that could not be merged in a previous examination using information on a segment class membership of the short segment, the temporal predecessor segment, or the temporal successor segment.
  7. Apparatus of one of the preceding claims, further comprising:
    segment assignment conflict means (18) formed to calculate a first similarity value of the conflict segment to a segment in a first segment class and to calculate a second similarity value of the conflict segment to a segment in a second segment class in the case in which a conflict segment should be associated with two different segment classes by the means (14) for assigning, and
    wherein means (14) for assigning is formed to remove the conflict segment from the first segment class and assign it to the second segment class in the case in which the second similarity value indicates stronger similarity of the conflict segment to the segment of the second segment class.
  8. Apparatus of claim 7, wherein the segment assignment conflict means (18) is formed to assign a tendency to the first segment class to the segment in the case of a removal of the segment from the first segment class or to assign a tendency to the second segment class to the segment in the case of a removal of the segment not having taken place.
  9. Apparatus of one of the preceding claims, wherein the segmentation correction means (20) is formed to ascertain, for a segment shorter than a predetermined minimum length, whether a tendency of the segment matches a segment class to which a temporally preceding segment belongs, and to merge the segment with the temporally preceding segment in this case, or which is formed to ascertain, for a segment shorter than a predetermined minimum length, whether a tendency of the segment indicates a segment class to which a temporally following segment belongs, and to merge the segment with the temporally following segment in this case.
  10. Apparatus of one of the preceding claims, wherein the segmentation correction means (20) is formed to merge temporally successive segments belonging to the same segment class.
  11. Apparatus of one of the preceding claims, wherein the segmentation correction means (20) is formed to select only segments for correcting the segments that have a temporal segment length shorter than a predetermined minimum length.
  12. Apparatus of claim 11, wherein the segmentation correction means (20) is formed to merge a selected segment from a second segment class, the temporal predecessor segment of which and the temporal successor segment of which belong to a first segment class, with the predecessor segment and the successor segment.
  13. Apparatus of claim 11 or 12, wherein the segmentation correction means (20) is formed to merge a segment that is in a segment class only including a single segment with the preceding segment or the following segment.
  14. Apparatus of claim 11, 12, or 13, wherein the segmentation correction means (20) is formed to merge several selected segments that are in the same segment class with a temporally preceding segment each or a temporally following segment each, when all selected segments of the segment class include predecessor segments from one and the same segment class or successor segments from one and the same segment class.
  15. Apparatus of one of the preceding claims, wherein the segmentation correction means (20) is formed to determine, for a segment having a smaller temporal length than a predetermined minimum length, a first novelty value at a beginning of the segment and to determine a second novelty value at an end of the segment, and to merge the segment with a temporally following segment, when the first novelty value is greater than the second novelty value, or to merge the segment with a temporally preceding segment, when the first novelty value is smaller than the second novelty value.
  16. Apparatus of one of the preceding claims, wherein the segmentation correction means (20) is formed to perform various correction measures depending on various predetermined segment lengths.
  17. Apparatus of one of the preceding claims, wherein the means (10, 12, 14) for providing the representation of the audio piece comprises:
    means (10) for providing a similarity representation for the segments, wherein the similarity representation for each segment comprises an associated plurality of similarity values, wherein the similarity values indicate how similar the segment is to each other segment of the audio piece;
    means (12) for calculating a similarity threshold for a segment using the plurality of the similarity values associated with the segment; and
    means (14) for assigning a segment to a segment class, when the similarity value of the segment meets a predetermined condition referring to the similarity threshold value.
  18. Method for changing a segmentation of an audio piece into temporal segments, wherein the audio piece is structured into main parts repeatedly occurring in the audio piece, comprising:
    providing (10, 12, 14) a representation of the audio piece, in which the segments of the audio piece are assigned into various segment classes, wherein one segment class each is associated with a main part, wherein in the step of providing a novelty value is provided for segment boundaries of the short segment, the novelty value indicating how much novelty content the short segment has with reference to a segment adjoining the segment boundary; and
    correcting (20) the segmentation by merging a short segment with a length shorter than a predetermined minimum length with a temporal predecessor segment or a temporal successor segment, in order to obtain a changed segmentation of the audio signal, wherein in the step of correcting the short segment is merged with the segment adjoining the segment boundary of the short segment, which has a novelty value indicating a lower novelty content compared with a novelty content at another segment boundary of the short segment.
  19. Apparatus for changing a segmentation of an audio piece into temporal segments, wherein the audio piece is structured into main parts repeatedly occurring in the audio piece, comprising:
    means (10, 12, 14) for providing a representation of the audio piece, in which the segments of the audio piece are assigned into various segment classes, wherein one segment class each is associated with a main part;
    segment correction means (20) for correcting the segmentation, wherein the segment correction means (20) is formed to merge a short segment with a length shorter than a predetermined minimum length with a temporal predecessor segment or a temporal successor segment to obtain a changed segmentation of the audio signal; and
    segment assignment conflict means (18) formed to calculate a first similarity value of the conflict segment to a segment of a first segment class and to calculate a second similarity value of the conflict segment to a segment of a second segment class in the case in which a conflict segment should be associated with two different segment classes by the means (14) for assigning, wherein the segment assignment conflict means (18) is formed to assign a tendency to the first segment class to the segment in the case of a removal of the segment from the first segment class or to assign a tendency to the second segment class to the segment in the case of a removal of the segment not having taken place,
    wherein means (14) for assigning is formed to remove the conflict segment from the first segment class and assign it to the second segment class in the case in which the second similarity value indicates stronger similarity of the conflict segment to the segment of the second segment class, and
    wherein segmentation correction means (20) is formed to ascertain, for a segment shorter than a predetermined minimum length, whether a tendency of the segment matches a segment class to which a temporally preceding segment belongs, and to merge the segment with the temporally preceding segment in this case, or wherein the segment correction means (20) is formed to ascertain, for a segment shorter than a predetermined minimum length, whether a tendency of the segment indicates a segment class to which a temporally following segment belongs, and to merge the segment with the temporally following segment in this case.
  20. Method for changing a segmentation of an audio piece into temporal segments, wherein the audio piece is structured into main parts repeatedly occurring in the audio piece, comprising:
    providing (10, 12, 14) a representation of the audio piece, in which the segments of the audio piece are assigned into various segment classes, wherein one segment class each is associated with a main part; and
    correcting (20) the segmentation by merging a short segment with a length shorter than a predetermined minimum length with a temporal predecessor segment or a temporal successor segment, in order to obtain a changed segmentation of the audio signal,
    in a case in which a conflict segment should be associated with two different segment classes, calculating a first similarity value of the conflict segment to a segment of a first segment class and calculating a second similarity value of the conflict segment to a segment of a second segment class,
    in case of a removal of the segment from the first segment class, assigning a tendency to the first segment class to the segment, or
    in case of a removal of the segment not having taken place, assigning a tendency to the second segment class, and
    in a case in which the second similarity value indicates stronger similarity of the conflict segment to the segment of the second segment class, removing the conflict segment from the first segment class and assigning it to the second segment class,
    wherein in the step of correcting the following steps are performed:
    for a segment shorter than a predetermined minimum length, ascertaining, whether a tendency of the segment matches a segment class to which a temporally preceding segment belongs, and, in this case, merging the segment with the temporally preceding segment, or
    for a segment shorter than a predetermined minimum length, ascertaining, whether a tendency of the segment indicates a segment class to which a temporally following segment belongs, and, in this case, merging the segment with the temporally following segment.
  21. Computer program with a program code adapted for performing the method of changing a segmentation according to claim 18 or 20, when the computer program is executed on a computer.
EP05762452A 2004-09-28 2005-07-15 Device and method for changing the segmentation of an audio piece Expired - Lifetime EP1794745B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102004047069A DE102004047069A1 (en) 2004-09-28 2004-09-28 Device and method for changing a segmentation of an audio piece
PCT/EP2005/007750 WO2006034742A1 (en) 2004-09-28 2005-07-15 Device and method for changing the segmentation of an audio piece

Publications (2)

Publication Number Publication Date
EP1794745A1 EP1794745A1 (en) 2007-06-13
EP1794745B1 true EP1794745B1 (en) 2008-03-26

Family

ID=34978834

Family Applications (1)

Application Number Title Priority Date Filing Date
EP05762452A Expired - Lifetime EP1794745B1 (en) 2004-09-28 2005-07-15 Device and method for changing the segmentation of an audio piece

Country Status (6)

Country Link
US (2) US7282632B2 (en)
EP (1) EP1794745B1 (en)
JP (2) JP2008515011A (en)
AT (1) ATE390681T1 (en)
DE (2) DE102004047069A1 (en)
WO (1) WO2006034742A1 (en)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009510658A (en) * 2005-09-30 2009-03-12 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Method and apparatus for processing audio for playback
DE102006035188B4 (en) * 2006-07-29 2009-12-17 Christoph Kemper Musical instrument with sound transducer
US20080071741A1 (en) * 2006-09-19 2008-03-20 Kazunari Omi Method and an apparatus to perform feature weighted search and recommendation
US20080071764A1 (en) * 2006-09-19 2008-03-20 Kazunari Omi Method and an apparatus to perform feature similarity mapping
US20080229200A1 (en) * 2007-03-16 2008-09-18 Fein Gene S Graphical Digital Audio Data Processing System
JP5135931B2 (en) * 2007-07-17 2013-02-06 ヤマハ株式会社 Music processing apparatus and program
EP2043006A1 (en) * 2007-09-28 2009-04-01 Sony Corporation Method and device for providing an overview of pieces of music
KR101424974B1 (en) * 2008-03-17 2014-08-04 삼성전자주식회사 Method and apparatus for reproducing the first part of the music data having multiple repeated parts
JP5270006B2 (en) * 2008-12-24 2013-08-21 ドルビー ラボラトリーズ ライセンシング コーポレイション Audio signal loudness determination and correction in the frequency domain
US8490131B2 (en) * 2009-11-05 2013-07-16 Sony Corporation Automatic capture of data for acquisition of metadata
AT510359B1 (en) * 2010-09-08 2015-05-15 Akg Acoustics Gmbh METHOD FOR ACOUSTIC SIGNAL TRACKING
US9153217B2 (en) * 2010-11-01 2015-10-06 James W. Wieder Simultaneously playing sound-segments to find and act-upon a composition
TWI412019B (en) * 2010-12-03 2013-10-11 Ind Tech Res Inst Sound event detection module and method thereof
CN102956238B (en) 2011-08-19 2016-02-10 杜比实验室特许公司 For detecting the method and apparatus of repeat pattern in audio frame sequence
CN102956230B (en) * 2011-08-19 2017-03-01 杜比实验室特许公司 The method and apparatus that song detection is carried out to audio signal
CN102956237B (en) * 2011-08-19 2016-12-07 杜比实验室特许公司 Method and apparatus for measuring content consistency
WO2013080210A1 (en) * 2011-12-01 2013-06-06 Play My Tone Ltd. Method for extracting representative segments from music
US9324330B2 (en) * 2012-03-29 2016-04-26 Smule, Inc. Automatic conversion of speech into song, rap or other audible expression having target meter or rhythm
US11132983B2 (en) 2014-08-20 2021-09-28 Steven Heckenlively Music yielder with conformance to requisites
US9916822B1 (en) * 2016-10-07 2018-03-13 Gopro, Inc. Systems and methods for audio remixing using repeated segments
CN110569373B (en) * 2018-03-29 2022-05-13 北京字节跳动网络技术有限公司 Media feature comparison method and device
EP3570186B1 (en) * 2018-05-17 2021-11-17 FRAUNHOFER-GESELLSCHAFT zur Förderung der angewandten Forschung e.V. Device and method for detecting partial matches between a first time varying signal and a second time varying signal
CN111785296B (en) * 2020-05-26 2022-06-10 浙江大学 Music segmentation boundary identification method based on repeated melody
CN112037764B (en) * 2020-08-06 2024-07-19 杭州网易云音乐科技有限公司 Method, device, equipment and medium for determining music structure
CN112188378B (en) * 2020-09-28 2021-08-17 维沃移动通信有限公司 Sound production optimization method, device, electronic device, and readable storage medium for electronic equipment
CN113327628B (en) * 2021-05-27 2023-12-22 抖音视界有限公司 Audio processing method, device, readable medium and electronic equipment
CN113377992B (en) * 2021-06-21 2024-09-06 腾讯音乐娱乐科技(深圳)有限公司 Song segmentation method, apparatus and storage medium
US12436729B2 (en) * 2021-07-02 2025-10-07 Brainfm, Inc. Neurostimulation systems and methods
US20230115212A1 (en) * 2021-10-11 2023-04-13 Adobe Inc. Multi-level audio segmentation using deep embeddings
CN114360512A (en) * 2022-01-19 2022-04-15 杭州网易云音乐科技有限公司 Audio processing method and device, storage medium and electronic equipment
US20230410793A1 (en) * 2022-06-15 2023-12-21 Spotify Ab Systems and methods for media segmentation
CN115168794B (en) * 2022-06-20 2023-04-21 深圳英智科技有限公司 Frequency spectrum analysis method and system based on improved DFT (discrete Fourier transform) and electronic equipment
CN117814805B (en) * 2024-03-05 2024-06-11 自贡市第一人民医院 A method for intelligent processing of clinical nursing equipment data

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US161396A (en) * 1875-03-30 Improvement in harvesters
JP2604412B2 (en) * 1988-02-29 1997-04-30 日本電気ホームエレクトロニクス株式会社 Automatic music transcription method and device
IT1281001B1 (en) 1995-10-27 1998-02-11 Cselt Centro Studi Lab Telecom PROCEDURE AND EQUIPMENT FOR CODING, HANDLING AND DECODING AUDIO SIGNALS.
JP2806351B2 (en) * 1996-02-23 1998-09-30 ヤマハ株式会社 Performance information analyzer and automatic arrangement device using the same
US5918223A (en) * 1996-07-22 1999-06-29 Muscle Fish Method and article of manufacture for content-based analysis, storage, retrieval, and segmentation of audio information
US6009392A (en) * 1998-01-15 1999-12-28 International Business Machines Corporation Training speech recognition by matching audio segment frequency of occurrence with frequency of words and letter combinations in a corpus
US6404925B1 (en) * 1999-03-11 2002-06-11 Fuji Xerox Co., Ltd. Methods and apparatuses for segmenting an audio-visual recording using image similarity searching and audio speaker recognition
US6225546B1 (en) * 2000-04-05 2001-05-01 International Business Machines Corporation Method and apparatus for music summarization and creation of audio summaries
US6633845B1 (en) * 2000-04-07 2003-10-14 Hewlett-Packard Development Company, L.P. Music summarization system and method
US6901362B1 (en) * 2000-04-19 2005-05-31 Microsoft Corporation Audio segmentation and classification
US6542869B1 (en) * 2000-05-11 2003-04-01 Fuji Xerox Co., Ltd. Method for automatic analysis of audio including music and speech
EP1215663A1 (en) * 2000-12-15 2002-06-19 BRITISH TELECOMMUNICATIONS public limited company Encoding audio signals
DE10109648C2 (en) * 2001-02-28 2003-01-30 Fraunhofer Ges Forschung Method and device for characterizing a signal and method and device for generating an indexed signal
JP2002271741A (en) * 2001-03-13 2002-09-20 Matsushita Electric Ind Co Ltd Video / audio content editing apparatus and video / audio content indexing method
US6476308B1 (en) * 2001-08-17 2002-11-05 Hewlett-Packard Company Method and apparatus for classifying a musical piece containing plural notes
US6915009B2 (en) * 2001-09-07 2005-07-05 Fuji Xerox Co., Ltd. Systems and methods for the automatic segmentation and clustering of ordered information
US7260439B2 (en) * 2001-11-01 2007-08-21 Fuji Xerox Co., Ltd. Systems and methods for the automatic extraction of audio excerpts
US7314994B2 (en) * 2001-11-19 2008-01-01 Ricoh Company, Ltd. Music processing printer
US7068723B2 (en) * 2002-02-28 2006-06-27 Fuji Xerox Co., Ltd. Method for automatically producing optimal summaries of linear media
US20030205124A1 (en) * 2002-05-01 2003-11-06 Foote Jonathan T. Method and system for retrieving and sequencing music by rhythmic similarity
AUPS270902A0 (en) * 2002-05-31 2002-06-20 Canon Kabushiki Kaisha Robust detection and classification of objects in audio using limited training data
US7082394B2 (en) * 2002-06-25 2006-07-25 Microsoft Corporation Noise-robust feature extraction using multi-layer principal component analysis
FR2842014B1 (en) * 2002-07-08 2006-05-05 Lyon Ecole Centrale METHOD AND APPARATUS FOR AFFECTING A SOUND CLASS TO A SOUND SIGNAL
WO2004010329A1 (en) * 2002-07-19 2004-01-29 British Telecommunications Public Limited Company Method and system for classification of semantic content of audio/video data
US7386357B2 (en) * 2002-09-30 2008-06-10 Hewlett-Packard Development Company, L.P. System and method for generating an audio thumbnail of an audio track
ATE556404T1 (en) 2002-10-24 2012-05-15 Nat Inst Of Advanced Ind Scien PLAYBACK METHOD FOR MUSICAL COMPOSITIONS AND DEVICE AND METHOD FOR RECOGNIZING A REPRESENTATIVE MOTIVE PART IN MUSIC COMPOSITION DATA
US20060065102A1 (en) * 2002-11-28 2006-03-30 Changsheng Xu Summarizing digital audio data
JP3987427B2 (en) 2002-12-24 2007-10-10 日本電信電話株式会社 Music summary processing method, music summary processing apparatus, music summary processing program, and recording medium recording the program
FR2856817A1 (en) * 2003-06-25 2004-12-31 France Telecom PROCESS FOR PROCESSING A SOUND SEQUENCE, SUCH AS A MUSIC SONG
US7232948B2 (en) * 2003-07-24 2007-06-19 Hewlett-Packard Development Company, L.P. System and method for automatic classification of music
US7337108B2 (en) * 2003-09-10 2008-02-26 Microsoft Corporation System and method for providing high-quality stretching and compression of a digital audio signal
US7379875B2 (en) * 2003-10-24 2008-05-27 Microsoft Corporation Systems and methods for generating audio thumbnails
US7424150B2 (en) * 2003-12-08 2008-09-09 Fuji Xerox Co., Ltd. Systems and methods for media summarization
US20050249080A1 (en) * 2004-05-07 2005-11-10 Fuji Xerox Co., Ltd. Method and system for harvesting a media stream

Also Published As

Publication number Publication date
US20060065106A1 (en) 2006-03-30
DE102004047069A1 (en) 2006-04-06
EP1794745A1 (en) 2007-06-13
US20060080100A1 (en) 2006-04-13
ATE390681T1 (en) 2008-04-15
US7282632B2 (en) 2007-10-16
JP2011180610A (en) 2011-09-15
JP5565374B2 (en) 2014-08-06
DE502005003500D1 (en) 2008-05-08
JP2008515011A (en) 2008-05-08
WO2006034742A1 (en) 2006-04-06
US7345233B2 (en) 2008-03-18

Similar Documents

Publication Publication Date Title
EP1794745B1 (en) Device and method for changing the segmentation of an audio piece
EP1774527B1 (en) Device and method for labeling different segment classes
EP1523719B1 (en) Device and method for characterising an information signal
EP1407446B1 (en) Method and device for characterising a signal and for producing an indexed signal
DE69122017T2 (en) METHOD AND DEVICE FOR DETECTING SIGNALS
DE69908226T2 (en) Device and method for finding melodies
DE102008013172B4 (en) Method for sound-object-oriented analysis and notation-oriented processing of polyphonic sound recordings
DE60118973T2 (en) METHOD FOR INQUIRING A STRUCTURE OF COMPRESSED DATA
DE3878423T2 (en) SYSTEM AND METHOD FOR CLASSIFYING BROADCASTING INFORMATION.
DE112007001774B4 (en) Method and system for searching music
EP2351017B1 (en) Method for recognizing note patterns in pieces of music
EP1745464A1 (en) Device and method for analyzing an information signal
DE10058811A1 (en) Method for identifying pieces of music e.g. for discotheques, department stores etc., involves determining agreement of melodies and/or lyrics with music pieces known by analysis device
EP1388145B1 (en) Device and method for analysing an audio signal in view of obtaining rhythm information
EP0862161A2 (en) Speech recognition method with model adaptation
WO2002093550A2 (en) Device for the analysis of an audio signal with regard to the rhythm information using an auto-correlation function
EP1794743B1 (en) Device and method for arranging in groups temporal segments of a piece of music
DE102004028693B4 (en) Apparatus and method for determining a chord type underlying a test signal
WO2009013144A1 (en) Method for determining a similarity, device, and the use thereof
DE102007034030A1 (en) Method of performing an adaptation of descriptors, apparatus and use thereof
EP1381024B1 (en) Method for retrieving a tone sequence
CN117252646A (en) Bank product data pushing method and device
WO2005122133A1 (en) Device and method for determining the tonality of an audio signal comprising musical information

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: 20070315

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 HU IE IS IT LI LT LU LV MC NL PL PT RO SE SI SK TR

GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

DAX Request for extension of the european patent (deleted)
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 HU IE IS IT LI LT LU LV MC NL PL PT RO SE SI SK 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: IE

Ref legal event code: FG4D

Free format text: LANGUAGE OF EP DOCUMENT: GERMAN

Ref country code: CH

Ref legal event code: EP

REF Corresponds to:

Ref document number: 502005003500

Country of ref document: DE

Date of ref document: 20080508

Kind code of ref document: P

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: 20080326

NLV1 Nl: lapsed or annulled due to failure to fulfill the requirements of art. 29p and 29m of the patents act
ET Fr: translation filed
PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

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: 20080326

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: 20080326

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: 20080326

REG Reference to a national code

Ref country code: IE

Ref legal event code: FD4D

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

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: 20080326

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: 20080707

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: 20080901

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: 20080626

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: 20080326

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

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: 20080326

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: 20080326

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

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: 20080726

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 FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20080326

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: 20080326

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: 20080326

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

26N No opposition filed

Effective date: 20081230

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 NON-PAYMENT OF DUE FEES

Effective date: 20080731

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

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: 20080326

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: 20080626

REG Reference to a national code

Ref country code: GB

Ref legal event code: 732E

Free format text: REGISTERED BETWEEN 20090409 AND 20090415

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: 20080326

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: 20080326

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: 20080715

REG Reference to a national code

Ref country code: CH

Ref legal event code: PL

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

Ref country code: CH

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

Effective date: 20090731

Ref country code: LI

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

Effective date: 20090731

REG Reference to a national code

Ref country code: FR

Ref legal event code: TP

REG Reference to a national code

Ref country code: FR

Ref legal event code: TP

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: 20080731

Ref country code: LU

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

Effective date: 20080715

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

Effective date: 20080927

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: 20080326

REG Reference to a national code

Ref country code: GB

Ref legal event code: 732E

Free format text: REGISTERED BETWEEN 20100826 AND 20100901

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

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: 20080627

REG Reference to a national code

Ref country code: FR

Ref legal event code: TP

REG Reference to a national code

Ref country code: DE

Ref legal event code: R081

Ref document number: 502005003500

Country of ref document: DE

Owner name: SONY CORPORATION, JP

Free format text: FORMER OWNER: GRACENOTE, INC., (N. D .GES. D. STAATES DELAWARE), EMERYVILLE, CALIF., US

Effective date: 20110510

REG Reference to a national code

Ref country code: GB

Ref legal event code: 746

Effective date: 20120703

REG Reference to a national code

Ref country code: DE

Ref legal event code: R084

Ref document number: 502005003500

Country of ref document: DE

Effective date: 20120614

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

Ref country code: DE

Payment date: 20140721

Year of fee payment: 10

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

Ref country code: FR

Payment date: 20140721

Year of fee payment: 10

Ref country code: GB

Payment date: 20140721

Year of fee payment: 10

REG Reference to a national code

Ref country code: DE

Ref legal event code: R119

Ref document number: 502005003500

Country of ref document: DE

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

Effective date: 20150715

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: 20150715

Ref country code: DE

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

Effective date: 20160202

REG Reference to a national code

Ref country code: FR

Ref legal event code: ST

Effective date: 20160331

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

Ref country code: FR

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

Effective date: 20150731