Structure segmentation in music is useful when it is desired to understand the repeating structures in a music stream and where these repeating structures occur. A self-similarity matrix (SSM) and a recurrence plot are known as core elements for music structure segmentation. For instance, matrix decomposition methods have been applied to an SSM to obtain spectral features describing the structure of music. However, these traditional structure segmentation methods are computationally intense and costly.
In response to advancements of personal computing devices, including increases in storage space and computing speeds, many users are able to perform music analysis on their own devices. However, because traditional methods of structure segmentation are computationally intense and costly, practical deployment opportunities on personal computing devices are limited. Thus, users may not have access to systems that can generate hierarchical structures, which are used for music structure segmentation.
Embodiments of the present invention are directed to methods and systems for providing a computationally efficient approach to structurally segment audio, and in particular, music. To reduce the computational requirements for structure segmentation for music, a pattern finding algorithm and/or a signal segmentation algorithm, such as Variable Markov Oracle (VMO), may be utilized. VMO is a suffix automaton capable of symbolizing a multi-variate time series, and which keeps track of repeated segments of the music. Initially, features may be extracted from an input waveform, such as a signal that represents a particular music stream. VMO is then applied to index the extracted features and to generate a VMO structure, from which a symbolic sequence may be extracted. A matrix, such as a VMO-SSM, is then constructed from the VMO structure. In some embodiments, a connectivity matrix is generated prior to the application of a segmentation algorithm. Once a segmentation is formed, the boundaries of the segments may be refined or adjusted iteratively, or until, for example, the number of frames moved during the boundary adjustment is below a predetermined number.
This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the detailed description. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
The present invention is described in detail below with reference to the attached drawing figures, wherein:
The subject matter of the present invention is described with specificity herein to meet statutory requirements. However, the description itself is not intended to limit the scope of this patent. Rather, the inventors have contemplated that the claimed subject matter might also be embodied in other ways, to include different steps or combinations of steps similar to the ones described in this document, in conjunction with other present or future technologies. Moreover, although the terms “step” and/or “block” may be used herein to connote different elements of methods employed, the terms should not be interpreted as implying any particular order among or between various steps herein disclosed unless and except when the order of individual steps is explicitly described.
Automatically recognizing the segmentation of a music piece is not only a fundamental task in music information retrieval research for music structure analysis, but also leads to the development of more efficient music content navigation and exploration mechanisms. Among various approaches, SSM has been the fundamental building block for several existing algorithms. An SSM captures global repetitive and homogenous structures and thus provides essential information for music segmentation. Matrix decomposition of SSM has been widely adopted in existing works. For example, non-negative matrix factorization (NMF) has been used to decompose SSM into basic functions representing different structural sections. The NMF idea has been extended with a convexity constraint on the weights during matrix decomposition, which leads to a more stable decomposition. Others have used ordinal linear discriminant analysis, which is used to learn feature representations from the singular value decomposition of the time-lag SSM. Spectral clustering techniques have been used to obtain a low-dimensional repetition representation from an SSM. Approaches have traditionally focused on deriving boundaries from SSM.
Approaches based on matrix decomposition or boundary detection represent two aspects of music segmentation problems, including finding global structures and local change points. The two problems also correspond to the categorization of repetition/homogeneous and a novelty-based approach.
To overcome some of the challenges presented by commonly used techniques for segmentation of music, including the two problems mentioned above, VMO is used in embodiments provided herein to obtain SSMs. Methods provided herein are based on VMO, which is a suffix automaton capable of symbolizing a multi-variate time series and is capable of keeping track of its repeated subsequences. Since repeating subsequences are essential in music structure analysis, using VMO to obtain an SSM has proven to work well for a music structure segmentation task, replacing the SSMs used in other prior approaches. Obtaining SSMs has traditionally been exhaustive, as frame-by-frame pairwise distances are calculated. Using VMO, however, overcomes the exhaustive computations previously needed to compute SSM without VMO.
Advantageously, use of VMO as the algorithm to create a matrix, such as an SSM, and even more particularly a VMO-SSM, over the more traditional frame-by-frame pair wise distance approach is that VMO is able to selectively choose frames with which to calculate distances based on if common suffices are shared between two frames. This selective behavior leads to a more efficient calculation than the traditional exhaustive manner (O(T log T)) versus O(T2). VMO also has the capability to keep track of recurrent motifs within the time series. Even further, using VMO to calculate the SSM utilizes information dynamics to perform the reduction from a multivariate time series to a symbolic sequence. Information dynamics is aimed at modeling the evolving information dynamics as the time series unfolds from the perspective of information theory. In the case of VMO, Information Rate (IR) is maximized.
As mentioned, embodiments provided herein are directed to the use of VMO in segmentation computations of music. VMO is a suffix automaton and was originally devised for fast time-series query-matching and time-series motifs discovery. As set forth herein, VMO is used for music structure segmentation and indexing features sequences, which enables portions of the algorithm to be calculated more efficiently than has traditionally been done. One portion of music structure segmentation is the symbolization (dimension reduction) of the features sequence (multi-variate time sequence) into a generic symbolic sequence. Another portion is the fast retrieval of the SSM based on the suffix structure.
In operation, and at a high level, a raw waveform, such as an input signal corresponding to a music stream, is the input for the system described herein. The waveform is transmitted to a feature sequence extractor, where a feature(s) is extracted from the waveform. These features may correspond to different music attributes from the raw waveform. The particular features extracted may depend on whether harmonic content, percussive content, or both, are present in the music. From the extracted features, a symbolized sequence is generated from a VMO structure. A matrix, such as a VMO-SSM, is then formed from the VMO structure. Several segmenting algorithms may be used for generating a segment structure from the VMO-SSM. For instance, spectral clustering, connectivity-constrained hierarchical clustering, or structure features and segment similarity may be used. The output of the system is thus a segmentation that visually indicates segments that are repetitive or homogenous. An example of a segmentation is illustrated in
Having briefly described an overview of embodiments of the present invention, an exemplary operating environment in which embodiments of the present invention may be implemented is described below in order to provide a general context for various aspects of the present invention. Referring initially to
The environment 100 of
The data store 102 may be any type of computing device owned and/or operated by a user, company, agency, or any other entity capable of accessing network 104. For instance, the data store 102 may be a desktop computer, a laptop computer, a tablet computer, a mobile device, a server, or any other device capable of storing data and having network access. Generally, the data store 102 is employed to, among other things, store one or more audio streams, such as music streams. When it is desired to segment a particular music stream, that music stream can be retrieved from the data store 102 and communicated to the music segmentation system 106 by way of network 104.
The music segmentation system 106 comprises a feature sequence component 108, a VMO component 110, a connectivity matrix component 112, a structure segmentation component 114, and a boundary adjustment component 116. While these six components are illustrated in
The feature sequence component 108 is configured to extract features from the waveform corresponding to a music stream that is being analyzed. The features may correspond to different music attributes from the raw waveform. Features extracted may be determined based on whether harmonic content or rhythmic content is being analyzed. For harmonic content, constant-Q transformed (CQT) spectra, chroma, and Mel-frequency cepstral coefficients (MFCCs) may be extracted. CQT spectra is a remapping of the frequency bins in a short-time Fourier transform spectrum into logarithmic-spaced frequency axis, which corresponds to how different musical pitches are spaced. Chroma features may be obtained by folding CQT spectra along the frequency axis into one octave with twelve bins matched to the Western twelve equal temperament tunings. To obtain MFCCs, timbral characteristics are obtained (e.g., tone color, tone quality), as MFCCs can be used to represent timbral content at each sample point. MFCCs are discrete cosine transform coefficients of mel-spectrogram in decibels. For rhythmic content, features may be derived from a tempogram. A tempogram refers to a time-tempo representation that encodes the local tempo of a music signal over time.
In addition to the features mentioned above, other features, such as those described in various standards (e.g., MPEG-7 Audio) could be used as well. Combinations of the features mentioned herein and features described in veracious standards and elsewhere could also be extracted from a music source or other audio source.
Each feature frame is represented as a column vector and different features sampled at the same time point are concatenated vertically. A time-delay embedding is applied to stack the concatenated features with their neighboring frames. In embodiments herein, a neighbor number of three is used such that a feature frame at time t is vertically stacked with feature frames from time t−n to t+n, where n could equal any number. In embodiments n=1.
The VMO component 110 is configured to apply a VMO algorithm to generate a VMO structure, and then to generate a matrix, such as an SSM, and in particular a VMO-SSM. As previously mentioned, other systems used to segment music have not used an algorithm, such as VMO, that can be used to identify the symbolization (quantization) resolution so that the repeated structure of the time series is kept. As such, the use of VMO to automatically segment music, and also to provide labels and indicate similar segments, is described herein and is performed, at least, by the VMO component 110.
As used herein, VMO is a data structure that is capable of symbolizing a signal by clustering the feature frames in the signal, such as those derived from Factor Oracle (FO) and Audio Oracle (AO). In its data structure, VMO stores information regarding repeating subsequences within a time series via suffix links (i.e., backward pointer that links frame t to frame k, with t>k). For each observation at time i of the time series with length T indexed by VMO, a suffix link, sfx[i]=j, is created pointing back in time j to where the longest repeated suffix occurred. The suffix links not only contain the information regarding repeating sequences, but also imply a frame-to-frame equivalency between i and j given sfx[i]=j that leads to symbolization of the time series. Given the symbolized sequence S that is generated using VMO, a binary SSM (VMO-SSM), R ∈ T×T, may be obtained by way of Equation (1) below, with i>j,
and fill the main diagonal line with 1.
FO and AO are predecessors of VMO. FO is a variant of the suffix tree data structure devised for retrieving patterns from a symbolic sequence. AO is the signal extension of FO, and is capable of indexing repeated sub-clips of a signal sampled at a discrete time. AO is typically applied to audio query and machine improvisation. FO tracks the longest repeated suffix of every “letter” along a symbolic sequence by constructing an array, S, storing the position of where the longest repeated suffix happened, and a longest repeated suffix (lrs) array, and storing the length for the corresponding longest repeated suffix. AO extends FO by implicitly symbolizing each incoming observation of a multi-variate time series. VMO combines FO and AO in the sense that the symbolization of AO is made explicit in VMO. The explicit symbolization is done by assigning labels to the frames linked by suffix links. As a result, VMO is capable of symbolizing a signal by clustering the feature frames in the signal and keeping track of where and how long the longest repeated suffix is for each observation frame. Furthermore, the construction algorithm of the oracle structure is an incremental algorithm, thus making the oracle structure an appropriate option when real-time or short computation times are desired.
To symbolize an incoming observation, a threshold θ is used during the VMO construction algorithm. An incoming sample with distance (dissimilarity) less than θ to a previous sample along the suffix path would be considered being in the same cluster as the previous sample. To determine the value of θ, an information theoretic measure called Information Rate (IR) may be used. IR measures the predictability of the source of a time series by considering the mutual information between the present sample and all past observations. In practice, the conditional entropy embedded in the mutual information is untraceable unless a parametric probabilistic model is chosen to represent the source. For a complex and dynamic phenomenon such as music, parametric probabilistic models may only capture a single or very few surface dimensions of a music signal and may fall short of modeling the innate structure of such a music signal. With an FO data structure, the aforementioned problem could be solved by replacing the conditional entropy with a compression measure associated with an FO. Compror is a lossless compression algorithm based on the repeated suffixes and lrs (length of the longest repeated suffix at each frame) values stored in an FO. For VMO, different θ values lead to different symbolized signals. The IR values of each of the different symbolized signals may be calculated using Compror. In
Since VMO's data structure stores the length and positions of the repeated suffixes within a time series, a matrix can be constructed, such as a binary SSM from VMO, also referenced herein as VMO-SSM. For a symmetric matrix of size N×N, with N the number of frames, entries (i, j) and (j, i) are assigned the value 1 if S[i]=j, and assigned 0 otherwise.
As mentioned above herein, there are many advantages to using VMO to segment music. For instance, using VMO to calculate the SSM utilizes information dynamics to perform the reduction from a multivariate time series to a symbolic sequence. Information dynamics is aimed at modeling the evolving information dynamics as the time series unfolds itself from the perspective of information theory. In the case of VMO, Information Rate (IR) is maximized. For instance, let x1N={x1, x2, . . . , xT denote time series x with T observations. In the equation below, which defines IR, H(x) is the entropy of x.
IR(x1t−1,xt)=H(xt)−H(xt|x1t−1), Equation (2)
The connectivity matrix component 112 is configured to generate a connectivity matrix, which is constructed using median filtering and by the addition of local linkages. As used herein, R refers to a connectivity matrix prior to median filtering and the addition of local linkages. A median filter may be applied in the diagonal direction to suppress erroneous entries, fill missing blanks, and keep sharping edges of the diagonal stripes in the binary SSM. Equation (3) below illustrates a computation of a connectivity matrix with median filtering, represented by R′.
R′=median(Ri+j,j+t|t∈−ω,−ω+1, . . . ,ω). Equation (3)
The operation of adding local linkage may be defined as follows in Equation (4), wherein R+ represents the connectivity matrix after the addition of local linkage:
In Equation (5) below, I denotes an identity matrix with a dimension N, and D, the diagonal degree matrix of R+. The symmetric normalized Laplacian matrix of R+ is then calculated as:
The structure segmentation component 114 is configured to generate a segment structure, which is a visual representation of a music stream divided into segments. In some embodiments, the segment structure produced may also include an indication of which segments are similar or repetitive to other segments. There are various segmentation algorithms that could be used to transform the VMO-SSM into a segment structure. The three methods of performing segmentation include spectral clustering, connectivity-constrained hierarchical clustering, and structure features and segment similarity.
Spectral clustering is a type of segmentation algorithm that may be used in embodiments herein to segment the music stream based on the other steps provided herein, including the use of VMO to generate a VMO-SSM. In instances where a connectivity matrix has been calculated from a feature sequence, and where k-means clustering has been applied to the rows of eigenvector matrix of the connectivity matrix to obtain segmentation boundaries and labels, spectral clustering is one option to obtain a segment structure. As used herein, k-means clustering is a method of vector quantization, originally from signal processing, that is popular for cluster analysis in data mining. For k-means clustering, k is set to be between about 4 and 6. The value of k is selected to maximize the entropy over the labels. Spectral clustering is applied on the connectivity matrix to obtain a low-dimensional representation of repetitive structures. The operations that could be utilized to obtain the connectivity matrix from the VMO-SSM and to apply spectral clustering include nearest neighbor thresholding, filtering with median filter, adding local linkages, balancing local and global linkage, linkage weighting, and feature fusion. It is noted that not all of these operations may be utilized for segmentation of a music stream. When segmentation is provided by spectral clustering, the first m eigenvectors with m smallest eigenvalues are concatenated to form a matrix Y ∈T×m with rows normalized. Each row of Y (eigenvector matrix illustrated as item 604 of
Connectivity-constrained hierarchical clustering is another method that may be used to segment music, according to embodiments herein. Connectivity-constrained hierarchical clustering is a computationally efficient algorithm that utilizes hierarchical clustering with connectivity constraints, and is commonly used to segment regions of an image. The connectivity constraint in the image segmentation task is neighboring relations between pixels. With the connectivity constraint, the hierarchical clustering works on the color values of each pixel, but is constrained to only merge neighboring pixels. For a music structure segmentation system, as provided herein, there are temporal neighboring relations along with suffix structures storing repetition information. The same information used in the spectral clustering approach to obtain the binary SSM is used in this approach as the connectivity constraint. During the connectivity-constrained hierarchical clustering, neighboring feature frames are merged to form larger sections and connected to distant regions by the constraint associated with suffix links to establish repetitive relationships among segments.
Yet another method to segment music according to embodiments herein is to use structure features (SF) and segment similarity. After obtaining the connectivity matrix (R) from VMO, as previously described, the following steps are applied to identify the boundaries: 1) a time-lag matrix L is obtained from R; 2) L is convolved with a 2-D Gaussian kernel; and 3) boundaries are identified via peak-picking on a novelty curve derived from L. To further obtain segment labels, segment-to-segment similarities are calculated based on a DTW-like (dynamic time warping) score given R. The resulting similarities are stored in a square matrix Ŝ with dimensions equal to the number of segments identified from boundary detection. A dynamic threshold based on the statistics of Ŝ is used to discard non-similar segments. Transitivity between similar segments is induced by iteratively applying matrix multiplication of Ŝ with itself and by thresholding. Segment labels are then obtained from the rows of Ŝ. Parameters for this algorithm include the standard deviations of the Gaussian kernel, {SL, ST}, for time-lag and time axis, respectively, and peak-picking window length λ. An illustration of L (the Laplacian matrix of R+), the time-lag novelty curve, and Ŝ derived from R (segment-to-segment SSM) are illustrated in
The boundary adjustment component 116 is configured to adjust (e.g., refine) the boundaries of the segments provided for in the segment structure. In some embodiments, boundary adjustment may not be used. But in other embodiments, it may be more crucial that boundaries of a segment structure are adjusted, and thus boundary adjustment is applied to the segment structure. In one embodiment, the algorithm used for boundary adjustment is an iterative algorithm, and will be explained in more detail below.
In operation, once a segment structure has been created, the segmentation results may be observed, and may reveal that a segmentation algorithm is capable of locating the boundaries between segments within a window of a few seconds, but is not capable of locating the major change point within a window less than about one second. The reason might be due to the smoothing on the SSM to obtain R′ or L. To remedy the aforementioned situation, an iterative boundary adjustment algorithm is proposed to fine-tune the segmentation boundaries to nearby local maxima in terms of the dissimilarity between adjacent segments. At a high level, the algorithm may randomly select a boundary to refine from the segment structure. Once selected, some or all of the boundaries in the segment structure are refined (e.g., moved in a direction by one or more frames). This process may be repeated until the total number of frames moved is less than a predetermined number, indicating that the boundaries are positioned in the correct place within the music stream.
An exemplary criterion that may be used to refine the boundaries in the segment structure is the distance between two adjacent segments. For instance, in one embodiment, this distance should be the farthest at the refined boundary points. The distance between two segments may be defined as the distance between the empirical distributions of the two segments. For exemplary purposes only, the Kullback-Leibler (K-L) divergence may be used to compute the distance between two segments, where the two segments are each modeled by a multinomial distribution. As the effect of changing one boundary point propagates to other adjacent segments of neighboring boundaries, an iterative algorithm is devised, as illustrated in Algorithm 1 below.
Algorithm 1 resembles an expectation-maximization algorithm in that each iteration stochastically cycles through all boundaries and adjusts them to maximize the K-L divergence of adjacent segments. Algorithm 1 then transforms the adjusted boundaries to new boundaries and proceeds to the next iteration until convergence criteria are met. In one embodiment, the stopping criteria include the total number of iterations N and the total length of boundaries moved C. Embodiments provide that the total length of a boundary moved during each iteration, c, monotonically decreases with a number of iterations i.
It should be understood that this and other arrangements described herein are set forth only as examples. Other arrangements and elements (e.g., machines, interfaces, functions, orders, and groupings of functions, etc.) can be used in addition to or instead of those shown, and some elements may be omitted altogether. Further, many of the elements described herein are functional entities that may be implemented as discrete or distributed components or in conjunction with other components, and in any suitable combination and location. Various functions described herein as being performed by one or more entities may be carried out by hardware, firmware, and/or software. For instance, various functions may be carried out by a processor executing instructions stored in memory.
The components illustrated in
Turning now to
Initially, a waveform from an audio recording 202 is input into a music segmentation system 204. The music segmentation engine 204, as shown in
Referring now to
The lower dashed arrows are suffix links 406, which are used to find repeated suffixes in Q. The symbols in Q=q1, q2, . . . , qt, . . . , qT are formed by tracking suffix links along the frames in an oracle structure, such as an FO structure. Generally, a suffix link is a backward pointer that points from state t to k, where t>k. The link does not have a label and is denoted by sfx[t]=k. The condition for when a suffix link is created is
The values located outside of each circle, which are the feature frames 402, are the lrs value for each state. For example, there is a suffix link from feature frame 11 to feature frame 7. The “3” outside of feature frame 11 indicates that the previous three symbols of the signal, {a, b, c}, are repeated and the suffix link points to where the repetition ended.
Turning to
Turning now to
At block 914, a matrix is generated. In one embodiment, the matrix is an SSM, or more particularly, a VMO-SSM. A segment structure is generated from the matrix at block 916. The segment structure may indicate segments that are similar, such as by color coding, or other means of distinguishing one segment from another. When the segment structure is generated, one or more methods may be utilized. For instance, spectral clustering, connectivity-constrained hierarchical clustering, or structure features and segment similarity may be used for segmentation.
At block 1016, a segment structure is generated by applying a segmentation algorithm. The segment structure indicates repetitive segments, such as by color coding or some other means of distinguishing one segment from another. Spectral clustering, connectivity-constrained hierarchical clustering, structure features and segment similarity, etc., may be used for segmentation and to generate a segment structure. In some embodiments, boundaries of the segment structure may be refined or otherwise adjusted by applying an iterative boundary adjusting algorithm to the segment structure, as discussed herein with respect to the boundary adjustment component 116 of
An example is provided below to demonstrate the use of various algorithms, and each algorithm's result on segmentation and boundary refinement. In this example, the Beatles-ISO dataset comprising 179 annotated songs will be used. This example aims to identify a segmentation of a given audio recording and compare the segmentation with human annotations to determine the accuracy of the algorithms.
To evaluate the effect of the VMO-SSM and the boundary adjustment algorithm, the proposed framework is evaluated against the Beatles-ISO dataset and compared to existing algorithms on the same dataset. Three standard features and their combinations are considered in this experiment. These features include the CQT spectra, chroma, and MFCCs. All audio recordings are down-sampled to 22050 Hz, analyzed with a 93 ms window and 23 ms hop. CQTs are calculated between a frequency range of [0, 2093] Hz with 84 bins. Chroma is derived from CQT by folding the 8 octaves into 12 bins. MFCCs are calculated from 128 Mel bands and 12 MFCCs are taken. All features are beat-synchronized using a beat-tracker with median-aggregation. Features are then stacked using time-delay embedding with one step of history and one step of future. Each dimension of each feature is normalized along the time axis. To combine different features, the features are stacked. Different dimensions are assumed to have equal importance.
For this experiment, a parameter sweep was done to find the best combination of parameters. Cosine distance was used in the VMO distance calculation. For spectral clustering, the median filtering window w was 17. The number of different sections used for spectral clustering, m, was 5. For the SF algorithm used for segmenting, the standard deviations for time-lag and time axis, (sL, sT), were 0.5 and 12. The peak-picking window length λ was 9. The parameters for the boundary adjustment algorithm, W, N, and C, were {4, 10, 2}, respectively.
The evaluation results of the proposed framework along with the ones from other existing works are shown in Table 1 below. The metrics used follow those proposed in the Music Information Retrieval Evaluation eXchange (MIREX). The evaluation can be described in two layers. The first layer is the performance on retrieving boundaries and the second layer is the performance on assigning labels to regions defined by retrieved boundaries. For boundary hit rate, the combination of VMO, spectral clustering, and boundary adjustment outperforms all other existing works by a margin of at least 7% in a 0.5 second window tolerance. For a 3 second window tolerance, despite being inferior to SF, the approaches with VMO-SSM are still superior to other existing methods. The boundary adjustment algorithm introduces a trade-off between short-time and long-time tolerance boundary hit rate. For spectral clustering, the trade-off of F0.5 and F3 is acceptable with F0.5 improving slightly more than the degradation of F3. It may be observed that applying the boundary adjustment algorithm on SF does not produce results that are as precise as other methods, as the degradation of F3 is far more than the improvement on F0.5. The discrepancy between applying the boundary adjustment algorithm on spectral clustering and SF may be understood by the nature of the segmentation algorithms. As SF focuses on finding boundaries from SSM more directly than the approaches utilizing matrix decomposition, there may not be much room for improvement of boundary accuracies in the post-processing stage. For segmentations, original SF ranks the highest in pair-wise clustering F-score, and the combination of VMO and SF ranks the next highest. For the F-score of normalized conditional entropy, the VMO-SF combination returns the highest score, and for matrix decomposition approaches, replacing traditional SSM with VMO-SSM achieves comparable or superior performances than existing works in segment labeling evaluation.
Having described an overview of embodiments of the present invention, an exemplary computing environment in which some embodiments of the present invention may be implemented is described below in order to provide a general context for various aspects of the present invention.
Embodiments of the invention may be described in the general context of computer code or machine-useable instructions, including computer-executable instructions such as program modules, being executed by a computer or other machine, such as a personal data assistant or other handheld device. Generally, program modules including routines, programs, objects, components, data structures, etc., refer to code that perform particular tasks or implement particular abstract data types. The invention may be practiced in a variety of system configurations, including hand held devices, consumer electronics, general-purpose computers, more specialty computing devices, etc. The invention may also be practiced in distributed computing environments where tasks are performed by remote-processing devices that are linked through a communications network.
Accordingly, referring generally to
With reference to
Computing device 1100 typically includes a variety of computer-readable media. Computer-readable media can be any available media that can be accessed by computing device 1100 and includes both volatile and nonvolatile media, removable and non-removable media. By way of example, and not limitation, computer-readable media may comprise computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by computing device 1100. Computer storage media does not comprise signals per se. Communication media typically embodies computer-readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of any of the above should also be included within the scope of computer-readable media.
Memory 1112 includes computer storage media in the form of volatile and/or nonvolatile memory. The memory may be removable, non-removable, or a combination thereof. Exemplary hardware devices include solid-state memory, hard drives, optical-disc drives, etc. Computing device 1100 includes one or more processors that read data from various entities such as memory 1112 or I/O components 1120. Presentation component(s) 1116 present data indications to a user or other device. Exemplary presentation components include a display device, speaker, printing component, vibrating component, etc.
I/O ports 1118 allow computing device 1100 to be logically coupled to other devices including I/O components 1120, some of which may be built in. Illustrative components include a microphone, joystick, game pad, satellite dish, scanner, printer, wireless device, etc. The I/O components 1120 may provide a natural user interface (NUI) that processes air gestures, voice, or other physiological inputs generated by a user. In some instances, inputs may be transmitted to an appropriate network element for further processing. An NUI may implement any combination of speech recognition, touch and stylus recognition, facial recognition, biometric recognition, gesture recognition both on screen and adjacent to the screen, air gestures, head and eye tracking, and touch recognition associated with displays on the computing device 1100. The computing device 1100 may be equipped with depth cameras, such as stereoscopic camera systems, infrared camera systems, RGB camera systems, and combinations of these for gesture detection and recognition. Additionally, the computing device 1100 may be equipped with accelerometers or gyroscopes that enable detection of motion. The output of the accelerometers or gyroscopes may be provided to the display of the computing device 1100 to render immersive augmented reality or virtual reality.
The present invention has been described in relation to particular embodiments, which are intended in all respects to be illustrative rather than restrictive. Alternative embodiments will become apparent to those of ordinary skill in the art to which the present invention pertains without departing from its scope.
From the foregoing, it will be seen that this invention is one well adapted to attain all the ends and objects set forth above, together with other advantages which are obvious and inherent to the system and method. It will be understood that certain features and subcombinations are of utility and may be employed without reference to other features and subcombinations. This is contemplated by and is within the scope of the claims.
This application is a Continuation of U.S. patent application Ser. No. 14/948,695, filed Nov. 23, 2015 and entitled INTUITIVE MUSIC VISULIZATION USING EFFICIENT STRUCTURAL SEGMENTATION, the entirety of which is herein incorporated by reference.
Number | Name | Date | Kind |
---|---|---|---|
6225546 | Kraft et al. | May 2001 | B1 |
7732697 | Wieder | Jun 2010 | B1 |
8044290 | Kwon et al. | Oct 2011 | B2 |
8283548 | Oertl et al. | Oct 2012 | B2 |
20080209484 | Xu | Aug 2008 | A1 |
20110112672 | Brown et al. | May 2011 | A1 |
20120312145 | Kellett et al. | Dec 2012 | A1 |
20130275421 | Resch et al. | Oct 2013 | A1 |
20140330556 | Resch et al. | Nov 2014 | A1 |
20140338515 | Sheffer et al. | Nov 2014 | A1 |
Entry |
---|
Bello, J. P., & Pickens, J. (Sep. 2005). A Robust Mid-Level Representation for Harmonic Content in Music Signals. In ISMIR (vol. 5, pp. 304-311). |
Brown, J. C., & Puckette, M. S. (1992). An efficient algorithm for the calculation of a constant Q transform. The Journal of the Acoustical Society of America, 92(5), 2698-2701. |
Cont, A., Dubnov, S., & Assayag, G. (2007). Guidage: A fast audio query guided assemblage. In Proceedings of International Computer Music Conference (ICMC). ICMA. |
Dubnov, S., Assayag, G., & Cont, A. (Sep. 2011). Audio oracle analysis of musical information rate. In Semantic Computing (ICSC), 2011 Fifth IEEE International Conference on (pp. 567-571). IEEE. |
Ehmann, A. F., Bay, M., Downie, J. S., Fujinaga, I., & De Roure, D. (Oct. 2011). Music Structure Segmentation Algorithm Evaluation: Expanding on MIREX 2010 Analyses and Datasets. In ISMIR (pp. 561-566). |
Grohganz, H., Clausen, M., Jiang, N., & Müller, M. (2013). Converting Path Structures Into Block Structures Using Eigenvalue Decompositions of Self-Similarity Matrices. In ISMIR (pp. 209-214). |
Kanungo, T., Mount, D. M., Netanyahu, N. S., Piatko, C. D., Silverman, R., & Wu, A. Y. (2002). An efficient k-means clustering algorithm: Analysis and implementation. IEEE transactions on pattern analysis and machine intelligence, 24 (7), 881-892. |
Lefebvre, A., & Lecroq, T. (2002). Compror: on-line lossless data compression with a factor oracle. Information Processing Letters, 83(1), 1-6. |
Lefebvre, A., Lecroq, T., & Alexandre, J. (2003). An improved algorithm for finding longest repeats with a modified factor oracle. Journal of Automata, Languages and Combinatorics, 8(4), 647-657. |
Li, J. (2011). Agglomerative connectivity constrained clustering for image segmentation. Statistical Analysis and Data Mining: The ASA Data Science Journal, 4(1), 84-99. |
McFee, B., & Ellis, D. (2014). Analyzing Song Structure with Spectral Clustering. In ISMIR (pp. 405-410). |
Mermelstein, P. (1976). Distance measures for speech recognition, psychological and instrumental. Pattern recognition and artificial intelligence, 116, 374-388. |
Nieto, O., & Jehan, T. (May 2013). Convex non-negative matrix factorization for automatic music structure identification. In Acoustics, Speech and Signal Processing (ICASSP), 2013 IEEE International Conference on (pp. 236-240). IEEE. |
Paulus, J., Müller, M., & Klapuri, A. (Aug. 2010). State of the Art Report: Audio-Based Music Structure Analysis. In ISMIR (pp. 625-636). |
Peeters, G., & Bisot, V. (Oct. 2014). Improving Music Structure Segmentation using lag-priors. In ISMIR (pp. 337-342). |
Serra, J., Müller, M., Grosche, P., & Arcos, J. L. (2014). Unsupervised music structure annotation by time series structure features and segment similarity. IEEE Transactions on Multimedia, 16(5), 1229-1240. |
Surges, G., & Dubnov, S. (Oct. 2013). Feature selection and composition using pyoracle. In Ninth Artificial Intelligence and Interactive Digital Entertainment Conference (p. 19). |
Tian, M., Fazekas, G., Black, D. A., & Sandler, M. (Apr. 2015). On the use of the tempogram to describe audio content and its application to music structural segmentation. In Acoustics, Speech and Signal Processing (ICASSP), 2015 IEEE International Conference on (pp. 419-423). IEEE. |
Wang, C. I., & Dubnov, S. (Sep. 2014). Guided music synthesis with variable markov oracle. In Tenth Artificial Intelligence and Interactive Digital Entertainment Conference. |
Wang, C. I., & Dubnov, S. (Dec. 2014). Variable markov oracle: A novel sequential data points clustering algorithm with application to 3d gesture query-matching. In Multimedia (ISM), 2014 IEEE International Symposium on (pp. 215-222). IEEE. |
Wang, C. I., & Dubnov, S. (Apr. 2015). Pattern discovery from audio recordings by variable markov oracle: A music information dynamics approach. In Acoustics, Speech and Signal Processing (ICASSP), 2015 IEEE International Conference on (pp. 683-687). IEEE. |
Number | Date | Country | |
---|---|---|---|
20180374459 A1 | Dec 2018 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 14948695 | Nov 2015 | US |
Child | 16057674 | US |