General sound decomposition models

Sound decomposition models are described. In one or more implementations, a plurality of individual models is generated for respective ones of a plurality of sound sources. The plurality of models is collected to form a universal audio model that is configured to support sound decomposition of sound data through use of one or more of the models. The plurality of models is not generated using a sound source that originated at least a portion of the sound data.

BACKGROUND

Sound decomposition may be leveraged to support a wide range of functionality. For example, sound data, such as that of a movie or of a recording of a song, is often captured in a noisy environment and may include both desirable and undesirable parts. The sound data in a movie, for instance, may include dialog, which is desirable, but may also include the unintended ringing of a cell phone. Thus, it is desirable to decompose the sound data such that the dialog may be separated from the cell phone.

However, conventional techniques that are employed to perform this decomposition rely on isolated training data from the actual sound sources and can be labor and resource intensive. When such training data is not available, the techniques can perform poorly, and in some cases, cannot be used at all.

SUMMARY

General sound decomposition models are described. In one or more implementations, a plurality of individual models is generated for each of a plurality of sound sources. The plurality of models is collected to form a universal audio model that is configured to support sound decomposition of sound data through use of one or more of the models. The plurality of models is not generated using a sound source that originated from at least a portion of the sound data.

In one or more implementations, a universal audio model having a collection of individual models of sound sources is fit to sound data. The fitting is performed by selecting from the models in the collection based on correspondence of the sound data to respective models. The sound data is decomposed using the selected models of the universal audio model.

DETAILED DESCRIPTION

Overview

Conventional sound decomposition techniques typically relied on training data formed through observations of actual sound sources that are to be decomposed from the sound data. Accordingly, these conventional techniques could fail when such training data was not available.

Sound decomposition model techniques are described. In one or more implementations, a universal audio model is generated for each of a plurality of different sources, such as users, noise, musical instruments, animals, and so on, to learn frequency representations from a plurality of examples of each source. In this way, a universal audio model may be learned that includes each of the individual models learned from the variety of different sources.

The universal audio model may then be used in instances in which training data is not available for one or more of the sound sources in an audio file. For example, sound data that is to be decomposed may be analyzed. This analysis may be performed to locate one or more models of the universal audio model that most closely reassemble sound sources in the sound data. The located models may then be used as training data to decompose the sound data. In this way, the universal audio model may be used in place of the training data that was conventionally learned from the sound sources included in the sound data. A variety of other features are also contemplated, further discussion of which may be found in relation to the following sections.

Example Environment

FIG. 1is an illustration of an environment100in an example implementation that is operable to employ sound decomposition techniques described herein. The illustrated environment100includes a computing device102and sound capture device104, which may be configured in a variety of ways.

The computing device102, for instance, may be configured as a desktop computer, a laptop computer, a mobile device (e.g., assuming a handheld configuration such as a tablet or mobile phone), and so forth. Thus, the computing device102may range from full resource devices with substantial memory and processor resources (e.g., personal computers, game consoles) to a low-resource device with limited memory and/or processing resources (e.g., mobile devices). Additionally, although a single computing device102is shown, the computing device102may be representative of a plurality of different devices, such as multiple servers utilized by a business to perform operations “over the cloud” as further described in relation toFIG. 10.

The sound capture device104may also be configured in a variety of ways. Illustrated examples of one such configuration involves a standalone device but other configurations are also contemplated, such as part of a mobile phone, video camera, tablet computer, part of a desktop microphone, array microphone, and so on. Additionally, although the sound capture device104is illustrated separately from the computing device102, the sound capture device104may be configured as part of the computing device102, the sound capture device104may be representative of a plurality of sound capture devices, and so on.

The sound capture device104is illustrated as including a sound capture module106that is representative of functionality to generate sound data108. The sound capture device104, for instance, may generate the sound data108as a recording of an audio scene110having one or more sound sources, which are illustrated as a user, a dog, and a cell phone inFIG. 1. This sound data108may then be obtained by the computing device102for processing.

The computing device102is illustrated as including a sound processing module112. The sound processing module112is representative of functionality to process the sound data108. Although illustrated as part of the computing device102, functionality represented by the sound processing module112may be further divided, such as to be performed “over the cloud” by one or more servers that are accessible via a network114connection, further discussion of which may be found in relation toFIG. 10.

An example of functionality of the sound processing module112is represented as a decomposition module116. The decomposition module116is representative of functionality to decompose the sound data108according to a likely source of respective part of the sound data108. As illustrated in the audio scene110ofFIG. 1, for instance, the decomposition module116may be used to separate the sound data108according to different sources, such as to separate dialog from the person in the audio scene110from ringing of a cell phone and barking of the dog to form source separated sound data122. This may be used to support a variety of different functionality, such as audio denoising, music transcription, music remixing, audio-based forensics, and so on.

To perform this decomposition, the decomposition module116may employ a variety of different functionality. One example of this functionality is illustrated as a model generation module118. The model generation module118is representative of functionality to generate models of respective sound sources to form a universal audio model, such as users, noise, musical instruments, and so on. Further discussion of functionality of the model generation module118may be found in relation toFIG. 2.

Another example of the functionality of the decomposition module116is illustrated by a model selection module120. The model selection module120is representative of functionality to select one or more of a plurality of models of a universal audio model that are to be used as training data to decompose sound data108. The model selection module120, for instance, may be used to analyze the sound data108and select models from the universal audio model that most closely correspond to the sound data108. The selected models may then be used as part of the decomposition process to form the source separated sound data122, further discussion of which may be found in relation toFIG. 3.

FIG. 2depicts a system200in an example implementation in which a universal audio model is generated from a plurality of different audio sources. Sound data is received from a plurality of different sound sources as previously described in relation toFIG. 1, which are illustrated as speech from users in this example but other examples are also contemplated as previously described.

The sound data108is then processed by a model generation module118. The model generation module118, for instance, may employ one or more techniques to generate a representation of the sound data for each of the sound sources. In the illustrated example, the model generation module118employs a time/frequency transform module202. The time/frequency transform module202is representative of functionality to form one or more spectrograms of a respective sound signal. For example, a time-domain signal may be received and processed to produce a time-frequency representation. Other representations are also contemplated, such as a time domain representation, an original time domain signal, and so on.

Spectrograms may be generated in a variety of ways, an example of which includes calculation as magnitudes of short time Fourier transforms (STFT) of the signals and so forth. Additionally, the spectrograms may assume a variety of configurations, such as narrowband spectrograms although other instances are also contemplated.

The model generation module118may then be used to generate a model204(1),204(2), . . . ,204(N) for a respective one of the plurality of sound sources. These models204(1)-204(N) may then be collected in storage206to form a universal audio model, the use of which may be used to guide a sound decomposition process when training data is not available, an example of which is described as follows and shown in a corresponding figure.

FIG. 3depicts a system300in an example implementation in which sound data108is decomposed through use of a universal audio model. In applications such as audio denoising, music transcription, music remixing, and audio-based forensics, for example, a single channel recording may be decomposed into its respective sources. One technique to perform such decomposition is based on nonnegative matrix factorization and related latent variable models although other examples are also contemplated.

Sound data108, for instance, may be received by a sound processing module112. As previously described, the sound data108may originate from a variety of different sources, such as speech from a user, barking of a dog, a ring of a cell phone, and so on.

The sound data108is then processed by a decomposition module116of the sound processing module112. The decomposition module116, for instance, may leverage a model selection module120to select one or more models204(1)-204(N) based on how well those models204(1)-204(N) correspond to the sound data108. The model selection module120, for instance, may determine that a few of the models204(1)-204(N) strongly correspond to the sound data108and therefore employ those models and not others of the universal audio model302as part of the sound decomposition process. In another example, strong correspondence may not be determined and as such additional models204(1)-204(N) (e.g., all or most of the models) may be used as part of the decomposition process to guide separation and formation of the source separated sound data122. A variety of different techniques may be used as part of this selection process, such as block sparsity or other regularization techniques, an example of which is described and shown in relation to the following section.

Regardless of how selected, the models204(1)-204(N) may then be used to guide the sound decomposition process in a manner similar to how training data may be used. The decomposition module116may include functionality to identify components in the sound data108. For example, the decomposition module116may estimate a likely contribution of each source to portions of the sound data108based at least in part on the selected models206(1)-206(N). The decomposition module116may then use this identified contribution to separate the sound data108based on labeling resulting from the analysis to generate the source separated sound data122. An example of such a process involving block sparsity is described in the following example implementation.

Example Implementation

Supervised and semi-supervised source separation algorithms that are based on non-negative matrix factorization have been shown to be quite effective in certain situations. However, the algorithms typically rely on isolated training data of one or more sources, which is often difficult to obtain. Therefore, this may limit the practical applicability of these algorithms as previously described.

Accordingly, techniques are described in which generalized training data is used in the absence of specific training examples. For example, a universal audio model may be learned from a general corpus of speech, which may be used to separate audio from other sound sources. Models learned as part of this technique may be used in lieu of speaker-dependent training examples, and thus circumvent the aforementioned problem. Thus, these techniques may be used to improve performance when training data is not available. Although the following describes examples of speech training, it should be readily apparent that these techniques may be applied to a variety of different types of sound sources, such as musical instruments, noise, animals, weather sounds, and so forth as previously described.

Data-driven approaches are effective at separating sources in sound data formed from an audio signal. One example of such an approach is non-negative matrix factorization (NMF), which is utilized to solve the following optimization problem:

min,W,H≥0⁢⁢D(V⁢WH)
where “D” is a divergence measure, “V” is the power or magnitude spectrogram, and “W,H” are the desired factors. Because the factors are constrained to be nonnegative, “W” and “H” have natural interpretations as latent spectral features and the activations of those features in the signal, respectively. From this model, a pipeline for performing data driven source separation of the decomposition module116may proceed as follows. Given isolated training data for the two sources, e.g., speech and noise:Compute the spectrograms “VS” and “VN” of the speech and noise training data, respectively, as well as the spectrogram “V” of the mixture signal;Factorize the spectrograms:
Vi≈Wi{tilde over (H)}i,i=S,N.Fix the learned spectral features “WS”, “WN” from above and learn the activations “H” in the mixture signal:
V≈[WSWN]H.
The activations can then be partitioned into two blocks:

H=[HSHN]
The first block corresponds to speech, the other to the noise in the above example. From this, the speech part of the mixture can be recovered as “WSHS”. This serves as the estimated speech spectrogram, from which the speech waveform estimate may be obtained by combining it with the mixture phase, and taking the inverse STFT.

The approach described above is known as supervised separation. A similar approach is also possible in a scenario in which isolated training data is available for just one of the two sources. For example, in speech denoising, it may be possible to obtain isolated noise training data (e.g., when the speaker pauses), but not isolated speech training data. This semi-supervised case involves a slight modification to the above algorithm: e.g., instead of learning “H” as in the above optimization problem, “WS” and “H” are learned simultaneously.

Techniques are also described herein in which the knowledge of one of the sources (e.g., that the other source is speech) is utilized to improve upon semi-supervised separation or to perform separation when there is no training data of either source. To know a sound class, such as speech, is to have a mathematically useful model (e.g., representation) of it. The models may be learned from data, including examples similar to the source that is to be extracted and thus may be referred to as universal audio models.

Universal audio models may be generated by pre-training on a large corpus of examples, with the models varying as to what features are learned and how the features are used. In the following sections, an example is described to separate speech and noise but as previously described these techniques may be utilized for a variety of different sound data from a variety of different types of sound sources.

Universal Audio Models

In this section, a universal audio model is described that is based on the principle of block sparsity, although other examples are also contemplated. Additionally, although a speech denoising application is the focus of the sound decomposition technique in this example, it should also be readily apparent a variety of different sound decomposition techniques may leverage this functionality. Further as previously described these techniques may be applied to any class of sounds.

Model Generation

The block sparsity model decouples the training of the model from its application. In the training stage, a matrix “Wi” of basis vectors is learned separately for each speaker in the corpus, “i=1, . . . , M.” This can be done using NMF, a probabilistic model, or even by handcrafting the basis vectors. The universal speech model is then obtained by concatenating the learned speech model into a single large matrix in this example:
WS=[W1. . . WM].

To add a speaker to an existing model, the basis vectors of that sound source are learned, which may be performed independently of how the existing model was learned. Thus, efficient reuse of data may be enabled and support ready extensions to the model.

For a noise model “WN” in addition to the universal speech model, for instance, separating speech and noise becomes a problem of finding the corresponding activations “HS” and “HN” as described above. However, the number of parameters is large, possibly more than the number of observations, so simply finding “H≧0” and minimizing “D(V∥W,H)” may not yield desired separation results. In high-dimensional settings, appropriate regularization can be an effective strategy to prevent over fitting.

Block sparsity refers to one of a variety of choices of regularization. The intuition is that if the actual sound source (e.g., speaker) is similar to a sound source (e.g., speaker) is in the universal audio model, then supervised separation using the basis vectors for that sound source of the universal audio model is close to optimal. This can be achieved by imposing a penalty “Ω” that induces block sparsity of “HS,” where the blocks are the activations of the individual speaker models. The optimization criterion is shown as follows.

For sufficiently large “λ,” this penalty encourages use of a single sound source model. At the other extreme, “λ=0” corresponds to a case in which each of the models of the universal audio model is used. For “λ” in between these two extremes, the model is permitted to borrow strength from different models in case a single speaker model is insufficient.

Thus, the parameter “λ” controls the tradeoff between separation and artifacts. For “λ=0,” the reconstructed sources have few artifacts but the separation may be poor. As “λ” increases, separation typically improves at the price of artifacts. Thus, “λ” is a tuning parameter with a physical interpretation that is adjustable by an end user, depending on the requirements of the application. Block sparsity may also provide robustness against poorly fitting speech models by omitting these models entirely.

FIG. 4depicts an example400of evolution of the activation matrix “H” as “λ” increases for a universal speech model having two female speakers and one male speaker (K=20 basis vectors each), as applied to a test mixture of the first female speaker and motorcycle noise (K=10 basis vectors). Each of the coefficients are active for “λ=0,” the male speaker model is dropped first as “λ” increases, and just the basis vectors of the actual speaker remain for “λ” when sufficiently large. It should be noted that the noise activations are not penalized and that the group sparsity comes at the price of shrinking the coefficients within each group as further described below.

Block-sparsity-inducing penalties are also known as “group lasso” or “multitask regression.”FIG. 5includes a table500having examples that may be utilized for the penalty “Ω” The choice of “Ω” is a delicate issue. For example, penalties that induce block sparsity typically involve an outer penalty which induces sparsity in the norms of the blocks. However, by forcing the norms of the blocks to zero, the entries in those blocks are also forced to zero. For instance, the “l0/l2” penalty penalizes the “l0” norm (i.e., the number of nonzero components) of the “l2” norms of the blocks. Thus, this penalty may be applied to penalize the number of blocks without further shrinking the coefficients, but it is intractable to solve in general. There are a number of relaxations of the “l0” norm which admit tractable solutions, but all involve some shrinkage of the coefficients.

A “log/l0” penalty may be used for which there are simple multiplicative updates that monotonically decrease the objective. The convex ““l0/l2” penalty may also be used, which is fit using heuristic multiplicative updates.

In one or more implementations, an algorithm is considered where “D” is a Kullback-Leibler divergence and “Ω” is “log/l1”, a problem that will henceforth be referred to as block KL-NMF or BKL-NMF. First, consider the supervised setting, where isolated noise training data is available and hence “W” is fixed. An iterative algorithm can be derived by majorization-minimization. First, using Jensen's inequality, “D” may be majorized for any “Σkπijk=1” as follows:

In particular, the following expression may be chosen:

πijk=Wik⁢H~kj∑k⁢⁢Wik⁢H~kj
where “{tilde over (H)}” denotes the value of “H” at a current iteration. Next, since “Ω” is concave, this value may be majorized by its tangent at:
{tilde over (H)}:|Ω(H)≦Ω({tilde over (H)})+∇Ω({tilde over (H)}),H−{tilde over (H)}
which yields

The majorizing function of the above functions can be minimized by setting the gradient equal to zero, leading to efficient multiplicative updates as described for the activations in the initial expression described above. This is an example of a concave-convex procedure (CCCP), for which convergence is known.

Algorithm 1 shown in the example600ofFIG. 6differs from standard supervised separation algorithms in the block-wise application of a shrinkage factor.FIG. 7shows an example700of optimal signal-to-distortion ratio (SDR) for different combinations of number of basis vectors “K” and number of speakers “M” in the universal audio model, averaged over 50 test examples (5 test speakers times ten noise examples).

The universal audio model may be fitted using the same computational cost as standard NMF with KL divergence (hereafter, KL-NMF) in the above implementation example. Indeed, from the end user's perspective, the relevant comparison is between supervised BKL-NMF and semi-supervised KL-NMF, which are the two options in which just noise training examples are available. The latter additionally involves an update of “WN,” so as a result supervised BKL-NMF (for a single “λ”) can even be faster than semi-supervised KL-NMF. In the semi-supervised setting training data from either source is not available, a single additional update of the noise model “WN” is involved as reflected above.

Thus, in this implementation example techniques are described to perform source separation using generalized training data in the absence of specific training examples. These techniques may involve generating models for each example, and use of block sparsity in the fitting to select a subset of models. The resulting audio source independent model can be fit at an approximate computational cost that matches standard NMF and achieves comparable performance to techniques that utilize source specific training data. Further discussion of these and other techniques may be found in relation to the following procedures.

Example Procedures

FIG. 8depicts a procedure800in an example implementation in which a universal audio model is formed using a plurality of models from a plurality of sound sources. A plurality of individual models is generated for respective ones of a plurality of sound sources (block802). This may be performed using a variety of different techniques, such as non-negative matrix factorization (NMF), latent component analysis, and so on. This may also be performed for a variety of different sources, such as speech, noise, musical instruments, and so on.

The plurality of models is collected to form a universal audio model that is configured to support sound decomposition of sound data through use of one or more of the models. The plurality of models is not generated using a sound source that originated at least a portion of the sound data (block804). The universal audio model, for instance, may be configured for speech and therefore the sound sources may be different than sound sources included in sound data that is to be decomposed. In this way, sound decomposition may be performed even in instances in which specialized training data for sound sources of the sound data is not available.

FIG. 9depicts a procedure900in an example implementation in which a universal audio model is leveraged to guide decomposition of sound data. A universal audio model having a collection of individual models of sound sources is fit to sound data. The fitting is performed by selecting from the models in the collection based on correspondence of the sound data to respective models (block902). The selection of the models may be performed in a variety of different ways. For example, the selecting may be performed based on a penalty that encourages the correspondence and use of fewer of models in instances of strong correspondence between a subset of the models and the sound data as opposed to instances of weak correspondence between the subset of the models and the sound data. An example of such a penalty was described above as involving block sparsity but other examples are also contemplated as previously described.

The sound data is decomposed using the selected models of the universal audio model (block904). As before, a variety of different techniques may be employed to perform the decomposition, such as non-negative matrix factorization (NMF), latent component analysis, and so on.

Example System and Device

FIG. 10illustrates an example system generally at1000that includes an example computing device1002that is representative of one or more computing systems and/or devices that may implement the various techniques described herein. This is illustrated through inclusion of the sound processing module112, which may be configured to process sound data. The computing device1002may be, for example, a server of a service provider, a device associated with a client (e.g., a client device), an on-chip system, and/or any other suitable computing device or computing system.

Combinations of the foregoing may also be employed to implement various techniques described herein. Accordingly, software, hardware, or executable modules may be implemented as one or more instructions and/or logic embodied on some form of computer-readable storage media and/or by one or more hardware elements1010. The computing device1002may be configured to implement particular instructions and/or functions corresponding to the software and/or hardware modules. Accordingly, implementation of a module that is executable by the computing device1002as software may be achieved at least partially in hardware, e.g., through use of computer-readable storage media and/or hardware elements1010of the processing system1004. The instructions and/or functions may be executable/operable by one or more articles of manufacture (for example, one or more computing devices1002and/or processing systems1004) to implement techniques, modules, and examples described herein.

The techniques described herein may be supported by various configurations of the computing device1002and are not limited to the specific examples of the techniques described herein. This functionality may also be implemented all or in part through use of a distributed system, such as over a “cloud”1014via a platform1016as described below.

The cloud1014includes and/or is representative of a platform1016for resources1018. The platform1016abstracts underlying functionality of hardware (e.g., servers) and software resources of the cloud1014. The resources1018may include applications and/or data that can be utilized while computer processing is executed on servers that are remote from the computing device1002. Resources1018can also include services provided over the Internet and/or through a subscriber network, such as a cellular or Wi-Fi network.

The platform1016may abstract resources and functions to connect the computing device1002with other computing devices. The platform1016may also serve to abstract scaling of resources to provide a corresponding level of scale to encountered demand for the resources1018that are implemented via the platform1016. Accordingly, in an interconnected device embodiment, implementation of functionality described herein may be distributed throughout the system1000. For example, the functionality may be implemented in part on the computing device1002as well as via the platform1016that abstracts the functionality of the cloud1014.

CONCLUSION