# Patent

## Title
Multi-microphone audio source separation based on combined statistical angle distributions

## Abstract

Systems, methods, and computer media for separating audio sources in a multi-microphone system are provided. A plurality of audio sample groups can be received. Each audio sample group comprises at least two samples of audio information captured by different microphones during a sample group time interval. For each audio sample group, an estimated angle between an audio source and the multi-microphone system can be estimated based on a phase difference of the samples in the group. The estimated angle can be modeled as a combined statistical distribution that is a mixture of a target audio signal statistical distribution and a noise component statistical distribution. The combined statistical distribution can be analyzed to provide an accurate characterization of each sample group as either target audio signal or noise. The target audio signal can then be resynthesized from samples identified as part of the target audio signal.

## Background
FIELD
The present application relates generally to audio source separation and speech recognition.
BACKGROUND
Speech recognition systems have become widespread with the proliferation of mobile devices having advanced audio and video recording capabilities. Speech recognition techniques have improved significantly in recent years as a result. Advanced speech recognition systems can now achieve high accuracy in clean environments. Even advanced speech recognition systems, however, suffer from serious performance degradation in noisy environments. Such noisy environments often include a variety of speakers and background noises. Mobile devices and other consumer devices are often used in these environments. Separating target audio signals, such as speech from a particular speaker, from noise thus remains an issue for speech recognition systems that are typically used in difficult acoustical environments.
Many algorithms have been developed to address these problems and can successfully reduce the impact of stationary noise. Nevertheless, improvement in non-stationary noise remains elusive. In recent years, researchers have explored an approach to separating target audio signals from noise in multi-microphone systems based on an analysis of differences in arrival time at different microphones. Such research has involved attempts to mimic the human binaural system, which is remarkable in its ability to separate speech from interfering sources. Models and algorithms have been developed using interaural time differences (ITDs), interaural intensity difference (IIDs), interaural phase differences (IPDs), and other cues. Existing source-separation algorithms and models, however, are still lacking in non-stationary noise reduction.
SUMMARY
Embodiments described herein relate to separating audio sources in a multi-microphone system. Using the systems, methods, and computer media described herein, a target audio signal can be distinguished from noise. A plurality of audio sample groups can be received. Audio sample groups comprise at least two samples of audio information captured by different microphones during a sample group time interval. Audio sample groups can then be analyzed to determine whether the audio sample group is part of a target audio signal or a noise component.
For a plurality of audio sample groups, an angle between a first reference line extending from an audio source to the multi-microphone system and a second reference line extending through the multi-microphone system can be estimated. The estimated angle is based on a phase difference between the at least two samples in the audio sample group. The estimated angle can be modeled as a combined statistical distribution, the combined statistical distribution being a mixture of a target audio signal statistical distribution and a noise component statistical distribution. Whether the audio sample group is part of a target audio signal or a noise component can be determined based at least in part on the combined statistical distribution.
In one embodiment, the target audio signal statistical distribution and the noise component statistical distribution are von Mises distributions. In another embodiment, the determination of whether the audio sample pair is part of the target audio signal or the noise component comprises performing statistical analysis on the combined statistical distribution. The statistical analysis may include hypothesis testing such as maximum a posteriori (MAP) hypothesis testing or maximum likelihood testing. In still another embodiment, a target audio signal can be resynthesized from audio sample pairs determined to be part of a target audio signal.
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 to limit the scope of the claimed subject matter.
The foregoing and other objects, features, and advantages of the claimed subject matter will become more apparent from the following detailed description, which proceeds with reference to the accompanying figures.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram of an exemplary speech recognition system.
FIG. 2 is a block diagram illustrating an exemplary angle between an audio source and a multi-microphone system.
FIG. 3 is a flowchart of an exemplary method for separating audio sources in a multi-microphone system.
FIG. 4 is a flowchart of an exemplary method for providing a target audio signal through audio source separation in a two-microphone system.
FIG. 5 is a block diagram illustrating an exemplary two-microphone speech recognition system showing exemplary sample classifier components.
FIG. 6 is a diagram of an exemplary mobile phone having audio source-separation capabilities in which some described embodiments can be implemented.
FIG. 7 is a diagram illustrating a generalized example of a suitable implementation environment for any of the disclosed embodiments.



DETAILED DESCRIPTION
Embodiments described herein provide systems, methods, and computer media for distinguishing a target audio signal and resynthesizing a target audio signal from audio samples in multi-microphone systems. In accordance with some embodiments, an estimated angle between a first reference line extending from an audio source to a multi-microphone system and a second reference line extending through the multi-microphone system can be estimated and modeled as a combined statistical distribution. The combined statistical distribution is a mixture of a target audio signal statistical distribution and a noise component statistical distribution.
Most conventional algorithms for multi-microphone systems, in contrast, simply compare an estimated angle for a sample group to a fixed threshold angle or interaural time difference (ITD) to determine whether the audio signal for the sample pair is likely to originate from the target or a noise source. Such an approach provides limited accuracy in noisy environments. By modeling the estimated angle as a combined statistical distribution, embodiments are able to more accurately determine whether an audio sample group is part of the target audio signal or the noise component.
Embodiments can be described as applying statistical modeling of angle distributions (SMAD). Embodiments are also described below that employ a variation of SMAD described as statistical modeling of angle distributions with channel weighting (SMAD-CW). SMAD embodiments are discussed first below, followed by a detailed discussion of SMAD-CW embodiments.
SMAD Embodiments
FIG. 1 illustrates an exemplary speech recognition system 100. Microphones 102 and 104 capture audio from the surrounding environment. Frequency-domain converter 106 converts captured audio from the time domain to the frequency domain. This can be accomplished, for example, via short-time Fourier transforms. Frequency-domain converter 106 outputs audio sample groups 108. Each audio sample group comprises at least two samples of audio information, the at least two samples captured by different microphones during a sample group time interval. For a two-microphone system such as system 100, audio sample groups 108 are audio sample pairs.
Angle estimator 110 estimates an angle for the sample group time interval corresponding to each sample group. The angle estimated is the angle between a first reference line extending from an audio source to the multi-microphone system and a second reference line extending through the multi-microphone system that captured the samples. The estimated angle is determined based on a phase difference between the at least two samples in the audio sample group. An exemplary angle 200 is illustrated in FIG. 2. An exemplary angle estimation process is described in more detail below with respect to FIG. 5.
In FIG. 2, an angle 200 is shown between an audio source 202 and a multi-microphone system 204 having two microphones 206 and 208. Angle 200 is the angle between first reference line 210 and second reference line 212. First reference line 210 extends between audio source 202 and multi-microphone system 204, and second reference line 212 extends through multi-microphone system 204. In this example, second reference line 212 is perpendicular to a third reference line 214 that extends between microphone 206 and microphone 208. First reference line 210 and second reference line 212 intersect at the approximate midpoint 216 of third reference line 214. In other embodiments, the reference lines and points of intersection of reference lines are different.
Returning now to FIG. 1, combined statistical modeler 112 models the estimated angle as a combined statistical distribution, the combined statistical distribution being a mixture of a target audio signal statistical distribution and a noise component statistical distribution. In some embodiments, the target audio signal statistical distribution and the noise component statistical distribution are von Mises distributions. The von Mises distribution, which is a close approximation to the wrapped normal distribution, is an appropriate choice where it is assumed that the angle is limited to between +/−90 degrees (such as the example shown in FIG. 2). Other statistical distributions, such as the Gaussian distribution, may also be used. Defined statistical distributions, such as von Mises, Gaussian, and other distributions, include a variety of parameters. Parameters for the combined statistical distribution can be determined, for example, using the expectation-maximization (EM) algorithm.
Sample classifier 114 determines whether the audio sample group is part of a target audio signal or a noise component based at least in part on the combined statistical distribution produced by combined statistical modeler 112. Sample classifier 114 may be implemented in a variety of ways. In one embodiment, the combined statistical distribution is compared to a fixed threshold to determine whether an audio sample group is part of the target audio signal or the noise component. The fixed threshold may be an angle or angle range. In another embodiment, the determination of target audio or noise is made by performing statistical analysis on the combined statistical distribution. This statistical analysis may comprise hypothesis testing such as maximum a posteriori (MAP) hypothesis testing or maximum likelihood testing. Other likelihood or hypothesis testing techniques may also be used.
Classified sample groups 116 are provided to time-domain converter 118. Time-domain converter 118 converts sample groups determined to be part of the target audio signal back to the time domain. This can be accomplished, for example, using a short-time inverse Fourier transform (STIFT). Resynthesized target audio signal 120 can be resynthesized by combining sample groups that were determined to be part of the target audio signal. This can be accomplished, for example, using overlap and add (OLA), which allows resynthesized target audio signal 120 to be the same duration as the combined time of the sample group intervals for which audio information was captured while still removing sample groups determined to be noise.
Throughout this application, examples and illustrations show two microphones for clarity. It should be understood that embodiments can be expanded to include additional microphones and corresponding additional audio information. In some embodiments, more than two microphones are included in the system, and samples from any two of the microphones may be analyzed for a given time interval. In other embodiments, samples for three or more microphones may be analyzed for the time interval.
FIG. 3 illustrates a method 300 for distinguishing a target audio signal in a multi-microphone system. In process block 302, audio sample groups are received. Audio sample groups comprise at least two samples of audio information. The at least two samples captured by different microphones during a sample group time interval. Audio sample groups may be received, for example, from a frequency-domain converter that converts time-domain audio captured by the different microphones to frequency-domain samples. Additional pre-processing of audio captured by the different microphones is also possible prior to the audio sample groups being received in process block 302. Process blocks 304, 306, and 308 can be performed for each received audio sample group. In process block 304, an angle is estimated, for the corresponding sample group time interval, between a first reference line extending from an audio source to the multi-microphone system and a second reference line extending through the multi-microphone system. The estimated angle is based on a phase difference between the at least two samples in the audio sample group. In process block 306, the estimated angle is modeled as a combined statistical distribution. The combined statistical distribution is a mixture of a target audio signal statistical distribution and a noise component statistical distribution. A combined statistical distribution can be represented by the following equation:

fT(θ)=c0[m]f0(θ)+c1[m]f1(θ)

where m is the sample group index, f0(θ) is the noise component distribution, f1(θ) is the target audio signal distribution, c0[m] and c1[m] are mixture coefficients, and c0[m]+c1[m]=1. It is determined in process block 308 whether the audio sample group is part of a target audio signal or a noise component based at least in part on the combined statistical distribution.
FIG. 4 illustrates a method 400 for providing a target audio signal through audio source separation in a two-microphone system. Audio sample pairs are received in process block 402. Audio sample pairs comprise a first sample of audio information captured by a first microphone during a sample pair time interval and a second sample of audio information captured by a second microphone during the sample pair time interval. Process blocks 404, 406, 408, and 410 can be performed for each of the received audio sample pairs. In process block 404, an angle is estimated, for the corresponding sample pair time interval, between a first reference line extending from an audio source to the two-microphone system and a second reference line extending through the two-microphone system. The estimated angle is based on a phase difference between the first and second samples of audio information.
In process block 406, the estimated angle is modeled as a combined statistical distribution, the combined statistical distribution being a mixture of a target audio signal von Mises distribution and a noise component von Mises distribution. The combined statistical distribution can be represented by the following equation:

fT(θ|M[m])=c0[m]f0(θ|μ0[m],κ0[m])+c1[m]f1(θ|μ2[m], κ1[m])

where m is the sample group index, the subscript 0 refers to the noise component, the subscript 1 refers to the target audio signal, f0(θ) is the noise component distribution, f1(θ) is the target audio signal distribution, c0[m] and c1[m] are mixture coefficients, and c0[m]+c1[m]=1. M[m] is the set of parameters of the combined statistical distribution. For the von Mises distribution, the set of parameters is defined as:

M[m]={c1[m], μ0[m], μ1[m], κ0[m], κ1[m]}

The von Mises distribution parameters are defined further in the discussion of FIG. 5 below. In process block 408, statistical hypothesis testing is performed on the combined statistical distribution. In some embodiments, the hypothesis testing is one of maximum a posteriori (MAP) hypothesis testing or maximum likelihood testing. Based on the performed statistical hypothesis testing, it is determined in process block 410 whether the audio sample pair is part of the target audio signal or the noise component. If the sample pair is not part of the target audio signal, then the sample pair is classified as noise in process block 412. If the sample pair is determined to be part of the target audio signal, then it is classified as target audio. In process block 414, the target audio signal is resynthesized from the audio sample pairs classified as target audio.
SMAD-CW Embodiments
FIG. 5 illustrates a two-microphone speech recognition system 500 capable of employing statistical modeling of angle distributions with channel weighting (SMAD-CW). Two-microphone system 500 includes microphone 502 and microphone 504. System 500 implementing SMAD-CW emulates selected aspects of human binaural processing. The discussion of FIG. 5 assumes a sampling rate of 16 kHz and 4 cm between microphones 502 and 504, such as could be the case on a mobile device. Other sampling frequencies and microphone separation distances could also be used. In the discussion of FIG. 5, it is assumed that the location of the target audio source is known a priori, and lies along the perpendicular bisector of the line between the two microphones.
Sample pairs, captured at microphones 502 and 504 during sample pair time intervals, are received by frequency-domain converter 506. Frequency-domain converter 506 performs short-time Fourier transforms (STFTs) using Hamming windows of duration 75 milliseconds (ms), 37.5 ms between successive frames, and a DFT size of 2048. In other embodiments, different durations are used, for example, between 50 and 125 ms.
For each sample pair (also described as a time-frequency bin or frame), the direction of the audio source is estimated indirectly by angle estimator 508 by comparing the phase information from microphones 502 and 504. Either the angle or ITD information can be used as a statistic to represent the direction of the audio source, as is discussed below in more detail. Combined statistical modeler 510 models the angle distribution for each sample pair as a combined statistical distribution that is a mixture of two von Mises distributions—one from the target audio source and one from the noise component. Parameters of the distribution are estimated using the EM algorithm as discussed below in detail.
After parameters of the combined statistical distribution are obtained, hypothesis tester 512 performs MAP testing on each sample pair. Binary mask constructor 514 then constructs binary masks based on whether a specific sample pair is likely to represent the target audio signal or noise component. Gammatone channel weighter 516 performs gammatone channel weighting to improve speech recognition accuracy in noisy environments. Gammatone channel weighting is performed prior to masker 518 applying the constructed binary mask. In gammatone channel weighting, the ratio of power after applying the binary mask to the original power is obtained for each channel, which is subsequently used to modify the original input spectrum, as described in detail below. Hypothesis tester 512, binary mask constructor 514, gammatone channel weighter 516, and masker 518 together form sample classifier 520. In various embodiments, sample classifier 520 contains fewer components, additional components, or components with different functionality. Frequency-domain converter 522 resynthesizes the target audio signal 524 through STIFT and OLA. The functions of several of the components of system 500 are discussed in detail below.
Angle Estimator
For each sample pair, the phase differences between the left and right spectra are used to estimate the inter-microphone time difference (ITD). The STFT of the signals from the left and right microphones are represented by XL[m, ejωk) and XR[m, ejωk), where ωk=2πk/N, where N is the FFT size. The ITD at frame index m and frequency index k is referred to as τ[m,k]. The following relationship can then be obtained:




  
    
      
        
          φ
          ⁡
          
            [
            
              m
              ,
              k
            
            ]
          
        
        ⁢
        
          =
          Δ
        
        ⁢
        
          
            
              ∠
              ⁢
              
                
              
              ⁢
              
                
                  X
                  R
                
                [
                
                  m
                  ,
                  
                    e
                    
                      jω
                      k
                    
                  
                
                )
              
            
            -
            
              ∠
              ⁢
              
                
              
              ⁢
              
                
                  X
                  L
                
                [
                
                  m
                  ,
                  
                    e
                    
                      jω
                      k
                    
                  
                
                )
              
            
          
          =
          
            
              
                ω
                k
              
              ⁢
              
                τ
                ⁡
                
                  [
                  
                    m
                    ,
                    k
                  
                  ]
                
              
            
            +
            
              2
              ⁢
              π
              ⁢
              
                
              
              ⁢
              l
            
          
        
      
    
    
      
        (
        1
        )
      
    
  




where l is an integer chosen such that




  
    
      
        
          
            ω
            
              k
              ⁢
              
                
              
            
          
          ⁢
          
            τ
            ⁡
            
              [
              
                m
                ,
                k
              
              ]
            
          
        
        =
        
          {
          
            
              
                
                  
                    φ
                    ⁡
                    
                      [
                      
                        m
                        ,
                        k
                      
                      ]
                    
                  
                  ,
                
              
              
                
                  
                    if
                    ⁢
                    
                      
                    
                    ⁢
                    
                      
                      
                        φ
                        ⁡
                        
                          [
                          
                            m
                            ,
                            k
                          
                          ]
                        
                      
                      
                    
                  
                  ≤
                  π
                
              
            
            
              
                
                  
                    
                      φ
                      ⁡
                      
                        [
                        
                          m
                          ,
                          k
                        
                        ]
                      
                    
                    -
                    
                      2
                      ⁢
                      π
                    
                  
                  ,
                
              
              
                
                  
                    if
                    ⁢
                    
                      
                    
                    ⁢
                    
                      φ
                      ⁡
                      
                        [
                        
                          m
                          ,
                          k
                        
                        ]
                      
                    
                  
                  ≥
                  π
                
              
            
            
              
                
                  
                    
                      φ
                      ⁡
                      
                        [
                        
                          m
                          ,
                          k
                        
                        ]
                      
                    
                    +
                    
                      2
                      ⁢
                      π
                    
                  
                  ,
                
              
              
                
                  
                    if
                    ⁢
                    
                      
                    
                    ⁢
                    
                      φ
                      ⁡
                      
                        [
                        
                          m
                          ,
                          k
                        
                        ]
                      
                    
                  
                  <
                  
                    -
                    π
                  
                
              
            
          
        
      
    
    
      
        (
        2
        )
      
    
  




In the discussion of FIG. 5, only values of the frequency index k that correspond to positive frequency components 0≦k≦π/2 are considered.
If a sound source is located along a line of angle 0[m,k] with respect to the perpendicular bisector to the line between microphones 502 and 504, geometric considerations determine the ITD τ[m, k] to be




  
    
      
        
          τ
          ⁡
          
            [
            
              m
              ,
              k
            
            ]
          
        
        =
        
          
            
              d
              ⁢
              
                
              
              ⁢
              
                sin
                ⁡
                
                  (
                  
                    θ
                    ⁡
                    
                      [
                      
                        m
                        ,
                        k
                      
                      ]
                    
                  
                  )
                
              
            
            
              c
              air
            
          
          ⁢
          
            f
            s
          
        
      
    
    
      
        (
        3
        )
      
    
  




where cair is the speed of sound in air (assumed to be 340 m/s) and fs is the sampling rate.
While in principle |τ[m, k]| cannot be larger than τmax=fsd/cair from Eq. 3, in real environments |τ[m, k]| may be larger than τmax because of approximations in the assumptions made if ITD is estimated directly from Eq. (2). For this reason, τ[m, k] can be limited to lie between −τmax and τmax, and this limited ITD estimate can be referred to as {tilde over (τ)}[m, k]. The estimated angle θ[m, k] is obtained from {tilde over (τ)}[m, k] using




  
    
      
        
          θ
          ⁡
          
            [
            
              m
              ,
              k
            
            ]
          
        
        =
        
          a
          ⁢
          
            
          
          ⁢
          
            sin
            ⁡
            
              (
              
                
                  
                    c
                    air
                  
                  ⁢
                  
                    
                      τ
                      ~
                    
                    ⁡
                    
                      [
                      
                        m
                        ,
                        k
                      
                      ]
                    
                  
                
                
                  
                    f
                    a
                  
                  ⁢
                  d
                
              
              )
            
          
        
      
    
    
      
        (
        4
        )
      
    
  




Combined Statistical Modeler

For each frame, the distribution of estimated angles θ[m, k] is modeled as a mixture of the target audio signal distribution and noise component distribution:

fT(θ|M[m])=c0[m]f0(θ|μ0[m], κ0[m])+c1[m]f1(θ|μ1[m], κ1[m])   (5)

where m is the sample group index, the subscript 0 refers to the noise component, the subscript 1 refers to the target audio signal, f0(θ) is the noise component distribution, f1(θ) is the target audio signal distribution, c0[m] and c1[m] are mixture coefficients, and c0[m]+c1[m]=1. M[m] is the set of parameters of the combined statistical distribution. For the von Mises distribution, the set of parameters is defined as:




  
    
      
        
          
            M
            ⁡
            
              [
              m
              ]
            
          
          =
          
            {
            
              
                
                  c
                  1
                
                ⁡
                
                  [
                  m
                  ]
                
              
              ,
              
                
                  μ
                  0
                
                ⁡
                
                  [
                  m
                  ]
                
              
              ,
              
                
                  μ
                  1
                
                ⁡
                
                  [
                  m
                  ]
                
              
              ,
              
                
                  K
                  0
                
                ⁡
                
                  [
                  m
                  ]
                
              
              ,
              
                
                  K
                  1
                
                ⁡
                
                  [
                  m
                  ]
                
              
            
            }
          
        
        ⁢
        
          

        
        ⁢
        
          
            
              f
              1
            
            ⁡
            
              (
              
                
                  θ
                  ⁢
                  
                    
                    
                      
                        
                          μ
                          1
                        
                        ⁡
                        
                          [
                          m
                          ]
                        
                      
                      ,
                      
                        
                          K
                          1
                        
                        ⁡
                        
                          [
                          m
                          ]
                        
                      
                    
                    )
                  
                  ⁢
                  
                    

                  
                  ⁢
                  and
                  ⁢
                  
                    

                  
                  ⁢
                  
                    
                      f
                      0
                    
                    (
                    
                      θ
                      ⁢
                      
                        
                        
                          μ
                          0
                        
                        
                      
                      ⁢
                      m
                    
                    ]
                  
                
                ,
                
                  
                    K
                    0
                  
                  ⁡
                  
                    [
                    m
                    ]
                  
                
              
              )
            
          
          ⁢
          
            
          
          ⁢
          are
          ⁢
          
            
          
          ⁢
          given
          ⁢
          
            
          
          ⁢
          as
          ⁢
          
            
          
          ⁢
          follows
          ⁢
          
            :
          
        
      
    
    
      
        (
        6
        )
      
    
  
  
    
      
        
          
            f
            0
          
          ⁡
          
            (
            
              
                θ
                ❘
                
                  
                    μ
                    0
                  
                  ⁡
                  
                    [
                    m
                    ]
                  
                
              
              ,
              
                
                  K
                  0
                
                ⁡
                
                  [
                  m
                  ]
                
              
            
            )
          
        
        =
        
          
            exp
            ⁡
            
              (
              
                
                  
                    K
                    0
                  
                  ⁡
                  
                    [
                    m
                    ]
                  
                
                ⁢
                
                  cos
                  ⁡
                  
                    (
                    
                      
                        2
                        ⁢
                        θ
                      
                      -
                      
                        
                          μ
                          0
                        
                        ⁡
                        
                          [
                          m
                          ]
                        
                      
                    
                    )
                  
                
              
              )
            
          
          
            π
            ⁢
            
              
            
            ⁢
            
              
                I
                0
              
              ⁡
              
                (
                
                  
                    K
                    0
                  
                  ⁡
                  
                    [
                    m
                    ]
                  
                
                )
              
            
          
        
      
    
    
      
        (
        
          7
          ⁢
          a
        
        )
      
    
  
  
    
      
        
          
            f
            1
          
          ⁡
          
            (
            
              
                θ
                ❘
                
                  
                    μ
                    1
                  
                  ⁡
                  
                    [
                    m
                    ]
                  
                
              
              ,
              
                
                  K
                  1
                
                ⁡
                
                  [
                  m
                  ]
                
              
            
            )
          
        
        =
        
          
            exp
            ⁡
            
              (
              
                
                  
                    K
                    1
                  
                  ⁡
                  
                    [
                    m
                    ]
                  
                
                ⁢
                
                  cos
                  ⁡
                  
                    (
                    
                      
                        2
                        ⁢
                        θ
                      
                      -
                      
                        
                          μ
                          1
                        
                        ⁡
                        
                          [
                          m
                          ]
                        
                      
                    
                    )
                  
                
              
              )
            
          
          
            π
            ⁢
            
              
            
            ⁢
            
              
                I
                0
              
              ⁡
              
                (
                
                  
                    K
                    1
                  
                  ⁡
                  
                    [
                    m
                    ]
                  
                
                )
              
            
          
        
      
    
    
      
        (
        
          7
          ⁢
          b
        
        )
      
    
  




The coefficient c0[m] follows directly from the constraint that c0[m]+c1[m]=1. Because the parameters M[m] cannot be directly estimated in closed form, they are obtained using the EM algorithm. Other algorithms such as segmental K-means or any similar algorithm could also be used to obtain the parameters. The following constraints are imposed in parameter estimation:




  
    
      
        0
        ≤
        
          
          
            
              μ
              1
            
            ⁡
            
              [
              m
              ]
            
          
          
        
        ≤
        
          θ
          0
        
      
    
    
      
        (
        
          8
          ⁢
          a
        
        )
      
    
  
  
    
      
        
          θ
          0
        
        ≤
        
          
          
            
              μ
              0
            
            ⁡
            
              [
              m
              ]
            
          
          
        
        ≤
        
          π
          2
        
      
    
    
      
        (
        
          8
          ⁢
          b
        
        )
      
    
  
  
    
      
        
          θ
          0
        
        ≤
        
          
          
            
              
                μ
                1
              
              ⁡
              
                [
                m
                ]
              
            
            -
            
              
                μ
                0
              
              ⁡
              
                [
                m
                ]
              
            
          
          
        
      
    
    
      
        (
        
          8
          ⁢
          c
        
        )
      
    
  




where θ0 is a fixed angle that equals 15π/180. This constraint is applied both in the initial stage and the update stage explained below. Without this constraint μ0[m] and κ0[m] may converge to the target mixture or μ1[m] and κ1[m] may converge to the noise (or interference) mixture, which would be problematic.
Initial parameter estimation: To obtain the initial parameters of M[m], the following two partitions of the frequency index k are considered

K0[m]={k∥θ[m, k]|≧θ0, 0≦k≦N/2}  (9a)

K1[m]={k∥θ[m, k]|<θ0, 0≦k≦N/2}  (9b)

In this initial step, if it is assumed that if the frequency index k belongs to κ1[m], then this time-frequency bin (sample pair) is dominated by the target audio signal. Otherwise, it is assumed that it is dominated by the noise component. This initial step is similar to approaches using a fixed threshold. Consider a variable z[m,k], which is defined as follows:

z[m, k]=ej2θ[m, k]  (10)

The weighted average zj(0)[m], j=0, 1 is defined as:




  
    
      
        
          
            
              
                z
                _
              
              j
              
                (
                0
                )
              
            
            ⁡
            
              [
              m
              ]
            
          
          =
          
            
              
                ∑
                
                  k
                  =
                  0
                
                
                  N
                  /
                  2
                
              
              ⁢
              
                
              
              ⁢
              
                
                  ρ
                  ⁡
                  
                    [
                    
                      m
                      ,
                      k
                    
                    ]
                  
                
                ⁢
                
                  
                  
                
                ⁢
                
                  (
                  
                    
                      θ
                      ⁡
                      
                        [
                        
                          m
                          ,
                          k
                        
                        ]
                      
                    
                    ∈
                    
                      K
                      j
                    
                  
                  )
                
                ⁢
                
                  z
                  ⁡
                  
                    [
                    
                      m
                      ,
                      k
                    
                    ]
                  
                
              
            
            
              
                ∑
                
                  k
                  =
                  0
                
                
                  N
                  /
                  2
                
              
              ⁢
              
                
              
              ⁢
              
                
                  ρ
                  ⁡
                  
                    [
                    
                      m
                      ,
                      k
                    
                    ]
                  
                
                ⁢
                
                  
                  
                
                ⁢
                
                  (
                  
                    
                      θ
                      ⁡
                      
                        [
                        
                          m
                          ,
                          k
                        
                        ]
                      
                    
                    ∈
                    
                      K
                      j
                    
                  
                  )
                
              
            
          
        
        ,
      
    
    
      
        (
        11
        )
      
    
  




where the function resembling “II” is the indicator function. The following equations (j=0, 1) are used in analogy to Eq. (17):




  
    
      
        
          
            c
            j
            
              (
              0
              )
            
          
          ⁡
          
            [
            m
            ]
          
        
        =
        
          
            
              ∑
              
                k
                ∈
                
                  K
                  j
                
              
            
            ⁢
            
              
            
            ⁢
            
              ρ
              ⁡
              
                [
                
                  m
                  ,
                  k
                
                ]
              
            
          
          
            
              ∑
              
                k
                =
                0
              
              
                N
                /
                2
              
            
            ⁢
            
              
            
            ⁢
            
              ρ
              ⁡
              
                [
                
                  m
                  ,
                  k
                
                ]
              
            
          
        
      
    
    
      
        (
        
          12
          ⁢
          a
        
        )
      
    
  
  
    
      
        
          
            μ
            j
            
              (
              0
              )
            
          
          ⁡
          
            [
            m
            ]
          
        
        =
        
          Arg
          ⁡
          
            (
            
              
                
                  z
                  _
                
                j
                
                  (
                  0
                  )
                
              
              ⁡
              
                [
                m
                ]
              
            
            )
          
        
      
    
    
      
        (
        
          12
          ⁢
          b
        
        )
      
    
  
  
    
      
        
          
            
              I
              1
            
            ⁡
            
              (
              
                
                  K
                  j
                  
                    (
                    0
                    )
                  
                
                ⁡
                
                  [
                  m
                  ]
                
              
              )
            
          
          
            
              I
              0
            
            ⁡
            
              (
              
                
                  K
                  j
                  
                    (
                    0
                    )
                  
                
                ⁡
                
                  [
                  m
                  ]
                
              
              )
            
          
        
        =
        
          
          
            
              
                z
                _
              
              j
              
                (
                0
                )
              
            
            ⁡
            
              [
              m
              ]
            
          
          
        
      
    
    
      
        (
        
          12
          ⁢
          c
        
        )
      
    
  




where I0(κj) and I1(κj) are modified Bessel functions of the zeroth and first order.
Parameter update: The E-step of the EM algorithm is given as follows:




  
    
      
        
          
            Q
            ~
          
          ⁡
          
            (
            
              
                M
                ⁡
                
                  [
                  m
                  ]
                
              
              ,
              
                
                  M
                  
                    (
                    
                      
                    
                    ⁢
                    t
                    )
                  
                
                ⁡
                
                  [
                  m
                  ]
                
              
            
            )
          
        
        =
        
          
            ∑
            
              k
              =
              0
            
            
              N
              /
              2
            
          
          ⁢
          
            
          
          ⁢
          
            
              ρ
              ⁡
              
                [
                
                  m
                  ,
                  k
                
                ]
              
            
            ⁢
            
              E
              ⁡
              
                [
                
                  log
                  ⁢
                  
                    
                  
                  ⁢
                  
                    
                      f
                      T
                    
                    ⁡
                    
                      (
                      
                        
                          θ
                          ⁡
                          
                            [
                            
                              m
                              ,
                              k
                            
                            ]
                          
                        
                        ,
                        
                          
                            s
                            ⁡
                            
                              [
                              
                                m
                                ,
                                k
                              
                              ]
                            
                          
                          ❘
                          
                            θ
                            ⁡
                            
                              [
                              
                                m
                                ,
                                k
                              
                              ]
                            
                          
                        
                        ,
                        
                          
                            M
                            
                              (
                              t
                              ⁢
                              
                                
                              
                              )
                            
                          
                          ⁡
                          
                            [
                            m
                            ]
                          
                        
                      
                      )
                    
                  
                
                ]
              
            
          
        
      
    
    
      
        (
        13
        )
      
    
  




where ρ[m, k] is a weighting coefficient defined by ρ[m, k]=|XA[m, ejωk)|2 and s[m, k] is the latent variable denoting whether the kth frequency element originates from the target audio source or the noise component. XA[m, ejωk) is defined by:

XA[m, ejωk)=[XL[m, ejωk)+XR[m, ejωk)]/2   (14)

Given the current estimated model M(t)[m], the conditional probability Tj(t)[m, k], j=0, 1 is defined as follows:




  
    
      
        
          
            
              
                
                  
                    T
                    j
                    
                      (
                      t
                      )
                    
                  
                  ⁡
                  
                    [
                    
                      m
                      ,
                      k
                    
                    ]
                  
                
                =
                
                ⁢
                
                  P
                  ⁡
                  
                    (
                    
                      
                        
                          s
                          ⁡
                          
                            [
                            
                              m
                              ,
                              k
                            
                            ]
                          
                        
                        =
                        
                          j
                          ❘
                          
                            θ
                            ⁡
                            
                              [
                              
                                m
                                ,
                                k
                              
                              ]
                            
                          
                        
                      
                      ,
                      
                        
                          M
                          
                            (
                            t
                            )
                          
                        
                        ⁡
                        
                          [
                          m
                          ]
                        
                      
                    
                    )
                  
                
              
              ,
            
          
        
        
          
            
              =
              
              ⁢
              
                
                  
                    c
                    j
                    
                      (
                      t
                      )
                    
                  
                  ⁢
                  
                    
                      f
                      j
                    
                    ⁡
                    
                      (
                      
                        
                          
                            θ
                            ⁡
                            
                              [
                              
                                m
                                ,
                                k
                              
                              ]
                            
                          
                          ❘
                          
                            μ
                            ⁢
                            
                              
                            
                            ⁢
                            j
                          
                        
                        ,
                        
                          K
                          j
                        
                      
                      )
                    
                  
                
                
                  
                    ∑
                    
                      j
                      =
                      0
                    
                    1
                  
                  ⁢
                  
                    
                  
                  ⁢
                  
                    
                      c
                      j
                      
                        (
                        t
                        )
                      
                    
                    ⁢
                    
                      
                        f
                        j
                      
                      ⁡
                      
                        (
                        
                          
                            
                              θ
                              ⁡
                              
                                [
                                
                                  m
                                  ,
                                  k
                                
                                ]
                              
                            
                            ❘
                            
                              μ
                              j
                            
                          
                          ,
                          
                            K
                            j
                          
                        
                        )
                      
                    
                  
                
              
            
          
        
      
    
    
      
        (
        15
        )
      
    
  




The weighted mean of zj(t)[m], j=0, 1 is defined as follows:




  
    
      
        
          
            
              z
              _
            
            j
            
              (
              t
              )
            
          
          ⁡
          
            [
            m
            ]
          
        
        =
        
          
            
              ∑
              
                k
                =
                0
              
              
                N
                /
                2
              
            
            ⁢
            
              
            
            ⁢
            
              
                ρ
                ⁡
                
                  [
                  
                    m
                    ,
                    k
                  
                  ]
                
              
              ⁢
              
                
                  T
                  j
                  
                    (
                    t
                    )
                  
                
                ⁡
                
                  [
                  
                    m
                    ,
                    k
                  
                  ]
                
              
              ⁢
              
                z
                ⁡
                
                  [
                  
                    m
                    ,
                    k
                  
                  ]
                
              
            
          
          
            
              ∑
              
                k
                =
                0
              
              
                N
                /
                2
              
            
            ⁢
            
              
            
            ⁢
            
              
                ρ
                ⁡
                
                  [
                  
                    m
                    ,
                    k
                  
                  ]
                
              
              ⁢
              
                
                  T
                  j
                  
                    (
                    t
                    )
                  
                
                ⁡
                
                  [
                  
                    m
                    ,
                    k
                  
                  ]
                
              
            
          
        
      
    
    
      
        (
        16
        )
      
    
  




Using Eqs. (15) and (16), it can be shown that the following update equations (j=0, 1) maximize Eq. (13):




  
    
      
        
          
            c
            j
            
              (
              
                t
                +
                1
              
              )
            
          
          ⁡
          
            [
            m
            ]
          
        
        =
        
          
            
              ∑
              
                k
                =
                0
              
              
                N
                2
              
            
            ⁢
            
              
            
            ⁢
            
              
                ρ
                ⁡
                
                  [
                  
                    m
                    ,
                    k
                  
                  ]
                
              
              ⁢
              
                
                  T
                  j
                  
                    (
                    t
                    )
                  
                
                ⁡
                
                  [
                  
                    m
                    ,
                    k
                  
                  ]
                
              
            
          
          
            
              ∑
              
                k
                =
                0
              
              
                N
                2
              
            
            ⁢
            
              
            
            ⁢
            
              ρ
              ⁡
              
                [
                
                  m
                  ,
                  k
                
                ]
              
            
          
        
      
    
    
      
        (
        
          17
          ⁢
          a
        
        )
      
    
  
  
    
      
        
          
            μ
            j
            
              (
              
                t
                +
                1
              
              )
            
          
          ⁡
          
            [
            m
            ]
          
        
        =
        
          Arg
          ⁢
          
            
          
          ⁢
          
            (
            
              
                
                  z
                  _
                
                j
                
                  (
                  t
                  )
                
              
              ⁡
              
                [
                m
                ]
              
            
            )
          
        
      
    
    
      
        (
        
          17
          ⁢
          b
        
        )
      
    
  
  
    
      
        
          
            
              I
              1
            
            ⁡
            
              (
              
                
                  K
                  j
                  
                    (
                    
                      t
                      +
                      1
                    
                    )
                  
                
                ⁡
                
                  [
                  m
                  ]
                
              
              )
            
          
          
            
              I
              0
            
            ⁡
            
              (
              
                
                  K
                  j
                  
                    (
                    
                      t
                      +
                      1
                    
                    )
                  
                
                ⁡
                
                  [
                  m
                  ]
                
              
              )
            
          
        
        =
        
          
          
            
              
                z
                _
              
              j
              
                (
                t
                )
              
            
            ⁡
            
              [
              m
              ]
            
          
          
        
      
    
    
      
        (
        
          17
          ⁢
          c
        
        )
      
    
  




Assuming that the target speaker does not move rapidly with respect to the microphone, the following smoothing can be applied to improve performance:

{tilde over (μ)}1[m]=λμ1[m−1]+(1−λ)μ1[m]  (18)

{tilde over (κ)}1[m]=λκ1[m−1]+(1−λ)κ1[m]  (19)

with the forgetting factor λ equal to 0.95. The parameters {tilde over (μ)}1[m] and {tilde over (κ)}1[m] are used instead of μ1[m] and κ1[m] in subsequent iterations. This smoothing is not applied to the representation of the noise component.
Hypothesis Tester
Using the obtained model M[m] and Eq. (7), the following MAP decision criterion can be obtained:




  
    
      
        
          g
          ⁡
          
            [
            
              m
              ,
              k
            
            ]
          
        
        ⁢
        
          
            ≷
            
              H
              0
            
          
          
            H
            1
          
        
        ⁢
        
          η
          ⁡
          
            [
            m
            ]
          
        
      
    
    
      
        (
        20
        )
      
    
  




where g[m,k] and η[m] are defined as follows:




  
    
      
        
          
            
              
                g
                ⁡
                
                  [
                  
                    m
                    ,
                    k
                  
                  ]
                
              
              =
              
              ⁢
              
                
                  
                    
                      K
                      1
                    
                    ⁡
                    
                      [
                      m
                      ]
                    
                  
                  ⁢
                  cos
                  ⁢
                  
                    
                  
                  ⁢
                  
                    (
                    
                      
                        2
                        ⁢
                        
                          θ
                          ⁡
                          
                            [
                            
                              m
                              ,
                              k
                            
                            ]
                          
                        
                      
                      -
                      
                        
                          μ
                          1
                        
                        ⁡
                        
                          [
                          m
                          ]
                        
                      
                    
                    )
                  
                
                -
              
            
          
        
        
          
            
              
              ⁢
              
                
                  
                    K
                    0
                  
                  ⁡
                  
                    [
                    m
                    ]
                  
                
                ⁢
                cos
                ⁢
                
                  
                
                ⁢
                
                  (
                  
                    
                      2
                      ⁢
                      
                        θ
                        ⁡
                        
                          [
                          
                            m
                            ,
                            k
                          
                          ]
                        
                      
                    
                    -
                    
                      
                        μ
                        0
                      
                      ⁡
                      
                        [
                        m
                        ]
                      
                    
                  
                  )
                
              
            
          
        
      
    
    
      
        (
        21
        )
      
    
  
  
    
      
        
          η
          ⁡
          
            [
            m
            ]
          
        
        =
        
          ln
          ⁢
          
            
          
          ⁢
          
            (
            
              
                
                  
                    I
                    0
                  
                  ⁡
                  
                    (
                    
                      
                        K
                        1
                      
                      ⁡
                      
                        [
                        m
                        ]
                      
                    
                    )
                  
                
                ⁢
                
                  
                    c
                    0
                  
                  ⁡
                  
                    [
                    m
                    ]
                  
                
              
              
                
                  
                    I
                    0
                  
                  ⁡
                  
                    (
                    
                      
                        K
                        0
                      
                      ⁡
                      
                        [
                        m
                        ]
                      
                    
                    )
                  
                
                ⁢
                
                  
                    c
                    1
                  
                  ⁡
                  
                    [
                    m
                    ]
                  
                
              
            
            )
          
        
      
    
    
      
        (
        22
        )
      
    
  




Binary Mask Constructor and Masker

Using Eq. (20, a binary mask μ[m, k] can be constructed for each frequency index k as follows:




  
    
      
        
          μ
          ⁡
          
            [
            
              m
              ,
              k
            
            ]
          
        
        =
        
          {
          
            
              
                1
              
              
                
                  
                    if
                    ⁢
                    
                      
                    
                    ⁢
                    
                      g
                      ⁡
                      
                        [
                        
                          m
                          ,
                          k
                        
                        ]
                      
                    
                  
                  ≥
                  
                    η
                    ⁡
                    
                      [
                      m
                      ]
                    
                  
                
              
            
            
              
                0
              
              
                
                  
                    if
                    ⁢
                    
                      
                    
                    ⁢
                    
                      g
                      ⁡
                      
                        [
                        
                          m
                          ,
                          k
                        
                        ]
                      
                    
                  
                  <
                  
                    η
                    ⁡
                    
                      [
                      m
                      ]
                    
                  
                
              
            
          
        
      
    
    
      
        (
        23
        )
      
    
  




Processed spectra are obtained by applying the mask μ[m, k]. The target audio signal can be resynthesized using STIFT and OLA.
Gammatone Channel Weighter
To reduce the impact of discontinuities associated with binary masks, a weighting coefficient is obtained for each channel. Embodiments that do not apply channel weighting are referred to as SMAD rather than SMAD-CW, as discussed above. Each channel is associated with H1(ejωk), the frequency response of one of a set of gammatone filters. Let ω[m,l] be the square root of the ratio of the output power to the input power for frame index m and channel index l:




  
    
      
        
          w
          ⁡
          
            [
            
              m
              ,
              l
            
            ]
          
        
        =
        
          max
          (
          
            
              
                
                  
                    ∑
                    
                      k
                      =
                      0
                    
                    
                      
                        N
                        2
                      
                      -
                      1
                    
                  
                  ⁢
                  
                    
                  
                  ⁢
                  
                    
                      
                      
                        
                          
                            X
                            A
                          
                          [
                          
                            m
                            ,
                            
                              e
                              
                                
                                  j
                                  ω
                                
                                ⁢
                                k
                              
                            
                          
                          )
                        
                        ⁢
                        
                          μ
                          ⁡
                          
                            [
                            
                              m
                              ,
                              k
                            
                            ]
                          
                        
                        ⁢
                        
                          
                            H
                            l
                          
                          ⁡
                          
                            (
                            
                              e
                              
                                
                                  j
                                  ω
                                
                                ⁢
                                k
                              
                            
                            )
                          
                        
                      
                      
                    
                    2
                  
                
                
                  
                    ∑
                    
                      k
                      =
                      0
                    
                    
                      
                        N
                        2
                      
                      -
                      1
                    
                  
                  ⁢
                  
                    
                  
                  ⁢
                  
                    
                      
                      
                        
                          
                            X
                            A
                          
                          [
                          
                            m
                            ,
                            
                              e
                              
                                
                                  j
                                  ω
                                
                                ⁢
                                k
                              
                            
                          
                          )
                        
                        ⁢
                        
                          
                            H
                            l
                          
                          ⁡
                          
                            (
                            
                              e
                              
                                jω
                                k
                              
                            
                            )
                          
                        
                      
                      
                    
                    2
                  
                
              
            
            ,
            δ
          
          )
        
      
    
    
      
        (
        24
        )
      
    
  




where δ is a flooring coefficient that is set to 0.01 in certain embodiments. Using ω[m, l], target audio can be resynthesized.
Exemplary Mobile Device
FIG. 6 is a system diagram depicting an exemplary mobile device 600 including a variety of optional hardware and software components, shown generally at 602. Any components 602 in the mobile device can communicate with any other component, although not all connections are shown, for ease of illustration. The mobile device can be any of a variety of computing devices (e.g., cell phone, smartphone, handheld computer, Personal Digital Assistant (PDA), etc.) and can allow wireless two-way communications with one or more mobile communications networks 604, such as a cellular or satellite network.
The illustrated mobile device 600 can include a controller or processor 610 (e.g., signal processor, microprocessor, ASIC, or other control and processing logic circuitry) for performing such tasks as signal coding, data processing, input/output processing, power control, and/or other functions. An operating system 612 can control the allocation and usage of the components 602 and support for one or more application programs 614. The application programs can include common mobile computing applications (e.g., email applications, calendars, contact managers, web browsers, messaging applications), or any other computing application.
The illustrated mobile device 600 can include memory 620. Memory 620 can include non-removable memory 622 and/or removable memory 624. The non-removable memory 622 can include RAM, ROM, flash memory, a hard disk, or other well-known memory storage technologies. The removable memory 624 can include flash memory or a Subscriber Identity Module (SIM) card, which is well known in GSM communication systems, or other well-known memory storage technologies, such as “smart cards.” The memory 620 can be used for storing data and/or code for running the operating system 612 and the applications 614. Example data can include web pages, text, images, sound files, video data, or other data sets to be sent to and/or received from one or more network servers or other devices via one or more wired or wireless networks. The memory 620 can be used to store a subscriber identifier, such as an International Mobile Subscriber Identity (IMSI), and an equipment identifier, such as an International Mobile Equipment Identifier (IMEI). Such identifiers can be transmitted to a network server to identify users and equipment.
The mobile device 600 can support one or more input devices 630, such as a touchscreen 632, microphone 634, camera 636, physical keyboard 638 and/or trackball 640 and one or more output devices 850, such as a speaker 652 and a display 654. Other possible output devices (not shown) can include piezoelectric or other haptic output devices. Some devices can serve more than one input/output function. For example, touchscreen with user-resizable icons 632 and display 654 can be combined in a single input/output device. The input devices 630 can include a Natural User Interface (NUI). An NUI is any interface technology that enables a user to interact with a device in a “natural” manner, free from artificial constraints imposed by input devices such as mice, keyboards, remote controls, and the like. Examples of NUI methods include those relying on speech recognition, touch and stylus recognition, gesture recognition both on screen and adjacent to the screen, air gestures, head and eye tracking, voice and speech, vision, touch, gestures, and machine intelligence. Other examples of a NUI include motion gesture detection using accelerometers/gyroscopes, facial recognition, 3D displays, head, eye, and gaze tracking, immersive augmented reality and virtual reality systems, all of which provide a more natural interface, as well as technologies for sensing brain activity using electric field sensing electrodes (EEG and related methods). Thus, in one specific example, the operating system 612 or applications 614 can comprise speech-recognition software as part of a voice user interface that allows a user to operate the device 600 via voice commands. Further, the device 600 can comprise input devices and software that allows for user interaction via a user's spatial gestures, such as detecting and interpreting gestures to provide input to a gaming application.
A wireless modem 660 can be coupled to an antenna (not shown) and can support two-way communications between the processor 610 and external devices, as is well understood in the art. The modem 660 is shown generically and can include a cellular modem for communicating with the mobile communication network 604 and/or other radio-based modems (e.g., Bluetooth or Wi-Fi). The wireless modem 660 is typically configured for communication with one or more cellular networks, such as a GSM network for data and voice communications within a single cellular network, between cellular networks, or between the mobile device and a public switched telephone network (PSTN).
The mobile device can further include at least one input/output port 680, a power supply 682, a satellite navigation system receiver 684, such as a Global Positioning System (GPS) receiver, an accelerometer 686, and/or a physical connector 690, which can be a USB port, IEEE 1394 (FireWire) port, and/or RS-232 port.
Mobile device 600 can also include angle estimator 692, combined statistical modeler 694, and sample classifier 696, which can be implemented as part of applications 614. The illustrated components 602 are not required or all-inclusive, as any components can deleted and other components can be added.
Exemplary Operating Environment
FIG. 7 illustrates a generalized example of a suitable implementation environment 700 in which described embodiments, techniques, and technologies may be implemented.
In example environment 700, various types of services (e.g., computing services) are provided by a cloud 710. For example, the cloud 710 can comprise a collection of computing devices, which may be located centrally or distributed, that provide cloud-based services to various types of users and devices connected via a network such as the Internet. The implementation environment 700 can be used in different ways to accomplish computing tasks. For example, some tasks (e.g., processing user input and presenting a user interface) can be performed on local computing devices (e.g., connected devices 730, 740, 750) while other tasks (e.g., storage of data to be used in subsequent processing) can be performed in the cloud 710.
In example environment 700, the cloud 710 provides services for connected devices 730, 740, 750 with a variety of screen capabilities. Connected device 730 represents a device with a computer screen 735 (e.g., a mid-size screen). For example, connected device 730 could be a personal computer such as desktop computer, laptop, notebook, netbook, or the like. Connected device 740 represents a device with a mobile device screen 745 (e.g., a small size screen). For example, connected device 740 could be a mobile phone, smart phone, personal digital assistant, tablet computer, or the like. Connected device 750 represents a device with a large screen 755. For example, connected device 750 could be a television screen (e.g., a smart television) or another device connected to a television (e.g., a set-top box or gaming console) or the like. One or more of the connected devices 730, 740, 750 can include touchscreen capabilities. Touchscreens can accept input in different ways. For example, capacitive touchscreens detect touch input when an object (e.g., a fingertip or stylus) distorts or interrupts an electrical current running across the surface. As another example, touchscreens can use optical sensors to detect touch input when beams from the optical sensors are interrupted. Physical contact with the surface of the screen is not necessary for input to be detected by some touchscreens. Devices without screen capabilities also can be used in example environment 700. For example, the cloud 710 can provide services for one or more computers (e.g., server computers) without displays.
Services can be provided by the cloud 710 through service providers 720, or through other providers of online services (not depicted). For example, cloud services can be customized to the screen size, display capability, and/or touchscreen capability of a particular connected device (e.g., connected devices 730, 740, 750).
In example environment 700, the cloud 710 provides the technologies and solutions described herein to the various connected devices 730, 740, 750 using, at least in part, the service providers 720. For example, the service providers 720 can provide a centralized solution for various cloud-based services. The service providers 720 can manage service subscriptions for users and/or devices (e.g., for the connected devices 730, 740, 750 and/or their respective users).
In some embodiments, combined statistical modeler 760 and resynthesized target audio 765 are stored in the cloud 710. Audio data or an estimated angle can be streamed to cloud 710, and combined statistical modeler 760 can model the estimated angle as a combined statistical distribution in cloud 710. In such an embodiment, potentially resource-intensive computing can be performed in cloud 710 rather than consuming the power and computing resources of connected device 740. Other functions can also be performed in cloud 710 to conserve resources. In other embodiments, resynthesized target audio 760 can be provided to cloud 710 for backup storage.
Although the operations of some of the disclosed methods are described in a particular, sequential order for convenient presentation, it should be understood that this manner of description encompasses rearrangement, unless a particular ordering is required by specific language set forth below. For example, operations described sequentially may in some cases be rearranged or performed concurrently. Moreover, for the sake of simplicity, the attached figures may not show the various ways in which the disclosed methods can be used in conjunction with other methods.
Any of the disclosed methods can be implemented as computer-executable instructions stored on one or more computer-readable storage media (e.g., non-transitory computer-readable media, such as one or more optical media discs, volatile memory components (such as DRAM or SRAM), or nonvolatile memory components (such as hard drives)) and executed on a computer (e.g., any commercially available computer, including smart phones or other mobile devices that include computing hardware). Any of the computer-executable instructions for implementing the disclosed techniques as well as any data created and used during implementation of the disclosed embodiments can be stored on one or more computer-readable media (e.g., non-transitory computer-readable media, which excludes propagated signals). The computer-executable instructions can be part of, for example, a dedicated software application or a software application that is accessed or downloaded via a web browser or other software application (such as a remote computing application). Such software can be executed, for example, on a single local computer (e.g., any suitable commercially available computer) or in a network environment (e.g., via the Internet, a wide-area network, a local-area network, a client-server network (such as a cloud computing network), or other such network) using one or more network computers.
For clarity, only certain selected aspects of the software-based implementations are described. Other details that are well known in the art are omitted. For example, it should be understood that the disclosed technology is not limited to any specific computer language or program. For instance, the disclosed technology can be implemented by software written in C++, Java, Perl, JavaScript, Adobe Flash, or any other suitable programming language. Likewise, the disclosed technology is not limited to any particular computer or type of hardware. Certain details of suitable computers and hardware are well known and need not be set forth in detail in this disclosure.
It should also be well understood that any functionally described herein can be performed, at least in part, by one or more hardware logic components, instead of software. For example, and without limitation, illustrative types of hardware logic components that can be used include Field-programmable Gate Arrays (FPGAs), Program-specific Integrated Circuits (ASICs), Program-specific Standard Products (ASSPs), System-on-a-chip systems (SOCs), Complex Programmable Logic Devices (CPLDs), etc.
Furthermore, any of the software-based embodiments (comprising, for example, computer-executable instructions for causing a computer to perform any of the disclosed methods) can be uploaded, downloaded, or remotely accessed through a suitable communication means. Such suitable communication means include, for example, the Internet, the World Wide Web, an intranet, software applications, cable (including fiber optic cable), magnetic communications, electromagnetic communications (including RF, microwave, and infrared communications), electronic communications, or other such communication means.
The disclosed methods, apparatus, and systems should not be construed as limiting in any way. Instead, the present disclosure is directed toward all novel and nonobvious features and aspects of the various disclosed embodiments, alone and in various combinations and subcombinations with one another. The disclosed methods, apparatus, and systems are not limited to any specific aspect or feature or combination thereof, nor do the disclosed embodiments require that any one or more specific advantages be present or problems be solved.

## Claims

1. One or more computer-readable memory or storage devices storing instructions that, when executed by a computing device having a processor, perform a method of separating audio sources in a multi-microphone system, the method comprising:
receiving audio sample groups, with an audio sample group comprising at least two samples of audio information, the at least two samples captured by different microphones during a sample group time interval; and
for a plurality of audio sample groups:
estimating, for the corresponding sample group time interval, an angle between a first reference line extending from an audio source to the multi-microphone system and a second reference line extending through the multi-microphone system, the estimated angle being based on a phase difference between the at least two samples in the audio sample group;
modeling the estimated angle as a combined statistical distribution, the combined statistical distribution being a mixture of a target audio signal statistical distribution and a noise component statistical distribution; and
determining whether the audio sample group is part of a target audio signal or a noise component based at least in part on the combined statistical distribution.

2. The one or more computer-readable memory or storage devices of claim 1, further comprising resynthesizing a target audio signal from the audio sample groups determined to be part of the target audio signal.

3. The one or more computer-readable memory or storage devices of claim 1, wherein the multi-microphone system is a two-microphone system, and wherein the audio sample groups are audio sample pairs.

4. The one or more computer-readable memory or storage devices of claim 1, wherein determining whether the audio sample group is part of the target audio signal or the noise component comprises comparing the combined statistical distribution to a fixed threshold.

5. The one or more computer-readable memory or storage devices of claim 1, wherein determining whether the audio sample group is part of the target audio signal or the noise component comprises performing statistical analysis.

6. The one or more computer-readable memory or storage devices of claim 5, wherein the statistical analysis comprises hypothesis testing.

7. The one or more computer-readable memory or storage devices of claim 6, wherein the hypothesis testing is maximum a posteriori (MAP) hypothesis testing.

8. The one or more computer-readable memory or storage devices of claim 6, wherein the hypothesis testing is maximum likelihood testing.

9. The one or more computer-readable memory or storage devices of claim 1, wherein the target audio signal statistical distribution and the noise component statistical distribution are von Mises distributions.

10. The one or more computer-readable memory or storage devices of claim 1, wherein the combined statistical distribution is represented by the equation fT(θ)=c0[m]f0(θ)+c1[m]f1(θ), where m is a sample group index, f0(θ)is a noise component distribution, f1(θ) is a target audio signal distribution, c0[m] and c1[m] are mixture coefficients, and c0[m]+c1[m]=1.

11. The one or more computer-readable memory or storage devices of claim 1, wherein parameters for the combined statistical distribution are obtained using an expectation maximization (EM) algorithm.

12. The one or more computer-readable memory or storage devices of claim 1, wherein an initial threshold for distinguishing target audio signal from noise component is a pre-determined fixed value.

13. The one or more computer-readable memory or storage devices of claim 1, wherein the second reference line is perpendicular to a third reference line extending between the first and second microphones, and wherein the first reference line and the second reference line intersect at the approximate midpoint of the third reference line.

14. The one or more computer-readable memory or storage devices of claim 1, wherein the sample group time intervals are about approximately between 50 and 125 milliseconds.

15. A multi-microphone mobile device having audio source-separation capabilities, the mobile device comprising:
a first microphone;
a second microphone;
a processor;
an angle estimator configured to, by the processor, for a sample pair time interval, estimate an angle between a first reference line extending from an audio source to the mobile device and a second reference line extending through the mobile device, the estimated angle being based on a phase difference between a first sample and a second sample in an audio sample pair captured during the sample pair time interval, wherein the first sample is captured by the first microphone and the second sample is captured by the second microphone;
a combined statistical modeler configured to model the estimated angle as a combined statistical distribution, the combined statistical distribution being a mixture of a target audio signal statistical distribution and a noise component statistical distribution; and
a sample classifier configured to determine whether the audio sample pair is part of a target audio signal or a noise component based at least in part on the combined statistical distribution.

16. The multi-microphone mobile device of claim 15, wherein the mobile device is a mobile phone.

17. The multi-microphone mobile device of claim 15, wherein the sample classifier is further configured to determine whether the audio sample pair is part of the target audio signal or the noise component by performing statistical analysis.

18. The multi-microphone mobile device of claim 17, wherein the statistical analysis comprises at least one of maximum a posteriori (MAP) hypothesis testing or maximum likelihood testing.

19. The multi-microphone mobile device of claim 15, wherein the sample classifier is further configured to determine whether the audio sample pair is part of the target audio signal or the noise component by comparing the combined statistical distribution to a fixed threshold.

20. The multi-microphone mobile device of claim 15, wherein the second reference line is perpendicular to a third reference line extending between the first and second microphones, and wherein the first reference line and the second reference line intersect at an approximate midpoint of the third reference line.

21. The multi-microphone mobile device of claim 15, wherein the target audio signal statistical distribution and the noise component statistical distribution are von Mises distributions, and wherein the combined statistical modeler is further configured to determine parameters for the combined statistical distribution using an expectation maximization (EM) algorithm.

22. A method of providing a target audio signal through audio source separation in a two-microphone system, the method comprising:
receiving audio sample pairs, with an audio sample pair comprising a first sample of audio information captured by a first microphone during a sample pair time interval and a second sample of audio information captured by a second microphone during the sample pair time interval;
for a plurality of audio sample pairs:
estimating, for the corresponding sample pair time interval, an angle between a first reference line extending from an audio source to the two-microphone system and a second reference line extending through the two-microphone system, the estimated angle being based on a phase difference between the first and second samples of audio information;
modeling the estimated angle as a combined statistical distribution, the combined statistical distribution being a mixture of a target audio signal von Mises distribution and a noise component von Mises distribution; and
performing hypothesis testing statistical analysis on the combined statistical distribution to determine whether the audio sample pair is part of the target audio signal or the noise component; and

resynthesizing a target audio signal from the audio sample pairs determined to be part of the target audio signal.

23. The method of claim 22, wherein the hypothesis testing is one of maximum a posteriori (MAP) hypothesis testing or maximum likelihood testing.

24. The method of claim 22, wherein parameters for the combined statistical distribution are obtained using an expectation maximization (EM) algorithm.