Abstract:
Improved audio source separation is provided by providing an audio dictionary for each source to be separated. Thus the invention can be regarded as providing “partially blind” source separation as opposed to the more commonly considered “blind” source separation problem, where no prior information about the sources is given. The audio dictionaries are probabilistic source models, and can be derived from training data from the sources to be separated, or from similar sources. Thus a library of audio dictionaries can be developed to aid in source separation. An unmixing and deconvolutive transformation can be inferred by maximum likelihood (ML) given the received signals and the selected audio dictionaries as input to the ML calculation. Optionally, frequency-domain filtering of the separated signal estimates can be performed prior to reconstructing the time-domain separated signal estimates. Such filtering can be regarded as providing an “audio skin” for a recovered signal.

Description:
CROSS REFERENCE TO RELATED APPLICATIONS  
       [0001]     This application claims the benefit of U.S. provisional application 60/741,604, filed on Dec. 2, 2005, entitled “Audio Signal Separation in Data from Multiple Microphones”, and hereby incorporated by reference in its entirety. 
     
    
     FIELD OF THE INVENTION  
       [0002]     This invention relates to signal processing for audio source separation.  
       BACKGROUND  
       [0003]     In many situations, it is desirable to selectively listen to one of several audio sources that are interfering with each other. This source separation problem is often referred to as the “cocktail party problem”, since it can arise in that context for people having conversations in the presence of interfering talk. In signal processing, the source separation problem is often formulated as a problem of deriving an optimal estimate (e.g., a maximum likelihood estimate) of the original source signals given the received signals exhibiting interference. Multiple receivers are typically employed.  
         [0004]     Although the theoretical framework of maximum likelihood (ML) estimation is well known, direct application of ML estimation to the general audio source separation problem typically encounters insuperable computational difficulties. In particular, reverberations typical of acoustic environments result in convolutive mixing of the interfering audio signals, as opposed to the significantly simpler case of instantaneous mixing. Accordingly, much work in the art has focused on simplifying the mathematical ML model (e.g., by making various approximations and/or simplifications) in order to obtain a computationally tractable ML optimization. Although such an ML approach is typically not optimal when the relevant simplifying assumptions do not hold, the resulting practical performance may be sufficient. Accordingly, various simplified ML approaches have been investigated in the art.  
         [0005]     For example, instantaneous mixing is considered in articles by Cardoso (IEEE Signal Processing Letters, v4, pp 112-114, 1997), and by Bell and Sejnowski (Neural Computation, v7, pp 1129-1159, 1995). Instantaneous mixing is also considered by Attias (Neural Computation, v11, pp 803-851, 1999), in connection with a more general source model than in the Cardoso or Bell articles.  
         [0006]     A white (i.e., frequency independent) source model for convolutive mixing is considered by Lee et al. (Advances in Neural Information Processing Systems, v9, pp 758-764), and a filtered white source model for convolutive mixing is considered by Attias and Schreiner (Neural Computation, v10, pp 1373-1424, 1998). Convolutive mixing for more general source models is considered by Acero et al (Proc. Intl. Conf. on Spoken Language Processing, v4, pp 532-535, 2000), by Parra and Spence (IEEE Trans. on Speech and Audio Processing, v8, pp 320-327, 2000), and by Attias (Proc. IEEE Intl. Conf. on Acoustics, Speech and Signal Processing, 2003).  
         [0007]     Various other source separation techniques have also been proposed. In U.S. Pat. No. 5,208,786, source separation based on requiring a near-zero cross-correlation between reconstructed signals is considered. In U.S. Pat. Nos. 5,694,474, 6,023,514, 6,978,159, and 7,088,831, estimates of the relative propagation delay between each source and each detector are employed to aid source separation. Source separation via wavelet analysis is considered in U.S. Pat. No. 6,182,018. Analysis of the pitch of a source signal to aid source separation is considered in U.S. 2005/0195990.  
         [0008]     Conventional source separation approaches (both ML methods and non-ML methods) have not provided a complete solution to the source separation problem to date. Approaches which are computationally tractable tend to provide inadequate separation performance. Approaches which can provide good separation performance tend to be computationally intractable. Accordingly, it would be an advance in the art to provide audio source separation having an improved combination of separation performance and computational tractability.  
       SUMMARY  
       [0009]     Improved audio source separation according to principles of the invention is provided by providing an audio dictionary for each source to be separated. Thus the invention can be regarded as providing “partially blind” source separation as opposed to the more commonly considered “blind” source separation problem, where no prior information about the sources is given. The audio dictionaries are probabilistic source models, and can be derived from training data from the sources to be separated, or from similar sources. Thus a library of audio dictionaries can be developed to aid in source separation. An unmixing and deconvolutive transformation can be inferred by maximum likelihood (ML) given the received signals and the selected audio dictionaries as input to the ML calculation. Optionally, frequency-domain filtering of the separated signal estimates can be performed prior to reconstructing the time-domain separated signal estimates. Such filtering can be regarded as providing an “audio skin” for a recovered signal. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0010]      FIG. 1  shows an audio source separation system according to an embodiment of the invention.  
         [0011]      FIG. 2  shows an audio source separation method according to an embodiment of the invention.  
         [0012]      FIG. 3  is a flowchart for generating audio dictionaries for use in embodiments of the invention.  
         [0013]      FIG. 4  is a flowchart for performing audio source separation in accordance with an embodiment of the invention.  
         [0014]      FIG. 5  is a flowchart for performing sequential audio source separation in accordance with an embodiment of the invention. 
     
    
     DETAILED DESCRIPTION  
       [0015]     Part of this description is a detailed mathematical development of an embodiment of the invention, referred to as “Audiosieve”. Accordingly, certain aspects of the invention will be described first, making reference to the following detailed example as needed.  
         [0016]      FIG. 1  shows an audio source separation system according to an embodiment of the invention. Multiple audio sources (sources  104 ,  106 , and  108 ) and multiple audio detectors (detectors  110 ,  112 , and  114 ) are disposed in a common acoustic environment  102 . Each detector provides a sensor signal which is a convolutive mixture of the source signals emitted from the sources. Although the example of  FIG. 1  shows three sources and three detectors, the invention can be practiced with L sources and L detectors, where L is greater than one.  
         [0017]     The sensor signals from detectors  110 ,  112  and  114  are received by a processor  120 , which provides separated signal estimates  122 . Processor  120  can be any combination of hardware and/or software for performing the source separation method of  FIG. 2 .  
         [0018]      FIG. 2  shows an audio source separation method according to an embodiment of the invention. Step  202  is receiving L sensor signals y i , where each sensor signal is a convolutive mixture of the L source signals x i . Step  220  of providing the library of D≧L audio dictionaries is described in greater detail below, since the dictionary library is an input to the source separation algorithm of  FIG. 2 . Each audio dictionary is a probabilistic source model that is a sum of one or more source model components, each source model component having a prior probability and a component probability distribution having one or more frequency components. In the following detailed example, Eqs. 6-8 show the source model, where π is  are the prior probabilities, and the probability distributions are products of single-variable normal distributions. In this example, an audio dictionary is a set of parameters θ i  as in Eq. 8.  
         [0019]     Typically, the component probability distributions of the audio dictionary are taken to be products of single variable probability distributions, each having the same functional form (i.e., the frequency components are assumed to be statistically independent). Although the invention can be practiced with any functional form for the single variable probability distributions, preferred functional forms include Gaussian distributions, and non-Gaussian distributions constructed from Gaussian distributions conditioned on appropriate hidden variables with arbitrary distributions. For example, the precision (inverse variance) of a Gaussian distribution can be modeled as a random variable having a lognormal distribution.  
         [0020]     Step  204  is selecting L audio dictionaries from the predetermined library of D≧L audio dictionaries, one dictionary for each source. Selection of the audio dictionaries can be manual or automatic. For example, if it is desired to separate a spoken speech signal from a musical instrument signal, an audio dictionary for spoken speech and an audio dictionary for a musical instrument can be manually selected by the user. Audio dictionary libraries can be constructed to have varying levels of detail. Continuing the preceding example, the library could have only one spoken speech dictionary (e.g., a typical speaker), or it could have several (e.g., speaker is male/female, adult/child, etc.). Similarly, the library could have several musical instrument dictionaries (e.g., corresponding to various types of instrument, such as violin, piano, etc.). An audio dictionary can be constructed for a set of different human speakers, in which case the source model corresponding to that dictionary would be trained on sound data from all speakers in the set. Similarly, a single audio dictionary can be for a set of different musical instruments. Automatic selection of audio dictionaries can be performed by maximizing the likelihood of the received signals with respect to all dictionary selections. Hence the dictionaries serve as modules to plug into the source separation method. Selecting dictionaries matched to the sounds that occur in a given scenario can improve separation performance.  
         [0021]     Step  206  is inferring an unmixing and deconvolutive transformation G from the L sensor signals and the L selected audio dictionaries by maximizing a likelihood of observing the L sensor signals. This ML algorithm is an EM (expectation maximization) method, where E steps and M steps are alternatingly performed until convergence is reached.  FIG. 4  is a flowchart of this method, and Eqs. 18-29 of the detailed example relate to inferring G. For the special case L=2, the M-step can be performed analytically, as described in Eqs. 30-35 of the example.  
         [0022]     Step  208  is recovering one or more frequency domain source signal estimates X i  by applying G to the received sensor signals. Since G is a linear transformation, standard signal processing methods are applicable for this step.  
         [0023]     Optional step  210  is filtering the recovered source signal estimate(s) in the frequency domain. Such filtering can be regarded as providing an “audio skin” to suit the user&#39;s preference. Such audio skins can be selected from a predetermined library of audio skins. Eq. 36 of the detailed example relates to audio skins.  
         [0024]     Step  212  is obtaining time-domain source signal estimate x i  from the frequency domain estimates X i . Standard signal processing methods (e.g., FFT) are applicable for this step.  
         [0025]     Step  220  of providing the library of audio dictionaries is based on the use of training data from sources similar (or the same) as the sources to be separated.  FIG. 3  is a flowchart of a method for deriving an audio dictionary from training data. Eqs. 9-17 of the detailed example relate in more detail to this method, which is also an expectation maximization ML algorithm. Training data is received from an audio source. The prior probabilities and parameters (e.g., precisions) of the probability distributions are selected to maximize a likelihood of observing the training data. By following the algorithm of  FIG. 3  for various sources separately, a library of audio dictionaries can be built up, from which specific dictionaries can be selected that are appropriate for the source separation problem at hand.  
         [0026]     Source separation according to the invention can be performed as a batch mode calculation based on processing the entire duration of the received sensor signals. Alternatively, inferring the unmixing G can be performed as a sequential calculation based on incrementally processing the sensor signals as they are received (e.g., in batches of less than the total signal duration).  FIG. 5  is a flowchart for a sequential separation method. Sequential separation is considered in connection with Eq. 37 of the detailed example.  
         [0000]     Problem Formulation  
         [0027]     This example focuses on the scenario where the number of sources of interest equals the number of sensors, and the background noise is vanishingly small. This condition is known by the technical term ‘square, zero-noise convolutive mixing’. Whereas Audiosieve may produce satisfactory results under other conditions, its performance would in general be suboptimal.  
         [0028]     Let L denote the number of sensors, and let Y in  denote the signal waveform captured by sensor i at time n=0, 1, 2, . . . , where i=1: L. Let x in  denote the signal emitted by source i at time n. Then Y in =Σ jm H ijm x jn-m . The filters H ijm  model the convolutive mixing transformation.  
         [0029]     To achieve selective signal cancellation, Audiosieve must infer the individual source signals x in , which are unobserved, from the sensor signals. Those signals can play in the output channel of Audiosieve. By choosing a particular channel, a user can then select the signals they choose to ignore, and hear only the signal they want to focus on. For this purpose we seek an unmixing transformation G ijm  such that x in =Σ jm G ijm Y jn-m , or in vector notation  
                 x   n     =       ∑   m     ⁢       G   m     ⁢     y     n   -   m             ,           (   1   )             
 
 where x n , Y n  are L×1 vectors and G m  is a L×L matrix. 
 
 Frames 
 
         [0030]     Rather than working with signal waveforms in the time domain as in (1), it turns out to be more computationally efficient, as well as mathematically convenient, to work with signal frames in the frequency domain. Frames are obtained by applying windowed DFT to the waveform.  
         [0031]     Let X im [k] denote the frames of source i. They are computed by multiplying the waveform x in  by an N-point window w n  at J-point shifts,  
                   X   im     ⁡     [   k   ]       =       ∑     n   =   0       N   -   1       ⁢       ⅇ       -   ⅈ     ⁢           ⁢     ω   k     ⁢   n       ⁢     w   n     ⁢     x     i   ,     Jm   +   n               ,           (   2   )             
 
 where m=0 : M−1 is the frame index and k=0 : N−1 is the frequency index. The number of frames M is determined by the waveform&#39;s length and the window shift. The sensor frames Y im [k] are computed from y in , in the same manner. 
 
         [0032]     In the frequency domain, the task is to infer from sensor data an unmixing transformation G ij [k] for each frequency k, such that X im [k]=Σ j G ij [k]Y jm [k]. In vector notation we have 
 
 X   m   [k]=G[k]Y   m   [k],   (3) 
 
 where X m [k], Y m [k] are complex L×1 vectors and G[k] is a complex L×L matrix. Once Audiosieve infers the source frames from the sensor frames via (3), their time domain wave-forms x n  can be synthesized by an overlap-and-add procedure, as long as J is smaller than the effective window size (i.e., the non-zero w n s). 
 
 Some Notation 
 
         [0033]     We often use a collective notation obtained by dropping the frequency index k from the frames. X im  denotes the set of X im [k] values at all frequencies, and X m  denotes the set of L×1 vectors X m [k] at all frequencies.  
         [0034]     We define a Gaussian distribution with mean μ and precision ν (defined as the inverse variance) over a real variable z by  
               N   ⁡     (       z   ⁢     ❘     ⁢   μ     ,   v     )       =         v     2   ⁢           ⁢   π         ⁢       ⅇ       -     v   2       ⁢       (     z   -   μ     )     2         .               (   4   )             
 
         [0035]     We also define a Gaussian distribution with parameters i, v over a complex variable Z by  
                 N   ⁡     (       Z   ⁢     ❘     ⁢   μ     ,   v     )       =       v   π     ⁢     ⅇ       -   v     ⁢            Z   -   μ          2             ,           (   5   )             
 
 where μ is complex and ν is real and positive. Two moments are EZ=μ and E|Z | 2 =1/ν, hence μ is termed the mean of Z and ν is termed the precision. This is a joint distribution over the real and imaginary parts of Z. Notice that this is not the most general complex Gaussian distribution, since the real and imaginary parts are uncorrelated and have the same precision. 
 
 Audio Dictionary 
 
         [0036]     Audiosieve employs parametric probabilistic models for different types of source signals. The parameter set of the model of a particular source is termed an audio dictionary. This section describes the source model, and presents an algorithm for inferring the audio dictionary for a source from clean sound samples of that source.  
         [0000]     Source Signal Model  
         [0037]     Audiosieve describes a source signal by a probabilistic mixture model over its frames. The model for source i has S i  components,  
               p   ⁡     (     X   im     )       =       ∑     s   =   1       S   i       ⁢       p   ⁡     (         X   im     ⁢     ❘     ⁢     S   im       =   s     )       ⁢       p   ⁡     (       S   im     =   s     )       .                 (   6   )             
 
         [0038]     Here we assume that the frames are mutually independent, hence p(X i,m=0:M−1 )=Π m p(X im ). It is straightforward to relax this assumption and use, e.g., a hidden Markov model.  
         [0039]     We model each component by a zero-mean Gaussian factorized over frequencies, where component s has precision ν is [k] at frequency k, and prior probability π is ,  
                     p   ⁡     (         X   im     ⁢     ❘     ⁢     S   im       =   s     )       =       ⁢       ∏     k   =   0       N   /   2       ⁢     N   ⁡     (           X   im     ⁡     [   k   ]       ⁢     ❘     ⁢   0     ,       v   is     ⁡     [   k   ]         )                       p   ⁡     (       S   im     =   s     )       =       ⁢       π   is     .                   (   7   )             
 
 It is sufficient to consider k=0 : N/2 since X im [N−k]=X im [k]*. Notice that the precisions ν is [k] form the inverse spectrum of component s, since the spectrum is the second moment Ε(|X im [k]| 2 |S im =s)=1/ν is [k], and the first moment vanishes. 
 
         [0040]     The inverse-spectra and prior probabilities, collectively denoted by 
 
θ i ={ν is [k],π is |s=1:S i ,k=0:N/2},  (8) 
 
 constitute the audio dictionary of source i. 
 
 An Algorithm for Inferring a Dictionary from Data 
 
         [0041]     This section describes a maximum likelihood (ML) algorithm for inferring the model parameters θ i  for source i from sample data X im . A flowchart describing the algorithm is displayed in  FIG. 3 .  
         [0042]     Generally, ML infers parameter values by maximizing the observed data likelihood            i =Σ m  log p(X im ) w.r.t. the parameters. In our case, however, we have a hidden variable model, since not just the parameters θ i  but also the source states S im  are not observed. Hence, in addition to the parameters, the states must also be inferred from the signal frames.  
         [0043]     EM is an iterative algorithm for ML in hidden variable models. To derive it we consider the objective function  
                 F   i     ⁡     (         π   _     i     ,     θ   i       )       =       ∑     m   =   0       M   -   1       ⁢       ∑     s   =   1     S     ⁢         π   _     ism     ⁡     [       log   ⁢           ⁢     p   ⁡     (       X   im     ,       S   im     =   s       )         -     log   ⁢           ⁢       π   _     ism         ]                   (   9   )             
 
 which depends on the parameters θ i , as well as on  π   i  which denotes collectively the posterior distribution over the states of source i, 
 
  π   i ={  π   ism |s=1:S i ,m=0:M−1}  (10) 
 
  π   ism  is the probability that source i is in state S im =s at time m, conditioned on the frame X im . Each EM iteration maximizes F i  alternately w.r.t. to the parameters and the posteriors, using an E-step and an M-step. 
 
         [0044]     The E-step maximizes F i  w.r.t. to the state posteriors by the update rule  
                   π   _     ism     =       p   ⁡     (       S   im     =     s   ⁢     ❘     ⁢     X   im         )       =       p   ⁡     (       X   im     ,       S   im     =   s       )           ∑       s   ′     =     1   ⁢     :     ⁢   S         ⁢     p   ⁡     (       X   im     ,       S   im     =     s   ′         )               ,           (   11   )             
 
 keeping constant the current values of the parameters (note that the r.h.s. depends on θ i ). 
 
         [0045]     The M-step maximizes F i  w.r.t. the model parameters by the update rule  
                         v   is     ⁡     [   k   ]         -   1       =       ⁢         ∑     m   =   0       M   -   1       ⁢         π   _     ism     ⁢              X   im     ⁡     [   k   ]            2             ∑     m   =   0       M   -   1       ⁢       π   _     ism                         π   is     =       ⁢       1   M     ⁢       ∑     m   =   0       M   -   1       ⁢       π   _     ism           ,                 (   12   )             
 
 keeping constant the current values of the posteriors. Eqs. (11, 12) define the dictionary inference algorithm. 
 
         [0046]     To prove the convergence of this procedure, we use the fact that F i  is upper bounded by the likelihood,  
                       F   i     ⁡     (         π   _     i     ,     θ   i       )       ≤       L   i     ⁡     (     θ   i     )         =       ∑     m   =   0       M   -   1       ⁢     log   ⁢           ⁢     p   ⁡     (     X   im     )             ,     ⁢                   (   13   )             
 
 where equality is obtained when  π   i  is set according to (11), with the posterior being computed using θ i . One may use F i  as a convergence criterion, and stop the EM iteration when the change in F i  is below than a pre-determined threshold. One may also define a convergence criterion using the change in the dictionary parameters in addition to, or instead of, the change in F i . 
 
         [0047]     In typical selective signal cancellation scenarios, Audiosieve uses a DFT length N between a few 100s and a few 1000s, depending on the sampling rate and the mixing complexity. A direct application of the algorithm above would thus be attempting to perform maximization in a parameter space θ i  of a very high dimension. This could lead to finding a local maximum rather than the global one, and also to overfitting when the data length M is not sufficiently large. Both would result in inferring suboptimal audio dictionaries θ i , which may degrade Audiosieve&#39;s performance.  
         [0048]     One way to improve optimization performance is to constrain the algorithm to a low dimensional manifold of the parameter space. We define this manifold using the cepstrum. The cepstrum ξ is [n], n=0 : N−1 is the DFT of the log-spectrum, given by  
                 ξ   is     ⁡     [   n   ]       =     -       ∑     k   =   0       N   -   1       ⁢       ⅇ       -   ⅈ     ⁢           ⁢     ω   n     ⁢   k       ⁢   log   ⁢           ⁢       υ   is     ⁡     [   k   ]                     (   14   )             
 
 where the DFT is taken w.r.t. k. Notice that ξ is [n] is real, since ν is [k]=ν is [N−k], and it satisfies the symmetry ξ is [n]=ξ is [N−n]. 
 
         [0049]     The idea is to consider  
           log   ⁢           ⁢       υ   is     ⁡     [   k   ]         =       -     (     1   /   N     )       ⁢       ∑   n     ⁢       exp   ⁡     (       ⅈω   n     ⁢   k     )       ⁢       ξ   i     ⁡     [   n   ]               ,       
 
 and keep only the low cepstrum, i.e., choose N′ and set ξ is [n]=0 for n=N′: N/2. Then define the smoothed spectrum by  
                   υ   ~     is     ⁡     [   k   ]       =       exp   ⁡     [       -     1   N       ⁢     (         ξ   is     ⁡     [   0   ]       +     2   ⁢       ∑     n   =   0         N   ′     -   1       ⁢       cos   ⁡     (       ω   n     ⁢   k     )       ⁢       ξ   is     ⁡     [   n   ]               )       ]       .             (   15   )             
 
         [0050]     Next, we modify the dictionary inference algorithm by inserting (14,15) following the M-step of each EM iteration, i.e., replacing ν is [k] computed by (12) with its smoothed version  ν   is [k].  
         [0051]     Beyond defining a low dimensional manifold, a suitably chosen N′ can also remove the pitch from the spectrum. For speech signals this produces a speaker independent dictionary, which can be quite useful in some situations.  
         [0052]     Note that this procedure is an approximation to maximizing F directly w.r.t. the cepstra. To implement exact maximization, one should replace the ν is [k] update of (12) by the gradient update rule with a DFT form  
                   ξ   is     ⁡     [   n   ]       →         ξ   is     ⁡     [   n   ]       +     ɛ   ⁢       ∑     k   =   0     N     ⁢       ⅇ       -     ⅈω   n       ⁢   k       ⁡     (             υ   ~     is     ⁡     [   k   ]           υ   is     ⁡     [   k   ]         -   1     )               ,           ⁢     n   =       0   ⁢     :     ⁢     N   ′       -   1       ,           (   16   )             
 
 where ν is [k] is given by (12), and ε is a suitably chosen adaptation rate. However, the approximation is quite accurate in practice and is faster than using the gradient rule. It is possible to employ a combination of both: first, run the algorithm using the approximate M-step, then switch to the exact M-step to finalize the dictionary. 
 
         [0053]     The initial values for the parameters θ i , required to start the EM iteration, are obtained by performing vector quantization (VQ) on the low cepstra of the data  
                   ξ   i     ⁡     [   n   ]       =       ∑     k   =   0       N   -   1       ⁢       ⅇ       -     ⅈω   n       ⁢   k       ⁢   log   ⁢              X   im     ⁡     [   k   ]            2           ,           ⁢     n   =       0   ⁢     :     ⁢   N     -   1.               (   17   )             
 
 Then ξ is [n] is set to the mean of the sth VQ cluster and π is  to the relative number of data points it contains. One may also use clustering algorithms other than VQ for initialization. 
 
         [0054]      FIG. 3  shows a summary of the algorithm for inferring an audio dictionary from a source&#39;s sound data. It begins by initializing the low cepstrals ξ i [n] (17) and state probabilities π is  by running VQ on the data, then computes the initial values of the precisions ν is [k] using (15). Next comes the EM iteration, where the Estep updates the state posteriors  π   ism  using (11), and the M-step updates the dictionary parameters θ i  using (12), then performs smoothing by replacing ν is [k]→  ν   is [k] according to (15). The iteration terminates when a convergence criterion is satisfied. The algorithm then stores the dictionary parameters it has inferred in the library of audio dictionaries.  
         [0000]     Sieve Inference Engine  
         [0055]     This section presents an EM algorithm for inferring the unmixing transformation G[k] from sensor frames Y m [k]. It assumes that audio dictionaries θ i  for all sources i=1 : L are given. A flowchart describing the algorithm is displayed in  FIG. 4 .  
         [0000]     Sensor Signal Model  
         [0056]     Since the source frames and the sensor frames are related by (3), we have  
                 p   ⁡     (     Y   m     )       =       ∏     k   =   0       N   /   2       ⁢              G   ⁡     [   k   ]            2     ⁢     p   ⁡     (     X   m     )             ,           (   18   )             
 
 except for k=0, N/2 where, since X m [k], Y m [k] are real, we must use | G[k] | instead of its square. Next, we assume the sources are mutually independent, hence  
               p   ⁡     (     X   m     )       =       ∑     i   =   1     L     ⁢     p   ⁡     (     X   im     )                 (   19   )             
 
 where p(X im ) is given by (6,7). The sensor likelihood is therefore given by  
               L   ⁡     (   G   )       =         ∑     m   =   0       M   -   1       ⁢     log   ⁢           ⁢     p   ⁡     (     Y   m     )           =       M   ⁢       ∑     k   =   0       N   /   2       ⁢     log   ⁢            G   ⁡     [   k   ]            2           +       ∑     m   =   0       M   -   1       ⁢       ∑     i   =   1     L     ⁢     log   ⁢           ⁢     p   ⁡     (     X   im     )                         (   20   )             
 
 where X m [k]=G[k]Y m [k]. Inferring the unmixing transformation is done by maximizing this likelihood w.r.t. G. 
 
 An Algorithm for Inferring the Unmixing Transformation from Data 
 
         [0057]     Like the source signals, the sensor signals are also described by a hidden variable model, since the states S im  are unobserved. Hence, to infer G we must use an EM algorithm. To derive it we consider the objective function  
               F   ⁡     (         π   ~       1   ⁢     :     ⁢   L       ,   G     )       =       M   ⁢       ∑     k   =   0       N   /   2       ⁢     log   ⁢            G   ⁡     [   k   ]            2           +       ∑     i   =   1     L     ⁢       F   i     ⁡     (         π   ~     i     ,     θ   i     ,   G     )                   (   21   )             
 
 where F i  is given by (9); we have added G as an argument since F i  depends on G via X i . Each EM iteration maximizes F alternately w.r.t. the unmixing G and the posteriors  π   i , where π ism  is the probability that source i is in state S im =at time m, as before, except now this probability is conditioned on the sensor frame Y m . The dictionaries θ 1:L  are held fixed. The E-step maximizes F w.r.t. the state posteriors by the update rule  
                   π   ~     ism     =       p   ⁡     (       S   im     =     s   |     X   im         )       =       p   ⁡     (       X   im     ,       S   im     =   s       )           ∑       s   ′     =     1   ⁢     :     ⁢   S         ⁢     p   ⁡     (       X   im     ,       S   im     =     s   ′         )               ,           (   22   )             
 
 keeping constant the current values of G. Note that this rule is formally identical to (22), except now the X im  are given by X m [k]=G[k]Y m [k]. 
 
         [0058]     The M-step maximizes F w.r.t. the unmixing transformation G. Before presenting the update rule, we rewrite F as follows. Let C i [k] denote the ith weighted correlation of the sensor frames at frequency k. It is a Hermitian L×L matrix defined by  
                 C     jj   ′     i     ⁡     [   k   ]       =       1   M     ⁢       ∑     m   =   0       M   -   1       ⁢           υ   ~     im     ⁡     [   k   ]       ⁢       Y   jm     ⁡     [   k   ]       ⁢       Y       j     ′   ⁢               ⁢   m     *     ⁡     [   k   ]                     (   23   )             
 
 where the weight for C i  is given by the precisions of source i&#39;s states, averaged w.r.t. their posterior,  
                   υ   ~     im     ⁡     [   k   ]       =       ∑     s   =   1       S   i       ⁢         π   ~     ism     ⁢         υ   is     ⁡     [   k   ]       .                 (   24   )             
 
 F of (21) is now given by  
               F   ⁡     (         π   ~         1   :   L     ,       ⁢   G     )       =       M   ⁢           ⁢   log   ⁢            G   ⁡     [   k   ]            2       -     M   ⁢       ∑     i   =   1     L     ⁢       (       G   ⁡     [   k   ]       ⁢       C   i     ⁡     [   k   ]       ⁢       G   ⁡     [   k   ]       †       )     ii         +   f             (   25   )             
 
 where f is the G-independent part of F,  
             f   =       ∑     m   =   0       M   -   1       ⁢       ∑     i   =   1     L     ⁢       ∑     s   =   1       S   i       ⁢           π   ~     ism     ⁡     [         ∑     k   =   0       N   /   2       ⁢     log   ⁢           ⁢         υ   is     ⁡     [   k   ]       π         +     log   ⁢           ⁢     π   is       -     log   ⁢           ⁢       π   ~     ism         ]       .                   (   26   )             
 
         [0059]     The form (25) shows that G[k] is identifiable only within a phase factor, since the transformation G[k]→exp(iφ k )G[k] leaves F unchanged. Hence, F is maximized by a one-dimensional manifold rather than a single point.  
         [0060]     Finding this manifold can generally be done efficiently by an iterative method, based on the concept of the relative (a.k.a. natural) gradient. Consider the ordinary gradient  
                 ∂   F       ∂       G   ij     ⁡     [   k   ]           =     2   ⁢         (         G   ⁡     [   k   ]         †   -   1       -       G   ⁡     [   k   ]       ⁢       C   i     ⁡     [   k   ]           )     ij     .               (   27   )             
 
         [0061]     To maximize F, we increment G[k] by an amount proportional to (∂F/∂G[k])G[k] † G[k]. Using (27) we obtain 
 
G ij [k]→G ij [k]+ε(G[k]−G[k]C i [k]G[k] † G[k]) ij   (28) 
 
 where ε is the adaptation rate. Convergence is achieved when F no longer increases. Standard numerical methods for adapting the step size (i.e., ε) can be applied to accelerate convergence. 
 
         [0062]     Hence, the result of the M-step is the unmixing transformation G obtained by iterating (28) to convergence. Alternatively, one may stop short of convergence and move on to the E-step of the next iteration, as this would still result in increasing F.  
         [0063]     Initial values for the unmixing G[k], required to start the EM iteration, are obtained by considering F of (25) and replacing the matrices C i  by the unweighted sensor correlation matrix  
               C   ⁡     [   k   ]       =       1   M     ⁢       ∑     m   =   0       M   -   1       ⁢         Y   m     ⁡     [   k   ]       ⁢           Y   m     ⁡     [   k   ]       †     .                   (   29   )             
 
 We then set G[k]=D[k] −1/2 P[k] † , where P[k], D[k] are the eigenvectors and eigenvalues, respectively, of C[k], obtained, e.g., by singular value decomposition (SVD). It is easy to show that this value maximizes the resulting F. 
 
 M-Step for Two Sensors 
 
         [0064]     The special case of L=2 sensors is by far the most common one in practical applications. Incidentally, in this case there exists an M-step solution for G which is even more efficient than the iterative procedure of (28). This is because the M-step maximization of F (25) for L=2 can be performed analytically. This section describes the solution.  
         [0065]     At a maximum of F the gradient (27) vanishes, hence the G we seek satisfies (G[k]C i [k]G[k] † ) ij =δ ij .  
         [0066]     Let us write the matrix G[k] as a product of a diagonal matrix U[k] and a matrix V[k] with ones on its diagonal,  
                     G   ⁡     [   k   ]       =       U   ⁡     [   k   ]       ⁢     V   ⁡     [   k   ]                         U   ⁡     [   k   ]       =     (             u   1     ⁡     [   k   ]           0           0           u   2     ⁡     [   k   ]             )       ,                 V   ⁡     [   k   ]       =       (         1         υ     1   ⁢           [   k   ]                   υ   2     ⁡     [   k   ]           1         )     .                   (   30   )             
 
 With these definitions, the zero gradient condition leads to the equations 
 
( V[k]C   i   [k]V[k]   † ) i≠j =0 
 
| u   i   [k]|   2 ( V[k]C   i   [k]V[k]   † ) ii =1.  (31) 
 
         [0067]     We now turn to the case L=2, where all matrices are 2×2. The first line in (31) then implies that v 1  depends linearly on v 2  and v 2  satisfies the quadratic equation av 2   2 +bv 2 +c=0. Hence, we obtain  
                     υ   1     =         (       a   ⁢           ⁢     υ   2       +   d     )     *     c                     υ   2     =         -   b     ±         b   2     -     4   ⁢   a   ⁢           ⁢   c             2   ⁢   a         ,                 (   32   )             
 
 where the frequency dependence is omitted. The second line in (31) identifies the u i  within a phase, reflecting the identifiability properties of G. Constraining them to be real nonnegative, we obtain 
 
 u   1 =(α 1 +2 Reβ   1   *   v   1 +γ 1   |v   1 | 2 ) −1/2  
 
 u   2 =(γ 2 +2 Re,β   2   v   2 +α 2   |v   2 | 2 ) −1/2 .  (33) 
 
         [0068]     The quantities α i [k],β i [k],γ i [k] denote the elements of the weighted correlation matrices (23) for each frequency k,  
                   C   i     ⁡     [   k   ]       =     (             α   i     ⁡     [   k   ]               β   i     ⁡     [   k   ]                   β   i   *     ⁡     [   k   ]               γ   i     ⁡     [   k   ]             )       ,           ⁢     i   =   1     ,   2           (   34   )             
 
 where αhd i[k],γ i ([k] are real nonnegative and β i [k] is complex. The coefficients a[k], b[k], c[k], d[k] are given by 
 
 a=α   1 β 2 −α 2 β 1  
 
 b=α   1 γ 2 −α 2 γ 1   +d  
 
 c=β   1   * γ 2 −β 2   * γ 1  
 
 d= 2iImβ 1   * β 2 .  (35) 
 
         [0069]     Hence, the result of the M-step for the case L=2 is the unmixing transformation G of (30), obtained using Eqs. (23,24,32-35).  
         [0070]      FIG. 4  shows a summary of the algorithm for inferring the sieve parameters from sensor data and producing Audiosieve&#39;s output channels. It begins by initializing G[k] using SVD as described around Eq. (29). Next comes the EM iteration, where the E-step updates the state posteriors  π   ism  for each source using (22), and the M-step updates the sieve parameters G[k] using Eq. (28) if L&gt;2 and using Eqs. (30,32-35) if L=2. The iteration terminates when a convergence criterion is satisfied. The algorithm then applies the sieve to the sensor data using (3) and produces the output channels.  
         [0000]     Audio Skins  
         [0071]     There is often a need to modify the mean spectrum of a sound playing in an Audiosieve output channel into a desired form. Such a desired spectrum is termed skin. Assume we have a directory of skins obtained, e.g., from the spectra of signals of interest. Let Ψ i [k] denote a desired skin from that directory, which the user wishes to apply to channel i. To achieve this, we transform the frames of source i by  
                 X   im     ⁡     [   k   ]       =     →         (         ψ   i     ⁡     [   k   ]           ∑       m   ′     =   0       M   -   1       ⁢            X     im   ′            2         )       1   /   2       ⁢         X   im     ⁡     [   k   ]       .                 (   36   )             
 
         [0072]     This transformation is applied after inferring the frames X im  and before synthesizing the audible waveform x in .  
         [0000]     Extensions  
         [0073]     The framework for selective signal cancellation described in this example can be extended in several ways. First, the audio dictionary presented here is based on modeling the source signals by a mixture distribution with Gaussian components. This model also assumes that different frames are statistically independent. One can generalize this model in many ways, including the use of non-Gaussian component distributions and the incorporation of temporal correlations among frames. One can also group the frequencies into multiple bands, and use a separate mixture model within each band. Such extensions could result in a more accurate source model and, in turn, enhance Audiosieve&#39;s performance.  
         [0074]     Second, this example presents an algorithm for inferring the audio dictionary of a particular sound using clean data samples of that sound. This must be done prior to applying Audiosieve to a particular selective signal cancellation task. However, that algorithm can be extended to infer audio dictionaries from the sensor data, which contain overlapping sounds from different sources. The resulting algorithm would then become part of the sieve inference engine. Hence, Audiosieve would be performing dictionary inference and selective signal cancellation in an integrated manner.  
         [0075]     Third, the example presented here requires the user to select the audio dictionaries to be used by the sieve inference engine. In fact, Audiosieve can be extended to make this selection automatically. This can be done as follows. Given the sensor data, compute the posterior probability for each dictionary stored in the library, i.e., the probability that the data has been generated by sources modeled by that dictionary. The dictionaries with the highest posterior would then be automatically selected.  
         [0076]     Fourth, as discussed above, the sieve inference engine presented in this example assumed that the number of sources equals the number of sensors and that the background noise vanishes, and would perform suboptimally under conditions that do not match those assumptions. It is possible, however, to extend the algorithm to perform optimally under general conditions, where both assumptions do not hold. The extended algorithm would be somewhat more expensive computationally, but would certainly be practical.  
         [0077]     Fifth, the sieve inference algorithm described in this example performs batch processing, meaning that it waits until all sensor data are captured, and then processes the whole batch of data. The algorithm can be extended to perform sequential processing, where data are processed in small batches as they arrive. Let t index the batch of data, and let Y m   t [k] denote frame m of batch t. We then replace the weighted sensor correlation matrix C i [k] (23) by a sequential version, denoted by C it [k]. The sequential correlation matrix is defined recursively as a sum of its value at the previous batch C i,t−1 [k], and the matrix computed from the current batch Y t   m [k],  
                 C     jj   ′     it     ⁡     [   k   ]       =       η   ⁢           ⁢     1   M     ⁢       ∑     m   =   0       M   -   1       ⁢           υ   _     im   t     ⁡     [   k   ]       ⁢       Y   jm   t     ⁡     [   k   ]       ⁢       Y       j   ′     ⁢   m       t   *       ⁡     [   k   ]             +       η   ′     ⁢       C     jj   ′       i   ,     t   -   1         ⁡     [   k   ]                   (   37   )             
 
 where η, η′ defined the relative weight of each term and are fixed by the user; typical values are η=η′=0.5. We replace C i [k]→C it [k] in Eqs. (28,34). 
 
         [0078]      FIG. 5  shows the resulting sieve inference algorithm, which proceeds as follows. It begins by initializing G[k] using SVD as described around Eq. (29), using an appropriate number of the first batches of sensor data. Next, for each new batch t of data we perform an EM iteration, where the E-step updates the state posteriors  π   ism  for each source using (22), and the M-step updates the sieve parameters G[k] using Eq. (28) if L&gt;2 and using Eqs. (30,32-35) if L=2. In either case, the M-step is modified to use C it  rather than C i  as discussed above. The updated sieve is applied to the current data batch to produced the corresponding batch of output signals, X m   t [k]=G[k]Y m   t [k], which are sent to Audiosieve&#39;s output channels. The algorithm terminates after the last batch of data has arrived and been processed.  
         [0079]     Sequential processing is more flexible and requires less memory and computing power. Moreover, it can handle more effectively dynamic cases, such as moving sound sources, by tracking the mixing as it changes and adapt the sieve appropriately. The current implementation of Audiosieve is in fact sequential.